freebsd-dev/lib/libc
Ka Ho Ng 1eaa36523c fspacectl(2): Clarifies the return values
rmacklem@ spotted two things in the system call:
- Upon returning from a successful operation, vop_stddeallocate can
  update rmsr.r_offset to a value greater than file size. This behavior,
  although being harmless, can be confusing.
- The EINVAL return value for rqsr.r_offset + rqsr.r_len > OFF_MAX is
  undocumented.

This commit has the following changes:
- vop_stddeallocate and shm_deallocate to bound the the affected area
  further by the file size.
- The EINVAL case for rqsr.r_offset + rqsr.r_len > OFF_MAX is
  documented.
- The fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9)'s return
  len is explicitly documented the be the value 0, and the return offset
  is restricted to be the smallest of off + len and current file size
  suggested by kib@. This semantic allows callers to interact better
  with potential file size growth after the call.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	imp, kib
Differential Revision:	https://reviews.freebsd.org/D31604
2021-08-24 17:08:28 +08:00
..
aarch64 libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
amd64 libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
arm libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
capability Fix a few mandoc issues 2020-10-09 19:12:44 +00:00
compat-43 Adjust history, info source from v1's manuals 2019-09-04 13:44:46 +00:00
db tools/build: Don't redefine open() for the linux bootstrap 2021-08-02 14:33:23 +01:00
gdtoa Remove sparc64 specific parts of libc. 2020-02-26 18:55:09 +00:00
gen libc tls: use TLS_DTV_OFFSET defined by rtld.h 2021-08-16 13:55:35 +03:00
gmon mcount: tidy up ANSIfication 2018-10-20 22:39:35 +00:00
i386 libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
iconv Remove the SYMVER build option. 2020-04-30 22:08:40 +00:00
include Style 2021-08-03 21:19:32 +03:00
inet libc: fix cases of undefined behavior. 2018-08-07 15:24:19 +00:00
isc SPDX: more ISC-related files. 2017-12-08 17:52:53 +00:00
locale libc/locale: Use O_CLOEXEC when opening locale tables 2021-07-29 09:14:50 -04:00
md
mips libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
nameser Bounds check again after advancing cp, otherwise we have a possible 2019-09-05 19:35:30 +00:00
net Correct section reference for examples in RFC3542 2021-08-01 13:55:24 +01:00
nls Implement strerror_l(). 2020-12-16 09:02:09 +00:00
posix1e Fix leak in libc NFSv4 flags parsing 2021-04-20 15:39:56 -04:00
powerpc libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
powerpc64 libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
powerpcspe [PowerPC] [PowerPCSPE] Fix multiple issues in fpsetmask(). 2021-02-28 21:11:29 -06:00
quad Add casts and L suffixes to libc quad support, to work around various 2020-02-17 20:14:59 +00:00
regex libc: regex: rework unsafe pointer arithmetic 2021-01-08 13:58:35 -06:00
resolv Rather than using the legacy IP struct fields in the union for the 2019-06-04 20:53:35 +00:00
riscv riscv: Implement non-stub __vdso_gettc and __vdso_gettimekeep 2021-07-05 16:16:53 +01:00
rpc rpc(3): Correct a few common typos in source code comments 2021-08-22 08:16:09 +02:00
secure Remove the SYMVER build option. 2020-04-30 22:08:40 +00:00
softfloat libc: use standard LF line endings, not CRLF 2021-04-03 16:20:07 -04:00
stdio fread: improve performance for unbuffered reads 2021-06-01 16:00:28 -05:00
stdlib _Exit(3): document implementation 2021-08-08 22:39:46 +03:00
stdtime strptime: make %k and %l specifiers match their description in 2018-11-03 23:37:13 +00:00
string libc: Disable ASAN for certain string functions 2021-08-02 14:33:24 +01:00
sys fspacectl(2): Clarifies the return values 2021-08-24 17:08:28 +08:00
tests resolv_test: Fix racy exit check, remove mutexes, and reduce output 2021-03-30 15:00:18 +01:00
uuid libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
x86 libc: vDSO timekeeping: Add pvclock support 2021-08-14 15:57:54 +03: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 libc: Use the initial-exec TLS model 2021-07-15 22:41:10 -04: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 14-CURRENT cycle. 2021-07-15 19:40:28 +03:00