Author: alc
Date: Tue Jun  4 17:23:09 2013
New Revision: 251391
URL: http://svnweb.freebsd.org/changeset/base/251391

Log:
  Relax the vm object locking in mac_proc_vm_revoke_recurse().  A read lock
  suffices in one place.
  
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/sys/security/mac/mac_process.c

Modified: head/sys/security/mac/mac_process.c
==============================================================================
--- head/sys/security/mac/mac_process.c Tue Jun  4 17:08:26 2013        
(r251390)
+++ head/sys/security/mac/mac_process.c Tue Jun  4 17:23:09 2013        
(r251391)
@@ -284,14 +284,14 @@ mac_proc_vm_revoke_recurse(struct thread
                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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to