Subject: [Bug 204479] KASAN hit at modprobe zram

From: [email-masked]
Date: Mon, 12 Aug 2019 16:06:11 +0000

https://bugzilla.kernel.org/show_bug.cgi?id=204479

--- Comment #18 from Christophe Leroy ([email-masked]) ---
The Oops occurs at 0x3c8:

 3b0:   81 21 00 88     lwz     r9,136(r1)
 3b4:   13 67 dc c4     vxor    v27,v7,v27
 3b8:   7d 11 a8 ce     lvx     v8,r17,r21
 3bc:   11 5f 5b 06     vcmpgtsb v10,v31,v11
 3c0:   11 6b 58 00     vaddubm v11,v11,v11
 3c4:   81 41 00 8c     lwz     r10,140(r1)
>3c8:   7c 00 48 ce     lvx     v0,0,r9

This is because the value in r9 is most likely wrong.

r9 is loaded from the stack at 0x3b0

r9 was calculated and stored in the stack by the below code.

  70:   3d 20 00 00     lis     r9,0
                        72: R_PPC_ADDR16_HA     .rodata.cst16
  74:   3b b3 00 10     addi    r29,r19,16
  78:   39 29 00 00     addi    r9,r9,0
                        7a: R_PPC_ADDR16_LO     .rodata.cst16
  7c:   91 21 00 88     stw     r9,136(r1)

The value comes from .rodata.cst16

Two possibilities, either the value in .rodata.cst16 is wrong or the stack gets
corrupted.

Maybe you could try disabling KASAN in lib/raid6/Makefile for altivec8.o ? Or
maybe for the entire lib/raid6/ directory, just to see what happens ?

-- 
You are receiving this mail because:
You are on the CC list for the bug.