freebsd-src/lib/libsys
Olivier Certner 4be38acc82
getgroups.2: Clarify, mention ascending order, add SECURITY CONSIDERATIONS
Clarify and be more precise about the behavior of getgroups(2), in
particular with respect to 'gidsetlen'.

Prefer a terminology referring to POSIX terms, i.e., use "supplementary
groups" instead of "group access list".

Say that getgroups(2) reports the supplementary groups in strictly
ascending order and returns the cardinal of the set they form (and
mention this has been the case since FreeBSD 14.3).

Add a new SECURITY CONSIDERATIONS section contrasting the new behavior
after commit 9da2fe96ff ("kern: fix setgroups(2) and getgroups(2) to
match other platforms") with the historical one.

While here, fix some style.

Note for MFC to stable/14: The content will have to be revised as the
new behavior is not in place.  The latter should be mentioned as
upcoming in 15.

Reviewed by:    gbe (older version)
MFC after:      5 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52286
2025-09-17 14:16:08 +02:00
..
aarch64 libsys/aarch: Remove pointless MD syscall(2) 2024-03-07 00:59:01 +00:00
amd64 amd64: assume the kernel supports RDFSBASE and RDGSBASE 2025-08-08 18:15:21 +01:00
arm lib: Remove __ARM_ARCH checks that are always true 2024-06-12 11:49:05 +00:00
i386 libsys/i386/Symbol.sys.map: sort symbol names 2024-12-11 20:31:30 +00:00
powerpc lib{c,sys}: return wrapped syscall APIs to libc 2024-03-13 18:36:02 +00:00
powerpc64 lib{c,sys}: return wrapped syscall APIs to libc 2024-03-13 18:36:02 +00:00
powerpcspe lib{c,sys}: fix powerpcspe build 2024-03-13 20:09:41 +00:00
riscv libsys/riscv: Remove pointless MD syscall(2) 2024-03-07 00:58:44 +00:00
x86 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
__error.c lib{c,sys}: stop exposing errno symbol 2024-09-27 20:27:46 +01:00
__getosreldate.c libc: move __getosreldate to libsys 2024-02-05 20:34:56 +00:00
__vdso_gettimeofday.c
_exit.2
_libsys.h jail: add jail descriptors 2025-09-04 13:27:47 -07:00
_umtx_op.2 Implement CLOCK_TAI 2025-06-12 12:25:31 -06:00
_umtx_op_err.c libthr: move _umtx_op_err() to libsys 2024-02-05 20:34:56 +00:00
abort2.2
accept.2 Add manpages for O_CLOFORK flag and others 2025-07-06 23:08:41 +00:00
access.2 faccessat(2): Honor AT_SYMLINK_NOFOLLOW 2024-08-11 17:49:06 +02:00
acct.2
adjtime.2
aio_cancel.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_error.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_fsync.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_mlock.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_read.2 Bump .Dd for recently changed aio_*(2) manpages 2025-03-27 19:43:26 -07:00
aio_return.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_suspend.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_waitcomplete.2 Bump .Dd for recently changed aio_*(2) manpages 2025-03-27 19:43:26 -07:00
aio_write.2 Bump .Dd for recently changed aio_*(2) manpages 2025-03-27 19:43:26 -07:00
auxv.3 libsys: Add AT_HWCAP3 and AT_HWCAP4 2025-06-24 17:26:40 +01:00
auxv.c libsys: Add AT_HWCAP3 and AT_HWCAP4 2025-06-24 17:26:40 +01:00
bind.2
bindat.2
brk.2
cap_enter.2
cap_fcntls_limit.2
cap_ioctls_limit.2
cap_rights_limit.2 rights.4: various corrections on capability rights 2024-04-28 22:48:31 -06:00
chdir.2
chflags.2
chmod.2 unix: Add support for atomically setting the socket mode 2024-11-03 16:46:53 +00:00
chown.2
chroot.2 chroot.2: Update errors and unprivileged use 2025-08-02 14:43:36 -04:00
clock_gettime.2 clock_gettime: Better markup 2025-06-13 12:29:38 -06:00
clock_gettime.c
close.2 tcp: don't ever return ECONNRESET on close(2) 2024-12-23 10:35:49 -08:00
closefrom.2 Add manpages for O_CLOFORK flag and others 2025-07-06 23:08:41 +00:00
connect.2
connectat.2
copy_file_range.2 copy_file_range.2: Document the COPY_FILE_RANGE_CLONE flag 2025-08-22 15:01:59 -07:00
cpuset.2
cpuset_getaffinity.2
cpuset_getdomain.2
creat.2 libsys: move __libsys_interposer consumers 2024-02-05 20:34:55 +00:00
dup.2
eventfd.2
execve.2 Add manpages for O_CLOFORK flag and others 2025-07-06 23:08:41 +00:00
extattr_get_file.2
fcntl.2 fcntl.2: fix description of F_GETFD return value 2025-07-09 00:48:58 +03:00
ffclock.2
fhlink.2 manuals: Fix errors in .2 pages 2024-09-20 11:37:02 -03:00
fhopen.2 fhopen.2: Fix named_attribute man section 2025-07-20 08:17:01 -07:00
fhreadlink.2 fhreadlink.2: fix old typo in the manpage 2024-11-25 18:38:20 +00:00
flock.2
fork.2 Add manpages for O_CLOFORK flag and others 2025-07-06 23:08:41 +00:00
fspacectl.2
fsync.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
getdirentries.2 getdirentries: Return ENOTDIR if not a directory. 2025-07-09 22:34:18 +02:00
getdtablesize.2
getfh.2 manuals: Fix errors in .2 pages 2024-09-20 11:37:02 -03:00
getfsstat.2
getgid.2
getgroups.2 getgroups.2: Clarify, mention ascending order, add SECURITY CONSIDERATIONS 2025-09-17 14:16:08 +02:00
getitimer.2
getlogin.2
getloginclass.2
getpagesize.3 libc: move getpagesize(s) to libsys 2024-02-05 20:34:56 +00:00
getpagesize.c libc: move getpagesize(s) to libsys 2024-02-05 20:34:56 +00:00
getpagesizes.3 libc: move getpagesize(s) to libsys 2024-02-05 20:34:56 +00:00
getpagesizes.c libc: move getpagesize(s) to libsys 2024-02-05 20:34:56 +00:00
getpeername.2
getpgrp.2
getpid.2
getpriority.2
getrandom.2
getrlimit.2 getrlimit(2): document RLIMIT_PIPEBUF 2024-09-20 09:46:06 +03:00
getrlimitusage.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
getrusage.2
getsid.2
getsockname.2
getsockopt.2 getsockopt.2: Add SO_SPLICE source socket read and socket close behavior 2025-07-26 14:18:47 -07:00
gettimeofday.2 gettimeofday.2: Do mention improbable future removal 2024-04-28 20:11:22 +02:00
gettimeofday.c
getuid.2
inotify.2 inotify: Add man pages for the new syscalls and for VOP_INOTIFY 2025-07-04 14:42:33 +00:00
interposing_table.c libsys: make __libsys_interposing static 2024-03-13 17:31:48 +00:00
intro.2 intro.2 as errno.2: Use the name macro for errno 2024-05-04 08:56:10 -06:00
ioctl.2
issetugid.2
jail.2 jail.2: Mention EPERM is returned on open directories 2025-09-15 11:29:44 +02:00
kcmp.2
kenv.2
kill.2
kldfind.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldfirstmod.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldload.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldnext.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldstat.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldsym.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldunload.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kqueue.2 jaildesc: add kevent support 2025-09-12 11:33:19 -07:00
ktrace.2
libc_stubs.c lib{c,sys}: move auxargs more firmly into libsys 2024-02-19 22:44:08 +00:00
libsys.h libsys: add a libsys.h 2024-04-16 17:48:07 +01:00
libsys_sigwait.c libsys: don't expose sigwait wrapper 2024-03-13 17:04:07 +00:00
link.2
lio_listio.2 lio_listio(2): add LIO_FOFFSET flag to ignore aiocb aio_offset 2024-02-11 03:53:50 +02:00
listen.2
lockf.3 libsys: move some missed manpages 2024-02-08 19:50:32 +00:00
lseek.2
madvise.2
Makefile lib{c,sys}: stop exposing errno symbol 2024-09-27 20:27:46 +01:00
Makefile.depend Update Makefile.depend files 2024-10-14 10:26:17 -07:00
Makefile.sys syscalls: normalize _exit(2) declerations 2025-08-08 10:30:16 +01:00
membarrier.2 membarrier: man page improvements 2024-10-19 16:18:18 -04:00
mincore.2
minherit.2
mkdir.2 mkdir.2: Correct HISTORY 2025-07-23 12:37:44 -04:00
mkfifo.2
mknod.2
mlock.2
mlockall.2
mmap.2
modfind.2
modnext.2
modstat.2
mount.2
mprotect.2
mq_close.2
mq_getattr.2
mq_notify.2
mq_open.2 mqueuefs: Relax restriction that path must begin with a slash 2024-05-23 13:40:46 -06:00
mq_receive.2
mq_send.2
mq_setattr.2
mq_unlink.2 man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
msgctl.2
msgget.2
msgrcv.2
msgsnd.2
msync.2
munmap.2 munmap.2: Add STANDARDS and note about portability 2025-01-16 12:50:47 -05:00
nanosleep.2 Implement CLOCK_TAI 2025-06-12 12:25:31 -06:00
nfssvc.2
ntp_adjtime.2
open.2 Add manpages for O_CLOFORK flag and others 2025-07-06 23:08:41 +00:00
pathconf.2 pathconf.2: Add an entry for _PC_CLONE_BLKSIZE 2025-08-13 08:05:35 -07:00
pdfork.2
pipe.2 Add manpages for O_CLOFORK flag and others 2025-07-06 23:08:41 +00:00
poll.2 Tweak ppoll() to include 1003.1-2024 visibility, take two 2024-12-14 22:40:16 -06:00
posix_fadvise.2
posix_fallocate.2
posix_openpt.2
procctl.2 procctl.2: Fix names of PROC_LOGSIGEXIT_CTL constants 2025-04-21 16:01:53 -06:00
profil.2
pselect.2
ptrace.2 kern: send parent a SIGCHLD when the debugger has detached 2025-06-19 10:32:04 -05:00
ptrace.c
quotactl.2
rctl_add_rule.2
read.2 read(2): Add write cross reference 2024-03-01 20:36:39 -07:00
readlink.2 manpage: cross link fhreadlink(2) <-> readlink(2) 2024-11-25 09:02:34 +00:00
reboot.2
recv.2 Add manpages for O_CLOFORK flag and others 2025-07-06 23:08:41 +00:00
recvmmsg.c include: ssp: fortify <sys/socket.h> 2024-07-13 00:16:26 -05:00
rename.2 rename(2): Extend EINVAL's description 2024-08-28 01:09:33 +03:00
revoke.2
rfork.2
rfork_thread.3 libc: move rfork_thread(3) to libsys 2024-02-05 20:34:56 +00:00
rmdir.2
rtprio.2
sched_get_priority_max.2
sched_getcpu.3 sched_getcpu: Add man page 2024-11-13 19:32:04 -05:00
sched_getcpu_gen.c libc: libc/gen/sched_getcpu_gen.c -> libsys/ 2024-02-05 20:34:55 +00:00
sched_setparam.2
sched_setscheduler.2
sched_yield.2
sctp_generic_recvmsg.2
sctp_generic_sendmsg.2
sctp_peeloff.2
select.2
semctl.2
semget.2
semop.2
send.2
sendfile.2 sendfile: retire SF_SYNC 2025-06-24 15:24:04 -07:00
sendmmsg.c libsys: move __libsys_interposer consumers 2024-02-05 20:34:55 +00:00
setcred.2 setcred.2: Remove now obsolete mention of setgroups(2)'s different behavior 2025-09-17 14:16:07 +02:00
setfib.2 setfib.2: Note that the number of FIBs can be adjusted after boot 2025-01-21 15:39:50 +00:00
setgroups.2 setgroups.2: Add SECURITY CONSIDERATIONS, fix the groups limit, rework 2025-09-17 14:16:07 +02:00
setpgid.2
setregid.2
setresuid.2
setreuid.2
setsid.2
setuid.2
shm_open.2 kern: Allow O_CLOFORK to be passed to shm_open(2) 2025-08-12 21:45:24 +00:00
shmat.2
shmctl.2
shmget.2
shutdown.2
sigaction.2
sigaltstack.2
sigfastblock.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
sigpending.2
sigprocmask.2
sigqueue.2 sigqueue(2): Document __SIGQUEUE_TID 2024-04-23 19:51:10 +03:00
sigreturn.2
sigstack.2
sigsuspend.2
sigwait.2
sigwaitinfo.2
sleep.3 libsys: move some missed manpages 2024-02-08 19:50:32 +00:00
socket.2 Add manpages for O_CLOFORK flag and others 2025-07-06 23:08:41 +00:00
socketpair.2 Add manpages for O_CLOFORK flag and others 2025-07-06 23:08:41 +00:00
stat.2 stat(2): Document the st_rdev field 2025-08-17 19:29:27 +02:00
statfs.2 statfs.2: Fix named_attribute man section 2025-07-20 08:23:02 -07:00
swapon.2 manuals: Misc macro typos 2024-09-21 05:25:15 -06:00
Symbol.map libsys: Don't create or expose __realpathat 2025-02-19 20:05:47 +00:00
Symbol.sys.map jail: add jail descriptors 2025-09-04 13:27:47 -07:00
Symbol.thr.map libthr: move _umtx_op_err() to libsys 2024-02-05 20:34:56 +00:00
symlink.2 symlink.2: document EOPNOTSUPP 2025-04-15 00:03:19 +02:00
sync.2
sysarch.2
syscall.2
syscalls.map jail: add jail descriptors 2025-09-04 13:27:47 -07:00
thr_exit.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_kill.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_new.2 thr_new.2: document THR_C_RUNTIME 2025-05-31 17:55:24 +03:00
thr_self.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_set_name.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_suspend.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_wake.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
timer_create.2 Implement CLOCK_TAI 2025-06-12 12:25:31 -06:00
timer_delete.2
timer_settime.2
timerfd.2 timerfd.2: Add documentation for CLOCK_UPTIME and CLOCK_BOOTTIME 2024-07-02 10:40:04 -06:00
truncate.2
umask.2
undelete.2
unlink.2
usleep.3 libsys: move some missed manpages 2024-02-08 19:50:32 +00:00
utimensat.2
utimes.2
utrace.2
uuidgen.2
vfork.2
wait.2 kern: send parent a SIGCHLD when the debugger has detached 2025-06-19 10:32:04 -05:00
write.2 write.2: Add EINVAL to ERRORS 2025-07-04 01:14:19 -04:00