bisecting fixing commit since 4762bcd451a9e92e79d5146d3d4a5ffe2b4e0ec5 building syzkaller on 048f2d494ee4a016e2386c28bf8cccdd87896cbd testing commit 4762bcd451a9e92e79d5146d3d4a5ffe2b4e0ec5 with gcc (GCC) 8.1.0 kernel signature: 00c5d279fab3e628b804d4e51f7224be66c1587c5471c0e2f16ac527823f982d 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: invalid-free 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: use-after-free Read 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: use-after-free Read in ceph_destroy_options testing current HEAD 98db2bf27b9ed2d5ed0b6c9c8a4bfcb127a19796 testing commit 98db2bf27b9ed2d5ed0b6c9c8a4bfcb127a19796 with gcc (GCC) 8.1.0 kernel signature: 038b269f104206e2d4b4f6ae3f551a150edbfa20945f18bfdc456a6f14445db4 all runs: crashed: KASAN: use-after-free Read in ceph_destroy_options revisions tested: 2, total time: 35m58.443927728s (build: 16m54.977827789s, test: 18m7.516874125s) the crash still happens on HEAD commit msg: Linux 4.14.171 crash: KASAN: use-after-free Read in ceph_destroy_options syz-executor.0: page allocation failure: order:5, mode:0x14040c0(GFP_KERNEL|__GFP_COMP), nodemask=(null) syz-executor.2: page allocation failure: order:5, mode:0x14040c0(GFP_KERNEL|__GFP_COMP), nodemask=(null) libceph: connect [d::]:6789 error -101 libceph: mon0 [d::]:6789 connect error ================================================================== BUG: KASAN: use-after-free in ceph_destroy_options+0xc6/0xf0 net/ceph/ceph_common.c:283 Read of size 8 at addr ffff888090955d50 by task syz-executor.3/27238 CPU: 0 PID: 27238 Comm: syz-executor.3 Not tainted 4.14.171-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+0xa3d/0x15a8 fs/ceph/super.c:1018 mount_fs+0x7f/0x269 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+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 RIP: 0033:0x45a219 RSP: 002b:00007f59f514bc78 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 000000000045a219 RDX: 0000000020000140 RSI: 00000000200000c0 RDI: 0000000020000500 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f59f514c6d4 R13: 00000000004c6d95 R14: 00000000004dc508 R15: 00000000ffffffff Allocated by task 27238: 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] ceph_parse_options+0xe3/0xc60 net/ceph/ceph_common.c:349 parse_mount_options fs/ceph/super.c:475 [inline] ceph_mount+0x390/0x15a8 fs/ceph/super.c:1007 mount_fs+0x7f/0x269 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+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 Freed by task 27238: 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:658 [inline] ceph_mount+0xad1/0x15a8 fs/ceph/super.c:1014 mount_fs+0x7f/0x269 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+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 The buggy address belongs to the object at ffff888090955c80 which belongs to the cache kmalloc-256 of size 256 The buggy address is located 208 bytes inside of 256-byte region [ffff888090955c80, ffff888090955d80) The buggy address belongs to the page: page:ffffea0002425540 count:1 mapcount:0 mapping:ffff888090955000 index:0x0 flags: 0x1fffc0000000100(slab) raw: 01fffc0000000100 ffff888090955000 0000000000000000 000000010000000c raw: ffffea00028f81e0 ffffea0002985460 ffff8880aa8007c0 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888090955c00: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff888090955c80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff888090955d00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888090955d80: fc fc fc fc fc fc fc fc 00 00 00 00 00 00 00 00 ffff888090955e00: 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: 27216 Comm: syz-executor.5 Tainted: G B 4.14.171-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+0xa3d/0x15a8 fs/ceph/super.c:1018 mount_fs+0x7f/0x269 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+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 RIP: 0033:0x45a219 RSP: 002b:00007f984e9d7c78 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 000000000045a219 RDX: 0000000020000140 RSI: 00000000200000c0 RDI: 0000000020000500 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f984e9d86d4 R13: 00000000004c6d95 R14: 00000000004dc508 R15: 00000000ffffffff Allocated by task 27216: 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] kmalloc_array include/linux/slab.h:606 [inline] kcalloc include/linux/slab.h:618 [inline] ceph_parse_options+0x127/0xc60 net/ceph/ceph_common.c:352 parse_mount_options fs/ceph/super.c:475 [inline] ceph_mount+0x390/0x15a8 fs/ceph/super.c:1007 mount_fs+0x7f/0x269 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+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 Freed by task 27216: 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:658 [inline] ceph_mount+0xad1/0x15a8 fs/ceph/super.c:1014 mount_fs+0x7f/0x269 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+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 The buggy address belongs to the object at ffff8880a1ec5180 which belongs to the cache kmalloc-8192 of size 8192 The buggy address is located 0 bytes inside of 8192-byte region [ffff8880a1ec5180, ffff8880a1ec7180) The buggy address belongs to the page: page:ffffea000287b100 count:1 mapcount:0 mapping:ffff8880a1ec5180 index:0x0 compound_mapcount: 0 flags: 0x1fffc0000008100(slab|head) raw: 01fffc0000008100 ffff8880a1ec5180 0000000000000000 0000000100000001 raw: ffffea0001750420 ffffea00017cd620 ffff8880aa802080 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880a1ec5080: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8880a1ec5100: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff8880a1ec5180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8880a1ec5200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880a1ec5280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================