{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-38335","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-04-16T04:51:24.005Z","datePublished":"2025-07-10T08:15:07.063Z","dateUpdated":"2026-05-11T21:25:59.822Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-05-11T21:25:59.822Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nInput: gpio-keys - fix a sleep while atomic with PREEMPT_RT\n\nWhen enabling PREEMPT_RT, the gpio_keys_irq_timer() callback runs in\nhard irq context, but the input_event() takes a spin_lock, which isn't\nallowed there as it is converted to a rt_spin_lock().\n\n[ 4054.289999] BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48\n[ 4054.290028] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 0, name: swapper/0\n...\n[ 4054.290195]  __might_resched+0x13c/0x1f4\n[ 4054.290209]  rt_spin_lock+0x54/0x11c\n[ 4054.290219]  input_event+0x48/0x80\n[ 4054.290230]  gpio_keys_irq_timer+0x4c/0x78\n[ 4054.290243]  __hrtimer_run_queues+0x1a4/0x438\n[ 4054.290257]  hrtimer_interrupt+0xe4/0x240\n[ 4054.290269]  arch_timer_handler_phys+0x2c/0x44\n[ 4054.290283]  handle_percpu_devid_irq+0x8c/0x14c\n[ 4054.290297]  handle_irq_desc+0x40/0x58\n[ 4054.290307]  generic_handle_domain_irq+0x1c/0x28\n[ 4054.290316]  gic_handle_irq+0x44/0xcc\n\nConsidering the gpio_keys_irq_isr() can run in any context, e.g. it can\nbe threaded, it seems there's no point in requesting the timer isr to\nrun in hard irq context.\n\nRelax the hrtimer not to use the hard context."}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/input/keyboard/gpio_keys.c"],"versions":[{"version":"019002f20cb5b9f78d39360aff244265d035e08a","lessThan":"664e5a6f541ff226621487d1280d2ec28e86be28","status":"affected","versionType":"git"},{"version":"019002f20cb5b9f78d39360aff244265d035e08a","lessThan":"a8f01e51109f77229e426b57c5d19251b462c6aa","status":"affected","versionType":"git"},{"version":"019002f20cb5b9f78d39360aff244265d035e08a","lessThan":"fa53beab4740c4e5fe969f218a379f9558be33dc","status":"affected","versionType":"git"},{"version":"019002f20cb5b9f78d39360aff244265d035e08a","lessThan":"a7b79db25846459de63ca8974268f0c41c734c4b","status":"affected","versionType":"git"},{"version":"019002f20cb5b9f78d39360aff244265d035e08a","lessThan":"ec8f5da79b425deef5aebacdd4fe645620cd4f0b","status":"affected","versionType":"git"},{"version":"019002f20cb5b9f78d39360aff244265d035e08a","lessThan":"f4a8f561d08e39f7833d4a278ebfb12a41eef15f","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/input/keyboard/gpio_keys.c"],"versions":[{"version":"5.13","status":"affected"},{"version":"0","lessThan":"5.13","status":"unaffected","versionType":"semver"},{"version":"5.15.190","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.148","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.101","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.41","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.15.4","lessThanOrEqual":"6.15.*","status":"unaffected","versionType":"semver"},{"version":"6.16","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"5.15.190"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.1.148"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.6.101"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.12.41"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.15.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.16"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/664e5a6f541ff226621487d1280d2ec28e86be28"},{"url":"https://git.kernel.org/stable/c/a8f01e51109f77229e426b57c5d19251b462c6aa"},{"url":"https://git.kernel.org/stable/c/fa53beab4740c4e5fe969f218a379f9558be33dc"},{"url":"https://git.kernel.org/stable/c/a7b79db25846459de63ca8974268f0c41c734c4b"},{"url":"https://git.kernel.org/stable/c/ec8f5da79b425deef5aebacdd4fe645620cd4f0b"},{"url":"https://git.kernel.org/stable/c/f4a8f561d08e39f7833d4a278ebfb12a41eef15f"}],"title":"Input: gpio-keys - fix a sleep while atomic with PREEMPT_RT","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"}],"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2025-11-03T17:36:43.814Z"}}]}}