./strace-static-x86_64 -e \!wait4,clock_nanosleep,nanosleep -s 100 -x -f ./syz-executor2176957001 <...> DUID 00:04:fd:16:44:bd:b2:3e:7c:46:a5:c8:6e:c7:3d:9a:a2:cd forked to background, child pid 3185 [ 26.636914][ T3186] 8021q: adding VLAN 0 to HW filter on device bond0 [ 26.652334][ T3186] eql: remember to turn off Van-Jacobson compression on your slave devices Starting sshd: OK syzkaller Warning: Permanently added '10.128.1.56' (ECDSA) to the list of known hosts. execve("./syz-executor2176957001", ["./syz-executor2176957001"], 0x7ffd337f1df0 /* 10 vars */) = 0 brk(NULL) = 0x555555692000 brk(0x555555692c40) = 0x555555692c40 arch_prctl(ARCH_SET_FS, 0x555555692300) = 0 uname({sysname="Linux", nodename="syzkaller", ...}) = 0 readlink("/proc/self/exe", "/root/syz-executor2176957001", 4096) = 28 brk(0x5555556b3c40) = 0x5555556b3c40 brk(0x5555556b4000) = 0x5555556b4000 mprotect(0x7f82d810f000, 16384, PROT_READ) = 0 mmap(0x1ffff000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x1ffff000 mmap(0x20000000, 16777216, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x20000000 mmap(0x21000000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x21000000 openat(AT_FDCWD, "memory.events", O_WRONLY|O_CREAT|O_EXCL|O_TRUNC|O_APPEND|FASYNC|0x20, 000) = 3 openat(AT_FDCWD, "memory.events", O_RDWR|__O_SYNC) = 4 ioctl(4, _IOC(_IOC_WRITE, 0x66, 0x2b, 0x4), 0x200005c0) = 0 openat(AT_FDCWD, "blkio.bfq.io_merged", O_WRONLY|O_CREAT|O_EXCL|O_TRUNC|O_APPEND|FASYNC|0x20, 000) = 5 syzkaller login: [ 49.635474][ T3606] warning: checkpointing journal with EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT can be slow [ 49.717982][ T3606] [ 49.729607][ T3606] ====================================================== [ 49.736616][ T3606] WARNING: possible circular locking dependency detected [ 49.743612][ T3606] 5.19.0-syzkaller-14037-gd24433c0f4a3 #0 Not tainted [ 49.750618][ T3606] ------------------------------------------------------ [ 49.757628][ T3606] syz-executor217/3606 is trying to acquire lock: [ 49.764034][ T3606] ffff88814af56170 (&journal->j_barrier){+.+.}-{3:3}, at: jbd2_journal_lock_updates+0x15e/0x310 [ 49.774455][ T3606] [ 49.774455][ T3606] but task is already holding lock: [ 49.781799][ T3606] ffff88814af54bd8 (&sbi->s_writepages_rwsem){++++}-{0:0}, at: ext4_change_inode_journal_flag+0x178/0x530 [ 49.793089][ T3606] [ 49.793089][ T3606] which lock already depends on the new lock. [ 49.793089][ T3606] [ 49.803468][ T3606] [ 49.803468][ T3606] the existing dependency chain (in reverse order) is: [ 49.812476][ T3606] [ 49.812476][ T3606] -> #4 (&sbi->s_writepages_rwsem){++++}-{0:0}: [ 49.820903][ T3606] percpu_down_write+0x4d/0x440 [ 49.826276][ T3606] ext4_change_inode_journal_flag+0x178/0x530 [ 49.832849][ T3606] ext4_fileattr_set+0xddf/0x1930 [ 49.838406][ T3606] vfs_fileattr_set+0x7f5/0xbe0 [ 49.843771][ T3606] do_vfs_ioctl+0xe62/0x15c0 [ 49.848881][ T3606] __x64_sys_ioctl+0x108/0x200 [ 49.854156][ T3606] do_syscall_64+0x35/0xb0 [ 49.859086][ T3606] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 49.865496][ T3606] [ 49.865496][ T3606] -> #3 (mapping.invalidate_lock){++++}-{3:3}: [ 49.873842][ T3606] down_write+0x90/0x150 [ 49.878607][ T3606] ext4_setattr+0xd9e/0x2c50 [ 49.883707][ T3606] notify_change+0xcd0/0x1440 [ 49.888887][ T3606] do_truncate+0x13c/0x200 [ 49.893819][ T3606] do_sys_ftruncate+0x536/0x730 [ 49.899195][ T3606] do_syscall_64+0x35/0xb0 [ 49.904132][ T3606] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 49.910527][ T3606] [ 49.910527][ T3606] -> #2 (&sb->s_type->i_mutex_key#8){++++}-{3:3}: [ 49.919108][ T3606] down_read+0x98/0x450 [ 49.923790][ T3606] ext4_bmap+0x4e/0x460 [ 49.928451][ T3606] bmap+0xaa/0x120 [ 49.932679][ T3606] jbd2_journal_bmap+0xa8/0x180 [ 49.938037][ T3606] jbd2_journal_flush+0x84f/0xc00 [ 49.943579][ T3606] __ext4_ioctl+0x28fd/0x4ab0 [ 49.948766][ T3606] __x64_sys_ioctl+0x193/0x200 [ 49.954033][ T3606] do_syscall_64+0x35/0xb0 [ 49.958954][ T3606] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 49.965354][ T3606] [ 49.965354][ T3606] -> #1 (&journal->j_checkpoint_mutex){+.+.}-{3:3}: [ 49.974104][ T3606] mutex_lock_io_nested+0x13f/0x1190 [ 49.980071][ T3606] jbd2_journal_flush+0x19a/0xc00 [ 49.985601][ T3606] __ext4_ioctl+0x28fd/0x4ab0 [ 49.990781][ T3606] __x64_sys_ioctl+0x193/0x200 [ 49.996051][ T3606] do_syscall_64+0x35/0xb0 [ 50.000987][ T3606] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 50.007384][ T3606] [ 50.007384][ T3606] -> #0 (&journal->j_barrier){+.+.}-{3:3}: [ 50.015352][ T3606] __lock_acquire+0x2a43/0x56d0 [ 50.020707][ T3606] lock_acquire+0x1ab/0x570 [ 50.025714][ T3606] __mutex_lock+0x12f/0x1350 [ 50.030807][ T3606] jbd2_journal_lock_updates+0x15e/0x310 [ 50.036962][ T3606] ext4_change_inode_journal_flag+0x180/0x530 [ 50.043535][ T3606] ext4_fileattr_set+0xddf/0x1930 [ 50.049063][ T3606] vfs_fileattr_set+0x7f5/0xbe0 [ 50.054429][ T3606] do_vfs_ioctl+0xe62/0x15c0 [ 50.059522][ T3606] __x64_sys_ioctl+0x108/0x200 [ 50.064790][ T3606] do_syscall_64+0x35/0xb0 [ 50.069708][ T3606] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 50.076103][ T3606] [ 50.076103][ T3606] other info that might help us debug this: [ 50.076103][ T3606] [ 50.086313][ T3606] Chain exists of: [ 50.086313][ T3606] &journal->j_barrier --> mapping.invalidate_lock --> &sbi->s_writepages_rwsem [ 50.086313][ T3606] [ 50.101151][ T3606] Possible unsafe locking scenario: [ 50.101151][ T3606] [ 50.108581][ T3606] CPU0 CPU1 [ 50.113978][ T3606] ---- ---- [ 50.119323][ T3606] lock(&sbi->s_writepages_rwsem); [ 50.124526][ T3606] lock(mapping.invalidate_lock); [ 50.132136][ T3606] lock(&sbi->s_writepages_rwsem); [ 50.139854][ T3606] lock(&journal->j_barrier); [ 50.144607][ T3606] [ 50.144607][ T3606] *** DEADLOCK *** [ 50.144607][ T3606] [ 50.152748][ T3606] 4 locks held by syz-executor217/3606: [ 50.158298][ T3606] #0: ffff88814af52460 (sb_writers#4){.+.+}-{0:0}, at: do_vfs_ioctl+0xe27/0x15c0 [ 50.167533][ T3606] #1: ffff888070860400 (&sb->s_type->i_mutex_key#8){++++}-{3:3}, at: vfs_fileattr_set+0x148/0xbe0 [ 50.178231][ T3606] #2: ffff8880708605a0 (mapping.invalidate_lock){++++}-{3:3}, at: ext4_change_inode_journal_flag+0x11f/0x530 [ 50.189897][ T3606] #3: ffff88814af54bd8 (&sbi->s_writepages_rwsem){++++}-{0:0}, at: ext4_change_inode_journal_flag+0x178/0x530 [ 50.201628][ T3606] [ 50.201628][ T3606] stack backtrace: [ 50.207524][ T3606] CPU: 1 PID: 3606 Comm: syz-executor217 Not tainted 5.19.0-syzkaller-14037-gd24433c0f4a3 #0 [ 50.217664][ T3606] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022 [ 50.227706][ T3606] Call Trace: [ 50.230974][ T3606] [ 50.233898][ T3606] dump_stack_lvl+0xcd/0x134 [ 50.238481][ T3606] check_noncircular+0x25f/0x2e0 [ 50.243425][ T3606] ? print_circular_bug+0x1e0/0x1e0 [ 50.248627][ T3606] ? check_irq_usage+0x183/0xac0 [ 50.253552][ T3606] ? check_path.constprop.0+0x50/0x50 [ 50.258908][ T3606] ? print_shortest_lock_dependencies_backwards+0x80/0x80 [ 50.266007][ T3606] __lock_acquire+0x2a43/0x56d0 [ 50.270850][ T3606] ? lockdep_hardirqs_on_prepare+0x400/0x400 [ 50.276820][ T3606] lock_acquire+0x1ab/0x570 [ 50.281309][ T3606] ? jbd2_journal_lock_updates+0x15e/0x310 [ 50.287101][ T3606] ? lock_release+0x780/0x780 [ 50.291784][ T3606] ? find_held_lock+0x2d/0x110 [ 50.296541][ T3606] __mutex_lock+0x12f/0x1350 [ 50.301119][ T3606] ? jbd2_journal_lock_updates+0x15e/0x310 [ 50.306911][ T3606] ? jbd2_journal_lock_updates+0x15e/0x310 [ 50.312701][ T3606] ? mutex_lock_io_nested+0x1190/0x1190 [ 50.318249][ T3606] ? jbd2_journal_lock_updates+0x150/0x310 [ 50.324039][ T3606] ? lock_downgrade+0x6e0/0x6e0 [ 50.328875][ T3606] ? do_raw_read_unlock+0x70/0x70 [ 50.333891][ T3606] ? rcu_sync_enter+0x150/0x2e0 [ 50.338729][ T3606] jbd2_journal_lock_updates+0x15e/0x310 [ 50.344348][ T3606] ? jbd2_journal_wait_updates+0x240/0x240 [ 50.350142][ T3606] ext4_change_inode_journal_flag+0x180/0x530 [ 50.356211][ T3606] ext4_fileattr_set+0xddf/0x1930 [ 50.361224][ T3606] ? ext4_fileattr_get+0x280/0x280 [ 50.366324][ T3606] ? apparmor_capable+0x1d8/0x460 [ 50.371330][ T3606] ? bpf_lsm_capable+0x5/0x10 [ 50.375994][ T3606] ? security_capable+0x8f/0xc0 [ 50.380834][ T3606] vfs_fileattr_set+0x7f5/0xbe0 [ 50.385670][ T3606] ? ioctl_file_clone+0x100/0x100 [ 50.390679][ T3606] ? memset+0x20/0x40 [ 50.394651][ T3606] do_vfs_ioctl+0xe62/0x15c0 [ 50.399233][ T3606] ? vfs_fileattr_set+0xbe0/0xbe0 [ 50.404248][ T3606] ? find_held_lock+0x2d/0x110 [ 50.408998][ T3606] ? name_to_dev_t+0x880/0x990 [ 50.413749][ T3606] ? lock_downgrade+0x6e0/0x6e0 [ 50.418585][ T3606] ? _raw_spin_unlock_irq+0x1f/0x40 [ 50.423788][ T3606] ? bpf_lsm_file_ioctl+0x5/0x10 [ 50.428718][ T3606] __x64_sys_ioctl+0x108/0x200 [ 50.433468][ T3606] do_syscall_64+0x35/0xb0 [ 50.437886][ T3606] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 50.443764][ T3606] RIP: 0033:0x7f82d80a2bc9 [ 50.448176][ T3606] Code: 28 c3 e8 2a 14 00 00 66 2e 0f 1f 84 00 00 00 00 00 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 c0 ff ff ff f7 d8 64 89 01 48 ioctl(5, FS_IOC_SETFLAGS, [FS_UNRM_FL|FS_COMPR_FL|FS_SYNC_FL|FS_APPEND_FL|FS_NOATIME_FL|FS_DIRTY_FL|FS_ENCRYPT_FL|FS_JOURNAL_DATA_FL|FS_NOTAIL_FL]) = 0 exit_group(0) = ? +++ exited with 0 +++ [ 50.467776][ T3606] RSP: 002b:00007ffcdeb05b