diff options
author | Tom Murphy <murphyt7@tcd.ie> | 2018-11-27 11:33:08 +0100 |
---|---|---|
committer | Shuah Khan <shuah@kernel.org> | 2018-12-13 21:03:48 +0100 |
commit | 6edf2e3710f4ef2555ad7a2681dbeb4a69092b2d (patch) | |
tree | 96eac782a9db36726b4a9451c532b5546f7a71c6 /tools/testing/selftests/drivers/dma-buf | |
parent | selftests: watchdog: fix spelling mistake "experies" -> "expires" (diff) | |
download | linux-6edf2e3710f4ef2555ad7a2681dbeb4a69092b2d.tar.xz linux-6edf2e3710f4ef2555ad7a2681dbeb4a69092b2d.zip |
fix dma-buf/udmabuf selftest
This patch fixes the udmabuf selftest. Currently the selftest is broken.
I fixed the selftest by setting the F_SEAL_SHRINK seal on the memfd
file descriptor which is required by udmabuf and added the test to
the selftest Makefile.
Signed-off-by: Tom Murphy <murphyt7@tcd.ie>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Shuah Khan <shuah@kernel.org>
Diffstat (limited to 'tools/testing/selftests/drivers/dma-buf')
-rw-r--r-- | tools/testing/selftests/drivers/dma-buf/Makefile | 2 | ||||
-rw-r--r-- | tools/testing/selftests/drivers/dma-buf/udmabuf.c | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/tools/testing/selftests/drivers/dma-buf/Makefile b/tools/testing/selftests/drivers/dma-buf/Makefile index 4154c3d7aa58..f22c3f7cf612 100644 --- a/tools/testing/selftests/drivers/dma-buf/Makefile +++ b/tools/testing/selftests/drivers/dma-buf/Makefile @@ -2,4 +2,6 @@ CFLAGS += -I../../../../../usr/include/ TEST_GEN_PROGS := udmabuf +top_srcdir ?=../../../../.. + include ../../lib.mk diff --git a/tools/testing/selftests/drivers/dma-buf/udmabuf.c b/tools/testing/selftests/drivers/dma-buf/udmabuf.c index 376b1d6730bd..4de902ea14d8 100644 --- a/tools/testing/selftests/drivers/dma-buf/udmabuf.c +++ b/tools/testing/selftests/drivers/dma-buf/udmabuf.c @@ -4,7 +4,7 @@ #include <unistd.h> #include <string.h> #include <errno.h> -#include <fcntl.h> +#include <linux/fcntl.h> #include <malloc.h> #include <sys/ioctl.h> @@ -33,12 +33,19 @@ int main(int argc, char *argv[]) exit(77); } - memfd = memfd_create("udmabuf-test", MFD_CLOEXEC); + memfd = memfd_create("udmabuf-test", MFD_ALLOW_SEALING); if (memfd < 0) { printf("%s: [skip,no-memfd]\n", TEST_PREFIX); exit(77); } + ret = fcntl(memfd, F_ADD_SEALS, F_SEAL_SHRINK); + if (ret < 0) { + printf("%s: [skip,fcntl-add-seals]\n", TEST_PREFIX); + exit(77); + } + + size = getpagesize() * NUM_PAGES; ret = ftruncate(memfd, size); if (ret == -1) { |