In r354148 the goal was to check THREAD_CAN_SLEEP() only once for the

purpose of epoch_trace() and for calling subsequent panic, but to keep
code fully under INVARIANTS, so don't use bare function call to panic().
However, at the last stage of review a true value slipped in, while
always false was assumed.  I checked that in email archive with kib@.

Noticed by:	trasz
This commit is contained in:
Gleb Smirnoff 2020-09-09 16:13:33 +00:00
parent 278847ae58
commit 022c2f5570
2 changed files with 2 additions and 2 deletions

View File

@ -325,7 +325,7 @@ sleepq_add(const void *wchan, struct lock_object *lock, const char *wmesg,
#ifdef EPOCH_TRACE
epoch_trace_list(curthread);
#endif
KASSERT(1,
KASSERT(0,
("%s: td %p to sleep on wchan %p with sleeping prohibited",
__func__, td, wchan));
}

View File

@ -187,7 +187,7 @@ userret(struct thread *td, struct trapframe *frame)
#ifdef EPOCH_TRACE
epoch_trace_list(curthread);
#endif
KASSERT(1, ("userret: Returning with sleep disabled"));
KASSERT(0, ("userret: Returning with sleep disabled"));
}
KASSERT(td->td_pinned == 0 || (td->td_pflags & TDP_CALLCHAIN) != 0,
("userret: Returning with with pinned thread"));