syzbot


WARNING: locking bug in netpoll_poll_disable (2)

Status: upstream: reported on 2025/01/13 12:25
Subsystems: net
[Documentation on labels]
Reported-by: syzbot+54f9a6de31e425e46ace@syzkaller.appspotmail.com
First crash: 127d, last: 42d
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [net?] WARNING: locking bug in netpoll_poll_disable (2) 0 (1) 2025/01/13 12:25
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream WARNING: locking bug in netpoll_poll_disable net 4 245d 270d 0/28 closed as invalid on 2024/10/17 12:22

Sample crash report:
bridge0: port 1(bridge_slave_0) entered disabled state
------------[ cut here ]------------
DEBUG_LOCKS_WARN_ON(1)
WARNING: CPU: 0 PID: 7345 at kernel/locking/lockdep.c:234 hlock_class kernel/locking/lockdep.c:-1 [inline]
WARNING: CPU: 0 PID: 7345 at kernel/locking/lockdep.c:234 check_wait_context kernel/locking/lockdep.c:4852 [inline]
WARNING: CPU: 0 PID: 7345 at kernel/locking/lockdep.c:234 __lock_acquire+0x7b0/0x7904 kernel/locking/lockdep.c:5178
Modules linked in:
CPU: 0 UID: 0 PID: 7345 Comm: kworker/u8:17 Not tainted 6.14.0-syzkaller-gd6b13dbd03b7 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Workqueue: netns cleanup_net
pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : hlock_class kernel/locking/lockdep.c:-1 [inline]
pc : check_wait_context kernel/locking/lockdep.c:4852 [inline]
pc : __lock_acquire+0x7b0/0x7904 kernel/locking/lockdep.c:5178
lr : hlock_class kernel/locking/lockdep.c:234 [inline]
lr : check_wait_context kernel/locking/lockdep.c:4852 [inline]
lr : __lock_acquire+0x7a4/0x7904 kernel/locking/lockdep.c:5178
sp : ffff8000a2ec7000
x29: ffff8000a2ec72c0 x28: ffff0000da1a0000 x27: ffff0000da1a0b50
x26: 1fffe0001b43416a x25: 0000000000000000 x24: 0000000000000001
x23: ffff0000da1a0a88 x22: ffff0000da1a0b30 x21: ffff0000da1a0b54
x20: 0000000000001fc5 x19: ffff80009374abb8 x18: ffff8000a2ec6788
x17: 0000000000000000 x16: ffff8000832bccd4 x15: 0000000000000001
x14: 1fffe000366e6ef2 x13: dfff800000000000 x12: 0000000000000000
x11: 0000000000000003 x10: 0000000000ff0100 x9 : f23d24d144097e00
x8 : 0000000000000000
 x7 : 4e5241575f534b43 x6 : ffff8000804af3b8
x5 : 0000000000000000 x4 : 0000000000000001 x3 : ffff800080746fc0
x2 : 0000000000000001 x1 : 0000000100000001 x0 : 0000000000000000
Call trace:
 hlock_class kernel/locking/lockdep.c:-1 [inline] (P)
 check_wait_context kernel/locking/lockdep.c:4852 [inline] (P)
 __lock_acquire+0x7b0/0x7904 kernel/locking/lockdep.c:5178 (P)
 lock_acquire+0x23c/0x724 kernel/locking/lockdep.c:5851
 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
 _raw_spin_lock_irqsave+0x5c/0x7c kernel/locking/spinlock.c:162
 down+0x3c/0xe8 kernel/locking/semaphore.c:60
 netpoll_poll_disable+0xe8/0x100 net/core/netpoll.c:222
 __dev_close_many+0x104/0x408 net/core/dev.c:1691
 dev_close_many+0x1e0/0x474 net/core/dev.c:1744
 unregister_netdevice_many_notify+0x448/0x1c7c net/core/dev.c:11859
 unregister_netdevice_many+0x28/0x38 net/core/dev.c:11951
 cleanup_net+0x5d4/0xa48 net/core/net_namespace.c:647
 process_one_work+0x810/0x1638 kernel/workqueue.c:3238
 process_scheduled_works kernel/workqueue.c:3319 [inline]
 worker_thread+0x97c/0xeec kernel/workqueue.c:3400
 kthread+0x65c/0x7b0 kernel/kthread.c:464
 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862
irq event stamp: 2271144
hardirqs last  enabled at (2271143): [<ffff800080312ac8>] __local_bh_enable_ip+0x224/0x44c kernel/softirq.c:394
hardirqs last disabled at (2271144): [<ffff80008b88b8d0>] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:108 [inline]
hardirqs last disabled at (2271144): [<ffff80008b88b8d0>] _raw_spin_lock_irqsave+0x2c/0x7c kernel/locking/spinlock.c:162
softirqs last  enabled at (2271142): [<ffff8000862672e0>] pppoe_flush_dev drivers/net/ppp/pppoe.c:327 [inline]
softirqs last  enabled at (2271142): [<ffff8000862672e0>] pppoe_device_event+0x464/0x4a0 drivers/net/ppp/pppoe.c:346
softirqs last disabled at (2271140): [<ffff800086266f64>] pppoe_flush_dev drivers/net/ppp/pppoe.c:279 [inline]
softirqs last disabled at (2271140): [<ffff800086266f64>] pppoe_device_event+0xe8/0x4a0 drivers/net/ppp/pppoe.c:346
---[ end trace 0000000000000000 ]---
Unable to handle kernel paging request at virtual address dfff800000000018
KASAN: null-ptr-deref in range [0x00000000000000c0-0x00000000000000c7]
Mem abort info:
  ESR = 0x0000000096000005
  EC = 0x25: DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x05: level 1 translation fault
Data abort info:
  ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
  CM = 0, WnR = 0, TnD = 0, TagAccess = 0
  GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[dfff800000000018] address between user and kernel address ranges
Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 UID: 0 PID: 7345 Comm: kworker/u8:17 Tainted: G        W          6.14.0-syzkaller-gd6b13dbd03b7 #0
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Workqueue: netns cleanup_net

pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : check_wait_context kernel/locking/lockdep.c:4852 [inline]
pc : __lock_acquire+0x574/0x7904 kernel/locking/lockdep.c:5178
lr : hlock_class kernel/locking/lockdep.c:234 [inline]
lr : check_wait_context kernel/locking/lockdep.c:4852 [inline]
lr : __lock_acquire+0x7a4/0x7904 kernel/locking/lockdep.c:5178
sp : ffff8000a2ec7000
x29: ffff8000a2ec72c0
 x28: ffff0000da1a0000 x27: ffff0000da1a0b50
x26: 1fffe0001b43416a x25: 0000000000000000
 x24: 0000000000000001

x23: ffff0000da1a0a88
 x22: ffff0000da1a0b30
 x21: 00000000000000c4

x20: 0000000000001fc5
 x19: ffff80009374abb8
 x18: ffff8000a2ec6788
x17: 0000000000000000 x16: ffff8000832bccd4 x15: 0000000000000001
x14: 1fffe000366e6ef2
 x13: dfff800000000000
 x12: 0000000000000000

x11: 0000000000000003 x10: 0000000000ff0100 x9 : f23d24d144097e00
x8 : 0000000000000018 x7 : 4e5241575f534b43 x6 : ffff8000804af3b8
x5 : 0000000000000000 x4 : 0000000000000001 x3 : ffff800080746fc0
x2 : 0000000000000001 x1 : 0000000100000001 x0 : 0000000000000000
Call trace:
 check_wait_context kernel/locking/lockdep.c:4852 [inline] (P)
 __lock_acquire+0x574/0x7904 kernel/locking/lockdep.c:5178 (P)
 lock_acquire+0x23c/0x724 kernel/locking/lockdep.c:5851
 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
 _raw_spin_lock_irqsave+0x5c/0x7c kernel/locking/spinlock.c:162
 down+0x3c/0xe8 kernel/locking/semaphore.c:60
 netpoll_poll_disable+0xe8/0x100 net/core/netpoll.c:222
 __dev_close_many+0x104/0x408 net/core/dev.c:1691
 dev_close_many+0x1e0/0x474 net/core/dev.c:1744
 unregister_netdevice_many_notify+0x448/0x1c7c net/core/dev.c:11859
 unregister_netdevice_many+0x28/0x38 net/core/dev.c:11951
 cleanup_net+0x5d4/0xa48 net/core/net_namespace.c:647
 process_one_work+0x810/0x1638 kernel/workqueue.c:3238
 process_scheduled_works kernel/workqueue.c:3319 [inline]
 worker_thread+0x97c/0xeec kernel/workqueue.c:3400
 kthread+0x65c/0x7b0 kernel/kthread.c:464
 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862
Code: 34000fa8 aa1f03e8 91031115 d343fea8 (38ed6908) 
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
   0:	34000fa8 	cbz	w8, 0x1f4
   4:	aa1f03e8 	mov	x8, xzr
   8:	91031115 	add	x21, x8, #0xc4
   c:	d343fea8 	lsr	x8, x21, #3
* 10:	38ed6908 	ldrsb	w8, [x8, x13] <-- trapping instruction

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/04/04 16:40 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci d6b13dbd03b7 1c4febdb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 WARNING: locking bug in netpoll_poll_disable
2025/01/09 12:22 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 577490b6abb9 f3558dbf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 WARNING: locking bug in netpoll_poll_disable
* Struck through repros no longer work on HEAD.