Eric Dumazet
26f29b1491
net: fix backlog_unlock_irq_restore() vs CONFIG_PREEMPT_RT
CONFIG_PREEMPT_RT is special, make this clear in backlog_lock_irq_save()
and backlog_unlock_irq_restore().
The issue shows up with CONFIG_DEBUG_IRQFLAGS=y
raw_local_irq_restore() called with IRQs enabled
WARNING: kernel/locking/irqflag-debug.c:10 at warn_bogus_irq_restore+0xc/0x20 kernel/locking/irqflag-debug.c:10, CPU#1: aoe_tx0/1321
Modules linked in:
CPU: 1 UID: 0 PID: 1321 Comm: aoe_tx0 Not tainted syzkaller #0 PREEMPT_{RT,(full)}
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/24/2026
RIP: 0010:warn_bogus_irq_restore+0xc/0x20 kernel/locking/irqflag-debug.c:10
Call Trace:
<TASK>
backlog_unlock_irq_restore net/core/dev.c:253 [inline]
enqueue_to_backlog+0x525/0xcf0 net/core/dev.c:5347
netif_rx_internal+0x120/0x550 net/core/dev.c:5659
__netif_rx+0xa9/0x110 net/core/dev.c:5679
loopback_xmit+0x43a/0x660 drivers/net/loopback.c:90
__netdev_start_xmit include/linux/netdevice.h:5275 [inline]
netdev_start_xmit include/linux/netdevice.h:5284 [inline]
xmit_one net/core/dev.c:3864 [inline]
dev_hard_start_xmit+0x2df/0x830 net/core/dev.c:3880
__dev_queue_xmit+0x16f4/0x3990 net/core/dev.c:4829
dev_queue_xmit include/linux/netdevice.h:3384 [inline]
Fixes: 27a01c1969 ("net: fully inline backlog_unlock_irq_restore()")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260213120427.2914544-1-edumazet@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-02-17 13:28:10 +01:00
..
2025-07-10 15:27:32 -07:00
2025-12-07 08:29:09 -08:00
2026-01-20 19:12:06 -08:00
2025-10-31 17:42:35 -07:00
2025-11-04 19:10:32 -08:00
2026-02-10 11:24:47 +01:00
2026-01-30 19:19:39 -08:00
2025-10-31 06:46:03 -07:00
2026-02-11 19:31:52 -08:00
2026-01-24 18:49:35 -08:00
2026-02-17 13:00:14 +01:00
2025-12-11 01:35:41 -08:00
2026-02-05 11:58:40 +01:00
2026-01-06 00:39:43 +01:00
2026-02-17 13:28:10 +01:00
2025-10-01 09:48:21 +02:00
2026-02-02 20:05:51 -08:00
2025-11-04 12:36:51 +01:00
2026-02-11 11:27:57 +01:00
2025-11-24 19:27:31 -08:00
2026-02-05 09:54:08 -08:00
2025-12-22 12:36:40 +01:00
2026-02-10 12:02:29 +01:00
2025-11-04 19:10:33 -08:00
2026-02-11 19:31:52 -08:00
2026-02-13 12:24:28 -08:00
2026-02-04 20:39:58 -08:00
2025-12-03 17:24:33 -08:00
2025-10-30 09:03:12 +01:00
2026-01-19 09:55:41 -08:00
2025-04-15 17:54:56 -07:00
2025-06-08 09:07:37 +02:00
2025-11-04 19:10:32 -08:00
2026-02-02 10:11:18 +01:00
2026-02-12 18:35:45 -08:00
2025-11-03 17:40:54 -08:00
2026-02-11 15:14:35 +01:00
2025-06-12 18:21:59 -07:00
2026-02-11 19:31:52 -08:00
2025-08-30 10:15:30 -04:00
2025-11-04 19:10:32 -08:00
2026-01-20 19:15:40 -08:00
2026-02-05 18:46:20 -08:00
2026-01-22 12:55:22 +01:00
2026-02-05 16:33:52 +01:00
2025-11-04 19:10:33 -08:00
2025-11-25 19:20:42 -08:00
2025-11-04 19:10:32 -08:00
2026-02-17 12:03:57 +01:00
2025-09-22 17:40:30 -07:00
2025-12-30 11:45:51 +01:00
2026-01-21 19:59:29 -08:00
2026-02-11 19:31:52 -08:00
2026-01-17 15:10:34 -08:00
2025-11-25 19:20:42 -08:00
2026-01-30 19:21:51 -08:00
2025-11-13 12:35:38 -08:00
2025-12-24 09:23:04 -08:00
2026-02-05 12:36:31 -08:00
2025-10-31 06:46:03 -07:00
2026-02-11 13:01:13 +01:00
2026-02-13 12:28:38 -08:00
2026-02-02 10:11:07 +01:00
2025-11-04 19:10:32 -08:00
2026-01-20 18:06:01 -08:00
2026-02-10 11:26:21 -08:00
2025-11-26 13:45:23 -07:00
2025-10-17 16:29:26 -07:00
2025-09-18 12:32:06 +02:00
2025-12-05 15:52:30 -08:00