bisecting fixing commit since ddef1e8e3f6eb26034833b7255e3fa584d54a230 building syzkaller on af5c522d02400b35a930d6fbdf286f9ce2afc8ba testing commit ddef1e8e3f6eb26034833b7255e3fa584d54a230 with gcc (GCC) 8.1.0 kernel signature: ae2bebde2dc55e4a7890baa13b375fc27867a4c010a56af46909362974253a5c run #0: crashed: KASAN: use-after-free Read in debugfs_remove run #1: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #2: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #3: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #4: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #5: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #6: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #7: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #8: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #9: OK testing current HEAD ab9dfda232481dcfaf549ce774004d116fc80c13 testing commit ab9dfda232481dcfaf549ce774004d116fc80c13 with gcc (GCC) 8.1.0 kernel signature: 665547c34de1dc6f4bcfeff6ffbf9aa10e09d73ebb0d1e4d05241872fd237468 run #0: crashed: general protection fault in debugfs_remove run #1: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #2: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #3: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #4: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #5: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #6: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #7: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #8: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #9: crashed: KASAN: use-after-free Read in relay_switch_subbuf revisions tested: 2, total time: 33m52.918304794s (build: 18m21.398000381s, test: 13m53.473689648s) the crash still happens on HEAD commit msg: Linux 4.14.180 crash: KASAN: use-after-free Read in relay_switch_subbuf devpts: called with bogus options devpts: called with bogus options devpts: called with bogus options devpts: called with bogus options ================================================================== BUG: KASAN: use-after-free in relay_switch_subbuf+0xb0a/0xc40 kernel/relay.c:754 devpts: called with bogus options Read of size 8 at addr ffff888083d1b238 by task kworker/0:4/7059 CPU: 0 PID: 7059 Comm: kworker/0:4 Not tainted 4.14.180-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events __blk_release_queue 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 relay_switch_subbuf+0xb0a/0xc40 kernel/relay.c:754 relay_flush+0x183/0x230 kernel/relay.c:882 blk_trace_startstop+0x40c/0x570 kernel/trace/blktrace.c:657 blk_trace_shutdown+0x3a/0x50 kernel/trace/blktrace.c:727 __blk_release_queue+0x1f9/0x470 block/blk-sysfs.c:830 process_one_work+0x79e/0x16c0 kernel/workqueue.c:2116 worker_thread+0xcc/0xee0 kernel/workqueue.c:2250 kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 Allocated by task 8449: 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 kasan_slab_alloc+0x12/0x20 mm/kasan/kasan.c:489 kmem_cache_alloc+0x12e/0x790 mm/slab.c:3552 __d_alloc+0x28/0x9f0 fs/dcache.c:1623 d_alloc+0x43/0x260 fs/dcache.c:1710 __lookup_hash+0x40/0x160 fs/namei.c:1571 lookup_one_len+0x26e/0x3a0 fs/namei.c:2539 start_creating+0x91/0x190 fs/debugfs/inode.c:314 __debugfs_create_file+0x37/0x390 fs/debugfs/inode.c:353 debugfs_create_file+0x24/0x30 fs/debugfs/inode.c:404 blk_create_buf_file_callback+0x19/0x20 kernel/trace/blktrace.c:445 relay_create_buf_file+0xea/0x160 kernel/relay.c:427 relay_open_buf.part.11+0x5e7/0x940 kernel/relay.c:456 relay_open_buf kernel/relay.c:448 [inline] relay_open+0x47f/0x880 kernel/relay.c:598 do_blk_trace_setup+0x39c/0xb10 kernel/trace/blktrace.c:533 blk_trace_setup+0xa8/0x110 kernel/trace/blktrace.c:579 blk_trace_ioctl+0x136/0x230 kernel/trace/blktrace.c:694 blkdev_ioctl+0x6ae/0x16b0 block/ioctl.c:580 block_ioctl+0xd7/0x130 fs/block_dev.c:1881 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:500 [inline] do_vfs_ioctl+0x180/0xfb0 fs/ioctl.c:684 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x74/0x80 fs/ioctl.c:692 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 Freed by task 7: 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] kmem_cache_free+0x80/0x2d0 mm/slab.c:3758 __d_free+0x17/0x20 fs/dcache.c:270 __rcu_reclaim kernel/rcu/rcu.h:195 [inline] rcu_do_batch kernel/rcu/tree.c:2699 [inline] invoke_rcu_callbacks kernel/rcu/tree.c:2962 [inline] __rcu_process_callbacks kernel/rcu/tree.c:2929 [inline] rcu_process_callbacks+0x7e0/0x11e0 kernel/rcu/tree.c:2946 __do_softirq+0x246/0x9b0 kernel/softirq.c:288 The buggy address belongs to the object at ffff888083d1b1e0 which belongs to the cache dentry of size 288 The buggy address is located 88 bytes inside of 288-byte region [ffff888083d1b1e0, ffff888083d1b300) The buggy address belongs to the page: page:ffffea00020f46c0 count:1 mapcount:0 mapping:ffff888083d1b080 index:0x0 flags: 0x1fffc0000000100(slab) raw: 01fffc0000000100 ffff888083d1b080 0000000000000000 000000010000000b raw: ffffea00020f4120 ffffea00020f3de0 ffff88821f8b5680 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888083d1b100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff888083d1b180: 00 00 00 00 fc fc fc fc fc fc fc fc fb fb fb fb >ffff888083d1b200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888083d1b280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888083d1b300: fc fc fc fc fc fc fc fc 00 00 00 00 00 00 00 00 ================================================================== devpts: called with bogus options devpts: called with bogus options