CVE-2024-56540

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-56540
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-56540.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-56540
Downstream
Related
Published
2024-12-27T14:11:22Z
Modified
2025-10-17T18:07:12.567316Z
Severity
  • 4.7 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
accel/ivpu: Prevent recovery invocation during probe and resume
Details

In the Linux kernel, the following vulnerability has been resolved:

accel/ivpu: Prevent recovery invocation during probe and resume

Refactor IPC send and receive functions to allow correct handling of operations that should not trigger a recovery process.

Expose ivpusendreceive_internal(), which is now utilized by the D0i3 entry, DCT initialization, and HWS initialization functions. These functions have been modified to return error codes gracefully, rather than initiating recovery.

The updated functions are invoked within ivpuprobe() and ivpuresume(), ensuring that any errors encountered during these stages result in a proper teardown or shutdown sequence. The previous approach of triggering recovery within these functions could lead to a race condition, potentially causing undefined behavior and kernel crashes due to null pointer dereferences.

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
45e45362e0955fc3b0b622e8a0d788097f3de902
Fixed
cac822772c4dc27a285f09caf30072ab76d2bf38
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
45e45362e0955fc3b0b622e8a0d788097f3de902
Fixed
362ef76020ea6219a4df4ac5b738672b59527239
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
45e45362e0955fc3b0b622e8a0d788097f3de902
Fixed
5eaa497411197c41b0813d61ba3fbd6267049082

Affected versions

v6.*

v6.10
v6.10-rc1
v6.10-rc2
v6.10-rc3
v6.10-rc4
v6.10-rc5
v6.10-rc6
v6.10-rc7
v6.11
v6.11-rc1
v6.11-rc2
v6.11-rc3
v6.11-rc4
v6.11-rc5
v6.11-rc6
v6.11-rc7
v6.11.1
v6.11.10
v6.11.2
v6.11.3
v6.11.4
v6.11.5
v6.11.6
v6.11.7
v6.11.8
v6.11.9
v6.12
v6.12-rc1
v6.12-rc2
v6.12-rc3
v6.12-rc4
v6.12-rc5
v6.12-rc6
v6.12-rc7
v6.12.1
v6.6
v6.6-rc3
v6.6-rc4
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.7
v6.7-rc1
v6.7-rc2
v6.7-rc3
v6.7-rc4
v6.7-rc5
v6.7-rc6
v6.7-rc7
v6.7-rc8
v6.8
v6.8-rc1
v6.8-rc2
v6.8-rc3
v6.8-rc4
v6.8-rc5
v6.8-rc6
v6.8-rc7
v6.9
v6.9-rc1
v6.9-rc2
v6.9-rc3
v6.9-rc4
v6.9-rc5
v6.9-rc6
v6.9-rc7

Database specific

vanir_signatures

[
    {
        "digest": {
            "function_hash": "97197786451142694960729429357217702189",
            "length": 287.0
        },
        "id": "CVE-2024-56540-00d42686",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cac822772c4dc27a285f09caf30072ab76d2bf38",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.c",
            "function": "ivpu_ipc_send_receive"
        },
        "signature_version": "v1",
        "signature_type": "Function",
        "deprecated": false
    },
    {
        "digest": {
            "line_hashes": [
                "198028128997096214012476085634520584604",
                "300259328440539635493885047665445377014",
                "168961803409831692947906364768173608807",
                "242022397306480348685603152529545587067",
                "223106083586963700597540845903066177604",
                "100613911597822206434068161735247303400",
                "197589755692461201010968791904358451691",
                "5103671056675857911512179073328841633",
                "49941959052346518217358100750757612745",
                "261306501196826983746082208594646661204",
                "47830291229134187026453672375956699126",
                "197393074514433844592012046890811178610",
                "97837520963890207973927397192715864725",
                "56761724535991129299122267823917348976",
                "150840844403319430238387939971496396594",
                "102062145951292021840780515581335436441",
                "97328689917162447833468603244541201442",
                "285203637393686397608935649742255040946",
                "163265433474775350844294783318583606661",
                "303708973544533096037433662573651531264",
                "36997035696703386521746806050112741629",
                "300233434098292739125686639349876289563",
                "266809037151403579636622035046812433098"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2024-56540-01036d4e",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5eaa497411197c41b0813d61ba3fbd6267049082",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_jsm_msg.c"
        },
        "signature_version": "v1",
        "signature_type": "Line",
        "deprecated": false
    },
    {
        "digest": {
            "line_hashes": [
                "317975006593317885328437075212615393436",
                "93193263261059582938260861309024642173",
                "238380810650035891435614794752494980180",
                "158060183681815122748669956363549290337",
                "27272346169224025994181642256878133367",
                "115989871219631812321046505772370705346",
                "76315200441319684198753046953292414840",
                "310450382923083794732709854590241136093",
                "235484824896965710175355667280448449578",
                "257716091974528504562450118658353407746",
                "324852186940453774353929320160268403142",
                "257153299197436456758872207398375251751",
                "196055660540990282103047852402848049432",
                "122652139863942323955063357396069536450",
                "260673703131276549519957510174221963979",
                "183997741357028816374008804255322973147",
                "308322667271728412929468299952751295125",
                "165549650467220666884243344092636135864",
                "337002656551718286270038722975510274359",
                "126975641728125162113982972143975905553",
                "522645162619305022831501378900587373",
                "94097835162027784591994555826262492284",
                "36976341741210484765593710346576596025",
                "112959508245980225251717003040848642557",
                "262104425176176084759012120951384182481",
                "281127139423005844673291216641901878381",
                "10483022753513229048770739360369912806",
                "165700211801768761792523005512476450052",
                "141969369464748608920097565454003698697",
                "274426552007298821285842243480482142249",
                "240166853088025311157049861179247943913",
                "255597933988589077739991690382104674087",
                "139421894287422180329276317419539239327",
                "74681751765756359365838715038158644514",
                "234227355013441036108078515995744064021",
                "333220289136838910960576278214756381889",
                "21154126597879434027543129934340761220",
                "82933139560981775518890589440840296446",
                "19116822220528348043215103015461860446"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2024-56540-22c95338",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@362ef76020ea6219a4df4ac5b738672b59527239",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.c"
        },
        "signature_version": "v1",
        "signature_type": "Line",
        "deprecated": false
    },
    {
        "digest": {
            "function_hash": "39617329996196321014615423361124261808",
            "length": 698.0
        },
        "id": "CVE-2024-56540-2bbf172e",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5eaa497411197c41b0813d61ba3fbd6267049082",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.c",
            "function": "ivpu_ipc_send_receive_internal"
        },
        "signature_version": "v1",
        "signature_type": "Function",
        "deprecated": false
    },
    {
        "digest": {
            "function_hash": "71031228638683047418717013370939589783",
            "length": 578.0
        },
        "id": "CVE-2024-56540-33a0347a",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5eaa497411197c41b0813d61ba3fbd6267049082",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.c",
            "function": "ivpu_ipc_send_receive_active"
        },
        "signature_version": "v1",
        "signature_type": "Function",
        "deprecated": false
    },
    {
        "digest": {
            "function_hash": "71031228638683047418717013370939589783",
            "length": 578.0
        },
        "id": "CVE-2024-56540-618529f2",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cac822772c4dc27a285f09caf30072ab76d2bf38",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.c",
            "function": "ivpu_ipc_send_receive_active"
        },
        "signature_version": "v1",
        "signature_type": "Function",
        "deprecated": false
    },
    {
        "digest": {
            "function_hash": "71031228638683047418717013370939589783",
            "length": 578.0
        },
        "id": "CVE-2024-56540-685e2f80",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@362ef76020ea6219a4df4ac5b738672b59527239",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.c",
            "function": "ivpu_ipc_send_receive_active"
        },
        "signature_version": "v1",
        "signature_type": "Function",
        "deprecated": false
    },
    {
        "digest": {
            "function_hash": "97197786451142694960729429357217702189",
            "length": 287.0
        },
        "id": "CVE-2024-56540-69989955",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5eaa497411197c41b0813d61ba3fbd6267049082",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.c",
            "function": "ivpu_ipc_send_receive"
        },
        "signature_version": "v1",
        "signature_type": "Function",
        "deprecated": false
    },
    {
        "digest": {
            "line_hashes": [
                "62843954797304857355787245326490235546",
                "272001292153558373192818528307022017142",
                "314790105035072050734616401279167623026",
                "218621956332904732734548622814287307556",
                "218720853139099130644172032162439392477",
                "175661378806696726041520913131244278791"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2024-56540-69fda224",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5eaa497411197c41b0813d61ba3fbd6267049082",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.h"
        },
        "signature_version": "v1",
        "signature_type": "Line",
        "deprecated": false
    },
    {
        "digest": {
            "line_hashes": [
                "317975006593317885328437075212615393436",
                "93193263261059582938260861309024642173",
                "238380810650035891435614794752494980180",
                "158060183681815122748669956363549290337",
                "27272346169224025994181642256878133367",
                "115989871219631812321046505772370705346",
                "76315200441319684198753046953292414840",
                "310450382923083794732709854590241136093",
                "235484824896965710175355667280448449578",
                "257716091974528504562450118658353407746",
                "324852186940453774353929320160268403142",
                "257153299197436456758872207398375251751",
                "196055660540990282103047852402848049432",
                "122652139863942323955063357396069536450",
                "260673703131276549519957510174221963979",
                "183997741357028816374008804255322973147",
                "308322667271728412929468299952751295125",
                "165549650467220666884243344092636135864",
                "337002656551718286270038722975510274359",
                "126975641728125162113982972143975905553",
                "522645162619305022831501378900587373",
                "94097835162027784591994555826262492284",
                "36976341741210484765593710346576596025",
                "112959508245980225251717003040848642557",
                "262104425176176084759012120951384182481",
                "281127139423005844673291216641901878381",
                "10483022753513229048770739360369912806",
                "165700211801768761792523005512476450052",
                "141969369464748608920097565454003698697",
                "274426552007298821285842243480482142249",
                "240166853088025311157049861179247943913",
                "255597933988589077739991690382104674087",
                "139421894287422180329276317419539239327",
                "74681751765756359365838715038158644514",
                "234227355013441036108078515995744064021",
                "333220289136838910960576278214756381889",
                "21154126597879434027543129934340761220",
                "82933139560981775518890589440840296446",
                "19116822220528348043215103015461860446"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2024-56540-712998ef",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5eaa497411197c41b0813d61ba3fbd6267049082",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.c"
        },
        "signature_version": "v1",
        "signature_type": "Line",
        "deprecated": false
    },
    {
        "digest": {
            "line_hashes": [
                "62843954797304857355787245326490235546",
                "272001292153558373192818528307022017142",
                "314790105035072050734616401279167623026",
                "218621956332904732734548622814287307556",
                "218720853139099130644172032162439392477",
                "175661378806696726041520913131244278791"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2024-56540-72978215",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@362ef76020ea6219a4df4ac5b738672b59527239",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.h"
        },
        "signature_version": "v1",
        "signature_type": "Line",
        "deprecated": false
    },
    {
        "digest": {
            "line_hashes": [
                "198028128997096214012476085634520584604",
                "300259328440539635493885047665445377014",
                "168961803409831692947906364768173608807",
                "242022397306480348685603152529545587067",
                "223106083586963700597540845903066177604",
                "100613911597822206434068161735247303400",
                "197589755692461201010968791904358451691",
                "5103671056675857911512179073328841633",
                "49941959052346518217358100750757612745",
                "261306501196826983746082208594646661204",
                "47830291229134187026453672375956699126",
                "197393074514433844592012046890811178610",
                "97837520963890207973927397192715864725",
                "56761724535991129299122267823917348976",
                "150840844403319430238387939971496396594",
                "102062145951292021840780515581335436441",
                "97328689917162447833468603244541201442",
                "285203637393686397608935649742255040946",
                "163265433474775350844294783318583606661",
                "303708973544533096037433662573651531264",
                "36997035696703386521746806050112741629"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2024-56540-7adcb83a",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@362ef76020ea6219a4df4ac5b738672b59527239",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_jsm_msg.c"
        },
        "signature_version": "v1",
        "signature_type": "Line",
        "deprecated": false
    },
    {
        "digest": {
            "function_hash": "39617329996196321014615423361124261808",
            "length": 698.0
        },
        "id": "CVE-2024-56540-85a80746",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cac822772c4dc27a285f09caf30072ab76d2bf38",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.c",
            "function": "ivpu_ipc_send_receive_internal"
        },
        "signature_version": "v1",
        "signature_type": "Function",
        "deprecated": false
    },
    {
        "digest": {
            "line_hashes": [
                "198028128997096214012476085634520584604",
                "300259328440539635493885047665445377014",
                "168961803409831692947906364768173608807",
                "242022397306480348685603152529545587067",
                "223106083586963700597540845903066177604",
                "100613911597822206434068161735247303400",
                "197589755692461201010968791904358451691",
                "5103671056675857911512179073328841633",
                "49941959052346518217358100750757612745",
                "261306501196826983746082208594646661204",
                "47830291229134187026453672375956699126",
                "197393074514433844592012046890811178610",
                "97837520963890207973927397192715864725",
                "56761724535991129299122267823917348976",
                "150840844403319430238387939971496396594",
                "102062145951292021840780515581335436441",
                "97328689917162447833468603244541201442",
                "285203637393686397608935649742255040946",
                "163265433474775350844294783318583606661",
                "303708973544533096037433662573651531264",
                "36997035696703386521746806050112741629"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2024-56540-8c4c6047",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cac822772c4dc27a285f09caf30072ab76d2bf38",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_jsm_msg.c"
        },
        "signature_version": "v1",
        "signature_type": "Line",
        "deprecated": false
    },
    {
        "digest": {
            "function_hash": "39617329996196321014615423361124261808",
            "length": 698.0
        },
        "id": "CVE-2024-56540-8e9c290a",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@362ef76020ea6219a4df4ac5b738672b59527239",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.c",
            "function": "ivpu_ipc_send_receive_internal"
        },
        "signature_version": "v1",
        "signature_type": "Function",
        "deprecated": false
    },
    {
        "digest": {
            "line_hashes": [
                "317975006593317885328437075212615393436",
                "93193263261059582938260861309024642173",
                "238380810650035891435614794752494980180",
                "158060183681815122748669956363549290337",
                "27272346169224025994181642256878133367",
                "115989871219631812321046505772370705346",
                "76315200441319684198753046953292414840",
                "310450382923083794732709854590241136093",
                "235484824896965710175355667280448449578",
                "257716091974528504562450118658353407746",
                "324852186940453774353929320160268403142",
                "257153299197436456758872207398375251751",
                "196055660540990282103047852402848049432",
                "122652139863942323955063357396069536450",
                "260673703131276549519957510174221963979",
                "183997741357028816374008804255322973147",
                "308322667271728412929468299952751295125",
                "165549650467220666884243344092636135864",
                "337002656551718286270038722975510274359",
                "126975641728125162113982972143975905553",
                "522645162619305022831501378900587373",
                "94097835162027784591994555826262492284",
                "36976341741210484765593710346576596025",
                "112959508245980225251717003040848642557",
                "262104425176176084759012120951384182481",
                "281127139423005844673291216641901878381",
                "10483022753513229048770739360369912806",
                "165700211801768761792523005512476450052",
                "141969369464748608920097565454003698697",
                "274426552007298821285842243480482142249",
                "240166853088025311157049861179247943913",
                "255597933988589077739991690382104674087",
                "139421894287422180329276317419539239327",
                "74681751765756359365838715038158644514",
                "234227355013441036108078515995744064021",
                "333220289136838910960576278214756381889",
                "21154126597879434027543129934340761220",
                "82933139560981775518890589440840296446",
                "19116822220528348043215103015461860446"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2024-56540-b5e7d7ab",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cac822772c4dc27a285f09caf30072ab76d2bf38",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.c"
        },
        "signature_version": "v1",
        "signature_type": "Line",
        "deprecated": false
    },
    {
        "digest": {
            "function_hash": "97197786451142694960729429357217702189",
            "length": 287.0
        },
        "id": "CVE-2024-56540-d6af495c",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@362ef76020ea6219a4df4ac5b738672b59527239",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.c",
            "function": "ivpu_ipc_send_receive"
        },
        "signature_version": "v1",
        "signature_type": "Function",
        "deprecated": false
    },
    {
        "digest": {
            "line_hashes": [
                "62843954797304857355787245326490235546",
                "272001292153558373192818528307022017142",
                "314790105035072050734616401279167623026",
                "218621956332904732734548622814287307556",
                "218720853139099130644172032162439392477",
                "175661378806696726041520913131244278791"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2024-56540-fd8a6028",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cac822772c4dc27a285f09caf30072ab76d2bf38",
        "target": {
            "file": "drivers/accel/ivpu/ivpu_ipc.h"
        },
        "signature_version": "v1",
        "signature_type": "Line",
        "deprecated": false
    }
]

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.8.0
Fixed
6.11.11
Type
ECOSYSTEM
Events
Introduced
6.12.0
Fixed
6.12.2