summaryrefslogtreecommitdiff
path: root/sys/compat
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1996-08-25 12:20:03 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1996-08-25 12:20:03 +0000
commitc0d8e069269f4b68db3b7b60ad34b70bf98b9b82 (patch)
tree710ca086b634768616e96dafeedb2d6a32906155 /sys/compat
parent69189bf9794c800b106a391ec8409cc13efb8ebe (diff)
route execve via compat filename translation
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/hpux/hpux_exec.c16
-rw-r--r--sys/compat/hpux/syscalls.master4
-rw-r--r--sys/compat/osf1/osf1_misc.c16
-rw-r--r--sys/compat/osf1/syscalls.master4
-rw-r--r--sys/compat/sunos/sunos_misc.c16
-rw-r--r--sys/compat/sunos/syscalls.master4
-rw-r--r--sys/compat/ultrix/syscalls.master4
-rw-r--r--sys/compat/ultrix/ultrix_misc.c16
8 files changed, 68 insertions, 12 deletions
diff --git a/sys/compat/hpux/hpux_exec.c b/sys/compat/hpux/hpux_exec.c
index 25e4346c01d..6ecf99b7b22 100644
--- a/sys/compat/hpux/hpux_exec.c
+++ b/sys/compat/hpux/hpux_exec.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: hpux_exec.c,v 1.3 1996/08/02 20:34:54 niklas Exp $ */
+/* $OpenBSD: hpux_exec.c,v 1.4 1996/08/25 12:19:48 deraadt Exp $ */
/* $NetBSD: hpux_exec.c,v 1.3 1996/01/06 12:44:13 thorpej Exp $ */
/*
@@ -300,3 +300,17 @@ hpux_sys_execv(p, v, retval)
return sys_execve(p, &ap, retval);
}
+
+int
+hpux_sys_execve(p, v, retval)
+ struct proc *p;
+ void *v;
+ register_t *retval;
+{
+ struct hpux_sys_execve_args *uap = v;
+
+ caddr_t sg = stackgap_init(p->p_emul);
+ HPUX_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
+
+ return (sys_execve(p, (struct sys_execve_args *)&uap, retval));
+}
diff --git a/sys/compat/hpux/syscalls.master b/sys/compat/hpux/syscalls.master
index 81bded9225e..29a1565ea1f 100644
--- a/sys/compat/hpux/syscalls.master
+++ b/sys/compat/hpux/syscalls.master
@@ -1,4 +1,4 @@
- $OpenBSD: syscalls.master,v 1.3 1996/08/02 20:29:10 niklas Exp $
+ $OpenBSD: syscalls.master,v 1.4 1996/08/25 12:19:51 deraadt Exp $
; $NetBSD: syscalls.master,v 1.9 1995/11/28 08:39:56 thorpej Exp $
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
@@ -109,7 +109,7 @@
int dev, int request); }
58 STD { int hpux_sys_readlink(char *path, char *buf, \
int count); }
-59 NOARGS { int sys_execve(char *path, char **argp, \
+59 STD { int hpux_sys_execve(char *path, char **argp, \
char **envp); }
60 NOARGS { int sys_umask(int newmask); }
61 NOARGS { int sys_chroot(char *path); }
diff --git a/sys/compat/osf1/osf1_misc.c b/sys/compat/osf1/osf1_misc.c
index 008900407fa..ed0e94aeffc 100644
--- a/sys/compat/osf1/osf1_misc.c
+++ b/sys/compat/osf1/osf1_misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: osf1_misc.c,v 1.3 1996/08/23 11:46:51 niklas Exp $ */
+2/* $OpenBSD: osf1_misc.c,v 1.4 1996/08/25 12:19:53 deraadt Exp $ */
/* $NetBSD: osf1_misc.c,v 1.7 1995/10/07 06:53:04 mycroft Exp $ */
/*
@@ -956,3 +956,17 @@ osf1_sys_madvise(p, v, retval)
/* XXX */
return EINVAL;
}
+
+int
+osf1_sys_execve(p, v, retval)
+ struct proc *p;
+ void *v;
+ register_t *retval;
+{
+ struct osf1_sys_execve_args *uap = v;
+
+ caddr_t sg = stackgap_init(p->p_emul);
+ OSF1_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
+
+ return (sys_execve(p, (struct sys_execve_args *)&uap, retval));
+}
diff --git a/sys/compat/osf1/syscalls.master b/sys/compat/osf1/syscalls.master
index 32af409fa70..8997babc6dd 100644
--- a/sys/compat/osf1/syscalls.master
+++ b/sys/compat/osf1/syscalls.master
@@ -1,4 +1,4 @@
- $OpenBSD: syscalls.master,v 1.2 1996/08/02 20:20:30 niklas Exp $
+ $OpenBSD: syscalls.master,v 1.3 1996/08/25 12:19:55 deraadt Exp $
; $NetBSD: syscalls.master,v 1.2 1995/10/07 06:27:28 mycroft Exp $
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
@@ -104,7 +104,7 @@
56 NOARGS { int sys_revoke(char *path); }
57 NOARGS { int sys_symlink(char *path, char *link); }
58 NOARGS { int sys_readlink(char *path, char *buf, int count); }
-59 NOARGS { int sys_execve(char *path, char **argp, \
+59 STD { int osf1_sys_execve(char *path, char **argp, \
char **envp); }
60 NOARGS { int sys_umask(int newmask); }
61 NOARGS { int sys_chroot(char *path); }
diff --git a/sys/compat/sunos/sunos_misc.c b/sys/compat/sunos/sunos_misc.c
index f75c8b0caf8..8dbd70058e2 100644
--- a/sys/compat/sunos/sunos_misc.c
+++ b/sys/compat/sunos/sunos_misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sunos_misc.c,v 1.7 1996/08/02 20:20:31 niklas Exp $ */
+/* $OpenBSD: sunos_misc.c,v 1.8 1996/08/25 12:19:57 deraadt Exp $ */
/* $NetBSD: sunos_misc.c,v 1.65 1996/04/22 01:44:31 christos Exp $ */
/*
@@ -173,6 +173,20 @@ sunos_sys_lstat(p, v, retval)
}
int
+sunos_sys_execve(p, v, retval)
+ struct proc *p;
+ void *v;
+ register_t *retval;
+{
+ struct sunos_sys_execve_args *uap = v;
+
+ caddr_t sg = stackgap_init(p->p_emul);
+ SUNOS_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
+
+ return (sys_execve(p, (struct sys_execve_args *)&uap, retval));
+}
+
+int
sunos_sys_execv(p, v, retval)
struct proc *p;
void *v;
diff --git a/sys/compat/sunos/syscalls.master b/sys/compat/sunos/syscalls.master
index 033d9e9bf4a..ffcd6589f44 100644
--- a/sys/compat/sunos/syscalls.master
+++ b/sys/compat/sunos/syscalls.master
@@ -1,4 +1,4 @@
- $OpenBSD: syscalls.master,v 1.4 1996/08/02 21:55:22 niklas Exp $
+ $OpenBSD: syscalls.master,v 1.5 1996/08/25 12:19:58 deraadt Exp $
; $NetBSD: syscalls.master,v 1.33 1996/02/28 16:05:43 pk Exp $
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
@@ -106,7 +106,7 @@
56 OBSOL sunos_owait3
57 NOARGS { int sys_symlink(char *path, char *link); }
58 NOARGS { int sys_readlink(char *path, char *buf, int count); }
-59 NOARGS { int sys_execve(char *path, char **argp, \
+59 STD { int sunos_sys_execve(char *path, char **argp, \
char **envp); }
60 NOARGS { int sys_umask(int newmask); }
61 NOARGS { int sys_chroot(char *path); }
diff --git a/sys/compat/ultrix/syscalls.master b/sys/compat/ultrix/syscalls.master
index aee493adc11..acfdc60aea5 100644
--- a/sys/compat/ultrix/syscalls.master
+++ b/sys/compat/ultrix/syscalls.master
@@ -1,4 +1,4 @@
- $OpenBSD: syscalls.master,v 1.4 1996/08/02 20:29:13 niklas Exp $
+ $OpenBSD: syscalls.master,v 1.5 1996/08/25 12:20:00 deraadt Exp $
; $NetBSD: syscalls.master,v 1.15 1996/01/07 13:38:57 jonathan Exp $
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
@@ -104,7 +104,7 @@
56 UNIMPL v7 mpxchan
57 NOARGS { int sys_symlink(char *path, char *link); }
58 NOARGS { int sys_readlink(char *path, char *buf, int count); }
-59 NOARGS { int sys_execve(char *path, char **argp, \
+59 STD { int ultrix_sys_execve(char *path, char **argp, \
char **envp); }
60 NOARGS { int sys_umask(int newmask); }
61 NOARGS { int sys_chroot(char *path); }
diff --git a/sys/compat/ultrix/ultrix_misc.c b/sys/compat/ultrix/ultrix_misc.c
index d911e80aea6..046cc440349 100644
--- a/sys/compat/ultrix/ultrix_misc.c
+++ b/sys/compat/ultrix/ultrix_misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ultrix_misc.c,v 1.8 1996/08/10 12:09:24 deraadt Exp $ */
+/* $OpenBSD: ultrix_misc.c,v 1.9 1996/08/25 12:20:02 deraadt Exp $ */
/* $NetBSD: ultrix_misc.c,v 1.23 1996/04/07 17:23:04 jonathan Exp $ */
/*
@@ -582,3 +582,17 @@ ultrix_sys_sigreturn(p, v, retval)
#endif
return sys_sigreturn(p, (struct sys_sigreturn_args *)uap, retval);
}
+
+int
+ultrix_sys_execve(p, v, retval)
+ struct proc *p;
+ void *v;
+ register_t *retval;
+{
+ struct ultrix_sys_execve_args *uap = v;
+
+ caddr_t sg = stackgap_init(p->p_emul);
+ ULTRIX_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
+
+ return (sys_execve(p, (struct sys_execve_args *)&uap, retval));
+}