In the Linux kernel, the following vulnerability has been resolved:
s390/dasd: protect device queue against concurrent access
In dasd_profile_start() the amount of requests on the device queue are
counted. The access to the device queue is unprotected against
concurrent access. With a lot of parallel I/O, especially with alias
devices enabled, the device queue can change while dasd_profile_start()
is accessing the queue. In the worst case this leads to a kernel panic
due to incorrect pointer accesses.
Fix this by taking the device lock before accessing the queue and
counting the requests. Additionally the check for a valid profile data
pointer can be done earlier to avoid unnecessary locking in a hot path.
Vendor | Product | Version | CPE |
---|---|---|---|
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/s390/block/dasd.c"
],
"versions": [
{
"version": "4fa52aa7a82f",
"lessThan": "ebdc569a07a3",
"status": "affected",
"versionType": "git"
},
{
"version": "4fa52aa7a82f",
"lessThan": "f75617cc8df4",
"status": "affected",
"versionType": "git"
},
{
"version": "4fa52aa7a82f",
"lessThan": "f1ac7789406e",
"status": "affected",
"versionType": "git"
},
{
"version": "4fa52aa7a82f",
"lessThan": "c841de6247e9",
"status": "affected",
"versionType": "git"
},
{
"version": "4fa52aa7a82f",
"lessThan": "6062c527d040",
"status": "affected",
"versionType": "git"
},
{
"version": "4fa52aa7a82f",
"lessThan": "dc96fde8fcb2",
"status": "affected",
"versionType": "git"
},
{
"version": "4fa52aa7a82f",
"lessThan": "9372aab5d0ff",
"status": "affected",
"versionType": "git"
},
{
"version": "4fa52aa7a82f",
"lessThan": "db46cd1e0426",
"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/s390/block/dasd.c"
],
"versions": [
{
"version": "3.1",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.1",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.14.332",
"lessThanOrEqual": "4.14.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.301",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.263",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.203",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.15.141",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.1.65",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.6.4",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.7",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/6062c527d0403cef27c54b91ac8390c3a497b250
git.kernel.org/stable/c/9372aab5d0ff621ea203c8c603e7e5f75e888240
git.kernel.org/stable/c/c841de6247e94e07566d57163d3c0d8b29278f7a
git.kernel.org/stable/c/db46cd1e0426f52999d50fa72cfa97fa39952885
git.kernel.org/stable/c/dc96fde8fcb2b896fd6c64802a7f4ece2e69b0be
git.kernel.org/stable/c/ebdc569a07a3e8dbe66b4184922ad6f88ac0b96f
git.kernel.org/stable/c/f1ac7789406e2ca9ac51c41ad2daa597f47bdd4d
git.kernel.org/stable/c/f75617cc8df4155374132f0b500b0b3ebb967458