This is found on a Dell TigerLake platform that when VMD raid mode is turned on along with SecureBoot, either deploy mode or audit mode, kernel dumps warnings and null pointer deref errors at boot. While it happens, it blocks systemd-udevd worker processes until killed due to timeout. System still boots to multi-users.target.
Kernel bisect shows commit e3560ee4cfb2 ("iommu/vt-d: Remove VMD child device sanity check") merged in v5.6-rc1 is the first commit to fail, and is still reproducible on v5.7-rc3.
This is found on a Dell TigerLake platform that when VMD raid mode is turned on along with SecureBoot, either deploy mode or audit mode, kernel dumps warnings and null pointer deref errors at boot. While it happens, it blocks systemd-udevd worker processes until killed due to timeout. System still boots to multi-users.target.
Kernel bisect shows commit e3560ee4cfb2 ("iommu/vt-d: Remove VMD child device sanity check") merged in v5.6-rc1 is the first commit to fail, and is still reproducible on v5.7-rc3.
kernel: Secure boot disabled iommu/intel- iommu.c: 625 domain_ get_iommu+ 0x4b/0x60 -generic #202004262131 get_iommu+ 0x4b/0x60 0fbcf8 EFLAGS: 00010202 0(0000) GS:ffff9ebdc168 0000(0000) knlGS:000000000 0000000 map_single+ 0x47/0x1a0 coherent+ 0xab/0x120 attrs+0x4d/ 0x60 queue+0x63/ 0x180 [nvme] work+0x31a/ 0xa64 [nvme] process+ 0x15/0x20 locked. part.0+ 0x17/0x30 one_work+ 0x1e8/0x3b0 thread+ 0x4d/0x400 one_work+ 0x3b0/0x3b0 park+0x90/ 0x90 fork+0x1f/ 0x40 -generic #202004262131 intel_map_ single+ 0xa3/0x1a0 50f878 EFLAGS: 00010202 0(0000) GS:ffff9ebdc168 0000(0000) knlGS:000000000 0000000 page+0x86/ 0xa0 data+0x486/ 0x990 [nvme] 0x128/0x180 0x5a0/0x5a0 rq+0xa2/ 0x1d0 [nvme] dispatch_ rq_list+ 0x93/0x5d0 pages_nodemask+ 0x161/0x2f0 bit.constprop. 0+0x20/ 0x80 sched_dispatch_ requests+ 0xfe/0x180 run_hw_ queue+0x5a/ 0x110 delay_run_ hw_queue+ 0x15b/0x160 run_hw_ queue+0x70/ 0x110 sched_insert_ request+ 0xce/0x190 append_ bio+0x28/ 0x180 rq_nowait+ 0x61/0x70 rq+0x50/ 0xb0 submit_ sync_cmd+ 0x92/0x1e0 [nvme_core] state_add_ instance_ cpuslocked+ 0xe8/0x110 ctrl.isra. 0+0x7e/ 0xc0 [nvme_core] identify+ 0x97/0x6d0 [nvme_core] work+0x422/ 0xa64 [nvme] wake_up+ 0x65/0x690 one_work+ 0x1e8/0x3b0 thread+ 0x4d/0x400 one_work+ 0x3b0/0x3b0 park+0x90/ 0x90 fork+0x1f/ 0x40 intel_map_ single+ 0xa3/0x1a0 0fb878 EFLAGS: 00010202 0(0000) GS:ffff9ebdc168 0000(0000) knlGS:000000000 0000000
...
kernel: ------------[ cut here ]------------
kernel: WARNING: CPU: 1 PID: 8 at drivers/
kernel: Modules linked in: rc_core r8169(+) intel_lpss nvme crc32_pclmul(+) psmouse intel_ish_ipc(+) i2c_hid i2c_i801(+) realtek idma64 drm virt_dma intel_ishtp vmd(+) nvme_core hid video wmi pinctrl_tigerlake pinctrl_intel
kernel: CPU: 1 PID: 8 Comm: kworker/u8:0 Not tainted 5.7.0-050700rc3
kernel: Hardware name: Dell Inc. Vostro 5402/, BIOS 0.1.2 04/13/2020
kernel: Workqueue: nvme-reset-wq nvme_reset_work [nvme]
kernel: RIP: 0010:domain_
kernel: Code: eb 22 48 8d 50 01 48 39 c8 74 1b 48 89 d0 8b 74 87 04 48 63 d0 85 f6 74 e9 48 8b 05 ef 63 63 01 48 8b 04 d0 5d c3 31 c0 5d c3 <0f> 0b 31 c0 5d c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 0f
kernel: RSP: 0018:ffffb5f5c0
kernel: RAX: ffff9ebdaf100b00 RBX: 0000000000000000 RCX: 0000000000000000
kernel: RDX: 0000000000001000 RSI: 000000036dd41000 RDI: ffff9ebdaf100b00
kernel: RBP: ffffb5f5c00fbcf8 R08: ffffffffffffffff R09: ffff9ebdadd41000
kernel: R10: ffffffff8d069060 R11: 0000000000004879 R12: ffff9ebdadd810b0
kernel: R13: 000000036dd41000 R14: ffffffffffffffff R15: ffff9ebdaf100b00
kernel: FS: 000000000000000
kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kernel: CR2: 00007f900d20e660 CR3: 000000036e05a003 CR4: 0000000000760ee0
kernel: PKRU: 55555554
kernel: Call Trace:
kernel: __intel_
kernel: intel_alloc_
kernel: dma_alloc_
kernel: nvme_alloc_
kernel: nvme_reset_
kernel: ? wake_up_
kernel: ? swake_up_
kernel: process_
kernel: worker_
kernel: kthread+0x104/0x140
kernel: ? process_
kernel: ? kthread_
kernel: ret_from_
kernel: ---[ end trace caf06459a58aa8d4 ]---
....
kernel: BUG: kernel NULL pointer dereference, address: 0000000000000018
kernel: #PF: supervisor read access in kernel mode
kernel: #PF: error_code(0x0000) - not-present page
kernel: PGD 0 P4D 0
kernel: Oops: 0000 [#2] SMP NOPTI
kernel: CPU: 1 PID: 254 Comm: kworker/u8:4 Tainted: G D W 5.7.0-050700rc3
kernel: Hardware name: Dell Inc. Vostro 5402/, BIOS 0.1.2 04/13/2020
kernel: Workqueue: nvme-reset-wq nvme_reset_work [nvme]
kernel: RIP: 0010:__
kernel: Code: 89 d2 4c 89 55 d0 e8 ec b3 ff ff 4c 8b 55 d0 48 85 c0 49 89 c6 0f 84 e9 00 00 00 41 b9 01 00 00 00 83 fb 01 76 14 48 8b 45 c0 <4c> 8b 48 18 49 c1 e9 16 49 83 f1 01 41 83 e1 01 44 89 c8 4c 89 e9
kernel: RSP: 0018:ffffb5f5c0
kernel: RAX: 0000000000000000 RBX: 0000000000000002 RCX: ffff9ebdbf205140
kernel: RDX: ffff9ebdbf205bc0 RSI: 0000000000000257 RDI: ffff9ebdaf100e30
kernel: RBP: ffffb5f5c050f8c0 R08: ffff9ebdae266f00 R09: 0000000000000001
kernel: R10: 0000000000000001 R11: 0000000000000022 R12: ffff9ebdadd860b0
kernel: R13: 000000036ef0d000 R14: 00000000000ffffa R15: ffff9ebdaf100b00
kernel: FS: 000000000000000
kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kernel: CR2: 0000000000000018 CR3: 000000036efd2001 CR4: 0000000000760ee0
kernel: PKRU: 55555554
kernel: Call Trace:
kernel: intel_map_
kernel: nvme_map_
kernel: ? fbcon_cursor+
kernel: ? bit_putcs+
kernel: nvme_queue_
kernel: blk_mq_
kernel: ? __alloc_
kernel: ? _find_next_
kernel: blk_mq_
kernel: __blk_mq_
kernel: __blk_mq_
kernel: blk_mq_
kernel: blk_mq_
kernel: ? blk_rq_
kernel: blk_execute_
kernel: blk_execute_
kernel: __nvme_
kernel: ? __cpuhp_
kernel: nvme_identify_
kernel: nvme_init_
kernel: nvme_reset_
kernel: ? try_to_
kernel: process_
kernel: worker_
kernel: kthread+0x104/0x140
kernel: ? process_
kernel: ? kthread_
kernel: ret_from_
kernel: Modules linked in: cec(+) intel_lpss_pci(+) rc_core fjes(-) r8169(+) intel_lpss nvme crc32_pclmul psmouse intel_ish_ipc(+) i2c_hid i2c_i801(+) realtek idma64 drm virt_dma intel_ishtp vmd nvme_core hid video wmi pinctrl_tigerlake pinctrl_intel
kernel: CR2: 0000000000000018
kernel: ---[ end trace caf06459a58aa8db ]---
kernel: RIP: 0010:__
kernel: Code: 89 d2 4c 89 55 d0 e8 ec b3 ff ff 4c 8b 55 d0 48 85 c0 49 89 c6 0f 84 e9 00 00 00 41 b9 01 00 00 00 83 fb 01 76 14 48 8b 45 c0 <4c> 8b 48 18 49 c1 e9 16 49 83 f1 01 41 83 e1 01 44 89 c8 4c 89 e9
kernel: RSP: 0018:ffffb5f5c0
kernel: RAX: 0000000000000000 RBX: 0000000000000002 RCX: ffff9ebdae2665c0
kernel: RDX: ffff9ebdbf205581 RSI: 0000000000000257 RDI: ffff9ebdaf100e30
kernel: RBP: ffffb5f5c00fb8c0 R08: ffff9ebdaf100e38 R09: 0000000000000001
kernel: R10: 0000000000000001 R11: 0000000000000022 R12: ffff9ebdadd810b0
kernel: R13: 000000036ef0e000 R14: 00000000000ffffd R15: ffff9ebdaf100b00
kernel: FS: 000000000000000
kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kernel: CR2: 0000000000000018 CR3: 000000036efd2001 CR4: 0000000000760ee0
kernel: PKRU: 55555554