Author: alc
Date: Sat Aug 13 18:10:32 2016
New Revision: 304050
URL: https://svnweb.freebsd.org/changeset/base/304050

Log:
  Eliminate two calls to vm_page_xunbusy() that are both unnecessary and
  incorrect from the error cases in exec_map_first_page().  They are
  unnecessary because we automatically unbusy the page in vm_page_free()
  when we remove it from the object.  The calls are incorrect because they
  happen after the page is freed, so we might actually unbusy the page
  after it has been reallocated to a different object.  (This error was
  introduced in r292373.)
  
  Reviewed by:  kib
  MFC after:    1 week

Modified:
  head/sys/kern/kern_exec.c

Modified: head/sys/kern/kern_exec.c
==============================================================================
--- head/sys/kern/kern_exec.c   Sat Aug 13 16:45:14 2016        (r304049)
+++ head/sys/kern/kern_exec.c   Sat Aug 13 18:10:32 2016        (r304050)
@@ -990,7 +990,6 @@ exec_map_first_page(imgp)
                        vm_page_lock(ma[0]);
                        vm_page_free(ma[0]);
                        vm_page_unlock(ma[0]);
-                       vm_page_xunbusy(ma[0]);
                        VM_OBJECT_WUNLOCK(object);
                        return (EIO);
                }
@@ -1018,7 +1017,6 @@ exec_map_first_page(imgp)
                                vm_page_lock(ma[i]);
                                vm_page_free(ma[i]);
                                vm_page_unlock(ma[i]);
-                               vm_page_xunbusy(ma[i]);
                        }
                        VM_OBJECT_WUNLOCK(object);
                        return (EIO);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to