Module Name: src Committed By: martin Date: Sun Feb 12 20:28:14 UTC 2012
Modified Files: src/sys/uvm: uvm_map.c Log Message: Fix another merge botch - bracket vm space assignement with kpreempt- disable/enable. To generate a diff of this commit: cvs rdiff -u -r1.312 -r1.313 src/sys/uvm/uvm_map.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/uvm/uvm_map.c diff -u src/sys/uvm/uvm_map.c:1.312 src/sys/uvm/uvm_map.c:1.313 --- src/sys/uvm/uvm_map.c:1.312 Sat Jan 28 00:00:06 2012 +++ src/sys/uvm/uvm_map.c Sun Feb 12 20:28:14 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_map.c,v 1.312 2012/01/28 00:00:06 rmind Exp $ */ +/* $NetBSD: uvm_map.c,v 1.313 2012/02/12 20:28:14 martin Exp $ */ /* * Copyright (c) 1997 Charles D. Cranor and Washington University. @@ -66,7 +66,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uvm_map.c,v 1.312 2012/01/28 00:00:06 rmind Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uvm_map.c,v 1.313 2012/02/12 20:28:14 martin Exp $"); #include "opt_ddb.h" #include "opt_uvmhist.h" @@ -4056,8 +4056,11 @@ uvmspace_exec(struct lwp *l, vaddr_t sta * no races possible in this case. */ if (ovm == NULL) { - p->p_vmspace = uvmspace_alloc(start, end); + ovm = uvmspace_alloc(start, end); + kpreempt_disable(); + p->p_vmspace = ovm; pmap_activate(l); + kpreempt_enable(); return; }