From nobody Mon Mar 14 14:11:19 2022 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 A48441A1ED0F; Mon, 14 Mar 2022 14:11:19 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KHJP34H9xz3Kq5; Mon, 14 Mar 2022 14:11:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1647267079; 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=xrFeWBqFj408I692eqXTPMO2fHrXGNpkLOBQBnnxpaY=; b=v2bnQbkhU8CM9sWA5nF/ziLwAlDB6SQ6ypSUf6zGHJzQsnS00aETPV6+/ju3d5wBt0p7f6 yxcqgh3RH3HP3ga83iEqy+a0CFjC/tUrYd3XZibBg0yN7iFecZvysmOBgk8+XoKtz3uh1M HuitRFsQV6CPXIv0RrQnSu62jKUpz5IZs9XtlBrj2f5EMNx9+Rei73jMdBoJwFy3Epi8lr Yah/q5z9+1uuGIHKmgBi+CKp6KFJWKeYUgyUjhoUYF8Y+IE09xp2Ko+hG7kEv8zkr2Jjk1 VCrNYH9S0fZF+7yWZqagQthFjxjM/Ofnxk+EhmtFvXckbRbPOM/jYhuTz4yJyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7287E65EC; Mon, 14 Mar 2022 14:11:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 22EEBJ1X008878; Mon, 14 Mar 2022 14:11:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 22EEBJZR008877; Mon, 14 Mar 2022 14:11:19 GMT (envelope-from git) Date: Mon, 14 Mar 2022 14:11:19 GMT Message-Id: <202203141411.22EEBJZR008877@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: dd54e44a279f - stable/13 - buf_alloc(): Stop using LK_NOWAIT, use LK_NOWITNESS 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: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: 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/13 X-Git-Reftype: branch X-Git-Commit: dd54e44a279fab567374d2eec9dd9cd6d04b7a43 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1647267079; 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=xrFeWBqFj408I692eqXTPMO2fHrXGNpkLOBQBnnxpaY=; b=icBzxGUT798DysjWfj/OQ5xpu37lm3FWZRcsfP/Tca2dye9EWSmyUjM8ONrWTm8tU9xOt8 jd8HNdb6Fu1L5jDvwNjYELLJv7bXOgAEhzEcIOHlbudT8GF8L8Wg+75JKclzC39Qwhb85Q bcpS9pJ7JiI0l9e/Vm+TChBM5/nOme7JCyoQ3zzXkkBfaBj67PvzBmhDJeK3ynWOdeFeQn 8/uZdr9cc66LAxndejcGHRGtgx62EcE+d/JilHvsCB0IpfrKUTvn1grG+094J+bleRBxO/ WuU/jVbLmJw7Ri4KKV6sYevA0gjIVo9G0I0YSbtuXHh8TfiZ1T9OsOE59XorPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1647267079; a=rsa-sha256; cv=none; b=axQcT9OxQvX52R8XGSYULZw9OOLHzotcFmpierC826miF64fl4N/xLrnkdAr2p1bsuqSAC 7IxENVzu8umEiXdl05eTu65A9t7BaSl8SYe/fg8IBWsT+tF2PneuOgCZ4Au7gjlrXs7NYT fWvaL7N9TthsTa5InZidbTTnVAUaEbl+DOBIfrIflZEVWbcsck/87pk3nYnfGq/2+MZYu1 nUE/CI7zmqNTs7Mk23lmdJpLTMwIJt2PxjF6aozyGFedSBPa1RsIWaHfuwUQiQ0h9EFkOx tfLxwQKthXwBfJA+I2nVcRLQ2Ta+NvjykXlXxYJcTdxhesyPXr+O7yhxX8GVBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=dd54e44a279fab567374d2eec9dd9cd6d04b7a43 commit dd54e44a279fab567374d2eec9dd9cd6d04b7a43 Author: Konstantin Belousov AuthorDate: 2022-02-16 15:30:17 +0000 Commit: Mark Johnston CommitDate: 2022-03-14 14:10:23 +0000 buf_alloc(): Stop using LK_NOWAIT, use LK_NOWITNESS Despite the buffer taken from cache or free list, it still can be locked, due to 'lockless lookup' in getblkx() potentially operating on the freed buffers. The lock is transient, but prevents the use of LK_NOWAIT there for the goal of neutralizing WITNESS. Just use LK_NOWITNESS. Reported and tested by: pho Sponsored by: The FreeBSD Foundation (cherry picked from commit 1fb00c8f1060e18fed621f13d31db7b336d2267e) --- sys/kern/vfs_bio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 3798d9137d3b..c23f6c35e136 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -1709,7 +1709,7 @@ buf_alloc(struct bufdomain *bd) if (freebufs == bd->bd_lofreebuffers) bufspace_daemon_wakeup(bd); - error = BUF_LOCK(bp, LK_EXCLUSIVE | LK_NOWAIT, NULL); + error = BUF_LOCK(bp, LK_EXCLUSIVE | LK_NOWITNESS, NULL); KASSERT(error == 0, ("%s: BUF_LOCK on free buf %p: %d.", __func__, bp, error)); (void)error;