Bug ID | 1195892 |
---|---|
Summary | Kernel oops in nvme_ctrl_dhchap_ctrl_secret_show when running dracut / building initrd |
Classification | openSUSE |
Product | openSUSE Distribution |
Version | Leap 15.4 |
Hardware | aarch64 |
OS | openSUSE Leap 15.4 |
Status | NEW |
Severity | Major |
Priority | P5 - None |
Component | Kernel |
Assignee | kernel-bugs@opensuse.org |
Reporter | matt@traverse.com.au |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
Created attachment 856120 [details]
Output from dracut showing kernel oops + full system dmesg
When running dracut on my system (Traverse Ten64, NXP LS1088 / aarch64) on Leap
15.4 Alpha, the following kernel oops occurs:
$ uname -a
Linux localhost 5.14.21-150400.5-default #1 SMP PREEMPT Wed Jan 19 16:17:31 UTC
2022 (b9720b9) aarch64 aarch64 aarch64 GNU/Linux
$ rpm -q --whatprovides /boot/Image-5.14.21-150400.5-default
kernel-default-5.14.21-150400.5.1.aarch64
$ dracut --force
dracut: Executing: /usr/bin/dracut --force
...
dracut: *** Including module: systemd-initrd ***
dracut: *** Including module: i18n ***
dracut: *** Including module: btrfs ***
dracut: *** Including module: kernel-modules ***
[ 259.903101][ T5336] Unable to handle kernel NULL pointer dereference at
virtual address 0000000000000068
[ 259.912610][ T5336] Mem abort info:
[ 259.916095][ T5336] ESR = 0x96000004
[ 259.919840][ T5336] EC = 0x25: DABT (current EL), IL = 32 bits
[ 259.925858][ T5336] SET = 0, FnV = 0
[ 259.929604][ T5336] EA = 0, S1PTW = 0
[ 259.933465][ T5336] FSC = 0x04: level 0 translation fault
[ 259.939036][ T5336] Data abort info:
[ 259.942617][ T5336] ISV = 0, ISS = 0x00000004
[ 259.947147][ T5336] CM = 0, WnR = 0
[ 259.950805][ T5336] user pgtable: 4k pages, 48-bit VAs,
pgdp=000000808896d000
[ 259.957951][ T5336] [0000000000000068] pgd=0000000000000000,
p4d=0000000000000000
[ 259.965453][ T5336] Internal error: Oops: 96000004 [#1] PREEMPT SMP
...
[ 260.046059][ T5336] Supported: No, Unsupported modules are loaded
[ 260.052153][ T5336] CPU: 1 PID: 5336 Comm: udevadm Tainted: G
N 5.14.21-150400.5-default #1 SLE15-SP4
35bfd82ffbb186e93de22cb9e43b0b86d1845c87
[ 260.066422][ T5336] Hardware name: traverse ten64/ten64, BIOS
2020.07-rc1-g488778dc 11/22/2021
[ 260.075036][ T5336] pstate: 40000005 (nZcv daif -PAN -UAO -TCO BTYPE=--)
[ 260.081738][ T5336] pc : nvme_ctrl_dhchap_ctrl_secret_show+0x20/0x80
[nvme_core]
[ 260.089178][ T5336] lr : dev_attr_show+0x2c/0x80
[ 260.093799][ T5336] sp : ffff8000154339c0
[ 260.097805][ T5336] x29: ffff8000154339c0 x28: 0000000000000001 x27:
0000000000400cc0
[ 260.105642][ T5336] x26: 000000007ffff000 x25: ffff77624a0fd308 x24:
0000000000000000
[ 260.113481][ T5336] x23: ffffc393389bfff8 x22: ffff776246259400 x21:
ffff7762417d5398
[ 260.121318][ T5336] x20: ffff77624a0fd2d0 x19: ffffc392ca8b0b58 x18:
0000000000000000
[ 260.129156][ T5336] x17: 0000000000000000 x16: 0000000000000000 x15:
0000000000000000
[ 260.136993][ T5336] x14: 0000000000000000 x13: 0000000000000000 x12:
0000000000000000
[ 260.144831][ T5336] x11: 0000000000000000 x10: 0000000000000000 x9 :
ffffc3933839fd6c
[ 260.152669][ T5336] x8 : ffff77624a064000 x7 : 0000000000000000 x6 :
000000000000003f
[ 260.160508][ T5336] x5 : 0000000000000040 x4 : ffffc392ca897800 x3 :
ffffc3933839fd40
[ 260.168345][ T5336] x2 : ffff77624a063000 x1 : 0000000000000000 x0 :
ffff77624a063000
[ 260.176185][ T5336] Call trace:
[ 260.179322][ T5336] nvme_ctrl_dhchap_ctrl_secret_show+0x20/0x80 [nvme_core
6cc2f3568e41e8e1acd389e82779138699caf2d4]
[ 260.189971][ T5336] dev_attr_show+0x2c/0x80
[ 260.194242][ T5336] sysfs_kf_seq_show+0x98/0x180
[ 260.198949][ T5336] kernfs_seq_show+0x34/0x40
[ 260.203393][ T5336] seq_read_iter+0xe8/0x480
[ 260.207751][ T5336] kernfs_fop_read_iter+0x14c/0x200
[ 260.212804][ T5336] new_sync_read+0xf8/0x1c0
[ 260.217162][ T5336] vfs_read+0x1ec/0x200
[ 260.221171][ T5336] ksys_read+0x74/0x140
[ 260.225180][ T5336] __arm64_sys_read+0x20/0x40
[ 260.229712][ T5336] invoke_syscall+0x74/0x100
[ 260.234159][ T5336] el0_svc_common+0x9c/0x1c0
[ 260.238603][ T5336] do_el0_svc+0x30/0xc0
[ 260.242612][ T5336] el0_svc+0x24/0x40
[ 260.246363][ T5336] el0t_64_sync_handler+0x94/0xc0
[ 260.251242][ T5336] el0t_64_sync+0x198/0x19c
[ 260.255602][ T5336] Code: 910003fd f9403c01 aa0203e0 f945dc21 (f9403422)
[ 260.262392][ T5336] ---[ end trace f65fe9e6406342ac ]---
I have tried on two separate systems with two different SSDs:
1) Western Digital WDC CL SN520 SDAPMUW-128G-1022
2) Samsung MZVLB256HBHQ-00000 (also known as PM981a)
Dracut does complete, but the resulting initrd fails hangs at:
Welcome to openSUSE Leap 15.4 Alpha dracut-055+suse.183.g7d569585-150400.1.7
(Initramfs)!
...
[ OK ] Finished dracut pre-udev hook.
Starting Rule-based Manage���������for Device Events and Files...
[ OK ] Started Rule-based Manager for Device Events and Files.
Starting Coldplug All udev Devices...
[ OK ] Finished Coldplug All udev Devices.
[ OK ] Reached target System Initialization.
[ OK ] Reached target Basic System.
Starting dracut initqueue hook...
(hangs here for a few minutes)
[ 158.234725] dracut-initqueue[456]: Warning: dracut-initqueue: timeout, still
waiting for following initqueue hooks:
[ 158.280363] dracut-initqueue[456]: Warning:
/lib/dracut/hooks/initqueue/finished/devexists-\x2fdev\x2fdisk\x2fby-uuid\x2fAF98-0018.sh:
"[ -e "/dev/disk/by-uuid/AF98-0018" ]"
[ 158.320251] dracut-initqueue[456]: Warning:
/lib/dracut/hooks/initqueue/finished/devexists-\x2fdev\x2fdisk\x2fby-uuid\x2fae1c1277-cbc0-4d89-b5ab-0d052727aa5a.sh:
"if ! grep -q After=remote-fs-pre.target
/run/systemd/generator/systemd-cryptsetup@*.service 2>/dev/null; then
[ 158.370198] dracut-initqueue[456]: [ -e
"/dev/disk/by-uuid/ae1c1277-cbc0-4d89-b5ab-0d052727aa5a" ]
[ 158.400173] dracut-initqueue[456]: fi"
[ 158.430087] dracut-initqueue[456]: Warning: dracut-initqueue: starting
timeout scripts
[ 158.873928] dracut-initqueue[456]: Warning: dracut-initqueue: timeout, still
waiting for following initqueue hooks:
(the above repeats constantly, presumably the wrong root device was referenced
in the initrd)
The issue does not occur when the system is booted (as in / on) from a non-NVMe
device (e.g USB), even if there is an NVMe device installed in the system.