In the Linux kernel, the following vulnerability has been resolved:
soc: fsl: qbman: Use raw spinlock for cgr_lock
smp_call_function always runs its callback in hard IRQ context, even on
PREEMPT_RT, where spinlocks can sleep. So we need to use a raw spinlock
for cgr_lock to ensure we aren’t waiting on a sleeping task.
Although this bug has existed for a while, it was not apparent until
commit ef2a8d5478b9 (“net: dpaa: Adjust queue depth on rate change”)
which invokes smp_call_function_single via qman_update_cgr_safe every
time a link goes up or down.
Vendor | Product | Version | CPE |
---|---|---|---|
linux | linux_kernel | * | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
linux | linux_kernel | * | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
linux | linux_kernel | * | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
linux | linux_kernel | * | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
linux | linux_kernel | * | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
linux | linux_kernel | * | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
linux | linux_kernel | * | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
linux | linux_kernel | * | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
linux | linux_kernel | * | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/soc/fsl/qbman/qman.c"
],
"versions": [
{
"version": "96f413f47677",
"lessThan": "2b3fede82251",
"status": "affected",
"versionType": "git"
},
{
"version": "96f413f47677",
"lessThan": "ff50716b7d5b",
"status": "affected",
"versionType": "git"
},
{
"version": "96f413f47677",
"lessThan": "32edca2f03a6",
"status": "affected",
"versionType": "git"
},
{
"version": "96f413f47677",
"lessThan": "9a3ca8292ce9",
"status": "affected",
"versionType": "git"
},
{
"version": "96f413f47677",
"lessThan": "d6b5aac451c9",
"status": "affected",
"versionType": "git"
},
{
"version": "96f413f47677",
"lessThan": "54d26adf64c0",
"status": "affected",
"versionType": "git"
},
{
"version": "96f413f47677",
"lessThan": "f39d36b7540c",
"status": "affected",
"versionType": "git"
},
{
"version": "96f413f47677",
"lessThan": "cd53a8ae5aac",
"status": "affected",
"versionType": "git"
},
{
"version": "96f413f47677",
"lessThan": "fbec4e7fed89",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/soc/fsl/qbman/qman.c"
],
"versions": [
{
"version": "4.16",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.16",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.312",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.274",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.215",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.15.154",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.1.84",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.6.24",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.7.12",
"lessThanOrEqual": "6.7.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.8.3",
"lessThanOrEqual": "6.8.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.9",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/2b3fede8225133671ce837c0d284804aa3bc7a02
git.kernel.org/stable/c/32edca2f03a6cc42c650ddc3ad83d086e3f365d1
git.kernel.org/stable/c/54d26adf64c04f186098b39dba86b86037084baa
git.kernel.org/stable/c/9a3ca8292ce9fdcce122706c28c3f07bc857fe5e
git.kernel.org/stable/c/cd53a8ae5aacb4ecd25088486dea1cd02e74b506
git.kernel.org/stable/c/d6b5aac451c9cc12e43ab7308e0e2ddc52c62c14
git.kernel.org/stable/c/f39d36b7540cf0088ed7ce2de2794f2aa237f6df
git.kernel.org/stable/c/fbec4e7fed89b579f2483041fabf9650fb0dd6bc
git.kernel.org/stable/c/ff50716b7d5b7985979a5b21163cd79fb3d21d59