Re: [PATCH v3] ext4: fix circular lock dependency in ext4_ext_migrate
From: Theodore Ts'o
Date: Thu Jul 23 2026 - 09:12:23 EST
On Fri, 12 Jun 2026 08:53:30 +0800, Yun Zhou wrote:
> Move iput(tmp_inode) after ext4_writepages_up_write() to avoid a
> circular lock dependency between s_writepages_rwsem and sb_internal
> (freeze protection).
>
> The deadlock scenario:
>
> CPU0 (EXT4_IOC_MIGRATE) CPU1 (orphan cleanup during mount)
> ---- ----
> ext4_ext_migrate()
> ext4_writepages_down_write()
> s_writepages_rwsem (write)
> ext4_evict_inode()
> sb_start_intwrite() [sb_internal]
> ...
> ext4_writepages()
> s_writepages_rwsem (read) [BLOCKED]
> iput(tmp_inode)
> ext4_evict_inode()
> sb_start_intwrite() [BLOCKED]
>
> [...]
Applied, thanks!
[1/1] ext4: fix circular lock dependency in ext4_ext_migrate
commit: a897682793eba5de51ee6f3152760374afa629cf
Best regards,
--
Theodore Ts'o <tytso@xxxxxxx>