Le 01/02/2025 à 15:14, Erhard Furtner a écrit :
On Wed, 22 Jan 2025 19:23:00 +0100
Christophe Leroy <christophe.le...@csgroup.eu> wrote:

I was able to reproduce it with v6.13 with QEMU when loading test_bpf
module.

On my side, the problem doesn't disappear when reverting of commit
32913f348229 ("futex: fix user access on powerpc")

I bisected it to commit e4137f08816b ("mm, kasan, kmsan: instrument
copy_from/to_kernel_nofault"), which makes a lot more sense to me.

It might be a problem in the way patch_instruction() is implemented on
powerpc, to be investigated.

I think the problem is commit 37bc3e5fd764 ("powerpc/lib/code-patching:
Use alternate map for patch_instruction()")

Can you try the change below:

diff --git a/arch/powerpc/lib/code-patching.c
b/arch/powerpc/lib/code-patching.c
index af97fbb3c257..8a378fc19074 100644
--- a/arch/powerpc/lib/code-patching.c
+++ b/arch/powerpc/lib/code-patching.c
@@ -108,7 +108,7 @@ static int text_area_cpu_up(unsigned int cpu)
        unsigned long addr;
        int err;

-       area = get_vm_area(PAGE_SIZE, VM_ALLOC);
+       area = get_vm_area(PAGE_SIZE, 0);
        if (!area) {
                WARN_ONCE(1, "Failed to create text area for cpu %d\n",
                        cpu);


Checked on my Talos II (POWER9) too, to see whether ppc64 is also affected and 
here I still see the KASAN hit despite Christophes patch applied:

BUG: KASAN: user-memory-access in copy_to_kernel_nofault+0x8c/0x1a0
Write of size 8 at addr 0000187e458f2000 by task systemd/1


Thanks for the report.

That's something different. Previous report was:

BUG: KASAN: vmalloc-out-of-bounds in copy_to_kernel_nofault+0xd8/0x1c8

This is what my patch fixes.

New report is:

BUG: KASAN: user-memory-access in copy_to_kernel_nofault+0x8c/0x1a0

Christophe

Reply via email to