This became visible by backporting the following for the 19.11 stable tree: c13ca4e8 "vfio: fix DMA mapping granularity for IOVA as VA"
The usage of type bool in the vfio code would require "#include <stdbool.h>", but rte_vfio.h has no direct paths to stdbool.h. It happens that in eal_vfio_mp_sync.c it comes after "#include <rte_log.h>". And rte_log.h since 20.05 includes stdbool since this change: 241e67bfe "log: add API to check if a logtype can log in a given level" and thereby mitigates the issue. It should be safe to include stdbool.h from rte_vfio.h itself to be present exactly when needed for the struct it defines using that type. Fixes: c13ca4e81cac ("vfio: fix DMA mapping granularity for IOVA as VA") Signed-off-by: Christian Ehrhardt <christian.ehrha...@canonical.com> --- lib/eal/include/rte_vfio.h | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/eal/include/rte_vfio.h b/lib/eal/include/rte_vfio.h index e7a87454bea..2d90b364801 100644 --- a/lib/eal/include/rte_vfio.h +++ b/lib/eal/include/rte_vfio.h @@ -14,6 +14,7 @@ extern "C" { #endif +#include <stdbool.h> #include <stdint.h> /* -- 2.31.1