CVE-2022-48660

gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully

Medium · published April 28, 2024

CVSS v3.1
5.5
EPSS
0%
Percentile
13.8
In the wild
Unconfirmed
What it is

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

gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully

When running gpio test on nxp-ls1028 platform with below command

gpiomon --num-events=3 --rising-edge gpiochip1 25

There will be a warning trace as below:

Call trace:

free_irq+0x204/0x360

lineevent_free+0x64/0x70

gpio_ioctl+0x598/0x6a0

__arm64_sys_ioctl+0xb4/0x100

invoke_syscall+0x5c/0x130

......

el0t_64_sync+0x1a0/0x1a4

The reason of this issue is that calling request_threaded_irq()

function failed, and then lineevent_free() is invoked to release

the resource. Since the lineevent_state::irq was already set, so

the subsequent invocation of free_irq() would trigger the above

warning call trace. To fix this issue, set the lineevent_state::irq

after the IRQ register successfully.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00236 · 13.8th percentile
Published
2024-04-28T13:01Z
EPSS history
Timeline
  • 28 APR 13:01Z
    gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully
    cvelistv5