aboutsummaryrefslogtreecommitdiff
path: root/sys/compat
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2015-08-17 13:07:12 +0000
committerEd Schouten <ed@FreeBSD.org>2015-08-17 13:07:12 +0000
commitedcf7fbf595d66836eccafa5e612cfbad9025bfb (patch)
treef94b2c4a18ea22d9e031baea8a45bc1374eee5e2 /sys/compat
parent084748985d5198575c06339ab053b4a3c771f7df (diff)
downloadsrc-edcf7fbf595d66836eccafa5e612cfbad9025bfb.tar.gz
src-edcf7fbf595d66836eccafa5e612cfbad9025bfb.zip
Don't forget to invoke pre_execve() and post_execve().
CloudABI's proc_exec() was implemented before r282708 introduced pre_execve() and post_execve(). Sync up by adding these missing calls.
Notes
Notes: svn path=/head/; revision=286844
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/cloudabi/cloudabi_proc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/compat/cloudabi/cloudabi_proc.c b/sys/compat/cloudabi/cloudabi_proc.c
index 9c735fa787d6..d91733760ceb 100644
--- a/sys/compat/cloudabi/cloudabi_proc.c
+++ b/sys/compat/cloudabi/cloudabi_proc.c
@@ -46,14 +46,19 @@ cloudabi_sys_proc_exec(struct thread *td,
struct cloudabi_sys_proc_exec_args *uap)
{
struct image_args args;
+ struct vmspace *oldvmspace;
int error;
+ error = pre_execve(td, &oldvmspace);
+ if (error != 0)
+ return (error);
error = exec_copyin_data_fds(td, &args, uap->data, uap->datalen,
uap->fds, uap->fdslen);
if (error == 0) {
args.fd = uap->fd;
error = kern_execve(td, &args, NULL);
}
+ post_execve(td, error, oldvmspace);
return (error);
}