bisecting cause commit starting from 26bc672134241a080a83b2ab9aa8abede8d30e1c building syzkaller on bc2c6e45b9f01fa6046cb3efa9d3aae9f05238a8 testing commit 26bc672134241a080a83b2ab9aa8abede8d30e1c with gcc (GCC) 8.1.0 run #0: crashed: WARNING: bad unlock balance detected! run #1: crashed: WARNING: bad unlock balance detected! run #2: crashed: WARNING: bad unlock balance detected! run #3: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #4: crashed: WARNING: bad unlock balance detected! run #5: crashed: WARNING: bad unlock balance detected! run #6: OK 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 release v5.3 testing commit 4d856f72c10ecb060868ed10ff1b1453943fc6c8 with gcc (GCC) 8.1.0 run #0: crashed: general protection fault in relay_switch_subbuf 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: general protection fault in relay_switch_subbuf run #9: crashed: KASAN: use-after-free Read in relay_switch_subbuf testing release v5.2 testing commit 0ecfebd2b52404ae0c54a878c872bb93363ada36 with gcc (GCC) 8.1.0 run #0: crashed: KASAN: use-after-free Read in relay_switch_subbuf 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: general protection fault 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 testing release v5.1 testing commit e93c9c99a629c61837d5a7fc2120cd2b6c70dbdd with gcc (GCC) 8.1.0 all runs: OK # git bisect start 0ecfebd2b52404ae0c54a878c872bb93363ada36 e93c9c99a629c61837d5a7fc2120cd2b6c70dbdd Bisecting: 6966 revisions left to test after this (roughly 13 steps) [a2d635decbfa9c1e4ae15cb05b68b2559f7f827c] Merge tag 'drm-next-2019-05-09' of git://anongit.freedesktop.org/drm/drm testing commit a2d635decbfa9c1e4ae15cb05b68b2559f7f827c with gcc (GCC) 8.1.0 run #0: crashed: KASAN: use-after-free Read in relay_switch_subbuf 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: OK run #4: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #5: OK run #6: OK run #7: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #8: OK run #9: OK # git bisect bad a2d635decbfa9c1e4ae15cb05b68b2559f7f827c Bisecting: 4612 revisions left to test after this (roughly 12 steps) [82efe439599439a5e1e225ce5740e6cfb777a7dd] Merge tag 'devicetree-for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux testing commit 82efe439599439a5e1e225ce5740e6cfb777a7dd with gcc (GCC) 8.1.0 run #0: crashed: KASAN: use-after-free Read in relay_switch_subbuf 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: OK run #5: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #6: OK run #7: OK run #8: OK run #9: crashed: KASAN: use-after-free Read in relay_switch_subbuf # git bisect bad 82efe439599439a5e1e225ce5740e6cfb777a7dd Bisecting: 1813 revisions left to test after this (roughly 11 steps) [78438ce18f26dbcaa8993bb45d20ffb0cec3bc3e] Merge branch 'stable-fodder' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs testing commit 78438ce18f26dbcaa8993bb45d20ffb0cec3bc3e with gcc (GCC) 8.1.0 all runs: OK # git bisect good 78438ce18f26dbcaa8993bb45d20ffb0cec3bc3e Bisecting: 688 revisions left to test after this (roughly 10 steps) [e0dccbdf5ac7ccb9da5612100dedba302f3ebcfe] Merge tag 'staging-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging testing commit e0dccbdf5ac7ccb9da5612100dedba302f3ebcfe with gcc (GCC) 8.1.0 all runs: OK # git bisect good e0dccbdf5ac7ccb9da5612100dedba302f3ebcfe Bisecting: 383 revisions left to test after this (roughly 9 steps) [8b35ad6232c462b02e397e87ce702bcddd4ba543] Merge tag 'leds-for-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds testing commit 8b35ad6232c462b02e397e87ce702bcddd4ba543 with gcc (GCC) 8.1.0 run #0: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #1: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect bad 8b35ad6232c462b02e397e87ce702bcddd4ba543 Bisecting: 166 revisions left to test after this (roughly 7 steps) [62909da8aca048ecf9fbd7e484e5100608f40a63] w1: fix the resume command API testing commit 62909da8aca048ecf9fbd7e484e5100608f40a63 with gcc (GCC) 8.1.0 run #0: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #1: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #2: OK run #3: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect bad 62909da8aca048ecf9fbd7e484e5100608f40a63 Bisecting: 68 revisions left to test after this (roughly 6 steps) [38e7b6efe997c4eb9a5a809dc2b2fe6c759b7c4b] nvmem: imx-ocotp: add support for imx8mq testing commit 38e7b6efe997c4eb9a5a809dc2b2fe6c759b7c4b with gcc (GCC) 8.1.0 run #0: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #1: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #8: OK run #9: OK # git bisect bad 38e7b6efe997c4eb9a5a809dc2b2fe6c759b7c4b Bisecting: 34 revisions left to test after this (roughly 5 steps) [b6f897d75d651f86a3988a602e767696f9e08de6] habanalabs: Move PCI code into common file testing commit b6f897d75d651f86a3988a602e767696f9e08de6 with gcc (GCC) 8.1.0 run #0: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect bad b6f897d75d651f86a3988a602e767696f9e08de6 Bisecting: 16 revisions left to test after this (roughly 4 steps) [d8fb3fafa220035a8fc6af9822ab6f591ca83a57] sgi-xpc: mark expected switch fall-through testing commit d8fb3fafa220035a8fc6af9822ab6f591ca83a57 with gcc (GCC) 8.1.0 run #0: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect bad d8fb3fafa220035a8fc6af9822ab6f591ca83a57 Bisecting: 8 revisions left to test after this (roughly 3 steps) [8e7389c79b40ed44c855193bfb46b496ac25676f] misc: fastrpc: Avoid free of DMA buffer in interrupt context testing commit 8e7389c79b40ed44c855193bfb46b496ac25676f with gcc (GCC) 8.1.0 run #0: crashed: WARNING: bad unlock balance detected! run #1: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect bad 8e7389c79b40ed44c855193bfb46b496ac25676f Bisecting: 3 revisions left to test after this (roughly 2 steps) [191b0700727ca936d7b34496244cfea27074ddd9] nfc/mei: convert to SPDX license tags testing commit 191b0700727ca936d7b34496244cfea27074ddd9 with gcc (GCC) 8.1.0 run #0: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect bad 191b0700727ca936d7b34496244cfea27074ddd9 Bisecting: 1 revision left to test after this (roughly 1 step) [3634946f5224c29c88095fc97c5468e0735719d4] mei: add missing SPDX tag to mei Kconfig testing commit 3634946f5224c29c88095fc97c5468e0735719d4 with gcc (GCC) 8.1.0 run #0: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #1: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect bad 3634946f5224c29c88095fc97c5468e0735719d4 Bisecting: 0 revisions left to test after this (roughly 0 steps) [21c75ad65f8e5213ec542d99c259ffe3e3671e81] parport_cs: Fix memory leak in parport_config testing commit 21c75ad65f8e5213ec542d99c259ffe3e3671e81 with gcc (GCC) 8.1.0 run #0: crashed: KASAN: use-after-free Read in relay_switch_subbuf run #1: crashed: WARNING: bad unlock balance detected! run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: crashed: KASAN: use-after-free Read in relay_switch_subbuf # git bisect bad 21c75ad65f8e5213ec542d99c259ffe3e3671e81 21c75ad65f8e5213ec542d99c259ffe3e3671e81 is the first bad commit commit 21c75ad65f8e5213ec542d99c259ffe3e3671e81 Author: YueHaibing Date: Thu Mar 21 16:26:28 2019 +0800 parport_cs: Fix memory leak in parport_config parport_probe() alloc parport device 'info', but while parport_config failed it does not free it. Signed-off-by: YueHaibing Reviewed-by: Mukesh Ojha Signed-off-by: Greg Kroah-Hartman :040000 040000 52b7fbf72f860ea598379c5172ccae9e84552161 fae9b02be54c1516ce732c7e849069181ed4c134 M drivers revisions tested: 17, total time: 4h42m0.685331983s (build: 1h40m47.965853097s, test: 2h56m1.370203877s) first bad commit: 21c75ad65f8e5213ec542d99c259ffe3e3671e81 parport_cs: Fix memory leak in parport_config cc: ["akpm@linux-foundation.org" "bunk@kernel.org" "gregkh@linuxfoundation.org" "linux-kernel@vger.kernel.org" "linux@dominikbrodowski.net" "mojha@codeaurora.org" "sudipm.mukherjee@gmail.com" "yuehaibing@huawei.com"] crash: KASAN: use-after-free Read in relay_switch_subbuf ================================================================== BUG: KASAN: use-after-free in relay_switch_subbuf+0xb0d/0xc40 kernel/relay.c:755 Read of size 8 at addr ffff8880a6f62bd8 by task kworker/0:1/28244 CPU: 0 PID: 28244 Comm: kworker/0:1 Not tainted 5.1.0-rc2+ #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:77 [inline] dump_stack+0x113/0x167 lib/dump_stack.c:113 print_address_description.cold.5+0x9/0x1ff mm/kasan/report.c:187 kasan_report.cold.6+0x1b/0x39 mm/kasan/report.c:317 __asan_report_load8_noabort+0x14/0x20 mm/kasan/generic_report.c:132 relay_switch_subbuf+0xb0d/0xc40 kernel/relay.c:755 relay_flush+0x183/0x230 kernel/relay.c:883 __blk_trace_startstop.isra.20+0x3f9/0x540 kernel/trace/blktrace.c:668 blk_trace_shutdown+0x4c/0x70 kernel/trace/blktrace.c:752 __blk_release_queue+0x17a/0x310 block/blk-sysfs.c:866 process_one_work+0x830/0x16a0 kernel/workqueue.c:2269 worker_thread+0x85/0xb60 kernel/workqueue.c:2415 kthread+0x324/0x3e0 kernel/kthread.c:253 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352 Allocated by task 28621: save_stack+0x43/0xd0 mm/kasan/common.c:75 set_track mm/kasan/common.c:87 [inline] __kasan_kmalloc.constprop.9+0xc7/0xd0 mm/kasan/common.c:497 kasan_slab_alloc+0x12/0x20 mm/kasan/common.c:505 slab_post_alloc_hook mm/slab.h:436 [inline] slab_alloc mm/slab.c:3392 [inline] kmem_cache_alloc+0x11a/0x720 mm/slab.c:3554 __d_alloc+0x28/0x8a0 fs/dcache.c:1622 d_alloc+0x43/0x260 fs/dcache.c:1701 d_alloc_parallel+0xf3/0x1750 fs/dcache.c:2449 __lookup_slow+0x18d/0x400 fs/namei.c:1652 lookup_one_len+0x132/0x160 fs/namei.c:2541 start_creating+0x91/0x190 fs/debugfs/inode.c:308 __debugfs_create_file+0x33/0x390 fs/debugfs/inode.c:347 debugfs_create_file+0x24/0x30 fs/debugfs/inode.c:400 blk_create_buf_file_callback+0x19/0x20 kernel/trace/blktrace.c:444 relay_create_buf_file+0xea/0x160 kernel/relay.c:428 relay_open_buf.part.10+0x614/0xa00 kernel/relay.c:457 relay_open_buf kernel/relay.c:449 [inline] relay_open+0x48f/0x890 kernel/relay.c:599 do_blk_trace_setup+0x3b5/0xa70 kernel/trace/blktrace.c:532 __blk_trace_setup+0xb4/0x130 kernel/trace/blktrace.c:577 blk_trace_ioctl+0x155/0x2a0 kernel/trace/blktrace.c:716 blkdev_ioctl+0x7a2/0x1830 block/ioctl.c:591 block_ioctl+0xd7/0x130 fs/block_dev.c:1933 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:509 [inline] do_vfs_ioctl+0x196/0x10c0 fs/ioctl.c:696 ksys_ioctl+0x62/0x90 fs/ioctl.c:713 __do_sys_ioctl fs/ioctl.c:720 [inline] __se_sys_ioctl fs/ioctl.c:718 [inline] __x64_sys_ioctl+0x6e/0xb0 fs/ioctl.c:718 do_syscall_64+0xd0/0x4d0 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 0: save_stack+0x43/0xd0 mm/kasan/common.c:75 set_track mm/kasan/common.c:87 [inline] __kasan_slab_free+0x102/0x150 mm/kasan/common.c:459 kasan_slab_free+0xe/0x10 mm/kasan/common.c:467 __cache_free mm/slab.c:3498 [inline] kmem_cache_free+0x83/0x290 mm/slab.c:3764 __d_free+0x17/0x20 fs/dcache.c:269 __rcu_reclaim kernel/rcu/rcu.h:227 [inline] rcu_do_batch kernel/rcu/tree.c:2475 [inline] invoke_rcu_callbacks kernel/rcu/tree.c:2788 [inline] rcu_core+0x8f4/0x12e0 kernel/rcu/tree.c:2769 __do_softirq+0x260/0x958 kernel/softirq.c:293 The buggy address belongs to the object at ffff8880a6f62b80 which belongs to the cache dentry of size 288 The buggy address is located 88 bytes inside of 288-byte region [ffff8880a6f62b80, ffff8880a6f62ca0) The buggy address belongs to the page: page:ffffea00029bd880 count:1 mapcount:0 mapping:ffff88821bc45200 index:0x0 flags: 0x1fffc0000000200(slab) raw: 01fffc0000000200 ffffea0002577b08 ffffea00022c0608 ffff88821bc45200 raw: 0000000000000000 ffff8880a6f62080 000000010000000b 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880a6f62a80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880a6f62b00: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc >ffff8880a6f62b80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8880a6f62c00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880a6f62c80: fb fb fb fb fc fc fc fc fc fc fc fc 00 00 00 00 ==================================================================