syzbot


BUG: corrupted list in kobject_add_internal
Status: fixed on 2021/09/29 23:05
Reported-by: syzbot+9b8ab2e0f51cbed440c0@syzkaller.appspotmail.com
Fix commit: 3f7b869c1b44 Bluetooth: avoid circular locks in sco_sock_connect
First crash: 516d, last: 269d

Fix bisection: fixed by (bisect log) :
commit 3f7b869c1b44108a8cbf3e4a763ddac9df548d73
Author: Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com>
Date: Tue Aug 10 04:14:06 2021 +0000

  Bluetooth: avoid circular locks in sco_sock_connect

similar bugs (5):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream BUG: corrupted list in kobject_add_internal (2) 1 500d 496d 0/22 auto-closed as invalid on 2021/05/10 16:34
upstream BUG: corrupted list in kobject_add_internal (3) C inconclusive 3 233d 337d 22/22 fixed on 2021/11/10 00:50
linux-4.19 BUG: corrupted list in kobject_add_internal (2) 1 232d 232d 0/1 auto-closed as invalid on 2022/02/03 08:56
linux-4.14 BUG: corrupted list in kobject_add_internal 1 569d 569d 0/1 auto-closed as invalid on 2021/03/02 15:06
upstream BUG: corrupted list in kobject_add_internal C done done 9 593d 656d 17/22 fixed on 2020/11/16 12:12

Sample crash report:
IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready
IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
list_add double add: new=ffff8880ab03ab58, prev=ffff8880ab03ab58, next=ffff88823b29c400.
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:29!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready
CPU: 1 PID: 8142 Comm: kworker/u5:8 Not tainted 4.19.163-syzkaller #0
wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: hci5 hci_rx_work
RIP: 0010:__list_add_valid.cold+0x26/0x3c lib/list_debug.c:29
Code: 57 ff ff ff 4c 89 e1 48 c7 c7 a0 bb b3 88 e8 d1 a6 cf fd 0f 0b 48 89 f2 4c 89 e1 48 89 ee 48 c7 c7 e0 bc b3 88 e8 ba a6 cf fd <0f> 0b 48 89 f1 48 c7 c7 60 bc b3 88 4c 89 e6 e8 a6 a6 cf fd 0f 0b
wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50
RSP: 0018:ffff888094f67800 EFLAGS: 00010282
RAX: 0000000000000058 RBX: ffff88823b29c400 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff814fdbb1 RDI: ffffed10129ecef2
RBP: ffff8880ab03ab58 R08: 0000000000000058 R09: 0000000000000000
R10: 0000000000000005 R11: 0000000000000000 R12: ffff88823b29c400
R13: ffff8880956e62d0 R14: ffff8880ab03ab70 R15: ffff8880ab03ab58
FS:  0000000000000000(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000
wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffdf495b070 CR3: 0000000009e6d000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 __list_add include/linux/list.h:60 [inline]
 list_add_tail include/linux/list.h:93 [inline]
 kobj_kset_join lib/kobject.c:188 [inline]
 kobject_add_internal+0x18d/0x9c0 lib/kobject.c:238
 kobject_add_varg lib/kobject.c:382 [inline]
 kobject_add+0x150/0x1c0 lib/kobject.c:426
wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50
wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50
 device_add+0x37b/0x16d0 drivers/base/core.c:2106
 hci_conn_add_sysfs+0x97/0x1a0 net/bluetooth/hci_sysfs.c:53
 hci_sync_conn_complete_evt.isra.0+0x9e9/0xca0 net/bluetooth/hci_event.c:4091
 hci_event_packet+0x391f/0x7e19 net/bluetooth/hci_event.c:5854
 hci_rx_work+0x4ad/0xc70 net/bluetooth/hci_core.c:4359
 process_one_work+0x864/0x1570 kernel/workqueue.c:2155
IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
 worker_thread+0x64c/0x1130 kernel/workqueue.c:2298
wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50
 kthread+0x33f/0x460 kernel/kthread.c:259
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415
Modules linked in:
IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
---[ end trace 95f979322632bded ]---
IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
RIP: 0010:__list_add_valid.cold+0x26/0x3c lib/list_debug.c:29
Code: 57 ff ff ff 4c 89 e1 48 c7 c7 a0 bb b3 88 e8 d1 a6 cf fd 0f 0b 48 89 f2 4c 89 e1 48 89 ee 48 c7 c7 e0 bc b3 88 e8 ba a6 cf fd <0f> 0b 48 89 f1 48 c7 c7 60 bc b3 88 4c 89 e6 e8 a6 a6 cf fd 0f 0b
RSP: 0018:ffff888094f67800 EFLAGS: 00010282
RAX: 0000000000000058 RBX: ffff88823b29c400 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff814fdbb1 RDI: ffffed10129ecef2
RBP: ffff8880ab03ab58 R08: 0000000000000058 R09: 0000000000000000
R10: 0000000000000005 R11: 0000000000000000 R12: ffff88823b29c400
R13: ffff8880956e62d0 R14: ffff8880ab03ab70 R15: ffff8880ab03ab58
FS:  0000000000000000(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffdf495b070 CR3: 0000000009e6d000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (2):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci2-linux-4-19 2020/12/26 09:28 linux-4.19.y 13d2ce42de8c 821e0b09 .config log report syz C
ci2-linux-4-19 2021/02/01 07:09 linux-4.19.y 811218eceeaa fc9fd31e .config log report info BUG: corrupted list in kobject_add_internal