2024-02-27 18:11:12

by Ben Greear

[permalink] [raw]
Subject: lockdep reports invalid wait context, dmar fault and serial console related.

Hello,

I saw this splat while running a lockdep kernel. The DMAR warning is related to mtk7915
driver, but aside from filling logs, it appears to not be a serious problem. I have also
not seen any obvious actual problems related to the serial console in this case. Never
the less, maybe someone with knowledge in this area with have a more informed understanding
of how important this is.

[ 2.706497] DMAR: DRHD: handling fault status reg 3

[ 2.706552] =============================
[ 2.706552] [ BUG: Invalid wait context ]
[ 2.706553] 6.7.5+ #3 Not tainted
[ 2.706554] -----------------------------
[ 2.706555] swapper/0/0 is trying to lock:
[ 2.706556] ffffffff83db4cf8 (&port_lock_key){-.-.}-{3:3}, at: serial8250_console_write+0x82/0x480
[ 2.706563] other info that might help us debug this:
[ 2.706563] context-{2:2}
[ 2.706564] 4 locks held by swapper/0/0:
[ 2.706565] #0: ffff888108065c70 (&iommu->register_lock){-...}-{2:2}, at: dmar_fault+0x1d/0x310
[ 2.706568] #1: ffffffff8296a480 (console_lock){+.+.}-{0:0}, at: _printk+0x53/0x70
[ 2.706572] #2: ffffffff8296a4d0 (console_srcu){....}-{0:0}, at: console_flush_all+0x84/0x510
[ 2.706576] #3: ffffffff8288a260 (console_owner){-...}-{0:0}, at: console_flush_all+0x1fa/0x510
[ 2.706579] stack backtrace:
[ 2.706579] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.7.5+ #3
[ 2.706581] Hardware name: Default string Default string/SKYBAY, BIOS 5.12 08/04/2020
[ 2.706581] Call Trace:
[ 2.706582] <IRQ>
[ 2.706583] dump_stack_lvl+0x57/0x90
[ 2.706588] __lock_acquire+0x9cc/0x2380
[ 2.706590] ? stack_trace_save+0x46/0x70
[ 2.706595] ? save_trace+0x4e/0x330
[ 2.706597] lock_acquire+0xc6/0x2b0
[ 2.706598] ? serial8250_console_write+0x82/0x480
[ 2.706600] _raw_spin_lock_irqsave+0x3f/0x60
[ 2.706604] ? serial8250_console_write+0x82/0x480
[ 2.706605] serial8250_console_write+0x82/0x480
[ 2.706606] ? console_flush_all+0x1fa/0x510
[ 2.706608] ? console_flush_all+0x1e8/0x510
[ 2.706610] ? lock_release+0xc5/0x270
[ 2.706612] console_flush_all+0x222/0x510
[ 2.706613] ? console_flush_all+0x1fa/0x510
[ 2.706615] ? console_flush_all+0x1fa/0x510
[ 2.706617] console_unlock+0x3f/0x140
[ 2.706619] vprintk_emit+0xa1/0x320
[ 2.706621] ? lock_release+0xc5/0x270
[ 2.706622] _printk+0x53/0x70
[ 2.706624] ? ___ratelimit+0x85/0x110
[ 2.706626] dmar_fault+0x2f0/0x310
[ 2.706627] ? find_held_lock+0x2b/0x80
[ 2.706628] __handle_irq_event_percpu+0x7c/0x230
[ 2.706630] handle_irq_event+0x2f/0x70
[ 2.706631] handle_edge_irq+0x7c/0x210
[ 2.706634] __common_interrupt+0x3d/0xe0
[ 2.706636] common_interrupt+0x7d/0xa0
[ 2.706639] </IRQ>
[ 2.706639] <TASK>
[ 2.706640] asm_common_interrupt+0x22/0x40
[ 2.706641] RIP: 0010:cpuidle_enter_state+0xf6/0x4f0
[ 2.706643] Code: c0 48 0f a3 05 fb fd c0 00 0f 82 f8 02 00 00 31 ff e8 4e 55 30 ff 45 84 ff 0f 85 c8 02 00 00 e8 30 9c 3e ff fb 0f 1f 44 00 00 <45> 85 f6 0f
88 e7 01 00 00 49 63 d6 48 8d 04 52 48 8d 04 82 49 8d
[ 2.706645] RSP: 0018:ffffffff82803e28 EFLAGS: 00000206
[ 2.706646] RAX: 0000000000008a3f RBX: ffffe8ffffa262f0 RCX: 000000000000001f
[ 2.706647] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff81ee0ef0
[ 2.706647] RBP: 0000000000000004 R08: 0000000000000001 R09: 0000000000000001
[ 2.706648] R10: ffffffff828254c0 R11: ffffffff82825ed0 R12: ffffffff829ee520
[ 2.706649] R13: 00000000a15167b5 R14: 0000000000000004 R15: 0000000000000000
[ 2.706650] ? cpuidle_enter_state+0xf0/0x4f0
[ 2.706652] ? cpuidle_enter_state+0xf0/0x4f0
[ 2.706653] cpuidle_enter+0x24/0x40
[ 2.706656] do_idle+0x1e8/0x240
[ 2.706660] cpu_startup_entry+0x21/0x30
[ 2.706662] rest_init+0xe0/0x180
[ 2.706663] arch_call_rest_init+0x5/0x20
[ 2.706667] start_kernel+0x860/0xa70
[ 2.706669] ? load_ucode_intel_bsp+0x46/0x80
[ 2.706671] x86_64_start_reservations+0x14/0x30
[ 2.706674] x86_64_start_kernel+0x79/0x80
[ 2.706676] secondary_startup_64_no_verify+0x178/0x17b
[ 2.706681] </TASK>
[ 2.708867] systemd-journald[267]: /etc/systemd/journald.conf:1: Assignment outside of section. Ignoring.
[ 2.710908] DMAR: [DMA Read NO_PASID] Request device [15:00.0] fault addr 0xffff1000 [fault reason 0x06] PTE Read access is not set

Thanks,
Ben

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com