mirror of
https://github.com/opnsense/src.git
synced 2026-03-10 02:01:51 -04:00
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 |
||
|---|---|---|
| .. | ||
| clock.c | ||
| copyinout.c | ||
| interrupt.c | ||
| locore.S | ||
| machdep.c | ||
| mmu_oea.c | ||
| nexus.c | ||
| ofw_machdep.c | ||
| ofwmagic.S | ||
| swtch.S | ||
| trap.c | ||
| trap_subr.S | ||
| uio_machdep.c | ||
| uma_machdep.c | ||
| vm_machdep.c | ||