summaryrefslogtreecommitdiffstats
path: root/fs/no-block.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2020-12-15 19:11:47 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2020-12-15 19:11:47 -0800
commit345d4ab5e0a226e0e27219bef9ad150504666b0d (patch)
tree627b6ed33aba89581b8b24ddbc69e74e96d9f623 /fs/no-block.c
parent37373d9c37a3401c08f22b61de1726b4f584b2e7 (diff)
parent23afeaeff3d985b07abf2c76fd12b8c548da8367 (diff)
downloadlinux-345d4ab5e0a226e0e27219bef9ad150504666b0d.tar.bz2
Merge tag 'close-range-openat2-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux
Pull close_range/openat2 updates from Christian Brauner: "This contains a fix for openat2() to make RESOLVE_BENEATH and RESOLVE_IN_ROOT mutually exclusive. It doesn't make sense to specify both at the same time. The openat2() selftests have been extended to verify that these two flags can't be specified together. This also adds the CLOSE_RANGE_CLOEXEC flag to close_range() which allows to mark a range of file descriptors as close-on-exec without actually closing them. This is useful in general but the use-case that triggered the patch is installing a seccomp profile in the calling task before exec. If the seccomp profile wants to block the close_range() syscall it obviously can't use it to close all fds before exec. If it calls close_range() before installing the seccomp profile it needs to take care not to close fds that it will still need before the exec meaning it would have to call close_range() multiple times on different ranges and then still fall back to closing fds one by one right before the exec. CLOSE_RANGE_CLOEXEC allows to solve this problem relying on the exec codepath to get rid of the unwanted fds. The close_range() tests have been expanded to verify that CLOSE_RANGE_CLOEXEC works" * tag 'close-range-openat2-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux: selftests: core: add tests for CLOSE_RANGE_CLOEXEC fs, close_range: add flag CLOSE_RANGE_CLOEXEC selftests: openat2: add RESOLVE_ conflict test openat2: reject RESOLVE_BENEATH|RESOLVE_IN_ROOT
Diffstat (limited to 'fs/no-block.c')
0 files changed, 0 insertions, 0 deletions