CVE-2023-52884

Input: cyapa - add missing input core locking to suspend/resume functions

Medium · published June 21, 2024

CVSS v3.1
4.4
EPSS
0%
Percentile
6.9
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

Input: cyapa - add missing input core locking to suspend/resume functions

Grab input->mutex during suspend/resume functions like it is done in

other input drivers. This fixes the following warning during system

suspend/resume cycle on Samsung Exynos5250-based Snow Chromebook:

------------[ cut here ]------------

WARNING: CPU: 1 PID: 1680 at drivers/input/input.c:2291 input_device_enabled+0x68/0x6c

Modules linked in: ...

CPU: 1 PID: 1680 Comm: kworker/u4:12 Tainted: G W 6.6.0-rc5-next-20231009 #14109

Hardware name: Samsung Exynos (Flattened Device Tree)

Workqueue: events_unbound async_run_entry_fn

unwind_backtrace from show_stack+0x10/0x14

show_stack from dump_stack_lvl+0x58/0x70

dump_stack_lvl from __warn+0x1a8/0x1cc

__warn from warn_slowpath_fmt+0x18c/0x1b4

warn_slowpath_fmt from input_device_enabled+0x68/0x6c

input_device_enabled from cyapa_gen3_set_power_mode+0x13c/0x1dc

cyapa_gen3_set_power_mode from cyapa_reinitialize+0x10c/0x15c

cyapa_reinitialize from cyapa_resume+0x48/0x98

cyapa_resume from dpm_run_callback+0x90/0x298

dpm_run_callback from device_resume+0xb4/0x258

device_resume from async_resume+0x20/0x64

async_resume from async_run_entry_fn+0x40/0x15c

async_run_entry_fn from process_scheduled_works+0xbc/0x6a8

process_scheduled_works from worker_thread+0x188/0x454

worker_thread from kthread+0x108/0x140

kthread from ret_from_fork+0x14/0x28

Exception stack(0xf1625fb0 to 0xf1625ff8)

...

---[ end trace 0000000000000000 ]---

...

------------[ cut here ]------------

WARNING: CPU: 1 PID: 1680 at drivers/input/input.c:2291 input_device_enabled+0x68/0x6c

Modules linked in: ...

CPU: 1 PID: 1680 Comm: kworker/u4:12 Tainted: G W 6.6.0-rc5-next-20231009 #14109

Hardware name: Samsung Exynos (Flattened Device Tree)

Workqueue: events_unbound async_run_entry_fn

unwind_backtrace from show_stack+0x10/0x14

show_stack from dump_stack_lvl+0x58/0x70

dump_stack_lvl from __warn+0x1a8/0x1cc

__warn from warn_slowpath_fmt+0x18c/0x1b4

warn_slowpath_fmt from input_device_enabled+0x68/0x6c

input_device_enabled from cyapa_gen3_set_power_mode+0x13c/0x1dc

cyapa_gen3_set_power_mode from cyapa_reinitialize+0x10c/0x15c

cyapa_reinitialize from cyapa_resume+0x48/0x98

cyapa_resume from dpm_run_callback+0x90/0x298

dpm_run_callback from device_resume+0xb4/0x258

device_resume from async_resume+0x20/0x64

async_resume from async_run_entry_fn+0x40/0x15c

async_run_entry_fn from process_scheduled_works+0xbc/0x6a8

process_scheduled_works from worker_thread+0x188/0x454

worker_thread from kthread+0x108/0x140

kthread from ret_from_fork+0x14/0x28

Exception stack(0xf1625fb0 to 0xf1625ff8)

...

---[ end trace 0000000000000000 ]---

The record
Technical detail
CVSS v3.1
4.4 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00177 · 6.9th percentile
Published
2024-06-21T10:18Z
EPSS history
Timeline
  • 21 JUN 10:18Z
    Input: cyapa - add missing input core locking to suspend/resume functions
    cvelistv5