From nobody Tue Mar 31 15:59:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4flXqC2n3Yz6WFCJ for ; Tue, 31 Mar 2026 15:59:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4flXq81y1zz3gnn for ; Tue, 31 Mar 2026 15:59:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774972740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=87OKIzqpkGpfdFn8mz4hTttRBhH6U90R3XaqIhyDmNI=; b=CtEd5WOntbzdSk+08+n76PTVcW5TjchhzNmeRwvGhAQ8mxa4pu5/AZxG+FUqwJQi6pT6Ao gUynzgvM/3HK9a7BcexQTHWIsj1WxiwNKAOGblPI7oWD55XKyt2idaWRDzoftG70SFa8DT baGkjM6ltvLp10cUPdSEc2JoKdJemeo3vYDWgH+f6i7CxD0JhkSjtrjsH1r35CtTzfpxQl 9IB2KW8bm/r1QeXK9XJc9Da5bDNYQD/f7dkCDpBFKiwWp44y6pmFRHiBgN7tDLonJ3rrJb C9Yj5EYOWhcCee/LKQhfjoYYgZ10sPDp0OPX5wdrKlxlsrnUDasHE1sQj8DhFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774972740; a=rsa-sha256; cv=none; b=Pq9VlcQkmT+JzpoEsmkWQO/kUr6pkZoSyNBvoDCWwE2XpyDdiM6+SCxLp94Dl8mrcdnxRQ FZdxkT5ckx5Keu2xNMoIixqEwQPMsiJsG7Pxtdgx3c1/XCqyKm+gkJPoEND18cTVzJxMC6 hW9Km6hjrqXXrgLBA1PkVppK9Jc97vCH5T+56kb7+uwV7rwV1FcptYrM+MiAYJ5wbwRnoc +ch1HVK1pQPyLoFoy1FicvjNOmh+o10TaasfkF6COVdrmPYTBQKN8Hqm+A5Vrz2hn1tT82 kuePiw0pMi4E2Wp2A2b5gnLFnyBepZY1sWnI0BbQ1qhE9GGGRo7xLyVIaDlMLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774972740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=87OKIzqpkGpfdFn8mz4hTttRBhH6U90R3XaqIhyDmNI=; b=QsT13yFaliFEZcaW8ekwARy4htCBn8F0kAotK82DkFKFx87lzTmE6vOsKhe43xOoqL1R6j p+k2ovmE3p4RGHfXyTtGVmxUj5Wc2zbCzNQUw4g3UHxGiYzrW2zoS80Qy9jndXDlUpN7FI kPbWQxt/qciKK2GaHCQHJlojLQV7KeE7ZlGm1R8vfLHcGS8O2kBhCXTQK4If72ZXI0/LI8 VsbpRp4u2hoOApYJvmJkall6SPpZtvfH92d7mjJlqnU95/qPXA07Q0WwmX+Bj403eFF+IE 8XMV/8XZDKaSHrJdFb+jKO0dISWg0gpp9Wq5qI+WsSIO7Pk14lrV0HeqmA/S8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4flXq80f8kzcFd for ; Tue, 31 Mar 2026 15:59:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39eff by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 31 Mar 2026 15:59:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: c589d6a09f5e - stable/15 - buf: Relax an assertion in BUF_UNLOCK List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c589d6a09f5ec9096784d14a4a0fb136ea3de208 Auto-Submitted: auto-generated Date: Tue, 31 Mar 2026 15:59:00 +0000 Message-Id: <69cbef44.39eff.4b1acaa7@gitrepo.freebsd.org> The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c589d6a09f5ec9096784d14a4a0fb136ea3de208 commit c589d6a09f5ec9096784d14a4a0fb136ea3de208 Author: Mark Johnston AuthorDate: 2026-02-22 19:26:17 +0000 Commit: Mark Johnston CommitDate: 2026-03-31 15:57:29 +0000 buf: Relax an assertion in BUF_UNLOCK The BUF_UNLOCK macro asserts that B_REMFREE is not set, as it is up to the lock owner to complete the dequeue from the free list before releasing the lock. However, if the thread has acquired the lock multiple times, then releasing the recursive lock should be ok. Modify the assertion to reflect this. This was triggered by an out-of-tree filesystem. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55418 (cherry picked from commit eaeb356ce3491f05b6a99ccd485180a42df22c46) --- sys/sys/buf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/buf.h b/sys/sys/buf.h index f08f05e6d50f..85ff5f3dfdc1 100644 --- a/sys/sys/buf.h +++ b/sys/sys/buf.h @@ -321,7 +321,7 @@ struct buf { * it has been handed off to biodone. */ #define BUF_UNLOCK(bp) do { \ - KASSERT(((bp)->b_flags & B_REMFREE) == 0, \ + KASSERT(((bp)->b_flags & B_REMFREE) == 0 || BUF_LOCKRECURSED(bp), \ ("BUF_UNLOCK %p while B_REMFREE is still set.", (bp))); \ \ BUF_UNLOCK_RAW((bp)); \