freebsd-nq/sys/kern
Alan Cox d4da2dbae6 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
1999-07-21 18:02:27 +00:00
..
bus_if.m Add a hook for a bus to detect child devices which didn't find drivers. 1999-07-11 13:42:37 +00:00
device_if.m Update the comments on values than can be returned by DEVICE_PROBE. 1999-06-17 19:22:12 +00:00
imgact_aout.c Add the options MAP_PREFAULT and MAP_PREFAULT_PARTIAL to vm_map_find/insert, 1999-05-17 00:53:56 +00:00
imgact_elf.c Fix the previous warning a different way since the emul_path exposure was 1999-07-09 19:10:14 +00:00
imgact_gzip.c Correctly return ENOEXEC for really short zipped files. The way this is 1999-06-21 16:23:13 +00:00
imgact_shell.c Fix a couple of warnings and some bitrot in comments. 1999-05-09 16:04:14 +00:00
inflate.c
init_main.c Slight reorganization of kernel thread/process creation. Instead of using 1999-07-01 13:21:46 +00:00
init_sysent.c Regenerated. 1999-05-13 09:12:57 +00:00
kern_acct.c Fix a dev_t/udev_t issue with accounting. lastcomm now shows the 1999-07-10 06:27:36 +00:00
kern_clock.c Added a sysctl "kern.timecounter.hardware" for selecting the hardware 1999-07-18 15:07:20 +00:00
kern_conf.c Fix a REALLY embarrassing mistake. Don't look; I warned you. 1999-07-20 21:51:12 +00:00
kern_descrip.c From the submitter: 1999-06-07 20:37:29 +00:00
kern_environment.c
kern_exec.c
kern_exit.c From the submitter: 1999-06-07 20:37:29 +00:00
kern_fork.c Fix the following problem: 1999-07-21 18:02:27 +00:00
kern_intr.c
kern_jail.c
kern_kthread.c Slight reorganization of kernel thread/process creation. Instead of using 1999-07-01 13:21:46 +00:00
kern_ktrace.c Make sure syscall arguments properly aligned in ktrace records. 1999-06-16 18:37:01 +00:00
kern_linker.c Slight reorganization of kernel thread/process creation. Instead of using 1999-07-01 13:21:46 +00:00
kern_lock.c When requesting an exclusive lock with LK_NOWAIT, do not panic 1999-06-28 07:54:58 +00:00
kern_lockf.c Fixed corruption of the "blocked" list in lf_setlock() when tsleep() 1999-07-04 14:43:01 +00:00
kern_malloc.c Move the initialisation/tuning of nmbclusters from param.c/machdep.c 1999-07-05 08:52:54 +00:00
kern_mib.c add debug.sizeof.specinfo 1999-07-20 07:19:32 +00:00
kern_module.c Oops, set module->file.. 1999-05-20 00:00:58 +00:00
kern_ntptime.c
kern_physio.c Convert buffer locking from using the B_BUSY and B_WANTED flags to using 1999-06-26 02:47:16 +00:00
kern_proc.c Reverse the sense of a test, dev2udev() will be much cheaper than 1999-07-17 20:29:10 +00:00
kern_prot.c
kern_random.c Add sufficient braces to keep egcs happy about potentially ambiguous 1999-05-06 18:13:11 +00:00
kern_resource.c
kern_shutdown.c Make a dev2budev() function, and use it. This refixes pstat (working, broken, 1999-07-20 21:29:13 +00:00
kern_sig.c Reset SA_NOCLDWAIT on exec(). 1999-07-18 13:40:11 +00:00
kern_subr.c These changes appear to give us benefits with both small (32MB) and 1999-07-08 06:06:00 +00:00
kern_synch.c
kern_syscalls.c Call the chained module handler before unregistering the syscall so that 1999-06-27 09:38:44 +00:00
kern_sysctl.c Minor tweaks to make sure (new) prerequisites for <sys/buf.h> (mostly 1999-06-27 11:44:22 +00:00
kern_tc.c Added a sysctl "kern.timecounter.hardware" for selecting the hardware 1999-07-18 15:07:20 +00:00
kern_threads.c
kern_time.c Minor tweaks to make sure (new) prerequisites for <sys/buf.h> (mostly 1999-06-27 11:44:22 +00:00
kern_timeout.c
kern_xxx.c
ksched.c
link_aout.c Add enough include files to make this actually compile on an a.out system. 1999-05-15 23:18:32 +00:00
link_elf_obj.c Use KERNBASE for the load address of the kernel rather than magic constants 1999-05-08 13:03:49 +00:00
link_elf.c Use KERNBASE for the load address of the kernel rather than magic constants 1999-05-08 13:03:49 +00:00
Make.tags.inc
makedevops.pl Remove hack to accept French spelling of METHOD (METHODE) 1999-05-10 17:45:49 +00:00
Makefile Added ../sys/syscall.mk to targets. Back it up like all the other 1999-05-13 09:19:14 +00:00
makesyscalls.sh
md5c.c
p1003_1b.c
posix4_mib.c
subr_autoconf.c
subr_blist.c Add Id strings 1999-06-17 23:42:45 +00:00
subr_bus.c Add a hook for a bus to detect child devices which didn't find drivers. 1999-07-11 13:42:37 +00:00
subr_clist.c Quiet warnings on an Alpha. CBSIZE has long type and causes the other 1999-07-01 19:46:36 +00:00
subr_devstat.c
subr_disklabel.c Convert buffer locking from using the B_BUSY and B_WANTED flags to using 1999-06-26 02:47:16 +00:00
subr_diskmbr.c Convert buffer locking from using the B_BUSY and B_WANTED flags to using 1999-06-26 02:47:16 +00:00
subr_diskslice.c dsopen: Print a message if the unit has an invalid sector size. 1999-06-21 03:48:16 +00:00
subr_dkbad.c Convert buffer locking from using the B_BUSY and B_WANTED flags to using 1999-06-26 02:47:16 +00:00
subr_log.c Simplify cdevsw registration. 1999-05-31 11:29:30 +00:00
subr_module.c
subr_param.c Move the initialisation/tuning of nmbclusters from param.c/machdep.c 1999-07-05 08:52:54 +00:00
subr_prf.c Oops, missed out one chunk of the last patch. (*blush*) 1999-07-14 17:37:53 +00:00
subr_prof.c
subr_rman.c Make sure that we record the flags in all cases. 1999-06-26 10:27:30 +00:00
subr_scanf.c
subr_smp.c Implement an all-CPU shootdown-style rendezvous facility. This allows 1999-07-20 06:52:35 +00:00
subr_trap.c Changed the global `idt' from an array to a pointer so that npx.c 1999-06-18 14:32:21 +00:00
subr_xxx.c Try an fix a couple of dev_t/major/minor etc nits. 1999-05-12 22:30:50 +00:00
sys_generic.c
sys_pipe.c Restructure pipe_read in order to eliminate several race conditions. 1999-06-05 03:53:57 +00:00
sys_process.c Implement support for hardware debug registers on the i386. 1999-07-09 04:16:00 +00:00
sys_socket.c
syscalls.c Regenerated. 1999-05-13 09:12:57 +00:00
syscalls.master Fixed nonsense arg type `const caddr_t' in the prototype() for utrace(). 1999-05-13 09:09:37 +00:00
sysv_ipc.c
sysv_msg.c
sysv_sem.c
sysv_shm.c For consistency with other implementations, check for the existence 1999-06-19 23:53:13 +00:00
tty_compat.c
tty_conf.c
tty_cons.c Quieten some warnings as a result of changes in ls_items[] constness over 1999-06-26 12:19:03 +00:00
tty_pty.c Simplify cdevsw registration. 1999-05-31 11:29:30 +00:00
tty_snoop.c Add Id strings 1999-06-17 23:42:45 +00:00
tty_subr.c Quiet warnings on an Alpha. CBSIZE has long type and causes the other 1999-07-01 19:46:36 +00:00
tty_tb.c
tty_tty.c Simplify cdevsw registration. 1999-05-31 11:29:30 +00:00
tty.c Don't call calcru() on a swapped-out process. calcru() access p_stats, which 1999-05-22 20:10:31 +00:00
uipc_domain.c
uipc_mbuf.c Move the initialisation/tuning of nmbclusters from param.c/machdep.c 1999-07-05 08:52:54 +00:00
uipc_proto.c
uipc_sockbuf.c Move the initialisation/tuning of nmbclusters from param.c/machdep.c 1999-07-05 08:52:54 +00:00
uipc_socket2.c Move the initialisation/tuning of nmbclusters from param.c/machdep.c 1999-07-05 08:52:54 +00:00
uipc_socket.c Reviewed by: the cast of thousands 1999-06-17 23:54:50 +00:00
uipc_syscalls.c
uipc_usrreq.c Divorce "dev_t" from the "major|minor" bitmap, which is now called 1999-05-11 19:55:07 +00:00
vfs_aio.c Slight reorganization of kernel thread/process creation. Instead of using 1999-07-01 13:21:46 +00:00
vfs_bio.c bufhashinit() is called with a caddr_t and is expected to return the 1999-07-09 16:41:19 +00:00
vfs_cache.c
vfs_cluster.c These changes appear to give us benefits with both small (32MB) and 1999-07-08 06:06:00 +00:00
vfs_conf.c Fix warnings in last commit (dev_t is not an int, and not even int 1999-07-03 17:40:31 +00:00
vfs_default.c Add Id strings 1999-06-17 23:42:45 +00:00
vfs_export.c Now a dev_t is a pointer to struct specinfo which is shared by all specdev 1999-07-20 09:47:55 +00:00
vfs_extattr.c
vfs_init.c
vfs_lookup.c
vfs_mount.c Fix warnings in last commit (dev_t is not an int, and not even int 1999-07-03 17:40:31 +00:00
vfs_subr.c Now a dev_t is a pointer to struct specinfo which is shared by all specdev 1999-07-20 09:47:55 +00:00
vfs_syscalls.c
vfs_vnops.c These changes appear to give us benefits with both small (32MB) and 1999-07-08 06:06:00 +00:00
vnode_if.pl Add a vnode argument to VOP_BWRITE to get rid of the last vnode 1999-06-16 23:27:55 +00:00
vnode_if.sh Add a vnode argument to VOP_BWRITE to get rid of the last vnode 1999-06-16 23:27:55 +00:00
vnode_if.src Add a vnode argument to VOP_BWRITE to get rid of the last vnode 1999-06-16 23:27:55 +00:00