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

From: Filipe Manana
Date: Tue Jun 02 2020 - 08:18:33 EST




On 02/06/20 05:37, Li Zhijian wrote:
> 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

Odd.
Here I tested with:

$ gcc --version
gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
Copyright (C) 2016 Free Software Foundation, Inc.

>
> :~/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
>
>