5.5

CVE-2023-52791

i2c: core: Run atomic i2c xfer when !preemptible

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.
Daten sind bereitgestellt durch National Vulnerability Database (NVD)
LinuxLinux Kernel Version >= 5.2 < 5.4.262
LinuxLinux Kernel Version >= 5.5 < 5.10.202
LinuxLinux Kernel Version >= 5.11 < 5.15.140
LinuxLinux Kernel Version >= 5.16 < 6.1.64
LinuxLinux Kernel Version >= 6.2 < 6.5.13
LinuxLinux Kernel Version >= 6.6 < 6.6.3
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.24% 0.148
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
nvd@nist.gov 5.5 1.8 3.6
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/185f3617adc8fe45e40489b458f03911f0dec46c
Patch
https://git.kernel.org/stable/c/25284c46b657f48c0f3880a2e0706c70d81182c0
Patch
https://git.kernel.org/stable/c/25eb381a736e7ae39a4245ef5c96484eb1073809
Patch
https://git.kernel.org/stable/c/3473cf43b9068b9dfef2f545f833f33c6a544b91
Patch
https://git.kernel.org/stable/c/8c3fa52a46ff4d208cefb1a462ec94e0043a91e1
Patch
https://git.kernel.org/stable/c/aa49c90894d06e18a1ee7c095edbd2f37c232d02
Patch
https://git.kernel.org/stable/c/f6237afabc349c1c7909db00e15d2816519e0d2b
Patch