In the Linux kernel, the following vulnerability has been resolved:
pstore: inode: Only d_invalidate() is needed
Unloading a modular pstore backend with records in pstorefs would
trigger the dput() double-drop warning:
WARNING: CPU: 0 PID: 2569 at fs/dcache.c:762 dput.part.0+0x3f3/0x410
Using the combo of d_drop()/dput() (as mentioned in
Documentation/filesystems/vfs.rst) isn’t the right approach here, and
leads to the reference counting problem seen above. Use d_invalidate()
and update the code to not bother checking for error codes that can
never happen.
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"fs/pstore/inode.c"
],
"versions": [
{
"version": "609e28bb139e",
"lessThan": "db6e5e16f1ee",
"status": "affected",
"versionType": "git"
},
{
"version": "609e28bb139e",
"lessThan": "4cdf9006fc09",
"status": "affected",
"versionType": "git"
},
{
"version": "609e28bb139e",
"lessThan": "cb9e802e49c2",
"status": "affected",
"versionType": "git"
},
{
"version": "609e28bb139e",
"lessThan": "340682ed1932",
"status": "affected",
"versionType": "git"
},
{
"version": "609e28bb139e",
"lessThan": "a43e0fc5e913",
"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/pstore/inode.c"
],
"versions": [
{
"version": "5.8",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.8",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.1.83",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.6.23",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.7.11",
"lessThanOrEqual": "6.7.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.8.2",
"lessThanOrEqual": "6.8.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.9",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/340682ed1932b8e3bd0bfc6c31a0c6354eb57cc6
git.kernel.org/stable/c/4cdf9006fc095af71da80e9b5f48a32e991b9ed3
git.kernel.org/stable/c/a43e0fc5e9134a46515de2f2f8d4100b74e50de3
git.kernel.org/stable/c/cb9e802e49c24eeb3af35e9e8c04d526f35f112a
git.kernel.org/stable/c/db6e5e16f1ee9e3b01d2f71c7f0ba945f4bf0f4e