Date: Sat, 9 May 2009 01:25:05 GMT From: Marko Zec <zec@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 161798 for review Message-ID: <200905090125.n491P505056773@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=161798 Change 161798 by zec@zec_tpx32 on 2009/05/09 01:24:23 Add an exception to allow for a process running in one vimage to receive signals from processes running in child vimages that it is waiting on, but only when the processes in the child vimage is exiting. Affected files ... .. //depot/projects/vimage-commit2/src/sys/kern/kern_prot.c#9 edit .. //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#34 edit .. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#58 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/kern/kern_prot.c#9 (text+ko) ==== @@ -1756,7 +1756,11 @@ KASSERT(td == curthread, ("%s: td not curthread", __func__)); PROC_LOCK_ASSERT(p, MA_OWNED); - if ((error = prison_check(td->td_ucred, p->p_ucred))) + if ( +#ifdef VIMAGE + !vi_child_of(TD_TO_VIMAGE(td), P_TO_VIMAGE(p)) && +#endif + (error = prison_check(td->td_ucred, p->p_ucred))) return (error); #ifdef MAC if ((error = mac_proc_check_wait(td->td_ucred, p))) ==== //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#34 (text+ko) ==== @@ -101,7 +101,7 @@ * Userspace interfaces. */ -static int +int vi_child_of(struct vimage *parent, struct vimage *child) { if (child == parent) ==== //depot/projects/vimage-commit2/src/sys/sys/vimage.h#58 (text+ko) ==== @@ -158,6 +158,7 @@ int vi_symlookup(struct kld_sym_lookup *, char *); int vi_td_ioctl(u_long, struct vi_req *, struct thread *); int vi_if_move(struct vi_req *, struct ifnet *, struct vimage *); +int vi_child_of(struct vimage *, struct vimage *); void if_reassign_common(struct ifnet *, struct vnet *, const char *); void vnet_mod_register(const struct vnet_modinfo *); void vnet_mod_register_multi(const struct vnet_modinfo *, void *, char *);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905090125.n491P505056773>