syzbot


possible deadlock in hfs_find_init (2)

Status: upstream: reported C repro on 2022/12/27 00:59
Labels: hfs (incorrect?)
Reported-by: syzbot+e390d66dda462b51fde1@syzkaller.appspotmail.com
First crash: 161d, last: 1d12h

Cause bisection: failed (error log, bisect log)
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [hfs?] possible deadlock in hfs_find_init (2) 0 (2) 2023/01/22 05:22
Similar bugs (5)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 possible deadlock in hfs_find_init 3 34d 71d 0/3 upstream: reported on 2023/03/22 23:14
linux-4.14 possible deadlock in hfs_find_init hfs C 1 94d 126d 0/1 upstream: reported C repro on 2023/01/26 19:14
linux-4.19 possible deadlock in hfs_find_init hfs C error 7 88d 154d 0/1 upstream: reported C repro on 2022/12/30 06:08
linux-6.1 possible deadlock in hfs_find_init 8 5d13h 73d 0/3 upstream: reported on 2023/03/20 17:38
upstream possible deadlock in hfs_find_init hfs C done error 1 876d 1866d 22/24 fixed on 2021/11/10 00:50

Sample crash report:
============================================
WARNING: possible recursive locking detected
6.2.0-rc5-syzkaller #0 Not tainted
--------------------------------------------
kworker/u4:3/49 is trying to acquire lock:
ffff8880289280b0 (&tree->tree_lock/1){+.+.}-{3:3}, at: hfs_find_init+0x167/0x1e0

but task is already holding lock:
ffff8880289280b0 (&tree->tree_lock/1){+.+.}-{3:3}, at: hfs_find_init+0x167/0x1e0

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&tree->tree_lock/1);
  lock(&tree->tree_lock/1);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

4 locks held by kworker/u4:3/49:
 #0: ffff8881451eb138 ((wq_completion)writeback){+.+.}-{0:0}, at: process_one_work+0x7f2/0xdb0
 #1: ffffc90000ba7d00 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_one_work+0x831/0xdb0 kernel/workqueue.c:2264
 #2: ffff8880289280b0 (&tree->tree_lock/1){+.+.}-{3:3}, at: hfs_find_init+0x167/0x1e0
 #3: ffff888079f380f8 (&HFS_I(tree->inode)->extents_lock){+.+.}-{3:3}, at: hfs_extend_file+0xde/0x1420 fs/hfs/extent.c:397

stack backtrace:
CPU: 0 PID: 49 Comm: kworker/u4:3 Not tainted 6.2.0-rc5-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/12/2023
Workqueue: writeback wb_workfn (flush-7:0)
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1b1/0x290 lib/dump_stack.c:106
 print_deadlock_bug kernel/locking/lockdep.c:2990 [inline]
 check_deadlock kernel/locking/lockdep.c:3033 [inline]
 validate_chain+0x4843/0x6ae0 kernel/locking/lockdep.c:3818
 __lock_acquire+0x1292/0x1f60 kernel/locking/lockdep.c:5055
 lock_acquire+0x182/0x3c0 kernel/locking/lockdep.c:5668
 __mutex_lock_common+0x1bd/0x26e0 kernel/locking/mutex.c:603
 __mutex_lock kernel/locking/mutex.c:747 [inline]
 mutex_lock_nested+0x17/0x20 kernel/locking/mutex.c:799
 hfs_find_init+0x167/0x1e0
 hfs_ext_read_extent fs/hfs/extent.c:200 [inline]
 hfs_extend_file+0x2f8/0x1420 fs/hfs/extent.c:401
 hfs_bmap_reserve+0xfa/0x410 fs/hfs/btree.c:234
 __hfs_ext_write_extent+0x1ea/0x460 fs/hfs/extent.c:121
 hfs_ext_write_extent+0x13e/0x1b0 fs/hfs/extent.c:144
 hfs_write_inode+0x8d/0xaf0 fs/hfs/inode.c:431
 write_inode fs/fs-writeback.c:1451 [inline]
 __writeback_single_inode+0x4d6/0x670 fs/fs-writeback.c:1663
 writeback_sb_inodes+0x812/0x1050 fs/fs-writeback.c:1889
 wb_writeback+0x41f/0x7b0 fs/fs-writeback.c:2063
 wb_do_writeback fs/fs-writeback.c:2206 [inline]
 wb_workfn+0x3cb/0xef0 fs/fs-writeback.c:2246
 process_one_work+0x877/0xdb0 kernel/workqueue.c:2289
 worker_thread+0xb14/0x1330 kernel/workqueue.c:2436
 kthread+0x266/0x300 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308
 </TASK>

Crashes (53):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets Manager Title
2023/01/22 10:53 upstream 2241ab53cbb5 cc0f9968 .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-upstream-fs possible deadlock in hfs_find_init
2023/05/22 17:51 linux-next 715abedee4cd 4bce1a3e .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-linux-next-kasan-gce-root possible deadlock in hfs_find_init
2023/01/22 05:21 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci edb2f0dc90f2 559a440a .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/05/22 06:25 upstream e2065b8c1b01 4bce1a3e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/05/17 00:34 upstream f1fcbaa18b28 11c89444 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/05/09 18:21 upstream ba0ad6ed89fd 30aa2a7e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/05/05 02:02 upstream 1a5304fecee5 518a39a6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/04/30 10:02 upstream 825a0714d2b3 62df2017 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/04/29 22:09 upstream 1ae78a14516b 62df2017 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/04/29 07:30 upstream 89d77f71f493 62df2017 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/04/29 00:09 upstream 33afd4b76393 62df2017 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/04/28 18:15 upstream 33afd4b76393 62df2017 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/04/28 05:51 upstream 91ec4b0d11fe 70a605de .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/03/29 18:42 upstream ffe78bbd5121 f325deb0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/03/27 10:36 upstream 197b6b60ae7b f8f96aa9 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in hfs_find_init
2023/03/25 05:33 upstream 65aca32efdcb 9700afae .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/03/25 04:00 upstream 1e760fa3596e 9700afae .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/03/02 03:31 upstream ee3f96b16468 f8902b57 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root possible deadlock in hfs_find_init
2023/02/27 09:11 upstream f3a2439f20d9 9189cb53 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/02/24 17:57 upstream d2980d8d8265 ee50e71c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in hfs_find_init
2023/02/23 04:21 upstream 5b7c4cabbb65 9f1e2cb3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/01/29 20:14 upstream c96618275234 9dfcf09c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/01/28 17:58 upstream 5af6ce704936 9dfcf09c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/01/09 20:24 upstream 1fe4fd6f5cad 1dac8c7a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/01/08 02:30 upstream 0a71553536d2 1dac8c7a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/01/07 15:50 upstream 0a71553536d2 1dac8c7a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/01/05 22:24 upstream 41c03ba9beea 1dac8c7a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/01/05 21:51 upstream 41c03ba9beea 1dac8c7a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/01/04 05:03 upstream 69b41ac87e4a f0036e18 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/01/03 10:58 upstream 69b41ac87e4a f0036e18 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/01/02 01:59 upstream 150aae354b81 ab32d508 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in hfs_find_init
2022/12/23 23:12 upstream 51094a24b85e 9da18ae8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2022/12/23 09:56 upstream 8395ae05cb5a 9da18ae8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in hfs_find_init
2023/01/03 22:10 upstream 69b41ac87e4a 1dac8c7a .config console log report info ci-qemu-upstream-386 possible deadlock in hfs_find_init
2023/01/03 02:33 upstream 69b41ac87e4a ab32d508 .config console log report info ci-qemu-upstream-386 possible deadlock in hfs_find_init
2022/12/23 00:50 linux-next e45fb347b630 9da18ae8 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in hfs_find_init
2023/06/01 02:49 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci eb0f1697d729 babc4389 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/05/26 06:11 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci f1fcbaa18b28 b40ef614 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/05/24 14:30 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci f1fcbaa18b28 4bce1a3e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/05/16 03:02 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci f1fcbaa18b28 71b00cfb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/04/12 10:24 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 7920df21c1b7 1a1596b6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/03/14 12:23 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci fe15c26ee26e 0d5c4377 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/02/28 06:36 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 2ebd1fbb946d 95aee97a .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/02/09 02:16 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci eaed33698e35 fc9c934e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/02/04 12:22 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci ca72d58361ee 1b2f701a .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/01/31 16:22 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci c62c88e05937 9dfcf09c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/01/31 13:36 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci c62c88e05937 9dfcf09c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/01/29 22:19 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci c62c88e05937 9dfcf09c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/01/29 14:18 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci c62c88e05937 9dfcf09c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/01/25 22:54 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 2e84eedb182e 9dfcf09c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/01/22 04:58 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci edb2f0dc90f2 559a440a .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
2023/01/17 13:46 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 9598c377d828 a63719e7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in hfs_find_init
* Struck through repros no longer work on HEAD.