In the Linux kernel, the following vulnerability has been resolved:
clk: sunxi-ng: common: Don't call hwtoccu_common on hw without common
In order to set the rate range of a hw sunxiccuprobe calls hwtoccucommon() assuming all entries in desc->ccuclks are contained in a ccu_common struct. This assumption is incorrect and, in consequence, causes invalid pointer de-references.
Remove the faulty call. Instead, add one more loop that iterates over the ccu_clks and sets the rate range, if required.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7a0e2738cb6da5a55c9908dff333600aeb263e07",
"signature_version": "v1",
"signature_type": "Line",
"target": {
"file": "drivers/clk/sunxi-ng/ccu_common.c"
},
"id": "CVE-2024-42100-0c78749f",
"digest": {
"line_hashes": [
"315264001984405036247643248044404296171",
"84678308668230495793607711245135167651",
"28801792784868724307879993394456039392",
"525391602633372133863195073389034725",
"46841659807593698477622815940947334179",
"252917984764271697699813513429630766440",
"266118045205937360782521196534357159580",
"129435929475403313302918251360092006834",
"291510348418360710463036940887505438131",
"110541570005280629105489515131315840248",
"316923125112559162454362143404879641493",
"78310925907566211056647969623884871779",
"187492256740961305836788207587170945131",
"29533579761451317907852069889281899851",
"244873914759089998681079928448042569637"
],
"threshold": 0.9
},
"deprecated": false
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7a0e2738cb6da5a55c9908dff333600aeb263e07",
"signature_version": "v1",
"signature_type": "Function",
"target": {
"function": "sunxi_ccu_probe",
"file": "drivers/clk/sunxi-ng/ccu_common.c"
},
"id": "CVE-2024-42100-6601aed1",
"digest": {
"length": 1633.0,
"function_hash": "44355941113783724060878204124617610361"
},
"deprecated": false
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ea977d742507e534d9fe4f4d74256f6b7f589338",
"signature_version": "v1",
"signature_type": "Line",
"target": {
"file": "drivers/clk/sunxi-ng/ccu_common.c"
},
"id": "CVE-2024-42100-6981d059",
"digest": {
"line_hashes": [
"315264001984405036247643248044404296171",
"84678308668230495793607711245135167651",
"28801792784868724307879993394456039392",
"525391602633372133863195073389034725",
"46841659807593698477622815940947334179",
"252917984764271697699813513429630766440",
"266118045205937360782521196534357159580",
"129435929475403313302918251360092006834",
"291510348418360710463036940887505438131",
"110541570005280629105489515131315840248",
"316923125112559162454362143404879641493",
"78310925907566211056647969623884871779",
"187492256740961305836788207587170945131",
"29533579761451317907852069889281899851",
"244873914759089998681079928448042569637"
],
"threshold": 0.9
},
"deprecated": false
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ea977d742507e534d9fe4f4d74256f6b7f589338",
"signature_version": "v1",
"signature_type": "Function",
"target": {
"function": "sunxi_ccu_probe",
"file": "drivers/clk/sunxi-ng/ccu_common.c"
},
"id": "CVE-2024-42100-a5ff0223",
"digest": {
"length": 1633.0,
"function_hash": "44355941113783724060878204124617610361"
},
"deprecated": false
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14c78d69dbca6a28af14095f639ec4318ec07fdc",
"signature_version": "v1",
"signature_type": "Function",
"target": {
"function": "sunxi_ccu_probe",
"file": "drivers/clk/sunxi-ng/ccu_common.c"
},
"id": "CVE-2024-42100-c386ca0b",
"digest": {
"length": 1633.0,
"function_hash": "44355941113783724060878204124617610361"
},
"deprecated": false
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14c78d69dbca6a28af14095f639ec4318ec07fdc",
"signature_version": "v1",
"signature_type": "Line",
"target": {
"file": "drivers/clk/sunxi-ng/ccu_common.c"
},
"id": "CVE-2024-42100-d6016cda",
"digest": {
"line_hashes": [
"315264001984405036247643248044404296171",
"84678308668230495793607711245135167651",
"28801792784868724307879993394456039392",
"525391602633372133863195073389034725",
"46841659807593698477622815940947334179",
"252917984764271697699813513429630766440",
"266118045205937360782521196534357159580",
"129435929475403313302918251360092006834",
"291510348418360710463036940887505438131",
"110541570005280629105489515131315840248",
"316923125112559162454362143404879641493",
"78310925907566211056647969623884871779",
"187492256740961305836788207587170945131",
"29533579761451317907852069889281899851",
"244873914759089998681079928448042569637"
],
"threshold": 0.9
},
"deprecated": false
}
]