cveboard RSS feed

CVE-2023-54160

CVE.org · Published

Historical CVEsJSONAI instructions

Record status
Published
Identifier year (not publication year)
2023
Source publication
Source updated
Imported by cveboard
Source snapshot
cve_2026-10-24_midnight_baseline ·

Plain text

CNA source text (English)

firmware: arm_sdei: Fix sleep from invalid context BUG

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_sdei: Fix sleep from invalid context BUG Running a preempt-rt (v6.2-rc3-rt1) based kernel on an Ampere Altra triggers: BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:46 in_atomic(): 0, irqs_disabled(): 128, non_block: 0, pid: 24, name: cpuhp/0 preempt_count: 0, expected: 0 RCU nest depth: 0, expected: 0 3 locks held by cpuhp/0/24: #0: ffffda30217c70d0 (cpu_hotplug_lock){++++}-{0:0}, at: cpuhp_thread_fun+0x5c/0x248 #1: ffffda30217c7120 (cpuhp_state-up){+.+.}-{0:0}, at: cpuhp_thread_fun+0x5c/0x248 #2: ffffda3021c711f0 (sdei_list_lock){....}-{3:3}, at: sdei_cpuhp_up+0x3c/0x130 irq event stamp: 36 hardirqs last enabled at (35): [<ffffda301e85b7bc>] finish_task_switch+0xb4/0x2b0 hardirqs last disabled at (36): [<ffffda301e812fec>] cpuhp_thread_fun+0x21c/0x248 softirqs last enabled at (0): [<ffffda301e80b184>] copy_process+0x63c/0x1ac0 softirqs last disabled at (0): [<0000000000000000>] 0x0 CPU: 0 PID: 24 Comm: cpuhp/0 Not tainted 5.19.0-rc3-rt5-[...] Hardware name: WIWYNN Mt.Jade Server [...] Call trace: dump_backtrace+0x114/0x120 show_stack+0x20/0x70 dump_stack_lvl+0x9c/0xd8 dump_stack+0x18/0x34 __might_resched+0x188/0x228 rt_spin_lock+0x70/0x120 sdei_cpuhp_up+0x3c/0x130 cpuhp_invoke_callback+0x250/0xf08 cpuhp_thread_fun+0x120/0x248 smpboot_thread_fn+0x280/0x320 kthread+0x130/0x140 ret_from_fork+0x10/0x20 sdei_cpuhp_up() is called in the STARTING hotplug section, which runs with interrupts disabled. Use a CPUHP_AP_ONLINE_DYN entry instead to execute the cpuhp cb later, with preemption enabled. SDEI originally got its own cpuhp slot to allow interacting with perf. It got superseded by pNMI and this early slot is not relevant anymore. [1] Some SDEI calls (e.g. SDEI_1_0_FN_SDEI_PE_MASK) take actions on the calling CPU. It is checked that preemption is disabled for them. _ONLINE cpuhp cb are executed in the 'per CPU hotplug thread'. Preemption is enabled in those threads, but their cpumask is limited to 1 CPU. Move 'WARN_ON_ONCE(preemptible())' statements so that SDEI cpuhp cb don't trigger them. Also add a check for the SDEI_1_0_FN_SDEI_PRIVATE_RESET SDEI call which acts on the calling CPU. [1]: https://lore.kernel.org/all/5813b8c5-ae3e-87fd-fccc-94c9cd08816d@arm.com/

Scoped product and version facts

Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.

Exploitation unknown; this catalogue does not assess exploitation.

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
unaffected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
f92b5462a2f22d13a75dc663f7b2fac16a3e61cbaffectedgit59842a9ba27d5390ae5bf3233a92cad3a26d495cUnavailableNone listed
f92b5462a2f22d13a75dc663f7b2fac16a3e61cbaffectedgit48ac727ea4a3577eb1b4e24f807ba532c47930f9UnavailableNone listed
f92b5462a2f22d13a75dc663f7b2fac16a3e61cbaffectedgit7d8f5ccc826b39e05ff252b1fccd808c7a0725e0UnavailableNone listed
f92b5462a2f22d13a75dc663f7b2fac16a3e61cbaffectedgit66caf22787714c925e755719c293aaf3cb0b873bUnavailableNone listed
f92b5462a2f22d13a75dc663f7b2fac16a3e61cbaffectedgita8267bc8de736cae927165191b52fbc20d101dd1UnavailableNone listed
f92b5462a2f22d13a75dc663f7b2fac16a3e61cbaffectedgit18d5ea5b746120a3972e6c347ad9428228445327UnavailableNone listed
f92b5462a2f22d13a75dc663f7b2fac16a3e61cbaffectedgitd2c48b2387eb89e0bf2a2e06e30987cf410acad4UnavailableNone listed

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
affected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
4.16affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver4.16UnavailableNone listed
4.19.284unaffectedsemverUnavailable4.19.*None listed
5.4.244unaffectedsemverUnavailable5.4.*None listed
5.10.181unaffectedsemverUnavailable5.10.*None listed
5.15.113unaffectedsemverUnavailable5.15.*None listed
6.1.30unaffectedsemverUnavailable6.1.*None listed
6.3.4unaffectedsemverUnavailable6.3.*None listed
6.4unaffectedoriginal_commit_for_fixUnavailable*None listed