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.
Product status
8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 (git) before 0892f12cd49fde5d5db68137923db107f894f3a3
8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 (git) before 5a63033696e60b5d70816f1d119645ac5b0b0a03
8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 (git) before 9c90449a9ac2cd1ba540ad2561b8b70c1bfb0a25
8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 (git) before ca99cbcc316cdfd2040cc2b13d1426ccb3b3b50b
8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 (git) before 19782b4c793b49a6aa4abbb307ddff3610009d21
8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 (git) before f7817ad399d604e8639005d87d148b5ec626ad26
8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 (git) before c426231e3d51916e83b6d1ab7ed8a65e83bca5b4
8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 (git) before ec0a7500d8eace5b4f305fa0c594dd148f0e8d29
5.10
Any version before 5.10
5.10.253 (semver)
5.15.203 (semver)
6.1.168 (semver)
6.6.131 (semver)
6.12.80 (semver)
6.18.21 (semver)
6.19.11 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/0892f12cd49fde5d5db68137923db107f894f3a3
git.kernel.org/...c/5a63033696e60b5d70816f1d119645ac5b0b0a03
git.kernel.org/...c/9c90449a9ac2cd1ba540ad2561b8b70c1bfb0a25
git.kernel.org/...c/ca99cbcc316cdfd2040cc2b13d1426ccb3b3b50b
git.kernel.org/...c/19782b4c793b49a6aa4abbb307ddff3610009d21
git.kernel.org/...c/f7817ad399d604e8639005d87d148b5ec626ad26
git.kernel.org/...c/c426231e3d51916e83b6d1ab7ed8a65e83bca5b4
git.kernel.org/...c/ec0a7500d8eace5b4f305fa0c594dd148f0e8d29