summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2015-08-17 13:07:12 +0000
committered <ed@FreeBSD.org>2015-08-17 13:07:12 +0000
commitcd546a84a9ab88ad11d1d73322b8a468bfb586f3 (patch)
treef94b2c4a18ea22d9e031baea8a45bc1374eee5e2 /sys/compat
parentdd4db76e81c281772642f7d239065bb733b424cf (diff)
downloadFreeBSD-src-cd546a84a9ab88ad11d1d73322b8a468bfb586f3.zip
FreeBSD-src-cd546a84a9ab88ad11d1d73322b8a468bfb586f3.tar.gz
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.
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 9c735fa..d917337 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);
}
OpenPOWER on IntegriCloud