summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2016-06-05 08:42:33 +0000
committerkib <kib@FreeBSD.org>2016-06-05 08:42:33 +0000
commitf7bbcd3e43765ca231710cbe276b21d44ea506f1 (patch)
treea24db999317be62b51cdb00611b001b04f13fa5a
parent32dd9edc0555ce09f7ac2a113175c6a42e44348a (diff)
downloadFreeBSD-src-f7bbcd3e43765ca231710cbe276b21d44ea506f1.zip
FreeBSD-src-f7bbcd3e43765ca231710cbe276b21d44ea506f1.tar.gz
MFC r300959:
Do not leak the vm object lock when swap reservation failed, in vm_object_coalesce().
-rw-r--r--sys/vm/vm_object.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 6d193de..5ea59b3 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -2132,6 +2132,7 @@ vm_object_coalesce(vm_object_t prev_object, vm_ooffset_t prev_offset,
*/
if (!reserved && !swap_reserve_by_cred(ptoa(next_size),
prev_object->cred)) {
+ VM_OBJECT_WUNLOCK(prev_object);
return (FALSE);
}
prev_object->charge += ptoa(next_size);
OpenPOWER on IntegriCloud