--- w/sys/kern/kern_malloc.c +++ w/sys/kern/kern_malloc.c @@ -472,9 +472,12 @@ malloc(unsigned long size, struct malloc_type *mtp, int flags) } } #endif - if (flags & M_WAITOK) + if (flags & M_WAITOK) { KASSERT(curthread->td_intr_nesting_level == 0, ("malloc(M_WAITOK) in interrupt context")); + KASSERT(THREAD_CAN_SLEEP(), + ("malloc(M_WAITOK) in no_sleeping context")); + } #ifdef DEBUG_MEMGUARD if (memguard_cmp_mtp(mtp, size)) {