CVE-2026-93268

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxc8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 41897f1bcf4ace5f1f28d0be784b6f4f0e929641affected
LinuxLinuxc8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 9c3469377b1d8caba6bec6ef3c460810bbfb02ccaffected
LinuxLinuxc8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 1dd4882dbdc8bfdf2182fa388883c143fac0902aaffected
LinuxLinuxc8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 7ba09330d9ea6e996228316719eae812d7e04983affected
LinuxLinuxc8585c6fcaf2011de54c3592e80a634a2b9e1a7f < c5e6434cc55f30220b228be237bb666351f9f4ddaffected
LinuxLinuxc8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 7ace189b9ea79cf78df9c32b940ce12735f9459aaffected
LinuxLinuxc8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 2fb8ff81659a57c42bb7b49e8339a2be2a318ef8affected
LinuxLinuxc8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 7461c60b9c6a839b13ad4c3490681a0cf5aa0637affected
LinuxLinux4.7affected
LinuxLinux0 < 4.7unaffected
LinuxLinux5.10.270 <= 5.10.*unaffected
LinuxLinux5.15.221 <= 5.15.*unaffected
LinuxLinux6.1.188 <= 6.1.*unaffected
LinuxLinux6.6.157 <= 6.6.*unaffected
LinuxLinux6.12.110 <= 6.12.*unaffected
LinuxLinux6.18.52 <= 6.18.*unaffected
LinuxLinux7.2.6 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References