Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: zoned: finish active block group cleanup if call_zone_finish() fails do_zone_finish() clears BLOCK_GROUP_FLAG_ZONE_IS_ACTIVE before finishing the zones. If call_zone_finish() then fails it returned early, leaving the now inactive block group on fs_info->zone_active_bgs, leaking its reference, the BTRFS_FS_NEED_ZONE_FINISH waiters are never woken, and as its alloc_offset equals the zone capacity btrfs_zone_finish_one_bg() keeps selecting it, spinning btrfs_zoned_activate_one_bg(). Fall through to the cleanup on failure too and return the error, but keep the block group read-only as its zones are left inconsistent.
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
d70cbdda75da3f258118a558c087157e073229fb to < 433d52b196a689b18dcfadc7cf6c784f0e5cc7c9affectedd70cbdda75da3f258118a558c087157e073229fb to < 36b9cdab44848f25879ca625275c92b007f84653affectedd70cbdda75da3f258118a558c087157e073229fb to < 40370f02a1ca3760f8925ffcbe76eb4d91ea758daffectedd70cbdda75da3f258118a558c087157e073229fb to < e1b168a53174b385e3548bfbd079513b22ac240caffectedd70cbdda75da3f258118a558c087157e073229fb to < a18a6b93a2843b9d103d3456bbd4b3f90282a379affected
Linux Linux
Default version status: affected
5.19affected0 to < 5.19unaffected6.6.160 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/433d52b196a689b18dcfadc7cf6c784f0e5cc7c9 ↗
- https://git.kernel.org/stable/c/36b9cdab44848f25879ca625275c92b007f84653 ↗
- https://git.kernel.org/stable/c/40370f02a1ca3760f8925ffcbe76eb4d91ea758d ↗
- https://git.kernel.org/stable/c/e1b168a53174b385e3548bfbd079513b22ac240c ↗
- https://git.kernel.org/stable/c/a18a6b93a2843b9d103d3456bbd4b3f90282a379 ↗