bisecting fixing commit since 4762bcd451a9e92e79d5146d3d4a5ffe2b4e0ec5 building syzkaller on 048f2d494ee4a016e2386c28bf8cccdd87896cbd testing commit 4762bcd451a9e92e79d5146d3d4a5ffe2b4e0ec5 with gcc (GCC) 8.1.0 kernel signature: b33ce74e8cbd55f46959f5164a8105e262f807c3 all runs: crashed: KASAN: use-after-free Read in ceph_destroy_options testing current HEAD bfb9e5c03076a446b1f4f6a523ddc8d723c907a6 testing commit bfb9e5c03076a446b1f4f6a523ddc8d723c907a6 with gcc (GCC) 8.1.0 kernel signature: 2e6cdd63d510f52d3816a0a4369cea624566ab9a 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: use-after-free Read in ceph_destroy_options run #7: crashed: KASAN: invalid-free 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 revisions tested: 2, total time: 34m35.472828821s (build: 15m40.839121203s, test: 18m15.597596897s) the crash still happens on HEAD commit msg: Linux 4.14.159 crash: KASAN: use-after-free Read in ceph_destroy_options RDX: 0000000020000140 RSI: 00000000200000c0 RDI: 0000000020000500 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f7d19c606d4 R13: 00000000004c6d95 R14: 00000000004dc508 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 ffff88808aa94510 by task syz-executor.3/12707 CPU: 0 PID: 12707 Comm: syz-executor.3 Not tainted 4.14.159-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:00007fe6f6a23c78 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: 00007fe6f6a246d4 R13: 00000000004c6d95 R14: 00000000004dc508 R15: 00000000ffffffff Allocated by task 12707: 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 12707: 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 ffff88808aa94440 which belongs to the cache kmalloc-256 of size 256 The buggy address is located 208 bytes inside of 256-byte region [ffff88808aa94440, ffff88808aa94540) The buggy address belongs to the page: page:ffffea00022aa500 count:1 mapcount:0 mapping:ffff88808aa94080 index:0x0 flags: 0x1fffc0000000100(slab) raw: 01fffc0000000100 ffff88808aa94080 0000000000000000 000000010000000c raw: ffffea0002a315a0 ffffea00029807a0 ffff8880aa8007c0 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff88808aa94400: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb ffff88808aa94480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff88808aa94500: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ^ ffff88808aa94580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff88808aa94600: 00 00 00 00 00 00 00 00 00 00 00 00 fc fc fc fc ================================================================== ================================================================== BUG: KASAN: double-free or invalid-free in ceph_destroy_options+0xb4/0xf0 net/ceph/ceph_common.c:288 CPU: 0 PID: 12674 Comm: syz-executor.0 Tainted: G B 4.14.159-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:00007f880e8d3c78 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: 00007f880e8d46d4 R13: 00000000004c6d95 R14: 00000000004dc508 R15: 00000000ffffffff Allocated by task 12674: 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 12674: 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 ffff888028d48800 which belongs to the cache kmalloc-8192 of size 8192 The buggy address is located 0 bytes inside of 8192-byte region [ffff888028d48800, ffff888028d4a800) The buggy address belongs to the page: page:ffffea0000a35200 count:1 mapcount:0 mapping:ffff888028d48800 index:0x0 compound_mapcount: 0 flags: 0x1fffc0000008100(slab|head) raw: 01fffc0000008100 ffff888028d48800 0000000000000000 0000000100000001 raw: ffffea0000a35c20 ffffea0000a36620 ffff8880aa802080 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888028d48700: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff888028d48780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff888028d48800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888028d48880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888028d48900: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================