bisecting fixing commit since 8034e99d1a010a795b979582c0b2370584d8abf4 building syzkaller on 8b9ca619df135211a89cc19719f2705d0016045d testing commit 8034e99d1a010a795b979582c0b2370584d8abf4 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: d2c7fc9c904fa790c5c72e72910955e76ff53929f8ee09998753ae070d3fe161 run #0: crashed: unregister_netdevice: waiting for DEV to become free run #1: crashed: unregister_netdevice: waiting for DEV to become free run #2: crashed: unregister_netdevice: waiting for DEV to become free run #3: crashed: unregister_netdevice: waiting for DEV to become free run #4: crashed: unregister_netdevice: waiting for DEV to become free run #5: crashed: KASAN: slab-out-of-bounds Read in udf_get_fileident run #6: crashed: unregister_netdevice: waiting for DEV to become free run #7: crashed: KASAN: use-after-free Read in udf_get_fileident run #8: crashed: KASAN: slab-out-of-bounds Read in udf_get_fileident run #9: crashed: KASAN: use-after-free Read in udf_get_fileident run #10: crashed: unregister_netdevice: waiting for DEV to become free run #11: crashed: unregister_netdevice: waiting for DEV to become free run #12: crashed: KASAN: use-after-free Read in udf_get_fileident run #13: crashed: unregister_netdevice: waiting for DEV to become free run #14: crashed: KASAN: use-after-free Read in udf_get_fileident run #15: crashed: unregister_netdevice: waiting for DEV to become free run #16: crashed: unregister_netdevice: waiting for DEV to become free run #17: crashed: unregister_netdevice: waiting for DEV to become free run #18: crashed: unregister_netdevice: waiting for DEV to become free run #19: crashed: unregister_netdevice: waiting for DEV to become free testing current HEAD eb045674aab31aa55a4f9aec27cce36e3d946a21 testing commit eb045674aab31aa55a4f9aec27cce36e3d946a21 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: e3c38602aceb5c5ac3f259c53e123c49b91825a1e3453e7414a84bcd63cd9303 run #0: crashed: KASAN: use-after-free Read in udf_get_fileident run #1: crashed: KASAN: slab-out-of-bounds Read in udf_get_fileident run #2: crashed: unregister_netdevice: waiting for DEV to become free run #3: crashed: KASAN: use-after-free Read in udf_get_fileident run #4: crashed: KASAN: use-after-free Read in udf_get_fileident run #5: crashed: KASAN: use-after-free Read in udf_get_fileident run #6: crashed: unregister_netdevice: waiting for DEV to become free run #7: crashed: KASAN: use-after-free Read in udf_get_fileident run #8: crashed: KASAN: slab-out-of-bounds Read in udf_get_fileident run #9: crashed: KASAN: use-after-free Read in udf_get_fileident revisions tested: 2, total time: 24m46.259153292s (build: 17m29.907014468s, test: 6m48.132757054s) the crash still happens on HEAD commit msg: Linux 4.14.272 crash: KASAN: use-after-free Read in udf_get_fileident UDF-fs: INFO Mounting volume 'LinuxUDF', timestamp 2020/09/19 18:44 (1000) ================================================================== BUG: KASAN: use-after-free in udf_get_fileident+0x1d1/0x1f0 fs/udf/directory.c:178 Read of size 2 at addr ffff8880a99df4bc by task syz-executor302/8273 CPU: 1 PID: 8273 Comm: syz-executor302 Not tainted 4.14.272-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 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_load_n_noabort+0xf/0x20 mm/kasan/report.c:440 udf_get_fileident+0x1d1/0x1f0 fs/udf/directory.c:178 udf_fileident_read+0x4b8/0x1ae0 fs/udf/directory.c:36 udf_readdir+0x5ca/0x12b0 fs/udf/dir.c:129 iterate_dir+0x188/0x660 fs/readdir.c:52 SYSC_getdents64 fs/readdir.c:358 [inline] SyS_getdents64+0x10d/0x1c0 fs/readdir.c:339 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb RIP: 0033:0x7fe4c1123599 RSP: 002b:00007ffd7de61e28 EFLAGS: 00000246 ORIG_RAX: 00000000000000d9 RAX: ffffffffffffffda RBX: 0030656c69662f2e RCX: 00007fe4c1123599 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004 RBP: 00007fe4c10e2d90 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007fe4c10e2e20 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 Allocated by task 8191: 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 __do_kmalloc_node mm/slab.c:3682 [inline] __kmalloc_node_track_caller+0x50/0x70 mm/slab.c:3696 __kmalloc_reserve.isra.7+0x2c/0xc0 net/core/skbuff.c:137 __alloc_skb+0xc1/0x540 net/core/skbuff.c:205 alloc_skb include/linux/skbuff.h:980 [inline] alloc_skb_with_frags+0x75/0x490 net/core/skbuff.c:5258 sock_alloc_send_pskb+0x542/0x6f0 net/core/sock.c:2101 unix_dgram_sendmsg+0x334/0x13b0 net/unix/af_unix.c:1722 sock_sendmsg_nosec net/socket.c:646 [inline] sock_sendmsg+0xac/0xf0 net/socket.c:656 sock_write_iter+0x20d/0x400 net/socket.c:925 call_write_iter include/linux/fs.h:1780 [inline] new_sync_write fs/read_write.c:469 [inline] __vfs_write+0x413/0x840 fs/read_write.c:482 vfs_write+0x150/0x4f0 fs/read_write.c:544 SYSC_write fs/read_write.c:590 [inline] SyS_write+0x100/0x250 fs/read_write.c:582 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb Freed by task 4627: 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 skb_free_head+0x74/0x90 net/core/skbuff.c:563 skb_release_data+0x4e0/0x820 net/core/skbuff.c:583 skb_release_all+0x3d/0x50 net/core/skbuff.c:640 __kfree_skb net/core/skbuff.c:654 [inline] consume_skb+0x84/0x2a0 net/core/skbuff.c:714 skb_free_datagram+0x12/0xc0 net/core/datagram.c:331 unix_dgram_recvmsg+0x758/0xe60 net/unix/af_unix.c:2225 sock_recvmsg_nosec net/socket.c:819 [inline] sock_recvmsg net/socket.c:826 [inline] sock_recvmsg+0xb7/0xf0 net/socket.c:822 ___sys_recvmsg+0x206/0x4d0 net/socket.c:2221 __sys_recvmsg+0xbe/0x140 net/socket.c:2266 SYSC_recvmsg net/socket.c:2278 [inline] SyS_recvmsg+0xd/0x20 net/socket.c:2273 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 ffff8880a99df300 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 444 bytes inside of 512-byte region [ffff8880a99df300, ffff8880a99df500) The buggy address belongs to the page: page:ffffea0002a677c0 count:1 mapcount:0 mapping:ffff8880a99df080 index:0x0 flags: 0xfff00000000100(slab) raw: 00fff00000000100 ffff8880a99df080 0000000000000000 0000000100000006 raw: ffffea0002ae90e0 ffffea0002a6c2e0 ffff88813fe50940 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880a99df380: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880a99df400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8880a99df480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8880a99df500: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8880a99df580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================