diff mbox series

powerpc/kasan: Disable KCOV in KASAN code

Message ID 20230710044143.146840-1-bgray@linux.ibm.com (mailing list archive)
State Accepted
Commit ccb381e1af1ace292153c88eb1fffa5683d16a20
Headers show
Series powerpc/kasan: Disable KCOV in KASAN code | expand

Commit Message

Benjamin Gray July 10, 2023, 4:41 a.m. UTC
As per the generic KASAN code in mm/kasan, disable KCOV with
KCOV_INSTRUMENT := n in the makefile.

This fixes a ppc64 boot hang when KCOV and KASAN are enabled.
kasan_early_init() gets called before a PACA is initialised, but the
KCOV hook expects a valid PACA.

Suggested-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>

---

The generic makefile has other disabled sanitisers / hooks, but this
patch is just an upstream of fixing a blocking issue for running
syzkaller. The blocker is resolved by this; kernels stop hanging on boot
with KCOV + KASAN.

This works as an alternative to
https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20230707013110.215693-1-bgray@linux.ibm.com/
---
 arch/powerpc/mm/kasan/Makefile | 1 +
 1 file changed, 1 insertion(+)

Comments

Michael Ellerman July 20, 2023, 1:50 p.m. UTC | #1
On Mon, 10 Jul 2023 14:41:43 +1000, Benjamin Gray wrote:
> As per the generic KASAN code in mm/kasan, disable KCOV with
> KCOV_INSTRUMENT := n in the makefile.
> 
> This fixes a ppc64 boot hang when KCOV and KASAN are enabled.
> kasan_early_init() gets called before a PACA is initialised, but the
> KCOV hook expects a valid PACA.
> 
> [...]

Applied to powerpc/fixes.

[1/1] powerpc/kasan: Disable KCOV in KASAN code
      https://git.kernel.org/powerpc/c/ccb381e1af1ace292153c88eb1fffa5683d16a20

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/mm/kasan/Makefile b/arch/powerpc/mm/kasan/Makefile
index 699eeffd9f55..f9522fd70b2f 100644
--- a/arch/powerpc/mm/kasan/Makefile
+++ b/arch/powerpc/mm/kasan/Makefile
@@ -1,6 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0
 
 KASAN_SANITIZE := n
+KCOV_INSTRUMENT := n
 
 obj-$(CONFIG_PPC32)		+= init_32.o
 obj-$(CONFIG_PPC_8xx)		+= 8xx.o