bisecting fixing commit since 3f2ecb86cb909da0b9157fd2952ad79924cbe5ae building syzkaller on bca53db974f570410921f59b8c2c59a3d263cb44 testing commit 3f2ecb86cb909da0b9157fd2952ad79924cbe5ae with gcc (GCC) 8.4.1 20210217 kernel signature: 4f434641cf25fe4df9778b9aeadaa9265d8145081c5bc24f624458b2102083e8 run #0: crashed: WARNING in md_ioctl run #1: crashed: WARNING in md_ioctl run #2: crashed: KASAN: use-after-free Read in disk_unblock_events run #3: crashed: WARNING in md_ioctl run #4: crashed: WARNING in md_ioctl run #5: crashed: WARNING in md_ioctl run #6: crashed: WARNING in md_ioctl run #7: crashed: WARNING in md_ioctl run #8: crashed: WARNING in md_ioctl run #9: crashed: WARNING in md_ioctl run #10: crashed: WARNING in md_ioctl run #11: crashed: KASAN: use-after-free Read in disk_unblock_events run #12: crashed: WARNING in md_ioctl run #13: crashed: KASAN: use-after-free Read in disk_unblock_events run #14: crashed: WARNING in md_ioctl run #15: crashed: KASAN: use-after-free Read in disk_unblock_events run #16: crashed: WARNING in md_ioctl run #17: crashed: WARNING in md_ioctl run #18: crashed: KASAN: use-after-free Read in disk_unblock_events run #19: crashed: KASAN: use-after-free Read in disk_unblock_events testing current HEAD 3242aa3a635c0958671ee1e4b0958dcc7c4e5c79 testing commit 3242aa3a635c0958671ee1e4b0958dcc7c4e5c79 with gcc (GCC) 8.4.1 20210217 kernel signature: cafe2b04cf66b094bcf13032823f5a8f6990629e469f1b0c5e333a369b28688a all runs: crashed: KASAN: use-after-free Read in disk_unblock_events revisions tested: 2, total time: 22m15.167702917s (build: 14m48.890667306s, test: 6m29.984274039s) the crash still happens on HEAD commit msg: Linux 4.14.222 crash: KASAN: use-after-free Read in disk_unblock_events md: md1 stopped. md: md1 stopped. md: md1 stopped. md: md1 stopped. ================================================================== BUG: KASAN: use-after-free in disk_unblock_events+0x42/0x50 block/genhd.c:1647 Read of size 8 at addr ffff8880b3377788 by task syz-executor.1/10232 CPU: 0 PID: 10232 Comm: syz-executor.1 Not tainted 4.14.222-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x14b/0x1e7 lib/dump_stack.c:58 md: md1 stopped. print_address_description.cold.6+0x9/0x1ca mm/kasan/report.c:252 kasan_report_error mm/kasan/report.c:351 [inline] kasan_report mm/kasan/report.c:409 [inline] kasan_report.cold.7+0x11a/0x2d3 mm/kasan/report.c:393 __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:430 disk_unblock_events+0x42/0x50 block/genhd.c:1647 __blkdev_get+0x6ef/0xff0 fs/block_dev.c:1556 md: md1 stopped. blkdev_get+0x265/0x890 fs/block_dev.c:1611 blkdev_open+0x19f/0x200 fs/block_dev.c:1772 do_dentry_open+0x3e4/0xde0 fs/open.c:777 vfs_open+0xfc/0x240 fs/open.c:888 do_last fs/namei.c:3428 [inline] path_openat+0xb6f/0x2760 fs/namei.c:3569 do_filp_open+0x16b/0x220 fs/namei.c:3603 do_sys_open+0x1d0/0x350 fs/open.c:1081 SYSC_openat fs/open.c:1108 [inline] SyS_openat+0xf/0x20 fs/open.c:1102 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb RIP: 0033:0x465a49 RSP: 002b:00007f717a450188 EFLAGS: 00000246 ORIG_RAX: 0000000000000101 RAX: ffffffffffffffda RBX: 000000000055bfe8 RCX: 0000000000465a49 RDX: 0000000000000000 RSI: 00000000200020c0 RDI: ffffffffffffff9c RBP: 00000000004af682 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000055bfe8 R13: 00007ffcbdb83a8f R14: 00007f717a450300 R15: 0000000000022000 Allocated by task 10231: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59 save_stack mm/kasan/kasan.c:447 [inline] set_track mm/kasan/kasan.c:459 [inline] kasan_kmalloc.part.1+0x62/0xf0 mm/kasan/kasan.c:551 kasan_kmalloc+0xaf/0xc0 mm/kasan/kasan.c:536 kmem_cache_alloc_node_trace+0x151/0x3f0 mm/slab.c:3661 kmalloc_node include/linux/slab.h:526 [inline] kzalloc_node include/linux/slab.h:672 [inline] alloc_disk_node+0x5e/0x380 block/genhd.c:1390 alloc_disk+0xe/0x10 block/genhd.c:1374 md_alloc+0x1e0/0x7a0 drivers/md/md.c:5332 md_probe+0x17/0x20 drivers/md/md.c:5389 kobj_lookup+0x20a/0x410 drivers/base/map.c:124 get_gendisk+0x2f/0x1d0 block/genhd.c:788 __blkdev_get+0x3d4/0xff0 fs/block_dev.c:1449 blkdev_get+0x265/0x890 fs/block_dev.c:1611 blkdev_open+0x19f/0x200 fs/block_dev.c:1772 do_dentry_open+0x3e4/0xde0 fs/open.c:777 vfs_open+0xfc/0x240 fs/open.c:888 do_last fs/namei.c:3428 [inline] path_openat+0xb6f/0x2760 fs/namei.c:3569 do_filp_open+0x16b/0x220 fs/namei.c:3603 do_sys_open+0x1d0/0x350 fs/open.c:1081 SYSC_openat fs/open.c:1108 [inline] SyS_openat+0xf/0x20 fs/open.c:1102 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb Freed by task 10232: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59 save_stack mm/kasan/kasan.c:447 [inline] set_track mm/kasan/kasan.c:459 [inline] kasan_slab_free+0xab/0x190 mm/kasan/kasan.c:524 __cache_free mm/slab.c:3496 [inline] kfree+0xcc/0x270 mm/slab.c:3815 disk_release+0x215/0x290 block/genhd.c:1233 device_release+0xd7/0x170 drivers/base/core.c:846 kobject_cleanup lib/kobject.c:646 [inline] kobject_release lib/kobject.c:675 [inline] kref_put include/linux/kref.h:70 [inline] kobject_put lib/kobject.c:692 [inline] kobject_put+0x14f/0x3d0 lib/kobject.c:685 put_disk+0x15/0x20 block/genhd.c:1455 __blkdev_get+0x65c/0xff0 fs/block_dev.c:1549 blkdev_get+0x265/0x890 fs/block_dev.c:1611 blkdev_open+0x19f/0x200 fs/block_dev.c:1772 do_dentry_open+0x3e4/0xde0 fs/open.c:777 vfs_open+0xfc/0x240 fs/open.c:888 do_last fs/namei.c:3428 [inline] path_openat+0xb6f/0x2760 fs/namei.c:3569 do_filp_open+0x16b/0x220 fs/namei.c:3603 do_sys_open+0x1d0/0x350 fs/open.c:1081 SYSC_openat fs/open.c:1108 [inline] SyS_openat+0xf/0x20 fs/open.c:1102 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb The buggy address belongs to the object at ffff8880b3377200 which belongs to the cache kmalloc-2048 of size 2048 The buggy address is located 1416 bytes inside of 2048-byte region [ffff8880b3377200, ffff8880b3377a00) The buggy address belongs to the page: page:ffffea0002ccdd80 count:1 mapcount:0 mapping:ffff8880b3376100 index:0x0 compound_mapcount: 0 flags: 0xfff00000008100(slab|head) raw: 00fff00000008100 ffff8880b3376100 0000000000000000 0000000100000003 raw: ffffea0002cfa220 ffffea0002cc6e20 ffff88813fe64c40 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880b3377680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880b3377700: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8880b3377780: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8880b3377800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880b3377880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================