When the new flag is used, close_range will set the close-on-exec bit for the file descriptors instead of close()-ing them. It is useful for e.g. container runtimes that want to minimize the number of syscalls used after a seccomp profile is installed but want to keep some fds open until the container process is executed. v3: - fixed indentation - selftests: use ASSERT_EQ instead of EXPECT_EQ for hard failures v2: https://lkml.kernel.org/lkml/20201019102654.16642-1-gscrivan@xxxxxxxxxx/ - move close_range(..., CLOSE_RANGE_CLOEXEC) implementation to a separate function. - use bitmap_set() to set the close-on-exec bits in the bitmap. - add test with rlimit(RLIMIT_NOFILE) in place. - use "cur_max" that is already used by close_range(..., 0). v1: https://lkml.kernel.org/lkml/20201013140609.2269319-1-gscrivan@xxxxxxxxxx/ Giuseppe Scrivano (2): fs, close_range: add flag CLOSE_RANGE_CLOEXEC selftests: core: add tests for CLOSE_RANGE_CLOEXEC fs/file.c | 44 ++++++++--- include/uapi/linux/close_range.h | 3 + .../testing/selftests/core/close_range_test.c | 74 +++++++++++++++++++ 3 files changed, 111 insertions(+), 10 deletions(-) -- 2.28.0