89b57fcf01
silent NULL pointer dereference in the i386 and sparc64 pmap_pinit() when the kmem_alloc_nofault() failed to allocate address space. Both functions now return error instead of panicing or dereferencing NULL. As consequence, vmspace_exec() and vmspace_unshare() returns the errno int. struct vmspace arg was added to vm_forkproc() to avoid dealing with failed allocation when most of the fork1() job is already done. The kernel stack for the thread is now set up in the thread_alloc(), that itself may return NULL. Also, allocation of the first process thread is performed in the fork1() to properly deal with stack allocation failure. proc_linkup() is separated into proc_linkup() called from fork1(), and proc_linkup0(), that is used to set up the kernel process (was known as swapper). In collaboration with: Peter Holm Reviewed by: jhb |
||
---|---|---|
.. | ||
coff.h | ||
ibcs2_dirent.h | ||
ibcs2_errno.c | ||
ibcs2_errno.h | ||
ibcs2_fcntl.c | ||
ibcs2_fcntl.h | ||
ibcs2_ioctl.c | ||
ibcs2_ioctl.h | ||
ibcs2_ipc.c | ||
ibcs2_ipc.h | ||
ibcs2_isc_syscall.h | ||
ibcs2_isc_sysent.c | ||
ibcs2_isc.c | ||
ibcs2_misc.c | ||
ibcs2_mount.h | ||
ibcs2_msg.c | ||
ibcs2_other.c | ||
ibcs2_proto.h | ||
ibcs2_signal.c | ||
ibcs2_signal.h | ||
ibcs2_socksys.c | ||
ibcs2_socksys.h | ||
ibcs2_stat.c | ||
ibcs2_stat.h | ||
ibcs2_statfs.h | ||
ibcs2_stropts.h | ||
ibcs2_syscall.h | ||
ibcs2_sysent.c | ||
ibcs2_sysi86.c | ||
ibcs2_sysvec.c | ||
ibcs2_termios.h | ||
ibcs2_time.h | ||
ibcs2_types.h | ||
ibcs2_unistd.h | ||
ibcs2_ustat.h | ||
ibcs2_util.c | ||
ibcs2_util.h | ||
ibcs2_utime.h | ||
ibcs2_utsname.h | ||
ibcs2_xenix_syscall.h | ||
ibcs2_xenix_sysent.c | ||
ibcs2_xenix.c | ||
ibcs2_xenix.h | ||
imgact_coff.c | ||
Makefile | ||
syscalls.conf | ||
syscalls.isc | ||
syscalls.isc.conf | ||
syscalls.master | ||
syscalls.xenix | ||
syscalls.xenix.conf |