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/osf1 | |
parent | 69189bf9794c800b106a391ec8409cc13efb8ebe (diff) |
route execve via compat filename translation
Diffstat (limited to 'sys/compat/osf1')
-rw-r--r-- | sys/compat/osf1/osf1_misc.c | 16 | ||||
-rw-r--r-- | sys/compat/osf1/syscalls.master | 4 |
2 files changed, 17 insertions, 3 deletions
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); } |