Hi Tom, On Tue, Nov 27, 2018 at 7:53 PM Tom Murphy <murphyt7@xxxxxx> wrote: > 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@xxxxxx> This is now commit 6edf2e3710f4ef25 ("fix dma-buf/udmabuf selftest"). > --- 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> Not including <fcntl.h> means we get udmabuf.c:30:10: warning: implicit declaration of function ‘open’; did you mean ‘popen’? [-Wimplicit-function-declaration] devfd = open("/dev/udmabuf", O_RDWR); udmabuf.c:42:8: warning: implicit declaration of function ‘fcntl’; did you mean ‘fcvt’? [-Wimplicit-function-declaration] ret = fcntl(memfd, F_ADD_SEALS, F_SEAL_SHRINK); However, we need <linux/fcntl.h> for F_ADD_SEALS, F_SEAL_SHRINK. Including both leads to lots of redefinition warnings. Can we fix that? > #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) { Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds