diff options
author | bz <bz@FreeBSD.org> | 2008-07-07 20:53:49 +0000 |
---|---|---|
committer | bz <bz@FreeBSD.org> | 2008-07-07 20:53:49 +0000 |
commit | 6988e35234522c9659ed9da198e29f748d55a6ac (patch) | |
tree | 2cdbe9ae35678e53aae72869b6a984f8f43e5d91 /sys/kern/kern_jail.c | |
parent | cf63123d06c300ee1a5cb8cf86aca4dfea8e1109 (diff) | |
download | FreeBSD-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.c | 4 |
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); |