CVE-2025-38335
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
10/07/2025
Last modified:
16/12/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
Input: gpio-keys - fix a sleep while atomic with PREEMPT_RT<br />
<br />
When enabling PREEMPT_RT, the gpio_keys_irq_timer() callback runs in<br />
hard irq context, but the input_event() takes a spin_lock, which isn&#39;t<br />
allowed there as it is converted to a rt_spin_lock().<br />
<br />
[ 4054.289999] BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48<br />
[ 4054.290028] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 0, name: swapper/0<br />
...<br />
[ 4054.290195] __might_resched+0x13c/0x1f4<br />
[ 4054.290209] rt_spin_lock+0x54/0x11c<br />
[ 4054.290219] input_event+0x48/0x80<br />
[ 4054.290230] gpio_keys_irq_timer+0x4c/0x78<br />
[ 4054.290243] __hrtimer_run_queues+0x1a4/0x438<br />
[ 4054.290257] hrtimer_interrupt+0xe4/0x240<br />
[ 4054.290269] arch_timer_handler_phys+0x2c/0x44<br />
[ 4054.290283] handle_percpu_devid_irq+0x8c/0x14c<br />
[ 4054.290297] handle_irq_desc+0x40/0x58<br />
[ 4054.290307] generic_handle_domain_irq+0x1c/0x28<br />
[ 4054.290316] gic_handle_irq+0x44/0xcc<br />
<br />
Considering the gpio_keys_irq_isr() can run in any context, e.g. it can<br />
be threaded, it seems there&#39;s no point in requesting the timer isr to<br />
run in hard irq context.<br />
<br />
Relax the hrtimer not to use the hard context.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.13 (including) | 5.15.190 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.148 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.101 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.41 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.15.4 (excluding) |
| cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/664e5a6f541ff226621487d1280d2ec28e86be28
- https://git.kernel.org/stable/c/a7b79db25846459de63ca8974268f0c41c734c4b
- https://git.kernel.org/stable/c/a8f01e51109f77229e426b57c5d19251b462c6aa
- https://git.kernel.org/stable/c/ec8f5da79b425deef5aebacdd4fe645620cd4f0b
- https://git.kernel.org/stable/c/f4a8f561d08e39f7833d4a278ebfb12a41eef15f
- https://git.kernel.org/stable/c/fa53beab4740c4e5fe969f218a379f9558be33dc
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html



