From nobody Mon Mar 14 15:48:22 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 1A22B1A1748F; Mon, 14 Mar 2022 15:48:23 +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 4KHLY301Vgz3vhP; Mon, 14 Mar 2022 15:48:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1647272903; 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=m2AmPZXOrHGgtYvme+0xwPkSXl6Mz+STvWNUqR1QUps=; b=fzgFdiagmXKd1gJeMewhagsmNAizWWfEps26ChunQJIKnuAFH9CpI1UcCA2Go5u6k+PWuK y1vBbAfBb5RLdEH3mSUWxM/3wo4/HscTnXT8b4RzTqYAP+hYk5V0XZQ9XfIRLPQwkHBr1H ZQxaQsxlNKV6J2Vtxx6danp8i7t7wMN038OwHraMODGkolQN0tyurAW0r0U7N16HagfZsH FHt8cTkBkrfXcXDifzAwg+jcObuoIymd0QCzVsJJBzMM5J0kxqjWGg/Z30GyXZcifIzlzm urxy/JRNQS5x7NPDmYjj3dcYv20nIpoLEI26IBohp8Wta6J4Izf4bIKGhUIu1g== 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 D4A3D10426; Mon, 14 Mar 2022 15:48:22 +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 22EFmMTN033348; Mon, 14 Mar 2022 15:48:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 22EFmMUV033347; Mon, 14 Mar 2022 15:48:22 GMT (envelope-from git) Date: Mon, 14 Mar 2022 15:48:22 GMT Message-Id: <202203141548.22EFmMUV033347@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: 61f45ca2da55 - releng/13.1 - 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/releng/13.1 X-Git-Reftype: branch X-Git-Commit: 61f45ca2da55b304f28ccd643ed0f4650b8c304e Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1647272903; 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=m2AmPZXOrHGgtYvme+0xwPkSXl6Mz+STvWNUqR1QUps=; b=ojqCIYA8VsaEYHT5d6GS2BbxIV11AGX4DypVoouSAhSkR9iO9HXrEjbB4BINYipXwvv+ol knCSKjjeTYVwO3ukMg/tdM6fnCHQhAAbu5bURB8UrDNbdn+u2Gv4hEyZLcR1s+MX2jH9Cb g9OHUkSeW4GWWvYucy1lV2v+BzZ0YRtTaGs5JKp01i79NcKaypuOwSwbzSF5tOFGdPbfaR K3ZLLf7S0ZNpREdKpePY1W3xOjWN3Ia+NotOJQUla55q0YevUIX5txb+8os48cyQoWCqrQ ZprWQCN9RHcaPJICuA6AGtynPgLw2o/GF/j9VpPA8kcrdlyvCJ5BAwIiSgZfng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1647272903; a=rsa-sha256; cv=none; b=vnzAmzR7yDukqUz4IDdtnCmZb04lghE7cd6gbETp0PU2zXRSywc6WSw0oX1hJwVf4BqeFT 01RGeMc8c+wVHjoZyQmQFrgGHl7nmTrPEYSSmE3fNACBBxIVI00OI7MF3NyK0n2XYrSLNK yxixitvGmQGKPMwm3MuViOPArYKJloJ1UczDygkqZy6MA/0DMM1RQVkp0Zz1RJ2DCmHJ6g aJZsIGVnec5Gag2D6avYNFhoaGODODyPbWBmVTQAaribth1yDSeNsCDnG5Q6XEMFPODdth tnJCPr+Sh7nK1wLZv0fer6lDBozZRgE+j4cp8eMuAS5e8+crPjk2sRNCGnRCcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.1 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=61f45ca2da55b304f28ccd643ed0f4650b8c304e commit 61f45ca2da55b304f28ccd643ed0f4650b8c304e Author: Konstantin Belousov AuthorDate: 2022-02-16 15:30:17 +0000 Commit: Mark Johnston CommitDate: 2022-03-14 15:47:12 +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 Approved by: re (gjb) Sponsored by: The FreeBSD Foundation (cherry picked from commit 1fb00c8f1060e18fed621f13d31db7b336d2267e) (cherry picked from commit dd54e44a279fab567374d2eec9dd9cd6d04b7a43) --- 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;