svn commit: r304943 - stable/11/sys/kern

Alan Cox alc at FreeBSD.org
Sun Aug 28 05:18:40 UTC 2016


Author: alc
Date: Sun Aug 28 05:18:39 2016
New Revision: 304943
URL: https://svnweb.freebsd.org/changeset/base/304943

Log:
  MFC r304050
    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.)

Modified:
  stable/11/sys/kern/kern_exec.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/kern/kern_exec.c
==============================================================================
--- stable/11/sys/kern/kern_exec.c	Sun Aug 28 05:07:13 2016	(r304942)
+++ stable/11/sys/kern/kern_exec.c	Sun Aug 28 05:18:39 2016	(r304943)
@@ -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);


More information about the svn-src-all mailing list