Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix inode list leak during backref walking at resolve_indirect_refs() During backref walking, at resolve_indirect_refs(), if we get an error we jump to the 'out' label and call ulist_free() on the 'parents' ulist, which frees all the elements in the ulist - however that does not free any inode lists that may be attached to elements, through the 'aux' field of a ulist node, so we end up leaking lists if we have any attached to the unodes. Fix this by calling free_leaf_list() instead of ulist_free() when we exit from resolve_indirect_refs(). The static function free_leaf_list() is moved up for this to be possible and it's slightly simplified by removing unnecessary code.
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
3301958b7c1dae8f0f5ded63aa881e0b71e78464 to < b1dc9019bb5f89abae85645de1a2dd4830c1f8e9affected3301958b7c1dae8f0f5ded63aa881e0b71e78464 to < cded2c89774b99b67c98147ae103ea878c92a206affected3301958b7c1dae8f0f5ded63aa881e0b71e78464 to < 2c0329406bb28109c07c6e23e5e3e0fa618a95d7affected3301958b7c1dae8f0f5ded63aa881e0b71e78464 to < a52e24c7fcc3c5ce3588a14e3663c00868d36623affected3301958b7c1dae8f0f5ded63aa881e0b71e78464 to < 6ba3479f9e96b9ad460c7e77abc26dd16e5dec4faffected3301958b7c1dae8f0f5ded63aa881e0b71e78464 to < 396515db923ad5cbeb179d6b88927870b4cbebb7affected3301958b7c1dae8f0f5ded63aa881e0b71e78464 to < 5614dc3a47e3310fbc77ea3b67eaadd1c6417bf1affected
Linux Linux
Default version status: affected
3.5affected0 to < 3.5unaffected4.14.299 to ≤ 4.14.*unaffected4.19.265 to ≤ 4.19.*unaffected5.4.224 to ≤ 5.4.*unaffected5.10.154 to ≤ 5.10.*unaffected5.15.78 to ≤ 5.15.*unaffected6.0.8 to ≤ 6.0.*unaffected6.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/b1dc9019bb5f89abae85645de1a2dd4830c1f8e9 ↗
- https://git.kernel.org/stable/c/cded2c89774b99b67c98147ae103ea878c92a206 ↗
- https://git.kernel.org/stable/c/2c0329406bb28109c07c6e23e5e3e0fa618a95d7 ↗
- https://git.kernel.org/stable/c/a52e24c7fcc3c5ce3588a14e3663c00868d36623 ↗
- https://git.kernel.org/stable/c/6ba3479f9e96b9ad460c7e77abc26dd16e5dec4f ↗
- https://git.kernel.org/stable/c/396515db923ad5cbeb179d6b88927870b4cbebb7 ↗
- https://git.kernel.org/stable/c/5614dc3a47e3310fbc77ea3b67eaadd1c6417bf1 ↗