CVE-2026-89594: hsi: omap_ssi_core: fix missing DMA mask setup for SSI controller device
In the Linux kernel, the following vulnerability has been resolved:
hsi: omapssicore: fix missing DMA mask setup for SSI controller device
The OMAP SSI driver uses a synthetic HSI controller device allocated via hsialloccontroller(), which does not go through the normal OF/platform device initialization path.
As a result, the embedded struct device does not have a DMA mask initialized by default.
After recent DMA API hardening changes, dmamapsg() and related helpers now require a valid dmamask to be present, otherwise the driver may crash or trigger warnings when attempting DMA mapping operations.
Fix this by explicitly initializing the DMA mask for the SSI controller device and setting a 32-bit DMA mask, which matches the hardware capabilities.
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Explicitly initialize/setup the embedded SSI controller device's 32-bit DMA mask during initialization (hsi_alloc_controller/SSI controller device allocation) so it matches the hardware device DMA mask setup path and avoids crash/trigger warnings during dma_map_sg() DMA mapping.
Linux kernel OMAP SSI driver (hsi: omap_ssi_core) DMA mask (dma_mask) for SSI controller device = 32-bit (initialized to match hardware)
Event History
Frequently Asked Questions
Which systems are exposed to this issue?
Systems using the Linux kernel OMAP SSI driver are affected when the driver performs DMA mapping for its synthetic HSI controller device. The issue is tied to that driver's controller initialization path rather than normal OF or platform-device initialization.
What conditions trigger the failure?
The failure can occur when DMA mapping operations such as dma_map_sg() are attempted without a valid DMA mask on the SSI controller device. Recent DMA API hardening makes the missing mask capable of causing warnings or a driver crash.
What is the mitigation if an update cannot be applied immediately?
The provided data identifies the required code-level mitigation: initialize the SSI controller device DMA mask explicitly to 32 bits, matching the hardware capability. No runtime configuration workaround is described.