svn commit: r328996 - head/sys/kern
Andriy Gapon
avg at FreeBSD.org
Wed Feb 7 21:52:00 UTC 2018
Author: avg
Date: Wed Feb 7 21:51:59 2018
New Revision: 328996
URL: https://svnweb.freebsd.org/changeset/base/328996
Log:
exec_map_first_page: fix an inverse condition introduced in r254138
While the bug itself was serious, as we could either pass a non-busied
page to vm_pager_get_pages() or leak a busy page, it could only be
triggered under a very rare condition where the page is already inserted
into the object, but it is not valid yet.
Reviewed by: kib
MFC after: 2 weeks
Modified:
head/sys/kern/kern_exec.c
Modified: head/sys/kern/kern_exec.c
==============================================================================
--- head/sys/kern/kern_exec.c Wed Feb 7 20:36:37 2018 (r328995)
+++ head/sys/kern/kern_exec.c Wed Feb 7 21:51:59 2018 (r328996)
@@ -1009,7 +1009,7 @@ exec_map_first_page(imgp)
if ((ma[i] = vm_page_next(ma[i - 1])) != NULL) {
if (ma[i]->valid)
break;
- if (vm_page_tryxbusy(ma[i]))
+ if (!vm_page_tryxbusy(ma[i]))
break;
} else {
ma[i] = vm_page_alloc(object, i,
More information about the svn-src-all
mailing list