Since [1] the user-space program dma_map_benchmark shares the header file linux/map_benchmark.h with the kernel driver in kernel/dma/map_benchmark.c. With latest kernel version this does not compile anymore. While https://kernelnewbies.org/KernelHeaders suggests otherwise, allow it to use kernel headers through the uapi/ include directory. I assume we can do so safely, since the controlling user-space program is distributed with the kernel. With this change dma_map_benchmark compiles with just the obvious warning about uapi usage on ARCH=x86, arm64, and s390 and runs on ARCH=s390. [1] commit 8ddde07a3d28 ("dma-mapping: benchmark: extract a common header file for map_benchmark definition") Signed-off-by: Gerd Bayer <gbayer@xxxxxxxxxxxxx> Acked-by: Xiang Chen <chenxiang66@xxxxxxxxxxxxx> --- tools/testing/selftests/dma/dma_map_benchmark.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/dma/dma_map_benchmark.c b/tools/testing/selftests/dma/dma_map_benchmark.c index 5c997f17fcbd..d49d7ea6a63e 100644 --- a/tools/testing/selftests/dma/dma_map_benchmark.c +++ b/tools/testing/selftests/dma/dma_map_benchmark.c @@ -10,7 +10,7 @@ #include <unistd.h> #include <sys/ioctl.h> #include <sys/mman.h> -#include <linux/types.h> +#include <uapi/linux/types.h> #include <linux/map_benchmark.h> #define NSEC_PER_MSEC 1000000L base-commit: 1fe4fd6f5cad346e598593af36caeadc4f5d4fa9 -- 2.39.0