summaryrefslogtreecommitdiff
path: root/sys/kern
diff options
context:
space:
mode:
authorVitaliy Makkoveev <mvs@cvs.openbsd.org>2022-11-30 10:20:38 +0000
committerVitaliy Makkoveev <mvs@cvs.openbsd.org>2022-11-30 10:20:38 +0000
commit5dccf60e9db3ec844b3f3d4dbe916a740834fd89 (patch)
tree24bdcdb55f7bd2ee013c3653be78de867a21d87d /sys/kern
parentb06a463f1ee8c442e83a08d12bb9b1a8af4d6588 (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.master6
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, \