Re: [PATCH net-next] dibs: Avoid inconsistent lockstate warning in dibs_lo_move_data()
From: patchwork-bot+netdevbpf
Date: Tue Sep 08 2026 - 10:33:11 EST
Hello:
This patch was applied to netdev/net-next.git (main)
by Paolo Abeni <pabeni@xxxxxxxxxx>:
On Fri, 4 Sep 2026 11:44:46 +0200 you wrote:
> dibs->lock is acquired in process context and interrupt context
> (ism_handle_irq()). So always use spin_lock_irqsave() in process context.
>
> Note that this is not a real deadlock, as dibs_lo devices don't have
> any interrupt context.
>
> Example warning:
> [ 153.760872] ================================
> [ 153.760878] WARNING: inconsistent lock state
> [ 153.760885] 7.2.0-15871-g544d85de4dc2 #16 Not tainted
> [ 153.760891] --------------------------------
> [ 153.760896] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
> [ 153.760901] python3/5134 [HC0[0]:SC0[2]:HE1:SE0] takes:
> [ 153.760909] 0001222c0fe72428 (&dibs->lock){?...}-{2:2}, at: dibs_lo_move_data+0x1ce/0x380
> [ 153.760932] {IN-HARDIRQ-W} state was registered at:
> [ 153.760937] __lock_acquire+0x59c/0x15d0
> [ 153.760947] lock_acquire.part.0+0x11c/0x290
> [ 153.760953] lock_acquire+0xb4/0x1e0
> [ 153.760959] _raw_spin_lock+0x58/0xb0
> [ 153.760966] ism_handle_irq+0x80/0x3f0 [ism]
> [ 153.760974] __handle_irq_event_percpu+0x282/0x920
> [ 153.760983] handle_irq_event_percpu+0x26/0xe0
> [ 153.760989] handle_percpu_irq+0x10e/0x1a0
> [ 153.760997] handle_irq_desc+0xa6/0x100
> [ 153.761003] zpci_floating_irq_handler+0x3ca/0x610
> [ 153.761011] do_airq_interrupt+0x206/0x500
> [ 153.761018] __handle_irq_event_percpu+0x282/0x920
> [ 153.761025] handle_irq_event_percpu+0x26/0xe0
> [ 153.761031] handle_percpu_irq+0x10e/0x1a0
> [ 153.761039] handle_irq_desc+0xa6/0x100
> [ 153.761045] do_irq_async+0xec/0x150
> [ 153.761052] do_io_irq+0x150/0x2e0
> [ 153.761060] io_int_handler+0xec/0x118
> [ 153.761066] arch_cpu_idle+0x120/0x130
> [ 153.761118] arch_cpu_idle+0xbe/0x130
> [ 153.761124] s390_enter_idle+0x20/0x30
> [ 153.761131] cpuidle_enter_state+0xb6/0x440
> [ 153.761138] cpuidle_enter+0x64/0xb0
> [ 153.761144] cpuidle_idle_call+0x174/0x380
> [ 153.761151] do_idle+0x16e/0x250
> [ 153.761157] cpu_startup_entry+0x70/0x80
> [ 153.761163] smp_start_secondary+0x36e/0x440
> [ 153.761171] restart_int_handler+0x72/0x88
> [ 153.761178] irq event stamp: 46536
> [ 153.761182] hardirqs last enabled at (46536): [<000127b697450a90>] __local_bh_enable_ip+0x140/0x270
> [ 153.761193] hardirqs last disabled at (46535): [<000127b697450b20>] __local_bh_enable_ip+0x1d0/0x270
> [ 153.761202] softirqs last enabled at (46532): [<000127b6185f82c8>] smc_close_active+0x438/0xba0 [smc]
> [ 153.761232] softirqs last disabled at (46534): [<000127b6185ee998>] smc_cdc_get_slot_and_msg_send+0x218/0x370 [smc]
> [ 153.761257]
> other info that might help us debug this:
> [ 153.761262] Possible unsafe locking scenario:
>
> [...]
Here is the summary with links:
- [net-next] dibs: Avoid inconsistent lockstate warning in dibs_lo_move_data()
https://git.kernel.org/netdev/net-next/c/73db35350c5e
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html