Re: [lockdep] b09be676e0 BUG: unable to handle kernel NULL pointer dereference at 000001f2

From: Peter Zijlstra
Date: Thu Oct 12 2017 - 04:47:36 EST


On Tue, Oct 03, 2017 at 10:06:34PM +0800, Fengguang Wu wrote:

> #!/bin/bash
>
> kernel=$1
> initrd=openwrt-trinity-i386.cgz
>
> wget --no-clobber https://github.com/fengguang/reproduce-kernel-bug/raw/master/initrd/$initrd
>
> kvm=(
> qemu-system-x86_64
> -enable-kvm
> -cpu Haswell,+smep
> -kernel $kernel
> -initrd $initrd
> -m 256
> -smp 1
> -device e1000,netdev=net0
> -netdev user,id=net0
> -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
> drbd.minor_count=8
> )
>
> "${kvm[@]}" -append "${append[*]}"


So I was wanting to go chase that one splat you triggered, but the above
(after s/Haswell,+smep/host/) boots right up until it wants an init:

[ 0.000000] Kernel 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 drbd.minor_count=8

[ 35.721719] Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.



And it did download that initrd thingy...

$ shasum openwrt-trinity-i386.cgz
0a405d02a162defd82a5ffd556fd24e0ee2f994a openwrt-trinity-i386.cgz


Anything else I need?