From 2694c869ff9ff60fd8e3d4d7936b7dc61763c18a Mon Sep 17 00:00:00 2001 From: Andrew Gallatin Date: Thu, 5 Aug 2021 13:05:00 -0400 Subject: [PATCH] ktls: fix a panic with INVARIANTS 98215005b747fef67f44794ca64abd473b98bade introduced a new thread that uses tsleep(..0) to sleep forever. This hit an assert due to sleeping with a 0 timeout. So spell "forever" using SBT_MAX instead, which does not trigger the assert. Pointy hat to: gallatin Pointed out by: emaste Sponsored by: Netflix --- sys/kern/uipc_ktls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index 17b87195fc50e8..47815c266667c3 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -2240,7 +2240,7 @@ ktls_alloc_thread(void *ctx) nbufs = 0; for (;;) { atomic_store_int(&sc->running, 0); - tsleep(sc, PZERO, "waiting for work", 0); + tsleep_sbt(sc, PZERO, "waiting for work", SBT_MAX, SBT_1S, 0); atomic_store_int(&sc->running, 1); sc->wakeups++; if (nbufs != ktls_max_alloc) {