bisecting fixing commit since fa5941f45d7ed070118b7c209b7f2c3a034293bd building syzkaller on 618456b4f4f74528ac6b9d709b1870d0e1d70eb2 testing commit fa5941f45d7ed070118b7c209b7f2c3a034293bd with gcc (GCC) 8.1.0 kernel signature: 395e4815f3e1b89cfe5ca1abc2a6b7100b7ad4a66d0fec25a82c378b1bc55821 run #0: crashed: KASAN: use-after-free Read in ceph_destroy_options run #1: crashed: KASAN: use-after-free Read in ceph_destroy_options run #2: crashed: KASAN: use-after-free Read in ceph_destroy_options run #3: crashed: KASAN: use-after-free Read in ceph_destroy_options run #4: crashed: KASAN: use-after-free Read in ceph_destroy_options run #5: crashed: KASAN: use-after-free Read in ceph_destroy_options run #6: crashed: KASAN: invalid-free in ceph_destroy_options run #7: crashed: KASAN: use-after-free Read in ceph_destroy_options run #8: crashed: KASAN: use-after-free Read in ceph_destroy_options run #9: crashed: KASAN: invalid-free in ceph_destroy_options testing current HEAD cbfa1702aaf69b2311ea1b35e04f113c48368c67 testing commit cbfa1702aaf69b2311ea1b35e04f113c48368c67 with gcc (GCC) 8.1.0 kernel signature: 85c54e068f7def4bf04cd67d8f6bf4b8719afbe640f8bee2ebae2484985e7ea1 all runs: crashed: KASAN: use-after-free Read in ceph_destroy_options revisions tested: 2, total time: 29m16.924506162s (build: 15m5.364061289s, test: 13m43.522771223s) the crash still happens on HEAD commit msg: Linux 4.14.198 crash: KASAN: use-after-free Read in ceph_destroy_options RDX: 0000000020000100 RSI: 0000000020000200 RDI: 0000000020000040 RBP: 000000000073bf00 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f9a154f16d4 R13: 00000000004c4e21 R14: 00000000004d8a88 R15: 00000000ffffffff ================================================================== BUG: KASAN: use-after-free in ceph_destroy_options+0xc6/0xf0 net/ceph/ceph_common.c:283 Read of size 8 at addr ffff8880a5c59350 by task syz-executor.0/25901 CPU: 1 PID: 25901 Comm: syz-executor.0 Not tainted 4.14.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: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_load8_noabort+0x14/0x20 mm/kasan/report.c:430 ceph_destroy_options+0xc6/0xf0 net/ceph/ceph_common.c:283 ceph_mount+0xbb9/0x178a fs/ceph/super.c:1036 mount_fs+0x84/0x26e fs/super.c:1237 vfs_kern_mount.part.33+0x58/0x3c0 fs/namespace.c:1046 vfs_kern_mount fs/namespace.c:1036 [inline] do_new_mount fs/namespace.c:2549 [inline] do_mount+0x36b/0x26a0 fs/namespace.c:2879 SYSC_mount fs/namespace.c:3095 [inline] SyS_mount+0xb8/0xd0 fs/namespace.c:3072 do_syscall_64+0x1c9/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb RIP: 0033:0x458e29 RSP: 002b:00007f9a154f0c78 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 0000000000458e29 RDX: 0000000020000100 RSI: 0000000020000200 RDI: 0000000020000040 RBP: 000000000073bf00 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f9a154f16d4 R13: 00000000004c4e21 R14: 00000000004d8a88 R15: 00000000ffffffff Allocated by task 25901: 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/0x7b0 mm/slab.c:3618 kmalloc include/linux/slab.h:488 [inline] kzalloc include/linux/slab.h:661 [inline] ceph_parse_options+0xe3/0xd30 net/ceph/ceph_common.c:349 parse_mount_options fs/ceph/super.c:501 [inline] ceph_mount+0x494/0x178a fs/ceph/super.c:1025 mount_fs+0x84/0x26e fs/super.c:1237 vfs_kern_mount.part.33+0x58/0x3c0 fs/namespace.c:1046 vfs_kern_mount fs/namespace.c:1036 [inline] do_new_mount fs/namespace.c:2549 [inline] do_mount+0x36b/0x26a0 fs/namespace.c:2879 SYSC_mount fs/namespace.c:3095 [inline] SyS_mount+0xb8/0xd0 fs/namespace.c:3072 do_syscall_64+0x1c9/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb Freed by task 25901: 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 ceph_destroy_options+0xbc/0xf0 net/ceph/ceph_common.c:289 ceph_destroy_client+0x8f/0xb0 net/ceph/ceph_common.c:671 create_fs_client fs/ceph/super.c:684 [inline] ceph_mount+0xc50/0x178a fs/ceph/super.c:1032 mount_fs+0x84/0x26e fs/super.c:1237 vfs_kern_mount.part.33+0x58/0x3c0 fs/namespace.c:1046 vfs_kern_mount fs/namespace.c:1036 [inline] do_new_mount fs/namespace.c:2549 [inline] do_mount+0x36b/0x26a0 fs/namespace.c:2879 SYSC_mount fs/namespace.c:3095 [inline] SyS_mount+0xb8/0xd0 fs/namespace.c:3072 do_syscall_64+0x1c9/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb The buggy address belongs to the object at ffff8880a5c59280 which belongs to the cache kmalloc-256 of size 256 The buggy address is located 208 bytes inside of 256-byte region [ffff8880a5c59280, ffff8880a5c59380) The buggy address belongs to the page: page:ffffea0002971640 count:1 mapcount:0 mapping:ffff8880a5c59000 index:0x0 flags: 0x1fffc0000000100(slab) raw: 01fffc0000000100 ffff8880a5c59000 0000000000000000 000000010000000c raw: ffffea0002978860 ffffea000280c3e0 ffff8880aa8007c0 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880a5c59200: 00 00 00 00 fc fc fc fc fc fc fc fc fc fc fc fc ffff8880a5c59280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8880a5c59300: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8880a5c59380: fc fc fc fc fc fc fc fc 00 00 00 00 00 00 00 00 ffff8880a5c59400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ================================================================== ================================================================== BUG: KASAN: double-free or invalid-free in ceph_destroy_options+0xb4/0xf0 net/ceph/ceph_common.c:288 CPU: 0 PID: 22122 Comm: syz-executor.5 Tainted: G B 4.14.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: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_double_free+0x55/0x80 mm/kasan/report.c:333 kasan_slab_free+0xa3/0xc0 mm/kasan/kasan.c:514 __cache_free mm/slab.c:3496 [inline] kfree+0xcc/0x270 mm/slab.c:3815 ceph_destroy_options+0xb4/0xf0 net/ceph/ceph_common.c:288 ceph_mount+0xbb9/0x178a fs/ceph/super.c:1036 mount_fs+0x84/0x26e fs/super.c:1237 vfs_kern_mount.part.33+0x58/0x3c0 fs/namespace.c:1046 vfs_kern_mount fs/namespace.c:1036 [inline] do_new_mount fs/namespace.c:2549 [inline] do_mount+0x36b/0x26a0 fs/namespace.c:2879 SYSC_mount fs/namespace.c:3095 [inline] SyS_mount+0xb8/0xd0 fs/namespace.c:3072 do_syscall_64+0x1c9/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb RIP: 0033:0x458e29 RSP: 002b:00007f0796cccc78 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 0000000000458e29 RDX: 0000000020000100 RSI: 0000000020000200 RDI: 0000000020000040 RBP: 000000000073bf00 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f0796ccd6d4 R13: 00000000004c4e21 R14: 00000000004d8a88 R15: 00000000ffffffff Allocated by task 22122: 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/0x7b0 mm/slab.c:3618 kmalloc include/linux/slab.h:488 [inline] kmalloc_array include/linux/slab.h:606 [inline] kcalloc include/linux/slab.h:618 [inline] ceph_parse_options+0x127/0xd30 net/ceph/ceph_common.c:352 parse_mount_options fs/ceph/super.c:501 [inline] ceph_mount+0x494/0x178a fs/ceph/super.c:1025 mount_fs+0x84/0x26e fs/super.c:1237 vfs_kern_mount.part.33+0x58/0x3c0 fs/namespace.c:1046 vfs_kern_mount fs/namespace.c:1036 [inline] do_new_mount fs/namespace.c:2549 [inline] do_mount+0x36b/0x26a0 fs/namespace.c:2879 SYSC_mount fs/namespace.c:3095 [inline] SyS_mount+0xb8/0xd0 fs/namespace.c:3072 do_syscall_64+0x1c9/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb Freed by task 22122: 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 ceph_destroy_options+0xb4/0xf0 net/ceph/ceph_common.c:288 ceph_destroy_client+0x8f/0xb0 net/ceph/ceph_common.c:671 create_fs_client fs/ceph/super.c:684 [inline] ceph_mount+0xc50/0x178a fs/ceph/super.c:1032 mount_fs+0x84/0x26e fs/super.c:1237 vfs_kern_mount.part.33+0x58/0x3c0 fs/namespace.c:1046 vfs_kern_mount fs/namespace.c:1036 [inline] do_new_mount fs/namespace.c:2549 [inline] do_mount+0x36b/0x26a0 fs/namespace.c:2879 SYSC_mount fs/namespace.c:3095 [inline] SyS_mount+0xb8/0xd0 fs/namespace.c:3072 do_syscall_64+0x1c9/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb The buggy address belongs to the object at ffff88801c81cd00 which belongs to the cache kmalloc-8192 of size 8192 The buggy address is located 0 bytes inside of 8192-byte region [ffff88801c81cd00, ffff88801c81ed00) The buggy address belongs to the page: page:ffffea0000720700 count:1 mapcount:0 mapping:ffff88801c81cd00 index:0x0 compound_mapcount: 0 flags: 0x1fffc0000008100(slab|head) raw: 01fffc0000008100 ffff88801c81cd00 0000000000000000 0000000100000001 raw: ffffea00016dd020 ffffea00021b4f20 ffff8880aa802080 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff88801c81cc00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff88801c81cc80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff88801c81cd00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff88801c81cd80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff88801c81ce00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================