Index: sys/kern/kern_ktrace.c =================================================================== --- sys/kern/kern_ktrace.c +++ sys/kern/kern_ktrace.c @@ -347,6 +347,9 @@ mtx_lock(&ktrace_mtx); STAILQ_INSERT_TAIL(&td->td_proc->p_ktr, req, ktr_list); mtx_unlock(&ktrace_mtx); + thread_lock(td); + td->td_flags |= TDF_ASTPENDING; + thread_unlock(td); } /* Index: sys/kern/subr_trap.c =================================================================== --- sys/kern/subr_trap.c +++ sys/kern/subr_trap.c @@ -130,9 +130,6 @@ PROC_UNLOCK(p); } #endif -#ifdef KTRACE - KTRUSERRET(td); -#endif td_softdep_cleanup(td); MPASS(td->td_su == NULL); @@ -275,6 +272,9 @@ #ifdef MAC if (flags & TDF_MACPEND) mac_thread_userret(td); +#endif +#ifdef KTRACE + KTRUSERRET(td); #endif if (flags & TDF_NEEDRESCHED) { #ifdef KTRACE