Re: [PATCH v6] ext4: fix ABBA deadlock in ext4_xattr_inode_cache_find()
"Theodore Ts'o" <[email protected]>
| Newsgroups | org.kernel.vger.linux-ext4,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <178481171739.796182.6989186136463897889.b4-ty@b4> |
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 <[email protected]>