bisecting fixing commit since 3c8c23092588a23bf1856a64f58c37f477a413be building syzkaller on 3c7fef3361a6007112b26adc1c5a550189ef43fe testing commit 3c8c23092588a23bf1856a64f58c37f477a413be compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 033857008a0d9ce8e0f752580195e35ef47a59e3fd4f75685608e26d9e81e79a run #0: crashed: KASAN: use-after-free Read in nbd_put run #1: crashed: WARNING: refcount bug in nbd_put run #2: crashed: WARNING: refcount bug in nbd_put run #3: crashed: KASAN: use-after-free Read in nbd_put run #4: crashed: KASAN: use-after-free Read in nbd_put run #5: crashed: KASAN: use-after-free Read in nbd_put run #6: crashed: KASAN: use-after-free Read in nbd_put run #7: crashed: KASAN: use-after-free Read in nbd_put run #8: crashed: WARNING: refcount bug in nbd_put run #9: crashed: KASAN: use-after-free Read in nbd_put run #10: crashed: KASAN: use-after-free Read in nbd_put run #11: crashed: KASAN: use-after-free Write in ex_handler_refcount run #12: crashed: KASAN: use-after-free Read in nbd_put run #13: crashed: KASAN: use-after-free Write in ex_handler_refcount run #14: crashed: KASAN: use-after-free Read in nbd_put run #15: crashed: KASAN: use-after-free Read in nbd_put run #16: crashed: WARNING: refcount bug in nbd_put run #17: crashed: KASAN: use-after-free Read in nbd_put run #18: crashed: KASAN: use-after-free Read in nbd_put run #19: crashed: KASAN: use-after-free Read in nbd_put testing current HEAD 4938296e03bd227e5020d63d418956fe52baf97c testing commit 4938296e03bd227e5020d63d418956fe52baf97c compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: c7815b26b18e4ed22ca39b82729ce5aa232df992d53c5f4c83256c040001f652 run #0: crashed: KASAN: use-after-free Write in ex_handler_refcount run #1: crashed: KASAN: use-after-free Read in nbd_put run #2: crashed: KASAN: use-after-free Read in nbd_put run #3: crashed: KASAN: use-after-free Read in nbd_put run #4: crashed: KASAN: use-after-free Read in nbd_put run #5: crashed: KASAN: use-after-free Read in nbd_put run #6: crashed: KASAN: use-after-free Write in ex_handler_refcount run #7: crashed: KASAN: use-after-free Read in nbd_put run #8: crashed: KASAN: use-after-free Write in ex_handler_refcount run #9: crashed: KASAN: use-after-free Write in ex_handler_refcount revisions tested: 2, total time: 24m19.473089019s (build: 16m28.509748288s, test: 7m16.012752196s) the crash still happens on HEAD commit msg: Linux 4.19.198 crash: KASAN: use-after-free Write in ex_handler_refcount IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready ================================================================== BUG: KASAN: use-after-free in ex_handler_refcount+0x141/0x180 arch/x86/mm/extable.c:49 Write of size 4 at addr ffff8880a323a618 by task systemd-udevd/11900 CPU: 1 PID: 11900 Comm: systemd-udevd Not tainted 4.19.198-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x17c/0x226 lib/dump_stack.c:118 print_address_description.cold.6+0x9/0x211 mm/kasan/report.c:256 kasan_report_error mm/kasan/report.c:354 [inline] kasan_report mm/kasan/report.c:412 [inline] kasan_report.cold.7+0x242/0x2fe mm/kasan/report.c:396 __asan_report_store4_noabort+0x17/0x20 mm/kasan/report.c:437 ex_handler_refcount+0x141/0x180 arch/x86/mm/extable.c:49 fixup_exception+0x7c/0xc0 arch/x86/mm/extable.c:197 do_trap_no_signal arch/x86/kernel/traps.c:209 [inline] do_trap+0x62/0x240 arch/x86/kernel/traps.c:258 do_error_trap+0x189/0x350 arch/x86/kernel/traps.c:303 do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:316 invalid_op+0x14/0x20 arch/x86/entry/entry_64.S:1038 RIP: 0010:__noinstr_text_end+0x22ed/0x7551 Code: 0f 0b 49 8d 49 50 0f 0b 48 8d 4f 08 0f 0b 48 8d 4a 08 0f 0b 48 8d 8b 08 02 00 00 0f 0b 48 8d 0b 0f 0b 48 8d 0b 0f 0b 48 8d 0b <0f> 0b 48 8d 0f 0f 0b 49 8d 0c 24 0f 0b 48 8d 8b c0 00 00 00 0f 0b RSP: 0018:ffff8880a99a7c40 EFLAGS: 00010296 RAX: 0000000000000000 RBX: ffff8880a323a618 RCX: ffff8880a323a618 RDX: ffffed1015334f5c RSI: 0000000000000004 RDI: ffffffff8bada720 RBP: ffff8880a99a7c58 R08: fffffbfff13f00ba R09: fffffbfff13f00b9 R10: ffff8880a99a7c30 R11: ffffffff89f805cb R12: 0000000000000000 R13: ffffffff89f805c0 R14: ffff88808072c288 R15: ffff88808072c280 nbd_put+0x1f/0x150 drivers/block/nbd.c:228 nbd_release+0xe1/0x140 drivers/block/nbd.c:1462 __blkdev_put+0x5fc/0x760 fs/block_dev.c:1819 blkdev_put+0x73/0x470 fs/block_dev.c:1881 blkdev_close+0x88/0xd0 fs/block_dev.c:1888 __fput+0x249/0x7f0 fs/file_table.c:278 ____fput+0x9/0x10 fs/file_table.c:309 task_work_run+0x108/0x180 kernel/task_work.c:113 tracehook_notify_resume include/linux/tracehook.h:193 [inline] exit_to_usermode_loop+0x185/0x1e0 arch/x86/entry/common.c:167 prepare_exit_to_usermode arch/x86/entry/common.c:198 [inline] syscall_return_slowpath arch/x86/entry/common.c:271 [inline] do_syscall_64+0x413/0x4e0 arch/x86/entry/common.c:296 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x7f8ea68d4270 Code: 73 01 c3 48 8b 0d 38 7d 20 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d 59 c1 20 00 00 75 10 b8 03 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 ee fb ff ff 48 89 04 24 RSP: 002b:00007ffce7497e98 EFLAGS: 00000246 ORIG_RAX: 0000000000000003 RAX: 0000000000000000 RBX: 0000000000000007 RCX: 00007f8ea68d4270 RDX: 000000000aba9500 RSI: 0000000000000000 RDI: 0000000000000007 RBP: 00007f8ea778e710 R08: 0000000000000045 R09: 0000000000000018 R10: 00005603280cd1b8 R11: 0000000000000246 R12: 0000000000000000 R13: 00005603280ccd20 R14: 0000000000000003 R15: 000000000000000e Allocated by task 11882: save_stack mm/kasan/kasan.c:448 [inline] set_track mm/kasan/kasan.c:460 [inline] kasan_kmalloc.part.1+0x62/0xf0 mm/kasan/kasan.c:553 kasan_kmalloc+0xaf/0xc0 mm/kasan/kasan.c:538 kmem_cache_alloc_trace+0x152/0x3a0 mm/slab.c:3625 kmalloc include/linux/slab.h:515 [inline] kzalloc include/linux/slab.h:709 [inline] nbd_dev_add+0x4c/0x820 drivers/block/nbd.c:1627 nbd_genl_connect+0x3e8/0x1510 drivers/block/nbd.c:1773 genl_family_rcv_msg+0x599/0x1000 net/netlink/genetlink.c:602 genl_rcv_msg+0xa7/0x140 net/netlink/genetlink.c:627 netlink_rcv_skb+0x13e/0x3d0 net/netlink/af_netlink.c:2457 genl_rcv+0x23/0x40 net/netlink/genetlink.c:638 netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline] netlink_unicast+0x443/0x660 net/netlink/af_netlink.c:1346 netlink_sendmsg+0x667/0xc60 net/netlink/af_netlink.c:1911 sock_sendmsg_nosec net/socket.c:651 [inline] sock_sendmsg+0xac/0xf0 net/socket.c:661 ___sys_sendmsg+0x647/0x950 net/socket.c:2225 __sys_sendmsg+0xd9/0x180 net/socket.c:2263 __do_sys_sendmsg net/socket.c:2272 [inline] __se_sys_sendmsg net/socket.c:2270 [inline] __x64_sys_sendmsg+0x73/0xb0 net/socket.c:2270 do_syscall_64+0xd0/0x4e0 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 11875: save_stack mm/kasan/kasan.c:448 [inline] set_track mm/kasan/kasan.c:460 [inline] __kasan_slab_free+0x13c/0x220 mm/kasan/kasan.c:521 kasan_slab_free+0xe/0x10 mm/kasan/kasan.c:528 __cache_free mm/slab.c:3503 [inline] kfree+0xcf/0x220 mm/slab.c:3822 nbd_dev_remove drivers/block/nbd.c:223 [inline] nbd_put drivers/block/nbd.c:231 [inline] nbd_put+0x111/0x150 drivers/block/nbd.c:226 nbd_genl_connect+0xcbf/0x1510 drivers/block/nbd.c:1913 genl_family_rcv_msg+0x599/0x1000 net/netlink/genetlink.c:602 genl_rcv_msg+0xa7/0x140 net/netlink/genetlink.c:627 netlink_rcv_skb+0x13e/0x3d0 net/netlink/af_netlink.c:2457 genl_rcv+0x23/0x40 net/netlink/genetlink.c:638 netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline] netlink_unicast+0x443/0x660 net/netlink/af_netlink.c:1346 netlink_sendmsg+0x667/0xc60 net/netlink/af_netlink.c:1911 sock_sendmsg_nosec net/socket.c:651 [inline] sock_sendmsg+0xac/0xf0 net/socket.c:661 ___sys_sendmsg+0x647/0x950 net/socket.c:2225 __sys_sendmsg+0xd9/0x180 net/socket.c:2263 __do_sys_sendmsg net/socket.c:2272 [inline] __se_sys_sendmsg net/socket.c:2270 [inline] __x64_sys_sendmsg+0x73/0xb0 net/socket.c:2270 do_syscall_64+0xd0/0x4e0 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe The buggy address belongs to the object at ffff8880a323a540 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 216 bytes inside of 512-byte region [ffff8880a323a540, ffff8880a323a740) The buggy address belongs to the page: page:ffffea00028c8e80 count:1 mapcount:0 mapping:ffff88813bff6940 index:0xffff8880a323a040 flags: 0xfff00000000100(slab) raw: 00fff00000000100 ffffea00029bbd08 ffffea00028de1c8 ffff88813bff6940 raw: ffff8880a323a040 ffff8880a323a040 0000000100000003 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880a323a500: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb ffff8880a323a580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8880a323a600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8880a323a680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880a323a700: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ==================================================================