CVE-2026-93268
Description
In the Linux kernel, the following vulnerability has been resolved: ext4: skip extra isize expansion during mount to prevent deadlock ext4_try_to_expand_extra_isize() is called from __ext4_mark_inode_dirty() while holding an active jbd2 handle. During mount (!SB_ACTIVE), the expand path may move xattrs to external blocks and release ea_inodes via iput(). When !SB_ACTIVE, iput() calls write_inode_now() which acquires s_writepages_rwsem, creating a circular lock dependency: s_writepages_rwsem --> jbd2_handle --> xattr_sem --> s_writepages_rwsem This can be triggered via: ext4_process_orphan() -> ext4_truncate() -> ext4_mark_inode_dirty() -> ext4_try_to_expand_extra_isize() or: ext4_evict_inode() -> ext4_mark_inode_dirty() -> ext4_try_to_expand_extra_isize() Skip expansion when !SB_ACTIVE. This is a minor loss of functionality (extra isize won't grow for these inodes during mount), which e2fsck can resolve later if needed.
References
- https://git.kernel.org/stable/c/1dd4882dbdc8bfdf2182fa388883c143fac0902a
- https://git.kernel.org/stable/c/2fb8ff81659a57c42bb7b49e8339a2be2a318ef8
- https://git.kernel.org/stable/c/41897f1bcf4ace5f1f28d0be784b6f4f0e929641
- https://git.kernel.org/stable/c/7461c60b9c6a839b13ad4c3490681a0cf5aa0637
- https://git.kernel.org/stable/c/7ace189b9ea79cf78df9c32b940ce12735f9459a