diff options
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/vm_map.c | 4 | ||||
-rw-r--r-- | sys/vm/vm_obj.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index afe6760..2501e08 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -305,12 +305,12 @@ munmap(void *addr, size_t len) spinlock_acquire(&obj->lock); /* * Drop our ref and try to cleanup. If the refcount - * is > 1, something is still holding it and we can't + * is > 0, something is still holding it and we can't * do much. */ vm_object_unref(obj); vp = obj->vnode; - if (vp != NULL && obj->ref == 1) { + if (vp != NULL && obj->ref == 0) { vp->vmobj = NULL; vm_obj_destroy(obj); } diff --git a/sys/vm/vm_obj.c b/sys/vm/vm_obj.c index 8f34ff3..6dbe777 100644 --- a/sys/vm/vm_obj.c +++ b/sys/vm/vm_obj.c @@ -61,7 +61,7 @@ vm_obj_init(struct vm_object **res, struct vnode *vnode) memset(obj, 0, sizeof(struct vm_object)); obj->vnode = vnode; - obj->ref = 1; + obj->ref = 0; vm_set_pgops(obj, vnode); *res = obj; |