On Tue, May 28, 2019 at 12:33:41PM +1000, Michael Ellerman wrote: > Christian Brauner <christian@xxxxxxxxxx> writes: > > This adds basic tests for the new close_range() syscall. > > - test that no invalid flags can be passed > > - test that a range of file descriptors is correctly closed > > - test that a range of file descriptors is correctly closed if there there > > are already closed file descriptors in the range > > - test that max_fd is correctly capped to the current fdtable maximum > > > > Signed-off-by: Christian Brauner <christian@xxxxxxxxxx> > > Cc: Arnd Bergmann <arnd@xxxxxxxx> > > Cc: Jann Horn <jannh@xxxxxxxxxx> > > Cc: David Howells <dhowells@xxxxxxxxxx> > > Cc: Dmitry V. Levin <ldv@xxxxxxxxxxxx> > > Cc: Oleg Nesterov <oleg@xxxxxxxxxx> > > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > > Cc: Florian Weimer <fweimer@xxxxxxxxxx> > > Cc: linux-api@xxxxxxxxxxxxxxx > > --- > > v1: unchanged > > v2: > > - Christian Brauner <christian@xxxxxxxxxx>: > > - verify that close_range() correctly closes a single file descriptor > > --- > > tools/testing/selftests/Makefile | 1 + > > tools/testing/selftests/core/.gitignore | 1 + > > tools/testing/selftests/core/Makefile | 6 + > > .../testing/selftests/core/close_range_test.c | 142 ++++++++++++++++++ > > 4 files changed, 150 insertions(+) > > create mode 100644 tools/testing/selftests/core/.gitignore > > create mode 100644 tools/testing/selftests/core/Makefile > > create mode 100644 tools/testing/selftests/core/close_range_test.c > > > > diff --git a/tools/testing/selftests/core/.gitignore b/tools/testing/selftests/core/.gitignore > > new file mode 100644 > > index 000000000000..6e6712ce5817 > > --- /dev/null > > +++ b/tools/testing/selftests/core/.gitignore > > @@ -0,0 +1 @@ > > +close_range_test > > diff --git a/tools/testing/selftests/core/Makefile b/tools/testing/selftests/core/Makefile > > new file mode 100644 > > index 000000000000..de3ae68aa345 > > --- /dev/null > > +++ b/tools/testing/selftests/core/Makefile > > @@ -0,0 +1,6 @@ > > +CFLAGS += -g -I../../../../usr/include/ -I../../../../include > > Your second -I pulls the unexported kernel headers in, userspace > programs shouldn't include unexported kernel headers. > > It breaks the build on powerpc with eg: > > powerpc64le-linux-gnu-gcc -g -I../../../../usr/include/ -I../../../../include close_range_test.c -o /output/kselftest/core/close_range_test > In file included from /usr/powerpc64le-linux-gnu/include/bits/fcntl-linux.h:346, > from /usr/powerpc64le-linux-gnu/include/bits/fcntl.h:62, > from /usr/powerpc64le-linux-gnu/include/fcntl.h:35, > from close_range_test.c:5: > ../../../../include/linux/falloc.h:13:2: error: unknown type name '__s16' > __s16 l_type; > ^~~~~ > > > Did you do that on purpose or just copy it from one of the other > Makefiles? :) I originally did that on purpose because checkpatch was yammering on about me not having used ARRAY_SIZE(). But that include can go, you are right. Christian