summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1998-03-08 06:21:33 +0000
committerdyson <dyson@FreeBSD.org>1998-03-08 06:21:33 +0000
commit54f61de05f8ef5bb4a504781afba5d321f1140d5 (patch)
tree4b008446f819543f02435a25d16ca0ee4e8400ec /sys
parent69d046431cb5de200f587771df80118f89b532ed (diff)
downloadFreeBSD-src-54f61de05f8ef5bb4a504781afba5d321f1140d5.zip
FreeBSD-src-54f61de05f8ef5bb4a504781afba5d321f1140d5.tar.gz
Free the first page also if it is not valid.
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_exec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 64fea59..fb591cd 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: kern_exec.c,v 1.79 1998/03/02 05:47:55 peter Exp $
+ * $Id: kern_exec.c,v 1.80 1998/03/07 21:35:17 dyson Exp $
*/
#include <sys/param.h>
@@ -387,7 +387,7 @@ exec_map_first_page(imgp)
rv = vm_pager_get_pages(object, ma, initial_pagein, 0);
ma[0] = vm_page_lookup(object, 0);
- if ((rv != VM_PAGER_OK) || (ma[0] == NULL)) {
+ if ((rv != VM_PAGER_OK) || (ma[0] == NULL) || (ma[0]->valid == 0)) {
vm_page_protect(ma[0], VM_PROT_NONE);
vm_page_free(ma[0]);
splx(s);
OpenPOWER on IntegriCloud