lkml.org 
[lkml]   [2024]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: linux-next: boot failure after merge of the modules tree
On Wed, Apr 24, 2024 at 06:35:03PM +1000, Stephen Rothwell wrote:
> Hi all,
>
> After merging the modules tree, today's linux-next boot (powerpc
> pseries_le_defconfig) failed like this:
>
> BUG: Kernel NULL pointer dereference at 0x00000030
> Faulting instruction address: 0xc00000000057a4ec
> Oops: Kernel access of bad area, sig: 11 [#1]
> LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
> Modules linked in:
> CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.9.0-rc5-08179-ga5ea707d10dc #1
> Hardware name: IBM pSeries (emulated by qemu) POWER8 (raw) 0x4d0200 0xf000004 of:SLOF,HEAD pSeries
> NIP: c00000000057a4ec LR: c0000000002cd32c CTR: c0000000002cd304
> REGS: c000000004997700 TRAP: 0380 Not tainted (6.9.0-rc5-08179-ga5ea707d10dc)
> MSR: 8000000002009033 <SF,VEC,EE,ME,IR,DR,RI,LE> CR: 84002484 XER: 20000000
> CFAR: c0000000002cd328 IRQMASK: 0
> GPR00: c0000000002cd32c c0000000049979a0 c00000000163a500 0000000000010000
> GPR04: 0000000000010000 0000000000004000 0000000000000000 0000000000002cc0
> GPR08: 0000000000000030 0000000000000100 ffffffffffffffff 0000000000002000
> GPR12: c0000000002cd304 c000000002b70000 c00000000001111c 0000000000000000
> GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> GPR24: 0000000000000000 0000000000000000 c000000002aa0940 c0000000026c0a40
> GPR28: 0000000000010000 c0000000002cd32c 0000000000000030 c0000000027d0f78
> NIP [c00000000057a4ec] execmem_alloc+0x5c/0x12c
> LR [c0000000002cd32c] alloc_insn_page+0x28/0x70
> Call Trace:
> [c000000004997a40] [c0000000002cd32c] alloc_insn_page+0x28/0x70
> [c000000004997a60] [c0000000002d07a4] __get_insn_slot+0x1cc/0x29c
> [c000000004997aa0] [c00000000005c434] arch_prepare_kprobe+0xbc/0x31c
> [c000000004997b20] [c0000000002d1b40] register_kprobe+0x54c/0x878
> [c000000004997b90] [c000000002018828] arch_init_kprobes+0x28/0x40
> [c000000004997bb0] [c00000000204b33c] init_kprobes+0x138/0x218
> [c000000004997c30] [c000000000010da8] do_one_initcall+0x80/0x2f8
> [c000000004997d00] [c000000002005aa8] kernel_init_freeable+0x1f8/0x520
> [c000000004997de0] [c000000000011148] kernel_init+0x34/0x26c
> [c000000004997e50] [c00000000000debc] ret_from_kernel_user_thread+0x14/0x1c
> --- interrupt: 0 at 0x0
> Code: fbe1fff8 3940ffff 38e02cc0 7c9c2378 7fa802a6 e8c91e48 f8010010 fb41ffd0 39200100 fb61ffd8 f821ff61 7fc64214 <7ca6402a> eb5e0020 837e0028 e8de0008
> ---[ end trace 0000000000000000 ]---
>
> note: swapper/0[1] exited with irqs disabled
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
>
> Bisected to commit
>
> 18da532eefc8 ("mm/execmem, arch: convert remaining overrides of module_alloc to execmem")
>
> I have used the modules tree from next-20240423 for today.
>
> This is a qemu boot test using:
>
> qemu-system-ppc64 -M pseries -cpu POWER8 -m 2G -vga none -nographic -kernel ~/next/powerpc_pseries_le_defconfig/vmlinux -initrd ./ppc64le-rootfs.cpio.gz

This should fix it for now, I'll rework initialization a bit in v6

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 1c4be3373686..bea33bf538e9 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -176,6 +176,7 @@ config PPC
select ARCH_WANT_IRQS_OFF_ACTIVATE_MM
select ARCH_WANT_LD_ORPHAN_WARN
select ARCH_WANT_OPTIMIZE_DAX_VMEMMAP if PPC_RADIX_MMU
+ select ARCH_WANTS_EXECMEM_EARLY if EXECMEM
select ARCH_WANTS_MODULES_DATA_IN_VMALLOC if PPC_BOOK3S_32 || PPC_8xx
select ARCH_WEAK_RELEASE_ACQUIRE
select BINFMT_ELF

> --
> Cheers,
> Stephen Rothwell

--
Sincerely yours,
Mike.

\
 
 \ /
  Last update: 2024-04-24 11:17    [W:0.025 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site