From owner-cvs-all Wed Jul 21 11: 3:39 1999 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 0F9181555C; Wed, 21 Jul 1999 11:03:32 -0700 (PDT) (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id LAA94109; Wed, 21 Jul 1999 11:02:29 -0700 (PDT) (envelope-from alc@FreeBSD.org) Message-Id: <199907211802.LAA94109@freefall.freebsd.org> From: Alan Cox Date: Wed, 21 Jul 1999 11:02:29 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/alpha/alpha pmap.c src/sys/i386/i386 pmap.c src/sys/kern kern_fork.c src/sys/vm pmap.h vm_glue.c vm_map.c Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk alc 1999/07/21 11:02:28 PDT Modified files: sys/alpha/alpha pmap.c sys/i386/i386 pmap.c sys/kern kern_fork.c sys/vm pmap.h vm_glue.c vm_map.c Log: Fix the following problem: When creating new processes (or performing exec), the new page directory is initialized too early. The kernel might grow before p_vmspace is initialized for the new process. Since pmap_growkernel doesn't yet know about the new page directory, it isn't updated, and subsequent use causes a failure. The fix is (1) to clear p_vmspace early, to stop pmap_growkernel from stomping on memory, and (2) to defer part of the initialization of new page directories until p_vmspace is initialized. PR: kern/12378 Submitted by: tegge Reviewed by: dfr Revision Changes Path 1.28 +14 -4 src/sys/alpha/alpha/pmap.c 1.242 +15 -4 src/sys/i386/i386/pmap.c 1.64 +3 -1 src/sys/kern/kern_fork.c 1.31 +2 -1 src/sys/vm/pmap.h 1.87 +3 -1 src/sys/vm/vm_glue.c 1.173 +3 -1 src/sys/vm/vm_map.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message