syzbot


INFO: trying to register non-static key in skb_dequeue (3)

Status: upstream: reported C repro on 2024/04/30 15:02
Subsystems: wireless usb
[Documentation on labels]
Reported-by: syzbot+2660b9135e6144ca41a5@syzkaller.appspotmail.com
First crash: 20d, last: 2d01h
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [wireless?] [usb?] INFO: trying to register non-static key in skb_dequeue (3) 1 (3) 2024/05/01 01:44
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 INFO: trying to register non-static key in skb_dequeue C error 65 1091d 1382d 0/1 upstream: reported C repro on 2020/08/03 21:08
upstream INFO: trying to register non-static key in skb_dequeue bluetooth C error 28951 1104d 1385d 20/26 fixed on 2021/11/10 00:50
linux-4.14 INFO: trying to register non-static key in skb_dequeue C error 60 612d 1379d 0/1 upstream: reported C repro on 2020/08/06 05:40
upstream INFO: trying to register non-static key in skb_dequeue (2) rdma syz error 123 335d 379d 23/26 fixed on 2023/09/28 17:51
Last patch testing requests (1)
Created Duration User Patch Repo Result
2024/05/01 00:05 18m hdanton@sina.com patch https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing OK log

Sample crash report:
usb 1-1: reg 0xfe64, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x0 reqtype=0xc0
rtl_usb: rx_max_size 15360, rx_urb_num 8, in_ep 0
rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
usb 1-1: USB disconnect, device number 2
INFO: trying to register non-static key.
The code is fine but needs lockdep annotation, or maybe
you didn't initialize this object before use?
turning off the locking correctness validator.
CPU: 0 PID: 589 Comm: kworker/0:2 Not tainted 6.9.0-rc5-syzkaller-00105-g3f12222a4beb #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Workqueue: usb_hub_wq hub_event
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:114
 assign_lock_key kernel/locking/lockdep.c:976 [inline]
 register_lock_class+0xc2a/0x1230 kernel/locking/lockdep.c:1289
 __lock_acquire+0x111/0x3b30 kernel/locking/lockdep.c:5014
 lock_acquire kernel/locking/lockdep.c:5754 [inline]
 lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719
 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
 _raw_spin_lock_irqsave+0x3a/0x60 kernel/locking/spinlock.c:162
 skb_dequeue+0x20/0x180 net/core/skbuff.c:3835
 rtl_usb_cleanup drivers/net/wireless/realtek/rtlwifi/usb.c:706 [inline]
 rtl_usb_deinit drivers/net/wireless/realtek/rtlwifi/usb.c:721 [inline]
 rtl_usb_disconnect+0x49e/0x830 drivers/net/wireless/realtek/rtlwifi/usb.c:1051
 usb_unbind_interface+0x1e8/0x970 drivers/usb/core/driver.c:461
 device_remove drivers/base/dd.c:568 [inline]
 device_remove+0x122/0x170 drivers/base/dd.c:560
 __device_release_driver drivers/base/dd.c:1270 [inline]
 device_release_driver_internal+0x44a/0x610 drivers/base/dd.c:1293
 bus_remove_device+0x22f/0x420 drivers/base/bus.c:574
 device_del+0x396/0xa10 drivers/base/core.c:3909
 usb_disable_device+0x36c/0x7f0 drivers/usb/core/message.c:1418
 usb_disconnect+0x2e1/0x920 drivers/usb/core/hub.c:2305
 hub_port_connect drivers/usb/core/hub.c:5361 [inline]
 hub_port_connect_change drivers/usb/core/hub.c:5661 [inline]
 port_event drivers/usb/core/hub.c:5821 [inline]
 hub_event+0x1be4/0x4f50 drivers/usb/core/hub.c:5903
 process_one_work+0x9a9/0x1ac0 kernel/workqueue.c:3254
 process_scheduled_works kernel/workqueue.c:3335 [inline]
 worker_thread+0x6c8/0xf70 kernel/workqueue.c:3416
 kthread+0x2c1/0x3a0 kernel/kthread.c:388
 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
 </TASK>
BUG: unable to handle page fault for address: ffffffffffffffd8
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 82a2067 P4D 82a2067 PUD 82a4067 PMD 0 
Oops: 0002 [#1] PREEMPT SMP KASAN PTI
CPU: 0 PID: 589 Comm: kworker/0:2 Not tainted 6.9.0-rc5-syzkaller-00105-g3f12222a4beb #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Workqueue: usb_hub_wq hub_event
RIP: 0010:arch_atomic_fetch_add arch/x86/include/asm/atomic.h:97 [inline]
RIP: 0010:raw_atomic_fetch_add_relaxed include/linux/atomic/atomic-arch-fallback.h:749 [inline]
RIP: 0010:atomic_fetch_add_relaxed include/linux/atomic/atomic-instrumented.h:253 [inline]
RIP: 0010:__refcount_add include/linux/refcount.h:184 [inline]
RIP: 0010:__refcount_inc include/linux/refcount.h:241 [inline]
RIP: 0010:refcount_inc include/linux/refcount.h:258 [inline]
RIP: 0010:kref_get include/linux/kref.h:45 [inline]
RIP: 0010:usb_get_urb.part.0+0x1c/0x90 drivers/usb/core/urb.c:114
Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 55 48 89 fd 53 bb 01 00 00 00 e8 81 19 2d fd be 04 00 00 00 48 89 ef e8 d4 02 7f fd <f0> 0f c1 5d 00 31 ff 89 de e8 46 14 2d fd 85 db 74 47 e8 5d 19 2d
RSP: 0018:ffffc900019cf6b0 EFLAGS: 00010046
RAX: 0000000000000001 RBX: 0000000000000001 RCX: ffffffff8425b71c
RDX: fffffbfffffffffc RSI: 0000000000000004 RDI: ffffffffffffffd8
RBP: ffffffffffffffd8 R08: 0000000000000001 R09: fffffbfffffffffb
R10: ffffffffffffffdb R11: 0000000000000001 R12: ffff888118830228
R13: ffffffffffffffd8 R14: ffff888118830288 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8881f6400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffffffffd8 CR3: 0000000116906000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 usb_get_urb drivers/usb/core/urb.c:816 [inline]
 usb_kill_anchored_urbs+0xa5/0x380 drivers/usb/core/urb.c:819
 rtl_usb_cleanup drivers/net/wireless/realtek/rtlwifi/usb.c:713 [inline]
 rtl_usb_deinit drivers/net/wireless/realtek/rtlwifi/usb.c:721 [inline]
 rtl_usb_disconnect+0x4d1/0x830 drivers/net/wireless/realtek/rtlwifi/usb.c:1051
 usb_unbind_interface+0x1e8/0x970 drivers/usb/core/driver.c:461
 device_remove drivers/base/dd.c:568 [inline]
 device_remove+0x122/0x170 drivers/base/dd.c:560
 __device_release_driver drivers/base/dd.c:1270 [inline]
 device_release_driver_internal+0x44a/0x610 drivers/base/dd.c:1293
 bus_remove_device+0x22f/0x420 drivers/base/bus.c:574
 device_del+0x396/0xa10 drivers/base/core.c:3909
 usb_disable_device+0x36c/0x7f0 drivers/usb/core/message.c:1418
 usb_disconnect+0x2e1/0x920 drivers/usb/core/hub.c:2305
 hub_port_connect drivers/usb/core/hub.c:5361 [inline]
 hub_port_connect_change drivers/usb/core/hub.c:5661 [inline]
 port_event drivers/usb/core/hub.c:5821 [inline]
 hub_event+0x1be4/0x4f50 drivers/usb/core/hub.c:5903
 process_one_work+0x9a9/0x1ac0 kernel/workqueue.c:3254
 process_scheduled_works kernel/workqueue.c:3335 [inline]
 worker_thread+0x6c8/0xf70 kernel/workqueue.c:3416
 kthread+0x2c1/0x3a0 kernel/kthread.c:388
 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
 </TASK>
Modules linked in:
CR2: ffffffffffffffd8
---[ end trace 0000000000000000 ]---
RIP: 0010:arch_atomic_fetch_add arch/x86/include/asm/atomic.h:97 [inline]
RIP: 0010:raw_atomic_fetch_add_relaxed include/linux/atomic/atomic-arch-fallback.h:749 [inline]
RIP: 0010:atomic_fetch_add_relaxed include/linux/atomic/atomic-instrumented.h:253 [inline]
RIP: 0010:__refcount_add include/linux/refcount.h:184 [inline]
RIP: 0010:__refcount_inc include/linux/refcount.h:241 [inline]
RIP: 0010:refcount_inc include/linux/refcount.h:258 [inline]
RIP: 0010:kref_get include/linux/kref.h:45 [inline]
RIP: 0010:usb_get_urb.part.0+0x1c/0x90 drivers/usb/core/urb.c:114
Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 55 48 89 fd 53 bb 01 00 00 00 e8 81 19 2d fd be 04 00 00 00 48 89 ef e8 d4 02 7f fd <f0> 0f c1 5d 00 31 ff 89 de e8 46 14 2d fd 85 db 74 47 e8 5d 19 2d
RSP: 0018:ffffc900019cf6b0 EFLAGS: 00010046
RAX: 0000000000000001 RBX: 0000000000000001 RCX: ffffffff8425b71c
RDX: fffffbfffffffffc RSI: 0000000000000004 RDI: ffffffffffffffd8
RBP: ffffffffffffffd8 R08: 0000000000000001 R09: fffffbfffffffffb
R10: ffffffffffffffdb R11: 0000000000000001 R12: ffff888118830228
R13: ffffffffffffffd8 R14: ffff888118830288 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8881f6400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffffffffd8 CR3: 0000000116906000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	90                   	nop
   1:	90                   	nop
   2:	90                   	nop
   3:	90                   	nop
   4:	90                   	nop
   5:	90                   	nop
   6:	90                   	nop
   7:	90                   	nop
   8:	90                   	nop
   9:	90                   	nop
   a:	90                   	nop
   b:	90                   	nop
   c:	90                   	nop
   d:	90                   	nop
   e:	55                   	push   %rbp
   f:	48 89 fd             	mov    %rdi,%rbp
  12:	53                   	push   %rbx
  13:	bb 01 00 00 00       	mov    $0x1,%ebx
  18:	e8 81 19 2d fd       	call   0xfd2d199e
  1d:	be 04 00 00 00       	mov    $0x4,%esi
  22:	48 89 ef             	mov    %rbp,%rdi
  25:	e8 d4 02 7f fd       	call   0xfd7f02fe
* 2a:	f0 0f c1 5d 00       	lock xadd %ebx,0x0(%rbp) <-- trapping instruction
  2f:	31 ff                	xor    %edi,%edi
  31:	89 de                	mov    %ebx,%esi
  33:	e8 46 14 2d fd       	call   0xfd2d147e
  38:	85 db                	test   %ebx,%ebx
  3a:	74 47                	je     0x83
  3c:	e8                   	.byte 0xe8
  3d:	5d                   	pop    %rbp
  3e:	19                   	.byte 0x19
  3f:	2d                   	.byte 0x2d

Crashes (8):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/04/26 16:29 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 3f12222a4beb 059e9963 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-upstream-usb INFO: trying to register non-static key in skb_dequeue
2024/05/14 23:39 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 51474ab44abf fdb4c10c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb INFO: trying to register non-static key in skb_dequeue
2024/05/05 09:44 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing a2cf936ebef2 610f2a54 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb INFO: trying to register non-static key in skb_dequeue
2024/05/03 19:37 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing b3e40fc85735 dd26401e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb INFO: trying to register non-static key in skb_dequeue
2024/05/01 14:15 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 080e73c9411b 3ba885bc .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb INFO: trying to register non-static key in skb_dequeue
2024/05/01 14:14 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 080e73c9411b 3ba885bc .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb INFO: trying to register non-static key in skb_dequeue
2024/04/29 00:11 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 3f12222a4beb 07b455f9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb INFO: trying to register non-static key in skb_dequeue
2024/04/26 14:49 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 3f12222a4beb 059e9963 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb INFO: trying to register non-static key in skb_dequeue
* Struck through repros no longer work on HEAD.