Vulnerability · Published May 3, 2024 · Assigned by Linux
CVE-2022-48704drm/radeon: add a force flush to delay work when radeon
Medium 5.5
In plain English
A medium-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 15% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
In the Linux kernel, the following vulnerability has been resolved: drm/radeon: add a force flush to delay work when radeon Although radeon card fence and wait for gpu to finish processing current batch rings, there is still a corner case that radeon lockup work queue may not be fully flushed, and meanwhile the radeon_suspend_kms() function has called pci_set_power_state() to put device in D3hot state. Per PCI spec rev 4.0 on 5.3.1.4.1 D3hot State. > Configuration and Message requests are the only TLPs accepted by a Function in > the D3hot state. All other received Requests must be handled as Unsupported Requests, > and all received Completions may optionally be handled as Unexpected Completions. This issue will happen in following logs: Unable to handle kernel paging request at virtual address 00008800e0008010 CPU 0 kworker/0:3(131): Oops 0 pc = [<ffffffff811bea5c>] ra = [<ffffffff81240844>] ps = 0000 Tainted: G W pc is at si_gpu_check_soft_reset+0x3c/0x240 ra is at si_dma_is_lockup+0x34/0xd0 v0 = 0000000000000000 t0 = fff08800e0008010 t1 = 0000000000010000 t2 = 0000000000008010 t3 = fff00007e3c00000 t4 = fff00007e3c00258 t5 = 000000000000ffff t6 = 0000000000000001 t7 = fff00007ef078000 s0 = fff00007e3c016e8 s1 = fff00007e3c00000 s2 = fff00007e3c00018 s3 = fff00007e3c00000 s4 = fff00007fff59d80 s5 = 0000000000000000 s6 = fff00007ef07bd98 a0 = fff00007e3c00000 a1 = fff00007e3c016e8 a2 = 0000000000000008 a3 = 0000000000000001 a4 = 8f5c28f5c28f5c29 a5 = ffffffff810f4338 t8 = 0000000000000275 t9 = ffffffff809b66f8 t10 = ff6769c5d964b800 t11= 000000000000b886 pv = ffffffff811bea20 at = 0000000000000000 gp = ffffffff81d89690 sp = 00000000aa814126 Disabling lock debugging due to kernel taint Trace: [<ffffffff81240844>] si_dma_is_lockup+0x34/0xd0 [<ffffffff81119610>] radeon_fence_check_lockup+0xd0/0x290 [<ffffffff80977010>] process_one_work+0x280/0x550 [<ffffffff80977350>] worker_thread+0x70/0x7c0 [<ffffffff80977410>] worker_thread+0x130/0x7c0 [<ffffffff80982040>] kthread+0x200/0x210 [<ffffffff809772e0>] worker_thread+0x0/0x7c0 [<ffffffff80981f8c>] kthread+0x14c/0x210 [<ffffffff80911658>] ret_from_kernel_thread+0x18/0x20 [<ffffffff80981e40>] kthread+0x0/0x210 Code: ad3e0008 43f0074a ad7e0018 ad9e0020 8c3001e8 40230101 <88210000> 4821ed21 So force lockup work queue flush to fix this problem.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | linux | 5.19.11-1 | DEBIAN-CVE-2022-48704 |
| Debian:13 | linux | 5.19.11-1 | DEBIAN-CVE-2022-48704 |
| Debian:14 | linux | 5.19.11-1 | DEBIAN-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux | 5.15.0-57.63 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-aws | 5.15.0-1027.31 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-aws-6.2 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-azure | 5.15.0-1030.37 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-azure-6.2 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-azure-fde | 5.15.0-1030.37.1 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-gcp | 5.15.0-1026.33 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-gke | 5.15.0-1024.29 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-gkeop | 5.15.0-1012.16 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-ibm | 5.15.0-1022.25 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-intel-iotg | 5.15.0-1023.28 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-kvm | 5.15.0-1025.30 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-lowlatency | 5.15.0-57.63 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-nvidia | 5.15.0-1015.15 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-oem-6.0 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-oem-6.1 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-oracle | 5.15.0-1026.32 | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-raspi | 5.15.0-1022.24 | UBUNTU-CVE-2022-48704 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | no fix listed | UBUNTU-CVE-2022-48704 |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | no fix listed | UBUNTU-CVE-2022-48704 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | 0bfa4b41268ad5fd741f16f484e4fee190822ec6 – before b878da58df2c40b08914d3960e2224040fd1fbfe0bfa4b41268ad5fd741f16f484e4fee190822ec6 – before 4e25e8f27fdbdc6fd55cc572a9939bf24500b9e80bfa4b41268ad5fd741f16f484e4fee190822ec6 – before c0a45f41fde4a0f2c900f719817493ee5c4a5aa30bfa4b41268ad5fd741f16f484e4fee190822ec6 – before c72d97146fc5a4dff381b1737f6167e89860430d0bfa4b41268ad5fd741f16f484e4fee190822ec6 – before 826b46fd5974113515abe9e4fc8178009a8ce18c0bfa4b41268ad5fd741f16f484e4fee190822ec6 – before 5a7a5b2edac4b05abd744eeaebda46d9dacd952d0bfa4b41268ad5fd741f16f484e4fee190822ec6 – before 16cb367daa446923d82e332537f446a4cc784b400bfa4b41268ad5fd741f16f484e4fee190822ec6 – before f461950fdc374a3ada5a63c669d997de4600dffe |
| Linux | Linux | 3.18 |
References
- https://git.kernel.org/stable/c/b878da58df2c40b08914d3960e2224040fd1fbfe
- https://git.kernel.org/stable/c/4e25e8f27fdbdc6fd55cc572a9939bf24500b9e8
- https://git.kernel.org/stable/c/c0a45f41fde4a0f2c900f719817493ee5c4a5aa3
- https://git.kernel.org/stable/c/c72d97146fc5a4dff381b1737f6167e89860430d
- https://git.kernel.org/stable/c/826b46fd5974113515abe9e4fc8178009a8ce18c
- https://git.kernel.org/stable/c/5a7a5b2edac4b05abd744eeaebda46d9dacd952d
- https://git.kernel.org/stable/c/16cb367daa446923d82e332537f446a4cc784b40
- https://git.kernel.org/stable/c/f461950fdc374a3ada5a63c669d997de4600dffe