summaryrefslogtreecommitdiffstats
path: root/sys/vm/uma_core.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-04-28 06:11:32 +0000
committeralc <alc@FreeBSD.org>2003-04-28 06:11:32 +0000
commit482e860dda7cab14715c1f17c1b888d5c5591e90 (patch)
treec45e4b863414b2d8b4e2acb3a5bf3614c5bf08f5 /sys/vm/uma_core.c
parent600f5cf898c0247ef04cdb52bd6aeb4c726db69f (diff)
downloadFreeBSD-src-482e860dda7cab14715c1f17c1b888d5c5591e90.zip
FreeBSD-src-482e860dda7cab14715c1f17c1b888d5c5591e90.tar.gz
uma_zone_set_obj() must perform VM_OBJECT_LOCK_INIT() if the caller
provides storage for the vm_object.
Diffstat (limited to 'sys/vm/uma_core.c')
-rw-r--r--sys/vm/uma_core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c
index a51c8ba..a27794b 100644
--- a/sys/vm/uma_core.c
+++ b/sys/vm/uma_core.c
@@ -1941,10 +1941,11 @@ uma_zone_set_obj(uma_zone_t zone, struct vm_object *obj, int count)
if (obj == NULL)
obj = vm_object_allocate(OBJT_DEFAULT,
pages);
- else
+ else {
+ VM_OBJECT_LOCK_INIT(obj);
_vm_object_allocate(OBJT_DEFAULT,
pages, obj);
-
+ }
ZONE_LOCK(zone);
zone->uz_kva = kva;
zone->uz_obj = obj;
OpenPOWER on IntegriCloud