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: sta...@dpdk.org
Signed-off-by: Shani Peretz <shper...@nvidia.com>
---
Acked-by: Anatoly Burakov <anatoly.bura...@intel.com>
--
Thanks,
Anatoly