print_req_error: I/O error, dev nbd0, sector 16 REISERFS warning (device nbd0): sh-2006 read_super_block: bread failed (dev nbd0, block 8, size 1024) print_req_error: I/O error, dev nbd0, sector 128 REISERFS warning (device nbd0): sh-2006 read_super_block: bread failed (dev nbd0, block 64, size 1024) ====================================================== WARNING: possible circular locking dependency detected 4.19.211-syzkaller #0 Not tainted ------------------------------------------------------ syz-executor.0/17406 is trying to acquire lock: 00000000863f1064 (&type->s_umount_key#82){++++}, at: __get_super.part.0+0x209/0x2e0 fs/super.c:698 REISERFS warning (device nbd0): sh-2021 reiserfs_fill_super: can not find reiserfs on nbd0 but task is already holding lock: 00000000272be4e4 (&bdev->bd_mutex){+.+.}, at: __blkdev_get+0x1d0/0x1480 fs/block_dev.c:1478 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&bdev->bd_mutex){+.+.}: blkdev_put+0x30/0x520 fs/block_dev.c:1839 release_journal_dev fs/reiserfs/journal.c:2601 [inline] free_journal_ram+0x44b/0x600 fs/reiserfs/journal.c:1904 do_journal_release fs/reiserfs/journal.c:1970 [inline] journal_release+0x225/0x4d0 fs/reiserfs/journal.c:1981 reiserfs_put_super+0xe0/0x5c0 fs/reiserfs/super.c:616 generic_shutdown_super+0x144/0x370 fs/super.c:456 kill_block_super+0x97/0xf0 fs/super.c:1185 deactivate_locked_super+0x94/0x160 fs/super.c:329 deactivate_super+0x174/0x1a0 fs/super.c:360 cleanup_mnt+0x1a8/0x290 fs/namespace.c:1098 task_work_run+0x148/0x1c0 kernel/task_work.c:113 tracehook_notify_resume include/linux/tracehook.h:193 [inline] exit_to_usermode_loop+0x251/0x2a0 arch/x86/entry/common.c:167 prepare_exit_to_usermode arch/x86/entry/common.c:198 [inline] syscall_return_slowpath arch/x86/entry/common.c:271 [inline] do_syscall_64+0x538/0x620 arch/x86/entry/common.c:296 entry_SYSCALL_64_after_hwframe+0x49/0xbe -> #0 (&type->s_umount_key#82){++++}: down_read+0x36/0x80 kernel/locking/rwsem.c:24 __get_super.part.0+0x209/0x2e0 fs/super.c:698 __get_super include/linux/spinlock.h:329 [inline] get_super+0x2b/0x50 fs/super.c:727 fsync_bdev+0x14/0xc0 fs/block_dev.c:483 invalidate_partition+0x74/0xb0 block/genhd.c:1592 drop_partitions.isra.0+0x9c/0x190 block/partition-generic.c:454 rescan_partitions+0xab/0x970 block/partition-generic.c:527 bdev_disk_changed+0x179/0x1b0 fs/block_dev.c:1435 __blkdev_get+0x1282/0x1480 fs/block_dev.c:1561 blkdev_get+0x48f/0x940 fs/block_dev.c:1627 blkdev_get_by_path+0x48/0xd0 fs/block_dev.c:1708 mount_bdev+0x5b/0x3b0 fs/super.c:1116 mount_fs+0xa3/0x310 fs/super.c:1261 vfs_kern_mount.part.0+0x68/0x470 fs/namespace.c:961 vfs_kern_mount fs/namespace.c:951 [inline] do_new_mount fs/namespace.c:2492 [inline] do_mount+0x115c/0x2f50 fs/namespace.c:2822 ksys_mount+0xcf/0x130 fs/namespace.c:3038 __do_sys_mount fs/namespace.c:3052 [inline] __se_sys_mount fs/namespace.c:3049 [inline] __x64_sys_mount+0xba/0x150 fs/namespace.c:3049 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&bdev->bd_mutex); lock(&type->s_umount_key#82); lock(&bdev->bd_mutex); lock(&type->s_umount_key#82); *** DEADLOCK *** 1 lock held by syz-executor.0/17406: #0: 00000000272be4e4 (&bdev->bd_mutex){+.+.}, at: __blkdev_get+0x1d0/0x1480 fs/block_dev.c:1478 stack backtrace: CPU: 0 PID: 17406 Comm: syz-executor.0 Not tainted 4.19.211-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1fc/0x2ef lib/dump_stack.c:118 print_circular_bug.constprop.0.cold+0x2d7/0x41e kernel/locking/lockdep.c:1222 check_prev_add kernel/locking/lockdep.c:1866 [inline] check_prevs_add kernel/locking/lockdep.c:1979 [inline] validate_chain kernel/locking/lockdep.c:2420 [inline] __lock_acquire+0x30c9/0x3ff0 kernel/locking/lockdep.c:3416 lock_acquire+0x170/0x3c0 kernel/locking/lockdep.c:3908 down_read+0x36/0x80 kernel/locking/rwsem.c:24 __get_super.part.0+0x209/0x2e0 fs/super.c:698 __get_super include/linux/spinlock.h:329 [inline] get_super+0x2b/0x50 fs/super.c:727 fsync_bdev+0x14/0xc0 fs/block_dev.c:483 invalidate_partition+0x74/0xb0 block/genhd.c:1592 drop_partitions.isra.0+0x9c/0x190 block/partition-generic.c:454 rescan_partitions+0xab/0x970 block/partition-generic.c:527 bdev_disk_changed+0x179/0x1b0 fs/block_dev.c:1435 __blkdev_get+0x1282/0x1480 fs/block_dev.c:1561 blkdev_get+0x48f/0x940 fs/block_dev.c:1627 XFS (loop2): Mounting V4 Filesystem blkdev_get_by_path+0x48/0xd0 fs/block_dev.c:1708 mount_bdev+0x5b/0x3b0 fs/super.c:1116 mount_fs+0xa3/0x310 fs/super.c:1261 vfs_kern_mount.part.0+0x68/0x470 fs/namespace.c:961 vfs_kern_mount fs/namespace.c:951 [inline] do_new_mount fs/namespace.c:2492 [inline] do_mount+0x115c/0x2f50 fs/namespace.c:2822 XFS (loop2): Ending clean mount ksys_mount+0xcf/0x130 fs/namespace.c:3038 __do_sys_mount fs/namespace.c:3052 [inline] __se_sys_mount fs/namespace.c:3049 [inline] __x64_sys_mount+0xba/0x150 fs/namespace.c:3049 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 XFS (loop2): Quotacheck needed: Please wait. entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x7f833bb990c9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 19 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:00007f833a0c9168 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 00007f833bcb9120 RCX: 00007f833bb990c9 RDX: 0000000020000280 RSI: 0000000020000180 RDI: 0000000020000040 RBP: 00007f833bbf4ae9 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd53157fff R14: 00007f833a0c9300 R15: 0000000000022000 print_req_error: I/O error, dev nbd0, sector 16 XFS (loop2): Quotacheck: Done. REISERFS warning (device nbd0): sh-2006 read_super_block: bread failed (dev nbd0, block 8, size 1024) print_req_error: I/O error, dev nbd0, sector 128 REISERFS warning (device nbd0): sh-2006 read_super_block: bread failed (dev nbd0, block 64, size 1024) XFS (loop3): Mounting V4 Filesystem REISERFS warning (device nbd0): sh-2021 reiserfs_fill_super: can not find reiserfs on nbd0 XFS (loop3): Ending clean mount XFS (loop1): Mounting V4 Filesystem XFS (loop3): Quotacheck needed: Please wait. print_req_error: I/O error, dev nbd0, sector 16 REISERFS warning (device nbd0): sh-2006 read_super_block: bread failed (dev nbd0, block 8, size 1024) XFS (loop1): Ending clean mount XFS (loop3): Quotacheck: Done. XFS (loop2): Unmounting Filesystem XFS (loop1): Quotacheck needed: Please wait. print_req_error: I/O error, dev nbd0, sector 128 REISERFS warning (device nbd0): sh-2006 read_super_block: bread failed (dev nbd0, block 64, size 1024) XFS (loop1): Quotacheck: Done. REISERFS warning (device nbd0): sh-2021 reiserfs_fill_super: can not find reiserfs on nbd0 print_req_error: I/O error, dev nbd0, sector 16 REISERFS warning (device nbd0): sh-2006 read_super_block: bread failed (dev nbd0, block 8, size 1024) print_req_error: I/O error, dev nbd0, sector 128 REISERFS warning (device nbd0): sh-2006 read_super_block: bread failed (dev nbd0, block 64, size 1024) XFS (loop3): Unmounting Filesystem REISERFS warning (device nbd0): sh-2021 reiserfs_fill_super: can not find reiserfs on nbd0 XFS (loop1): Unmounting Filesystem XFS (loop2): Mounting V4 Filesystem XFS (loop2): Ending clean mount XFS (loop2): Quotacheck needed: Please wait. XFS (loop2): Quotacheck: Done. XFS (loop3): Mounting V4 Filesystem XFS (loop3): Ending clean mount XFS (loop3): Quotacheck needed: Please wait. XFS (loop2): Unmounting Filesystem XFS (loop3): Quotacheck: Done. XFS (loop1): Mounting V4 Filesystem XFS (loop1): Ending clean mount XFS (loop1): Quotacheck needed: Please wait. XFS (loop3): Unmounting Filesystem XFS (loop1): Quotacheck: Done. XFS (loop1): Unmounting Filesystem XFS (loop2): Mounting V4 Filesystem XFS (loop2): Ending clean mount XFS (loop2): Quotacheck needed: Please wait. XFS (loop2): Quotacheck: Done. BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted XFS (loop2): Unmounting Filesystem BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted XFS (loop3): Mounting V4 Filesystem XFS (loop3): Ending clean mount XFS (loop3): Quotacheck needed: Please wait. XFS (loop3): Quotacheck: Done. XFS (loop1): Mounting V4 Filesystem XFS (loop3): Unmounting Filesystem XFS (loop1): Ending clean mount XFS (loop1): Quotacheck needed: Please wait. XFS (loop1): Quotacheck: Done. XFS (loop1): Unmounting Filesystem BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted XFS (loop2): Mounting V4 Filesystem XFS (loop2): Ending clean mount XFS (loop2): Quotacheck needed: Please wait. XFS (loop2): Quotacheck: Done. XFS (loop2): Unmounting Filesystem BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted XFS (loop1): Mounting V4 Filesystem XFS (loop3): Mounting V4 Filesystem XFS (loop1): Ending clean mount XFS (loop3): Ending clean mount XFS (loop3): Quotacheck needed: Please wait. XFS (loop1): Quotacheck needed: Please wait. XFS (loop3): Quotacheck: Done. XFS (loop1): Quotacheck: Done. BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted XFS (loop3): Unmounting Filesystem XFS (loop1): Unmounting Filesystem BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted XFS (loop2): Mounting V4 Filesystem XFS (loop2): Ending clean mount XFS (loop2): Quotacheck needed: Please wait. XFS (loop2): Quotacheck: Done. BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted XFS (loop2): Unmounting Filesystem XFS (loop3): Mounting V4 Filesystem XFS (loop3): Ending clean mount XFS (loop3): Quotacheck needed: Please wait. XFS (loop3): Quotacheck: Done. XFS (loop1): Mounting V4 Filesystem XFS (loop1): Ending clean mount XFS (loop1): Quotacheck needed: Please wait. XFS (loop1): Quotacheck: Done. XFS (loop3): Unmounting Filesystem BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted XFS (loop1): Unmounting Filesystem BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted XFS (loop2): Mounting V4 Filesystem XFS (loop2): Ending clean mount XFS (loop2): Quotacheck needed: Please wait. XFS (loop2): Quotacheck: Done. BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted XFS (loop2): Unmounting Filesystem XFS (loop3): Mounting V4 Filesystem XFS (loop3): Ending clean mount XFS (loop3): Quotacheck needed: Please wait. XFS (loop1): Mounting V4 Filesystem XFS (loop3): Quotacheck: Done. XFS (loop1): Ending clean mount XFS (loop1): Quotacheck needed: Please wait. XFS (loop1): Quotacheck: Done. XFS (loop1): Unmounting Filesystem XFS (loop3): Unmounting Filesystem BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted BFS-fs: bfs_fill_super(): Inode 0x00000002 corrupted