VYPR
Unrated severityNVD Advisory· Published Dec 24, 2025· Updated Apr 15, 2026

CVE-2023-54118

CVE-2023-54118

Description

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.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

In the Linux kernel sc16is7xx serial driver, GPIO controller setup occurs too early, causing a race condition leading to kernel Oops.

Vulnerability

In the Linux kernel's sc16is7xx serial driver, the GPIO controller component is initialized too early during device probe, before the device has fully finished initializing [1], [2]. This race condition allows another driver (e.g., gpio-led) to attempt to configure GPIO lines prematurely, resulting in a kernel Oops due to reading from unreadable memory.

Exploitation

The vulnerability is triggered during normal system boot when another device driver tries to use the GPIO lines before the sc16is7xx device is ready. An attacker would need local access to influence device initialization order or introduce a malicious driver that probes early; no special privileges are required [1], [2].

Impact

Successful exploitation causes a kernel Oops, leading to a denial of service condition. There is no indication of privilege escalation or data exfiltration [1], [2].

Mitigation

Patches have been committed to the Linux kernel stable branches that move GPIO controller setup later in the probe function, ensuring proper initialization before other devices can access the GPIO lines. Affected systems should update to the latest kernel version [1], [2].

AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

1

Patches

5

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

5

News mentions

0

No linked articles in our index yet.