Merge tag 'dma-mapping-5.11-2' of git://git.infradead.org/users/hch/dma-mapping
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 7 Feb 2021 18:40:48 +0000 (10:40 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 7 Feb 2021 18:40:48 +0000 (10:40 -0800)
Pull dma-mapping fix from Christoph Hellwig:
 "Fix a 32 vs 64-bit padding issue in the new benchmark code (Barry
  Song)"

* tag 'dma-mapping-5.11-2' of git://git.infradead.org/users/hch/dma-mapping:
  dma-mapping: benchmark: use u8 for reserved field in uAPI structure

kernel/dma/map_benchmark.c
tools/testing/selftests/dma/dma_map_benchmark.c

index 1b1b8ff875cb3bbd26caef07aa55bc3a1026b431..da95df381483336aa440fe930e3bdf80e05a9d3a 100644 (file)
@@ -36,7 +36,7 @@ struct map_benchmark {
        __s32 node; /* which numa node this benchmark will run on */
        __u32 dma_bits; /* DMA addressing capability */
        __u32 dma_dir; /* DMA data direction */
-       __u64 expansion[10];    /* For future use */
+       __u8 expansion[84];     /* For future use */
 };
 
 struct map_benchmark_data {
index 7065163a8388085f520cc422583a4b96945ef7d0..537d65968c48bfb4ef0da376ad4ac3248aad79c2 100644 (file)
@@ -6,6 +6,7 @@
 #include <fcntl.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <unistd.h>
 #include <sys/ioctl.h>
 #include <sys/mman.h>
@@ -35,7 +36,7 @@ struct map_benchmark {
        __s32 node; /* which numa node this benchmark will run on */
        __u32 dma_bits; /* DMA addressing capability */
        __u32 dma_dir; /* DMA data direction */
-       __u64 expansion[10];    /* For future use */
+       __u8 expansion[84];     /* For future use */
 };
 
 int main(int argc, char **argv)
@@ -102,6 +103,7 @@ int main(int argc, char **argv)
                exit(1);
        }
 
+       memset(&map, 0, sizeof(map));
        map.seconds = seconds;
        map.threads = threads;
        map.node = node;