freebsd-dev/lib/libc/sys
Gleb Smirnoff 48a55bbfe9 unix: change error code for recvmsg() failed due to RLIMIT_NOFILE
Instead of returning EMSGSIZE pass the error code from fdallocn() directly
to userland.  That would be EMFILE, which makes much more sense.  This
error code is not listed in the specification[1], but the specification
doesn't cover such edge case at all.  Meanwhile the specification lists
EMSGSIZE as the error code for invalid value of msg_iovlen, and FreeBSD
follows that, see sys_recmsg().  Differentiating these two cases will make
a developer/admin life much easier when debugging.

[1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/recvmsg.html

Reviewed by:		markj
Differential revision:	https://reviews.freebsd.org/D35640
2022-06-29 09:42:58 -07:00
..
__error.c
__vdso_gettimeofday.c libc binuptime(): use the right function to get the most significant bit index 2022-02-08 21:44:23 +02:00
_exit.2
_umtx_op.2
abort2.2
accept4.c
accept.2
accept.c
access.2 Add AT_EMPTY_PATH for several *at(2) syscalls 2021-04-15 12:48:11 +03:00
acct.2
adjtime.2 Remove references to timed(8) 2021-05-13 09:53:08 +02:00
aio_cancel.2
aio_error.2
aio_fsync.2 aio_fsync(2): Support O_DSYNC. 2021-01-08 13:15:56 +13:00
aio_mlock.2
aio_read.2
aio_return.2 lio_listio: validate aio_lio_opcode 2021-01-11 19:53:01 -07:00
aio_suspend.2
aio_suspend.c
aio_waitcomplete.2
aio_write.2
bind.2
bindat.2
brk.2
brk.c
cap_enter.2
cap_fcntls_limit.2
cap_ioctls_limit.2
cap_rights_limit.2
chdir.2
chflags.2 Add AT_EMPTY_PATH for several *at(2) syscalls 2021-04-15 12:48:11 +03:00
chmod.2 Add AT_EMPTY_PATH for several *at(2) syscalls 2021-04-15 12:48:11 +03:00
chown.2 Add AT_EMPTY_PATH for several *at(2) syscalls 2021-04-15 12:48:11 +03:00
chroot.2 chroot.2: Correct grammar errors. 2022-03-31 13:05:49 +11:00
clock_gettime.2 clock_gettime: Add Linux aliases for CLOCK_* 2021-07-30 17:20:22 -06:00
clock_gettime.c
clock_nanosleep.c
close.2
close.c
closefrom.2 fd: add close_range(..., CLOSE_RANGE_CLOEXEC) 2022-03-03 17:21:58 +00:00
closefrom.c
compat-ino64.h
compat-stub.c
connect.2
connect.c
connectat.2 connectat(2): clarify that the s argument is socket 2021-04-30 17:43:45 +03:00
copy_file_range.2
cpuset_getaffinity.2 Use Linux semantics for the thread affinity syscalls. 2022-05-11 10:36:01 +03:00
cpuset_getdomain.2
cpuset.2 Add code examples to cpuset(2), and improve cross referencing. 2021-04-25 15:22:00 +01:00
dup.2
eventfd.2
execve.2 execve: disallow argc == 0 2022-01-26 13:40:27 -06:00
extattr_get_file.2 O_PATH: allow vfs_extattr syscalls 2021-10-11 20:09:49 +03:00
fcntl.2 fcntl(2): be more precise about third arg type 2021-12-07 01:27:38 +02:00
fcntl.c
fdatasync.c
ffclock.2
fhlink.2 fhlink(2): the syscalls do not take flag 2021-03-02 20:16:55 +02:00
fhopen.2
fhreadlink.2
flock.2
fork.2 fork(2): comment about doubtful use of stdio and exit(3) in example 2021-08-08 22:38:59 +03:00
fork.c
fspacectl.2 fspacectl(2): Changes on rmsr.r_offset's minimum value returned 2021-08-26 00:03:37 +08:00
fstat.c
fstatat.c
fstatfs.c
fsync.2
fsync.c
getdents.c
getdirentries.2 Bump Dd in getdirentries.2 after c6487446. 2022-04-20 17:55:32 +03:00
getdirentries.c
getdtablesize.2
getfh.2 getfh: clarify that it is a privileged operation 2021-12-23 11:54:43 -05:00
getfsstat.2
getfsstat.c
getgid.2
getgroups.2
getitimer.2
getlogin.2
getloginclass.2
getpeername.2
getpgrp.2
getpid.2
getpriority.2
getrandom.2
getrlimit.2
getrusage.2
getsid.2
getsockname.2
getsockopt.2 socket: Implement SO_RERROR 2021-07-28 09:35:09 -07:00
gettimeofday.2 Remove references to timed(8) 2021-05-13 09:53:08 +02:00
gettimeofday.c
getuid.2
interposing_table.c libthr: wrap pdfork(2), same as fork(2). 2021-01-11 22:59:52 +02:00
intro.2 Clarify the description of the EINTEGRITY error in intro(2). 2021-12-28 16:39:46 -08:00
ioctl.2
issetugid.2
jail.2 jail: Change both root and working directories in jail_attach(2) 2021-02-19 14:13:35 -08:00
kenv.2 kenv: allow listing of static kernel environments 2021-07-18 23:06:19 -05:00
kevent.c
kill.2
kldfind.2
kldfirstmod.2
kldload.2
kldnext.2
kldstat.2
kldsym.2
kldunload.2
kqueue.2 kevent.2: Add an xref to listen.2 2022-06-20 12:48:14 -04:00
ktrace.2
link.2 Fix mistakes in link(2) and shm_open(2) 2021-10-06 06:38:26 +03:00
lio_listio.2 lio_listio(2): Allow LIO_READV and LIO_WRITEV. 2021-08-22 23:00:42 +12:00
listen.2
lseek.2
lstat.c
madvise.2
Makefile.inc libc: get rid of NO_P1003_1B make variable 2021-12-07 00:21:44 +00:00
mincore.2
minherit.2
mkdir.2
mkfifo.2
mknod.2
mknod.c
mlock.2
mlockall.2
mmap.2
modfind.2
modnext.2
modstat.2
mount.2
mprotect.2 mprotect.2: Improve the description of prot 2021-09-07 17:28:50 +01:00
mq_close.2
mq_getattr.2
mq_notify.2
mq_open.2 mq_open(2): Fix xref to mq_unlink(2) 2021-03-04 13:32:42 +01:00
mq_receive.2
mq_send.2
mq_setattr.2
mq_unlink.2 mq_unlink(3): Add manual page 2021-02-18 18:56:52 +01:00
msgctl.2
msgget.2
msgrcv.2
msgsnd.2
msync.2
msync.c
munmap.2
nanosleep.2 libc: Add HISTORY sections to the manual pages 2022-05-05 18:46:32 +02:00
nanosleep.c
nfssvc.2
ntp_adjtime.2
open.2 Mostly revert a5970a529c: Make files opened with O_PATH to not block non-forced unmount 2022-04-14 02:47:04 +03:00
open.c
openat.c
pathconf.2 Fix pathconf.2 documentation error 2021-08-07 07:09:57 +08:00
pdfork.2
pdfork.c Include the correct header for pdfork()'s prototype. 2022-01-24 09:52:12 -08:00
pipe.2
pipe.c
poll.2 poll(2): Add POLLRDHUP. 2021-04-28 23:00:31 +12:00
poll.c
POSIX2x_Fork.c libc: Fix build on case-insensitive file systems 2021-09-10 01:19:38 +01:00
posix_fadvise.2
posix_fallocate.2
posix_openpt.2
ppoll.c
procctl.2 procctl: actually require debug privileges over target 2021-10-19 23:04:34 +03:00
profil.2
pselect.2
pselect.c
ptrace.2 Add PT_GETREGSET 2022-01-27 11:40:34 +00:00
ptrace.c
quotactl.2
rctl_add_rule.2
read.2
read.c
readlink.2
readv.c
reboot.2
recv.2 unix: change error code for recvmsg() failed due to RLIMIT_NOFILE 2022-06-29 09:42:58 -07:00
recvfrom.c
recvmsg.c
rename.2
revoke.2
rfork.2
rmdir.2
rtprio.2 Add idle priority scheduling privilege group to MAC/priority 2021-12-10 04:54:48 +02:00
sched_get_priority_max.2
sched_setparam.2
sched_setscheduler.2
sched_yield.2
sctp_generic_recvmsg.2
sctp_generic_sendmsg.2
sctp_peeloff.2
select.2
select.c
semctl.2
semget.2
semop.2
send.2
sendfile.2
sendmsg.c
sendto.c
setcontext.c
setfib.2
setgroups.2
setpgid.2
setregid.2
setresuid.2
setreuid.2
setsid.2
setuid.2
shm_open.2 Fix mistakes in link(2) and shm_open(2) 2021-10-06 06:38:26 +03:00
shm_open.c
shmat.2
shmctl.2
shmget.2
shutdown.2
sigaction.2
sigaction.c
sigaltstack.2
sigfastblock.2
sigpending.2
sigprocmask.2
sigprocmask.c
sigqueue.2
sigreturn.2
sigstack.2
sigsuspend.2
sigsuspend.c
sigtimedwait.c
sigwait.2
sigwait.c
sigwaitinfo.2 Fix sigtimedwait manpage. 2022-04-21 10:52:29 +03:00
sigwaitinfo.c
socket.2
socketpair.2
stat.2 Add AT_EMPTY_PATH for several *at(2) syscalls 2021-04-15 12:48:11 +03:00
stat.c
statfs.2
statfs.c
swapcontext.c
swapon.2 Document new variant of swapoff(2) 2021-12-09 02:48:53 +02:00
Symbol.map swapoff: add one more variant of the syscall 2021-12-09 02:48:46 +02:00
symlink.2
sync.2
sysarch.2
syscall.2
thr_exit.2
thr_kill.2
thr_new.2
thr_self.2
thr_set_name.2
thr_suspend.2
thr_wake.2
timer_create.2
timer_delete.2
timer_settime.2
trivial-vdso_tc.c
truncate.2
umask.2
undelete.2
unlink.2 open(2): Remove O_BENEATH and AT_BENEATH 2021-03-02 20:16:55 +02:00
utimensat.2 utimensat(2): Remove description of compatibility code 2022-06-12 22:57:31 +02:00
utimes.2
utrace.2
uuidgen.2
vadvise.c
vfork.2
wait4.c
wait6.c
wait.2
write.2 pwrite(2): add a BUGS section 2021-02-20 08:05:43 +00:00
write.c
writev.c