Linux Kernel OMAP GPIO Driver Registration Deadlock Vulnerability

Vulnerability

A vulnerability exists in the Linux kernel's OMAP GPIO driver related to how the OMAP MPU Input/Output (MPUIO) driver is registered. The OMAP MPUIO driver is registered during the GPIO probe process, which is not a suitable practice. This registration method can lead to a deadlock, as the driver core does not permit registering drivers while holding a device lock, a condition introduced by a recent change in the driver core. Furthermore, the OMAP MPUIO driver is not properly unregistered when the module is unloaded, creating potential for resource leaks or undefined behavior.

Impact

The improper registration of the OMAP MPUIO driver can lead to a deadlock situation, where the system becomes unresponsive or fails to function correctly, particularly in relation to GPIO operations.

Reproduction

The vulnerability can be reproduced by loading the OMAP GPIO driver, which will trigger the registration of the OMAP MPUIO driver from within the GPIO probe callback. This sequence of actions will create a deadlock condition, as the driver registration attempts to proceed while a device lock is active, causing the system to hang or become unresponsive.

Remediation

The OMAP MPUIO driver should be registered during the module initialization phase and unregistered during the module exit phase, rather than being registered from within the GPIO probe callback.

Added: Apr 27, 2026, 6:29 PM
Updated: Apr 27, 2026, 6:29 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
3.9
remediation
7.7
relevance
6.7
threat
4.8
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.