In the Linux kernel, the following vulnerability has been resolved:
workqueue: Don’t call cpumask_test_cpu() with -1 CPU in wq_update_node_max_active()
For wq_update_node_max_active(), @off_cpu of -1 indicates that no CPU is
going down. The function was incorrectly calling cpumask_test_cpu() with -1
CPU leading to oopses like the following on some archs:
Unable to handle kernel paging request at virtual address ffff0002100296e0
…
pc : wq_update_node_max_active+0x50/0x1fc
lr : wq_update_node_max_active+0x1f0/0x1fc
…
Call trace:
wq_update_node_max_active+0x50/0x1fc
apply_wqattrs_commit+0xf0/0x114
apply_workqueue_attrs_locked+0x58/0xa0
alloc_workqueue+0x5ac/0x774
workqueue_init_early+0x460/0x540
start_kernel+0x258/0x684
__primary_switched+0xb8/0xc0
Code: 9100a273 35000d01 53067f00 d0016dc1 (f8607a60)
—[ end trace 0000000000000000 ]—
Kernel panic - not syncing: Attempted to kill the idle task!
—[ end Kernel panic - not syncing: Attempted to kill the idle task! ]—
Fix it.
Vendor | Product | Version | CPE |
---|---|---|---|
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": [
"kernel/workqueue.c"
],
"versions": [
{
"version": "5a70baec2294",
"lessThan": "7df62b8cca38",
"status": "affected",
"versionType": "git"
},
{
"version": "5a70baec2294",
"lessThan": "a75ac2693d73",
"status": "affected",
"versionType": "git"
},
{
"version": "fc67aebe34f2",
"lessThan": "38c19c44cc05",
"status": "affected",
"versionType": "git"
},
{
"version": "843288afd3cc",
"lessThan": "9fc557d489f8",
"status": "affected",
"versionType": "git"
},
{
"version": "843288afd3cc",
"lessThan": "adc646d21269",
"status": "affected",
"versionType": "git"
},
{
"version": "5797b1c18919",
"lessThan": "15930da42f89",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"kernel/workqueue.c"
],
"versions": [
{
"version": "6.6.23",
"lessThan": "6.6.25",
"status": "affected",
"versionType": "custom"
},
{
"version": "6.8.2",
"lessThan": "6.8.4",
"status": "affected",
"versionType": "custom"
}
]
}
]
git.kernel.org/stable/c/15930da42f8981dc42c19038042947b475b19f47
git.kernel.org/stable/c/38c19c44cc05ec1e84d2e31a9a289b83b6c7ec85
git.kernel.org/stable/c/7df62b8cca38aa452b508b477b16544cba615084
git.kernel.org/stable/c/9fc557d489f8163c1aabcb89114b8eba960f4097
git.kernel.org/stable/c/a75ac2693d734d20724f0e10e039ca85f1fcfc4e
git.kernel.org/stable/c/adc646d2126988a64234502f579e4bc2b080d7cf