syzbot


possible deadlock in reiserfs_ioctl

Status: upstream: reported C repro on 2022/11/11 18:26
Subsystems: reiserfs
[Documentation on labels]
Reported-by: syzbot+79c303ad05f4041e0dad@syzkaller.appspotmail.com
First crash: 393d, last: 9h58m
Cause bisection: failed (error log, bisect log)
  
Discussions (9)
Title Replies (including bot) Last reply
[syzbot] Monthly reiserfs report (Dec 2023) 0 (1) 2023/12/04 12:39
[syzbot] Monthly reiserfs report (Nov 2023) 0 (1) 2023/11/03 10:22
[syzbot] Monthly reiserfs report (Aug 2023) 0 (1) 2023/08/30 09:54
[syzbot] Monthly reiserfs report (Jul 2023) 0 (1) 2023/07/30 13:16
[syzbot] Monthly reiserfs report (Jun 2023) 0 (1) 2023/06/29 08:54
[syzbot] Monthly reiserfs report (May 2023) 0 (1) 2023/05/29 08:47
[syzbot] Monthly reiserfs report (Apr 2023) 0 (1) 2023/04/27 10:49
[syzbot] Monthly reiserfs report 0 (1) 2023/03/27 11:03
[syzbot] possible deadlock in reiserfs_ioctl 0 (1) 2022/11/11 18:26
Last patch testing requests (5)
Created Duration User Patch Repo Result
2023/09/10 04:28 20m retest repro linux-next report log
2023/09/10 04:28 13m retest repro upstream report log
2023/09/10 04:28 14m retest repro upstream report log
2023/09/10 04:28 23m retest repro upstream report log
2023/09/10 04:28 13m retest repro linux-next report log

Sample crash report:
REISERFS (device loop0): Created .reiserfs_priv - reserved for xattr storage.
======================================================
WARNING: possible circular locking dependency detected
6.7.0-rc4-syzkaller-00039-g9ace34a8e446 #0 Not tainted
------------------------------------------------------
syz-executor220/5062 is trying to acquire lock:
ffff888020396418 (sb_writers#10){.+.+}-{0:0}, at: reiserfs_ioctl+0x194/0x2e0 fs/reiserfs/ioctl.c:103

but task is already holding lock:
ffff88801ff5e090 (&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:

-> #2 (&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_lookup+0x184/0x690 fs/reiserfs/namei.c:364
       __lookup_slow+0x24d/0x450 fs/namei.c:1694
       lookup_one_len+0x17d/0x1b0 fs/namei.c:2746
       reiserfs_lookup_privroot+0x94/0x200 fs/reiserfs/xattr.c:977
       reiserfs_fill_super+0x20f9/0x3160 fs/reiserfs/super.c:2174
       mount_bdev+0x1f3/0x2e0 fs/super.c:1650
       legacy_get_tree+0x109/0x220 fs/fs_context.c:662
       vfs_get_tree+0x8c/0x370 fs/super.c:1771
       do_new_mount fs/namespace.c:3337 [inline]
       path_mount+0x1492/0x1ed0 fs/namespace.c:3664
       do_mount fs/namespace.c:3677 [inline]
       __do_sys_mount fs/namespace.c:3886 [inline]
       __se_sys_mount fs/namespace.c:3863 [inline]
       __x64_sys_mount+0x293/0x310 fs/namespace.c:3863
       do_syscall_x64 arch/x86/entry/common.c:52 [inline]
       do_syscall_64+0x40/0x110 arch/x86/entry/common.c:83
       entry_SYSCALL_64_after_hwframe+0x63/0x6b

-> #1 (&type->i_mutex_dir_key#6){+.+.}-{3:3}:
       down_write+0x3a/0x50 kernel/locking/rwsem.c:1579
       inode_lock include/linux/fs.h:802 [inline]
       open_last_lookups fs/namei.c:3543 [inline]
       path_openat+0x8bd/0x2c50 fs/namei.c:3776
       do_filp_open+0x1de/0x430 fs/namei.c:3809
       do_sys_openat2+0x176/0x1e0 fs/open.c:1440
       do_sys_open fs/open.c:1455 [inline]
       __do_sys_openat fs/open.c:1471 [inline]
       __se_sys_openat fs/open.c:1466 [inline]
       __x64_sys_openat+0x175/0x210 fs/open.c:1466
       do_syscall_x64 arch/x86/entry/common.c:52 [inline]
       do_syscall_64+0x40/0x110 arch/x86/entry/common.c:83
       entry_SYSCALL_64_after_hwframe+0x63/0x6b

-> #0 (sb_writers#10){.+.+}-{0:0}:
       check_prev_add kernel/locking/lockdep.c:3134 [inline]
       check_prevs_add kernel/locking/lockdep.c:3253 [inline]
       validate_chain kernel/locking/lockdep.c:3869 [inline]
       __lock_acquire+0x2433/0x3b20 kernel/locking/lockdep.c:5137
       lock_acquire kernel/locking/lockdep.c:5754 [inline]
       lock_acquire+0x1ae/0x520 kernel/locking/lockdep.c:5719
       percpu_down_read include/linux/percpu-rwsem.h:51 [inline]
       __sb_start_write include/linux/fs.h:1635 [inline]
       sb_start_write include/linux/fs.h:1710 [inline]
       mnt_want_write_file+0x98/0x600 fs/namespace.c:448
       reiserfs_ioctl+0x194/0x2e0 fs/reiserfs/ioctl.c:103
       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:52 [inline]
       do_syscall_64+0x40/0x110 arch/x86/entry/common.c:83
       entry_SYSCALL_64_after_hwframe+0x63/0x6b

other info that might help us debug this:

Chain exists of:
  sb_writers#10 --> &type->i_mutex_dir_key#6 --> &sbi->lock

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&sbi->lock);
                               lock(&type->i_mutex_dir_key#6);
                               lock(&sbi->lock);
  rlock(sb_writers#10);

 *** DEADLOCK ***

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

stack backtrace:
CPU: 1 PID: 5062 Comm: syz-executor220 Not tainted 6.7.0-rc4-syzkaller-00039-g9ace34a8e446 #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:3869 [inline]
 __lock_acquire+0x2433/0x3b20 kernel/locking/lockdep.c:5137
 lock_acquire kernel/locking/lockdep.c:5754 [inline]
 lock_acquire+0x1ae/0x520 kernel/locking/lockdep.c:5719
 percpu_down_read include/linux/percpu-rwsem.h:51 [inline]
 __sb_start_write include/linux/fs.h:1635 [inline]
 sb_start_write include/linux/fs.h:1710 [inline]
 mnt_want_write_file+0x98/0x600 fs/namespace.c:448
 reiserfs_ioctl+0x194/0x2e0 fs/reiserfs/ioctl.c:103
 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:52 [inline]
 do_syscall_64+0x40/0x110 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x63/0x6b
RIP: 0033:0x7f2a7ecfb639
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 61 17 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 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffdf01df1c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007ffdf01df398 RCX: 00007f2a7ecfb639
RDX: 0000000000000000 RSI: 0000000040087602 RDI: 0000000000000005
RBP: 00007f2a7ed6f610 R08: 0000000000000000 R09: 00007ffdf01df398
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
R13: 00007ffdf01df388 R14: 0000000000000001 R15: 0000000000000001
 </TASK>

Crashes (414):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/12/08 07:45 upstream 9ace34a8e446 28b24332 .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-kasan-gce-selinux-root possible deadlock in reiserfs_ioctl
2023/06/13 07:52 upstream fd37b884003c 749afb64 .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-kasan-gce-selinux-root possible deadlock in reiserfs_ioctl
2023/02/22 21:47 upstream 5b7c4cabbb65 409945bc .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2022/12/11 05:53 upstream 296a7b7eb792 67be1ae7 .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/09/23 01:41 linux-next 940fcc189c51 0b6a67ac .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-linux-next-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/03/23 10:09 linux-next 0aa250ce67a2 f94b4a29 .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-linux-next-kasan-gce-root possible deadlock in reiserfs_ioctl
2022/11/10 13:06 linux-next 0cdb3579f1ee b2488a87 .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-linux-next-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/12/08 20:23 upstream 5e3f5b81de80 28b24332 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/12/08 06:53 upstream 9ace34a8e446 28b24332 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in reiserfs_ioctl
2023/12/08 02:24 upstream 9ace34a8e446 28b24332 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/12/07 21:25 upstream bee0e7762ad2 28b24332 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/12/06 07:38 upstream bee0e7762ad2 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in reiserfs_ioctl
2023/12/06 06:28 upstream bee0e7762ad2 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/12/06 04:48 upstream bee0e7762ad2 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in reiserfs_ioctl
2023/12/05 23:50 upstream bee0e7762ad2 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in reiserfs_ioctl
2023/12/04 14:21 upstream 33cc938e65a9 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/12/03 18:31 upstream 33cc938e65a9 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/12/02 22:36 upstream 815fb87b7530 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/12/02 17:23 upstream 815fb87b7530 f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/12/01 22:14 upstream 994d5c58e50e f819d6f7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in reiserfs_ioctl
2023/11/27 14:24 upstream 2cc14f52aeb7 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/11/26 04:10 upstream b46ae77f6787 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/11/25 03:58 upstream f1a09972a45a 5b429f39 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/11/22 07:26 upstream c2d5304e6c64 cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in reiserfs_ioctl
2023/11/21 13:00 upstream 98b1cc82c4af cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/11/19 16:41 upstream 037266a5f723 cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/11/17 06:15 upstream 7475e51b8796 cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in reiserfs_ioctl
2023/11/15 17:53 upstream c42d9eeef8e5 cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/11/14 21:11 upstream 9bacdd8996c7 cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/11/14 16:56 upstream 9bacdd8996c7 cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in reiserfs_ioctl
2023/11/13 05:59 upstream b57b17e88bf5 6d6dbf8a .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in reiserfs_ioctl
2023/11/11 10:45 upstream ac347a0655db 6d6dbf8a .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/11/10 18:51 upstream 89cdf9d55601 45e9b83e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in reiserfs_ioctl
2023/11/10 01:11 upstream 4bbdb725a36b 56230772 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/11/09 17:07 upstream 6bc986ab839c 4862372a .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/11/07 22:29 upstream be3ca57cfb77 83211397 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in reiserfs_ioctl
2023/11/07 12:44 upstream be3ca57cfb77 83211397 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in reiserfs_ioctl
2023/11/07 07:22 upstream be3ca57cfb77 78fae24e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in reiserfs_ioctl
2023/12/06 18:25 upstream bee0e7762ad2 95293603 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/12/06 09:14 upstream bee0e7762ad2 858d62d1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/12/02 10:14 upstream 815fb87b7530 f819d6f7 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/12/01 10:23 upstream 6172a5180fcc f819d6f7 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/29 07:22 upstream 18d46e76d7c2 1adfb6f6 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/27 18:44 upstream 2cc14f52aeb7 7ec6c044 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/27 10:07 upstream 2cc14f52aeb7 5b429f39 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/27 07:48 upstream d2da77f431ac 5b429f39 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/21 10:25 upstream 98b1cc82c4af cb976f63 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/21 06:30 upstream 98b1cc82c4af cb976f63 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/16 15:52 upstream 7475e51b8796 cb976f63 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/16 00:48 upstream c42d9eeef8e5 cb976f63 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/13 22:10 upstream b85ea95d0864 cb976f63 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/10 07:22 upstream a12deb44f973 45e9b83e .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/09 09:43 upstream 34f763262743 4862372a .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/07 11:12 upstream be3ca57cfb77 83211397 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in reiserfs_ioctl
2023/11/27 21:52 upstream 2cc14f52aeb7 7ec6c044 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in reiserfs_ioctl
2023/11/06 23:58 linux-next e27090b1413f 78fae24e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in reiserfs_ioctl
* Struck through repros no longer work on HEAD.