CVE-2023-54118

serial: sc16is7xx: setup GPIO controller later in probe

published December 24, 2025

CVSS
—
EPSS
0%
Percentile
10.4
In the wild
Unconfirmed
What it is

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

serial: sc16is7xx: setup GPIO controller later in probe

The GPIO controller component of the sc16is7xx driver is setup too

early, which can result in a race condition where another device tries

to utilise the GPIO lines before the sc16is7xx device has finished

initialising.

This issue manifests itself as an Oops when the GPIO lines are configured:

Unable to handle kernel read from unreadable memory at virtual address

...

pc : sc16is7xx_gpio_direction_output+0x68/0x108 [sc16is7xx]

lr : sc16is7xx_gpio_direction_output+0x4c/0x108 [sc16is7xx]

...

Call trace:

sc16is7xx_gpio_direction_output+0x68/0x108 [sc16is7xx]

gpiod_direction_output_raw_commit+0x64/0x318

gpiod_direction_output+0xb0/0x170

create_gpio_led+0xec/0x198

gpio_led_probe+0x16c/0x4f0

platform_drv_probe+0x5c/0xb0

really_probe+0xe8/0x448

driver_probe_device+0xe8/0x138

__device_attach_driver+0x94/0x118

bus_for_each_drv+0x8c/0xe0

__device_attach+0x100/0x1b8

device_initial_probe+0x28/0x38

bus_probe_device+0xa4/0xb0

deferred_probe_work_func+0x90/0xe0

process_one_work+0x1c4/0x480

worker_thread+0x54/0x430

kthread+0x138/0x150

ret_from_fork+0x10/0x1c

This patch moves the setup of the GPIO controller functions to later in the

probe function, ensuring the sc16is7xx device has already finished

initialising by the time other devices try to make use of the GPIO lines.

The error handling has also been reordered to reflect the new

initialisation order.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00208 · 10.4th percentile
Published
2025-12-24T13:06Z
EPSS history
Timeline
  • 24 DEC 13:06Z
    serial: sc16is7xx: setup GPIO controller later in probe
    cvelistv5