Re: [LKP] Re: 28307d938f ("percpu: make pcpu_alloc() aware of current gfp .."): BUG: kernel reboot-without-warning in boot stage

From: Li Zhijian
Date: Tue Jun 02 2020 - 00:38:10 EST


Hi Filipe,

LKP checked blow dmesg as the indicator in this problem

[ 0.144174] RAMDISK: [mem 0x7fa2e000-0x7fffffff]
[ 0.144559] ACPI: Early table checksum verification disabled
[ 0.144985] ACPI: RSDP 0x00000000000F5850 000014 (v00 BOCHS )
[ 0.145424] ACPI: RSDT 0x00000000BFFE15C9 000030 (v01 BOCHS BXPCRSDT 00000001 BXPC 00000001)
[ 0.146051] ACPI: FACP 0x00000000BFFE149D 000074 (v01 BOCHS BXPCFACP 00000001 BXPC 00000001)
BUG: kernel reboot-without-warning in boot stage


And i have reproduced it with script in attachment. this issue is gone when i reverted this commit 28307d938f

Please note that
- i reproduced it with kernel compiled by gcc-5
- i failed to reproduce it in kernel compiled by gcc-7 so far

:~/1787$ ./reproduce.sh obj/arch/x86/boot/bzImage
qemu-system-x86_64 -enable-kvm -cpu Haswell,+smep,+smap -kernel obj/arch/x86/boot/bzImage -m 8192 -smp 2 -device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::32032-:22 -boot order=nc -no-reboot -watchdog i6300esb -watchdog-action debug -rtc base=localtime -serial stdio -display none -monitor null -append root=/dev/ram0 hung_task_panic=1 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 net.ifnames=0 printk.devkmsg=on panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 drbd.minor_count=8 systemd.log_level=err ignore_loglevel console=tty0 earlyprintk=ttyS0,115200 console=ttyS0,115200 vga=normal rw rcuperf.shutdown=0 watchdog_thresh=60
early console in setup code
Wrong EFI loader signature.
early console in extract_kernel
input_data: 0x0000000006f752d8
input_len: 0x000000000130dd3c
output: 0x0000000001000000
output_len: 0x0000000007200a48
kernel_total_size: 0x0000000006826000
needed_size: 0x0000000007400000
trampoline_32bit: 0x000000000009d000

Decompressing Linux... Parsing ELF... done.
Booting the kernel.
[ÂÂÂ 0.000000] Linux version 5.7.0-rc4-00168-g28307d938fb2 (lizhijian@shao2-debian) (gcc version 5.5.0 20171010 (Debian 5.5.0-12), GNU ld (GNU Binutils for Debian) 2.34) #2 SMP PREEMPT Tue Jun 2 11:23:59 CST 2020
[ÂÂÂ 0.000000] Command line: root=/dev/ram0 hung_task_panic=1 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 net.ifnames=0 printk.devkmsg=on panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 drbd.minor_count=8 systemd.log_level=err ignore_loglevel console=tty0 earlyprintk=ttyS0,115200 console=ttyS0,115200 vga=normal rw rcuperf.shutdown=0 watchdog_thresh=60
[ÂÂÂ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[ÂÂÂ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[ÂÂÂ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[ÂÂÂ 0.000000] x86/fpu: xstate_offset[2]:Â 576, xstate_sizes[2]: 256
[ÂÂÂ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[ÂÂÂ 0.000000] BIOS-provided physical RAM map:
[ÂÂÂ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[ÂÂÂ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[ÂÂÂ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[ÂÂÂ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000bffdffff] usable
[ÂÂÂ 0.000000] BIOS-e820: [mem 0x00000000bffe0000-0x00000000bfffffff] reserved
[ÂÂÂ 0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
[ÂÂÂ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[ÂÂÂ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000023fffffff] usable
[ÂÂÂ 0.000000] printk: debug: ignoring loglevel setting.
[ÂÂÂ 0.000000] printk: bootconsole [earlyser0] enabled
[ÂÂÂ 0.000000] NX (Execute Disable) protection: active
[ÂÂÂ 0.000000] SMBIOS 2.8 present.
[ÂÂÂ 0.000000] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
[ÂÂÂ 0.000000] Hypervisor detected: KVM
[ÂÂÂ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[ÂÂÂ 0.000002] kvm-clock: cpu 0, msr 7601001, primary cpu clock
[ÂÂÂ 0.000002] kvm-clock: using sched offset of 2661499940 cycles
[ÂÂÂ 0.000603] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[ÂÂÂ 0.002261] tsc: Detected 3407.998 MHz processor
[ÂÂÂ 0.005351] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[ÂÂÂ 0.005986] e820: remove [mem 0x000a0000-0x000fffff] usable
[ÂÂÂ 0.006535] last_pfn = 0x240000 max_arch_pfn = 0x400000000
[ÂÂÂ 0.007091] MTRR default type: write-back
[ÂÂÂ 0.007477] MTRR fixed ranges enabled:
[ÂÂÂ 0.007845]ÂÂ 00000-9FFFF write-back
[ÂÂÂ 0.008191]ÂÂ A0000-BFFFF uncachable
[ÂÂÂ 0.008536]ÂÂ C0000-FFFFF write-protect
[ÂÂÂ 0.008906] MTRR variable ranges enabled:
[ÂÂÂ 0.009293]ÂÂ 0 base 00C0000000 mask FFC0000000 uncachable
[ÂÂÂ 0.009818]ÂÂ 1 disabled
[ÂÂÂ 0.010064]ÂÂ 2 disabled
[ÂÂÂ 0.010314]ÂÂ 3 disabled
[ÂÂÂ 0.010561]ÂÂ 4 disabled
[ÂÂÂ 0.010822]ÂÂ 5 disabled
[ÂÂÂ 0.011072]ÂÂ 6 disabled
[ÂÂÂ 0.011325]ÂÂ 7 disabled
[ÂÂÂ 0.011602] x86/PAT: Configuration [0-7]: WBÂ WCÂ UC- UCÂ WBÂ WP UC- WT
[ÂÂÂ 0.012313] last_pfn = 0xbffe0 max_arch_pfn = 0x400000000
[ÂÂÂ 0.013294] check: Scanning 1 areas for low memory corruption
[ÂÂÂ 0.013898] BRK [0x07801000, 0x07801fff] PGTABLE
[ÂÂÂ 0.014358] BRK [0x07802000, 0x07802fff] PGTABLE
[ÂÂÂ 0.014822] BRK [0x07803000, 0x07803fff] PGTABLE
[ÂÂÂ 0.015626] BRK [0x07804000, 0x07804fff] PGTABLE
[ÂÂÂ 0.016099] BRK [0x07805000, 0x07805fff] PGTABLE
[ÂÂÂ 0.016773] BRK [0x07806000, 0x07806fff] PGTABLE
[ÂÂÂ 0.106782] ACPI: Early table checksum verification disabled
[ÂÂÂ 0.107352] ACPI: RSDP 0x00000000000F5850 000014 (v00 BOCHS )
[ÂÂÂ 0.107949] ACPI: RSDT 0x00000000BFFE15C9 000030 (v01 BOCHS BXPCRSDT 00000001 BXPC 00000001)
[ÂÂÂ 0.108766] ACPI: FACP 0x00000000BFFE149D 000074 (v01 BOCHS BXPCFACP 00000001 BXPC 00000001)
[ÂÂÂ 0.109649] ACPI: DSDT 0x00000000BFFE0040 00145D (v01 BOCHS BXPCDSDT 00000001 BXPC 00000001)
lizhijian@shao2-debian:~/1787$



Weird, what you are getting is the following warning from lock torture:

warning from lock torture could be not related to this commit in this case.


Thanks
Zhijian