diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 8907ed0a27ed..f516b3bdc246 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -471,9 +471,13 @@ fork1(td, flags, pages, procp) ke2 = FIRST_KSE_IN_KSEGRP(kg2); /* Allocate and switch to an alternate kstack if specified. */ - if (pages != 0) + if (pages != 0) { + mtx_lock(&Giant); vm_thread_new_altkstack(td2, pages); + mtx_unlock(&Giant); + } + mtx_lock(&Giant); /* XXX: for VREF() */ PROC_LOCK(p2); PROC_LOCK(p1);