Date: Thu, 5 Aug 2021 17:10:25 GMT From: Andrew Gallatin <gallatin@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 2694c869ff9f - main - ktls: fix a panic with INVARIANTS Message-ID: <202108051710.175HAP1D031061@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=2694c869ff9ff60fd8e3d4d7936b7dc61763c18a commit 2694c869ff9ff60fd8e3d4d7936b7dc61763c18a Author: Andrew Gallatin <gallatin@FreeBSD.org> AuthorDate: 2021-08-05 17:05:00 +0000 Commit: Andrew Gallatin <gallatin@FreeBSD.org> CommitDate: 2021-08-05 17:09:06 +0000 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 17b87195fc50..47815c266667 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) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202108051710.175HAP1D031061>