freebsd-dev/lib/libc
Kyle Evans 472ced39ef Implement a close_range(2) syscall
close_range(min, max, flags) allows for a range of descriptors to be
closed. The Python folk have indicated that they would much prefer this
interface to closefrom(2), as the case may be that they/someone have special
fds dup'd to higher in the range and they can't necessarily closefrom(min)
because they don't want to hit the upper range, but relocating them to lower
isn't necessarily feasible.

sys_closefrom has been rewritten to use kern_close_range() using ~0U to
indicate closing to the end of the range. This was chosen rather than
requiring callers of kern_close_range() to hold FILEDESC_SLOCK across the
call to kern_close_range for simplicity.

The flags argument of close_range(2) is currently unused, so any flags set
is currently EINVAL. It was added to the interface in Linux so that future
flags could be added for, e.g., "halt on first error" and things of this
nature.

This patch is based on a syscall of the same design that is expected to be
merged into Linux.

Reviewed by:	kib, markj, vangyzen (all slightly earlier revisions)
Differential Revision:	https://reviews.freebsd.org/D21627
2020-04-12 21:23:19 +00:00
..
aarch64 Fix initial exec TLS mode for dynamically loaded shared objects. 2019-03-29 17:52:57 +00:00
amd64 amd64: sync up libc memcmp with the kernel version (r357309) 2020-01-30 19:57:05 +00:00
arm arm/ffs.S: remove stale comment. 2019-12-28 02:11:41 +00:00
capability
compat-43 Adjust history, info source from v1's manuals 2019-09-04 13:44:46 +00:00
db
gdtoa Remove sparc64 specific parts of libc. 2020-02-26 18:55:09 +00:00
gen Introduce nexthop objects and new routing KPI. 2020-04-12 14:30:00 +00:00
gmon mcount: tidy up ANSIfication 2018-10-20 22:39:35 +00:00
i386 remove obsolete i386 MD memchr implementation 2019-09-25 16:49:22 +00:00
iconv libc: correct iconv buffer overflow 2019-07-02 23:56:37 +00:00
include Add linux-compatible memfd_create 2019-09-25 18:03:18 +00:00
inet libc: fix cases of undefined behavior. 2018-08-07 15:24:19 +00:00
isc
locale Use proper mdoc(7) macros for literal text and do not use Tn 2020-04-01 09:01:35 +00:00
md
mips mips: fix some mcount nits 2019-09-02 01:55:55 +00:00
nameser Bounds check again after advancing cp, otherwise we have a possible 2019-09-05 19:35:30 +00:00
net Improve validation of the sockaddr length in iruserok_sa(). 2020-02-05 16:09:44 +00:00
nls Fix race condition in catopen(3). 2020-03-19 06:33:06 +00:00
posix1e Remove some redundant code in _posix1e_acl_strip_np 2019-02-19 19:15:15 +00:00
powerpc [PowerPC] Fix typo in _ctx_start on ppc32 2019-11-23 23:41:21 +00:00
powerpc64 Fix r358688 -- Remember to actually save r3 before processing. 2020-03-11 23:34:44 +00:00
powerpcspe [PowerPC] Fix SPE floating point environment manipulation 2019-12-12 17:12:18 +00:00
quad Add casts and L suffixes to libc quad support, to work around various 2020-02-17 20:14:59 +00:00
regex lib/libc/regex: fix build with REDEBUG defined 2019-09-24 12:21:01 +00:00
resolv Rather than using the legacy IP struct fields in the union for the 2019-06-04 20:53:35 +00:00
riscv Tidy the _set_tp function for RISC-V. 2020-02-06 21:46:15 +00:00
rpc Fix a use of an uninitialized pointer in xdr_rpcbs_rmtcalllist(). 2020-02-05 16:10:09 +00:00
secure ssp: knock out some trivial warnings that come up with WARNS=6 2020-01-04 20:07:11 +00:00
softfloat
stdio Add HISTORY section to getc(3) 2020-04-10 09:37:20 +00:00
stdlib exit(3): Add HISTORY section 2020-04-10 09:27:18 +00:00
stdtime strptime: make %k and %l specifiers match their description in 2018-11-03 23:37:13 +00:00
string memset.3: better fix previous typo 2020-02-08 21:17:48 +00:00
sys Implement a close_range(2) syscall 2020-04-12 21:23:19 +00:00
tests Provide O_SEARCH 2020-02-02 16:34:57 +00:00
uuid
x86 Remove resolver_qual from DEFINE_IFUNC/DEFINE_UIFUNC macros. 2019-05-16 22:20:54 +00:00
xdr typo: s/impelmentation/implementation/. 2020-02-07 15:14:29 +00:00
yp Increase the size of the send and receive buffers for YP client rpc 2019-09-16 06:42:01 +00:00
libc_nossp.ldscript
libc.ldscript
Makefile Remove sparc64 specific parts of libc. 2020-02-26 18:55:09 +00:00
Makefile.depend Update Makefile.depend files 2019-12-11 17:37:53 +00:00
Makefile.depend.options Update libssp paths in various Makefile.depend* files 2020-01-06 18:15:55 +00:00
Versions.def Create namespace for the symbols added during 13-CURRENT cycle. 2018-11-12 19:12:14 +00:00