CVE-2023-53149
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
ext4: avoid deadlock in fs reclaim with page writeback
Ext4 has a filesystem wide lock protecting ext4_writepages() calls to avoid races with switching of journalled data flag or inode format. This lock can however cause a deadlock like:
CPU0 CPU1
ext4_writepages() percpu_down_read(sbi->s_writepages_rwsem); ext4_change_inode_journal_flag() percpu_down_write(sbi->s_writepages_rwsem); - blocks, all readers block from now on ext4_do_writepages() ext4_init_io_end() kmem_cache_zalloc(io_end_cachep, GFP_KERNEL) fs_reclaim frees dentry… dentry_unlink_inode() iput() - last ref => iput_final() - inode dirty => write_inode_now()… ext4_writepages() tries to acquire sbi->s_writepages_rwsem and blocks forever
Make sure we cannot recurse into filesystem reclaim from writeback code to avoid the deadlock.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | c8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 2ec97dc90df40c50e509809dc9a198638a7e18b6 | affected |
| Linux | Linux | c8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 4b4340bf04ce9a52061f15000ecedd126abc093c | affected |
| Linux | Linux | c8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 00d873c17e29cc32d90ca852b82685f1673acaa5 | affected |
| Linux | Linux | 4.7 | affected |
| Linux | Linux | 0 < 4.7 | unaffected |
| Linux | Linux | 6.2.16 <= 6.2.* | unaffected |
| Linux | Linux | 6.3.3 <= 6.3.* | unaffected |
| Linux | Linux | 6.4 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/2ec97dc90df40c50e509809dc9a198638a7e18b6
- https://git.kernel.org/stable/c/4b4340bf04ce9a52061f15000ecedd126abc093c
- https://git.kernel.org/stable/c/00d873c17e29cc32d90ca852b82685f1673acaa5
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.