syzbot


possible deadlock in reiserfs_dirty_inode

Status: upstream: reported C repro on 2022/11/28 10:04
Subsystems: reiserfs
[Documentation on labels]
Reported-by: syzbot+c319bb5b1014113a92cf@syzkaller.appspotmail.com
First crash: 371d, last: 6h58m
Cause bisection: introduced by (bisect log) :
commit d82dcd9e21b77d338dc4875f3d4111f0db314a7c
Author: Roberto Sassu <roberto.sassu@huawei.com>
Date: Fri Mar 31 12:32:18 2023 +0000

  reiserfs: Add security prefix to xattr name in reiserfs_security_write()

Crash: possible deadlock in vm_mmap_pgoff (log)
Repro: C syz .config
  
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] possible deadlock in reiserfs_dirty_inode 4 (7) 2023/11/08 08:00
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 possible deadlock in reiserfs_dirty_inode origin:upstream C 30 10d 241d 0/3 upstream: reported C repro on 2023/04/06 01:23
linux-5.15 possible deadlock in reiserfs_dirty_inode origin:upstream C 12 10d 259d 0/3 upstream: reported C repro on 2023/03/19 20:48
linux-4.19 possible deadlock in reiserfs_dirty_inode reiserfs 2 292d 373d 0/1 upstream: reported on 2022/11/25 09:22
Last patch testing requests (2)
Created Duration User Patch Repo Result
2023/09/01 18:19 17m retest repro git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci report log
2023/07/13 13:32 27m hdanton@sina.com patch https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git e40939bbfc68 OK log

Sample crash report:
======================================================
WARNING: possible circular locking dependency detected
6.7.0-rc2-syzkaller-00095-gd3fa86b1a7b4 #0 Not tainted
------------------------------------------------------
syz-executor519/6156 is trying to acquire lock:
ffff8880720ca7a0 (&mm->mmap_lock){++++}-{3:3}, at: __might_fault mm/memory.c:5955 [inline]
ffff8880720ca7a0 (&mm->mmap_lock){++++}-{3:3}, at: __might_fault+0xe6/0x1a0 mm/memory.c:5948

but task is already holding lock:
ffff88807ac66090 (&sbi->lock){+.+.}-{3:3}, at: reiserfs_write_lock+0x79/0x100 fs/reiserfs/lock.c:27

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #1 (&sbi->lock){+.+.}-{3:3}:
       __mutex_lock_common kernel/locking/mutex.c:603 [inline]
       __mutex_lock+0x175/0x9d0 kernel/locking/mutex.c:747
       reiserfs_write_lock+0x79/0x100 fs/reiserfs/lock.c:27
       reiserfs_dirty_inode+0xe6/0x270 fs/reiserfs/super.c:704
       __mark_inode_dirty+0x1e0/0xd60 fs/fs-writeback.c:2452
       generic_update_time+0xcf/0xf0 fs/inode.c:1941
       inode_update_time fs/inode.c:1954 [inline]
       touch_atime+0x4eb/0x5d0 fs/inode.c:2026
       file_accessed include/linux/fs.h:2360 [inline]
       generic_file_mmap+0x120/0x160 mm/filemap.c:3611
       call_mmap include/linux/fs.h:2025 [inline]
       mmap_region+0x5e3/0x2830 mm/mmap.c:2851
       do_mmap+0x893/0xef0 mm/mmap.c:1379
       vm_mmap_pgoff+0x1a8/0x3c0 mm/util.c:556
       ksys_mmap_pgoff+0x422/0x5b0 mm/mmap.c:1425
       __do_sys_mmap arch/x86/kernel/sys_x86_64.c:93 [inline]
       __se_sys_mmap arch/x86/kernel/sys_x86_64.c:86 [inline]
       __x64_sys_mmap+0x125/0x190 arch/x86/kernel/sys_x86_64.c:86
       do_syscall_x64 arch/x86/entry/common.c:51 [inline]
       do_syscall_64+0x40/0x110 arch/x86/entry/common.c:82
       entry_SYSCALL_64_after_hwframe+0x63/0x6b

-> #0 (&mm->mmap_lock){++++}-{3:3}:
       check_prev_add kernel/locking/lockdep.c:3134 [inline]
       check_prevs_add kernel/locking/lockdep.c:3253 [inline]
       validate_chain kernel/locking/lockdep.c:3868 [inline]
       __lock_acquire+0x2464/0x3b10 kernel/locking/lockdep.c:5136
       lock_acquire kernel/locking/lockdep.c:5753 [inline]
       lock_acquire+0x1ae/0x520 kernel/locking/lockdep.c:5718
       __might_fault mm/memory.c:5955 [inline]
       __might_fault+0x11f/0x1a0 mm/memory.c:5948
       reiserfs_ioctl+0x1c4/0x2e0 fs/reiserfs/ioctl.c:96
       vfs_ioctl fs/ioctl.c:51 [inline]
       __do_sys_ioctl fs/ioctl.c:871 [inline]
       __se_sys_ioctl fs/ioctl.c:857 [inline]
       __x64_sys_ioctl+0x18f/0x210 fs/ioctl.c:857
       do_syscall_x64 arch/x86/entry/common.c:51 [inline]
       do_syscall_64+0x40/0x110 arch/x86/entry/common.c:82
       entry_SYSCALL_64_after_hwframe+0x63/0x6b

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&sbi->lock);
                               lock(&mm->mmap_lock);
                               lock(&sbi->lock);
  rlock(&mm->mmap_lock);

 *** DEADLOCK ***

1 lock held by syz-executor519/6156:
 #0: ffff88807ac66090 (&sbi->lock){+.+.}-{3:3}, at: reiserfs_write_lock+0x79/0x100 fs/reiserfs/lock.c:27

stack backtrace:
CPU: 1 PID: 6156 Comm: syz-executor519 Not tainted 6.7.0-rc2-syzkaller-00095-gd3fa86b1a7b4 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0xd9/0x1b0 lib/dump_stack.c:106
 check_noncircular+0x317/0x400 kernel/locking/lockdep.c:2187
 check_prev_add kernel/locking/lockdep.c:3134 [inline]
 check_prevs_add kernel/locking/lockdep.c:3253 [inline]
 validate_chain kernel/locking/lockdep.c:3868 [inline]
 __lock_acquire+0x2464/0x3b10 kernel/locking/lockdep.c:5136
 lock_acquire kernel/locking/lockdep.c:5753 [inline]
 lock_acquire+0x1ae/0x520 kernel/locking/lockdep.c:5718
 __might_fault mm/memory.c:5955 [inline]
 __might_fault+0x11f/0x1a0 mm/memory.c:5948
 reiserfs_ioctl+0x1c4/0x2e0 fs/reiserfs/ioctl.c:96
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:871 [inline]
 __se_sys_ioctl fs/ioctl.c:857 [inline]
 __x64_sys_ioctl+0x18f/0x210 fs/ioctl.c:857
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x40/0x110 arch/x86/entry/common.c:82
 entry_SYSCALL_64_after_hwframe+0x63/0x6b
RIP: 0033:0x7f46a684bc09
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 b1 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f46a6808218 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f46a68d46c8 RCX: 00007f46a684bc09
RDX: 0000000000000000 RSI: 0000000080087601 RDI: 0000000000000005
RBP: 00007f46a68d46c0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f46a68a11b8
R13: 00007f46a68a00c0 R14: 0030656c69662f2e R15: 7366726573696572
 </TASK>

Crashes (349):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/11/24 12:46 upstream d3fa86b1a7b4 5b429f39 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-kasan-badwrites-root possible deadlock in reiserfs_dirty_inode
2023/11/04 21:59 upstream 90b0c2b2edd1 500bfdc4 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/07/13 01:59 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci e40939bbfc68 979d5fe2 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-gce-arm64 possible deadlock in reiserfs_dirty_inode
2023/12/03 15:13 upstream 33cc938e65a9 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/12/03 03:06 upstream 1b8af6552cb7 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/12/02 23:14 upstream 815fb87b7530 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/12/02 16:58 upstream 815fb87b7530 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/12/02 03:01 upstream 815fb87b7530 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/12/02 00:09 upstream 994d5c58e50e f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/12/01 14:38 upstream 994d5c58e50e f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/12/01 13:34 upstream 994d5c58e50e f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/12/01 00:30 upstream e8f60209d6cf f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/30 22:42 upstream 3b47bc037bd4 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/30 19:21 upstream 3b47bc037bd4 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/30 13:46 upstream 3b47bc037bd4 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/30 10:42 upstream 3b47bc037bd4 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/30 04:41 upstream 3b47bc037bd4 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/29 12:08 upstream 18d46e76d7c2 6e78f9ce .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/29 08:19 upstream 18d46e76d7c2 1adfb6f6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/28 16:15 upstream df60cee26a2e 9fe51b7c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/28 07:16 upstream df60cee26a2e 9fe51b7c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/28 06:04 upstream df60cee26a2e 7ec6c044 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/28 04:46 upstream df60cee26a2e 9fe51b7c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root possible deadlock in reiserfs_dirty_inode
2023/11/27 18:04 upstream 2cc14f52aeb7 7ec6c044 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/27 15:46 upstream 2cc14f52aeb7 7ec6c044 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/27 10:40 upstream 2cc14f52aeb7 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/27 09:36 upstream d2da77f431ac 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/26 21:31 upstream d2da77f431ac 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/26 16:35 upstream 090472ed9c92 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/24 23:42 upstream 0f5cc96c367f 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/24 20:23 upstream f1a09972a45a 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/24 19:01 upstream f1a09972a45a 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_dirty_inode
2023/11/24 10:23 upstream f1a09972a45a 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/24 01:25 upstream d3fa86b1a7b4 fc59b78e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_dirty_inode
2023/11/23 21:14 upstream d3fa86b1a7b4 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/23 18:30 upstream 9b6de136b5f0 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/23 04:26 upstream 9b6de136b5f0 fc59b78e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/22 22:33 upstream 9b6de136b5f0 03e12510 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/22 18:51 upstream c2d5304e6c64 03e12510 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/22 16:00 upstream c2d5304e6c64 03e12510 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/21 21:38 upstream c2d5304e6c64 cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/21 15:21 upstream 98b1cc82c4af cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/21 05:12 upstream 98b1cc82c4af cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/20 00:25 upstream eb3479bc23fa cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/19 11:40 upstream 037266a5f723 cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/19 08:34 upstream 037266a5f723 cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/19 04:19 upstream 05aa69b096a0 cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_dirty_inode
2023/11/18 04:46 upstream 791c8ab095f7 cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/18 02:10 upstream 6bc40e44f1dd cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/17 22:02 upstream 6bc40e44f1dd cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root possible deadlock in reiserfs_dirty_inode
2023/11/17 19:41 upstream 6bc40e44f1dd cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in reiserfs_dirty_inode
2023/11/08 10:25 upstream 13d88ac54ddd 83211397 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in reiserfs_dirty_inode
2023/06/22 09:25 upstream dad9774deaf1 79782afc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_dirty_inode
2022/11/27 18:59 upstream faf68e3523c2 74a66371 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_dirty_inode
2023/04/09 02:04 upstream a79d5c76f705 71147e29 .config console log report info ci-qemu-upstream-386 possible deadlock in reiserfs_dirty_inode
2023/12/02 21:10 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 2cc14f52aeb7 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in reiserfs_dirty_inode
2023/11/30 06:32 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 2cc14f52aeb7 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in reiserfs_dirty_inode
2023/11/30 00:37 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 2cc14f52aeb7 6e78f9ce .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in reiserfs_dirty_inode
2023/11/23 13:27 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8de1e7afcc1c 03e12510 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in reiserfs_dirty_inode
2023/04/26 21:37 linux-next b7455b10da76 19a3dabe .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in reiserfs_dirty_inode
* Struck through repros no longer work on HEAD.