In the Linux kernel, the following vulnerability has been resolved:
drm/msm/dpu: check for valid hwpp in dpuencoderhelperphys_cleanup
The commit 8b45a26f2ba9 ("drm/msm/dpu: reserve cdm blocks for writeback in case of YUV output") introduced a smatch warning about another conditional block in dpuencoderhelperphyscleanup() which had assumed hw_pp will always be valid which may not necessarily be true.
Lets fix the other conditional block by making sure hw_pp is valid before dereferencing it.
Patchwork: https://patchwork.freedesktop.org/patch/574878/
[
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb8bfc6ea3cd8c5ac3d35711d064e2f6646aec17",
"deprecated": false,
"id": "CVE-2024-26667-281e191d",
"target": {
"file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"94427818710657712654554968813804235758",
"40042483034328788693839192030065045887",
"34493872285323001288392538034255414644",
"185581475364599266500760137438395913392",
"310510218989026585699821473431933334613",
"257311050774167179814362705330912613794",
"326079767230551459140872066215527838918",
"139566313839784768379756950611286387873"
]
},
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eb4f56f3ff5799ca754ae6d811803a63fe25a4a2",
"deprecated": false,
"id": "CVE-2024-26667-3598420a",
"target": {
"file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"94427818710657712654554968813804235758",
"40042483034328788693839192030065045887",
"34493872285323001288392538034255414644",
"185581475364599266500760137438395913392",
"310510218989026585699821473431933334613",
"257311050774167179814362705330912613794",
"326079767230551459140872066215527838918",
"139566313839784768379756950611286387873"
]
},
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb8bfc6ea3cd8c5ac3d35711d064e2f6646aec17",
"deprecated": false,
"id": "CVE-2024-26667-4c0e3e02",
"target": {
"function": "dpu_encoder_helper_phys_cleanup",
"file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c"
},
"digest": {
"function_hash": "168128556814492205451145254755845733328",
"length": 1746.0
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@79592a6e7bdc1d05460c95f891f5e5263a107af8",
"deprecated": false,
"id": "CVE-2024-26667-8139d0b4",
"target": {
"file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"94427818710657712654554968813804235758",
"40042483034328788693839192030065045887",
"34493872285323001288392538034255414644",
"185581475364599266500760137438395913392",
"310510218989026585699821473431933334613",
"257311050774167179814362705330912613794",
"326079767230551459140872066215527838918",
"139566313839784768379756950611286387873"
]
},
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@79592a6e7bdc1d05460c95f891f5e5263a107af8",
"deprecated": false,
"id": "CVE-2024-26667-9a951e47",
"target": {
"function": "dpu_encoder_helper_phys_cleanup",
"file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c"
},
"digest": {
"function_hash": "158458898550282830060138502608491363847",
"length": 1789.0
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eb4f56f3ff5799ca754ae6d811803a63fe25a4a2",
"deprecated": false,
"id": "CVE-2024-26667-cb5e98fc",
"target": {
"function": "dpu_encoder_helper_phys_cleanup",
"file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c"
},
"digest": {
"function_hash": "158458898550282830060138502608491363847",
"length": 1789.0
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7f3d03c48b1eb6bc45ab20ca98b8b11be25f9f52",
"deprecated": false,
"id": "CVE-2024-26667-dd6535f9",
"target": {
"function": "dpu_encoder_helper_phys_cleanup",
"file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c"
},
"digest": {
"function_hash": "242514221824961999898722307166657508259",
"length": 2119.0
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7f3d03c48b1eb6bc45ab20ca98b8b11be25f9f52",
"deprecated": false,
"id": "CVE-2024-26667-febdf8ca",
"target": {
"file": "drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"94427818710657712654554968813804235758",
"40042483034328788693839192030065045887",
"34493872285323001288392538034255414644",
"185581475364599266500760137438395913392",
"310510218989026585699821473431933334613",
"257311050774167179814362705330912613794",
"326079767230551459140872066215527838918",
"139566313839784768379756950611286387873"
]
},
"signature_type": "Line"
}
]