CVE-2026-43066 PUBLISHED

ext4: fix iloc.bh leak in ext4_fc_replay_inode() error paths

Assigner: Linux
Reserved: 01.05.2026 Published: 05.05.2026 Updated: 05.05.2026

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

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to 0892f12cd49fde5d5db68137923db107f894f3a3 (excl.)
  • affected from 8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to 5a63033696e60b5d70816f1d119645ac5b0b0a03 (excl.)
  • affected from 8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to 9c90449a9ac2cd1ba540ad2561b8b70c1bfb0a25 (excl.)
  • affected from 8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to ca99cbcc316cdfd2040cc2b13d1426ccb3b3b50b (excl.)
  • affected from 8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to 19782b4c793b49a6aa4abbb307ddff3610009d21 (excl.)
  • affected from 8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to f7817ad399d604e8639005d87d148b5ec626ad26 (excl.)
  • affected from 8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to c426231e3d51916e83b6d1ab7ed8a65e83bca5b4 (excl.)
  • affected from 8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 to ec0a7500d8eace5b4f305fa0c594dd148f0e8d29 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 5.10 is affected
  • unaffected from 0 to 5.10 (excl.)
  • unaffected from 5.10.253 to 5.10.* (incl.)
  • unaffected from 5.15.203 to 5.15.* (incl.)
  • unaffected from 6.1.168 to 6.1.* (incl.)
  • unaffected from 6.6.131 to 6.6.* (incl.)
  • unaffected from 6.12.80 to 6.12.* (incl.)
  • unaffected from 6.18.21 to 6.18.* (incl.)
  • unaffected from 6.19.11 to 6.19.* (incl.)
  • unaffected from 7.0 to * (incl.)

References