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
..
2026-02-06 14:47:59 -08:00
2025-10-23 15:46:04 +02:00
2024-04-15 10:26:35 +01:00
2025-07-18 17:27:47 -07:00
2025-07-24 18:34:55 -07:00
2026-01-20 18:21:27 -08:00
2026-02-17 13:28:10 +01:00
2026-01-23 11:49:02 -08:00
2026-01-25 13:18:53 -08:00
2026-01-25 13:18:53 -08:00
2025-06-08 09:07:37 +02:00
2025-07-02 14:32:29 -07:00
2026-01-13 19:08:18 -08:00
2024-10-11 15:35:05 -07:00
2025-04-17 12:26:50 -07:00
2026-02-10 11:26:21 -08:00
2025-02-24 14:27:53 -08:00
2023-08-02 10:09:32 +01:00
2025-08-29 19:04:20 -07:00
2025-11-05 17:41:29 -08:00
2026-02-06 20:50:12 -08:00
2024-03-07 21:12:41 -08:00
2026-01-13 10:12:11 +01:00
2025-07-01 12:55:49 +02:00
2026-02-02 16:59:18 -08:00
2025-04-17 18:55:14 -07:00
2025-08-26 17:34:31 -07:00
2025-05-20 19:18:24 -07:00
2026-02-05 09:23:05 -08:00
2024-09-11 20:44:31 -07:00
2026-01-25 14:57:37 -08:00
2026-02-06 20:01:31 -08:00
2024-04-01 10:49:28 +01:00
2026-02-03 19:20:30 -08:00
2026-02-03 15:23:33 +01:00
2025-07-07 18:42:12 -07:00
2024-10-02 17:23:23 -04:00
2025-06-11 21:30:29 +02:00
2026-01-23 11:49:02 -08:00
2026-01-20 18:06:01 -08:00
2026-01-23 11:49:02 -08:00
2026-01-20 18:06:01 -08:00
2026-01-20 18:06:01 -08:00
2026-01-20 18:06:01 -08:00
2025-10-14 13:37:26 +02:00
2025-11-28 20:16:57 -08:00
2025-01-27 14:37:41 -08:00
2025-02-17 16:43:04 -08:00
2025-12-02 11:08:39 -08:00
2025-08-21 10:12:11 +02:00
2025-11-04 16:07:37 -08:00
2025-11-18 15:27:34 +01:00
2025-04-11 18:58:10 -07:00
2025-11-06 13:38:11 +01:00
2024-11-12 12:05:33 +01:00
2026-02-06 20:07:24 -08:00
2026-01-27 09:11:30 -08:00
2025-09-22 17:40:30 -07:00
2025-07-11 10:51:55 -07:00
2024-08-02 17:16:59 -07:00
2026-01-30 17:15:51 -08:00
2025-07-18 16:57:21 -07:00
2026-01-26 16:35:53 -08:00
2024-12-16 12:51:40 +00:00
2024-10-02 17:23:23 -04:00
2025-05-30 19:53:51 -07:00
2026-01-02 12:04:28 -08:00