CVE-2024-38664

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-38664
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-38664.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-38664
Downstream
Related
Published
2024-06-24T13:50:52Z
Modified
2025-10-15T12:14:37.898238Z
Summary
drm: zynqmp_dpsub: Always register bridge
Details

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

drm: zynqmp_dpsub: Always register bridge

We must always register the DRM bridge, since zynqmpdphpdworkfunc calls drmbridgehpdnotify, which in turn expects hpdmutex to be initialized. We do this before zynqmpdpsubdrminit since that calls drmbridge_attach. This fixes the following lockdep warning:

[ 19.217084] ------------[ cut here ]------------ [ 19.227530] DEBUGLOCKSWARNON(lock->magic != lock) [ 19.227768] WARNING: CPU: 0 PID: 140 at kernel/locking/mutex.c:582 _mutexlock+0x4bc/0x550 [ 19.241696] Modules linked in: [ 19.244937] CPU: 0 PID: 140 Comm: kworker/0:4 Not tainted 6.6.20+ #96 [ 19.252046] Hardware name: xlnx,zynqmp (DT) [ 19.256421] Workqueue: events zynqmpdphpdworkfunc [ 19.261795] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 19.269104] pc : _mutexlock+0x4bc/0x550 [ 19.273364] lr : _mutexlock+0x4bc/0x550 [ 19.277592] sp : ffffffc085c5bbe0 [ 19.281066] x29: ffffffc085c5bbe0 x28: 0000000000000000 x27: ffffff88009417f8 [ 19.288624] x26: ffffff8800941788 x25: ffffff8800020008 x24: ffffffc082aa3000 [ 19.296227] x23: ffffffc080d90e3c x22: 0000000000000002 x21: 0000000000000000 [ 19.303744] x20: 0000000000000000 x19: ffffff88002f5210 x18: 0000000000000000 [ 19.311295] x17: 6c707369642e3030 x16: 3030613464662072 x15: 0720072007200720 [ 19.318922] x14: 0000000000000000 x13: 284e4f5f4e524157 x12: 0000000000000001 [ 19.326442] x11: 0001ffc085c5b940 x10: 0001ff88003f388b x9 : 0001ff88003f3888 [ 19.334003] x8 : 0001ff88003f3888 x7 : 0000000000000000 x6 : 0000000000000000 [ 19.341537] x5 : 0000000000000000 x4 : 0000000000001668 x3 : 0000000000000000 [ 19.349054] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffffff88003f3880 [ 19.356581] Call trace: [ 19.359160] _mutexlock+0x4bc/0x550 [ 19.363032] mutexlocknested+0x24/0x30 [ 19.367187] drmbridgehpdnotify+0x2c/0x6c [ 19.371698] zynqmpdphpdworkfunc+0x44/0x54 [ 19.376364] processonework+0x3ac/0x988 [ 19.380660] workerthread+0x398/0x694 [ 19.384736] kthread+0x1bc/0x1c0 [ 19.388241] retfromfork+0x10/0x20 [ 19.392031] irq event stamp: 183 [ 19.395450] hardirqs last enabled at (183): [<ffffffc0800b9278>] finishtaskswitch.isra.0+0xa8/0x2d4 [ 19.405140] hardirqs last disabled at (182): [<ffffffc081ad3754>] _schedule+0x714/0xd04 [ 19.413612] softirqs last enabled at (114): [<ffffffc080133de8>] srcuinvokecallbacks+0x158/0x23c [ 19.423128] softirqs last disabled at (110): [<ffffffc080133de8>] srcuinvokecallbacks+0x158/0x23c [ 19.432614] ---[ end trace 0000000000000000 ]---

(cherry picked from commit 61ba791c4a7a09a370c45b70a81b8c7d4cf6b2ae)

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
eb2d64bfcc174919a921295a5327b99a3b8f4166
Fixed
6ead3eccf67bc8318b1ce95ed879b2cc05b4fce9
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
eb2d64bfcc174919a921295a5327b99a3b8f4166
Fixed
603661357056b5e5ba6d86f505fbc936eff396ba
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
eb2d64bfcc174919a921295a5327b99a3b8f4166
Fixed
be3f3042391d061cfca2bd22630e0d101acea5fc

Affected versions

v6.*

v6.1
v6.1-rc2
v6.1-rc3
v6.1-rc4
v6.1-rc5
v6.1-rc6
v6.1-rc7
v6.1-rc8
v6.2
v6.2-rc1
v6.2-rc2
v6.2-rc3
v6.2-rc4
v6.2-rc5
v6.2-rc6
v6.2-rc7
v6.2-rc8
v6.3
v6.3-rc1
v6.3-rc2
v6.3-rc3
v6.3-rc4
v6.3-rc5
v6.3-rc6
v6.3-rc7
v6.4
v6.4-rc1
v6.4-rc2
v6.4-rc3
v6.4-rc4
v6.4-rc5
v6.4-rc6
v6.4-rc7
v6.5
v6.5-rc1
v6.5-rc2
v6.5-rc3
v6.5-rc4
v6.5-rc5
v6.5-rc6
v6.5-rc7
v6.6
v6.6-rc1
v6.6-rc2
v6.6-rc3
v6.6-rc4
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.6.1
v6.6.10
v6.6.11
v6.6.12
v6.6.13
v6.6.14
v6.6.15
v6.6.16
v6.6.17
v6.6.18
v6.6.19
v6.6.2
v6.6.20
v6.6.21
v6.6.22
v6.6.23
v6.6.24
v6.6.25
v6.6.26
v6.6.27
v6.6.28
v6.6.29
v6.6.3
v6.6.30
v6.6.31
v6.6.32
v6.6.4
v6.6.5
v6.6.6
v6.6.7
v6.6.8
v6.6.9
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
v6.9.1
v6.9.2
v6.9.3

Database specific

{
    "vanir_signatures": [
        {
            "digest": {
                "length": 316.0,
                "function_hash": "153869146087665096001311977215747682396"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ead3eccf67bc8318b1ce95ed879b2cc05b4fce9",
            "signature_type": "Function",
            "target": {
                "function": "zynqmp_dpsub_remove",
                "file": "drivers/gpu/drm/xlnx/zynqmp_dpsub.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2024-38664-053e0704"
        },
        {
            "digest": {
                "length": 1000.0,
                "function_hash": "285173694424080212469141606089914493156"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@603661357056b5e5ba6d86f505fbc936eff396ba",
            "signature_type": "Function",
            "target": {
                "function": "zynqmp_dpsub_probe",
                "file": "drivers/gpu/drm/xlnx/zynqmp_dpsub.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2024-38664-342a0e8e"
        },
        {
            "digest": {
                "length": 316.0,
                "function_hash": "153869146087665096001311977215747682396"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@603661357056b5e5ba6d86f505fbc936eff396ba",
            "signature_type": "Function",
            "target": {
                "function": "zynqmp_dpsub_remove",
                "file": "drivers/gpu/drm/xlnx/zynqmp_dpsub.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2024-38664-672e1383"
        },
        {
            "digest": {
                "length": 1000.0,
                "function_hash": "285173694424080212469141606089914493156"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ead3eccf67bc8318b1ce95ed879b2cc05b4fce9",
            "signature_type": "Function",
            "target": {
                "function": "zynqmp_dpsub_probe",
                "file": "drivers/gpu/drm/xlnx/zynqmp_dpsub.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2024-38664-734230c2"
        },
        {
            "digest": {
                "line_hashes": [
                    "252013744823552639580426530816433316208",
                    "144351290870951922553927909923545556260",
                    "197413108507371614408477524864473745374",
                    "159481320258585579796073647067978761024",
                    "324913613364367729450977984849164681946",
                    "148874536596400252931331974947810781142",
                    "305763705903034133919799161311087165947",
                    "168604200751932927194743811395622065175",
                    "83948221968642190571556053968819395185",
                    "92187783537608153366651655838916356528",
                    "91688870363525450724589710465984543020",
                    "179685449880067449698404700820208194436",
                    "35176359824690560294095048993945826774",
                    "315850697907281642634256771923100911026"
                ],
                "threshold": 0.9
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@603661357056b5e5ba6d86f505fbc936eff396ba",
            "signature_type": "Line",
            "target": {
                "file": "drivers/gpu/drm/xlnx/zynqmp_dpsub.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2024-38664-7917a0df"
        },
        {
            "digest": {
                "line_hashes": [
                    "252013744823552639580426530816433316208",
                    "144351290870951922553927909923545556260",
                    "197413108507371614408477524864473745374",
                    "159481320258585579796073647067978761024",
                    "324913613364367729450977984849164681946",
                    "148874536596400252931331974947810781142",
                    "305763705903034133919799161311087165947",
                    "168604200751932927194743811395622065175",
                    "83948221968642190571556053968819395185",
                    "92187783537608153366651655838916356528",
                    "91688870363525450724589710465984543020",
                    "179685449880067449698404700820208194436",
                    "35176359824690560294095048993945826774",
                    "315850697907281642634256771923100911026"
                ],
                "threshold": 0.9
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ead3eccf67bc8318b1ce95ed879b2cc05b4fce9",
            "signature_type": "Line",
            "target": {
                "file": "drivers/gpu/drm/xlnx/zynqmp_dpsub.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2024-38664-80371645"
        }
    ]
}

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.33
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.9.4