Description
In the Linux kernel, the following vulnerability has been resolved: ext4: fix iloc.bh leak in ext4_fc_replay_inode() error paths During code review, Joseph found that ext4_fc_replay_inode() calls ext4_get_fc_inode_loc() to get the inode location, which holds a reference to iloc.bh that must be released via brelse(). However, several error paths jump to the 'out' label without releasing iloc.bh: - ext4_handle_dirty_metadata() failure - sync_dirty_buffer() failure - ext4_mark_inode_used() failure - ext4_iget() failure Fix this by introducing an 'out_brelse' label placed just before the existing 'out' label to ensure iloc.bh is always released. Additionally, make ext4_fc_replay_inode() propagate errors properly instead of always returning 0.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to < 0892f12cd49fde5d5db68137923db107f894f3a3affected8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to < 5a63033696e60b5d70816f1d119645ac5b0b0a03affected8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to < 9c90449a9ac2cd1ba540ad2561b8b70c1bfb0a25affected8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to < ca99cbcc316cdfd2040cc2b13d1426ccb3b3b50baffected8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to < 19782b4c793b49a6aa4abbb307ddff3610009d21affected8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to < f7817ad399d604e8639005d87d148b5ec626ad26affected8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to < c426231e3d51916e83b6d1ab7ed8a65e83bca5b4affected8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to < ec0a7500d8eace5b4f305fa0c594dd148f0e8d29affected
Linux Linux
Default version status: affected
5.10affected0 to < 5.10unaffected5.10.253 to ≤ 5.10.*unaffected5.15.203 to ≤ 5.15.*unaffected6.1.168 to ≤ 6.1.*unaffected6.6.131 to ≤ 6.6.*unaffected6.12.80 to ≤ 6.12.*unaffected6.18.21 to ≤ 6.18.*unaffected6.19.11 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/0892f12cd49fde5d5db68137923db107f894f3a3 ↗
- https://git.kernel.org/stable/c/5a63033696e60b5d70816f1d119645ac5b0b0a03 ↗
- https://git.kernel.org/stable/c/9c90449a9ac2cd1ba540ad2561b8b70c1bfb0a25 ↗
- https://git.kernel.org/stable/c/ca99cbcc316cdfd2040cc2b13d1426ccb3b3b50b ↗
- https://git.kernel.org/stable/c/19782b4c793b49a6aa4abbb307ddff3610009d21 ↗
- https://git.kernel.org/stable/c/f7817ad399d604e8639005d87d148b5ec626ad26 ↗
- https://git.kernel.org/stable/c/c426231e3d51916e83b6d1ab7ed8a65e83bca5b4 ↗
- https://git.kernel.org/stable/c/ec0a7500d8eace5b4f305fa0c594dd148f0e8d29 ↗