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.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "96f413f47677",
"lessThan": "2b3fede82251",
"versionType": "git"
},
{
"status": "affected",
"version": "96f413f47677",
"lessThan": "ff50716b7d5b",
"versionType": "git"
},
{
"status": "affected",
"version": "96f413f47677",
"lessThan": "32edca2f03a6",
"versionType": "git"
},
{
"status": "affected",
"version": "96f413f47677",
"lessThan": "9a3ca8292ce9",
"versionType": "git"
},
{
"status": "affected",
"version": "96f413f47677",
"lessThan": "d6b5aac451c9",
"versionType": "git"
},
{
"status": "affected",
"version": "96f413f47677",
"lessThan": "54d26adf64c0",
"versionType": "git"
},
{
"status": "affected",
"version": "96f413f47677",
"lessThan": "f39d36b7540c",
"versionType": "git"
},
{
"status": "affected",
"version": "96f413f47677",
"lessThan": "cd53a8ae5aac",
"versionType": "git"
},
{
"status": "affected",
"version": "96f413f47677",
"lessThan": "fbec4e7fed89",
"versionType": "git"
}
],
"programFiles": [
"drivers/soc/fsl/qbman/qman.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "4.16"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "4.16",
"versionType": "custom"
},
{
"status": "unaffected",
"version": "4.19.312",
"versionType": "custom",
"lessThanOrEqual": "4.19.*"
},
{
"status": "unaffected",
"version": "5.4.274",
"versionType": "custom",
"lessThanOrEqual": "5.4.*"
},
{
"status": "unaffected",
"version": "5.10.215",
"versionType": "custom",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.154",
"versionType": "custom",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.84",
"versionType": "custom",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.24",
"versionType": "custom",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.7.12",
"versionType": "custom",
"lessThanOrEqual": "6.7.*"
},
{
"status": "unaffected",
"version": "6.8.3",
"versionType": "custom",
"lessThanOrEqual": "6.8.*"
},
{
"status": "unaffected",
"version": "6.9",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/soc/fsl/qbman/qman.c"
],
"defaultStatus": "affected"
}
]
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
lists.debian.org/debian-lts-announce/2024/06/msg00017.html