CVE-2025-38335

Input: gpio-keys - fix a sleep while atomic with PREEMPT_RT

MEDIUM
5.5
CVSS Score
Published: July 10, 2025 at 08:15 AM UTC
Updated: June 17, 2026 at 09:16 AM UTC
2 products affected across 2 vendorsLinux KernelDebian Linux

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.1%

Description

In the Linux kernel, the following vulnerability has been resolved: Input: gpio-keys - fix a sleep while atomic with PREEMPT_RT When enabling PREEMPT_RT, the gpio_keys_irq_timer() callback runs in hard irq context, but the input_event() takes a spin_lock, which isn't allowed there as it is converted to a rt_spin_lock(). [ 4054.289999] BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48 [ 4054.290028] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 0, name: swapper/0 ... [ 4054.290195] __might_resched+0x13c/0x1f4 [ 4054.290209] rt_spin_lock+0x54/0x11c [ 4054.290219] input_event+0x48/0x80 [ 4054.290230] gpio_keys_irq_timer+0x4c/0x78 [ 4054.290243] __hrtimer_run_queues+0x1a4/0x438 [ 4054.290257] hrtimer_interrupt+0xe4/0x240 [ 4054.290269] arch_timer_handler_phys+0x2c/0x44 [ 4054.290283] handle_percpu_devid_irq+0x8c/0x14c [ 4054.290297] handle_irq_desc+0x40/0x58 [ 4054.290307] generic_handle_domain_irq+0x1c/0x28 [ 4054.290316] gic_handle_irq+0x44/0xcc Considering the gpio_keys_irq_isr() can run in any context, e.g. it can be threaded, it seems there's no point in requesting the timer isr to run in hard irq context. Relax the hrtimer not to use the hard context.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.13 ≤ v < 5.15.1905.13 ≤ v < 6.1.1485.13 ≤ v < 6.12.415.13 ≤ v < 6.15.45.13 ≤ v < 6.165.13 ≤ v < 6.6.1015.16 ≤ v < 6.1.1486.13 ≤ v < 6.15.46.2 ≤ v < 6.6.1016.7 ≤ v < 6.12.4119002f20cb5b9f78d39360aff244265d35e8a5.13
Vendor states this is fixed in 664e5a6f541ff226621487d1280d2ec28e86be28 (fixed)
Vendor states this is fixed in a7b79db25846459de63ca8974268f0c41c734c4b (fixed)
Vendor states this is fixed in a8f01e51109f77229e426b57c5d19251b462c6aa (fixed)
Vendor states this is fixed in ec8f5da79b425deef5aebacdd4fe645620cd4f0b (fixed)
Vendor states this is fixed in f4a8f561d08e39f7833d4a278ebfb12a41eef15f (fixed)
Vendor states this is fixed in fa53beab4740c4e5fe969f218a379f9558be33dc (fixed)
Vendor states this is fixed in 5.13 (unaffected)
Vendor states this is fixed in 5.15.190 (unaffected)
Vendor states this is fixed in 6.1.148 (unaffected)
Vendor states this is fixed in 6.12.41 (unaffected)
Vendor states this is fixed in 6.15.4 (unaffected)
Vendor states this is fixed in 6.16 (unaffected)
Vendor states this is fixed in 6.6.101 (unaffected)

References (7)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/664e5a6f541ff226621487d1280d2ec28e86be28
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a7b79db25846459de63ca8974268f0c41c734c4b
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a8f01e51109f77229e426b57c5d19251b462c6aa
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ec8f5da79b425deef5aebacdd4fe645620cd4f0b
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/f4a8f561d08e39f7833d4a278ebfb12a41eef15f
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/fa53beab4740c4e5fe969f218a379f9558be33dc
Third Party Advisory
Source: af854a3a-2127-422b-91ae-364da2661108
https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-667

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card