First published: Tue May 21 2024(Updated: )
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.
Credit: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Software | Affected Version | How to fix |
---|---|---|
redhat/kernel | <5.4.262 | 5.4.262 |
redhat/kernel | <5.10.202 | 5.10.202 |
redhat/kernel | <5.15.140 | 5.15.140 |
redhat/kernel | <6.1.64 | 6.1.64 |
redhat/kernel | <6.5.13 | 6.5.13 |
redhat/kernel | <6.6.3 | 6.6.3 |
redhat/kernel | <6.7 | 6.7 |
IBM Security Verify Governance - Identity Manager | <=ISVG 10.0.2 | |
IBM Security Verify Governance, Identity Manager Software Stack | <=ISVG 10.0.2 | |
IBM Security Verify Governance, Identity Manager Virtual Appliance | <=ISVG 10.0.2 | |
IBM Security Verify Governance Identity Manager Container | <=ISVG 10.0.2 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2023-52791 has a medium severity rating due to potential impacts on system stability during i2c transfers.
To fix CVE-2023-52791, upgrade to the latest kernel versions indicated, such as 5.4.262, 5.10.202, or later, from Red Hat.
CVE-2023-52791 affects systems running versions of the Linux kernel prior to 5.4.262, 5.10.202, and others listed in the advisory.
CVE-2023-52791 involves non-atomic i2c transfers requiring preemption, which can lead to system performance issues.
Yes, CVE-2023-52791 is specifically related to the handling of i2c transfers when preemption is disabled in the Linux kernel.