diff options
author | dyson <dyson@FreeBSD.org> | 1998-03-08 06:21:33 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1998-03-08 06:21:33 +0000 |
commit | 54f61de05f8ef5bb4a504781afba5d321f1140d5 (patch) | |
tree | 4b008446f819543f02435a25d16ca0ee4e8400ec /sys/kern/kern_exec.c | |
parent | 69d046431cb5de200f587771df80118f89b532ed (diff) | |
download | FreeBSD-src-54f61de05f8ef5bb4a504781afba5d321f1140d5.zip FreeBSD-src-54f61de05f8ef5bb4a504781afba5d321f1140d5.tar.gz |
Free the first page also if it is not valid.
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r-- | sys/kern/kern_exec.c | 4 |
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); |