diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-08-25 12:20:03 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-08-25 12:20:03 +0000 |
commit | c0d8e069269f4b68db3b7b60ad34b70bf98b9b82 (patch) | |
tree | 710ca086b634768616e96dafeedb2d6a32906155 /sys/compat | |
parent | 69189bf9794c800b106a391ec8409cc13efb8ebe (diff) |
route execve via compat filename translation
Diffstat (limited to 'sys/compat')
-rw-r--r-- | sys/compat/hpux/hpux_exec.c | 16 | ||||
-rw-r--r-- | sys/compat/hpux/syscalls.master | 4 | ||||
-rw-r--r-- | sys/compat/osf1/osf1_misc.c | 16 | ||||
-rw-r--r-- | sys/compat/osf1/syscalls.master | 4 | ||||
-rw-r--r-- | sys/compat/sunos/sunos_misc.c | 16 | ||||
-rw-r--r-- | sys/compat/sunos/syscalls.master | 4 | ||||
-rw-r--r-- | sys/compat/ultrix/syscalls.master | 4 | ||||
-rw-r--r-- | sys/compat/ultrix/ultrix_misc.c | 16 |
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)); +} |