summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2003-01-30 03:29:50 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2003-01-30 03:29:50 +0000
commite9389a44941c88aa9f36b0eb98cb77abc32542cf (patch)
treee61849abc74c49a8d331c1f43c57da45b0d5f0e5 /sys
parent2caf64284c4778676d10a14338c02351b9774fe6 (diff)
Bring back setreuid(2) and setregid(2) as first class syscalls
(but still implemented via setres[ug]id(2)). Basically this just moves them from COMPAT_43 into kern_prot.c. Also fixes a typo in my old implementation. The userland portion will follow in a few days. deraadt@ OK
Diffstat (limited to 'sys')
-rw-r--r--sys/compat/bsdos/syscalls.master8
-rw-r--r--sys/compat/common/Makefile4
-rw-r--r--sys/compat/common/kern_prot_43.c126
-rw-r--r--sys/compat/freebsd/syscalls.master8
-rw-r--r--sys/compat/ibcs2/ibcs2_socksys.c6
-rw-r--r--sys/compat/linux/linux_misc.c10
-rw-r--r--sys/compat/netbsd/syscalls.master8
-rw-r--r--sys/compat/osf1/syscalls.master6
-rw-r--r--sys/compat/sunos/syscalls.master6
-rw-r--r--sys/compat/svr4/syscalls.master6
-rw-r--r--sys/compat/ultrix/syscalls.master6
-rw-r--r--sys/kern/kern_prot.c68
-rw-r--r--sys/kern/syscalls.master6
13 files changed, 101 insertions, 167 deletions
diff --git a/sys/compat/bsdos/syscalls.master b/sys/compat/bsdos/syscalls.master
index 5c24913ca64..6139e5c6e37 100644
--- a/sys/compat/bsdos/syscalls.master
+++ b/sys/compat/bsdos/syscalls.master
@@ -1,4 +1,4 @@
- $OpenBSD: syscalls.master,v 1.9 2002/03/14 00:42:24 miod Exp $
+ $OpenBSD: syscalls.master,v 1.10 2003/01/30 03:29:48 millert Exp $
; OpenBSD COMPAT_BSDOS system call name/number "master" file.
; (See syscalls.conf to see what it is processed into.)
@@ -225,10 +225,8 @@
125 NOARGS { int compat_43_sys_recvfrom(int s, caddr_t buf, \
size_t len, int flags, caddr_t from, \
int *fromlenaddr); } orecvfrom
-126 NOARGS { int compat_43_sys_setreuid(int ruid, int euid); } \
- osetreuid
-127 NOARGS { int compat_43_sys_setregid(int rgid, int egid); } \
- osetregid
+126 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); }
+127 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); }
128 NOARGS { int sys_rename(char *from, char *to); }
129 NOARGS { int compat_43_sys_truncate(char *path, \
long length); } otruncate
diff --git a/sys/compat/common/Makefile b/sys/compat/common/Makefile
index a0b22f7f1fa..558d5d3898c 100644
--- a/sys/compat/common/Makefile
+++ b/sys/compat/common/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.12 2002/07/14 09:20:24 mdw Exp $
+# $OpenBSD: Makefile,v 1.13 2003/01/30 03:29:49 millert Exp $
# $NetBSD: Makefile,v 1.8 1996/05/18 15:52:19 christos Exp $
LIB= compat
@@ -10,7 +10,7 @@ MACHINE_ARCH= ${XMACHINE_ARCH}
.PATH: ${COMPATDIR}
SRCS= compat_exec.c compat_util.c compat_dir.c compat_vm.c kern_exit_43.c \
- kern_ipc_23.c kern_info_09.c kern_info_43.c kern_prot_43.c \
+ kern_ipc_23.c kern_info_09.c kern_info_43.c \
kern_resource_43.c kern_sig_43.c tty_43.c uipc_syscalls_43.c \
vfs_syscalls_25.c vfs_syscalls_43.c vm_43.c
diff --git a/sys/compat/common/kern_prot_43.c b/sys/compat/common/kern_prot_43.c
deleted file mode 100644
index f939cdc9917..00000000000
--- a/sys/compat/common/kern_prot_43.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/* $OpenBSD: kern_prot_43.c,v 1.3 2002/10/30 20:07:41 millert Exp $ */
-/* $NetBSD: kern_prot_43.c,v 1.3 1995/10/07 06:26:27 mycroft Exp $ */
-
-/*
- * Copyright (c) 1982, 1986, 1989, 1990, 1991, 1993
- * The Regents of the University of California. All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)kern_prot.c 8.6 (Berkeley) 1/21/94
- */
-
-#include <sys/param.h>
-#include <sys/acct.h>
-#include <sys/systm.h>
-#include <sys/ucred.h>
-#include <sys/proc.h>
-#include <sys/timeb.h>
-#include <sys/times.h>
-#include <sys/malloc.h>
-
-#include <sys/mount.h>
-#include <sys/syscallargs.h>
-
-/* ARGSUSED */
-int
-compat_43_sys_setregid(p, v, retval)
- register struct proc *p;
- void *v;
- register_t *retval;
-{
- struct compat_43_sys_setregid_args /* {
- syscallarg(gid_t) rgid;
- syscallarg(gid_t) egid;
- } */ *uap = v;
- struct pcred *pc = p->p_cred;
- struct sys_setresgid_args sresgidargs;
- gid_t rgid, egid, sgid;
-
- rgid = SCARG(uap, rgid);
- egid = SCARG(uap, egid);
- /*
- * The saved gid presents a bit of a dilemma, as it did not
- * appear in 4.3BSD. We only set the saved gid when the real
- * gid is specified and either its value would change, or,
- * where the saved and effective gids are different.
- */
- if (rgid != (gid_t)-1 && (rgid != pc->p_rgid ||
- pc->p_svgid != (egid != (gid_t)-1 ? egid : pc->pc_ucred->cr_gid)))
- sgid = rgid;
- else
- sgid = (gid_t)-1;
-
- SCARG(&sresgidargs, rgid) = rgid;
- SCARG(&sresgidargs, egid) = egid;
- SCARG(&sresgidargs, egid) = sgid;
-
- return (sys_setresgid(p, &sresgidargs, retval));
-}
-
-/* ARGSUSED */
-int
-compat_43_sys_setreuid(p, v, retval)
- register struct proc *p;
- void *v;
- register_t *retval;
-{
- struct compat_43_sys_setreuid_args /* {
- syscallarg(uid_t) ruid;
- syscallarg(uid_t) euid;
- } */ *uap = v;
- struct pcred *pc = p->p_cred;
- struct sys_setresuid_args sresuidargs;
- uid_t ruid, euid, suid;
-
- ruid = SCARG(uap, ruid);
- euid = SCARG(uap, euid);
- /*
- * The saved uid presents a bit of a dilemma, as it did not
- * appear in 4.3BSD. We only set the saved uid when the real
- * uid is specified and either its value would change, or,
- * where the saved and effective uids are different.
- */
- if (ruid != (uid_t)-1 && (ruid != pc->p_ruid ||
- pc->p_svuid != (euid != (uid_t)-1 ? euid : pc->pc_ucred->cr_uid)))
- suid = ruid;
- else
- suid = (uid_t)-1;
-
- SCARG(&sresuidargs, ruid) = ruid;
- SCARG(&sresuidargs, euid) = euid;
- SCARG(&sresuidargs, euid) = suid;
-
- return (sys_setresuid(p, &sresuidargs, retval));
-}
diff --git a/sys/compat/freebsd/syscalls.master b/sys/compat/freebsd/syscalls.master
index 32fbf8e867c..478a3b464d2 100644
--- a/sys/compat/freebsd/syscalls.master
+++ b/sys/compat/freebsd/syscalls.master
@@ -1,4 +1,4 @@
- $OpenBSD: syscalls.master,v 1.19 2002/10/30 20:10:48 millert Exp $
+ $OpenBSD: syscalls.master,v 1.20 2003/01/30 03:29:49 millert Exp $
; $NetBSD: syscalls.master,v 1.3 1995/10/10 18:28:40 mycroft Exp $
; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94
@@ -236,10 +236,8 @@
125 NOARGS { int compat_43_sys_recvfrom(int s, caddr_t buf, \
size_t len, int flags, caddr_t from, \
int *fromlenaddr); } orecvfrom
-126 NOARGS { int compat_43_sys_setreuid(int ruid, int euid); } \
- osetreuid
-127 NOARGS { int compat_43_sys_setregid(int rgid, int egid); } \
- osetregid
+126 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); }
+127 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); }
128 STD { int freebsd_sys_rename(char *from, char *to); }
129 STD { int compat_43_freebsd_sys_truncate(char *path, \
long length); } otruncate
diff --git a/sys/compat/ibcs2/ibcs2_socksys.c b/sys/compat/ibcs2/ibcs2_socksys.c
index 1746585cd50..ac03f84a4b9 100644
--- a/sys/compat/ibcs2/ibcs2_socksys.c
+++ b/sys/compat/ibcs2/ibcs2_socksys.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ibcs2_socksys.c,v 1.6 2000/08/30 05:27:08 brad Exp $ */
+/* $OpenBSD: ibcs2_socksys.c,v 1.7 2003/01/30 03:29:49 millert Exp $ */
/* $NetBSD: ibcs2_socksys.c,v 1.7 1996/10/13 00:46:51 christos Exp $ */
/*
@@ -115,9 +115,9 @@ ibcs2_socksys(p, v, retval)
case SOCKSYS_ADJTIME:
return sys_adjtime(p, realargs + 1, retval);
case SOCKSYS_SETREUID:
- return compat_43_sys_setreuid(p, realargs + 1, retval);
+ return sys_setreuid(p, realargs + 1, retval);
case SOCKSYS_SETREGID:
- return compat_43_sys_setregid(p, realargs + 1, retval);
+ return sys_setregid(p, realargs + 1, retval);
case SOCKSYS_GETTIME:
return sys_gettimeofday(p, realargs + 1, retval);
case SOCKSYS_SETTIME:
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
index 3fa69f6bf15..988f9a5eca5 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: linux_misc.c,v 1.47 2002/10/30 20:10:48 millert Exp $ */
+/* $OpenBSD: linux_misc.c,v 1.48 2003/01/30 03:29:49 millert Exp $ */
/* $NetBSD: linux_misc.c,v 1.27 1996/05/20 01:59:21 fvdl Exp $ */
/*
@@ -1251,14 +1251,14 @@ linux_sys_setreuid16(p, v, retval)
syscallarg(int) ruid;
syscallarg(int) euid;
} */ *uap = v;
- struct compat_43_sys_setreuid_args bsa;
+ struct sys_setreuid_args bsa;
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
(uid_t)-1 : SCARG(uap, ruid);
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
(uid_t)-1 : SCARG(uap, euid);
- return compat_43_sys_setreuid(p, &bsa, retval);
+ return sys_setreuid(p, &bsa, retval);
}
int
@@ -1271,14 +1271,14 @@ linux_sys_setregid16(p, v, retval)
syscallarg(int) rgid;
syscallarg(int) egid;
} */ *uap = v;
- struct compat_43_sys_setregid_args bsa;
+ struct sys_setregid_args bsa;
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
(uid_t)-1 : SCARG(uap, rgid);
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
(uid_t)-1 : SCARG(uap, egid);
- return compat_43_sys_setregid(p, &bsa, retval);
+ return sys_setregid(p, &bsa, retval);
}
int
diff --git a/sys/compat/netbsd/syscalls.master b/sys/compat/netbsd/syscalls.master
index 32dbfe9a7ae..8a9f431e4c7 100644
--- a/sys/compat/netbsd/syscalls.master
+++ b/sys/compat/netbsd/syscalls.master
@@ -1,4 +1,4 @@
-; $OpenBSD: syscalls.master,v 1.17 2002/07/06 19:14:20 nordin Exp $
+; $OpenBSD: syscalls.master,v 1.18 2003/01/30 03:29:49 millert Exp $
; @(#)syscalls.master 8.2 (Berkeley) 1/13/94
@@ -268,10 +268,8 @@
#else
125 OBSOL orecvfrom
#endif
-126 NOARGS { int compat_43_sys_setreuid(int ruid, int euid); } \
- osetreuid
-127 NOARGS { int compat_43_sys_setregid(int rgid, int egid); } \
- osetregid
+126 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); }
+127 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); }
128 STD { int netbsd_sys_rename(char *from, char *to); }
129 STD { int compat_43_netbsd_sys_truncate(char *path, \
long length); } otruncate
diff --git a/sys/compat/osf1/syscalls.master b/sys/compat/osf1/syscalls.master
index c91e636465b..ed1d4bc5270 100644
--- a/sys/compat/osf1/syscalls.master
+++ b/sys/compat/osf1/syscalls.master
@@ -1,4 +1,4 @@
- $OpenBSD: syscalls.master,v 1.8 2000/08/04 15:47:55 ericj Exp $
+ $OpenBSD: syscalls.master,v 1.9 2003/01/30 03:29:49 millert Exp $
; $NetBSD: syscalls.master,v 1.29 1999/05/10 03:33:04 cgd Exp $
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
@@ -213,8 +213,8 @@
125 NOARGS { int compat_43_sys_recvfrom(int s, caddr_t buf, \
size_t len, int flags, caddr_t from, \
int *fromlenaddr); }
-126 UNIMPL setreuid
-127 UNIMPL setregid
+126 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); }
+127 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); }
128 NOARGS { int sys_rename(const char *from, \
const char *to); }
129 STD { int osf1_sys_truncate(char *path, \
diff --git a/sys/compat/sunos/syscalls.master b/sys/compat/sunos/syscalls.master
index fa7f6bc731c..9bd3b661039 100644
--- a/sys/compat/sunos/syscalls.master
+++ b/sys/compat/sunos/syscalls.master
@@ -1,4 +1,4 @@
- $OpenBSD: syscalls.master,v 1.12 2002/03/14 00:42:25 miod Exp $
+ $OpenBSD: syscalls.master,v 1.13 2003/01/30 03:29:49 millert Exp $
; $NetBSD: syscalls.master,v 1.33 1996/02/28 16:05:43 pk Exp $
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
@@ -203,8 +203,8 @@
125 NOARGS { int compat_43_sys_recvfrom(int s, caddr_t buf, \
size_t len, int flags, caddr_t from, \
int *fromlenaddr); }
-126 NOARGS { int compat_43_sys_setreuid(int ruid, int euid); }
-127 NOARGS { int compat_43_sys_setregid(int rgid, int egid); }
+126 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); }
+127 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); }
128 NOARGS { int sys_rename(char *from, char *to); }
129 NOARGS { int compat_43_sys_truncate(char *path, long length); }
130 NOARGS { int compat_43_sys_ftruncate(int fd, long length); }
diff --git a/sys/compat/svr4/syscalls.master b/sys/compat/svr4/syscalls.master
index 8e22a4048de..ac9b4b81f0c 100644
--- a/sys/compat/svr4/syscalls.master
+++ b/sys/compat/svr4/syscalls.master
@@ -1,4 +1,4 @@
- $OpenBSD: syscalls.master,v 1.32 2002/07/06 19:14:20 nordin Exp $
+ $OpenBSD: syscalls.master,v 1.33 2003/01/30 03:29:49 millert Exp $
; $NetBSD: syscalls.master,v 1.17 1996/02/10 17:12:51 christos Exp $
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
@@ -311,8 +311,8 @@
200 STD { int svr4_sys_facl(int fd, int cmd, int num, \
struct svr4_aclent *buf); }
201 UNIMPL door
-202 NOARGS { int compat_43_sys_setreuid(int ruid, int euid); }
-203 NOARGS { int compat_43_sys_setregid(int rgid, int egid); }
+202 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); }
+203 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); }
204 UNIMPL install_utrap
205 UNIMPL signotify
206 UNIMPL schedctl
diff --git a/sys/compat/ultrix/syscalls.master b/sys/compat/ultrix/syscalls.master
index 113e7b5c97c..86275bacc06 100644
--- a/sys/compat/ultrix/syscalls.master
+++ b/sys/compat/ultrix/syscalls.master
@@ -1,4 +1,4 @@
- $OpenBSD: syscalls.master,v 1.7 1999/06/07 07:17:48 deraadt Exp $
+ $OpenBSD: syscalls.master,v 1.8 2003/01/30 03:29:49 millert Exp $
; $NetBSD: syscalls.master,v 1.15 1996/01/07 13:38:57 jonathan Exp $
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
@@ -196,8 +196,8 @@
125 NOARGS { int compat_43_sys_recvfrom(int s, caddr_t buf, \
size_t len, int flags, caddr_t from, \
int *fromlenaddr); }
-126 NOARGS { int compat_43_sys_setreuid(int ruid, int euid); }
-127 NOARGS { int compat_43_sys_setregid(int rgid, int egid); }
+126 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); }
+127 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); }
128 NOARGS { int sys_rename(char *from, char *to); }
129 NOARGS { int compat_43_sys_truncate(char *path, long length); }
130 NOARGS { int compat_43_sys_ftruncate(int fd, long length); }
diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c
index 69b0fc2d62e..6795de25359 100644
--- a/sys/kern/kern_prot.c
+++ b/sys/kern/kern_prot.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_prot.c,v 1.22 2002/10/30 20:02:58 millert Exp $ */
+/* $OpenBSD: kern_prot.c,v 1.23 2003/01/30 03:29:49 millert Exp $ */
/* $NetBSD: kern_prot.c,v 1.33 1996/02/09 18:59:42 christos Exp $ */
/*
@@ -532,6 +532,72 @@ sys_setresgid(p, v, retval)
/* ARGSUSED */
int
+sys_setregid(p, v, retval)
+ struct proc *p;
+ void *v;
+ register_t *retval;
+{
+ struct sys_setregid_args /* {
+ syscallarg(gid_t) rgid;
+ syscallarg(gid_t) egid;
+ } */ *uap = v;
+ struct pcred *pc = p->p_cred;
+ struct sys_setresgid_args sresgidargs;
+ gid_t rgid, egid;
+
+ rgid = SCARG(&sresgidargs, rgid) = SCARG(uap, rgid);
+ egid = SCARG(&sresgidargs, egid) = SCARG(uap, egid);
+
+ /*
+ * The saved gid presents a bit of a dilemma, as it did not
+ * exist when setregid(2) was conceived. We only set the saved
+ * gid when the real gid is specified and either its value would
+ * change, or where the saved and effective gids are different.
+ */
+ if (rgid != (gid_t)-1 && (rgid != pc->p_rgid ||
+ pc->p_svgid != (egid != (gid_t)-1 ? egid : pc->pc_ucred->cr_gid)))
+ SCARG(&sresgidargs, sgid) = rgid;
+ else
+ SCARG(&sresgidargs, sgid) = (gid_t)-1;
+
+ return (sys_setresgid(p, &sresgidargs, retval));
+}
+
+/* ARGSUSED */
+int
+sys_setreuid(p, v, retval)
+ struct proc *p;
+ void *v;
+ register_t *retval;
+{
+ struct sys_setreuid_args /* {
+ syscallarg(uid_t) ruid;
+ syscallarg(uid_t) euid;
+ } */ *uap = v;
+ struct pcred *pc = p->p_cred;
+ struct sys_setresuid_args sresuidargs;
+ uid_t ruid, euid;
+
+ ruid = SCARG(&sresuidargs, ruid) = SCARG(uap, ruid);
+ euid = SCARG(&sresuidargs, euid) = SCARG(uap, euid);
+
+ /*
+ * The saved uid presents a bit of a dilemma, as it did not
+ * exist when setreuid(2) was conceived. We only set the saved
+ * uid when the real uid is specified and either its value would
+ * change, or where the saved and effective uids are different.
+ */
+ if (ruid != (uid_t)-1 && (ruid != pc->p_ruid ||
+ pc->p_svuid != (euid != (uid_t)-1 ? euid : pc->pc_ucred->cr_uid)))
+ SCARG(&sresuidargs, suid) = ruid;
+ else
+ SCARG(&sresuidargs, suid) = (uid_t)-1;
+
+ return (sys_setresuid(p, &sresuidargs, retval));
+}
+
+/* ARGSUSED */
+int
sys_setuid(p, v, retval)
struct proc *p;
void *v;
diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master
index 4fd3d529f45..b427bc216ee 100644
--- a/sys/kern/syscalls.master
+++ b/sys/kern/syscalls.master
@@ -1,4 +1,4 @@
-; $OpenBSD: syscalls.master,v 1.51 2002/10/30 20:02:58 millert Exp $
+; $OpenBSD: syscalls.master,v 1.52 2003/01/30 03:29:49 millert Exp $
; $NetBSD: syscalls.master,v 1.32 1996/04/23 10:24:21 mycroft Exp $
; @(#)syscalls.master 8.2 (Berkeley) 1/13/94
@@ -238,8 +238,8 @@
125 COMPAT_43 { int sys_recvfrom(int s, caddr_t buf, size_t len, \
int flags, caddr_t from, int *fromlenaddr); } \
orecvfrom
-126 COMPAT_43 { int sys_setreuid(uid_t ruid, uid_t euid); } osetreuid
-127 COMPAT_43 { int sys_setregid(gid_t rgid, gid_t egid); } osetregid
+126 STD { int sys_setreuid(uid_t ruid, uid_t euid); }
+127 STD { int sys_setregid(gid_t rgid, gid_t egid); }
128 STD { int sys_rename(const char *from, const char *to); }
129 COMPAT_43 { int sys_truncate(const char *path, long length); } \
otruncate