CVE-2026-90402: bus: mhi: host: Fix controller cleanup on EDL sysfs failure
In the Linux kernel, the following vulnerability has been resolved:
bus: mhi: host: Fix controller cleanup on EDL sysfs failure
mhiregistercontroller() adds the controller device before creating the optional triggeredl sysfs file. If sysfscreatefile() fails, the error path only drops the device reference and leaves the device registered.
Hence, call devicedel() in the error path before putdevice().
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.115-2Fixed in 7.2.12-1Fixed in 7.2.15-1 - Upgrade
Upgrade
debian/linux-6.12to a version that resolves this vulnerability.Fixed in 6.12.113-1~deb12u1 - Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Compensating control
In the sysfs_create_file() error path of mhi_register_controller(), call device_del() before put_device() so the controller device is deregistered before releasing its reference.
Event History
Frequently Asked Questions
Under what condition does the faulty cleanup path run?
It runs when creation of the optional trigger_edl sysfs file fails during mhi_register_controller(). The controller device has already been added at that point.
What is the result of the failed cleanup?
The error path drops the device reference but does not unregister the already-added controller device, leaving it registered.
What change addresses the issue?
The fix calls device_del() in the sysfs-file-creation failure path before put_device(), so the controller device is unregistered during cleanup.