summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_jail.c
diff options
context:
space:
mode:
authorbz <bz@FreeBSD.org>2008-07-07 20:53:49 +0000
committerbz <bz@FreeBSD.org>2008-07-07 20:53:49 +0000
commit6988e35234522c9659ed9da198e29f748d55a6ac (patch)
tree2cdbe9ae35678e53aae72869b6a984f8f43e5d91 /sys/kern/kern_jail.c
parentcf63123d06c300ee1a5cb8cf86aca4dfea8e1109 (diff)
downloadFreeBSD-src-6988e35234522c9659ed9da198e29f748d55a6ac.zip
FreeBSD-src-6988e35234522c9659ed9da198e29f748d55a6ac.tar.gz
MFp4 144659:
Plug a memory leak with jail services. PR: 125257 Submitted by: Mateusz Guzik <mjguzik gmail.com> MFC after: 6 days
Diffstat (limited to 'sys/kern/kern_jail.c')
-rw-r--r--sys/kern/kern_jail.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c
index 869551f..b9efe24 100644
--- a/sys/kern/kern_jail.c
+++ b/sys/kern/kern_jail.c
@@ -209,6 +209,8 @@ e_dropprref:
}
sx_sunlock(&allprison_lock);
e_dropvnref:
+ if (pr->pr_slots != NULL)
+ FREE(pr->pr_slots, M_PRISON);
vfslocked = VFS_LOCK_GIANT(pr->pr_root->v_mount);
vrele(pr->pr_root);
VFS_UNLOCK_GIANT(vfslocked);
@@ -339,6 +341,8 @@ prison_complete(void *context, int pending)
psrv->ps_destroy(psrv, pr);
}
sx_sunlock(&allprison_lock);
+ if (pr->pr_slots != NULL)
+ FREE(pr->pr_slots, M_PRISON);
vfslocked = VFS_LOCK_GIANT(pr->pr_root->v_mount);
vrele(pr->pr_root);
OpenPOWER on IntegriCloud