From nobody Sun May 17 19:56:15 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 4gJWsJ4stLz6cvrd for ; Sun, 17 May 2026 19:56:20 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gJWsJ48c8z3MYZ for ; Sun, 17 May 2026 19:56:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779047780; 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=3lQ6AoBzSnUq78saSfSCOQQz2YG7z/cnWAjZe9mQfEw=; b=cBi0BYIrjXjGRXqFSAqnNnkvHdtOAQSzjzNOODWnWKgKTMlQ/EQURKC7GETfs1Upv4+MrE OzsFEIme7+zl301CgeiO06fA+JVjP6J09l59ZGg5hlUqD8H2KCv6M+K9RA8tQfeo3mlqhM D+eHJ63mQaTda8eKqS9boWnhYS9ERx7u/Dwo9FzjHCnYA8lIvFY7fMB/hNW/9gbbpy1r0+ VrLA24yn1De2YZVglFvdFrJRwscFXwX6wPLcIOH6EhH73W4bLLyQH+UFb5c6hFKroPQVyr Xfkefm3z6/G/Gd6Bu4BHMwADN6zkQeL2cEmZBXDe8frQDdPdyn+TPuSKsUh9dg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779047780; a=rsa-sha256; cv=none; b=JBNOlBP9jTgpY4nnRfwGbBwkvcOSFPFkme36SrqDiaPj7NIJwh2jojzpp39Nbc4ehx+Goa iB85+5JWTNsJiwYt/psq8lSZeE1lnFpEy1VcXDPXCa1bMv3GciRZvRIOYct9BlzBPQw+8p QWkEvRUKpc2iF1WGUrjRkBf6VvSTxLm3yA3keFi+K2nh2BNenmvFtEsWiGWv2oagmEkHhA t7fW23Zm+KqNE4hfX7iVWsk9IGm8dqqsUnoD4EcNZ+KpDPqOEMCcWiEZS6Zog5twAOVsO9 gG3umxP3bqU4QvmSkZE0visgg4SQ9OiIbI+0NDw37WhV9aZglXeIPnb9aK3Sww== 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=1779047780; 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=3lQ6AoBzSnUq78saSfSCOQQz2YG7z/cnWAjZe9mQfEw=; b=SXBAMnISy7IwtOy0DBXle8JjUBsJB7sG8Oxv4KglqxDEuxTlKi1sVjvCx3fxFgTcGWXU2x 5POXvbtjiU59gVnDuLzwH06ppreBajmdOGbSTlyNw6XHsvSB4VTzmp6W/Q9MTywSKpWogO KC+Ik467UshBG4Sk1iYMgN9hGm7JtN3pWqc0KrH6oSACHbjZ7stHTHMv7KbAbJxB8k/nSV 43ceNKWnRTP+OafCwWa/zv+gtifsWY2AW8dUISEVPY+j98fwDO//gJdwMe69gzC0VXk686 kqYFQ+g2oDQ3C6Jl41MnzerY08+sheso+mP5EFH6sQ97AxI72+5Nltgmt+UqXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gJWsJ3X4dzvtJ for ; Sun, 17 May 2026 19:56:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31478 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 17 May 2026 19:56:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 56bc43f5d02b - main - locking.9: warn about using sleepable lock address as a sleep channel 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 56bc43f5d02bd0745d597db44c285bf78d083762 Auto-Submitted: auto-generated Date: Sun, 17 May 2026 19:56:15 +0000 Message-Id: <6a0a1d5f.31478.7a5c2aa@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=56bc43f5d02bd0745d597db44c285bf78d083762 commit 56bc43f5d02bd0745d597db44c285bf78d083762 Author: Konstantin Belousov AuthorDate: 2026-05-15 11:05:45 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-17 19:55:23 +0000 locking.9: warn about using sleepable lock address as a sleep channel Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D57012 --- share/man/man9/locking.9 | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/share/man/man9/locking.9 b/share/man/man9/locking.9 index ad044b6e1d46..9afdcd56f4f6 100644 --- a/share/man/man9/locking.9 +++ b/share/man/man9/locking.9 @@ -205,11 +205,6 @@ The functions and .Fn wakeup_one also handle event-based thread blocking. -Unlike condition variables, -arbitrary addresses may be used as wait channels and a dedicated -structure does not need to be allocated. -However, care must be taken to ensure that wait channel addresses are -unique to an event. If a thread must wait for an external event, it is put to sleep by .Fn tsleep , .Fn msleep , @@ -222,6 +217,16 @@ Threads may also wait using one of the locking primitive sleep routines or .Xr sx_sleep 9 . .Pp +Unlike condition variables, +arbitrary addresses may be used as wait channels and a dedicated +structure does not need to be allocated. +However, care must be taken to ensure that wait channel addresses are +unique to an event. +For example, the memory address of a sleepable lock such as a +.Xr sx 9 +must not be used as a sleep channel, because the lock implementation +will internally use the same address as a wait channel. +.Pp The parameter .Fa chan is an arbitrary address that uniquely identifies the event on which