diff options
author | Vitaliy Makkoveev <mvs@cvs.openbsd.org> | 2022-11-30 10:20:38 +0000 |
---|---|---|
committer | Vitaliy Makkoveev <mvs@cvs.openbsd.org> | 2022-11-30 10:20:38 +0000 |
commit | 5dccf60e9db3ec844b3f3d4dbe916a740834fd89 (patch) | |
tree | 24bdcdb55f7bd2ee013c3653be78de867a21d87d /sys/kern | |
parent | b06a463f1ee8c442e83a08d12bb9b1a8af4d6588 (diff) |
Unlock getsockopt(2) and setsockopt(2). Unlock them both because at
protocol layer they follow the same (*pr_ctloutput)() handlers.
At sockets layer we touch only per-socket data, which is solock()
protected.
At protocol layer, udp(4), unix(4) and key management sockets have no
(*pr_ctloutput)() handlers. route_ctloutput() touches only per socket
data, which is solock() protected. inet{,6} globals are protected by
netlock, which is solock() backend for corresponding sockets.
ok bluhm@
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/syscalls.master | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master index 56baf29dc8c..99554dbfc27 100644 --- a/sys/kern/syscalls.master +++ b/sys/kern/syscalls.master @@ -1,4 +1,4 @@ -; $OpenBSD: syscalls.master,v 1.236 2022/11/09 10:26:28 mpi Exp $ +; $OpenBSD: syscalls.master,v 1.237 2022/11/30 10:20:37 mvs Exp $ ; $NetBSD: syscalls.master,v 1.32 1996/04/23 10:24:21 mycroft Exp $ ; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 @@ -223,7 +223,7 @@ 103 STD { int sys_sigreturn(struct sigcontext *sigcntxp); } 104 STD { int sys_bind(int s, const struct sockaddr *name, \ socklen_t namelen); } -105 STD { int sys_setsockopt(int s, int level, int name, \ +105 STD NOLOCK { int sys_setsockopt(int s, int level, int name, \ const void *val, socklen_t valsize); } 106 STD { int sys_listen(int s, int backlog); } 107 STD { int sys_chflagsat(int fd, const char *path, \ @@ -249,7 +249,7 @@ struct timespec *timeout); } 117 STD NOLOCK { int sys_sendmmsg(int s, struct mmsghdr *mmsg,\ unsigned int vlen, int flags); } -118 STD { int sys_getsockopt(int s, int level, int name, \ +118 STD NOLOCK { int sys_getsockopt(int s, int level, int name, \ void *val, socklen_t *avalsize); } 119 STD { int sys_thrkill(pid_t tid, int signum, void *tcb); } 120 STD NOLOCK { ssize_t sys_readv(int fd, \ |