BUG: corrupted list in klist_dec_and_del

5 views
Skip to first unread message

syzbot

unread,
Nov 2, 2020, 10:23:23 AM11/2/20
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 2b791501 Linux 4.14.203
git tree: linux-4.14.y
console output: https://syzkaller.appspot.com/x/log.txt?x=14f523a8500000
kernel config: https://syzkaller.appspot.com/x/.config?x=e52bb6f2a595a463
dashboard link: https://syzkaller.appspot.com/bug?extid=096e2d3f6cc43bf20205
compiler: gcc (GCC) 10.1.0-syz 20200507
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11fefa8a500000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15298e2a500000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+096e2d...@syzkaller.appspotmail.com

IPVS: ftp: loaded support on port[0] = 21
list_del corruption. prev->next should be ffff8880b392a120, but was ffff8880b38dc378
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:51!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
Modules linked in:
CPU: 1 PID: 7992 Comm: syz-executor527 Not tainted 4.14.203-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
task: ffff888095be2400 task.stack: ffff888095988000
RIP: 0010:__list_del_entry_valid.cold+0xf/0x55 lib/list_debug.c:51
RSP: 0018:ffff88809598fa10 EFLAGS: 00010286
RAX: 0000000000000054 RBX: ffff8880b38dc341 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff878bb940 RDI: ffffed1012b31f38
RBP: ffff8880b392a120 R08: 0000000000000054 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff8880b4d52d60
R13: ffff8880b4d52d60 R14: ffff888095df8b80 R15: 0000000000000000
FS: 00000000010be880(0000) GS:ffff8880ba500000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000562b2e94a0a8 CR3: 00000000a4226000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
__list_del_entry include/linux/list.h:117 [inline]
list_del include/linux/list.h:125 [inline]
klist_release lib/klist.c:190 [inline]
kref_put include/linux/kref.h:70 [inline]
klist_dec_and_del+0x7b/0x460 lib/klist.c:207
klist_put+0x71/0x140 lib/klist.c:218
device_del+0x12d/0xa80 drivers/base/core.c:2046
hci_conn_del_sysfs+0xca/0x160 net/bluetooth/hci_sysfs.c:78
hci_conn_cleanup+0x216/0x500 net/bluetooth/hci_conn.c:128
hci_conn_del+0x253/0x6f0 net/bluetooth/hci_conn.c:611
hci_conn_hash_flush+0x19c/0x260 net/bluetooth/hci_conn.c:1394
hci_dev_do_close+0x535/0xca0 net/bluetooth/hci_core.c:1620
hci_unregister_dev+0x17f/0x8c0 net/bluetooth/hci_core.c:3191
vhci_release+0x70/0xe0 drivers/bluetooth/hci_vhci.c:354
__fput+0x25f/0x7a0 fs/file_table.c:210
task_work_run+0x11f/0x190 kernel/task_work.c:113
exit_task_work include/linux/task_work.h:22 [inline]
do_exit+0xa08/0x27f0 kernel/exit.c:865
do_group_exit+0x100/0x2e0 kernel/exit.c:962
SYSC_exit_group kernel/exit.c:973 [inline]
SyS_exit_group+0x19/0x20 kernel/exit.c:971
do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x46/0xbb
RIP: 0033:0x445098
RSP: 002b:00007fff8f7ff758 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 0000000000445098
RDX: 0000000000000001 RSI: 000000000000003c RDI: 0000000000000001
RBP: 00000000004ccdf0 R08: 00000000000000e7 R09: ffffffffffffffd0
R10: 0000000000000015 R11: 0000000000000246 R12: 0000000000000001
R13: 00000000006e0200 R14: 0000000000000000 R15: 0000000000000000
Code: 87 e8 6c 15 24 fe 0f 0b 48 89 f1 48 c7 c7 20 ce cc 87 4c 89 e6 e8 58 15 24 fe 0f 0b 48 89 ee 48 c7 c7 c0 cf cc 87 e8 47 15 24 fe <0f> 0b 4c 89 ea 48 89 ee 48 c7 c7 00 cf cc 87 e8 33 15 24 fe 0f
RIP: __list_del_entry_valid.cold+0xf/0x55 lib/list_debug.c:51 RSP: ffff88809598fa10
---[ end trace e7c8d24b82958878 ]---


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
syzbot can test patches for this issue, for details see:
https://goo.gl/tpsmEJ#testing-patches
Reply all
Reply to author
Forward
0 new messages