Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: do not free data reservation in fallback from inline due to -ENOSPC If we fail to create an inline extent due to -ENOSPC, we will attempt to go through the normal COW path, reserve an extent, create an ordered extent, etc. However we were always freeing the reserved qgroup data, which is wrong since we will use data. Fix this by freeing the reserved qgroup data in __cow_file_range_inline() only if we are not doing the fallback (ret is <= 0).
Product status
94ed938aba557aa798acf496f09afb289b619fcd (git) before 3edd1f6c7c520536b62b2904807033597554dbac
94ed938aba557aa798acf496f09afb289b619fcd (git) before 3a9fd45afadec1fbfec72057b9473d509fa8b68c
94ed938aba557aa798acf496f09afb289b619fcd (git) before 0a1fbbd780f04d1b6cf48dd327c866ba937de1c4
94ed938aba557aa798acf496f09afb289b619fcd (git) before 6de3a371a8b9fd095198b1aa68c22cc10a4c6961
94ed938aba557aa798acf496f09afb289b619fcd (git) before f8da41de0bff9eb1d774a7253da0c9f637c4470a
4.4
Any version before 4.4
6.1.168 (semver)
6.6.134 (semver)
6.12.81 (semver)
6.18.10 (semver)
6.19 (original_commit_for_fix)
References
git.kernel.org/...c/3edd1f6c7c520536b62b2904807033597554dbac
git.kernel.org/...c/3a9fd45afadec1fbfec72057b9473d509fa8b68c
git.kernel.org/...c/0a1fbbd780f04d1b6cf48dd327c866ba937de1c4
git.kernel.org/...c/6de3a371a8b9fd095198b1aa68c22cc10a4c6961
git.kernel.org/...c/f8da41de0bff9eb1d774a7253da0c9f637c4470a