Page MenuHomeFreeBSD

D47992.id148173.diff
No OneTemporary

D47992.id148173.diff

diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c
--- a/sys/kern/kern_jail.c
+++ b/sys/kern/kern_jail.c
@@ -3207,9 +3207,12 @@
* Removing a prison frees references
* from its parent.
*/
+ ppr = pr->pr_parent;
+ pr->pr_parent = NULL;
mtx_unlock(&pr->pr_mtx);
+
+ pr = ppr;
flags &= ~PD_LOCKED;
- pr = pr->pr_parent;
flags |= PD_DEREF | PD_DEUREF;
continue;
}
@@ -3236,7 +3239,7 @@
*/
TAILQ_FOREACH_SAFE(rpr, &freeprison, pr_list, tpr) {
#ifdef VIMAGE
- if (rpr->pr_vnet != rpr->pr_parent->pr_vnet)
+ if (rpr->pr_flags & PR_VNET)
vnet_destroy(rpr->pr_vnet);
#endif
if (rpr->pr_root != NULL)

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 25, 1:15 PM (39 m, 45 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17785422
Default Alt Text
D47992.id148173.diff (679 B)

Event Timeline