Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected d70cbdda75da3f258118a558c087157e073229fb before 433d52b196a689b18dcfadc7cf6c784f0e5cc7c9; affected d70cbdda75da3f258118a558c087157e073229fb before 36b9cdab44848f25879ca625275c92b007f84653; affected d70cbdda75da3f258118a558c087157e073229fb before 40370f02a1ca3760f8925ffcbe76eb4d91ea758d; affected d70cbdda75da3f258118a558c087157e073229fb before e1b168a53174b385e3548bfbd079513b22ac240c; affected d70cbdda75da3f258118a558c087157e073229fb before a18a6b93a2843b9d103d3456bbd4b3f90282a379 |
| Linux / Linux | affected 5.19; unaffected 0 before 5.19; unaffected 6.6.160 through 6.6.*; unaffected 6.12.111 through 6.12.*; unaffected 6.18.53 through 6.18.*; unaffected 7.2.7 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
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