Critical · published July 19, 2026
In the Linux kernel, the following vulnerability has been resolved:
serial: 8250_dw: unregister 8250 port if clk_notifier_register() fails
dw8250_probe() registers the 8250 port via serial8250_register_8250_port()
and then, if the device has a clock, registers a clock notifier. If
clk_notifier_register() fails, probe returns the error but leaves the
8250 port registered. The matching serial8250_unregister_port() lives
in dw8250_remove(), which is not called when probe fails, so the port
slot stays occupied until the device is rebound or the system is
rebooted. The devm-allocated driver data is freed while the port still
references it (via the saved private_data and serial_in/serial_out
callbacks), so any access to that port slot before a rebind is a
use-after-free hazard.
Unregister the port on the clk_notifier_register() error path.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 5.19, < 6.1.177 | 6.1.177 |
| linux/linux_kernel | ≥ 6.2, < 6.6.144 | 6.6.144 |
| linux/linux_kernel | ≥ 6.7, < 6.12.95 | 6.12.95 |
| linux/linux_kernel | ≥ 6.13, < 6.18.38 | 6.18.38 |
| linux/linux_kernel | ≥ 6.19, < 7.0.14 | 7.0.14 |
| linux/linux_kernel | ≥ 7.1, < 7.1.2 | 7.1.2 |