bisecting fixing commit since e0f8b8a65a473a8baa439cf865a694bbeb83fe90 building syzkaller on 06150bf1b39b70e521560bc943ac19b281903ebc testing commit e0f8b8a65a473a8baa439cf865a694bbeb83fe90 with gcc (GCC) 8.1.0 kernel signature: 5544651f22b8b7e0b9f76c90dfd18e98cf9f122d8a5eff644e8eebccf4aa77b2 run #0: crashed: KASAN: use-after-free Write in ex_handler_refcount run #1: crashed: KASAN: use-after-free Write in ex_handler_refcount run #2: crashed: KASAN: use-after-free Write in ex_handler_refcount run #3: crashed: KASAN: use-after-free Write in ex_handler_refcount run #4: crashed: KASAN: use-after-free Read in l2cap_chan_close run #5: crashed: KASAN: use-after-free Write in ex_handler_refcount run #6: crashed: KASAN: use-after-free Write in ex_handler_refcount run #7: crashed: KASAN: use-after-free Write in ex_handler_refcount run #8: crashed: KASAN: use-after-free Write in ex_handler_refcount run #9: basic kernel testing failed: failed to copy test binary to VM: failed to run ["scp" "-P" "22" "-F" "/dev/null" "-o" "UserKnownHostsFile=/dev/null" "-o" "BatchMode=yes" "-o" "IdentitiesOnly=yes" "-o" "StrictHostKeyChecking=no" "-o" "ConnectTimeout=10" "-i" "/syzkaller/jobs/linux/workdir/image/key" "/tmp/syz-executor089417698" "root@10.128.1.7:./syz-executor089417698"]: exit status 1 Connection timed out during banner exchange lost connection testing current HEAD 78d697fc93f98054e36a3ab76dca1a88802ba7be testing commit 78d697fc93f98054e36a3ab76dca1a88802ba7be with gcc (GCC) 8.1.0 kernel signature: 0f863998dcb19f2c41ba32fcfb03dbef83341922499b261afe33e33868034b54 run #0: crashed: KASAN: use-after-free Read in l2cap_chan_close run #1: crashed: KASAN: use-after-free Read in l2cap_chan_close run #2: crashed: KASAN: use-after-free Read in l2cap_chan_close run #3: crashed: KASAN: use-after-free Write in ex_handler_refcount run #4: crashed: KASAN: use-after-free Read in l2cap_chan_close run #5: crashed: KASAN: use-after-free Read in l2cap_chan_close run #6: crashed: KASAN: use-after-free Read in l2cap_chan_close run #7: crashed: KASAN: use-after-free Write in ex_handler_refcount run #8: crashed: KASAN: use-after-free Read in l2cap_chan_close run #9: OK revisions tested: 2, total time: 38m20.402796468s (build: 17m23.992279056s, test: 20m5.198340508s) the crash still happens on HEAD commit msg: Linux 4.14.172 crash: KASAN: use-after-free Read in l2cap_chan_close IPv6: ADDRCONF(NETDEV_UP): batadv_slave_1: link is not ready batman_adv: batadv0: Interface activated: batadv_slave_1 IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready ================================================================== BUG: KASAN: use-after-free in l2cap_chan_close+0x4fd/0x7e0 net/bluetooth/l2cap_core.c:727 Read of size 1 at addr ffff8880a088ce60 by task kworker/1:0/18 CPU: 1 PID: 18 Comm: kworker/1:0 Not tainted 4.14.172-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events do_enable_set Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0xf7/0x13b lib/dump_stack.c:58 print_address_description.cold.7+0x9/0x1c9 mm/kasan/report.c:252 kasan_report_error mm/kasan/report.c:351 [inline] kasan_report.cold.8+0x11a/0x2d3 mm/kasan/report.c:409 __asan_report_load1_noabort+0x14/0x20 mm/kasan/report.c:427 l2cap_chan_close+0x4fd/0x7e0 net/bluetooth/l2cap_core.c:727 do_enable_set+0x45c/0x870 net/bluetooth/6lowpan.c:1086 process_one_work+0x79e/0x16c0 kernel/workqueue.c:2114 worker_thread+0xcc/0xee0 kernel/workqueue.c:2248 kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 Allocated by task 18: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59 save_stack+0x43/0xd0 mm/kasan/kasan.c:447 set_track mm/kasan/kasan.c:459 [inline] kasan_kmalloc+0xc7/0xe0 mm/kasan/kasan.c:551 kmem_cache_alloc_trace+0x152/0x7a0 mm/slab.c:3618 kmalloc include/linux/slab.h:488 [inline] kzalloc include/linux/slab.h:661 [inline] l2cap_chan_create+0x41/0x380 net/bluetooth/l2cap_core.c:441 chan_create+0xa/0xc0 net/bluetooth/6lowpan.c:652 bt_6lowpan_listen net/bluetooth/6lowpan.c:971 [inline] do_enable_set+0x48f/0x870 net/bluetooth/6lowpan.c:1090 process_one_work+0x79e/0x16c0 kernel/workqueue.c:2114 worker_thread+0xcc/0xee0 kernel/workqueue.c:2248 kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 Freed by task 7238: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59 save_stack+0x43/0xd0 mm/kasan/kasan.c:447 set_track mm/kasan/kasan.c:459 [inline] kasan_slab_free+0x71/0xc0 mm/kasan/kasan.c:524 __cache_free mm/slab.c:3496 [inline] kfree+0xcc/0x270 mm/slab.c:3815 l2cap_chan_destroy+0x132/0x1a0 net/bluetooth/l2cap_core.c:479 kref_put include/linux/kref.h:70 [inline] l2cap_chan_put+0x1e/0x20 net/bluetooth/l2cap_core.c:493 do_enable_set+0x468/0x870 net/bluetooth/6lowpan.c:1087 process_one_work+0x79e/0x16c0 kernel/workqueue.c:2114 worker_thread+0xcc/0xee0 kernel/workqueue.c:2248 kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 The buggy address belongs to the object at ffff8880a088ce40 which belongs to the cache kmalloc-2048 of size 2048 The buggy address is located 32 bytes inside of 2048-byte region [ffff8880a088ce40, ffff8880a088d640) The buggy address belongs to the page: page:ffffea0002822300 count:1 mapcount:0 mapping:ffff8880a088c5c0 index:0x0 compound_mapcount: 0 flags: 0xfffe0000008100(slab|head) raw: 00fffe0000008100 ffff8880a088c5c0 0000000000000000 0000000100000003 raw: ffffea0002042720 ffffea000206d3a0 ffff8880aa800c40 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880a088cd00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8880a088cd80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff8880a088ce00: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb ^ ffff8880a088ce80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880a088cf00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================