In the Linux kernel, the following vulnerability has been resolved:
bus: mhi: host: Drop chan lock before queuing buffers
Ensure read and write locks for the channel are not taken in succession by
dropping the read lock from parse_xfer_event() such that a callback given
to client can potentially queue buffers and acquire the write lock in that
process. Any queueing of buffers should be done without channel read lock
acquired as it can result in multiple locks and a soft lockup.
[mani: added fixes tag and cc’ed stable]
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/bus/mhi/host/main.c"
],
"versions": [
{
"version": "1d3173a3bae7",
"lessThan": "20a6dea2d1c6",
"status": "affected",
"versionType": "git"
},
{
"version": "1d3173a3bae7",
"lessThan": "6e4c84316e2b",
"status": "affected",
"versionType": "git"
},
{
"version": "1d3173a3bae7",
"lessThan": "3c5ec66b4b3f",
"status": "affected",
"versionType": "git"
},
{
"version": "1d3173a3bae7",
"lessThan": "eaefb9464031",
"status": "affected",
"versionType": "git"
},
{
"version": "1d3173a3bae7",
"lessThan": "b8eff20d8709",
"status": "affected",
"versionType": "git"
},
{
"version": "1d3173a3bae7",
"lessThan": "01bd694ac2f6",
"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/bus/mhi/host/main.c"
],
"versions": [
{
"version": "5.7",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.7",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.210",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.15.149",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.1.76",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.6.15",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.7.3",
"lessThanOrEqual": "6.7.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.8",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/01bd694ac2f682fb8017e16148b928482bc8fa4b
git.kernel.org/stable/c/20a6dea2d1c68d4e03c6bb50bc12e72e226b5c0e
git.kernel.org/stable/c/3c5ec66b4b3f6816f3a6161538672e389e537690
git.kernel.org/stable/c/6e4c84316e2b70709f0d00c33ba3358d9fc8eece
git.kernel.org/stable/c/b8eff20d87092e14cac976d057cb0aea2f1d0830
git.kernel.org/stable/c/eaefb9464031215d63c0a8a7e2bfaa00736aa17e
lists.debian.org/debian-lts-announce/2024/06/msg00017.html