CVE-2022-49069

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-49069
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49069.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-49069
Downstream
Published
2025-02-26T01:54:35.813Z
Modified
2025-11-28T11:47:49.765586Z
Summary
drm/amd/display: Fix by adding FPU protection for dcn30_internal_validate_bw
Details

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

drm/amd/display: Fix by adding FPU protection for dcn30internalvalidate_bw

[Why] Below general protection fault observed when WebGL Aquarium is run for longer duration. If drm debug logs are enabled and set to 0x1f then the issue is observed within 10 minutes of run.

[ 100.717056] general protection fault, probably for non-canonical address 0x2d33302d32323032: 0000 [#1] PREEMPT SMP NOPTI [ 100.727921] CPU: 3 PID: 1906 Comm: DrmThread Tainted: G W 5.15.30 #12 d726c6a2d6ebe5cf9223931cbca6892f916fe18b [ 100.754419] RIP: 0010:CalculateSwathWidth+0x1f7/0x44f [ 100.767109] Code: 00 00 00 f2 42 0f 11 04 f0 48 8b 85 88 00 00 00 f2 42 0f 10 04 f0 48 8b 85 98 00 00 00 f2 42 0f 11 04 f0 48 8b 45 10 0f 57 c0 <f3> 42 0f 2a 04 b0 0f 57 c9 f3 43 0f 2a 0c b4 e8 8c e2 f3 ff 48 8b [ 100.781269] RSP: 0018:ffffa9230079eeb0 EFLAGS: 00010246 [ 100.812528] RAX: 2d33302d32323032 RBX: 0000000000000500 RCX: 0000000000000000 [ 100.819656] RDX: 0000000000000001 RSI: ffff99deb712c49c RDI: 0000000000000000 [ 100.826781] RBP: ffffa9230079ef50 R08: ffff99deb712460c R09: ffff99deb712462c [ 100.833907] R10: ffff99deb7124940 R11: ffff99deb7124d70 R12: ffff99deb712ae44 [ 100.841033] R13: 0000000000000001 R14: 0000000000000000 R15: ffffa9230079f0a0 [ 100.848159] FS: 00007af121212640(0000) GS:ffff99deba780000(0000) knlGS:0000000000000000 [ 100.856240] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 100.861980] CR2: 0000209000fe1000 CR3: 000000011b18c000 CR4: 0000000000350ee0 [ 100.869106] Call Trace: [ 100.871555] <TASK> [ 100.873655] ? asmsysvecrescheduleipi+0x12/0x20 [ 100.878449] CalculateSwathAndDETConfiguration+0x1a3/0x6dd [ 100.883937] dml31ModeSupportAndSystemConfigurationFull+0x2ce4/0x76da [ 100.890467] ? kallsymslookupbuildid+0xc8/0x163 [ 100.895173] ? kallsymslookupbuildid+0xc8/0x163 [ 100.899874] ? _sprintsymbol+0x80/0x135 [ 100.903883] ? dmupdateplanestate+0x3f9/0x4d2 [ 100.908500] ? symbolstring+0xb7/0xde [ 100.912250] ? number+0x145/0x29b [ 100.915566] ? vsnprintf+0x341/0x5ff [ 100.919141] ? descreadfinalizedseq+0x39/0x87 [ 100.923755] ? updateloadavg+0x1b9/0x607 [ 100.927849] ? computemstdscconfigsforstate+0x7d/0xd5b [ 100.933416] ? fetchpipeparams+0xa4d/0xd0c [ 100.937686] ? dcfpuend+0x3d/0xa8 [ 100.941175] dmlgetvoltagelevel+0x16b/0x180 [ 100.945619] dcn30internalvalidatebw+0x10e/0x89b [ 100.950495] ? dcn31validatebandwidth+0x68/0x1fc [ 100.955285] ? resourcebuildscalingparams+0x98b/0xb8c [ 100.960595] ? dcn31validatebandwidth+0x68/0x1fc [ 100.965384] dcn31validatebandwidth+0x9a/0x1fc [ 100.970001] dcvalidateglobalstate+0x238/0x295 [ 100.974703] amdgpudmatomiccheck+0x9c1/0xbce [ 100.979235] ? _printk+0x59/0x73 [ 100.982467] drmatomiccheckonly+0x403/0x78b [ 100.986912] drmmodeatomicioctl+0x49b/0x546 [ 100.991358] ? drmioctl+0x1c1/0x3b3 [ 100.994936] ? drmatomicsetproperty+0x92a/0x92a [ 100.999725] drmioctlkernel+0xdc/0x149 [ 101.003648] drmioctl+0x27f/0x3b3 [ 101.007051] ? drmatomicsetproperty+0x92a/0x92a [ 101.011842] amdgpudrmioctl+0x49/0x7d [ 101.015679] _sesysioctl+0x7c/0xb8 [ 101.015685] dosyscall64+0x5f/0xb8 [ 101.015690] ? _irqexit_rcu+0x34/0x96

[How] It calles populatedmlpipes which uses doubles to initialize. Adding FPU protection avoids context switch and probable loss of vba context as there is potential contention while drm debug logs are enabled.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49069.json"
}
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
4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c
Fixed
e995c5d52ec7415644eee617fc7e906b51aec7ae
Fixed
76f4c5e5f99ee7084b555d9a38e8ffeb16ec65a2
Fixed
ca1198849ab0e7af5efb392ef6baf1138f6fc086

Affected versions

v4.*

v4.13
v4.13-rc6
v4.13-rc7
v4.14
v4.14-rc1
v4.14-rc2
v4.14-rc3
v4.14-rc4
v4.14-rc5
v4.14-rc6
v4.14-rc7
v4.14-rc8
v4.15
v4.15-rc1
v4.15-rc2
v4.15-rc3
v4.15-rc4
v4.15-rc5
v4.15-rc6
v4.15-rc7
v4.15-rc8
v4.15-rc9
v4.16
v4.16-rc1
v4.16-rc2
v4.16-rc3
v4.16-rc4
v4.16-rc5
v4.16-rc6
v4.16-rc7
v4.17
v4.17-rc1
v4.17-rc2
v4.17-rc3
v4.17-rc4
v4.17-rc5
v4.17-rc6
v4.17-rc7
v4.18
v4.18-rc1
v4.18-rc2
v4.18-rc3
v4.18-rc4
v4.18-rc5
v4.18-rc6
v4.18-rc7
v4.18-rc8
v4.19
v4.19-rc1
v4.19-rc2
v4.19-rc3
v4.19-rc4
v4.19-rc5
v4.19-rc6
v4.19-rc7
v4.19-rc8
v4.20
v4.20-rc1
v4.20-rc2
v4.20-rc3
v4.20-rc4
v4.20-rc5
v4.20-rc6
v4.20-rc7

v5.*

v5.0
v5.0-rc1
v5.0-rc2
v5.0-rc3
v5.0-rc4
v5.0-rc5
v5.0-rc6
v5.0-rc7
v5.0-rc8
v5.1
v5.1-rc1
v5.1-rc2
v5.1-rc3
v5.1-rc4
v5.1-rc5
v5.1-rc6
v5.1-rc7
v5.10
v5.10-rc1
v5.10-rc2
v5.10-rc3
v5.10-rc4
v5.10-rc5
v5.10-rc6
v5.10-rc7
v5.11
v5.11-rc1
v5.11-rc2
v5.11-rc3
v5.11-rc4
v5.11-rc5
v5.11-rc6
v5.11-rc7
v5.12
v5.12-rc1
v5.12-rc1-dontuse
v5.12-rc2
v5.12-rc3
v5.12-rc4
v5.12-rc5
v5.12-rc6
v5.12-rc7
v5.12-rc8
v5.13
v5.13-rc1
v5.13-rc2
v5.13-rc3
v5.13-rc4
v5.13-rc5
v5.13-rc6
v5.13-rc7
v5.14
v5.14-rc1
v5.14-rc2
v5.14-rc3
v5.14-rc4
v5.14-rc5
v5.14-rc6
v5.14-rc7
v5.15
v5.15-rc1
v5.15-rc2
v5.15-rc3
v5.15-rc4
v5.15-rc5
v5.15-rc6
v5.15-rc7
v5.16
v5.16-rc1
v5.16-rc2
v5.16-rc3
v5.16-rc4
v5.16-rc5
v5.16-rc6
v5.16-rc7
v5.16-rc8
v5.16.1
v5.16.10
v5.16.11
v5.16.12
v5.16.13
v5.16.14
v5.16.15
v5.16.16
v5.16.17
v5.16.18
v5.16.19
v5.16.2
v5.16.3
v5.16.4
v5.16.5
v5.16.6
v5.16.7
v5.16.8
v5.16.9
v5.17
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.17-rc5
v5.17-rc6
v5.17-rc7
v5.17-rc8
v5.17.1
v5.17.2
v5.2
v5.2-rc1
v5.2-rc2
v5.2-rc3
v5.2-rc4
v5.2-rc5
v5.2-rc6
v5.2-rc7
v5.3
v5.3-rc1
v5.3-rc2
v5.3-rc3
v5.3-rc4
v5.3-rc5
v5.3-rc6
v5.3-rc7
v5.3-rc8
v5.4
v5.4-rc1
v5.4-rc2
v5.4-rc3
v5.4-rc4
v5.4-rc5
v5.4-rc6
v5.4-rc7
v5.4-rc8
v5.5
v5.5-rc1
v5.5-rc2
v5.5-rc3
v5.5-rc4
v5.5-rc5
v5.5-rc6
v5.5-rc7
v5.6
v5.6-rc1
v5.6-rc2
v5.6-rc3
v5.6-rc4
v5.6-rc5
v5.6-rc6
v5.6-rc7
v5.7
v5.7-rc1
v5.7-rc2
v5.7-rc3
v5.7-rc4
v5.7-rc5
v5.7-rc6
v5.7-rc7
v5.8
v5.8-rc1
v5.8-rc2
v5.8-rc3
v5.8-rc4
v5.8-rc5
v5.8-rc6
v5.8-rc7
v5.9
v5.9-rc1
v5.9-rc2
v5.9-rc3
v5.9-rc4
v5.9-rc5
v5.9-rc6
v5.9-rc7
v5.9-rc8

Database specific

vanir_signatures

[
    {
        "deprecated": false,
        "target": {
            "function": "dcn31_validate_bandwidth",
            "file": "drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c"
        },
        "id": "CVE-2022-49069-28ffd810",
        "digest": {
            "function_hash": "320319945820401505336489662619925321066",
            "length": 897.0
        },
        "signature_version": "v1",
        "signature_type": "Function",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76f4c5e5f99ee7084b555d9a38e8ffeb16ec65a2"
    },
    {
        "deprecated": false,
        "target": {
            "function": "dcn31_validate_bandwidth",
            "file": "drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c"
        },
        "id": "CVE-2022-49069-6ee25a78",
        "digest": {
            "function_hash": "320319945820401505336489662619925321066",
            "length": 897.0
        },
        "signature_version": "v1",
        "signature_type": "Function",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e995c5d52ec7415644eee617fc7e906b51aec7ae"
    },
    {
        "deprecated": false,
        "target": {
            "function": "dcn31_validate_bandwidth",
            "file": "drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c"
        },
        "id": "CVE-2022-49069-8dbe3ae3",
        "digest": {
            "function_hash": "320319945820401505336489662619925321066",
            "length": 897.0
        },
        "signature_version": "v1",
        "signature_type": "Function",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ca1198849ab0e7af5efb392ef6baf1138f6fc086"
    },
    {
        "deprecated": false,
        "target": {
            "file": "drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c"
        },
        "id": "CVE-2022-49069-9c2285bd",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "70640691259520709785493371777801297314",
                "277091088062835461615492575412407400370",
                "16491084155644336737362815380941816672",
                "205379602188302349410225211685218983395"
            ]
        },
        "signature_version": "v1",
        "signature_type": "Line",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76f4c5e5f99ee7084b555d9a38e8ffeb16ec65a2"
    },
    {
        "deprecated": false,
        "target": {
            "file": "drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c"
        },
        "id": "CVE-2022-49069-b9c94ed3",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "70640691259520709785493371777801297314",
                "277091088062835461615492575412407400370",
                "16491084155644336737362815380941816672",
                "205379602188302349410225211685218983395"
            ]
        },
        "signature_version": "v1",
        "signature_type": "Line",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ca1198849ab0e7af5efb392ef6baf1138f6fc086"
    },
    {
        "deprecated": false,
        "target": {
            "file": "drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c"
        },
        "id": "CVE-2022-49069-e20f03fb",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "70640691259520709785493371777801297314",
                "277091088062835461615492575412407400370",
                "16491084155644336737362815380941816672",
                "205379602188302349410225211685218983395"
            ]
        },
        "signature_version": "v1",
        "signature_type": "Line",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e995c5d52ec7415644eee617fc7e906b51aec7ae"
    }
]

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.15.0
Fixed
5.16.20
Type
ECOSYSTEM
Events
Introduced
5.17.0
Fixed
5.17.3