Re: [PATCH v6] ext4: fix ABBA deadlock in ext4_xattr_inode_cache_find()
From: Theodore Ts'o
Date: Thu Jul 23 2026 - 09:25:41 EST
On Fri, 26 Jun 2026 05:48:21 +0000, Aditya Srivastava wrote:
> Syzbot/stress-ng reported an ABBA deadlock in ext4 when exercising
> concurrent xattr workloads (using the ea_inode mount/format option).
>
> The deadlock occurs between the running transaction and the eviction
> thread:
> - Task 1 (stress-ng): Holds a reference to a shared mbcache_entry (ce)
> and calls ext4_xattr_inode_cache_find() -> ext4_iget() to retrieve
> the corresponding EA inode. Since the EA inode is currently being
> evicted, ext4_iget() blocks in __wait_on_freeing_inode() waiting for
> eviction to complete.
> - Task 2 (eviction thread): Currently evicting the same EA inode in
> ext4_evict_ea_inode(). It calls mb_cache_entry_wait_unused(oe) which
> blocks waiting for Task 1 to release the reference to the mbcache_entry.
>
> [...]
Applied, thanks!
[1/1] ext4: fix ABBA deadlock in ext4_xattr_inode_cache_find()
commit: 03438084a7b8621fb5c762dd3d04cff5f2630fb2
Best regards,
--
Theodore Ts'o <tytso@xxxxxxx>