On 9/8/2025 6:34 PM, Shani Peretz wrote:
When --iova-mode is explicitly specified in command line, DMA mask constraints were not being validated, leading to potential runtime failures when device DMA capabilities are exceeded.The issue occurred because rte_bus_get_iommu_class() was only called during IOVA mode auto-detection, but this function has the important side effect of triggering DMA mask detection (e.g., Intel IOMMU address width checking via pci_device_iommu_support_va()). This created an inconsistency, when choosing explicit mode, the DMA checks are bypassed, but when choosing auto-detection mode, the constraints are checked and enforced. The fix moves rte_bus_get_iommu_class() outside the conditional logic to ensure it's always called during EAL initialization. Fixes: 4374ebc24bc1 ("malloc: modify error message for DMA mask check") Cc: [email protected] Signed-off-by: Shani Peretz <[email protected]> ---
Acked-by: Anatoly Burakov <[email protected]> -- Thanks, Anatoly

