bisecting fixing commit since 4762bcd451a9e92e79d5146d3d4a5ffe2b4e0ec5 building syzkaller on 048f2d494ee4a016e2386c28bf8cccdd87896cbd testing commit 4762bcd451a9e92e79d5146d3d4a5ffe2b4e0ec5 with gcc (GCC) 8.1.0 kernel signature: d330024b5e00520fcc572763b48951b4727d90b389a05b70378eb79e96e48577 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: invalid-free 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: use-after-free Read in ceph_destroy_options testing current HEAD b850307b279cbd12ab8c654d1a3dfe55319cc475 testing commit b850307b279cbd12ab8c654d1a3dfe55319cc475 with gcc (GCC) 8.1.0 kernel signature: 4baf3f2dbb2340f4dd34e53dad6aad38ad3f3ab7d23633c9b488213d8d2b8fb5 all runs: crashed: KASAN: use-after-free Read in ceph_destroy_options revisions tested: 2, total time: 32m7.953124358s (build: 15m50.937386499s, test: 15m30.284330456s) the crash still happens on HEAD commit msg: Linux 4.14.184 crash: KASAN: use-after-free Read in ceph_destroy_options syz-executor.5: page allocation failure: order:5, mode:0x14040c0(GFP_KERNEL|__GFP_COMP), nodemask=(null) syz-executor.0: page allocation failure: order:5, mode:0x14040c0(GFP_KERNEL|__GFP_COMP), nodemask=(null) syz-executor.5: page allocation failure: order:5, mode:0x14040c0(GFP_KERNEL|__GFP_COMP), nodemask=(null) ================================================================== BUG: KASAN: use-after-free in ceph_destroy_options+0xc6/0xf0 net/ceph/ceph_common.c:283 Read of size 8 at addr ffff8880832c9e90 by task syz-executor.5/29517 CPU: 0 PID: 29517 Comm: syz-executor.5 Not tainted 4.14.184-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+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+0x46/0xbb RIP: 0033:0x45a219 RSP: 002b:00007f80c5bcbc78 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: 00007f80c5bcc6d4 R13: 00000000004c6d95 R14: 00000000004dc508 R15: 00000000ffffffff Allocated by task 29517: 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:501 [inline] ceph_mount+0x494/0x178a fs/ceph/super.c:1025 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+0x46/0xbb Freed by task 29517: 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+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+0x46/0xbb The buggy address belongs to the object at ffff8880832c9dc0 which belongs to the cache kmalloc-256 of size 256 The buggy address is located 208 bytes inside of 256-byte region [ffff8880832c9dc0, ffff8880832c9ec0) The buggy address belongs to the page: page:ffffea00020cb240 count:1 mapcount:0 mapping:ffff8880832c9000 index:0x0 flags: 0x1fffc0000000100(slab) raw: 01fffc0000000100 ffff8880832c9000 0000000000000000 000000010000000c raw: ffffea00026b0ee0 ffffea0002413020 ffff8880aa8007c0 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880832c9d80: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb ffff8880832c9e00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8880832c9e80: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ^ ffff8880832c9f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8880832c9f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ================================================================== ================================================================== libceph: connect [d::]:6789 error -101 BUG: KASAN: double-free or invalid-free in ceph_destroy_options+0xb4/0xf0 net/ceph/ceph_common.c:288 libceph: mon0 [d::]:6789 connect error libceph: connect [d::]:6789 error -101 CPU: 0 PID: 30020 Comm: syz-executor.5 Tainted: G B 4.14.184-syzkaller #0 libceph: mon0 [d::]:6789 connect error Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 libceph: mon1 [::6]:6789 socket closed (con state CONNECTING) 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 libceph: mon1 [::6]:6789 socket closed (con state CONNECTING) libceph: mon1 [::6]:6789 socket closed (con state CONNECTING) 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+0x46/0xbb RIP: 0033:0x45a219 RSP: 002b:00007f80c5bcbc78 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: 00007f80c5bcc6d4 R13: 00000000004c6d95 R14: 00000000004dc508 R15: 00000000ffffffff Allocated by task 30020: 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:501 [inline] ceph_mount+0x494/0x178a fs/ceph/super.c:1025 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+0x46/0xbb Freed by task 30020: 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+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+0x46/0xbb The buggy address belongs to the object at ffff8881e89ade80 which belongs to the cache kmalloc-8192 of size 8192 The buggy address is located 0 bytes inside of 8192-byte region [ffff8881e89ade80, ffff8881e89afe80) The buggy address belongs to the page: page:ffffea0007a26b00 count:1 mapcount:0 mapping:ffff8881e89ade80 index:0x0 compound_mapcount: 0 flags: 0x6fffc0000008100(slab|head) raw: 06fffc0000008100 ffff8881e89ade80 0000000000000000 0000000100000001 raw: ffffea00080a0120 ffffea0007ee5f20 ffff8880aa802080 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8881e89add80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8881e89ade00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff8881e89ade80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8881e89adf00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8881e89adf80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================