From a42159f0ee059e28fb6e766123a20df625005fb8 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Tue, 4 Jun 2013 17:23:09 +0000 Subject: Relax the vm object locking in mac_proc_vm_revoke_recurse(). A read lock suffices in one place. Sponsored by: EMC / Isilon Storage Division --- sys/security/mac/mac_process.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'sys/security') diff --git a/sys/security/mac/mac_process.c b/sys/security/mac/mac_process.c index 15f704d89741..1a760cf629a4 100644 --- a/sys/security/mac/mac_process.c +++ b/sys/security/mac/mac_process.c @@ -284,14 +284,14 @@ mac_proc_vm_revoke_recurse(struct thread *td, struct ucred *cred, object = vme->object.vm_object; if (object == NULL) continue; - VM_OBJECT_WLOCK(object); + VM_OBJECT_RLOCK(object); while ((backing_object = object->backing_object) != NULL) { - VM_OBJECT_WLOCK(backing_object); + VM_OBJECT_RLOCK(backing_object); offset += object->backing_object_offset; - VM_OBJECT_WUNLOCK(object); + VM_OBJECT_RUNLOCK(object); object = backing_object; } - VM_OBJECT_WUNLOCK(object); + VM_OBJECT_RUNLOCK(object); /* * At the moment, vm_maps and objects aren't considered by * the MAC system, so only things with backing by a normal -- cgit v1.3