In the Linux kernel, the following vulnerability has been resolved:
btrfs: fix double inode unlock for direct IO sync writes
If we do a direct IO sync write, at btrfs_sync_file(), and we need to skip
inode logging or we get an error starting a transaction or an error when
flushing delalloc, we end up unlocking the inode when we shouldn’t under
the ‘out_release_extents’ label, and then unlock it again at
btrfs_direct_write().
Fix that by checking if we have to skip inode unlocking under that label.
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"fs/btrfs/file.c"
],
"versions": [
{
"version": "4e17707035a6",
"lessThan": "1a607d22dea4",
"status": "affected",
"versionType": "git"
},
{
"version": "6cae8d04d8b3",
"lessThan": "8bd4c9220416",
"status": "affected",
"versionType": "git"
},
{
"version": "0a108bde616a",
"lessThan": "7ba27f14161f",
"status": "affected",
"versionType": "git"
},
{
"version": "3831170f7406",
"lessThan": "d924a0be2f21",
"status": "affected",
"versionType": "git"
},
{
"version": "939b656bc8ab",
"lessThan": "e0391e92f9ab",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"fs/btrfs/file.c"
],
"versions": [
{
"version": "6.11-rc2",
"status": "affected"
},
{
"version": "0",
"lessThan": "6.11-rc2",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.11-rc3",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/1a607d22dea4f60438747705495ec4d0af2ec451
git.kernel.org/stable/c/7ba27f14161fc20c4fc0051658a22ddd832eb0aa
git.kernel.org/stable/c/8bd4c9220416111500c275546c69c63d42185793
git.kernel.org/stable/c/d924a0be2f218501588cf463d70f1c71afea06d9
git.kernel.org/stable/c/e0391e92f9ab4fb3dbdeb139c967dcfa7ac4b115