Vulnerability · Published May 21, 2024 · Assigned by Linux
CVE-2023-52791i2c: core: Run atomic i2c xfer when !preemptible
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: i2c: core: Run atomic i2c xfer when !preemptible Since bae1d3a05a8b, i2c transfers are non-atomic if preemption is disabled. However, non-atomic i2c transfers require preemption (e.g. in wait_for_completion() while waiting for the DMA). panic() calls preempt_disable_notrace() before calling emergency_restart(). Therefore, if an i2c device is used for the restart, the xfer should be atomic. This avoids warnings like: [ 12.667612] WARNING: CPU: 1 PID: 1 at kernel/rcu/tree_plugin.h:318 rcu_note_context_switch+0x33c/0x6b0 [ 12.676926] Voluntary context switch within RCU read-side critical section! ... [ 12.742376] schedule_timeout from wait_for_completion_timeout+0x90/0x114 [ 12.749179] wait_for_completion_timeout from tegra_i2c_wait_completion+0x40/0x70 ... [ 12.994527] atomic_notifier_call_chain from machine_restart+0x34/0x58 [ 13.001050] machine_restart from panic+0x2a8/0x32c Use !preemptible() instead, which is basically the same check as pre-v5.2.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:8 | bpftool | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-abi-stablelists | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-core | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-cross-headers | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-debug | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-debug-core | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-debug-devel | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-debug-modules | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-debug-modules-extra | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-devel | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-doc | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-headers | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-modules | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-modules-extra | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-rt | 4.18.0-553.16.1.rt7.357.el8_10 | ALSA-2024:5102 |
| AlmaLinux:8 | kernel-rt-core | 4.18.0-553.16.1.rt7.357.el8_10 | ALSA-2024:5102 |
| AlmaLinux:8 | kernel-rt-debug | 4.18.0-553.16.1.rt7.357.el8_10 | ALSA-2024:5102 |
| AlmaLinux:8 | kernel-rt-debug-core | 4.18.0-553.16.1.rt7.357.el8_10 | ALSA-2024:5102 |
| AlmaLinux:8 | kernel-rt-debug-devel | 4.18.0-553.16.1.rt7.357.el8_10 | ALSA-2024:5102 |
| AlmaLinux:8 | kernel-rt-debug-kvm | 4.18.0-553.16.1.rt7.357.el8_10 | ALSA-2024:5102 |
| AlmaLinux:8 | kernel-rt-debug-modules | 4.18.0-553.16.1.rt7.357.el8_10 | ALSA-2024:5102 |
| AlmaLinux:8 | kernel-rt-debug-modules-extra | 4.18.0-553.16.1.rt7.357.el8_10 | ALSA-2024:5102 |
| AlmaLinux:8 | kernel-rt-devel | 4.18.0-553.16.1.rt7.357.el8_10 | ALSA-2024:5102 |
| AlmaLinux:8 | kernel-rt-kvm | 4.18.0-553.16.1.rt7.357.el8_10 | ALSA-2024:5102 |
| AlmaLinux:8 | kernel-rt-modules | 4.18.0-553.16.1.rt7.357.el8_10 | ALSA-2024:5102 |
| AlmaLinux:8 | kernel-rt-modules-extra | 4.18.0-553.16.1.rt7.357.el8_10 | ALSA-2024:5102 |
| AlmaLinux:8 | kernel-tools | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-tools-libs | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-tools-libs-devel | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-zfcpdump | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-zfcpdump-core | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-zfcpdump-devel | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-zfcpdump-modules | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | kernel-zfcpdump-modules-extra | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | perf | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| AlmaLinux:8 | python3-perf | 4.18.0-553.16.1.el8_10 | ALSA-2024:5101 |
| Debian:12 | linux | 6.1.64-1 | DEBIAN-CVE-2023-52791 |
| Debian:13 | linux | 6.6.8-1 | DEBIAN-CVE-2023-52791 |
| Debian:14 | linux | 6.6.8-1 | DEBIAN-CVE-2023-52791 |
| Rocky Linux:8 | kernel | 0:4.18.0-553.16.1.el8_10.cloud.0.1 | RXSA-2024:5101 |
| Rocky Linux:8 | kernel | 0:4.18.0-553.16.1.el8_10 | RLSA-2024:5101 |
| Rocky Linux:8 | kernel-rt | 0:4.18.0-553.16.1.rt7.357.el8_10 | RLSA-2024:5102 |
| Ubuntu:22.04:LTS | linux | 5.15.0-100.110 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-aws | 5.15.0-1056.61 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-aws-6.2 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-aws-6.5 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-azure | 5.15.0-1058.66 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-azure-6.2 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-azure-6.5 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-azure-fde | 5.15.0-1058.66.1 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-gcp | 5.15.0-1053.61 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-gke | 5.15.0-1052.57 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-gkeop | 5.15.0-1038.44 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-ibm | 5.15.0-1048.51 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-intel-iotg | 5.15.0-1050.56 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-kvm | 5.15.0-1052.57 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-lowlatency | 5.15.0-100.110 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.5 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-nvidia | 5.15.0-1046.46 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | 6.5.0-1014.14 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra | 5.15.0-1025.25 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra-igx | 5.15.0-1012.12 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-oem-6.0 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-oem-6.1 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-oem-6.5 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-oracle | 5.15.0-1053.59 | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-raspi | 5.15.0-1048.51 | UBUNTU-CVE-2023-52791 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | no fix listed | UBUNTU-CVE-2023-52791 |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 5.15.0-1030.34 | UBUNTU-CVE-2023-52791 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | bae1d3a05a8b99bd748168bbf8155a1d047c562e – before 25eb381a736e7ae39a4245ef5c96484eb1073809bae1d3a05a8b99bd748168bbf8155a1d047c562e – before 25284c46b657f48c0f3880a2e0706c70d81182c0bae1d3a05a8b99bd748168bbf8155a1d047c562e – before f6237afabc349c1c7909db00e15d2816519e0d2bbae1d3a05a8b99bd748168bbf8155a1d047c562e – before 185f3617adc8fe45e40489b458f03911f0dec46cbae1d3a05a8b99bd748168bbf8155a1d047c562e – before 8c3fa52a46ff4d208cefb1a462ec94e0043a91e1bae1d3a05a8b99bd748168bbf8155a1d047c562e – before 3473cf43b9068b9dfef2f545f833f33c6a544b91bae1d3a05a8b99bd748168bbf8155a1d047c562e – before aa49c90894d06e18a1ee7c095edbd2f37c232d02 |
| Linux | Linux | 5.2 |
References
- https://git.kernel.org/stable/c/25eb381a736e7ae39a4245ef5c96484eb1073809
- https://git.kernel.org/stable/c/25284c46b657f48c0f3880a2e0706c70d81182c0
- https://git.kernel.org/stable/c/f6237afabc349c1c7909db00e15d2816519e0d2b
- https://git.kernel.org/stable/c/185f3617adc8fe45e40489b458f03911f0dec46c
- https://git.kernel.org/stable/c/8c3fa52a46ff4d208cefb1a462ec94e0043a91e1
- https://git.kernel.org/stable/c/3473cf43b9068b9dfef2f545f833f33c6a544b91
- https://git.kernel.org/stable/c/aa49c90894d06e18a1ee7c095edbd2f37c232d02