On Thu 29-02-24 10:59:17, Theodore Ts'o wrote: > On Fri, Feb 09, 2024 at 12:21:00PM +0100, Jan Kara wrote: > > ext4_xattr_set_entry() creates new EA inodes while holding buffer lock > > on the external xattr block. This is problematic as it nests all the > > allocation locking (which acquires locks on other buffers) under the > > buffer lock. This can even deadlock when the filesystem is corrupted and > > e.g. quota file is setup to contain xattr block as data block. Move the > > allocation of EA inode out of ext4_xattr_set_entry() into the callers. > > > > Reported-by: syzbot+a43d4f48b8397d0e41a9@xxxxxxxxxxxxxxxxxxxxxxxxx > > Signed-off-by: Jan Kara <jack@xxxxxxx> > > In my testing I've found that this is causing a regression for > ext4/026 in the encrypt configuration. This can be replicated using > "kvm-xfstests -c encrypt ext4/026. Logs follow below. > > I'll try to take a closer look, but I may end up deciding to drop this > patch or possible the whole patch series until we can figure out > what's going on. OK, I've found the problem. I'll rebase patches on top of rc1 when it happens and send fixed version. Thanks for catching this! Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR