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