From nobody Sun Nov 12 00:31:34 2023 X-Original-To: dev-commits-src-branches@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 4SSYQb0dhDz50qLX; Sun, 12 Nov 2023 00:31:35 +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 4SSYQb08TZz4TpY; Sun, 12 Nov 2023 00:31:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699749095; 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=7EyAUkp6UbJNW+yMCPrwuobaNEfr7NkBr4qmvjSkbhA=; b=vgQjdc3qXCas3HBsjB5kAWKTI6NfTILBus08SILXGZw7PQcTmcuWD11mFTVoqkcxu4NxXc fGRhaO4CmrVOAn2LABPQn64TdGRhcV0Oc9F/xckFfV02feNoK46CvnptdX9ZsLtkp2lH3D 8vr09xfRMsM/HU2Vkl5uU07QLGuqihkFApxtXb3trV/tKAWzh0if3/zrlCFfF26CFP6oBz tlaYAaCtq9tyfLyvk5iE5+C9aQwW6R5/wHTHFAUZzprUD427ZNp37yXDKAs4mmnxaKewcs 3g5nRy7WIbouHtk+wNbfa++T5UbSsNuMNmw64F24fYYs91kG3aRfHShbL1gpyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699749095; 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=7EyAUkp6UbJNW+yMCPrwuobaNEfr7NkBr4qmvjSkbhA=; b=Sszw8+lLQmet+9UMUjL3eEjF6N/47sCleQ58yqTKZCJukTUwvjdtjr1KBx8/+lacVlVtba 1HLCnMvsR+trHIRw8p44r5SaoPg1p/lRFeOZR3YyUaNTsunezccAJJiJW8U7RnajgDcX76 7suOLTTrotlbi6P53KZJj2cGzSccyqzSg2Qhvs+wHDxEunGkawAkCF2uDZvtijz5CjkxTK xfCNhSN/D9RvcjhH85WXXWONbRl82BVPZc+Fbmyz8Tn8kqPtt80AqEq8yAumTzPFmmb7cY G6fEsAVRafirDy7q+PvBm1ykvVs+nj6RF2xOoumOlx2ThN+j1ls61shfvOG99Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699749095; a=rsa-sha256; cv=none; b=dvdpphqCGYIVKqTbjfVR8hsIut/GMph9hS9SiHV5szjBeYpkTqDhfwz3kQ209EVNnAi0eD jmFejfzEjvxuLPv4GRhowZfFHl5CMXR/scn9cERchmMC7cbZZgYYAG0665j8b1orwiaHOM 8LP6aYbOXUOjFo/YLZJiJovSnnfy4AUku9K+tF8FVe8d91lzxBWypHeRRV60dDy3+QRaoB mucAnHl/shUdg70QJisYnqcGJlVk1cd4yF+WourBR+xR4DS5AsCmUB1boO/cu9FSHGWpnk F/H8miD9CXp+tFf0ybrTFzIBWT2raCGY4V3mPwgPvLjs/6I6mLDubuB92J2H7Q== 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 4SSYQZ6K15z11vB; Sun, 12 Nov 2023 00:31:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AC0VYw8069096; Sun, 12 Nov 2023 00:31:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AC0VYuk069093; Sun, 12 Nov 2023 00:31:34 GMT (envelope-from git) Date: Sun, 12 Nov 2023 00:31:34 GMT Message-Id: <202311120031.3AC0VYuk069093@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: d0b4efe6d294 - stable/14 - vfs_domount_update(): ensure that 'goto end' works List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: d0b4efe6d294940d668171071eb71aab870139ab Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d0b4efe6d294940d668171071eb71aab870139ab commit d0b4efe6d294940d668171071eb71aab870139ab Author: Konstantin Belousov AuthorDate: 2023-11-09 20:18:47 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-12 00:31:13 +0000 vfs_domount_update(): ensure that 'goto end' works PR: 274992 (cherry picked from commit ede4c412b3ea9289ef42c664b01b6b5ff7eac434) --- sys/kern/vfs_mount.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index aa4642c0ba8c..1a559bfd998e 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -1380,6 +1380,8 @@ vfs_domount_update( VOP_UNLOCK(vp); rootvp = NULL; + vfs_op_enter(mp); + vn_seqc_write_begin(vp); if (vfs_getopt(*optlist, "fsid", (void **)&fsid_up, &fsid_up_len) == 0) { @@ -1394,9 +1396,6 @@ vfs_domount_update( vfs_deleteopt(*optlist, "fsid"); } - vfs_op_enter(mp); - vn_seqc_write_begin(vp); - MNT_ILOCK(mp); if ((mp->mnt_kern_flag & MNTK_UNMOUNT) != 0) { MNT_IUNLOCK(mp); From nobody Sun Nov 12 00:32:04 2023 X-Original-To: dev-commits-src-branches@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 4SSYR82gXjz50qTm; Sun, 12 Nov 2023 00:32:04 +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 4SSYR82FvMz4VH5; Sun, 12 Nov 2023 00:32:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699749124; 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=WqyVmCf5z8T49fjwa7tMcJDwu0YIPsISZQF+1S//lEY=; b=ubs3w3PJlJ3lOKGT1k+SHNyzbrntwo4NEt4JcthOK9kisu8NrvRXFUCVqfXp9jWSLFLTzC 5ER/oewFh+2yJHDrM/MGPbgZeNTB4jbLwQJ8NQ1QdgFlY0T/fz41YFpErscMKlVOKqvorj J76kOA1vo5zLGPTze7K5AIFxV7IYTOCeVJQOXcAPh0urfUSyTUPZ/VZdoGRM6QD25d6JRm EqN39kL4lnnxRJCJSc9lRomSfzg/QeAQ4uBVp7ybjSVMbogv2w7kcc++to42q3BMfWRM4Q axYb0vHIVw+kTDvTMQXIRz+cuUbPd2QQmNEDXu+3KJ9rf7J1iDG+uxmjTPl9XQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699749124; 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=WqyVmCf5z8T49fjwa7tMcJDwu0YIPsISZQF+1S//lEY=; b=uPNrUJzcp0oM5NfTYwUJAf2sAB3GNTVYcbTPJlIAX1b6dm+pIXRdALw1MIfPxMBda6iDtm P65Ly/Vb15yh0EUmMIrqNRIud2cIam1pVjQFVJDFikgL1T4qefw8w4p/1apRxwRq9gwS8E 05wSvbV0SaPLsG8a0wLFzA7JGlEvyq/3ebIAphg3O7dlPo38PTWPbgCEdMMlFcy0bcjSIE 9KsrEeiTPMWOwRj0fCS8iN5Ss+bWGYbG1IMb99jYtTlNP4GlD/qNRTDE1W8VOMgiTkxNDM u8FLmhfn7DS6S2WKmxF604ANJEeVE/p7jIJp/+wr90AqF//dT7Lfe1xVX91Zhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699749124; a=rsa-sha256; cv=none; b=tTBUG78/qZVrmTHbRJ1U+BlNOyPC7c212MBv+1Rj2H4sQGH/FGykFqp7rPHcFXbBhfB6/r kI5O23nkSI59EdYDq/d3MS67xZEo1lluweM6wzA0YMDORHeE0JDDsx99TIT65IubUU28qX 22GaASQlMvj5gTL/7h9Ay5QnwzB2SQUIYdRchnl7b1v+epUXap2qKeMXY7hE/DTxtSQ9iZ pxzQa19X1S0RGUXA2GPKnESyxCIi0ed/ry1SvCRalvSEgF42FLNpdlJgsYbhioocciapL8 RY5vi/62fu1Qw08zGwHNGnjVC6jH6aKbQB/4i/VCRDOUjLNQ9Vv4kzeY+WC2Rg== 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 4SSYR81K3Nz126X; Sun, 12 Nov 2023 00:32:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AC0W45R072667; Sun, 12 Nov 2023 00:32:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AC0W46C072664; Sun, 12 Nov 2023 00:32:04 GMT (envelope-from git) Date: Sun, 12 Nov 2023 00:32:04 GMT Message-Id: <202311120032.3AC0W46C072664@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 608ccfc29fb4 - stable/13 - vfs_domount_update(): ensure that 'goto end' works List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 608ccfc29fb48d8edc59a97382936790c02d27f3 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=608ccfc29fb48d8edc59a97382936790c02d27f3 commit 608ccfc29fb48d8edc59a97382936790c02d27f3 Author: Konstantin Belousov AuthorDate: 2023-11-09 20:18:47 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-12 00:31:47 +0000 vfs_domount_update(): ensure that 'goto end' works PR: 274992 (cherry picked from commit ede4c412b3ea9289ef42c664b01b6b5ff7eac434) --- sys/kern/vfs_mount.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index a4a981603ab6..4597ae09a831 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -1221,6 +1221,8 @@ vfs_domount_update( VOP_UNLOCK(vp); rootvp = NULL; + vfs_op_enter(mp); + vn_seqc_write_begin(vp); if (vfs_getopt(*optlist, "fsid", (void **)&fsid_up, &fsid_up_len) == 0) { @@ -1235,9 +1237,6 @@ vfs_domount_update( vfs_deleteopt(*optlist, "fsid"); } - vfs_op_enter(mp); - vn_seqc_write_begin(vp); - MNT_ILOCK(mp); if ((mp->mnt_kern_flag & MNTK_UNMOUNT) != 0) { MNT_IUNLOCK(mp); From nobody Sun Nov 12 02:56:43 2023 X-Original-To: dev-commits-src-branches@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 4SScf32rcmz50fWh; Sun, 12 Nov 2023 02:56:43 +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 4SScf32QDjz3K6C; Sun, 12 Nov 2023 02:56:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699757803; 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=SKBetqd3552fAcxTNnrTy09SBf6tEVu0LcQWl2dseMg=; b=kPOAhuxBeEm5svj3qL2FUIeiP4ENw+uzCTds9HjVhMkjNLB7don1a48SF0zV7mLg8W6bRx OwXnFkJouDfpUjOWBQKndrT4whF6zV3gLR+4DaELA/YfXXv8fwTlx2OeRUCm4ecCJTWvTe fSNw3SmHZqoUlT8QyqAJCsoWlLfgZJSNp539XSj9IfHnOPyap0WMN68h4y5sUJ8XwUSry+ yUWkHtPN+9z6g3zuo7rR+wZAlTUqTey+f36KXkJKBud72OWFqZeRvhcIWadHblKpjt1FTB lC+jHWYlD22mCC12BTT2hddU+ZiDf+bEzfKpbu5DTmumc51pxA/DZmdKn5u34w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699757803; 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=SKBetqd3552fAcxTNnrTy09SBf6tEVu0LcQWl2dseMg=; b=Dzqu8+HpQc2B7RPccnQzqTl0MyDoODITgDLQYqg5OPqAbIId30WdBrqeaqoZwjGeruTG0C JQkhA+UBpU1W8+egkX5zO1zsMiHhfnlHTx3Nl0riKQjJyOd6lut7Qp+84R7GIRj+jNE6f6 FKKpBTBj4Qwv1DQvyIz7YAPCVpH6/iwGbontWqTv3/O9NKEOjkPkfseEH3cdDaAV3duJYZ ea9eS0mvIrXZDeqIxdOR2yEOKdFJs9woxHPzyVMNXeYCFTEEkrnzKyrwBGN5XVrckW8xDM 2+rzaKze7cD0qPLx4nnQlz6NIBudsnA9oH5cnkOXo1BSWFk8zAoGtA2wTNqqpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699757803; a=rsa-sha256; cv=none; b=NtWt06DfT94l16wdlWRlgqF2Q9zA/m+xWMJMS05daAFhfctuMDAx5H4HdanM1FJpHQ1My/ LntK0tOmz9Pr4xnGuDBDQVC50OVLf1Fpuiwki5TbvBLKmZpk6eCNlJanpwy26WGyug3gp1 cb0cRp3Dc/ZBQ8PfQq4KAPgwBkhd5OddYMQyn5p404gQ/cRzUW5/CuDWWeM+qMpI/q+8s6 GfmX6Wltpwsqvj2JgE3E2Kisn+lUs/3HxiHVDTJIrLs+GnosoVOpkoInnj1yuK3gwvdmYF jL02qitAk7LflB9UeuV3ZXL99PMYgGb6nSLDCyTUoP+C9C0gcKw2jX/MoQhQUw== 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 4SScf31TmQz15d7; Sun, 12 Nov 2023 02:56:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AC2uh6c005774; Sun, 12 Nov 2023 02:56:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AC2uhCX005771; Sun, 12 Nov 2023 02:56:43 GMT (envelope-from git) Date: Sun, 12 Nov 2023 02:56:43 GMT Message-Id: <202311120256.3AC2uhCX005771@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Jason A. Harmening" Subject: git: 66b8f5484cfe - stable/14 - vfs_lookup_cross_mount(): restore previous do...while loop List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jah X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 66b8f5484cfe0e37078b8b56355f2fa18b585f88 Auto-Submitted: auto-generated The branch stable/14 has been updated by jah: URL: https://cgit.FreeBSD.org/src/commit/?id=66b8f5484cfe0e37078b8b56355f2fa18b585f88 commit 66b8f5484cfe0e37078b8b56355f2fa18b585f88 Author: Jason A. Harmening AuthorDate: 2023-11-04 16:56:45 +0000 Commit: Jason A. Harmening CommitDate: 2023-11-12 02:38:26 +0000 vfs_lookup_cross_mount(): restore previous do...while loop When the cross-mount walking logic in vfs_lookup() was factored into a separate function, the main cross-mount traversal loop was changed from a do...while loop conditional on the current vnode having VIRF_MOUNTPOINT set to an unconditional for(;;) loop. For the unionfs 'crosslock' case in which the vnode may be re-locked, this meant that continuing the loop upon finding inconsistent v_mountedhere state would no longer branch to a check that the vnode is in fact still a mountpoint. This would in turn lead to over- iteration and, for INVARIANTS builds, a failed assert on the next iteration. Fix this by restoring the previous loop behavior. Reported by: pho Tested by: pho Fixes: 80bd5ef0702562c546fa1717e8fe221058974eac (cherry picked from commit 586fed0b03561558644eccc37f824c7110500182) --- sys/kern/vfs_lookup.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c index d75351c34314..922adda33b94 100644 --- a/sys/kern/vfs_lookup.c +++ b/sys/kern/vfs_lookup.c @@ -882,7 +882,7 @@ vfs_lookup_cross_mount(struct nameidata *ndp) * The vnode has been mounted on, find the root of the mounted * filesystem. */ - for (;;) { + do { mp = dp->v_mountedhere; ASSERT_VOP_LOCKED(dp, __func__); VNPASS((vn_irflag_read(dp) & VIRF_MOUNTPOINT) != 0 && mp != NULL, dp); @@ -915,6 +915,12 @@ vfs_lookup_cross_mount(struct nameidata *ndp) break; } if (dp->v_mountedhere != mp) { + /* + * Note that we rely on the + * VIRF_MOUNTPOINT loop condition to + * ensure we stop iterating if dp is + * no longer a mountpoint at all. + */ continue; } } else @@ -939,9 +945,7 @@ vfs_lookup_cross_mount(struct nameidata *ndp) if (error != 0) break; ndp->ni_vp = dp = tdp; - if ((vn_irflag_read(dp) & VIRF_MOUNTPOINT) == 0) - break; - } + } while ((vn_irflag_read(dp) & VIRF_MOUNTPOINT) != 0); return (error); } From nobody Sun Nov 12 06:48:48 2023 X-Original-To: dev-commits-src-branches@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 4SSjns19xNz4yy8Q; Sun, 12 Nov 2023 06:48:49 +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 4SSjns0LzWz4M3N; Sun, 12 Nov 2023 06:48:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699771729; 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=cAfEh0op8wVXrNJCoXqjA8i1Edqb8ORwisACGnYeUz0=; b=mi9crLT6RbIG48ziuuEjoKrATpjqtxW7Z35Abf7UMX3ZrZ41eVlsiNNeACZ5ROlEhbKQEm d44ijeDdusIbXzklWotlw7sKg/qMUG8P5LKczTVvKJpIeTx9dJlbes8CxP1kucdajxj7ar nKcRyv5SuVn4KYoR8deU28VzoXpDS1HoYd6giArAZKGkUwByaZJtR+eD2ar5ZVN3U+0zK7 RYxC7cdSpzhmpGac9x1CYviak2J1sXOZopJ5ClJggVIo9rFDcbeDhTPK72EA1CF3vEc4Dn KO2vRtjHCQ0xQwy581Kg9ZWuzpS23MqQCBXCQQj+ltQS9htonbzRNwkOZ2tPkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699771729; 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=cAfEh0op8wVXrNJCoXqjA8i1Edqb8ORwisACGnYeUz0=; b=Ia4BRpZdyBjnwmqKXSKE1VfbUIx1luMrp6XNBi0ewtsDh6l0IDpTjsEwjku7b6wXk9xNhs /sTyR5C8jhEj+1es2i+1s5c4efrarVAZIjyJYTVwwr82wdVU75xdFnOgvqOBAIDIyyOl9Z 2UQAbij5Ep6oS6ICfKvOG041IxHM1mWM5m9TXdDdrv/CPIVKeFzi5LGJG9OtgqeWOc2nh4 d8WVQKb7clbkmfxyfW9bwJTvxh+awdLHvwzJhOL3JuVAtKc6Wsh8g6m1nfxmh7Es453u/3 m+lyUfc+EeBKy2eGOi/RDiTCCGE8icFPc9YvvrKyPI5zvPePZq/+ni2BMMmxwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699771729; a=rsa-sha256; cv=none; b=tExbnY0aBTFqU2VowsqFg5iR2CPCGQCyCgMqF5p9weYCrZ3PMOPG2cvMav8QFtqcYZDUne hCJZUanUPHW0FX5nE0475zJStAGurWlds2EjYe3IE5dWJ98BLBN1KgT+GETAU3GUNC5Rc4 lc9JMA6rqZr7POa8WL9TddBzWcJUQ5QdORJ7/al7CIcKS/sfANH82lQHA6gJc8TJxvzU/6 uDHe+dqCM/FAe2IFY2HNvC51pNNhqhUbvudifi/fZdhlMtYLCNF7DXjDbwK07C2miN16R8 bpj8msS05M19tDUmYz6CtFU9wzRIeECPnTbuVzwp8JXxKXh/5AVl9SnHsntE2A== 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 4SSjnr6WVmz1CFx; Sun, 12 Nov 2023 06:48:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AC6mm9o092264; Sun, 12 Nov 2023 06:48:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AC6mmle092261; Sun, 12 Nov 2023 06:48:48 GMT (envelope-from git) Date: Sun, 12 Nov 2023 06:48:48 GMT Message-Id: <202311120648.3AC6mmle092261@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: 27133e6e86c1 - stable/14 - Delete snapshot after opening it when running fsck_ffs(9) in background. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 27133e6e86c16f86642a16d15ea2c910e9642616 Auto-Submitted: auto-generated The branch stable/14 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=27133e6e86c16f86642a16d15ea2c910e9642616 commit 27133e6e86c16f86642a16d15ea2c910e9642616 Author: Kirk McKusick AuthorDate: 2023-10-25 22:36:45 +0000 Commit: Kirk McKusick CommitDate: 2023-11-12 06:48:25 +0000 Delete snapshot after opening it when running fsck_ffs(9) in background. PR: 106107 (cherry picked from commit d3a36e4b7459b2d62c4cd50de7a8e3195d7241c7) --- sbin/fsck_ffs/fsck.h | 1 - sbin/fsck_ffs/fsutil.c | 1 - sbin/fsck_ffs/globs.c | 2 -- sbin/fsck_ffs/main.c | 8 +++++--- sbin/fsck_ffs/setup.c | 8 ++++---- 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/sbin/fsck_ffs/fsck.h b/sbin/fsck_ffs/fsck.h index 1864ea19f4ca..3b795783f39c 100644 --- a/sbin/fsck_ffs/fsck.h +++ b/sbin/fsck_ffs/fsck.h @@ -376,7 +376,6 @@ extern long secsize; /* actual disk sector size */ extern char skipclean; /* skip clean file systems if preening */ extern int snapcnt; /* number of active snapshots */ extern struct inode snaplist[FSMAXSNAP + 1]; /* list of active snapshots */ -extern char snapname[BUFSIZ]; /* when doing snapshots, the name of the file */ extern int sujrecovery; /* 1 => doing check using the journal */ extern int surrender; /* Give up if reads fail */ extern char usedsoftdep; /* just fix soft dependency inconsistencies */ diff --git a/sbin/fsck_ffs/fsutil.c b/sbin/fsck_ffs/fsutil.c index 5cf17e22fe80..2583e324e94c 100644 --- a/sbin/fsck_ffs/fsutil.c +++ b/sbin/fsck_ffs/fsutil.c @@ -616,7 +616,6 @@ ckfini(int markclean) int ofsmodified, cnt, cg; if (bkgrdflag) { - unlink(snapname); if ((!(sblock.fs_flags & FS_UNCLEAN)) != markclean) { cmd.value = FS_UNCLEAN; cmd.size = markclean ? -1 : 1; diff --git a/sbin/fsck_ffs/globs.c b/sbin/fsck_ffs/globs.c index 038fc3475742..b004dd7d48b7 100644 --- a/sbin/fsck_ffs/globs.c +++ b/sbin/fsck_ffs/globs.c @@ -71,7 +71,6 @@ int freefiles[MIBSIZE]; /* MIB cmd to free a set of files */ int freedirs[MIBSIZE]; /* MIB cmd to free a set of directories */ int freeblks[MIBSIZE]; /* MIB cmd to free a set of data blocks */ struct fsck_cmd cmd; /* sysctl file system update commands */ -char snapname[BUFSIZ]; /* when doing snapshots, the name of the file */ char *cdevname; /* name of device being checked */ long dev_bsize; /* computed value of DEV_BSIZE */ long secsize; /* actual disk sector size */ @@ -144,7 +143,6 @@ fsckinit(void) bzero(freedirs, sizeof(int) * MIBSIZE); bzero(freeblks, sizeof(int) * MIBSIZE); bzero(&cmd, sizeof(struct fsck_cmd)); - bzero(snapname, sizeof(char) * BUFSIZ); cdevname = NULL; dev_bsize = 0; secsize = 0; diff --git a/sbin/fsck_ffs/main.c b/sbin/fsck_ffs/main.c index 58e184f3581f..ee39760f4dd2 100644 --- a/sbin/fsck_ffs/main.c +++ b/sbin/fsck_ffs/main.c @@ -68,7 +68,8 @@ static char sccsid[] = "@(#)main.c 8.6 (Berkeley) 5/14/95"; #include "fsck.h" -static int restarts; +static int restarts; +static char snapname[BUFSIZ]; /* when doing snapshots, the name of the file */ static void usage(void) __dead2; static intmax_t argtoimax(int flag, const char *req, const char *str, int base); @@ -664,8 +665,7 @@ setup_bkgrdchk(struct statfs *mntp, int sbreadfailed, char **filesys) "SUPPORT\n"); } /* Find or create the snapshot directory */ - snprintf(snapname, sizeof snapname, "%s/.snap", - mntp->f_mntonname); + snprintf(snapname, sizeof snapname, "%s/.snap", mntp->f_mntonname); if (stat(snapname, &snapdir) < 0) { if (errno != ENOENT) { pwarn("CANNOT FIND SNAPSHOT DIRECTORY %s: %s, CANNOT " @@ -713,6 +713,8 @@ setup_bkgrdchk(struct statfs *mntp, int sbreadfailed, char **filesys) "BACKGROUND\n", snapname, strerror(errno)); return (0); } + /* Immediately unlink snapshot so that it will be deleted when closed */ + unlink(snapname); free(sblock.fs_csp); free(sblock.fs_si); if (readsb() == 0) { diff --git a/sbin/fsck_ffs/setup.c b/sbin/fsck_ffs/setup.c index d1d09d07b43a..c9aa19c7eded 100644 --- a/sbin/fsck_ffs/setup.c +++ b/sbin/fsck_ffs/setup.c @@ -380,14 +380,14 @@ openfilesys(char *dev) if ((statb.st_mode & S_IFMT) != S_IFCHR && (statb.st_mode & S_IFMT) != S_IFBLK) { if (bkgrdflag != 0 && (statb.st_flags & SF_SNAPSHOT) == 0) { - pfatal("BACKGROUND FSCK LACKS A SNAPSHOT\n"); - exit(EEXIT); + pwarn("BACKGROUND FSCK LACKS A SNAPSHOT\n"); + return (0); } if (bkgrdflag != 0) { cursnapshot = statb.st_ino; } else { - pfatal("%s IS NOT A DISK DEVICE\n", dev); - if (reply("CONTINUE") == 0) + pwarn("%s IS NOT A DISK DEVICE\n", dev); + if (preen || reply("CONTINUE") == 0) return (0); } } From nobody Sun Nov 12 06:51:32 2023 X-Original-To: dev-commits-src-branches@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 4SSjs04kWyz4yys1; Sun, 12 Nov 2023 06:51:32 +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 4SSjs04JWJz4N4X; Sun, 12 Nov 2023 06:51:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699771892; 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=GBzgkDL5/kvq8sPi083WaKaZQ73t+CPjdgK6HxLuDLg=; b=eclPt8vuJmc+E/CLhnPsnhHdyKYDB8/EV+/OfFJnnqB2s9nMokvX/NwYqVhuaqxDLoGKhx 1hnFowI3hWOQzpBX8tSLjjTJCAryjd7JUkcMQ7BvD/O8HYnTEPF8X3XoW6ZPH1ESuvDUBr ibc5XUMPwN1GJePuE+C+8w4l+tM2k69Z9xKjsbrGipX2FR1YtvH9PGF33EAqd4lGtWpfuI tKxtUAxdQZkAHRxm2hs3QyiWcexMOASicpzKo1C5KMxfcER6Z/FY81OltbnXK6pBvTO/KV x/85PR6VuQDljUDQE2ImSUJndcJQE+SJGgqR2EF8HoijPhVh1ycoQZ/0J+f5QA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699771892; 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=GBzgkDL5/kvq8sPi083WaKaZQ73t+CPjdgK6HxLuDLg=; b=O23QQD7hBH74OkBFT+aEIVada0tY2zy7EzmibLAjv+du6uAkkgrsXV6dhnW3gvvxQ/IA+s k041G9W33BkVFfml20Nv4ed4X8LpSdel4TD+ECmKiw+6iTqxeACcV5z7U8RDzMzxct2J2t j9NHHU7y7+5CF5s8voIAauKq6CZQALg3hprjEA7haOxr4N6FA5tp0a12plN6oziombwS2V kPb2zhwdi6jyI+y4LDEgCLxX3SCFTOI58UR1AXRWdRoUbDXQfZyBGpVGYuY0Lt6nH1xppf /fJXoH65jmaUBR0fTd3jV8E4J7daVRGZQCUTI1r/NFl2htvgPDtMCpigD6aJbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699771892; a=rsa-sha256; cv=none; b=kJSNqgrNY5XRY68hBWGGK5T2BR0xq/Vcz3L+Pqct42b0SKPpg5h7FBb6KVrBXfFKI2NqrK 79K3JGRWRaFAcL4RWPr/bIeGekgfEZ+S3CRGpeqKgKxY4U3yJ8fMX4gDf8eKKWXaYgassp wrAGo+iWJpdMp9p2BwZlHyfeCDLP0j5+OWdfcM1ur3HaGufN2s2iU0O9JiK05HKQBRziDt w+Mdz/rxHxGjgR6cLNXg+lT7M4gJjdeuJQVbajRg5lEj2F+ghDrGzcxpZxs6PH8GbxUSkh dm62o6snr5qEC5xyyuIqKZFhiJRMtql84dl6Y6jamoh/36XADqpwh2usnwGfTA== 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 4SSjs03M5Kz1BmS; Sun, 12 Nov 2023 06:51:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AC6pWj0004783; Sun, 12 Nov 2023 06:51:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AC6pW4r004780; Sun, 12 Nov 2023 06:51:32 GMT (envelope-from git) Date: Sun, 12 Nov 2023 06:51:32 GMT Message-Id: <202311120651.3AC6pW4r004780@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: d3d779f64754 - stable/13 - Delete snapshot after opening it when running fsck_ffs(9) in background. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d3d779f6475474bd7fc80d1f9cce91c7b42fc958 Auto-Submitted: auto-generated The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=d3d779f6475474bd7fc80d1f9cce91c7b42fc958 commit d3d779f6475474bd7fc80d1f9cce91c7b42fc958 Author: Kirk McKusick AuthorDate: 2023-10-25 22:36:45 +0000 Commit: Kirk McKusick CommitDate: 2023-11-12 06:51:14 +0000 Delete snapshot after opening it when running fsck_ffs(9) in background. PR: 106107 (cherry picked from commit d3a36e4b7459b2d62c4cd50de7a8e3195d7241c7) --- sbin/fsck_ffs/fsck.h | 1 - sbin/fsck_ffs/fsutil.c | 1 - sbin/fsck_ffs/globs.c | 2 -- sbin/fsck_ffs/main.c | 8 +++++--- sbin/fsck_ffs/setup.c | 8 ++++---- 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/sbin/fsck_ffs/fsck.h b/sbin/fsck_ffs/fsck.h index 13a4a048fbe8..1a4cc24e63db 100644 --- a/sbin/fsck_ffs/fsck.h +++ b/sbin/fsck_ffs/fsck.h @@ -377,7 +377,6 @@ extern long secsize; /* actual disk sector size */ extern char skipclean; /* skip clean file systems if preening */ extern int snapcnt; /* number of active snapshots */ extern struct inode snaplist[FSMAXSNAP + 1]; /* list of active snapshots */ -extern char snapname[BUFSIZ]; /* when doing snapshots, the name of the file */ extern int sujrecovery; /* 1 => doing check using the journal */ extern int surrender; /* Give up if reads fail */ extern char usedsoftdep; /* just fix soft dependency inconsistencies */ diff --git a/sbin/fsck_ffs/fsutil.c b/sbin/fsck_ffs/fsutil.c index 528986a7bfd7..14196fa8356a 100644 --- a/sbin/fsck_ffs/fsutil.c +++ b/sbin/fsck_ffs/fsutil.c @@ -615,7 +615,6 @@ ckfini(int markclean) int ofsmodified, cnt, cg; if (bkgrdflag) { - unlink(snapname); if ((!(sblock.fs_flags & FS_UNCLEAN)) != markclean) { cmd.value = FS_UNCLEAN; cmd.size = markclean ? -1 : 1; diff --git a/sbin/fsck_ffs/globs.c b/sbin/fsck_ffs/globs.c index da09781a06ba..5170f078166a 100644 --- a/sbin/fsck_ffs/globs.c +++ b/sbin/fsck_ffs/globs.c @@ -71,7 +71,6 @@ int freefiles[MIBSIZE]; /* MIB cmd to free a set of files */ int freedirs[MIBSIZE]; /* MIB cmd to free a set of directories */ int freeblks[MIBSIZE]; /* MIB cmd to free a set of data blocks */ struct fsck_cmd cmd; /* sysctl file system update commands */ -char snapname[BUFSIZ]; /* when doing snapshots, the name of the file */ char *cdevname; /* name of device being checked */ long dev_bsize; /* computed value of DEV_BSIZE */ long secsize; /* actual disk sector size */ @@ -145,7 +144,6 @@ fsckinit(void) bzero(freedirs, sizeof(int) * MIBSIZE); bzero(freeblks, sizeof(int) * MIBSIZE); bzero(&cmd, sizeof(struct fsck_cmd)); - bzero(snapname, sizeof(char) * BUFSIZ); cdevname = NULL; dev_bsize = 0; secsize = 0; diff --git a/sbin/fsck_ffs/main.c b/sbin/fsck_ffs/main.c index c0f7d39897ea..3e42bde1ea5d 100644 --- a/sbin/fsck_ffs/main.c +++ b/sbin/fsck_ffs/main.c @@ -68,7 +68,8 @@ static char sccsid[] = "@(#)main.c 8.6 (Berkeley) 5/14/95"; #include "fsck.h" -static int restarts; +static int restarts; +static char snapname[BUFSIZ]; /* when doing snapshots, the name of the file */ static void usage(void) __dead2; static intmax_t argtoimax(int flag, const char *req, const char *str, int base); @@ -664,8 +665,7 @@ setup_bkgrdchk(struct statfs *mntp, int sbreadfailed, char **filesys) "SUPPORT\n"); } /* Find or create the snapshot directory */ - snprintf(snapname, sizeof snapname, "%s/.snap", - mntp->f_mntonname); + snprintf(snapname, sizeof snapname, "%s/.snap", mntp->f_mntonname); if (stat(snapname, &snapdir) < 0) { if (errno != ENOENT) { pwarn("CANNOT FIND SNAPSHOT DIRECTORY %s: %s, CANNOT " @@ -713,6 +713,8 @@ setup_bkgrdchk(struct statfs *mntp, int sbreadfailed, char **filesys) "BACKGROUND\n", snapname, strerror(errno)); return (0); } + /* Immediately unlink snapshot so that it will be deleted when closed */ + unlink(snapname); free(sblock.fs_csp); free(sblock.fs_si); havesb = 0; diff --git a/sbin/fsck_ffs/setup.c b/sbin/fsck_ffs/setup.c index 4584456d8a64..f34ce282b7ee 100644 --- a/sbin/fsck_ffs/setup.c +++ b/sbin/fsck_ffs/setup.c @@ -399,14 +399,14 @@ openfilesys(char *dev) if ((statb.st_mode & S_IFMT) != S_IFCHR && (statb.st_mode & S_IFMT) != S_IFBLK) { if (bkgrdflag != 0 && (statb.st_flags & SF_SNAPSHOT) == 0) { - pfatal("BACKGROUND FSCK LACKS A SNAPSHOT\n"); - exit(EEXIT); + pwarn("BACKGROUND FSCK LACKS A SNAPSHOT\n"); + return (0); } if (bkgrdflag != 0) { cursnapshot = statb.st_ino; } else { - pfatal("%s IS NOT A DISK DEVICE\n", dev); - if (reply("CONTINUE") == 0) + pwarn("%s IS NOT A DISK DEVICE\n", dev); + if (preen || reply("CONTINUE") == 0) return (0); } } From nobody Sun Nov 12 11:31:15 2023 X-Original-To: dev-commits-src-branches@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 4SSr3m0RGBz50LBD; Sun, 12 Nov 2023 11:31:16 +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 4SSr3m00kmz3TvC; Sun, 12 Nov 2023 11:31:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699788676; 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=wGWO2PYiBksE1XjmH5s6IPz2LMUhlEiPkd8zzfSB/Oc=; b=e9QO8M1NnnZd9o7+sw6s03uIOwYArw6RtboYUh63IayBwmGS9yL/kFWApnwdUW344x2htO e09q9gqKOwk015R8noBAcIfJK2BtanrxeEmWKxEk63Me5Fya1wbjJtdV8pVzm+ArrsDmR2 zoDuCU6UU8YvtgOKAiSZjfop9hXmj4Vc3VeX6HmHWiznQ7dJYH6cfw1N/gUQiuhe1ANxqx vtxyqveItQdN/YjylNMUfLqwGJ0VrjXUsq/EAUoxKka3YlsI7USZDWUhHT7CxC9rhWvj15 nvqr0YSliAbTV9A6d8kjpZrFGPeoTYSexGU6VbYNzG3/2NnVObqmkOrYPSOKSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699788676; 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=wGWO2PYiBksE1XjmH5s6IPz2LMUhlEiPkd8zzfSB/Oc=; b=bnYAWvKAMds+ue5Jq8cUGsL/+U9P6DJsAu/Qv8sU4g9FExBOe3imm0e7UqU9GASuveH3eC 6A+DfcScSwqL+8nIkkrjmsoetFmUzQZY33iii0jDUxx1nRWbgmsbJSi48MmqlwUZyTHTln Jc/7Kg/Z1lfSarfM2Dq5PlaiK4KwM5sjEejSXkoQo8NtScN2vjyvmNQXYoKoA+W27Z5vKe yJHUeIdKIMJJz0iSgHIn3lXx8Tr3wyy6B6IrgCM6kr0vC/mPRiqzDey8l/wX694IiyRGM6 kGU/eOqml4hIVdAd+vyF5k435IUGsUE+wbSf48tNufxt0zHZoecRFsVzfdbVCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699788676; a=rsa-sha256; cv=none; b=X+0oIjrnwTegIBQsybSgZD4mGQ6l+YNyVG6W5pM1kLw3OcNoGJlR4Kd55yLUfBcr6xYpU3 VcfD7cPlFn4FiP5MHZ6OuwAc3RJMTTMGKclFsxaLGbJFPOkGB3TOiKVjqikhi4KH2gKLi3 JU8gjQY13r4OOIs/e1lwS4pxY4B2QtPT76JmXjMKxPdi5ZyE83TMCYWUC2PMRUXXUyXJG6 lfrTzwN7xfFnh2NK4f2kgcuEA4UbuY5wru9XtQxHWVOArwxrnEx4wy0NzBOG7Opzo01hau sVqjaQRLAbrk6ugX+Rb0KAKEG3ZueQVqdKRpS1GGbLMl6vNv9IEDxpp5iIduDg== 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 4SSr3l69ztz6D4; Sun, 12 Nov 2023 11:31:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ACBVF7X070731; Sun, 12 Nov 2023 11:31:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ACBVFKP070728; Sun, 12 Nov 2023 11:31:15 GMT (envelope-from git) Date: Sun, 12 Nov 2023 11:31:15 GMT Message-Id: <202311121131.3ACBVFKP070728@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Rabson Subject: git: 61ba094af4b4 - stable/14 - netfront: fix the support for disabling LRO at boot time List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dfr X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 61ba094af4b4798bf2887c30af5c14d66ead706f Auto-Submitted: auto-generated The branch stable/14 has been updated by dfr: URL: https://cgit.FreeBSD.org/src/commit/?id=61ba094af4b4798bf2887c30af5c14d66ead706f commit 61ba094af4b4798bf2887c30af5c14d66ead706f Author: Doug Rabson AuthorDate: 2023-08-12 13:19:47 +0000 Commit: Doug Rabson CommitDate: 2023-11-12 10:37:16 +0000 netfront: fix the support for disabling LRO at boot time The driver has a tunable hw.xn.enable_lro which is intended to control whether LRO is enabled. This is currently non-functional - even if its set to zero, the driver still requests LRO support from the backend. This change fixes the feature so that if enable_lro is set to zero, LRO no longer appears in the interface capabilities and LRO is not requested from the backend. PR: 273046 MFC after: 1 week Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D41439 (cherry picked from commit da4b0d6eb06d730487d48e15d2d5e10c56266fd9) --- sys/dev/xen/netfront/netfront.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/dev/xen/netfront/netfront.c b/sys/dev/xen/netfront/netfront.c index b4e7722552e6..dafb838cf328 100644 --- a/sys/dev/xen/netfront/netfront.c +++ b/sys/dev/xen/netfront/netfront.c @@ -2272,7 +2272,7 @@ int create_netdev(device_t dev) { struct netfront_info *np; - int err; + int err, cap_enabled; if_t ifp; np = device_get_softc(dev); @@ -2304,7 +2304,11 @@ create_netdev(device_t dev) if_sethwassist(ifp, XN_CSUM_FEATURES); /* Enable all supported features at device creation. */ if_setcapabilities(ifp, IFCAP_HWCSUM|IFCAP_TSO4|IFCAP_LRO); - if_setcapenable(ifp, if_getcapabilities(ifp)); + cap_enabled = if_getcapabilities(ifp); + if (!xn_enable_lro) { + cap_enabled &= ~IFCAP_LRO; + } + if_setcapenable(ifp, cap_enabled); if_sethwtsomax(ifp, 65536 - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN)); if_sethwtsomaxsegcount(ifp, MAX_TX_REQ_FRAGS); From nobody Sun Nov 12 11:31:16 2023 X-Original-To: dev-commits-src-branches@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 4SSr3n1cJgz50KxK; Sun, 12 Nov 2023 11:31:17 +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 4SSr3n10DDz3VMG; Sun, 12 Nov 2023 11:31:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699788677; 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=M8CI2lKN5MgU4y02dzG4MsTNU3UTtbYCIhZuB0rOBuU=; b=ZGZA94Shd1QrZoXhw3J2QTZcDLSQMoXAPEKMnpVBPGS39Gb8G3d5T5+UMG6Q+r/EztgjOz QXiT0Bu7YA1qPs9JtcGlUwk3IOhLzYkyuNlAsnqMDV+MFaRW4CxujEmWO/6Wy8jogMac6N 8fpkE2+Nh5AECYLwNk1pJTDtmCe35zIkoFEdgkiW38ulo2shswKsIppfBPlaJHcW4nX7cP ic8Zxp3Swq5sJPaR/xXNzW9MwVFWYsVBfx27OCH3qAGrLht4f3mO+b+q66vhmZ1Xmgl/Kk dh4NO8T/XYRPHmYpBRWhibFQS1fi+UNDNRBlC+3CuYkuUZcb67gUV4TeQ0200w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699788677; 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=M8CI2lKN5MgU4y02dzG4MsTNU3UTtbYCIhZuB0rOBuU=; b=mqpKkTxGxIk0VFDn3tomlhqEWdirdvXQc0Vo/lfpQowjOfMB758eQbZGOEDERnhsDCYJwe LFeeteeWpSJ5PfydM4Jln/BBBPZBy3cIESYmaK4J81JgW68yZ3pP1BkQi3FVQteK3IqZBU T76Xk8v78vkq8F0Edr8QKY8Iq56jMk59S1KMNnwWwcRvk5Lj5csg0iIoFY/0LIcCFVnjoE neHwCG9D0SAfBj/sqagiiCrnYisVMGdzpo9enChurb/+z6Vcd4m26rlXiI7Cp46gO0cIwj GCoZ2RWqETVmKZniwxaehBZltx2ZLfPlqtf3JuAyeCkDMDqF6ZMrSmEz/wPrWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699788677; a=rsa-sha256; cv=none; b=Rz4gUVQedcmjK7BSfBCXtrBvLN63fA9rYN8n0qQdjUeJMQc+fs9X8XkWbN6olDoZ2chAHp WFPqZpppH3GIV5od7h9jA9x5kiuKSnMEWF4F4P6lETarSTCVPG8mIxP2OvraEzhG4BagdO 6j9NzFYTW0mNJYbaH1Y+rBHnhkrLvKkNFM+OWEoUggjWl9Pm05rgGlHXathWFU684M11AX HBXCWwUIxpLn6yPQ7m6AEyg3Gm3B/3t4RJouy66OAn8snwReLq8XszNCH5EHd4t8vK2s47 XIKS4HQ8Il5jEDbd+7aJlXcWm91/LGqLdwWe3jYU8CqyeRbF61P77hexu1PTQA== 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 4SSr3m6z28z6D5; Sun, 12 Nov 2023 11:31:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ACBVGgd070789; Sun, 12 Nov 2023 11:31:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ACBVGZf070786; Sun, 12 Nov 2023 11:31:16 GMT (envelope-from git) Date: Sun, 12 Nov 2023 11:31:16 GMT Message-Id: <202311121131.3ACBVGZf070786@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Rabson Subject: git: e968616046a3 - stable/14 - pkgbase: Move headers and libs out of runtime and utilities List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dfr X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e968616046a32e4ac7b98b2aa7935c3a64f66ada Auto-Submitted: auto-generated The branch stable/14 has been updated by dfr: URL: https://cgit.FreeBSD.org/src/commit/?id=e968616046a32e4ac7b98b2aa7935c3a64f66ada commit e968616046a32e4ac7b98b2aa7935c3a64f66ada Author: Doug Rabson AuthorDate: 2023-09-11 08:38:46 +0000 Commit: Doug Rabson CommitDate: 2023-11-12 10:37:16 +0000 pkgbase: Move headers and libs out of runtime and utilities Headers from src/include were in the runtime-dev package but subdirectories of src/include ended up in utilities-dev by default. Neither package is a good choice - the headers in src/include are not useful without the libraries contained in clibs-dev. This moves the standard C headers to clibs-dev (C++ headers are already in this package). While working on this, I found that various clang libraries and headers were also bundled into utilities-dev by default so these are also moved to clang-dev. I also added a FreeBSD-build-essential meta package to make it simple to install all the toolchain parts. PR: 254173 Reviewed byb: manu MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41815 (cherry picked from commit 78847e1e592789dc85bddf4d2f1d9a8ce4614ff1) --- include/Makefile | 2 +- include/Makefile.inc | 2 ++ lib/clang/Makefile.inc | 1 + lib/csu/Makefile.inc | 1 + lib/libclang_rt/Makefile.inc | 1 + release/packages/generate-ucl.sh | 3 +++ 6 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/Makefile b/include/Makefile index d8cdbfed3663..f5985ebf091a 100644 --- a/include/Makefile +++ b/include/Makefile @@ -4,7 +4,7 @@ .include -PACKAGE=runtime +PACKAGE=clibs CLEANFILES= osreldate.h version SUBDIR= arpa protocols rpcsvc rpc xlocale .if ${MACHINE_CPUARCH} == "amd64" diff --git a/include/Makefile.inc b/include/Makefile.inc new file mode 100644 index 000000000000..14d7bf96e6bc --- /dev/null +++ b/include/Makefile.inc @@ -0,0 +1,2 @@ +# Make sure all our subdirectory headers end up in clibs-dev +PACKAGE=clibs diff --git a/lib/clang/Makefile.inc b/lib/clang/Makefile.inc index 0a2ae8f6b802..2dfc966726b0 100644 --- a/lib/clang/Makefile.inc +++ b/lib/clang/Makefile.inc @@ -1,6 +1,7 @@ .include +PACKAGE= clang MK_PIE:= no # Explicit libXXX.a references .if ${COMPILER_TYPE} == "clang" diff --git a/lib/csu/Makefile.inc b/lib/csu/Makefile.inc index faf01b293b92..55aaf589f48f 100644 --- a/lib/csu/Makefile.inc +++ b/lib/csu/Makefile.inc @@ -1,3 +1,4 @@ +PACKAGE= clibs-dev NO_WMISSING_VARIABLE_DECLARATIONS= # Can't instrument these files since that breaks non-sanitized programs. diff --git a/lib/libclang_rt/Makefile.inc b/lib/libclang_rt/Makefile.inc index 4832815643ae..263d1e340f3d 100644 --- a/lib/libclang_rt/Makefile.inc +++ b/lib/libclang_rt/Makefile.inc @@ -1,6 +1,7 @@ .include +PACKAGE= clang CRTSRC= ${SRCTOP}/contrib/llvm-project/compiler-rt .include "compiler-rt-vars.mk" diff --git a/release/packages/generate-ucl.sh b/release/packages/generate-ucl.sh index aef08e50c037..9e9680559428 100755 --- a/release/packages/generate-ucl.sh +++ b/release/packages/generate-ucl.sh @@ -44,6 +44,9 @@ main() { certctl) pkgdeps="caroot openssl" ;; + clang) + pkgdeps="lld clang-dev libcompiler_rt-dev" + ;; # -dev packages that have no corresponding non-dev package # as a dependency. From nobody Mon Nov 13 03:57:35 2023 X-Original-To: dev-commits-src-branches@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 4STFxr1P37z50kgk; Mon, 13 Nov 2023 03:57:36 +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 4STFxq62lxz4GPR; Mon, 13 Nov 2023 03:57:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699847855; 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=dqfLkjceUh2lbpyaRsW9dxwZu5RZti+MGVosbIIujFU=; b=wxHBtcm/Z7+9bG09f4Ycf6gQraQBUl+/gqSPeHeaoOP+rld4vky3UXgY1cHt/U3iiaPzs7 Gyy+DYszbrHPGhEaYB1JIEVSCAF4OICPw4TEquXKZl75uiDm/gVpPEfggIvU09AdSUB5sz NcVlft/LLfYJkC8d+mfz09WbWl/tREDloRw5JzJeeGdBI0bYJ4UpfITDSpYgbd99M/5Kvz FRLg4m8Cxk9Q6iwhsZv3gzjOgdUlnqEpYkYY6Xv/aqls2jQ9WwWK25BY++0P9n08Hvpbn7 dogdLX4XWOC8kqytPJXCqyMMH4JOoROITchICP9Yb+vXzmztZz79piLPn6bDSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699847855; 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=dqfLkjceUh2lbpyaRsW9dxwZu5RZti+MGVosbIIujFU=; b=XldtwEeNqTAJwHFwG/X+jPGnhMQOSReXYo8bUDNQ9xlPdw1y7+kwOHCAsWAC4NiCr/t6+D Go1dfGgLJqWReVGffIImq7DxYLJU8Av0EhL8lGlmSISOivpJ6u+9JBDba7ij2naLuSLP+k nfsAwxT/yGW4EVyc8rJc3WYxZwwWyphWC7eUaNHvhLctUTiQa94gPAm0a6jfWpxjp5WfEs UJw0CvzxkezcOm7jjQoFoJphlCtdzTPyq1u8x2LVV9cieSkFM3vwG8z7cHMsl2R6LYusAo QzvRr9/CVkIFwxf/nhPRNn7bOGNgV+kDIyYzmQaOFGuCorf97W+x9chMFCGTLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699847855; a=rsa-sha256; cv=none; b=VcilhbE0aRKe2WElrlXRzrmCzy7iJO882Z6zhZCq2PO7MUhzLxAfcFTyNqk11E5NF3q0KS VttmxD8ihqlTufmb2ndUGrYypIazozHSCS2H6lZDxn2iV43sxjC/7kHBBjiPitgqKOC6Dy qIGnJuzX/UH1jkeUU+Yp9ajFoyHwCUt6p7JQmpFlDj+7GIaR1nN4k9WbVuxw2BFT0WhE5D TX2onZOexoXFYdgrf0Quj4zuUFc1Qc4TmxWiH0wN4p4pDe/fo3OacafNcvgkV9b8Pecl/9 1gjQkIC/x9AaGy62s75KZVhYvRW30J7hYFWKhk1sFAa4sgBgOfy22GjCtQPbYA== 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 4STFxq58BjzqDl; Mon, 13 Nov 2023 03:57:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AD3vZNa009022; Mon, 13 Nov 2023 03:57:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AD3vZRB009020; Mon, 13 Nov 2023 03:57:35 GMT (envelope-from git) Date: Mon, 13 Nov 2023 03:57:35 GMT Message-Id: <202311130357.3AD3vZRB009020@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 5d031613affa - stable/14 - bpf: Make dead_bpf_if const List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5d031613affa14b3de64f8cf9fed15604fb826d3 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=5d031613affa14b3de64f8cf9fed15604fb826d3 commit 5d031613affa14b3de64f8cf9fed15604fb826d3 Author: Zhenlei Huang AuthorDate: 2023-10-21 04:52:27 +0000 Commit: Zhenlei Huang CommitDate: 2023-11-13 03:56:57 +0000 bpf: Make dead_bpf_if const The dead_bpf_if is not subjected to be written. Make it const so that on destructive writing to it the kernel will panic instead of silent memory corruption. No functional change intended. Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42189 (cherry picked from commit 7a974a649848e1222a49d0d49726d06bd5c1dbd9) --- sys/net/bpf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/net/bpf.c b/sys/net/bpf.c index 8ca6e941e646..61eb674a7c0a 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -100,7 +100,7 @@ MALLOC_DEFINE(M_BPF, "BPF", "BPF data"); -static struct bpf_if_ext dead_bpf_if = { +static const struct bpf_if_ext dead_bpf_if = { .bif_dlist = CK_LIST_HEAD_INITIALIZER() }; @@ -2859,7 +2859,7 @@ bpfdetach(struct ifnet *ifp) continue; CK_LIST_REMOVE(bp, bif_next); - *bp->bif_bpf = (struct bpf_if *)&dead_bpf_if; + *bp->bif_bpf = __DECONST(struct bpf_if *, &dead_bpf_if); CTR4(KTR_NET, "%s: sheduling free for encap %d (%p) for if %p", @@ -3154,7 +3154,7 @@ void bpfattach2(struct ifnet *ifp, u_int dlt, u_int hdrlen, struct bpf_if **driverp) { - *driverp = (struct bpf_if *)&dead_bpf_if; + *driverp = __DECONST(struct bpf_if *, &dead_bpf_if); } void From nobody Mon Nov 13 03:57:36 2023 X-Original-To: dev-commits-src-branches@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 4STFxs0Mrtz50kf8; Mon, 13 Nov 2023 03:57:37 +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 4STFxr6ykRz4GVY; Mon, 13 Nov 2023 03:57:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699847857; 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=1nSGBq3dZNmbMK0ZRmGl6qaMe4QrqPCi4WaA1HHA/JU=; b=siPSgm19fC5oPyU15Afgya+KHzwTCjjbxEJXplfg5WS1xhXLXwpqhaCWQr4U388vV6m35F N4GOi2McqyzclgIfJ9dZfGqp3CDviPsA8K5jP6GQgxi6f1k6EbQFXIqZJnZ0gtyL7VdGav V7JD8SyJK++f8zw7FwwxaeoEJFeGVXZEMP+kN4sel/YzK4mhtbMvSNYuAoOwuqV+Mmmazm 3fobabgqHRBB9iZh9UxmB5QmFRKDKPB0URev2UYo8x/wlke7bWN0qV0r6Sc4ZhE6qpA5zP gtinVkdLjgyI9JqeKCGnm/4QVF+m5dCkBVvQSaUg75rAzmZD5Z3JxAaPnUClXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699847857; 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=1nSGBq3dZNmbMK0ZRmGl6qaMe4QrqPCi4WaA1HHA/JU=; b=t7glv5wJSEEFV8rdKxxPvGabLYOSiuzJ8Y3lGaHk9nYftuPryx52aiaq72btzW2yn4U6V2 MiAjdgJxaZ0CQq/fX1oX6oeNbNRqcs69vETPM3YbdP9U9MRJjUayb4hoddwalh4FDXz/XQ alSnHBIgrJImfiNvABS3KqiApo6Bj6KpokiwyTG3WSGShh0Mg7NILC3FfcGg82SXHnzNR5 r1xUmGvEaGmRs9qZ4zKbWUupc8SFnBDMHU7DnhltFyI2qnC5chc24MjKG0JII05H2eVW0+ bHOasR/462KjY8lTZx8EInwhTPcazjIK1dVYzUymNe2OaN99ny3zaQKCQ0ryMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699847857; a=rsa-sha256; cv=none; b=rixvzrs/hlwkweBhet1QzpBypeRoMUiLW1dEiS15p+fmlY97OgpBC2Bi78bG/szbJ+ShsF 6iqntrepcIEgLdfIXgbQ3vqFlml4Yuc6q07MGL5qFGpObXpehCTwDjIgu8U4Y8eNYR1YPZ 22Uwr6szENbQcGyD2wqFqhyzxnA8EQHiXZDTbLMNuPPyv7BCdRK4Es+dswOdUH1X1s4W6q wyRO2V2SQSPsJU1+kwMZpDYdkKGbMw1mjp2Zuk6CLRFtUYsFFJrnZYJ0IazlpXUGjcCUOF HtiQIeiWl8ruZeIgnr4zUutzJHpPEWvW5baZh0f7F2KWrO7UGJ7i3nJ2e3sXBw== 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 4STFxr63x1zqTH; Mon, 13 Nov 2023 03:57:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AD3vaP3009070; Mon, 13 Nov 2023 03:57:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AD3vaw1009067; Mon, 13 Nov 2023 03:57:36 GMT (envelope-from git) Date: Mon, 13 Nov 2023 03:57:36 GMT Message-Id: <202311130357.3AD3vaw1009067@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: b388201875bf - stable/14 - veriexec: Simplify the initialization of loader tunable List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b388201875bf28939cd32cec6bd786bf0667956d Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=b388201875bf28939cd32cec6bd786bf0667956d commit b388201875bf28939cd32cec6bd786bf0667956d Author: Zhenlei Huang AuthorDate: 2023-11-03 04:08:27 +0000 Commit: Zhenlei Huang CommitDate: 2023-11-13 03:56:57 +0000 veriexec: Simplify the initialization of loader tunable The loader tunable 'security.mac.veriexec.block_unlink' has been already flagged with CTLFLAG_RDTUN, no need to re-fetch it with TUNABLE_INT_FETCH. While here move the definition of sysctl knob out of function body, which is more common in FreeBSD. No functional change intended. Reviewed by: stevek MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42132 (cherry picked from commit bb8d4411e0c668415538f66fb25e6b38bb910cdd) --- sys/security/mac_veriexec/mac_veriexec.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sys/security/mac_veriexec/mac_veriexec.c b/sys/security/mac_veriexec/mac_veriexec.c index 57f3b6c307fa..7ac09e2acf0f 100644 --- a/sys/security/mac_veriexec/mac_veriexec.c +++ b/sys/security/mac_veriexec/mac_veriexec.c @@ -105,6 +105,8 @@ SYSCTL_PROC(_security_mac_veriexec, OID_AUTO, db, static int mac_veriexec_slot; static int mac_veriexec_block_unlink; +SYSCTL_INT(_security_mac_veriexec, OID_AUTO, block_unlink, CTLFLAG_RDTUN, + &mac_veriexec_block_unlink, 0, "Veriexec unlink protection"); MALLOC_DEFINE(M_VERIEXEC, "veriexec", "Verified execution data"); @@ -797,12 +799,6 @@ mac_veriexec_init(struct mac_policy_conf *mpc __unused) EVENTHANDLER_REGISTER(vfs_unmounted, mac_veriexec_vfs_unmounted, NULL, EVENTHANDLER_PRI_LAST); - /* Fetch tunable value in kernel env and define a corresponding read-only sysctl */ - mac_veriexec_block_unlink = 0; - TUNABLE_INT_FETCH("security.mac.veriexec.block_unlink", &mac_veriexec_block_unlink); - SYSCTL_INT(_security_mac_veriexec, OID_AUTO, block_unlink, - CTLFLAG_RDTUN, &mac_veriexec_block_unlink, 0, "Veriexec unlink protection"); - /* Check if unlink control is activated via tunable value */ if (!mac_veriexec_block_unlink) mac_veriexec_ops.mpo_vnode_check_unlink = NULL; From nobody Mon Nov 13 03:59:09 2023 X-Original-To: dev-commits-src-branches@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 4STFzd4cNkz50kyh; Mon, 13 Nov 2023 03:59:09 +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 4STFzd492cz4H7G; Mon, 13 Nov 2023 03:59:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699847949; 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=QowJb3/sgjRJ9tHFeg37gfANfJ46SWRuJbk70ug5DVw=; b=MUHq1J/R68uqXoYCx6YfMacBByjvQQQdtN4NSyq/WlL52Iyq+kjSg7eeUzdrckKGg/giu2 24FyRRVKny0Xq1lUS7U8JDQT6TahDLyI+Fj49OJdK+cxXcwjOXHMXTbpAzZLJK9hriO9IA nxB7U3ul7znW3C9dbtSN54SIi8lnbMlpcVmARExMrEQN6sY1Lw7dbKd2HJkyJRgiNvM1uU H+Fg5j4RI8Wq0pt4T4scLZFkewp9TvyuCj6E47XaEjlEwQjz6jEDnuSEF8lgBZUEynBA10 /OxnI04tkOVpJAD8vqfnqxsDB2JMPqB7yWWODRySb5Janahc0h42yNVD491Vcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699847949; 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=QowJb3/sgjRJ9tHFeg37gfANfJ46SWRuJbk70ug5DVw=; b=cMfczj7G5+nKCuFblC73nCtkPJxvJNwsTf3i2JZ995aOKmFMhxByftFlAitutsaGxZ5s5z nRNpSiuBfcisFTsKv01ARvnchWV1KFfZNAnTnpl/DUDP65IE+UQPVJ8Zozma9WwQinR8Dm MRv9NNALPfBuqlBqQkkfFai7UFcgXRsQhK1PFzg7OX7RmnnZLPhwjbzT6gwjWOGnPnKTAn IXkZh1pS4NInvB6CMzfn19AjOQKZX6Wz+2TxZTs/XJVLis7o/3qWjjIUsgguCjq5VY0KxN JGuGa/7kTUW8N6NJmtoassFGeYNzCl+0ArHyOIWtJQEwFnlzT+HjB8OYXNXx7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699847949; a=rsa-sha256; cv=none; b=iJWOlWEPbT5pDEr8+PlWKO3buwHYfCVSRdhkvWsAadXctcuwmc+jzNVn1+akdjkznU5RAQ zY9FfUFwGTlRq/uatuDAqQc+ryn1+iPVaPRPmT6j76tACIkmoA2YqJeAm9xQgM0kKsQEbJ HWeKjj5XhU4h9Odo+4EbWDGS3bVn6vnBXZ0wOaa8+XQhXaU5NH3FM3aCwfl90aq+2GoH6w RaAi7vjz3JfJF9Rl6nwue9GDgbKpoogWgwAKiIk6/lcN7sKYnWn6iUWPRHesjqyTODOsdC x6AWS0yLjcc2FoH8l1xwFKhUboSlEkdBMPIxzXefhpOsTL+ebKRJd7x0mn18aw== 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 4STFzd3GCszr55; Mon, 13 Nov 2023 03:59:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AD3x9Fh009418; Mon, 13 Nov 2023 03:59:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AD3x9nA009415; Mon, 13 Nov 2023 03:59:09 GMT (envelope-from git) Date: Mon, 13 Nov 2023 03:59:09 GMT Message-Id: <202311130359.3AD3x9nA009415@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 1e147980497b - stable/13 - bpf: Make dead_bpf_if const List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1e147980497b38d65cd72162c000c88507a7fa76 Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=1e147980497b38d65cd72162c000c88507a7fa76 commit 1e147980497b38d65cd72162c000c88507a7fa76 Author: Zhenlei Huang AuthorDate: 2023-10-21 04:52:27 +0000 Commit: Zhenlei Huang CommitDate: 2023-11-13 03:58:34 +0000 bpf: Make dead_bpf_if const The dead_bpf_if is not subjected to be written. Make it const so that on destructive writing to it the kernel will panic instead of silent memory corruption. No functional change intended. Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42189 (cherry picked from commit 7a974a649848e1222a49d0d49726d06bd5c1dbd9) (cherry picked from commit 5d031613affa14b3de64f8cf9fed15604fb826d3) --- sys/net/bpf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/net/bpf.c b/sys/net/bpf.c index 20c26892ce7a..7aa1dfd302f4 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -99,7 +99,7 @@ MALLOC_DEFINE(M_BPF, "BPF", "BPF data"); -static struct bpf_if_ext dead_bpf_if = { +static const struct bpf_if_ext dead_bpf_if = { .bif_dlist = CK_LIST_HEAD_INITIALIZER() }; @@ -2796,7 +2796,7 @@ bpfdetach(struct ifnet *ifp) continue; CK_LIST_REMOVE(bp, bif_next); - *bp->bif_bpf = (struct bpf_if *)&dead_bpf_if; + *bp->bif_bpf = __DECONST(struct bpf_if *, &dead_bpf_if); CTR4(KTR_NET, "%s: sheduling free for encap %d (%p) for if %p", @@ -3076,7 +3076,7 @@ void bpfattach2(struct ifnet *ifp, u_int dlt, u_int hdrlen, struct bpf_if **driverp) { - *driverp = (struct bpf_if *)&dead_bpf_if; + *driverp = __DECONST(struct bpf_if *, &dead_bpf_if); } void From nobody Mon Nov 13 09:35:30 2023 X-Original-To: dev-commits-src-branches@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 4STPRk4Bqbz50plf; Mon, 13 Nov 2023 09:35:30 +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 4STPRk3dfgz3cH6; Mon, 13 Nov 2023 09:35:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699868130; 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=4PZtEVNyMMrlRrbZlQVQeiO/3QWL13Mkz3vXEstSud8=; b=KyIVJn0DYaIzGj3F+90wj4KZHJmzmfioTshbkiBWmQ7XWl5xgS6bsVHqDvvicLR3B4gsNq WNMaWLcNtofJ7lOM+uN+wB2GAdsbQGW9YKrKgsTWzgsEvGDRn14HREqjqb0qagCmzhiVkV 3n6oTJrh8smtf72860kgLwfI+2jQF2lOOCvVgB+nQ8U4dJA2mMfMD4qrEM9I6QBsKBBHs4 lG1T1wm93zrgBmNuneRVVUCQEEmvQiWU9FFZxkMNLmqozAorES1Hg05GVFdmgNNy+cBSbl p1H0nvYPSiiaRGHsRPnFqh+UaEF3P/EmWwpb/ZSvXftN2cHs7AQg6VTxmW+qvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699868130; 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=4PZtEVNyMMrlRrbZlQVQeiO/3QWL13Mkz3vXEstSud8=; b=rtLchKdYySvMw2VhatrzA3+TnreH7EGsJ06L5KEODw/T0h9St+aAmw82Q6PzaYAxIT0pzz QWg1qrjnr4OBt52ex44e+5Y84IxiTnUeUklm0C09dPRy49qx1ippsyEvHhZMmIalN81cpS yiJECaHm5LeRgc+17fg00jUjgeELgyTXhlSPRGtd9DxMQPKTFLGer+X0jvJbv5Jae9DDMd TmmTk4JmT6OXz9kaHMx2pVaWvSURVBoDMtWy0l6eaqMqfF/suPJplE4ms39lgvjub+PzFr hBe59FGAhqyfhTNaD4qQAZAKrdsIT5cWXrWAkBpMsOtBdt/v6nQVlEorzxe6EA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699868130; a=rsa-sha256; cv=none; b=uqUcSJk0A1cCe4qCTlhvEfSI3KHz2+etXi5nyGrCKIfq2IBgd0iTSoqai+1ZffAd0LcV9h QEadD+meEItStFibs2CHYnunPaopwVA4dhbwB9tOZnS+1ezCVTZOJkL9EHS8whoMu0FbrI rUr4UAHC35jh1DGOZ8bzwIXrjuwBIepWPNSGLO161dB+2ZATmPy0eZA/ATicq/fhci2q2C S7caKi4S9p5vr1ul58J6v4Olq8lMEnlc5kfv3nZR8VGChJMAMHfHxg1cwE7K1UDMZbEjYi 50qB+C68/7bA0bbt1Z69vhXV97hXndTG80bYoWWxHpriCA35x+eA1Xtwst2Waw== 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 4STPRk2hzXz118V; Mon, 13 Nov 2023 09:35:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AD9ZUo4075835; Mon, 13 Nov 2023 09:35:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AD9ZUpC075832; Mon, 13 Nov 2023 09:35:30 GMT (envelope-from git) Date: Mon, 13 Nov 2023 09:35:30 GMT Message-Id: <202311130935.3AD9ZUpC075832@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 94b8a547c53b - stable/14 - pf: expose more syncookie state information to userspace List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 94b8a547c53b675a775fa824b433e23e5a28aee6 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=94b8a547c53b675a775fa824b433e23e5a28aee6 commit 94b8a547c53b675a775fa824b433e23e5a28aee6 Author: Kristof Provost AuthorDate: 2023-11-06 21:20:32 +0000 Commit: Kristof Provost CommitDate: 2023-11-13 07:10:27 +0000 pf: expose more syncookie state information to userspace Allow userspace to retrieve low and high water marks, as well as the current number of half open states. MFC after: 1 week Sponsored by: Modirum MDPay (cherry picked from commit a6173e94635b03aa7aab90a67785c8c3e7c6247b) --- lib/libpfctl/libpfctl.c | 1 + lib/libpfctl/libpfctl.h | 1 + sbin/pfctl/pfctl_parser.c | 5 +++++ sys/netpfil/pf/pf_ioctl.c | 1 + sys/netpfil/pf/pf_syncookies.c | 2 ++ 5 files changed, 10 insertions(+) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 03907698e7d2..72da534ac1df 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -1476,6 +1476,7 @@ pfctl_get_syncookies(int dev, struct pfctl_syncookies *s) s->highwater = nvlist_get_number(nvl, "highwater") * 100 / state_limit; s->lowwater = nvlist_get_number(nvl, "lowwater") * 100 / state_limit; + s->halfopen_states = nvlist_get_number(nvl, "halfopen_states"); nvlist_destroy(nvl); diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index f436e722496f..edaffdd12118 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -381,6 +381,7 @@ struct pfctl_syncookies { enum pfctl_syncookies_mode mode; uint8_t highwater; /* Percent */ uint8_t lowwater; /* Percent */ + uint32_t halfopen_states; }; struct pfctl_status* pfctl_get_status(int dev); diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index 0268d1b07c79..cb307cd6ede5 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -628,6 +628,11 @@ print_status(struct pfctl_status *s, struct pfctl_syncookies *cookies, int opts) PFCTL_SYNCOOKIES_MODE_NAMES[cookies->mode]); printf(" %-25s %s\n", "active", s->syncookies_active ? "active" : "inactive"); + if (opts & PF_OPT_VERBOSE2) { + printf(" %-25s %d %%\n", "highwater", cookies->highwater); + printf(" %-25s %d %%\n", "lowwater", cookies->lowwater); + printf(" %-25s %d\n", "halfopen states", cookies->halfopen_states); + } printf("Reassemble %24s %s\n", s->reass & PF_REASS_ENABLED ? "yes" : "no", s->reass & PF_REASS_NODF ? "no-df" : "" diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 6b8fbf77fd29..de43570176cb 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -5918,6 +5918,7 @@ pf_getstatus(struct pfioc_nv *nv) nvlist_add_number(nvl, "reass", V_pf_status.reass); nvlist_add_bool(nvl, "syncookies_active", V_pf_status.syncookies_active); + nvlist_add_number(nvl, "halfopen_states", V_pf_status.states_halfopen); /* counters */ error = pf_add_status_counters(nvl, "counters", V_pf_status.counters, diff --git a/sys/netpfil/pf/pf_syncookies.c b/sys/netpfil/pf/pf_syncookies.c index b5e59178e7e8..c5ee64c6aed0 100644 --- a/sys/netpfil/pf/pf_syncookies.c +++ b/sys/netpfil/pf/pf_syncookies.c @@ -162,6 +162,8 @@ pf_get_syncookies(struct pfioc_nv *nv) V_pf_status.syncookies_mode == PF_SYNCOOKIES_ADAPTIVE); nvlist_add_number(nvl, "highwater", V_pf_syncookie_status.hiwat); nvlist_add_number(nvl, "lowwater", V_pf_syncookie_status.lowat); + nvlist_add_number(nvl, "halfopen_states", + atomic_load_32(&V_pf_status.states_halfopen)); nvlpacked = nvlist_pack(nvl, &nv->len); if (nvlpacked == NULL) From nobody Mon Nov 13 09:35:30 2023 X-Original-To: dev-commits-src-branches@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 4STPRl2CHjz50pqt; Mon, 13 Nov 2023 09:35:31 +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 4STPRl0ZsZz3cBm; Mon, 13 Nov 2023 09:35:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699868131; 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=vDsvs3GagEFNBi9pvsgAm92w0fAgysi6VrUtrU86+eU=; b=R+wut97oODxn0ld2YlE9s91/qc8J5mIl6F/GGpFHd8Ip29rjCmMa7NIL7YSaMmXUHX6p3R 0dc8lqqyJMd6Wj4+i8M6hu3lqFaYS8emsFUE9IqxhGkaVu3rs5cW1s2/cPDe8pjdrWC4kl j7LWP5xtSPi7Vsmp91e6gbklpFLe+jgXfVbp5sKf3vZKMWkxrgXJyg7KeC1M7BhjXmahKM AujpJCKmjnqEmxOOW80uM63qhju9El6MZMkH/b2G6KFwlXmuWhM+0QSw03y/dVHKy+AyQx DWvPLUrYNaiww1Z9klm81cCilBKF6v3Pagksv4brL70acOPK8PzIWYikXnC3Kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699868131; 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=vDsvs3GagEFNBi9pvsgAm92w0fAgysi6VrUtrU86+eU=; b=DLqI8WAL+y+30mzwLaYnJKq1TvWxs4VwM45WYwTInC+AziaN1NVsovfmqlqlfLiLIVDTTg ELMou9cu1lV5/G/2lmTB8hP3q4lYf8Q9PxrY+VrKjOmTU5OcT6k6qLHZBoYqWEClGE6ykS veVI4Vs3zry+mMGZ13ISP07t0k0aeS8yvce05DgHLa+vYPd9UQX1lBgRUzIe67oENAs/nA BEe50T9F8UjCaSuUWJgJHjck+xy9LwaGQGcsuUc8B3zDfRATqsM1MKWVGCfuoeNbbvUA0D eMJcdeO78L8yP8ly99Vk/4Lk5An6SJpbUqmtw3KrY2afBE/ZgnH/ToYiaOtb2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699868131; a=rsa-sha256; cv=none; b=LnQFE3c2kWlz7vz1GEWwc+2EUXcvLatfTDv9CWiVte4ug+TfanZaaZeE+DvZC1B7uXpm+F PITSbxFXRUcvi2WnPYiqIFsi49agE8KwYYdiZZ2ctCmM9HWQOZWy1kdhhHVZXOhWCHwYD/ JBdzuJ7nOrwOV5D+TwJjDcBtk2ylmGkufqtMiu09xO4p3Y9FlAJKFe1Wv//3qfgbGByEAc 4HaJMH5Q3RV3p9E1nBzNrAV0lWCGfHfjeYxUIF6VafUguD9DVVKDeBRWTGhJx3H6/+/MCL m4urmZLvQERamM3rWfknVJCVCKtiqc5BONqT1Uqgx+4WKBnRiQk0VfpqBKsAdw== 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 4STPRk6mVlz10XB; Mon, 13 Nov 2023 09:35:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AD9ZUd6075942; Mon, 13 Nov 2023 09:35:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AD9ZUEd075939; Mon, 13 Nov 2023 09:35:30 GMT (envelope-from git) Date: Mon, 13 Nov 2023 09:35:30 GMT Message-Id: <202311130935.3AD9ZUEd075939@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 221a60a426d7 - stable/13 - pf: expose more syncookie state information to userspace List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 221a60a426d7f73dc4ef021821bf81dd269ba943 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=221a60a426d7f73dc4ef021821bf81dd269ba943 commit 221a60a426d7f73dc4ef021821bf81dd269ba943 Author: Kristof Provost AuthorDate: 2023-11-06 21:20:32 +0000 Commit: Kristof Provost CommitDate: 2023-11-13 07:10:47 +0000 pf: expose more syncookie state information to userspace Allow userspace to retrieve low and high water marks, as well as the current number of half open states. MFC after: 1 week Sponsored by: Modirum MDPay (cherry picked from commit a6173e94635b03aa7aab90a67785c8c3e7c6247b) --- lib/libpfctl/libpfctl.c | 1 + lib/libpfctl/libpfctl.h | 1 + sbin/pfctl/pfctl_parser.c | 5 +++++ sys/netpfil/pf/pf_ioctl.c | 1 + sys/netpfil/pf/pf_syncookies.c | 2 ++ 5 files changed, 10 insertions(+) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 4dec539e250b..7fc22734994b 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -1145,6 +1145,7 @@ pfctl_get_syncookies(int dev, struct pfctl_syncookies *s) s->highwater = nvlist_get_number(nvl, "highwater") * 100 / state_limit; s->lowwater = nvlist_get_number(nvl, "lowwater") * 100 / state_limit; + s->halfopen_states = nvlist_get_number(nvl, "halfopen_states"); nvlist_destroy(nvl); diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index 32cd408c5919..78d981c2d769 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -286,6 +286,7 @@ struct pfctl_syncookies { enum pfctl_syncookies_mode mode; uint8_t highwater; /* Percent */ uint8_t lowwater; /* Percent */ + uint32_t halfopen_states; }; struct pfctl_status* pfctl_get_status(int dev); diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index ed152eca0010..74cb365d2370 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -627,6 +627,11 @@ print_status(struct pfctl_status *s, struct pfctl_syncookies *cookies, int opts) PFCTL_SYNCOOKIES_MODE_NAMES[cookies->mode]); printf(" %-25s %s\n", "active", s->syncookies_active ? "active" : "inactive"); + if (opts & PF_OPT_VERBOSE2) { + printf(" %-25s %d %%\n", "highwater", cookies->highwater); + printf(" %-25s %d %%\n", "lowwater", cookies->lowwater); + printf(" %-25s %d\n", "halfopen states", cookies->halfopen_states); + } } } diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 44b0bccc7489..639c2462fe75 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -4979,6 +4979,7 @@ pf_getstatus(struct pfioc_nv *nv) nvlist_add_number(nvl, "src_nodes", V_pf_status.src_nodes); nvlist_add_bool(nvl, "syncookies_active", V_pf_status.syncookies_active); + nvlist_add_number(nvl, "halfopen_states", V_pf_status.states_halfopen); /* counters */ error = pf_add_status_counters(nvl, "counters", V_pf_status.counters, diff --git a/sys/netpfil/pf/pf_syncookies.c b/sys/netpfil/pf/pf_syncookies.c index fb81f59097fb..17f5803e18f5 100644 --- a/sys/netpfil/pf/pf_syncookies.c +++ b/sys/netpfil/pf/pf_syncookies.c @@ -155,6 +155,8 @@ pf_get_syncookies(struct pfioc_nv *nv) V_pf_status.syncookies_mode == PF_SYNCOOKIES_ADAPTIVE); nvlist_add_number(nvl, "highwater", V_pf_syncookie_status.hiwat); nvlist_add_number(nvl, "lowwater", V_pf_syncookie_status.lowat); + nvlist_add_number(nvl, "halfopen_states", + atomic_load_32(&V_pf_status.states_halfopen)); nvlpacked = nvlist_pack(nvl, &nv->len); if (nvlpacked == NULL) From nobody Mon Nov 13 10:24:41 2023 X-Original-To: dev-commits-src-branches@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 4STQXT5zj0z5115q; Mon, 13 Nov 2023 10:24:41 +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 4STQXT5VlVz4FhH; Mon, 13 Nov 2023 10:24:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699871081; 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=bbn533hVMSEW5E1Wad2w+VeM6CIzE8SASgzD4YbQVzY=; b=qpEAW8z1RF04w3Lf3q3+iez8i0ivGd9nJa8e1eng/HysbVyoJ1atJv/XOQi/eCmeEqKJ/Y 5QtZVvDbNTR/d4WrhEnDWwHeMy54PnYYu6WGR8K4gYXvwuwf5Pmp4CEPKodLESh8fdtToP 7Lc4Nfg/8ytEffpG3HvvybAYlm4o6pk0uzFmr5zntvcax12Z21ot71O2WaDLjf5uaRA65d FXqyplzNACgau38G/mJ4m7TBTbVXVUh8P46+K6DCW1W2UlNMtSB3CIlgM8X11k6amZeMYy 3PPDdObdMAZ+46Frk/ov44rh7pR/0lw5Nk6G7Kb5ORkoBInWKxk59cOrAUqEfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699871081; 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=bbn533hVMSEW5E1Wad2w+VeM6CIzE8SASgzD4YbQVzY=; b=fHCrxuA3SW8s4C9unbrzlIpuGaYkdNfX2B+m2lb2ZtVhScUSg2nBWb2Uv8Zugnk5JPi7g8 LKmZvWLdCQ+vs89v2nRXlse923UG7Wd/DtLSo3yXLRVIk7+E0G32rNfm5Ndn+KXxxPKJVg gdNnXNozd1PwbDoyKTQzQhEN/RQFIIYrPPTFdWVhtl0FrhL4CTmgnHD0hLI4stHn6X7fwN HqIv4TVtlfOK3vNO8CsyR5OL+XsvD2K4H02wkuhv5QEUn+zGANNxY0ey485AdoqZsgJpdd u2dFTPWHrzkMHRikvJFaXA8PpTnw75U6yfbDsQfVFExzg5W8JsYyHqyk82ii7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699871081; a=rsa-sha256; cv=none; b=mClMblPMINQLjlCNT9GM+O/ykDYFMJMwpkI/p70caaNpCLBBYV9x70mQDDwtMbvLuD8Iig cDMLtOvIHCXrl35LwrLCrRQip5eEiG2uQYTFDQjOs6fu1y3/l9fliPpjW08+zs2YIiNXFY bovqlnu5P9FjQ7XON17uw6/jX+Bm1JHcNgE0sG3sc8TSYygHstP+u8efCUgJWRDZZjyWFA UD+DWwVtnUe+CDSGdtoOvMhRD3qRGZkdKnx81dxqAU3pCMMdM5KBAcdiwpLPRFIN0L7Zhb OpF4APbCRghWt+s1RGF0vl0keX7QFQFH+mNdFHqJnLVZC7Evjr5/qm6UCkA+hQ== 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 4STQXT4Z5yz11w5; Mon, 13 Nov 2023 10:24:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ADAOfct060328; Mon, 13 Nov 2023 10:24:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ADAOfQw060325; Mon, 13 Nov 2023 10:24:41 GMT (envelope-from git) Date: Mon, 13 Nov 2023 10:24:41 GMT Message-Id: <202311131024.3ADAOfQw060325@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 281f61d211b3 - stable/12 - bpf: Make dead_bpf_if const List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 281f61d211b38d95986d2cec97407e770313a087 Auto-Submitted: auto-generated The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=281f61d211b38d95986d2cec97407e770313a087 commit 281f61d211b38d95986d2cec97407e770313a087 Author: Zhenlei Huang AuthorDate: 2023-10-21 04:52:27 +0000 Commit: Zhenlei Huang CommitDate: 2023-11-13 10:22:41 +0000 bpf: Make dead_bpf_if const The dead_bpf_if is not subjected to be written. Make it const so that on destructive writing to it the kernel will panic instead of silent memory corruption. No functional change intended. Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42189 (cherry picked from commit 7a974a649848e1222a49d0d49726d06bd5c1dbd9) (cherry picked from commit 5d031613affa14b3de64f8cf9fed15604fb826d3) (cherry picked from commit 1e147980497b38d65cd72162c000c88507a7fa76) --- sys/net/bpf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/net/bpf.c b/sys/net/bpf.c index 5ca92a97f74f..47e41f3886cb 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -99,7 +99,7 @@ __FBSDID("$FreeBSD$"); MALLOC_DEFINE(M_BPF, "BPF", "BPF data"); -static struct bpf_if_ext dead_bpf_if = { +static const struct bpf_if_ext dead_bpf_if = { .bif_dlist = LIST_HEAD_INITIALIZER() }; @@ -2693,7 +2693,7 @@ bpfdetach(struct ifnet *ifp) */ BPFIF_WLOCK(bp); bp->bif_flags |= BPFIF_FLAG_DYING; - *bp->bif_bpf = (struct bpf_if *)&dead_bpf_if; + *bp->bif_bpf = __DECONST(struct bpf_if *, &dead_bpf_if); BPFIF_WUNLOCK(bp); CTR4(KTR_NET, "%s: sheduling free for encap %d (%p) for if %p", @@ -3046,7 +3046,7 @@ void bpfattach2(struct ifnet *ifp, u_int dlt, u_int hdrlen, struct bpf_if **driverp) { - *driverp = (struct bpf_if *)&dead_bpf_if; + *driverp = __DECONST(struct bpf_if *, &dead_bpf_if); } void From nobody Mon Nov 13 15:20:20 2023 X-Original-To: dev-commits-src-branches@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 4STY5c5TTKz515m0; Mon, 13 Nov 2023 15:20: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4STY5c3q4nz3T1X; Mon, 13 Nov 2023 15:20:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699888820; 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=bW07iWwN1/skoCyP4fCccXznKMPOsDlKIOpfxUQ7BP0=; b=NbwY6qdKlmiPVKpcTQK9u9rVRpVZXHeqzfPD/Z9oeBg6KQzGOKqYupseWcqsLujE8Qes0a a7qjWleEsnViqsMBhvgk/Tp2BdWi2Ym97ZvIP9hBFCA4Z3RMao6vM++2MJw1RGEVjsZw3E MMkvD+mEYJhNhNUpTmwGr3EN9+/cx9jLphOJGkzjwtsPihyWoUpHNrJj/CTeXQ8KmXH2Li Z8MCcca0DJhWerohWSZd24j8A2imaeiOH8xKJ5ziVdFXQmqxznJreiKozs8hFxkujx9Fwx KGsV36Q/I8yxv3bDvBbMbM0m6PdSQz9v8VwM92elsA/oQM1HTqtE0bvvX2gP9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699888820; 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=bW07iWwN1/skoCyP4fCccXznKMPOsDlKIOpfxUQ7BP0=; b=lDYSmMSIHhsFo28Y6ech/Hiq73hev20ed+jTctNS2mGzpEEZeLbTkzJp4cq2OZKe+iV9pP i86d8FhLthSk/G9YzCfutsxdZmfZmQ1DDK27ttJJSZf6FOZ/QdUEcRPlsuaDEPzgOEGLbe lUKLUTbVGKqGmFa+YR4kJkh2GuIJDf8Nh4aYTfcwIh0NwF2j9YOp1V50wKoclqSYEOr0bM me2W26OT2sPGYvplQ/KLDw6k5Ngl7lw9o9JA9BxScHJr5Xzi2wwx3dqznH+55Utk47/ZT3 3hViPniIdRfpb8z17yUkdHdyNV4Yz3rxBUNClF2BoIcE6gPg8q86QP5jCnNFbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699888820; a=rsa-sha256; cv=none; b=aHukXdcNUxUO4JD9Ieo8cyL0MupkjhDdnwQaGhp3pCXQK1hgxK/XkJbBcZvz4ZjENE07SR Xo6dNHWPb1o/jS4Vj4mkiRcNnVbQPKncWrxSZ/xFC16a+XBSup6dd/pEsA+pTQ/NF1O8qU vJFzcPxEYdzY2a4T7Qkxwm4IB4R1CYEhQccDPlGxEzB/ao/7ham9THaziBTNX1pWSUO/Cv HAVL0tuSpDYpO93RQFYK+0My+T5hxATrUP1tyF6gXSNholPrkhdCEpyQotWeU6AR0Msh1+ XzMUnTIM/BF+fzSstOQDTq2sW5EclSZFXvv/NvPjWQT0xcPQIrlt7+BHmf5uNA== 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 4STY5c2vqYz19KL; Mon, 13 Nov 2023 15:20:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ADFKKCw052405; Mon, 13 Nov 2023 15:20:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ADFKKLp052402; Mon, 13 Nov 2023 15:20:20 GMT (envelope-from git) Date: Mon, 13 Nov 2023 15:20:20 GMT Message-Id: <202311131520.3ADFKKLp052402@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: 95ddbac6d339 - stable/14 - crashinfo: Get local variable values in the gdb backtrace List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 95ddbac6d3390c2c722a7baf900f2dae10e91543 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=95ddbac6d3390c2c722a7baf900f2dae10e91543 commit 95ddbac6d3390c2c722a7baf900f2dae10e91543 Author: Mark Johnston AuthorDate: 2023-11-06 19:59:10 +0000 Commit: Mark Johnston CommitDate: 2023-11-13 14:41:44 +0000 crashinfo: Get local variable values in the gdb backtrace This should make crash reports a bit more useful without having to ask for additional information. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42465 (cherry picked from commit 3e356fb885f6a742c496cefd71d8d33564de542a) --- usr.sbin/crashinfo/crashinfo.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/crashinfo/crashinfo.sh b/usr.sbin/crashinfo/crashinfo.sh index 8a6981ba883c..92c843a86144 100755 --- a/usr.sbin/crashinfo/crashinfo.sh +++ b/usr.sbin/crashinfo/crashinfo.sh @@ -236,7 +236,7 @@ echo # kgdb via stdin and have to use a temporary file instead. file=`mktemp /tmp/crashinfo.XXXXXX` if [ $? -eq 0 ]; then - echo "bt" >> $file + echo "bt -full" >> $file echo "quit" >> $file ${GDB%gdb}kgdb $KERNEL $VMCORE < $file rm -f $file From nobody Mon Nov 13 15:20:21 2023 X-Original-To: dev-commits-src-branches@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 4STY5d65QKz515pM; Mon, 13 Nov 2023 15:20:21 +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 4STY5d4nq3z3TFK; Mon, 13 Nov 2023 15:20:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699888821; 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=IDOLAWhdnmQ2QkC56MXASswV70cPeYCdNuOQwrlGtx8=; b=mwWmgJd6DsJbEUZIh7P/jYwQXsjKVpnE4fDMG6E5IRnAj/EL/dvQJzvKQPUiA+AJDb4NXZ 33zzXFYlMgHnr114w1i7CeguvlZu7iNk/i/QSCYt11XO6VfvXWC0aFYeQwoVPgsU95GfSL Br9yPwNg/Y+e2gYZ4SRAFIl0MbBV3UzAHTadfZc8E3i3M/0D7BAiNvglVyUZQll9coubhq PfNAUvJU86oMdsU/8ZqoNHfa1ZPPRY+JyJH3FOxPO1Y5mVYrkYhsZVpDrC0im8eWV3Z71U gEWmeV4sg/O6MyUmj3C94tEPR4UgI56Hrl2VEpOgjkDtojgmk0OkoZ0EYxMN2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699888821; 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=IDOLAWhdnmQ2QkC56MXASswV70cPeYCdNuOQwrlGtx8=; b=VWTsdCe2pt8r/xxhH+lyYnXgIiNG/+xGVMVU+i750zLSnJnhWy37t1x0qOvg3D0OdMR5QE cbphwi9w9IVj8NrYomed6BDuA9Hc9Nu0JhWS6QOlKFEBQZoVg42eZFR8T/5igLAH3fFqby T1fSELQCQiWeb4/BT/q8OiZYBpPAByjQqllCWjn9ad6RsySE80fK3Xlm2rDZITH2R66HxT V7yexNO1HZ/tjJ22qUA2qpPuzn218/zI9mJXyQZnp3oGWvnr1m0DSJzmI4if1rmUzCvq+3 e6QcKpuruCQ87l8cz/NYNbi0WP8g8IFoZrLoUvCgNJyWrVbLkwRveJzrV3WbdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699888821; a=rsa-sha256; cv=none; b=emPLoflBACQrDOi6igca8ARThP4IQMr5NWEhBnI1azESLV9ePm5tZsKhJClAgAkFFr3CJe ate3hhcufalcq2ZvvsBbtGs71wwXyDOI9rAcf0pATNsghWtdtvFFoNl9d/mCtmNutrTi8w dKS7NyXXdh0xkrKlulP+G+/K33YT/QtTtCoSZ08jiwzNBPjPr6JsnlVbqvJ/pwxVJEvhKp UaNiTeObYLQ9V4ftpYmvE5AkEylHwaKtEwdTyHuO9HlvIkuR2kR4Jq+HN7mH3cbzY0I13J cZUbiucnyddnXyWDYP0+AMrRwGnzZUZRdOPj5yqmSfB2vsmPvtCCUTR2Ago8hw== 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 4STY5d3sdgz19KM; Mon, 13 Nov 2023 15:20:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ADFKLvl052457; Mon, 13 Nov 2023 15:20:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ADFKL4n052454; Mon, 13 Nov 2023 15:20:21 GMT (envelope-from git) Date: Mon, 13 Nov 2023 15:20:21 GMT Message-Id: <202311131520.3ADFKL4n052454@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: 766cceba19fe - stable/14 - e6000sw: Fix locking in miibus_{read,write}reg implementations List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 766cceba19fe05095d81994e930a489ad545d42b Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=766cceba19fe05095d81994e930a489ad545d42b commit 766cceba19fe05095d81994e930a489ad545d42b Author: Mark Johnston AuthorDate: 2023-11-06 19:57:56 +0000 Commit: Mark Johnston CommitDate: 2023-11-13 14:41:50 +0000 e6000sw: Fix locking in miibus_{read,write}reg implementations Commit 469290648005e13b819a19353032ca53dda4378f made e6000sw's implementation of miibus_(read|write)reg assume that the softc lock is held. I presume that is to avoid lock recursion in e6000sw_attach() -> e6000sw_attach_miibus() -> mii_attach() -> MIIBUS_READREG(). However, the lock assertion in e6000sw_readphy_locked() can fail if a different driver uses the interface to probe registers. Work around the problem by providing implementations which lock the softc if it is not already locked. PR: 274795 Fixes: 469290648005 ("e6000sw: add readphy and writephy wrappers") Reviewed by: kp, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42466 (cherry picked from commit 725962a9f4c050b21488edd58d317e87c76d6f66) --- sys/dev/etherswitch/e6000sw/e6000sw.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/sys/dev/etherswitch/e6000sw/e6000sw.c b/sys/dev/etherswitch/e6000sw/e6000sw.c index 768d1b927e3e..95f1a2e96db6 100644 --- a/sys/dev/etherswitch/e6000sw/e6000sw.c +++ b/sys/dev/etherswitch/e6000sw/e6000sw.c @@ -66,6 +66,7 @@ MALLOC_DEFINE(M_E6000SW, "e6000sw", "e6000sw switch"); #define E6000SW_UNLOCK(_sc) sx_unlock(&(_sc)->sx) #define E6000SW_LOCK_ASSERT(_sc, _what) sx_assert(&(_sc)->sx, (_what)) #define E6000SW_TRYLOCK(_sc) sx_tryxlock(&(_sc)->sx) +#define E6000SW_LOCKED(_sc) sx_xlocked(&(_sc)->sx) #define E6000SW_WAITREADY(_sc, _reg, _bit) \ e6000sw_waitready((_sc), REG_GLOBAL, (_reg), (_bit)) #define E6000SW_WAITREADY2(_sc, _reg, _bit) \ @@ -169,8 +170,8 @@ static device_method_t e6000sw_methods[] = { DEVMETHOD(bus_add_child, device_add_child_ordered), /* mii interface */ - DEVMETHOD(miibus_readreg, e6000sw_readphy_locked), - DEVMETHOD(miibus_writereg, e6000sw_writephy_locked), + DEVMETHOD(miibus_readreg, e6000sw_readphy), + DEVMETHOD(miibus_writereg, e6000sw_writephy), /* etherswitch interface */ DEVMETHOD(etherswitch_getinfo, e6000sw_getinfo), @@ -744,17 +745,20 @@ e6000sw_write_xmdio(device_t dev, int phy, int devaddr, int devreg, int val) return (0); } -static int e6000sw_readphy(device_t dev, int phy, int reg) +static int +e6000sw_readphy(device_t dev, int phy, int reg) { e6000sw_softc_t *sc; - int ret; + int locked, ret; sc = device_get_softc(dev); - E6000SW_LOCK_ASSERT(sc, SA_UNLOCKED); - E6000SW_LOCK(sc); + locked = E6000SW_LOCKED(sc); + if (!locked) + E6000SW_LOCK(sc); ret = e6000sw_readphy_locked(dev, phy, reg); - E6000SW_UNLOCK(sc); + if (!locked) + E6000SW_UNLOCK(sc); return (ret); } @@ -795,17 +799,20 @@ e6000sw_readphy_locked(device_t dev, int phy, int reg) return (val & PHY_DATA_MASK); } -static int e6000sw_writephy(device_t dev, int phy, int reg, int data) +static int +e6000sw_writephy(device_t dev, int phy, int reg, int data) { e6000sw_softc_t *sc; - int ret; + int locked, ret; sc = device_get_softc(dev); - E6000SW_LOCK_ASSERT(sc, SA_UNLOCKED); - E6000SW_LOCK(sc); + locked = E6000SW_LOCKED(sc); + if (!locked) + E6000SW_LOCK(sc); ret = e6000sw_writephy_locked(dev, phy, reg, data); - E6000SW_UNLOCK(sc); + if (!locked) + E6000SW_UNLOCK(sc); return (ret); } From nobody Mon Nov 13 15:21:14 2023 X-Original-To: dev-commits-src-branches@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 4STY6f4dTRz515kD; Mon, 13 Nov 2023 15:21:14 +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 4STY6f4Bv6z3Tk2; Mon, 13 Nov 2023 15:21:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699888874; 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=KUzTQlz/Ne3M3NDg2XHT6S5/3zuDNNAotQwFlD/Orqo=; b=Jzo2tLi/PoPlpi4FMIYZxkMJsjkr/4gA7pte42+mb6pL0jkuZLwXUb6tjJA3LNu2i16B1/ cSTIFj5APPvVy0P7xL4h38sLyOcCHcCeM5VDfmnSgfitM1eauRc1Y9HKwS2Dju3c+Etz7p 7RLop1BOVaKeQa71dXszqc62R4tV+czx/wGF93YbtnMrtcN7Ly1QCAQuLw8OcW5W7mfmEg T8Epgf46psKG+Ny7fD9XfK36jfAC1I8rga64ivUOx2KusflE1GbwA8MgL8UHu2ZfzEzDKu MnPxZOYQINVbiXft001jIivRZcvNh9c2Otj5aD827RtAlBJyIrAm1Rf9jMkQgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699888874; 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=KUzTQlz/Ne3M3NDg2XHT6S5/3zuDNNAotQwFlD/Orqo=; b=O0V1pM0GHjMNrJc2E5n48vRvk1a2pJqjz6CIxrSYrpkzfR3lIXrINlCrBVe+AlQuzj4+7I ycnzwcCHFYl4Y7INFPq9adDwZ6YPhjPsD+ZFvCu9b410vvJwO2zzBXMaIlvSeL9Gt2GmiG bmn3v5CxfHiy0EGOBc7QMhPUUGozlhFheVCsAfPeNMjKBiIhKsGPrNX5aPd/zdPTxTs0Uz PpwYeOq721lwzuEQdmtUuxa6sTihhAHDdT4Hbc9jO6P/CfcPWeu9ziZugTVg8w9ofE+7qz V/n7P0KOVgr868zKX3fyQBbUAfh7fOlLa3EqMR7TO21dNgi/6zguJp2P3tH9mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699888874; a=rsa-sha256; cv=none; b=I+HDU0RV0/x1urQ/jpQHczzclXMO54UEOXbq2k37aGL1aBWe581fF/8ffc6P8GXf9hGgG4 Qiu6ndxNsQoSbMwexb6/N4fD2PEgErmEs050r7XYAx/xaXtfxQA/sYt8OabmVmel87y+m1 IkdkrcPjRdZdgAyLdqwMXK7hlxVf8/38KxR8pxZuJm7LYcZrTlSZjLOpEs+biD7pSudYVW 8dU1mid/G5mSJHfzwCKOpRj2abWzwamFBQ83CuceEalVQymizpCLojt6PP9e3darGGxRw+ GN7GlBXdnkQYBo73YqNib5KIoKc4p21ah1qTJQj507qL0idfAsvSZkWLLQkd+Q== 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 4STY6f3Fmcz19VX; Mon, 13 Nov 2023 15:21:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ADFLEWK053887; Mon, 13 Nov 2023 15:21:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ADFLEWi053884; Mon, 13 Nov 2023 15:21:14 GMT (envelope-from git) Date: Mon, 13 Nov 2023 15:21:14 GMT Message-Id: <202311131521.3ADFLEWi053884@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: 29667c6fcc36 - stable/13 - ping: Avoid reporting NaNs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 29667c6fcc36de5cf28942bd72e5b5f5926d19f5 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=29667c6fcc36de5cf28942bd72e5b5f5926d19f5 commit 29667c6fcc36de5cf28942bd72e5b5f5926d19f5 Author: Jose Luis Duran AuthorDate: 2023-10-06 17:55:06 +0000 Commit: Mark Johnston CommitDate: 2023-11-13 15:20:50 +0000 ping: Avoid reporting NaNs Avoid calculating the square root of negative zero, which can easily happen on certain architectures when calculating the population standard deviation with a sample size of one, e.g., 0.01 - (0.1 * 0.1) = -0.000000. Avoid returning a NaN by capping the minimum possible variance value to zero (positive). In the future, maybe skip reporting statistics at all for a single sample. Reported by: Jenkins Reviewed by: asomers MFC after: 1 week Pull Request: https://github.com/freebsd/freebsd-src/pull/863 Differential Revision: https://reviews.freebsd.org/D42114 (cherry picked from commit 4d348e83b738347f6aaf2b110459a01c5402d04e) --- sbin/ping/ping.c | 4 ++-- sbin/ping/ping6.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sbin/ping/ping.c b/sbin/ping/ping.c index f248a0eb738c..e121ebdb19e2 100644 --- a/sbin/ping/ping.c +++ b/sbin/ping/ping.c @@ -1521,10 +1521,10 @@ finish(void) if (nreceived && timing) { double n = nreceived + nrepeats; double avg = tsum / n; - double vari = tsumsq / n - avg * avg; + double stddev = sqrt(fmax(0, tsumsq / n - avg * avg)); (void)printf( "round-trip min/avg/max/stddev = %.3f/%.3f/%.3f/%.3f ms\n", - tmin, avg, tmax, sqrt(vari)); + tmin, avg, tmax, stddev); } if (nreceived) diff --git a/sbin/ping/ping6.c b/sbin/ping/ping6.c index 432a59bf1303..0edeb01b2dc0 100644 --- a/sbin/ping/ping6.c +++ b/sbin/ping/ping6.c @@ -2349,10 +2349,10 @@ summary(void) /* Only display average to microseconds */ double num = nreceived + nrepeats; double avg = tsum / num; - double dev = sqrt(tsumsq / num - avg * avg); + double stddev = sqrt(fmax(0, tsumsq / num - avg * avg)); (void)printf( "round-trip min/avg/max/std-dev = %.3f/%.3f/%.3f/%.3f ms\n", - tmin, avg, tmax, dev); + tmin, avg, tmax, stddev); (void)fflush(stdout); } (void)fflush(stdout); From nobody Mon Nov 13 15:21:15 2023 X-Original-To: dev-commits-src-branches@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 4STY6g5nFbz5160N; Mon, 13 Nov 2023 15:21:15 +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 4STY6g54Djz3TyY; Mon, 13 Nov 2023 15:21:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699888875; 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=eGzpKtxa4nRFzz1ETMne6Ggf07bwnWmvaGZL02hT+z4=; b=WhsNiqG34s6zlI6G6VzTHY1ZataFK7Tv7kt81/Q4PUEJWq303qb/TUZ8aVqp4KXb1Ad5qz q75V22znx9w209KxekTsqRpFOTJv0TsU3J5UrB0wrLRoSCOsF+dzHwkMD9k94DKLOyGyfm UNnMzsb0tQBNv+Vc49nNDxJrwzXRLTs5qcX6Yx8Hff+CiY9CFZzz0MLsI3cmBNohwtkleh Kvao3JWiZdGKJURRCMaJ/gbYuxToYZixvPvNyiMOe6pyJz3f28nK9vXzA0D3va6V+k8RNG XORBBdvBDTLuJGc0RU66Uwedtzcgxcmtj6dEZnU0I3L2gfeiae8fkaz/+PdleQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699888875; 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=eGzpKtxa4nRFzz1ETMne6Ggf07bwnWmvaGZL02hT+z4=; b=RpYuw0afzbHHpWF8ZoE2X1kc5pSp+Tmy5KKwZODYtoFLnh4CLbhKsUVckPoILO2rrTMIeg GzsEH5TDyJjG8QRypPcRG8p8Zoieb+qZPwxXEK9nf5BGWo6RVUSlSL7JmloyBVwiL30VxO fqyeLIYETKX8rOY7gwuKW666Yv+mLG08vQMOQzeK+Px0OpzPmX8LVzmLqH2KmZX/aRuI/7 Ml3NaLda2f83F4IQ6oGsOebEB4figuM6CwuDn8OLG5c+7KvZDkeeXtqLmLt2tM1rRY5uLG zX/cilhaW6SMr2dgaL5QqLVXU1O+3iM0y7Ct5TlKOcsEXP/462E27EegqR6Lpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699888875; a=rsa-sha256; cv=none; b=br6OMA+DkZP6eBfFvH1XYCxzPunQOJ0+ZzULZVX1u+Ldp7AYa0mzuglaeIUcyE+RngoPWH mwvTaaDqXyouQFM0oIcAsdkWMKgWpEjmzWrfkNq4L1tSyoYW52/hBpPOSx6P0f5nMNoWYZ pQpbb7ZCU30sUpQhxaW+SweYJeLc9lfmy40RFIu3trF4BJw1zyIgx/FmN8oAnbihvRlg2p cMit+45IdikQjXUrSNmhMLfsOiLM5aUs5vdOaw0o4/xjZI1XjZ2HvC7A2QYvb4fqzAvtud SMawjam+P4tmGvELJhWkybql6+l71hcNQOWP4f4F+qLPKIY7NcEpsEhXfCzmUg== 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 4STY6g48cfz18N7; Mon, 13 Nov 2023 15:21:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ADFLFfe053941; Mon, 13 Nov 2023 15:21:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ADFLFfk053938; Mon, 13 Nov 2023 15:21:15 GMT (envelope-from git) Date: Mon, 13 Nov 2023 15:21:15 GMT Message-Id: <202311131521.3ADFLFfk053938@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: e26e6a98d4b9 - stable/13 - crashinfo: Get local variable values in the gdb backtrace List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: e26e6a98d4b974c5b950fdaa7df0d208e7dd4b39 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e26e6a98d4b974c5b950fdaa7df0d208e7dd4b39 commit e26e6a98d4b974c5b950fdaa7df0d208e7dd4b39 Author: Mark Johnston AuthorDate: 2023-11-06 19:59:10 +0000 Commit: Mark Johnston CommitDate: 2023-11-13 15:20:50 +0000 crashinfo: Get local variable values in the gdb backtrace This should make crash reports a bit more useful without having to ask for additional information. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42465 (cherry picked from commit 3e356fb885f6a742c496cefd71d8d33564de542a) --- usr.sbin/crashinfo/crashinfo.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/crashinfo/crashinfo.sh b/usr.sbin/crashinfo/crashinfo.sh index 8a6981ba883c..92c843a86144 100755 --- a/usr.sbin/crashinfo/crashinfo.sh +++ b/usr.sbin/crashinfo/crashinfo.sh @@ -236,7 +236,7 @@ echo # kgdb via stdin and have to use a temporary file instead. file=`mktemp /tmp/crashinfo.XXXXXX` if [ $? -eq 0 ]; then - echo "bt" >> $file + echo "bt -full" >> $file echo "quit" >> $file ${GDB%gdb}kgdb $KERNEL $VMCORE < $file rm -f $file From nobody Mon Nov 13 21:58:41 2023 X-Original-To: dev-commits-src-branches@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 4STjxG20bhz50rQG; Mon, 13 Nov 2023 21:58:42 +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 4STjxG1YpVz3VCj; Mon, 13 Nov 2023 21:58:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699912722; 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=xDY+v2qar3h7yuUDPvC/KwK5S2T8xj4x3CR9PLWhfVE=; b=L4mQu1pGUlteCgQ+IuRuq/sUUC1vzoUiL0h4jJjfKUCxbvJTOwTqH2TTDpH3F9ZWmuloof TWxVWBG03I6GQ5lDn3nodHexYTxAx5ZAw9OSCZ6QAat6aXJyY9l2VZYDzMsuCVRB3OGoG1 WM8cqc0YgYknI/h9zSvgiP0xLM+R/L8tCB31FcqX1GwkGH9GPg0oNJ4A1BrxF7PcvZpUMG tNICBQpn0GLRG0mJxbAilqpozx7uT5TY3J5RBcGOMRj5UcEwxFl/DLl7OvP8C0P0Jm3nnm BSyUlwwRiLPv1OWDMUaf0Dz/hEtUxrgvaIvnRTMKGjs1R8F2Am7+UcLMsZLRzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699912722; 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=xDY+v2qar3h7yuUDPvC/KwK5S2T8xj4x3CR9PLWhfVE=; b=fW/LId4T1gPemqaBHCwKD2L7/By58YQ8zYvi3M5huFWMil7X2JftiL4VuAwFVCAcDllVN7 OgEC+VT2bKIjFi406BJSgw3Serp2fdTOyRAWCF5lfDix94PELDKbJz6trgak8JCwOm5xRu P94jWyN9MXOcQxI5pOorvW8M3aN1Z7cZwiFjANVJI7yDJP3BfvBYhCE4W6c4HNO7fDBKZn gWDYKGrGPPqYUu75dhSgUxasdRXXQX1LALQvEh/1zOZHeTY3LYRojM+kcJY4a002QPaJGK 0sr/fELwl7Dl+sL9c2JxM/XN0M//gRRsKt+c8L2EiOJk0ZLU26vxv7kpC18kZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699912722; a=rsa-sha256; cv=none; b=SEBHPqW8IxSHiGND/kFlHzTO3gWTzwUCShGKWjk+XLayO0vge/ciBr08iWjpgA8u1AF0+D F9rtIODpmrcO3mkBWj+w0TE5PpsFZ/r8T4vX4EuPM1P0TiFLPcqysZ/UkqYj1gCvx1beh6 X14wroQ5PQBvQL3QOxwDKYGeM6x4egpHXt4vefa4mg1t+bZxUfXhDB5eBJ3nXLrzGzku0x M0KnNDovEvL0I0E3acyDHzBvB+QchTAZTEznVScpXPTLh2R9ksahqsBCYb+iEXslwY4Wjq 0RlQt6owxl8e9tsCecVwAtLnH+CtdDMIgNNZMXC2oW4srPE0GV2b/oB/HtGPqA== 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 4STjxG0dRsz7j4; Mon, 13 Nov 2023 21:58:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ADLwfqr012597; Mon, 13 Nov 2023 21:58:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ADLwfJ6012594; Mon, 13 Nov 2023 21:58:41 GMT (envelope-from git) Date: Mon, 13 Nov 2023 21:58:41 GMT Message-Id: <202311132158.3ADLwfJ6012594@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Brooks Davis Subject: git: 20ae9946c33f - stable/13 - procctl.2: improve phrasing for ASLR disable List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 20ae9946c33f7d71c6d08c0a69d758a5db3ccad3 Auto-Submitted: auto-generated The branch stable/13 has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=20ae9946c33f7d71c6d08c0a69d758a5db3ccad3 commit 20ae9946c33f7d71c6d08c0a69d758a5db3ccad3 Author: Brooks Davis AuthorDate: 2023-10-26 17:38:14 +0000 Commit: Brooks Davis CommitDate: 2023-11-13 21:53:19 +0000 procctl.2: improve phrasing for ASLR disable Reported by: jrtc27 Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D42364 (cherry picked from commit 4894205482555447c6b3372598c7589a66596724) --- lib/libc/sys/procctl.2 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/libc/sys/procctl.2 b/lib/libc/sys/procctl.2 index 291a85a05fb4..f6af85a873f6 100644 --- a/lib/libc/sys/procctl.2 +++ b/lib/libc/sys/procctl.2 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 15, 2023 +.Dd October 26, 2023 .Dt PROCCTL 2 .Os .Sh NAME @@ -85,8 +85,8 @@ Controls the Address Space Layout Randomization (ASLR) in the program images created by .Xr execve 2 -in the specified process or its descendants that did not changed -the control nor modified it by other means. +in the specified process or its descendants that do not either change +the control or modify it by other means. The .Fa data parameter must point to the integer variable holding one of the following From nobody Mon Nov 13 21:58:43 2023 X-Original-To: dev-commits-src-branches@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 4STjxH3Ldmz50rKs; Mon, 13 Nov 2023 21:58:43 +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 4STjxH2Tbbz3V9r; Mon, 13 Nov 2023 21:58:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699912723; 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=WQxQ8QAICvhX8buCa3FufPe46+gdzguuIbrBU4xoI7A=; b=J0ekRi0Lljyr654O8wC15mJa3HgG4U7Be9+n3ibq8Z+nKTJDGlXx7VP+VXtKbofzpvho2V +Kd57ZUj3f12JX1DUkPlR4DQRs5ywJv97g6XWCdx8F8uisZ3uM/HeqNTc14xjgJ8ir9IdM KuwkWmodzLJx77x7n7xFLTATxeCjQWIEs5LRWKiBe8lbZDvWC1acnA2l82s6uGxAyd3STC ciPU81kK8M6H3UOxkvCimLlqpvj1o3iyS7OwE1HLvnZh1R8EMjg9fF2GEre6q0Z+F69ryG ruDWp7+iuzKqbsj7KdSyC5ieBpfMr5bU9EvJYU5eHA6CWGQaUb2mfPEAKBHtlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699912723; 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=WQxQ8QAICvhX8buCa3FufPe46+gdzguuIbrBU4xoI7A=; b=RDxdiURYM3dzZ/EYepScLzMQM383TQxCEe8nRvrnH5jO2WMxvjjlDaQ1cqhbl0nRXC8Qno nKLtwr1YaB63guB28tj859U5L1byyG7kxJ2PWx2eMu70Ysv8iePrNlM7yfg51Bf1gUjyWM J/Hc9poG66P2pLPbgdc2n6kqeMAGGzmyYPN/Jmb+K4CmVC50BO1xQKWhWcPXzq5c5WN0a9 hupzg6emGkVpzvDnrTuLowHrF5iPfmvamT8r4brvQkahBSg6Ujh4NW09mbubcJQ5V3FjYN wO85fEfYjslW1DV8jnuFM+oSBAK/53+QeYlRIEKXmMIQJVH16nXXI0sUA2lARw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699912723; a=rsa-sha256; cv=none; b=JErFvyUbfHZmRzFawuu0r3WOmVh1LEAe4Cnbs9QxB+OsEINog5czYOtE873Wby6db0IIWo rUvjKEFG/3FRoKqA5mbYm03gfsXmqZfvETGCZ0OYBQYIxolImewlOCuQEuJPoZN6FBQhYr +v2RjUeiyPD+Lek4FxEEid634AoKeS9tqoOQASc/44E4F8x7d9TMFydnmH1WI/GdyU2Lf7 YGMq7Qc0BX8SQ9GYYNgYe3n1Cuc7u9h01Wtw7K6WU9HywQi3ZJMeeV/2ny4xuVm0gYnG2X sjYW9y2XKHDseEPFdWwvomFplJ/9wSzr0PXob2ztxxTsIbbjRgsUWdTSZdWQow== 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 4STjxH1SLgz7PB; Mon, 13 Nov 2023 21:58:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ADLwhPL012636; Mon, 13 Nov 2023 21:58:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ADLwhrF012633; Mon, 13 Nov 2023 21:58:43 GMT (envelope-from git) Date: Mon, 13 Nov 2023 21:58:43 GMT Message-Id: <202311132158.3ADLwhrF012633@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Brooks Davis Subject: git: 8e7cdfe45697 - stable/13 - auxv: make AT_BSDFLAGS unsigned List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8e7cdfe45697b1cc829af09d59ca0ccbac32170b Auto-Submitted: auto-generated The branch stable/13 has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=8e7cdfe45697b1cc829af09d59ca0ccbac32170b commit 8e7cdfe45697b1cc829af09d59ca0ccbac32170b Author: Brooks Davis AuthorDate: 2023-10-26 17:38:35 +0000 Commit: Brooks Davis CommitDate: 2023-11-13 21:53:19 +0000 auxv: make AT_BSDFLAGS unsigned AT_BSDFLAGS shouldn't be sign extended on 64-bit systems so use a uint32_t instead of an int. Reviewed by: imp, kib Differential Revision: https://reviews.freebsd.org/D42365 (cherry picked from commit 326bf5089ca788d5ff1951eed7a9067281a2b65e) --- sys/kern/imgact_elf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 6ab16e6cfb0c..c23d729f49b2 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -1439,7 +1439,8 @@ __elfN(freebsd_copyout_auxargs)(struct image_params *imgp, uintptr_t base) Elf_Auxinfo *argarray, *pos; struct vmspace *vmspace; rlim_t stacksz; - int error, bsdflags, oc; + int error, oc; + uint32_t bsdflags; argarray = pos = malloc(AT_COUNT * sizeof(*pos), M_TEMP, M_WAITOK | M_ZERO); From nobody Tue Nov 14 00:27:24 2023 X-Original-To: dev-commits-src-branches@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 4STnDr2cYcz50MgF; Tue, 14 Nov 2023 00:27:24 +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 4STnDr284Xz4MFK; Tue, 14 Nov 2023 00:27:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699921644; 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=tJkXn6ZnLfha1MhzbNxNv3wv+t2yIO/D3JhTfTd6b5k=; b=mgeS0Z3Pf21NZDi7AJv9UHyZ9GxfQwG762H8/wgztKdb4oWn4v5ar4cbjnl5Cphj+JRGXW s+t/XqBVwDl+hUKxEBFgd7kGWHlCcFOX6UdZVxYefqsW4xf+afvBQqRO++x4KeZjCoV95/ HVWAg+NJw9FQqS7i8RYfchXOFgpTSgfWVmQvASOrcgZb0lhRR0iQbe98eiJS1Z1Ux9a+U6 BSdinaWQllMFWi+tNUnBANvGGmkAoIfa7qvDfUKoPevRidqWXpCTKyh46chzkmazU6e2+y gFLLhvaw8b3WoVMy89KSKllCIgWbVkTWUfxkPWCHi/WfEg9Msgm510DOyu03TA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699921644; 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=tJkXn6ZnLfha1MhzbNxNv3wv+t2yIO/D3JhTfTd6b5k=; b=pDzVIjhPFUukkdkkYxL7eFLDeiy3rFjY5WmetQ/wZaDW2HpoAHVaxMTTllEgRnJkD5HdmR R6rYp0eIkkTDO3h2rUlRiDuLIb9LpnzVy3wXhMtXIUiBQ9cl3p7ruo9X5+/IlTUTqWlntl aZ5Q0dY8Lzn3oAEU3hwlcWFoWFgal9tS+3OYv1l0Alu1S/z2oxsDtwOft5F9KrukAQJsha ZMptOCYK2q0FKjj7NvUw5KP2n/5pVqLMCrIW6hDnAArwt1NVCVhhOdVFeTYx0fnvdV7Yhz LmCf23SAmWbKdTNCDRlBbJg42IJIOsNcRdBh7ibdr9kxwLuEdu7afZZirRgpeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699921644; a=rsa-sha256; cv=none; b=dghTybdzDe/L8dcpj5/kEppfKUIAY5jQ0kc1PPxraqHZ5xu3fHXpbJF1PyBKD0Ss66vRnv 6wMd03geYHHbChY7iIHKjWqcRIHfLfZIgUCHiAZgCU0tqh+zZf4C1gna1cdy3wcohZfAEC v1WK40p5mNc6WjyXg06AY41W+Xfx+2wU6guRKNukdnMRwWbgNjEUHt0aQmGrmpvaTttelc RYny+5CbX6HZ5DoknDKE5IUg8xKsK8ouU19sGbi4SV2zSnf9+GfkKoJZpSZK0mtl5nJ+EX +H/xDfjFQTycjHkeYXnN9ZcRv2HAe7Fk6LdyEIP1Ut0J77TUDrNThCuZ/cEK/Q== 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 4STnDr1BzbzBwq; Tue, 14 Nov 2023 00:27:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AE0ROZj064281; Tue, 14 Nov 2023 00:27:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AE0ROEj064278; Tue, 14 Nov 2023 00:27:24 GMT (envelope-from git) Date: Tue, 14 Nov 2023 00:27:24 GMT Message-Id: <202311140027.3AE0ROEj064278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: f15252b4fa02 - stable/14 - linuxkpi: races between linux_queue_delayed_work_on() and linux_cancel_delayed_work_sync() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: f15252b4fa0276aa76490e6fb915e95dc5b4e0ef Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f15252b4fa0276aa76490e6fb915e95dc5b4e0ef commit f15252b4fa0276aa76490e6fb915e95dc5b4e0ef Author: Konstantin Belousov AuthorDate: 2023-11-04 07:45:48 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-13 22:29:30 +0000 linuxkpi: races between linux_queue_delayed_work_on() and linux_cancel_delayed_work_sync() (cherry picked from commit 05fe82455f263ad107a860ce20dd89e1a5c1619c) --- sys/compat/linuxkpi/common/src/linux_work.c | 36 ++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_work.c b/sys/compat/linuxkpi/common/src/linux_work.c index 990ba5d20fd5..888ac97dbff6 100644 --- a/sys/compat/linuxkpi/common/src/linux_work.c +++ b/sys/compat/linuxkpi/common/src/linux_work.c @@ -221,16 +221,19 @@ linux_queue_delayed_work_on(int cpu, struct workqueue_struct *wq, [WORK_ST_EXEC] = WORK_ST_TIMER, /* start timeout */ [WORK_ST_CANCEL] = WORK_ST_TIMER, /* start timeout */ }; + bool res; if (atomic_read(&wq->draining) != 0) return (!work_pending(&dwork->work)); + mtx_lock(&dwork->timer.mtx); switch (linux_update_state(&dwork->work.state, states)) { case WORK_ST_EXEC: case WORK_ST_CANCEL: if (delay == 0 && linux_work_exec_unblock(&dwork->work) != 0) { dwork->timer.expires = jiffies; - return (true); + res = true; + goto out; } /* FALLTHROUGH */ case WORK_ST_IDLE: @@ -240,20 +243,21 @@ linux_queue_delayed_work_on(int cpu, struct workqueue_struct *wq, if (delay == 0) { linux_delayed_work_enqueue(dwork); } else if (unlikely(cpu != WORK_CPU_UNBOUND)) { - mtx_lock(&dwork->timer.mtx); callout_reset_on(&dwork->timer.callout, delay, &linux_delayed_work_timer_fn, dwork, cpu); - mtx_unlock(&dwork->timer.mtx); } else { - mtx_lock(&dwork->timer.mtx); callout_reset(&dwork->timer.callout, delay, &linux_delayed_work_timer_fn, dwork); - mtx_unlock(&dwork->timer.mtx); } - return (true); + res = true; + break; default: - return (false); /* already on a queue */ + res = false; + break; } +out: + mtx_unlock(&dwork->timer.mtx); + return (res); } void @@ -467,8 +471,8 @@ linux_cancel_delayed_work(struct delayed_work *dwork) * fashion. It returns non-zero if the work was successfully * cancelled. Else the work was already cancelled. */ -bool -linux_cancel_delayed_work_sync(struct delayed_work *dwork) +static bool +linux_cancel_delayed_work_sync_int(struct delayed_work *dwork) { static const uint8_t states[WORK_ST_MAX] __aligned(8) = { [WORK_ST_IDLE] = WORK_ST_IDLE, /* NOP */ @@ -478,7 +482,6 @@ linux_cancel_delayed_work_sync(struct delayed_work *dwork) [WORK_ST_CANCEL] = WORK_ST_IDLE, /* cancel and drain */ }; struct taskqueue *tq; - bool retval = false; int ret, state; bool cancelled; @@ -490,7 +493,7 @@ linux_cancel_delayed_work_sync(struct delayed_work *dwork) switch (state) { case WORK_ST_IDLE: mtx_unlock(&dwork->timer.mtx); - return (retval); + return (false); case WORK_ST_TIMER: case WORK_ST_CANCEL: cancelled = (callout_stop(&dwork->timer.callout) == 1); @@ -512,6 +515,17 @@ linux_cancel_delayed_work_sync(struct delayed_work *dwork) } } +bool +linux_cancel_delayed_work_sync(struct delayed_work *dwork) +{ + bool res; + + res = false; + while (linux_cancel_delayed_work_sync_int(dwork)) + res = true; + return (res); +} + /* * This function waits until the given work structure is completed. * It returns non-zero if the work was successfully From nobody Tue Nov 14 00:27:25 2023 X-Original-To: dev-commits-src-branches@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 4STnDs4HQbz50Mm5; Tue, 14 Nov 2023 00:27:25 +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 4STnDs3KSBz4MQW; Tue, 14 Nov 2023 00:27:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699921645; 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=76X4QA4wJ3a9bmWcbNkyFVE/gLy4DVQeh/is0rA1WXo=; b=PzWpsTMeJO49UFp7UdfM9OzMrEPy/GLyqyD1CAHIohG5rLTkhBpIDt53a/8l7AwFlU9TAx 3hJVvoJikvQA5E5NIiTntyJJDtTRYuyPsfZm9bwsGOM1H8C/gkO10xnZPCEJxEFzoiZq9W RZ8CEVJ0kud/8a/ZSqDMfoX+KKjjHcRG7ha737fUR6gbVir5Q9s/OkY9PHyRvN/0TxsF2H e0MxrMZXiejOKXDpf0PgPA3I/UC3bri/7H6FNd0OYY2CffZBwhSZp5nE9kgdIaU8wBG+UO Dj8QE0CVxWaYBYdzNvp5mSpcLCGLr56rkbE+QoeTRqn3BnycPLDXzwOXe98y+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699921645; 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=76X4QA4wJ3a9bmWcbNkyFVE/gLy4DVQeh/is0rA1WXo=; b=L9DZd1A0mKhcHyUBZ3iCH8/t6fIruZXxBq1U0oDW3nHqvw0dWmsjVmo0JEQ0n0kjfI4e3F f6IjWzYx6Piq0EJpew9HmtqAoQsktjgxYCYWfNzAlj724oRsomRFDD68lMLLF3uCu0Lbq9 ZiE2MqPcjdRw4hfpAp9/xhhLH9ld6DK0Bh7iaj1Ml6ItSg7PWDSlHKoopyKSj9818wLl6Q DFlIxlyl13MwHuonuEj1Vf+4fVtgk4FOdBTEN0BF+x3qwxkOu4h2s9jjKqSkKRKwG1FTsb ZC6YvoBzHeAp1YPZNywZwmwjgWe7Fk0W/bNKz+y/+kCB/QdzaH3lNThb3cJy8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699921645; a=rsa-sha256; cv=none; b=fXV7hNrTA2MLNtb7N98jDy58atk6YdUtpya29gOa/1RnrP86YMIVGmA67/U+VH2cgdChhA /0TDwyPSqKLa8BsTXoibeO7MGrUJ1+XdTK//OfQmYIu1X04N5PeEHlvtdIEqvUMJSZ5ITt odigPpyvfJ6AJuzMUopLf8kBYlPoCltLCa0f/CdrPn5xtIJgFRnQwQwsKs2Z35SiApO02r gFRYkP5V5nviWXVM17RchqOTqE/Vj1uD4rUUGXKASa46OTMwg5l4Ft+PW+d+enjEXG5KkB rMYZFLe7iEvXjPRNgiZjTiXlK8l3qjesNkhhh6etoWX5SylV2jr0l8bRnABDjw== 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 4STnDs2C3czC7w; Tue, 14 Nov 2023 00:27:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AE0RPGX064333; Tue, 14 Nov 2023 00:27:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AE0RPcr064330; Tue, 14 Nov 2023 00:27:25 GMT (envelope-from git) Date: Tue, 14 Nov 2023 00:27:25 GMT Message-Id: <202311140027.3AE0RPcr064330@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: dbec48131fc0 - stable/14 - linuxkpi linux_work: use 'true' instead of 'non-zero' List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: dbec48131fc0b4ce6c36220c50797e324f68a4f2 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=dbec48131fc0b4ce6c36220c50797e324f68a4f2 commit dbec48131fc0b4ce6c36220c50797e324f68a4f2 Author: Konstantin Belousov AuthorDate: 2023-11-07 10:56:39 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-13 22:29:30 +0000 linuxkpi linux_work: use 'true' instead of 'non-zero' (cherry picked from commit 96cb1d70008e6d42750e95135316cafd6899384f) --- sys/compat/linuxkpi/common/src/linux_work.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_work.c b/sys/compat/linuxkpi/common/src/linux_work.c index 888ac97dbff6..c62302ad2346 100644 --- a/sys/compat/linuxkpi/common/src/linux_work.c +++ b/sys/compat/linuxkpi/common/src/linux_work.c @@ -206,7 +206,7 @@ linux_flush_rcu_work(struct rcu_work *rwork) /* * This function queues the given work structure on the given - * workqueue after a given delay in ticks. It returns non-zero if the + * workqueue after a given delay in ticks. It returns true if the * work was successfully [re-]queued. Else the work is already pending * for completion. */ @@ -230,7 +230,7 @@ linux_queue_delayed_work_on(int cpu, struct workqueue_struct *wq, switch (linux_update_state(&dwork->work.state, states)) { case WORK_ST_EXEC: case WORK_ST_CANCEL: - if (delay == 0 && linux_work_exec_unblock(&dwork->work) != 0) { + if (delay == 0 && linux_work_exec_unblock(&dwork->work)) { dwork->timer.expires = jiffies; res = true; goto out; @@ -468,7 +468,7 @@ linux_cancel_delayed_work(struct delayed_work *dwork) /* * This function cancels the given work structure in a synchronous - * fashion. It returns non-zero if the work was successfully + * fashion. It returns true if the work was successfully * cancelled. Else the work was already cancelled. */ static bool From nobody Tue Nov 14 00:29:06 2023 X-Original-To: dev-commits-src-branches@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 4STnGp3CKJz50NDZ; Tue, 14 Nov 2023 00:29:06 +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 4STnGp2Qd6z4Mv1; Tue, 14 Nov 2023 00:29:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699921746; 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=k+xtdnb9Ngb0ES/27MA3tyrFITFldfDvetCHyYwwKNE=; b=T8PX1rk8f4zTYE5yKo19CcuFVqpvzA7U9xJFkwt3wbwNQGgMHh9oXMxQfSd5+CEyDYo01k ffBT3NLsThSHd4RuSiUHYv0upQIbn30v6M81L4mSuPID3PiVQS4q6kaZCxW8kOWcObQw+F K7l9NqG5Eo7440ze15dK46jzIEu9+SATaE5lEDqU0fBZgM5bNUf3D+SLsbgYVmh6snA28j dUGwz7GdyEDd0D6M3kS6vFUhHTbpQTunnxfNGNxB79SinCCpV4Zkdl03j3XbEoWBvgcyi8 d0aWGb+lCsfo1ED7S0jV5zC3vKAdb3ZAI+JKMcPVoWZSDq+Yt6vBIyzeW8KaVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699921746; 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=k+xtdnb9Ngb0ES/27MA3tyrFITFldfDvetCHyYwwKNE=; b=oZ5g9eZhrSgbBw8aQ3QUNJOqsaMLE8yDaYLcv5UXcFQQO2mwO353Wo265U8MFuRXg94cab whcBrvJHsGeySsGmAyQC1UYSENcC3mmqxuAUPP4R3zCZJ7aTUPYV+brm4EgQhs6+YHuXaO gwc8xohuAPS5/HjnRjGOyJJYk0yDM5KouDvJ4+eh/PSvRjprzzQQBrRsazIXTZYk/GhSC5 hyPOA9vGwVmu+Arks3JMHhOY7t7iwJfiLVJZweT9BuAkP44DfbUjHBrV1T5Dwp94O0Fi9Q SUpErAGX0RXxddF8dT3HPCy5o7zniYuYa4HaTK08gCM9Fu3vGUrvvEVkl6yj/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699921746; a=rsa-sha256; cv=none; b=MDhcKfORBKe3NfecwF7L+UHUbrWk735i9tYHU+DxNWVj52GNpDO1m2xT9yhgrhYBOd1NG4 gOliLH238c6G8F5YIvAXa1wBj+Fszl7MadjQ94Pmq5z2GAX/wSR08bRoZp2qbeI29HXnBy M95ersIU7sDsU3p6tF4VG7tpgCjGOLpG/PXnIuFar2EIIjR8d9fsYKezSpC75GVbMsruc3 NHv2Ony4se7pz2G51PkSILTW5Ljbtcrw/unO/lq+oSacQjxFnbMNFNaB3t+aVCTisLaL/K pPowuNpSANnOr+Ymuswp0hy5xAcTTZupYzQsS6S4CvmhtYhye5toMEdQvagVtg== 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 4STnGp1W2vzBwv; Tue, 14 Nov 2023 00:29:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AE0T65H064692; Tue, 14 Nov 2023 00:29:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AE0T63Z064689; Tue, 14 Nov 2023 00:29:06 GMT (envelope-from git) Date: Tue, 14 Nov 2023 00:29:06 GMT Message-Id: <202311140029.3AE0T63Z064689@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: d0ec1aadcb41 - stable/13 - linuxkpi: races between linux_queue_delayed_work_on() and linux_cancel_delayed_work_sync() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org 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/stable/13 X-Git-Reftype: branch X-Git-Commit: d0ec1aadcb4183caad8e67d9ceb4fede8e680420 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d0ec1aadcb4183caad8e67d9ceb4fede8e680420 commit d0ec1aadcb4183caad8e67d9ceb4fede8e680420 Author: Konstantin Belousov AuthorDate: 2023-11-04 07:45:48 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-13 22:30:25 +0000 linuxkpi: races between linux_queue_delayed_work_on() and linux_cancel_delayed_work_sync() (cherry picked from commit 05fe82455f263ad107a860ce20dd89e1a5c1619c) --- sys/compat/linuxkpi/common/src/linux_work.c | 36 ++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_work.c b/sys/compat/linuxkpi/common/src/linux_work.c index 990ba5d20fd5..888ac97dbff6 100644 --- a/sys/compat/linuxkpi/common/src/linux_work.c +++ b/sys/compat/linuxkpi/common/src/linux_work.c @@ -221,16 +221,19 @@ linux_queue_delayed_work_on(int cpu, struct workqueue_struct *wq, [WORK_ST_EXEC] = WORK_ST_TIMER, /* start timeout */ [WORK_ST_CANCEL] = WORK_ST_TIMER, /* start timeout */ }; + bool res; if (atomic_read(&wq->draining) != 0) return (!work_pending(&dwork->work)); + mtx_lock(&dwork->timer.mtx); switch (linux_update_state(&dwork->work.state, states)) { case WORK_ST_EXEC: case WORK_ST_CANCEL: if (delay == 0 && linux_work_exec_unblock(&dwork->work) != 0) { dwork->timer.expires = jiffies; - return (true); + res = true; + goto out; } /* FALLTHROUGH */ case WORK_ST_IDLE: @@ -240,20 +243,21 @@ linux_queue_delayed_work_on(int cpu, struct workqueue_struct *wq, if (delay == 0) { linux_delayed_work_enqueue(dwork); } else if (unlikely(cpu != WORK_CPU_UNBOUND)) { - mtx_lock(&dwork->timer.mtx); callout_reset_on(&dwork->timer.callout, delay, &linux_delayed_work_timer_fn, dwork, cpu); - mtx_unlock(&dwork->timer.mtx); } else { - mtx_lock(&dwork->timer.mtx); callout_reset(&dwork->timer.callout, delay, &linux_delayed_work_timer_fn, dwork); - mtx_unlock(&dwork->timer.mtx); } - return (true); + res = true; + break; default: - return (false); /* already on a queue */ + res = false; + break; } +out: + mtx_unlock(&dwork->timer.mtx); + return (res); } void @@ -467,8 +471,8 @@ linux_cancel_delayed_work(struct delayed_work *dwork) * fashion. It returns non-zero if the work was successfully * cancelled. Else the work was already cancelled. */ -bool -linux_cancel_delayed_work_sync(struct delayed_work *dwork) +static bool +linux_cancel_delayed_work_sync_int(struct delayed_work *dwork) { static const uint8_t states[WORK_ST_MAX] __aligned(8) = { [WORK_ST_IDLE] = WORK_ST_IDLE, /* NOP */ @@ -478,7 +482,6 @@ linux_cancel_delayed_work_sync(struct delayed_work *dwork) [WORK_ST_CANCEL] = WORK_ST_IDLE, /* cancel and drain */ }; struct taskqueue *tq; - bool retval = false; int ret, state; bool cancelled; @@ -490,7 +493,7 @@ linux_cancel_delayed_work_sync(struct delayed_work *dwork) switch (state) { case WORK_ST_IDLE: mtx_unlock(&dwork->timer.mtx); - return (retval); + return (false); case WORK_ST_TIMER: case WORK_ST_CANCEL: cancelled = (callout_stop(&dwork->timer.callout) == 1); @@ -512,6 +515,17 @@ linux_cancel_delayed_work_sync(struct delayed_work *dwork) } } +bool +linux_cancel_delayed_work_sync(struct delayed_work *dwork) +{ + bool res; + + res = false; + while (linux_cancel_delayed_work_sync_int(dwork)) + res = true; + return (res); +} + /* * This function waits until the given work structure is completed. * It returns non-zero if the work was successfully From nobody Tue Nov 14 00:29:07 2023 X-Original-To: dev-commits-src-branches@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 4STnGq3jqCz50N63; Tue, 14 Nov 2023 00:29:07 +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 4STnGq2wjXz4N64; Tue, 14 Nov 2023 00:29:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699921747; 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=ERktq7YWqBSMK4XZox3Pwbk+eVll52boTa50YpdP6Do=; b=TSFUrz+NGi5d3kuelleQVmSd+0EqGKWELXn4DFOZUmMYgGFT4fV28vuZMqxgdM4tcbLZJX WaTvx6RUw1u/WikxbeKnxjUOtWUknW4eGw9xSqfceUm+KyxvyRyMNFn9varCLBezEKOjG6 K1cdkSNZrEib4pQFCqH4pEwV5NaHMDdLwMoZqqSdHufZyDunkxYBZ2mtM8z8ReFxLcjJu0 iTcBo83qM22u2ubXJhpDp1oIVdDm++1MvHl6o7rEoCCM2zBnf+iJLGvYwKSCLC8syJmzJR E3B7y+4lsSls6hDuoksr+nmwXaFGJcgmAVc2w2v58kKPVjBWUl9Hloy+YsDxIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699921747; 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=ERktq7YWqBSMK4XZox3Pwbk+eVll52boTa50YpdP6Do=; b=wnbDfic5b/oRpH30cW6HWhDZqNJLxJ78/6jiex2+hhe3R0OBD7Yg9r+6T7BNkW5gXSjnzT LifbyOCcuYmglqfR9wlAkSHrFnK9Oe6WLVnP+uKod+JSOfdblxWJtKjSvdeGe/rhZeMEYP Qahz7C2a+rHCSsX0Kp9WU5bQdJ9ghaIYLIs0GxpQhUhs1OlQ4LYFoyE9LXp0NcO7kWlfAb Z6GCOehUYpTZpzgDpyiQRo/Tly03meHBSwRbRqWomUUybu3dmgacHrHR3RkcWultYVtqNR /R9GxmDzvH5Qb3c7Wk5CFLm5tSXN0vBtKgdU5wOJgsXlgtnDwnJ7jku28dsD7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699921747; a=rsa-sha256; cv=none; b=AOWZ7qlA049tHX3JNcEAUmMVNCfXuCkhWOfdEuusuAOHlAHHqOx0RLb/NvqGQv3AClDCqV uO4s5Y43R1+ucJcasmbflkd3bjEKw+yGPUC5v0zJcYZ7luAiMWTJseyxjpMYWAuaVJzoRg jAcnXu13pq1+m64tWpV6+/6aUmb09YRJIHpkHX+1KRBg6svjvUYT8GknKoZWN8TJKDCRpv ZttM1KHh0HHxuhnGhfaC4brISumFXnfd+FvyMxyKZ755rIZEgacVr7zjiZWxiBMCod7qDG 4sCtbyuoBn23pkgWAMA5hO47sbdZXC49/bzjb87uAh6qzskNxSaAu6QXdZtusg== 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 4STnGq1sx7zCGJ; Tue, 14 Nov 2023 00:29:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AE0T7O8064745; Tue, 14 Nov 2023 00:29:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AE0T7Fi064742; Tue, 14 Nov 2023 00:29:07 GMT (envelope-from git) Date: Tue, 14 Nov 2023 00:29:07 GMT Message-Id: <202311140029.3AE0T7Fi064742@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 4c40dda67ade - stable/13 - linuxkpi linux_work: use 'true' instead of 'non-zero' List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 4c40dda67ade420a0e3544b5e4fa461ac4787077 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=4c40dda67ade420a0e3544b5e4fa461ac4787077 commit 4c40dda67ade420a0e3544b5e4fa461ac4787077 Author: Konstantin Belousov AuthorDate: 2023-11-07 10:56:39 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-13 22:30:25 +0000 linuxkpi linux_work: use 'true' instead of 'non-zero' (cherry picked from commit 96cb1d70008e6d42750e95135316cafd6899384f) --- sys/compat/linuxkpi/common/src/linux_work.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_work.c b/sys/compat/linuxkpi/common/src/linux_work.c index 888ac97dbff6..c62302ad2346 100644 --- a/sys/compat/linuxkpi/common/src/linux_work.c +++ b/sys/compat/linuxkpi/common/src/linux_work.c @@ -206,7 +206,7 @@ linux_flush_rcu_work(struct rcu_work *rwork) /* * This function queues the given work structure on the given - * workqueue after a given delay in ticks. It returns non-zero if the + * workqueue after a given delay in ticks. It returns true if the * work was successfully [re-]queued. Else the work is already pending * for completion. */ @@ -230,7 +230,7 @@ linux_queue_delayed_work_on(int cpu, struct workqueue_struct *wq, switch (linux_update_state(&dwork->work.state, states)) { case WORK_ST_EXEC: case WORK_ST_CANCEL: - if (delay == 0 && linux_work_exec_unblock(&dwork->work) != 0) { + if (delay == 0 && linux_work_exec_unblock(&dwork->work)) { dwork->timer.expires = jiffies; res = true; goto out; @@ -468,7 +468,7 @@ linux_cancel_delayed_work(struct delayed_work *dwork) /* * This function cancels the given work structure in a synchronous - * fashion. It returns non-zero if the work was successfully + * fashion. It returns true if the work was successfully * cancelled. Else the work was already cancelled. */ static bool From nobody Tue Nov 14 02:04:06 2023 X-Original-To: dev-commits-src-branches@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 4STqNQ4VHHz50jWT; Tue, 14 Nov 2023 02:04:06 +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 4STqNQ44S1z4bg7; Tue, 14 Nov 2023 02:04:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699927446; 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=3JclhgPWkDy2/Dyp4vS9XuxNmJHeAKEckcNYlxmrBxI=; b=HpT7sh0er+7c5m8ha6phdnB5b3FPf6vMLngnnyxh98Ypxbj8MOZOVDr/uH1X9JsK+/Sgsz 1IbIdXLwAqHHVSthku2gsGZXvXuDvffvO8yPjKhZwO6oRWbXc+ZEtVzoeeVu031oVo8daH jwEMBCMy4sTyzUZ24CFBkgAAa85NnZzxyj2CX5EVe8VO13NYH5Q/1gIak3BarmAsQp9TEz 7cNovUp1LqmPj/G1mHeqoJzHkLYipL8TT5+Y1QdWpO3BKfsgZVGMuuvK6CXX4Tfgu0fp+m txAeZf+0KpOjdO4U3tikAyiRarNlzEyS0zhesbAWbtHPl8xeLhwmQaoEYGPgdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699927446; 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=3JclhgPWkDy2/Dyp4vS9XuxNmJHeAKEckcNYlxmrBxI=; b=YRwxfWNexl7W1LIDeYUykNMODH9017f4CMf2J3hI6D0Iuf4TTdFN7n+Vth8IaoaRtSLVbC eoLQQ3wiV78W3/mDQ4xFAwEJXoTmPbKIqM0teaQfVVRQlSKRONYJnYsK8Ad1Um+FQiUCzm 2EEHxXz1aN7TE3hFMTNz9dQFr9NC3kHDZh0nSs2FU5ATz7GhmEEWpRZhch6BOspJ15W5FB HOxxo0fM/GRoHNfi+Em9XWCDCVrcQ3Q/hfAsV4WaUW+XBkDBTN0jp65V94/Ia+tkf93FKe WybLmaC4sRyRHLXS4TwxrDKPBGB/wE4jsGoJy7VhZXtZ3cTQfdbjXrA+zuQIkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699927446; a=rsa-sha256; cv=none; b=EdmaY7uf39RN+0Iuo+yRyMqUp9ChnFWOnaunNHg6DNSH2Nu+RWKbPgRUCwYUR6s7LrINPe hS1TmK6/zq+JgHlUzcNNO7jIDEmIbOESYAbbiOASe6peD4/M+BbtSdHKyxhYvG9aVt+clq SteT+J6jK6jGL+Xn8k5+U6MXaHTm6H5ZaPbyacwkaXNBUuchSF2qWypVHgEQdrWFnvxBNl Me9T2ouCYMCOnEOqhuLkvE81n86qDFyJJ0FzEfsxMQj3ZVycGx7bOi34dGy9APfYNKkDDy H2G+p1jodEyR1QU3qTMKFWmBx5Unh0yQgoJEVmONhPGXO/+qotXI5SnIgBL8uA== 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 4STqNQ37D7zVXk; Tue, 14 Nov 2023 02:04:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AE246AJ031775; Tue, 14 Nov 2023 02:04:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AE246ff031772; Tue, 14 Nov 2023 02:04:06 GMT (envelope-from git) Date: Tue, 14 Nov 2023 02:04:06 GMT Message-Id: <202311140204.3AE246ff031772@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 260e63b3d53c - stable/14 - nfscl: Handle the NFSERR_RETRYUNCACHEDREP error from a NFSv4 server List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 260e63b3d53c7df51fbe3169a7b96d7c479275af Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=260e63b3d53c7df51fbe3169a7b96d7c479275af commit 260e63b3d53c7df51fbe3169a7b96d7c479275af Author: Rick Macklem AuthorDate: 2023-10-18 19:42:12 +0000 Commit: Rick Macklem CommitDate: 2023-11-14 02:03:14 +0000 nfscl: Handle the NFSERR_RETRYUNCACHEDREP error from a NFSv4 server In a recent email list discussion related to NFSv4 mount problems against a non-FreeBSD NFSv4 server, the reporter of the issue noted that the server had replied 10068 (NFSERR_RETRYUNCACHEDREP). This did not seem related to the mount problem, but I had never seen this error before. It indicates that an RPC retry after a new TCP connection has been established failed because the server did not cache the reply. Since this should only happen for idempotent operations, redoing the RPC should be safe. This patch modifies the NFSv4.1/4.2 client to redo the RPC instead of considering the server error fatal. It should only affect the unusual case where TCP connections to NFSv4 servers are breaking without the NFSv4 server rebooting. MFC after: 2 weeks (cherry picked from commit c4e298251ab01665f5bb3edeb740a51331818a45) --- sys/fs/nfs/nfs_commonkrpc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index 29c7cdbd671c..29fbb8dc4351 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -1300,7 +1300,8 @@ tryagain: nd->nd_procnum != NFSPROC_LOCKU))) || (nd->nd_repstat == NFSERR_DELAY && (nd->nd_flag & ND_NFSV4) == 0) || - nd->nd_repstat == NFSERR_RESOURCE) { + nd->nd_repstat == NFSERR_RESOURCE || + nd->nd_repstat == NFSERR_RETRYUNCACHEDREP) { /* Clip at NFS_TRYLATERDEL. */ if (timespeccmp(&trylater_delay, &nfs_trylater_max, >)) From nobody Tue Nov 14 02:07:57 2023 X-Original-To: dev-commits-src-branches@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 4STqSs70nkz50kL5; Tue, 14 Nov 2023 02:07:57 +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 4STqSs6X88z4cCb; Tue, 14 Nov 2023 02:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699927677; 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=lyZH9wweQlPkQnyF8MVE9jjNN9P3rI/gxHg8qPdxvTM=; b=GTY7GMIKFfE7QDRfqvwjuCJx/VtLeHQlzSJ++xJKJeKO+O/kW0rbeW3iPDm3hXngFtB+wv fjUkVBsRArGxdOHRVl+4GWIGVvklF0JQh83xYOvkg/dUp3HPP10sDekoggadelukm0yqZ0 IMjQUYsILAwpqOOx7va4QVfKmbPqksbsSfzvWTcmbmPcEJeh7pSRMDav8ewUKYdm43VI5+ 52rv5Z0+l4n11/cEVMw3olwiPgw+VxY6NkGVR/MFqEZMRWMz4SY6bK7+g3TwQD7gXq4AyL CjJ7T5ABpoAEPyzQ+wdqv8JK3gMM8/fiVcuRrRNzcSWqoesTRrrtL6RkSPO7eA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699927677; 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=lyZH9wweQlPkQnyF8MVE9jjNN9P3rI/gxHg8qPdxvTM=; b=hJkb5NKJgmtatI6FYV9MbvyqkOi3KOrDrVnuWMYBu0EnDr9zeFhPhbKp455DhuhN0qkQpF tKlq+ipVBBXL0dgfz1skgVGbddXiclwvdR0FPJHpRzSNh8KoSBAnGKfU0hKeAYY1DL8Yhf Tz+FmZpjOGsehs7/Qtz6VoCfmJCb+n14K9yaKb8ZPG8bZFOIiyGBw1ot0MgjnMUUg3g9Yu FLjhiR5WPiWAv/li2ooqXihiDLVggKHou+H+luNnmc4cjKcdAx4JVW7+85dwpX/GgwJDKs cTjx3EmDOHBTPoJ0nG010wRUZMZgla5ZkvGiOKt6gQBOjLxXiwwUp5X0YWFbSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699927677; a=rsa-sha256; cv=none; b=HvenT1rOA2wPPL1dIPsrvAUuHIGqFtmZuv5phRZxm9wJkfXKs/RS0hyzveSj4YxCU6G0yY xop340Yw525UkqlcyAtrCsW4dFPeOJ9UIusVe9k55RiahuAeH14RWe8xEnjb02o4xjj8op ii9yyb3m3PBRBTvmBMYpThKhJXZ6IQwS3u+qoe0yVFdlFEWjtSzmgylDbCVxh+VRZgoJFo ahtxMNng4/thsIDd4p2VYuAjQr/rHtDn7gdIroHQ8zD0xLidEA4U7/+1KCZW5vJIENXpAd XbiRJw6DaE34nTWi10vdoF7V7yvtWexROftO5ldJP3Ukr9kp8/SkeXy4jIlicA== 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 4STqSs5ZyZzWLn; Tue, 14 Nov 2023 02:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AE27vF2032391; Tue, 14 Nov 2023 02:07:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AE27vAg032388; Tue, 14 Nov 2023 02:07:57 GMT (envelope-from git) Date: Tue, 14 Nov 2023 02:07:57 GMT Message-Id: <202311140207.3AE27vAg032388@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: bcbbacb7d014 - stable/13 - nfscl: Handle the NFSERR_RETRYUNCACHEDREP error from a NFSv4 server List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bcbbacb7d014161b2f98b25d81f530cccbc49845 Auto-Submitted: auto-generated The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=bcbbacb7d014161b2f98b25d81f530cccbc49845 commit bcbbacb7d014161b2f98b25d81f530cccbc49845 Author: Rick Macklem AuthorDate: 2023-10-18 19:42:12 +0000 Commit: Rick Macklem CommitDate: 2023-11-14 02:07:17 +0000 nfscl: Handle the NFSERR_RETRYUNCACHEDREP error from a NFSv4 server In a recent email list discussion related to NFSv4 mount problems against a non-FreeBSD NFSv4 server, the reporter of the issue noted that the server had replied 10068 (NFSERR_RETRYUNCACHEDREP). This did not seem related to the mount problem, but I had never seen this error before. It indicates that an RPC retry after a new TCP connection has been established failed because the server did not cache the reply. Since this should only happen for idempotent operations, redoing the RPC should be safe. This patch modifies the NFSv4.1/4.2 client to redo the RPC instead of considering the server error fatal. It should only affect the unusual case where TCP connections to NFSv4 servers are breaking without the NFSv4 server rebooting. MFC after: 2 weeks (cherry picked from commit c4e298251ab01665f5bb3edeb740a51331818a45) --- sys/fs/nfs/nfs_commonkrpc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index 29c7cdbd671c..29fbb8dc4351 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -1300,7 +1300,8 @@ tryagain: nd->nd_procnum != NFSPROC_LOCKU))) || (nd->nd_repstat == NFSERR_DELAY && (nd->nd_flag & ND_NFSV4) == 0) || - nd->nd_repstat == NFSERR_RESOURCE) { + nd->nd_repstat == NFSERR_RESOURCE || + nd->nd_repstat == NFSERR_RETRYUNCACHEDREP) { /* Clip at NFS_TRYLATERDEL. */ if (timespeccmp(&trylater_delay, &nfs_trylater_max, >)) From nobody Tue Nov 14 12:57:14 2023 X-Original-To: dev-commits-src-branches@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 4SV5t26J2xz50sZV; Tue, 14 Nov 2023 12:57:14 +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 4SV5t25skPz3GGR; Tue, 14 Nov 2023 12:57:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699966634; 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=2yFVPDC40YH/ervxs50WVtIjLdYHGeaPSFcR1Wya9t4=; b=kjfIulAKZr6+3WL2ey8y/0QrxRMdceb1dgZ6B6TuI6XkL+b0YPJ2siCWm0t9MQ4DkA2m9m K1HtKPgJLZxzulCQ0QaTTcrQ0OZz6GLWws05ojEXh/yqBnXFC9Zp+ojiKurhKIrk/pZdf1 wsMA9eGSlJGKvBQNRhkmJCkPzpNar4RMrO3AtL5/4gHtBgrZYcpqJgN2FclkXMLbkOgpiY qYLidGK9GOy+0Tg2kh3g06I/DIG2MnRL8T9Oqg8iUsPJ2EeFryJ/W8iqwbfWAMQPL13sFI J8zDPzbiEGrcxV41PE8eXtJ/nQRV1jccYbr+OPGsYr3QyEzPSYaM8EYlY59gMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699966634; 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=2yFVPDC40YH/ervxs50WVtIjLdYHGeaPSFcR1Wya9t4=; b=kRk3oAOMBahxyxrglsJWF2luvSAF1FPRcSnT2GKng3opw76kIJvBDgFUSRDf/XIIphyaYB mIBVqb0G5T7fFk/5rTJY5uq2gOooqIEZE0tddytgavQDrBlomG0ZQV2704tfRmrEOFobsa r98ISQVNCIZbw+jBPB6HfYPKoyvc+y5BB7GjCw3JPkzaxAUVg3AJrJsUsuFIAAvY3LtuQ9 ifb5hMJ0WmZzpQEI7+f46ZFZPDOCfzz/Lc0hnqZ/qGhQU/WMHVzEC2sNjajDfcz5uDFbod XpeTCAsd/+S/3Ocd4h2hIeA0rFdC35vsRzJFtdeyGENqrgG5rSXNGJwkr4HcXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699966634; a=rsa-sha256; cv=none; b=ID5cpdAUfKKbFr0TceeBwpvLQkQ4Jns5oSguhRsj6+Wox+zP/fX/d5IDrZ71lgWGU0GT/T j6t0k+E6ifZf3rj4tE/Pkd04wP2fTlh5rXFhUr9bQnSKjchKGVWO/ntcMIVDhzNhmufl/g Hi9NW1ug/RRVOntESI4oGRYy3ZMV+Jq2cE+VDDw3/xT+WFR8y8aX5reMPFGPLQbf/8AHyX gfchJCBEu6XPgu+x3XCDPirJCf6ZFgqnL2O+hA9hVqIXWHiJFFfjUgagub4CHdO3jF9Enw F1CbvMXv9qkskXA0i4GLLPo+KB5yBvssxWBm3zgqFHLh6NeTb6+mSg385G5RAg== 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 4SV5t24wRmzq8G; Tue, 14 Nov 2023 12:57:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AECvEZj017030; Tue, 14 Nov 2023 12:57:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AECvEkZ017027; Tue, 14 Nov 2023 12:57:14 GMT (envelope-from git) Date: Tue, 14 Nov 2023 12:57:14 GMT Message-Id: <202311141257.3AECvEkZ017027@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: 7ab9e36fc544 - stable/14 - nvme: Introduce longer timeouts for admin queue List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7ab9e36fc54445fd72741fb0c85d84694da046f4 Auto-Submitted: auto-generated The branch stable/14 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=7ab9e36fc54445fd72741fb0c85d84694da046f4 commit 7ab9e36fc54445fd72741fb0c85d84694da046f4 Author: Alexander Motin AuthorDate: 2023-11-06 16:05:48 +0000 Commit: Alexander Motin CommitDate: 2023-11-14 12:54:18 +0000 nvme: Introduce longer timeouts for admin queue KIOXIA CD8 SSDs routinely take ~25 seconds to delete non-empty namespace. In some cases like hot-plug it takes longer, triggering timeout and controller resets after just 30 seconds. Linux for many years has separate 60 seconds timeout for admin queue. This patch does the same. And it is good to be consistent. Sponsored by: iXsystems, Inc. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42454 (cherry picked from commit 8d6c0743e36e3cff9279c40468711a82db98df23) --- sys/dev/nvme/nvme_ctrlr.c | 6 ++++++ sys/dev/nvme/nvme_private.h | 2 ++ sys/dev/nvme/nvme_qpair.c | 2 ++ sys/dev/nvme/nvme_sysctl.c | 15 ++++++++++----- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index ef4d7daa6efa..3eca24f1f6a5 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -1451,6 +1451,12 @@ nvme_ctrlr_construct(struct nvme_controller *ctrlr, device_t dev) to = NVME_CAP_LO_TO(cap_lo) + 1; ctrlr->ready_timeout_in_ms = to * 500; + timeout_period = NVME_ADMIN_TIMEOUT_PERIOD; + TUNABLE_INT_FETCH("hw.nvme.admin_timeout_period", &timeout_period); + timeout_period = min(timeout_period, NVME_MAX_TIMEOUT_PERIOD); + timeout_period = max(timeout_period, NVME_MIN_TIMEOUT_PERIOD); + ctrlr->admin_timeout_period = timeout_period; + timeout_period = NVME_DEFAULT_TIMEOUT_PERIOD; TUNABLE_INT_FETCH("hw.nvme.timeout_period", &timeout_period); timeout_period = min(timeout_period, NVME_MAX_TIMEOUT_PERIOD); diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index 496bd8229e0a..72797d30a3bf 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -86,6 +86,7 @@ MALLOC_DECLARE(M_NVME); #define NVME_MAX_CONSUMERS (2) #define NVME_MAX_ASYNC_EVENTS (8) +#define NVME_ADMIN_TIMEOUT_PERIOD (60) /* in seconds */ #define NVME_DEFAULT_TIMEOUT_PERIOD (30) /* in seconds */ #define NVME_MIN_TIMEOUT_PERIOD (5) #define NVME_MAX_TIMEOUT_PERIOD (120) @@ -281,6 +282,7 @@ struct nvme_controller { uint32_t int_coal_threshold; /** timeout period in seconds */ + uint32_t admin_timeout_period; uint32_t timeout_period; /** doorbell stride */ diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index cd0057f444b8..2e9af4310a15 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -1158,6 +1158,8 @@ nvme_qpair_submit_tracker(struct nvme_qpair *qpair, struct nvme_tracker *tr) if (req->timeout) { if (req->cb_fn == nvme_completion_poll_cb) timeout = 1; + else if (qpair->id == 0) + timeout = ctrlr->admin_timeout_period; else timeout = ctrlr->timeout_period; tr->deadline = getsbinuptime() + timeout * SBT_1S; diff --git a/sys/dev/nvme/nvme_sysctl.c b/sys/dev/nvme/nvme_sysctl.c index ac0d507e2337..d6452a2e5492 100644 --- a/sys/dev/nvme/nvme_sysctl.c +++ b/sys/dev/nvme/nvme_sysctl.c @@ -132,8 +132,8 @@ nvme_sysctl_int_coal_threshold(SYSCTL_HANDLER_ARGS) static int nvme_sysctl_timeout_period(SYSCTL_HANDLER_ARGS) { - struct nvme_controller *ctrlr = arg1; - uint32_t newval = ctrlr->timeout_period; + uint32_t *ptr = arg1; + uint32_t newval = *ptr; int error = sysctl_handle_int(oidp, &newval, 0, req); if (error || (req->newptr == NULL)) @@ -143,7 +143,7 @@ nvme_sysctl_timeout_period(SYSCTL_HANDLER_ARGS) newval < NVME_MIN_TIMEOUT_PERIOD) { return (EINVAL); } else { - ctrlr->timeout_period = newval; + *ptr = newval; } return (0); @@ -352,10 +352,15 @@ nvme_sysctl_initialize_ctrlr(struct nvme_controller *ctrlr) nvme_sysctl_int_coal_threshold, "IU", "Interrupt coalescing threshold"); + SYSCTL_ADD_PROC(ctrlr_ctx, ctrlr_list, OID_AUTO, + "admin_timeout_period", CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, + &ctrlr->admin_timeout_period, 0, nvme_sysctl_timeout_period, "IU", + "Timeout period for Admin queue (in seconds)"); + SYSCTL_ADD_PROC(ctrlr_ctx, ctrlr_list, OID_AUTO, "timeout_period", CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, - ctrlr, 0, nvme_sysctl_timeout_period, "IU", - "Timeout period (in seconds)"); + &ctrlr->timeout_period, 0, nvme_sysctl_timeout_period, "IU", + "Timeout period for I/O queues (in seconds)"); SYSCTL_ADD_PROC(ctrlr_ctx, ctrlr_list, OID_AUTO, "num_cmds", CTLTYPE_S64 | CTLFLAG_RD | CTLFLAG_MPSAFE, From nobody Tue Nov 14 12:58:23 2023 X-Original-To: dev-commits-src-branches@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 4SV5vM5lxfz50sps; Tue, 14 Nov 2023 12:58: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 4SV5vM5JByz3GR1; Tue, 14 Nov 2023 12:58:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699966703; 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=0z8Fp4YItAuUG7y2aWkiau/D2pQEI+WL5ZVbPRSgM9o=; b=ul/aTIMbHhfTJf8WCCTQYKMHd26XIP0Oy+xsroCstg4BPLdnFqXv8ECJER4YUSlOQRnu5E wjJRIJgMTuKO8DAKnbTwi+FlEWvn2ujEc+yfTRgVGaqv8hkuFg5TNaH7V9IbuYKCaAF/q6 wKcFs6hYxXK9ouC+7gttnixJ6hgKKlsEGFFSTqgELJN1lDli7jqsXkTZRXB77LdbHkJwdF WaMf4zOds/fnQZjZg/cBfJ9f1AbcxxEh8T8rzCFKWIDepV0VIf/H3dPR8rzklCbiKL7Mco XgWPWxiS9m+9e7PzB9DUcXMTorZKYuoYqTENJXhxFgMyLHl68TNnK7NiKk4y2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699966703; 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=0z8Fp4YItAuUG7y2aWkiau/D2pQEI+WL5ZVbPRSgM9o=; b=Zq07KTCXWi+2GLzDrgvvjeym9lENQ0jmZzBesYqTvvemZS8FTN8+riqLlQtnxNRTdrGObt bVMBpqPLOKWeSjQZ+JBHQxrmLs1MlQraAj6su0bfYvvZqFAXAn31F7Hl0i/DutvzWeQH/z YmTJBaI7w3G7/R6CD0ri6Gs09lJ4mYo7KOEY3K2A/BHqHC8OV2LGZv0OzG/MgT3j0w7Yte AHjZgTUjX90HItirl6SvCpXfUOt40a+nVgWoCsGwq06mP9UI8Ck/i60dXvKkHxDDIllbJB yAAU/JEHYck4Iq5yzbolg5Qh5TV3Jkf2xXOMHvAf6NCmNuXl6vbyzCrVJ+VFwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699966703; a=rsa-sha256; cv=none; b=Z17ZewUbKjU7Gy/WXS9aADdkgLda7G7OEhe9gXPya1xlB/HxHIaTOXUMOdK9l6E4lajEIV cWWYbI2oqgo9JS4JS9DItJ2y2vPIkd6vs/7T2Vy6K7tLArmYeGIDZd21AwuIEdIbnag3yX 0wvs/VcICALhPP3lRr9xKJT13XvBGfjx6uyw1K1XxamG01koVUerye3xWVxRJRY+SHO0sq IJ2Ye/hilUc9WQiChNIZu1PmdnFQDfaeB7QMWXmD9YpSRce2rsqy24pYTr2AysJViEiuqe lGbx9pd6lf7ba5XlPhJ2uCiHghTsLCx5tzfsvQ0HJgq/2ZKcvAJON+IKflH9Zw== 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 4SV5vM4MS1zq2x; Tue, 14 Nov 2023 12:58:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AECwN17017303; Tue, 14 Nov 2023 12:58:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AECwNsp017300; Tue, 14 Nov 2023 12:58:23 GMT (envelope-from git) Date: Tue, 14 Nov 2023 12:58:23 GMT Message-Id: <202311141258.3AECwNsp017300@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: 35372e305863 - stable/13 - nvme: Introduce longer timeouts for admin queue List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 35372e305863b7c372d8f019d3f422e7d2ee3be9 Auto-Submitted: auto-generated The branch stable/13 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=35372e305863b7c372d8f019d3f422e7d2ee3be9 commit 35372e305863b7c372d8f019d3f422e7d2ee3be9 Author: Alexander Motin AuthorDate: 2023-11-06 16:05:48 +0000 Commit: Alexander Motin CommitDate: 2023-11-14 12:57:28 +0000 nvme: Introduce longer timeouts for admin queue KIOXIA CD8 SSDs routinely take ~25 seconds to delete non-empty namespace. In some cases like hot-plug it takes longer, triggering timeout and controller resets after just 30 seconds. Linux for many years has separate 60 seconds timeout for admin queue. This patch does the same. And it is good to be consistent. Sponsored by: iXsystems, Inc. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42454 (cherry picked from commit 8d6c0743e36e3cff9279c40468711a82db98df23) --- sys/dev/nvme/nvme_ctrlr.c | 6 ++++++ sys/dev/nvme/nvme_private.h | 2 ++ sys/dev/nvme/nvme_qpair.c | 2 ++ sys/dev/nvme/nvme_sysctl.c | 15 ++++++++++----- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index 84aa402af4f8..bcbc8dc26ee1 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -1437,6 +1437,12 @@ nvme_ctrlr_construct(struct nvme_controller *ctrlr, device_t dev) to = NVME_CAP_LO_TO(cap_lo) + 1; ctrlr->ready_timeout_in_ms = to * 500; + timeout_period = NVME_ADMIN_TIMEOUT_PERIOD; + TUNABLE_INT_FETCH("hw.nvme.admin_timeout_period", &timeout_period); + timeout_period = min(timeout_period, NVME_MAX_TIMEOUT_PERIOD); + timeout_period = max(timeout_period, NVME_MIN_TIMEOUT_PERIOD); + ctrlr->admin_timeout_period = timeout_period; + timeout_period = NVME_DEFAULT_TIMEOUT_PERIOD; TUNABLE_INT_FETCH("hw.nvme.timeout_period", &timeout_period); timeout_period = min(timeout_period, NVME_MAX_TIMEOUT_PERIOD); diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index e34dc20c2819..e2e2f5efeacc 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -85,6 +85,7 @@ MALLOC_DECLARE(M_NVME); #define NVME_MAX_CONSUMERS (2) #define NVME_MAX_ASYNC_EVENTS (8) +#define NVME_ADMIN_TIMEOUT_PERIOD (60) /* in seconds */ #define NVME_DEFAULT_TIMEOUT_PERIOD (30) /* in seconds */ #define NVME_MIN_TIMEOUT_PERIOD (5) #define NVME_MAX_TIMEOUT_PERIOD (120) @@ -287,6 +288,7 @@ struct nvme_controller { uint32_t int_coal_threshold; /** timeout period in seconds */ + uint32_t admin_timeout_period; uint32_t timeout_period; /** doorbell stride */ diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index e31e4249b20c..d810d51fadce 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -1062,6 +1062,8 @@ nvme_qpair_submit_tracker(struct nvme_qpair *qpair, struct nvme_tracker *tr) if (req->timeout) { if (req->cb_fn == nvme_completion_poll_cb) timeout = 1; + else if (qpair->id == 0) + timeout = ctrlr->admin_timeout_period; else timeout = ctrlr->timeout_period; tr->deadline = getsbinuptime() + timeout * SBT_1S; diff --git a/sys/dev/nvme/nvme_sysctl.c b/sys/dev/nvme/nvme_sysctl.c index 091c2f572eaf..c9c57ac91af5 100644 --- a/sys/dev/nvme/nvme_sysctl.c +++ b/sys/dev/nvme/nvme_sysctl.c @@ -132,8 +132,8 @@ nvme_sysctl_int_coal_threshold(SYSCTL_HANDLER_ARGS) static int nvme_sysctl_timeout_period(SYSCTL_HANDLER_ARGS) { - struct nvme_controller *ctrlr = arg1; - uint32_t newval = ctrlr->timeout_period; + uint32_t *ptr = arg1; + uint32_t newval = *ptr; int error = sysctl_handle_int(oidp, &newval, 0, req); if (error || (req->newptr == NULL)) @@ -143,7 +143,7 @@ nvme_sysctl_timeout_period(SYSCTL_HANDLER_ARGS) newval < NVME_MIN_TIMEOUT_PERIOD) { return (EINVAL); } else { - ctrlr->timeout_period = newval; + *ptr = newval; } return (0); @@ -333,10 +333,15 @@ nvme_sysctl_initialize_ctrlr(struct nvme_controller *ctrlr) nvme_sysctl_int_coal_threshold, "IU", "Interrupt coalescing threshold"); + SYSCTL_ADD_PROC(ctrlr_ctx, ctrlr_list, OID_AUTO, + "admin_timeout_period", CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, + &ctrlr->admin_timeout_period, 0, nvme_sysctl_timeout_period, "IU", + "Timeout period for Admin queue (in seconds)"); + SYSCTL_ADD_PROC(ctrlr_ctx, ctrlr_list, OID_AUTO, "timeout_period", CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, - ctrlr, 0, nvme_sysctl_timeout_period, "IU", - "Timeout period (in seconds)"); + &ctrlr->timeout_period, 0, nvme_sysctl_timeout_period, "IU", + "Timeout period for I/O queues (in seconds)"); SYSCTL_ADD_PROC(ctrlr_ctx, ctrlr_list, OID_AUTO, "num_cmds", CTLTYPE_S64 | CTLFLAG_RD | CTLFLAG_MPSAFE, From nobody Wed Nov 15 20:00:08 2023 X-Original-To: dev-commits-src-branches@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 4SVvCX3NQqz50glP; Wed, 15 Nov 2023 20:00:08 +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 4SVvCX2Wqgz4XV3; Wed, 15 Nov 2023 20:00:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700078408; 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=flWY8x64bz8Ls++9ggpoJn+UeiSLkUxiEItq7Hqc0Mg=; b=i1SNhUv2QvAwqV4q5mvIU4NPEN+qQebXdwqkcxwYdyJMKLmqF0GffD4gQHdnOND63xE6qQ bVHIU5TTlxlrsfgk2qZYLSnuxF35jBieZ4dSt4KByK0QI4uzK9Zu0Hfq93QQ2MB8vWRt6Y uIE401lR+r1XQPjfEnkfo7C7XyXjx0ftTHgu3QNM6bW8Dx7idIBnC38sMdm+hF4iOvG6sc zTnRZHSF7P+EGiz09paBNWMSlBz/Fq/9l8A3wHMwjCNOHlDZ68nS7O0lRCfoHdbt4r9CpI IH1lJ7sbm270b+UDCQJNwcGOD9c27aZa9BdV7Dfkaz4AiUC24BrKgDJpHGzEqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700078408; 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=flWY8x64bz8Ls++9ggpoJn+UeiSLkUxiEItq7Hqc0Mg=; b=CvoXcqJxHZta6ubVCkFtuMPRgSRE2qNjS3/IHjIFNnnescZvHIrcDAd66xJk52DnRWSpWs s4Yy0kJsW09KENYsZgCCH3Con9Y60NwP39dZg4TqY1Emh8hjPBUcV+CRmCzYI35c95u2Xm PIRXpefUa9RW9m+DPpPPSLvW+5AAJ06ogR4P4Vs+t/jJANTuQ//vY2c+40x/Mj4/5xm6by /brw4g13fVVwTG7t+VWvJ14XBHlJGDKOqCppjubv0JogH6fGooDTEF7aS9Sh2ODsUnGlcE Iy23FWT0ix/I59hdByduzBukfGKa/6XFmQyld430Me8qzJGEd9VLAk2Z4uKZ7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700078408; a=rsa-sha256; cv=none; b=S3/BK7fljz0M2naDEIKfUb9Fkn9Q6Mon8QdbHvOxEMmfigPfILXDivILKfplmVujZG8q5x WXyc5g+f47dMNC3a+mchlBJykwxhXddP4p43N7rOenqElpwBh3ZjuB1qKOkA+O9oQ/lWTx a+Oxo23ep2qJUVywphTGzqeqkTkNB4kl6JEjAlgWWip7Gzr0Hy3DoM6zZwxVdlqc/DYLjl EYvEBR8ePfFpeJIX1oJ6tkK+x+4P9rEPh6giIur/T65K0cxbcz6+rEMEa8q3bukYySwuLp T9Ru6OwYxPzBsGvE0DBYi+8I33cyKz0aNoKSOjxX7IS2D8uaAa2oOcVMrBoPpQ== 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 4SVvCX1b07zVh2; Wed, 15 Nov 2023 20:00:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AFK08QJ049680; Wed, 15 Nov 2023 20:00:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AFK08su049676; Wed, 15 Nov 2023 20:00:08 GMT (envelope-from git) Date: Wed, 15 Nov 2023 20:00:08 GMT Message-Id: <202311152000.3AFK08su049676@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: f88698a4ebc6 - stable/14 - tcpdump: decode pfsync packets on network interfaces List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f88698a4ebc6e879608a435a6ffda475190dc739 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f88698a4ebc6e879608a435a6ffda475190dc739 commit f88698a4ebc6e879608a435a6ffda475190dc739 Author: Luiz Amaral AuthorDate: 2023-11-08 15:12:14 +0000 Commit: Kristof Provost CommitDate: 2023-11-15 09:45:33 +0000 tcpdump: decode pfsync packets on network interfaces When print-ip-demux.c was introduced on ee67461e, the pfsync_ip_print function was missed, causing tcpdump to treat pfsync packets on network interfaces as an unknown protocol. MFC after: 1 week Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D42504 (cherry picked from commit 85247ee6a2ba1c2dd0053e9be9055efa4be1438e) --- contrib/tcpdump/print-ip-demux.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/contrib/tcpdump/print-ip-demux.c b/contrib/tcpdump/print-ip-demux.c index a0a6fbd11f3a..758601910881 100644 --- a/contrib/tcpdump/print-ip-demux.c +++ b/contrib/tcpdump/print-ip-demux.c @@ -216,6 +216,12 @@ again: } break; +#ifdef HAVE_NET_IF_PFLOG_H + case IPPROTO_PFSYNC: + pfsync_ip_print(ndo, bp, length); + break; +#endif + case IPPROTO_NONE: ND_PRINT("no next header"); break; From nobody Thu Nov 16 08:22:15 2023 X-Original-To: dev-commits-src-branches@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 4SWCgr5Ydbz51LNt; Thu, 16 Nov 2023 08:22:16 +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 4SWCgr13M6z3bj8; Thu, 16 Nov 2023 08:22:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700122936; 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=/JJk2XV9tgP4hBjPphJk7WNYhHeRq4o8Bf5peY6eu34=; b=FHtHpzOG9By3U1USDhYZXF4uQ0DJCiymF5GB1OBB6C/fSIG/w8v1lJKMPsCqmOHkzmrQW6 u2UOU5ODx7DTaIZMMKEjdNbkSRMDuQ9kdcVnbA4z266ZZL2ffudWwztbNVkXGBtPGNmIom I7ywTA+6kbWJB8NAtu5KEQleczo/KE2PXe+/oQHT+pLtDmAlYtXds1fB2GJLCH328sItm8 LxKzcRew040O1Qp4Gf2G1DRUF9o90tevgV2WKpWsZ0b9X6Z3ROz+ExgGxedIacCAXPTwlq c67nMoTGMXTE6DRM77+tdDgEIWHVZmmuzzPrifFHeAKzZRgdrgdsBfLuuSk9TA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700122936; 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=/JJk2XV9tgP4hBjPphJk7WNYhHeRq4o8Bf5peY6eu34=; b=ZQkbUt33PLalv+XCGdhP7JXTGm/6zY+a//ToDm2oApZqq4kSw6oNoUwJUpC1JM67PmHrYP YHhbEzztD5/jDIGwQnUScnGBKhp8erp/1K5A+lQzlAcxgeYQhpqB+WZk0xbFw96azNXD+y SxPBh7/X1zv1j/w+HZ6cpZm62l/jJOxviDAn0N8Ddsnxzgf5WtKV/ZAiUimgz2jIW1N2pk 1hsRJfpsoOhraFBoiEGnSJsQ10oOz/DEEVn0oi8KBdjbNzcyq1p0qYWVmYb8dc7My5gqFl qG3B3qRS44vgc7WZNcvH6knrwu/CKZl6GcSRtrOqrrfFtr9t8+tKZJITeQdF9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700122936; a=rsa-sha256; cv=none; b=que/nIJZCP/xy+PEFvRJpuo4gbrw02ZXrYqOwR7h+K6ljKa8x7Rf4OeAaQhT35v4HsWuQr /hMgpWr8nhdIk3abDPVUhd6SV5krIa8S+hhh9WAVjMf0LAjZayR5RrfhD2sLRILuPUXKIV FI+6FFHAbpdQ7FlomhF4VPcNS9g6FPbXW/G/CIlluPrwHQliQC+c8B1BvEUQ+fbrCwBQcR Bhv/WuaU3U7DRnepfhCcNCFBoKeBb2Fa3zGpB5Aro2u9e2Lq5LnobL+0Ot8dEmC35r5Wmp Eb/XSD7jvHamZiQpIG60crvm2RYNZtby9dpWzxXhmCUVjVtoADk6NcDtOvBjhw== 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 4SWCgr06P4zsRq; Thu, 16 Nov 2023 08:22:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AG8MFWh099907; Thu, 16 Nov 2023 08:22:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AG8MF0p099904; Thu, 16 Nov 2023 08:22:15 GMT (envelope-from git) Date: Thu, 16 Nov 2023 08:22:15 GMT Message-Id: <202311160822.3AG8MF0p099904@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Rabson Subject: git: da7e9601a99a - stable/14 - pkgbase: use . format for alpha, beta and release package versions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dfr X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: da7e9601a99afd3f8777f6ae62fd51e601e15085 Auto-Submitted: auto-generated The branch stable/14 has been updated by dfr: URL: https://cgit.FreeBSD.org/src/commit/?id=da7e9601a99afd3f8777f6ae62fd51e601e15085 commit da7e9601a99afd3f8777f6ae62fd51e601e15085 Author: Doug Rabson AuthorDate: 2023-11-13 13:04:26 +0000 Commit: Doug Rabson CommitDate: 2023-11-16 08:19:08 +0000 pkgbase: use . format for alpha, beta and release package versions This is consistent with version numbers used in releng/13.2. PR: 275051 Reviewed by: bapt MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D42562 (cherry picked from commit 21e9018ae19662db643a21064150da866bc7beb4) --- Makefile.inc1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 4f564547bc84..46663e72750b 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -547,9 +547,11 @@ VERSION= FreeBSD ${_REVISION}-${_BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDA MAJOR_REVISION= ${_REVISION:R} .if !defined(PKG_VERSION) +_PKG_REVISION= ${_REVISION} _STRTIMENOW= %Y%m%d%H%M%S _TIMENOW= ${_STRTIMENOW:gmtime} .if ${_BRANCH:MCURRENT*} || ${_BRANCH:MSTABLE*} || ${_BRANCH:MPRERELEASE*} +_PKG_REVISION= ${MAJOR_REVISION} EXTRA_REVISION= .snap${_TIMENOW} .elif ${_BRANCH:MALPHA*} EXTRA_REVISION= .a${_BRANCH:C/ALPHA([0-9]+).*/\1/}.${_TIMENOW} @@ -560,7 +562,7 @@ EXTRA_REVISION= .rc${_BRANCH:C/RC([0-9]+).*/\1/}.${_TIMENOW} .elif ${_BRANCH:M*-p*} EXTRA_REVISION= p${_BRANCH:C/.*-p([0-9]+$)/\1/} .endif -PKG_VERSION:= ${MAJOR_REVISION}${EXTRA_REVISION:C/[[:space:]]//g} +PKG_VERSION:= ${_PKG_REVISION}${EXTRA_REVISION:C/[[:space:]]//g} .endif .endif # !defined(PKG_VERSION) From nobody Thu Nov 16 10:17:09 2023 X-Original-To: dev-commits-src-branches@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 4SWGDP5NyKz50STW; Thu, 16 Nov 2023 10:17:09 +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 4SWGDP4gwXz4JtT; Thu, 16 Nov 2023 10:17:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700129829; 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=JvcCq2ERAIUrAXewqtb0uivL3ZSqizaNz0xCqy5Bvzc=; b=gezkx8QgT1pZvwlN8JlnPNyz4k1ONX4Ry1CqlIYNgsueR1s/7fwZlUfz9c5QqGtXEz/1Ca jzEW2AUkhR5pO58OO7AHLW5DpZv1AISIr9Aw6J2D0tA09uyJVxRQGza46lkdGxI1Ds+NKu 0bWe75PdZfjg6v9/+K7o3hry6XRpGXGITGmZIyQ/rR5znqgd2zsfOP2ebWiiiVYvRDu/aP 1adk4SCHkVGa0qrXaPLtV2lmDKNs1UBUDr7PfvOnYudlGTvCNwqzfwjgxn+jqxQ9ajQu1U d5QX6FJdZOERBZJaq3Ghake40vtQFSau/ojceiCvRRG3Na7676GmhO4kvdKMyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700129829; 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=JvcCq2ERAIUrAXewqtb0uivL3ZSqizaNz0xCqy5Bvzc=; b=xkzY7Tu3Q0ZTjkyPzERARlul6aKHwR3CLdDMx1aXDejsLFn36ENDs2/a5aDqH7QDpgCt9o O5u5dutezJxwlzAtHaBqQhhK1ZklmQGrirmSxtuTO8eY723uISL3SjooEU5hmF4Ktk40Lh hdzYY/Ftbqg5XsVK8e/6AyqfAaNlYfAK21zU6ohG0aRRl1cpLmT7/OBdhINHcKrQoo3rIW ldgb8bqZBmHMxDSiezMNWuC28t8+JrXKVnAF+5LcDpC7rmOZHU72ppmK0EwMXiglbMZZSf 15BfZ5o9Vo08h0mO7sch7UGi7RIsfyKDJQUQ4TdJjj3kfaAOU4oskZ4Czyybtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700129829; a=rsa-sha256; cv=none; b=B7eyVYLVzsYCPUDItDqz2E2pTSGw9ux+R8cFHBlBVSF6YS+Xye6grpvUyr4nPo4NeooDjA +RXobOZa2lze4fOD1T9VWUhHg/TGONYFqZCLEo03NPUi0jMTc1h7Be79jo6u5isTH4C4ZT GjWICv9R2vhcOO2RIQHVA/pqubQ52EV5154wgNv6UQW+u0j26joCBtJxtsHHSx8ZwcS9QK gRTQy3f4a/AdS60lPvZVhxzBqXzMxA/RjPWTuB57YywuaFo149ZwPJhzKwbS9D0lucean4 Ch3vI3bMoAlY2GXePGDVHxB/inJHv5/z2dV3G/xH07Om9ubxoqylUtPWWKbgmw== 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 4SWGDP3l1wzwfK; Thu, 16 Nov 2023 10:17:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGAH9Fh085459; Thu, 16 Nov 2023 10:17:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGAH9QE085456; Thu, 16 Nov 2023 10:17:09 GMT (envelope-from git) Date: Thu, 16 Nov 2023 10:17:09 GMT Message-Id: <202311161017.3AGAH9QE085456@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: c1f3f795d80d - stable/14 - pf: add hashtable row count SDT List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c1f3f795d80dab4d0ab1ea213252a96735d99a24 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c1f3f795d80dab4d0ab1ea213252a96735d99a24 commit c1f3f795d80dab4d0ab1ea213252a96735d99a24 Author: Kristof Provost AuthorDate: 2023-11-09 12:39:56 +0000 Commit: Kristof Provost CommitDate: 2023-11-16 08:39:45 +0000 pf: add hashtable row count SDT This allows us to figure out how many states each hashrow contains. That can be important to know when debugging performance issues. A simple probe could be: dtrace -n 'pf:purge:state:rowcount { @counts["states per row"] = quantize(arg1); }' dtrace: description 'pf:purge:state:rowcount ' matched 1 probe ^C states per row value ------------- Distribution ------------- count -1 | 0 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8257624 1 | 14321 2 | 0 MFC after: 1 week Sponsored by: Modirum MDPay (cherry picked from commit 0d2ab4a4ced0f153a6b6a58ca3cfa6efbeeec7a2) --- sys/netpfil/pf/pf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 4990dce653b1..d5a9583d83f8 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -137,6 +137,7 @@ SDT_PROBE_DEFINE3(pf, eth, test_rule, mismatch, SDT_PROBE_DEFINE2(pf, eth, test_rule, match, "int", "struct pf_keth_rule *"); SDT_PROBE_DEFINE2(pf, eth, test_rule, final_match, "int", "struct pf_keth_rule *"); +SDT_PROBE_DEFINE2(pf, purge, state, rowcount, "int", "size_t"); /* * Global variables @@ -2174,6 +2175,7 @@ pf_purge_expired_states(u_int i, int maxcheck) struct pf_idhash *ih; struct pf_kstate *s; struct pf_krule_item *mrm; + size_t count; V_pf_status.states = uma_zone_get_cur(V_pf_state_z); @@ -2181,6 +2183,7 @@ pf_purge_expired_states(u_int i, int maxcheck) * Go through hash and unlink states that expire now. */ while (maxcheck > 0) { + count = 0; ih = &V_pf_idhash[i]; /* only take the lock if we expect to do work */ @@ -2203,10 +2206,13 @@ relock: mrm->r->rule_ref |= PFRULE_REFS; if (s->rt_kif) s->rt_kif->pfik_flags |= PFI_IFLAG_REFS; + count++; } PF_HASHROW_UNLOCK(ih); } + SDT_PROBE2(pf, purge, state, rowcount, i, count); + /* Return when we hit end of hash. */ if (++i > pf_hashmask) { V_pf_status.states = uma_zone_get_cur(V_pf_state_z); From nobody Thu Nov 16 10:17:28 2023 X-Original-To: dev-commits-src-branches@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 4SWGDm5p6Kz50SG0; Thu, 16 Nov 2023 10:17:28 +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 4SWGDm4xKkz4KbJ; Thu, 16 Nov 2023 10:17:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700129848; 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=ziEMbxzMS4eztbPOgiixgm/5Il7+nDPa49IBictJ970=; b=yzFophipWA2UfX8xys/PNG8QHVK7EVcQ40mO8s7DsmXnrr2E/2/ZTD815ObfjLmRkE9A7w 2PbkA4pp0JOWR91zXcwJVxzAjcovuKVFSNNB7XHwAwzvCaBF2HcuacQvsSOubB3YhRJBQd eyu2+rTVaYZiKzZNy4+wvuxldfBwJWZzSD1dFXXJllikpCNa/aRRp0Iohwr6JI7BeHaHVB 9XSR0umzMGoGyQ4Br0889RmJ2jYnGCu1mVn7BVYyeerxdQhkSZw10tSnISBQHZlcOaIAsx 9o8uTTe2azd1+ZoAgO1nat+eJLyKZJRxX2iGZttdqKPlhaKSFl7yxggEsvbk+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700129848; 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=ziEMbxzMS4eztbPOgiixgm/5Il7+nDPa49IBictJ970=; b=qvhpAtZNx8T8Es5Y+GAPV7/5XGJhH8+9oyZlS/Ft6yhi2FLUpka2P/fRldDD0WgR2+goK+ e68Wl79g59oqPC6CVFPvdaC8NGUj/ONzlrv+bVpp8t0MEAIjBIeM8lZaiZ2cn8gVlpPzd6 fFpNbCkYN4s9bjDCt4uHb/HOwauf+mzo4PVZTEYTYYJx6eSQX8Sq5+mnM4btDNHvKAmlW6 T+M8CdBPeW3MNQfuLEZmQJzqjnWrAdQAaDvNqv/WRzLSjIQAChTYlIjTy/GUnfkZqofVGs lyFwu3qy8YD2QGe53zHlhRNKjhSVuQinNt/KDP+eaNlEdnFnTlS8WObRUJqC+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700129848; a=rsa-sha256; cv=none; b=TVVh2/yG3+r62q5ejkf+OvCCxQPEglufqYJ5YvXKRVtPgFpUSu0YBFWwRJwqORydcom6T3 XWFUxIUIGTspy0DoAXVjXRiYLY5n/mj+PtLEJ6BX8wgAUshblGcA3mhwP1q/xAtlgeuIwM KkEYuKY1T0yNdNWqtx43mNkm+NyEgw1M4E7ry4XHub/4SJhfYYSgOmAAzVMI6XyMUduSN/ bYNewQhbQ7fxVoSqk+ZF1WTXRUXuLwl/FrXB5DpP93rF9R+pBT71z4x70xZyHdxQPwJwYe t5w9Gic1HvCGnvHgK/098f8vCtgb51KtRMD2NgfVbdLdNdZ5u0ptb2JwMl+a7w== 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 4SWGDm3zFTzvx0; Thu, 16 Nov 2023 10:17:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGAHShK085632; Thu, 16 Nov 2023 10:17:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGAHSnl085629; Thu, 16 Nov 2023 10:17:28 GMT (envelope-from git) Date: Thu, 16 Nov 2023 10:17:28 GMT Message-Id: <202311161017.3AGAHSnl085629@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: d9e3f1a5da21 - stable/13 - pf: add hashtable row count SDT List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d9e3f1a5da21b905c3e904643dc45e794eb842e6 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=d9e3f1a5da21b905c3e904643dc45e794eb842e6 commit d9e3f1a5da21b905c3e904643dc45e794eb842e6 Author: Kristof Provost AuthorDate: 2023-11-09 12:39:56 +0000 Commit: Kristof Provost CommitDate: 2023-11-16 08:40:14 +0000 pf: add hashtable row count SDT This allows us to figure out how many states each hashrow contains. That can be important to know when debugging performance issues. A simple probe could be: dtrace -n 'pf:purge:state:rowcount { @counts["states per row"] = quantize(arg1); }' dtrace: description 'pf:purge:state:rowcount ' matched 1 probe ^C states per row value ------------- Distribution ------------- count -1 | 0 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8257624 1 | 14321 2 | 0 MFC after: 1 week Sponsored by: Modirum MDPay (cherry picked from commit 0d2ab4a4ced0f153a6b6a58ca3cfa6efbeeec7a2) --- sys/netpfil/pf/pf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 7bac94f77a32..80f4a8fa0626 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -120,6 +120,7 @@ SDT_PROBE_DEFINE5(pf, ip, state, lookup, "struct pfi_kkif *", "struct pf_kstate *"); SDT_PROBE_DEFINE4(pf, sctp, multihome, test, "struct pfi_kkif *", "struct pf_krule *", "struct mbuf *", "int"); +SDT_PROBE_DEFINE2(pf, purge, state, rowcount, "int", "size_t"); /* * Global variables @@ -2130,6 +2131,7 @@ pf_purge_expired_states(u_int i, int maxcheck) { struct pf_idhash *ih; struct pf_kstate *s; + size_t count; V_pf_status.states = uma_zone_get_cur(V_pf_state_z); @@ -2137,6 +2139,7 @@ pf_purge_expired_states(u_int i, int maxcheck) * Go through hash and unlink states that expire now. */ while (maxcheck > 0) { + count = 0; ih = &V_pf_idhash[i]; /* only take the lock if we expect to do work */ @@ -2157,10 +2160,13 @@ relock: s->kif->pfik_flags |= PFI_IFLAG_REFS; if (s->rt_kif) s->rt_kif->pfik_flags |= PFI_IFLAG_REFS; + count++; } PF_HASHROW_UNLOCK(ih); } + SDT_PROBE2(pf, purge, state, rowcount, i, count); + /* Return when we hit end of hash. */ if (++i > pf_hashmask) { V_pf_status.states = uma_zone_get_cur(V_pf_state_z); From nobody Thu Nov 16 20:54:39 2023 X-Original-To: dev-commits-src-branches@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 4SWXMz5cNRz5153J; Thu, 16 Nov 2023 20:54:39 +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 4SWXMz55GZz4H31; Thu, 16 Nov 2023 20:54:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168079; 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=pMSoyfx5zBF7skCOWNoEostrjVxaep1GvEj3mHwIebw=; b=Nh2yVNYTRmBweUCJAyWDKWvESjHfzL+UqR6FbnRcUyBzyi/hi0in8N3uFELTg+Ng0oC0J0 AULugQiTomh0aElgTE+KJkIHG13sw5WSQOjBR6glPvD5Gznu9pxx3W2ImCpMCUFfGSxOVv NGV7Wt77glbnfQ1FkJFIr6744xQOBVpiKAnC1weckkYw7B7qW31pi2rAfnjWuVozt1SSqy lMpudNa6jQ+wlpxEJBut+jnHr88+Lum9GsgRMfQZpXO2RbeBs976eUEOPwN/dwHqjY7kye hWUMCMPeJk2RIqKTVmMjCt3r7nwFQWSF56PiowGTx5+SvqudNX0c2cx2j2T14Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168079; 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=pMSoyfx5zBF7skCOWNoEostrjVxaep1GvEj3mHwIebw=; b=eaXk1aC8bifhZejTkH2SAgtZ9LQ4hxwrx5+Wa9ozJBAeR4DyASJWjTUNEoo2hXatMP382/ sXm97QCHaiQO/9sgCHA9D8YHNI6VF1ra7z3L0OLq9/bvGmKp2ozdWTFxrvjSrPr1XdCmim cjNnOHg2Ig67SrhZ70uXR2qUHESIK3KFDENYr/+kO93ntWL0QcbEJixjVWqT3HDXhNaE7l nBixmir5mlo6HYmct2sWKSmgjFu63OA66B42NZtgW5F7XKG02BhizW9+ydYd1ce8vMqgVJ MYz/5RIGVsHGz5vMyCWMHW9GBedtqwgu+JkvLWxU7pvKHGGVmeWe3C9uuuLNDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700168079; a=rsa-sha256; cv=none; b=TEJYxI1n4fnUAPolwvnG61djl69Vv95oq8LtR3dqFmpEgiXD5gAiwEY9DJlvot7XwFWt5w ighkeujFsN8r3fE0T8Cl80JtIWwmmcQr/h9g8Wk5cTCccFXd9dPLt6cHlxL/9dnlgqPCIO s5DhOW5k5xkHymDneD/iBzDS/lg0oA1TwcTl8rxwHURgaoo27Bvp+7pOJs9dd5s51aRGpZ GlkoqFiJjdAZMx1t1j/aX6SGtX2jEVeNOppRR1JiTr1GEZUbqM/TjCft8ivgzzu9kP7Se+ D4imghp6PZOF4LZv63IbqYgVEo1Pavgw+ZQxgUMtJlGQLv4V0pPk8xAO9Tm+Uw== 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 4SWXMz47q6zcV; Thu, 16 Nov 2023 20:54:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGKsd0F053653; Thu, 16 Nov 2023 20:54:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGKsd9U053650; Thu, 16 Nov 2023 20:54:39 GMT (envelope-from git) Date: Thu, 16 Nov 2023 20:54:39 GMT Message-Id: <202311162054.3AGKsd9U053650@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: 4587326893d2 - stable/14 - uma: Hide 'uma_align_cache'; Create/rename accessors List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 4587326893d2c7720cd292946d96302a2653b77b Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4587326893d2c7720cd292946d96302a2653b77b commit 4587326893d2c7720cd292946d96302a2653b77b Author: Olivier Certner AuthorDate: 2023-10-13 09:52:28 +0000 Commit: Mark Johnston CommitDate: 2023-11-16 15:07:07 +0000 uma: Hide 'uma_align_cache'; Create/rename accessors Create the uma_get_cache_align_mask() accessor and put it in a separate private header so as to minimize namespace pollution in header/source files that need only this function and not the whole 'uma.h' header. Make sure the accessors have '_mask' as a suffix, so that callers are aware that the real alignment is the power of two that is the mask plus one. Rename the stem to something more explicit. Rename uma_set_cache_align_mask()'s single parameter to 'mask'. Hide 'uma_align_cache' to ensure that it cannot be set in any other way then by a call to uma_set_cache_align_mask(), which will perform sanity checks in a further commit. While here, rename it to 'uma_cache_align_mask'. This is also in preparation for some further changes, such as improving the sanity checks, eliminating internal resolving of UMA_ALIGN_CACHE and changing the type of the 'uma_cache_align_mask' variable. Reviewed by: markj, kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42258 (cherry picked from commit dc8f7692fd1de628814f4eaf4a233dccf4c92199) --- sys/arm/arm/cpufunc.c | 2 +- .../linuxkpi/common/include/linux/dma-mapping.h | 4 +-- sys/vm/uma.h | 6 ++-- sys/vm/uma_align_mask.h | 36 ++++++++++++++++++++++ sys/vm/uma_core.c | 18 ++++++++--- 5 files changed, 56 insertions(+), 10 deletions(-) diff --git a/sys/arm/arm/cpufunc.c b/sys/arm/arm/cpufunc.c index 32b3d2f869c9..f2845eb80f3b 100644 --- a/sys/arm/arm/cpufunc.c +++ b/sys/arm/arm/cpufunc.c @@ -254,7 +254,7 @@ set_cpufuncs(void) panic("No support for this CPU type (%08x) in kernel", cputype); return(ARCHITECTURE_NOT_PRESENT); out: - uma_set_align(arm_dcache_align_mask); + uma_set_cache_align_mask(arm_dcache_align_mask); return (0); } diff --git a/sys/compat/linuxkpi/common/include/linux/dma-mapping.h b/sys/compat/linuxkpi/common/include/linux/dma-mapping.h index 330babf761f9..53c59bea8ef2 100644 --- a/sys/compat/linuxkpi/common/include/linux/dma-mapping.h +++ b/sys/compat/linuxkpi/common/include/linux/dma-mapping.h @@ -43,6 +43,7 @@ #include #include +#include #include #include @@ -350,8 +351,7 @@ dma_max_mapping_size(struct device *dev) #define dma_unmap_len(p, name) ((p)->name) #define dma_unmap_len_set(p, name, v) (((p)->name) = (v)) -extern int uma_align_cache; -#define dma_get_cache_alignment() uma_align_cache +#define dma_get_cache_alignment() uma_get_cache_align_mask() static inline int diff --git a/sys/vm/uma.h b/sys/vm/uma.h index 76f30efc94d1..793f9af3dace 100644 --- a/sys/vm/uma.h +++ b/sys/vm/uma.h @@ -470,12 +470,14 @@ void uma_zone_reclaim_domain(uma_zone_t, int req, int domain); * alignment. Should be called by MD boot code prior to starting VM/UMA. * * Arguments: - * align The alignment mask + * mask The alignment mask * * Returns: * Nothing */ -void uma_set_align(int align); +void uma_set_cache_align_mask(int mask); + +#include /* * Set a reserved number of items to hold for M_USE_RESERVE allocations. All diff --git a/sys/vm/uma_align_mask.h b/sys/vm/uma_align_mask.h new file mode 100644 index 000000000000..666633350b9d --- /dev/null +++ b/sys/vm/uma_align_mask.h @@ -0,0 +1,36 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 The FreeBSD Foundation + * + * This software was developed by Olivier Certner + * at Kumacom SAS under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _VM_UMA_ALIGN_MASK_H_ +#define _VM_UMA_ALIGN_MASK_H_ + +int uma_get_cache_align_mask(void) __pure; + +#endif /* !_VM_UMA_ALIGN_MASK_H_ */ diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c index de0ab48b0f9b..6e83a27bab27 100644 --- a/sys/vm/uma_core.c +++ b/sys/vm/uma_core.c @@ -150,7 +150,7 @@ static uma_zone_t slabzones[2]; static uma_zone_t hashzone; /* The boot-time adjusted value for cache line alignment. */ -int uma_align_cache = 64 - 1; +static int uma_cache_align_mask = 64 - 1; static MALLOC_DEFINE(M_UMAHASH, "UMAHash", "UMA Hash Buckets"); static MALLOC_DEFINE(M_UMA, "UMA", "UMA Misc"); @@ -3243,7 +3243,7 @@ uma_kcreate(uma_zone_t zone, size_t size, uma_init uminit, uma_fini fini, args.size = size; args.uminit = uminit; args.fini = fini; - args.align = (align == UMA_ALIGN_CACHE) ? uma_align_cache : align; + args.align = (align == UMA_ALIGN_CACHE) ? uma_cache_align_mask : align; args.flags = flags; args.zone = zone; return (zone_alloc_item(kegs, &args, UMA_ANYDOMAIN, M_WAITOK)); @@ -3252,11 +3252,19 @@ uma_kcreate(uma_zone_t zone, size_t size, uma_init uminit, uma_fini fini, /* Public functions */ /* See uma.h */ void -uma_set_align(int align) +uma_set_cache_align_mask(int mask) { - if (align != UMA_ALIGN_CACHE) - uma_align_cache = align; + if (mask >= 0) + /* UMA_ALIGN_CACHE is also not permitted here. */ + uma_cache_align_mask = mask; +} + +/* Returns the alignment mask to use to request cache alignment. */ +int +uma_get_cache_align_mask(void) +{ + return (uma_cache_align_mask); } /* See uma.h */ From nobody Thu Nov 16 20:54:40 2023 X-Original-To: dev-commits-src-branches@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 4SWXN109mNz5155Q; Thu, 16 Nov 2023 20:54:41 +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 4SWXN064Cgz4Ghs; Thu, 16 Nov 2023 20:54:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168080; 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=6fZRV5PDWZD4jNvCtMuvu+b2E6mo+CnkckhxktXNeEQ=; b=cWrWqonstbZMpNmLv4CxFuTSucxQAlSXsgVT7q+5OnEzgEBLhLG0nEvbcEan0egGIMoFhL P9UBO3tX8geypBC6erzHayJgs9KxlRn2bvjCY6urCYJTzfHITm3BZPETv8VXV2TKt4qsrY oluYK9C5/yBbOZFkNLE1uDgWDhxXehQ5h0E4w681lV4RkzyVQfpJw7iwng4Gqe5FQjR2h0 AZInzuf8LETTLif1rB5kfuGOYwr7dSRy2RryYPq9n9AF/xUrFUjrzdYIv7RHIrLXa+zFty v5g1sPqTNwRUHIe5W9QW3N+UrE0d/JN1lxRfHavnntQm3GhL9vE9ezG+juHXdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168080; 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=6fZRV5PDWZD4jNvCtMuvu+b2E6mo+CnkckhxktXNeEQ=; b=AaB54JVDfrNUUGnCngkCcjPytSwz3tp95flNB1kEkGazb401Y8Jx4mSukvIN2pw35ntl2F Fky6RwVlzzGI5fSHPh251nFGnopcq9VnxIUBC9V2S7ByeQG/saaZt6xgVdIuiIGJyQAvpP eSYh1ExYJz5NrYqJg2XrUa8jo14fq/rolqaQ5WDGjiDLnnEqddniMNDH7OG0fA9EOCHwTY iwW/KhN9xDw+KEjJnfAKX++7ZLSd03tBT9B8oBgfF136m86B+5ekoGYu17TDfJyomuCjjo n/5XDELNhNclcKMmGuszDjsROb3MXf8LJZHHs0+cnMrq47gozIGZaip10NEMAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700168080; a=rsa-sha256; cv=none; b=TGzOuM0Mn1w+46C9wTgF6/TNjoCQ8qjHpz6xEQcAPpyI9sf8YK4q/Frvq9AF8q7QwDekv9 Mwabr1H4nK4o+le1mB6u7Mr+yWJFy9y/DilmSEqE62yYBAji+jiawvHBtt6sNjBr2aog+x 5rZ7/GGfjPZ1qxwG4wrXt3H2XQ1caFanV0miqgGUtWxpHgy+AEoUgmB5uZerKgRNi2/PfX +lJ4PBVw+NJJk5HiJB4l10jHzllmEuGnCWpkgFa8UwfIymPZZFbppzmz8jRFn0BtbN06Bv 2/UlNYPKH535Izka8iQk0fgT/6cS36ndRIODnGnIM3ydZes2DrjhguCTAkSuvQ== 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 4SWXN059fyz1NK; Thu, 16 Nov 2023 20:54:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGKseBe053711; Thu, 16 Nov 2023 20:54:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGKseNQ053708; Thu, 16 Nov 2023 20:54:40 GMT (envelope-from git) Date: Thu, 16 Nov 2023 20:54:40 GMT Message-Id: <202311162054.3AGKseNQ053708@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: c98dded0c762 - stable/14 - uma: UMA_ALIGN_CACHE: Resolve the proper value at use point List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: c98dded0c76266740e94ac53e8a2f02be1d61e4f Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c98dded0c76266740e94ac53e8a2f02be1d61e4f commit c98dded0c76266740e94ac53e8a2f02be1d61e4f Author: Olivier Certner AuthorDate: 2023-10-13 12:13:30 +0000 Commit: Mark Johnston CommitDate: 2023-11-16 15:07:11 +0000 uma: UMA_ALIGN_CACHE: Resolve the proper value at use point Having a special value of -1 that is resolved internally to 'uma_align_cache' provides no significant advantages and prevents changing that variable to an unsigned type, which is natural for an alignment mask. So suppress it and replace its use with a call to uma_get_align_mask(). The small overhead of the added function call is irrelevant since UMA_ALIGN_CACHE is only used when creating new zones, which is not performance critical. Reviewed by: markj, kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42259 (cherry picked from commit e557eafe7233f8231c1f5f5b098e4bab8e818645) --- sys/vm/uma.h | 2 +- sys/vm/uma_core.c | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/vm/uma.h b/sys/vm/uma.h index 793f9af3dace..4bf23534ed27 100644 --- a/sys/vm/uma.h +++ b/sys/vm/uma.h @@ -301,7 +301,7 @@ uma_zone_t uma_zcache_create(const char *name, int size, uma_ctor ctor, #define UMA_ALIGN_INT (sizeof(int) - 1) /* "" int */ #define UMA_ALIGN_SHORT (sizeof(short) - 1) /* "" short */ #define UMA_ALIGN_CHAR (sizeof(char) - 1) /* "" char */ -#define UMA_ALIGN_CACHE (0 - 1) /* Cache line size align */ +#define UMA_ALIGN_CACHE (uma_get_cache_align_mask()) /* Cache line size align */ #define UMA_ALIGNOF(type) (_Alignof(type) - 1) /* Alignment fit for 'type' */ #define UMA_ANYDOMAIN -1 /* Special value for domain search. */ diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c index 6e83a27bab27..b74fbd57e77f 100644 --- a/sys/vm/uma_core.c +++ b/sys/vm/uma_core.c @@ -3243,7 +3243,7 @@ uma_kcreate(uma_zone_t zone, size_t size, uma_init uminit, uma_fini fini, args.size = size; args.uminit = uminit; args.fini = fini; - args.align = (align == UMA_ALIGN_CACHE) ? uma_cache_align_mask : align; + args.align = align; args.flags = flags; args.zone = zone; return (zone_alloc_item(kegs, &args, UMA_ANYDOMAIN, M_WAITOK)); @@ -3256,7 +3256,6 @@ uma_set_cache_align_mask(int mask) { if (mask >= 0) - /* UMA_ALIGN_CACHE is also not permitted here. */ uma_cache_align_mask = mask; } From nobody Thu Nov 16 20:54:41 2023 X-Original-To: dev-commits-src-branches@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 4SWXN20QvMz5155S; Thu, 16 Nov 2023 20:54:42 +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 4SWXN174cLz4GrD; Thu, 16 Nov 2023 20:54:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168082; 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=Y/L2vCGMLpYVq493T9/gFbMjIh7lgF2HZbtCjz1k8AI=; b=TnwHURTkFe4wWpf4/CzCph4kzKtftbN9SaL2czaYwC9T7cgfkF/j0lEIz6OAUtJVeG6JO7 nXrVI6fNUIBGEA+7t0XUx67pmwug5BRK6Kg3EN7IKdoi6vKDzpGFjyCjP2/67d56GaEBAR j3KzkgGLcYZA0wf4v4uRgbWLj57W9UuNBFmvJPsyQMP8S8iODghdk5qIi//0pAf47p/50u 9TL0XmDWm793nZzLxAlx8A3SwahRT84O9r0cuFIym/GHaCU/MHmZKrVp5bO22TUXSdHlvQ uhpuDX5uYDVqT8f/dBOdHAZ8utbOrDlnTCxB9Kd8aql/GB0qhNpe/Dqw3zEPHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168082; 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=Y/L2vCGMLpYVq493T9/gFbMjIh7lgF2HZbtCjz1k8AI=; b=L04nFWsIAf2OwyidcI5IWP4VPGtWf6cVbdEmbrnmHpGhMBJSILzoGUvwCKp0RgX5OKietF PMpNaC00YYBl26PbpREoL1M2wmdLZdsduZMJ3tUj5Q6tnt3/wR91aq+TX11ft7L7oxQRd2 S+DhYEHlKRcAXqQ8iiYMaXneCT8wy2hHA61a2EhBTKtldb5TXH4jA1obDgN+gXEttIGu5h Mco7aM+5ZVbW4NKeoBCKm0VO/H0dgfRvgsRWnOquuNW8C+d1wI40zfEubwJZfJK/a+djKm u7jFshDplOxiDxSEJ5Tu0j+9o8UNsCU2C8Fly1GpdlI0v7tMPiQfJ4OEpwHNFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700168082; a=rsa-sha256; cv=none; b=FBs+/g4sZoDGkb2TPlxua2iFoHmzLqZtKhulHoNVTH1v7z8rDMZLxzfI4+WmLpuogvqnvh V/YSM8vX/2tAQfElFCa0lGACXFTrjESSfOq0XLcZh5KmxGk5VKpNHq5xl84JwFactl9Pdp KeJzK3MAT/3+jO5FMnJYdvW8a5n01cw5kOSDJl6QjjXI+xarL8ZwR5BCQV8PnLqaXW/pjB NQ1JGuif6NwTl6LZjvk8QLhKaeuWzm+4Ckn+CpQG6bHtLQpH00y9sSn/qEqoTdibQ9Ew52 VyfT3xTgIRtEpfsmTtZDI0KP7Nu3L4Mjh4bxiZ/GEgWGHLJLdvqMv91iakJjeQ== 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 4SWXN1696Zz1KX; Thu, 16 Nov 2023 20:54:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGKsfLh053753; Thu, 16 Nov 2023 20:54:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGKsfEr053750; Thu, 16 Nov 2023 20:54:41 GMT (envelope-from git) Date: Thu, 16 Nov 2023 20:54:41 GMT Message-Id: <202311162054.3AGKsfEr053750@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: 0c7a1e66f137 - stable/14 - arm: Simplify get_cachetype_cp15() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 0c7a1e66f1376bf8ffb507a674396e4d221fe797 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0c7a1e66f1376bf8ffb507a674396e4d221fe797 commit 0c7a1e66f1376bf8ffb507a674396e4d221fe797 Author: Olivier Certner AuthorDate: 2023-10-13 12:22:14 +0000 Commit: Mark Johnston CommitDate: 2023-11-16 15:07:13 +0000 arm: Simplify get_cachetype_cp15() There's no point in setting 'arm_dcache_align_mask' before the function's end. Reviewed by: markj, kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42261 (cherry picked from commit 1bce6f951a902f03bfb354f5b11473a0d12b3d7d) --- sys/arm/arm/cpufunc.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/arm/arm/cpufunc.c b/sys/arm/arm/cpufunc.c index f2845eb80f3b..42f718b9773e 100644 --- a/sys/arm/arm/cpufunc.c +++ b/sys/arm/arm/cpufunc.c @@ -172,7 +172,6 @@ get_cachetype_cp15(void) : "=r" (csize)); arm_dcache_align = 1 << (CPUV7_CT_xSIZE_LEN(csize) + 4); - arm_dcache_align_mask = arm_dcache_align - 1; } if (type == CACHE_ICACHE || type == CACHE_SEP_CACHE) { sel = (i << 1) | 1; @@ -195,10 +194,10 @@ get_cachetype_cp15(void) if (dsize & CPU_CT_xSIZE_M) arm_dcache_align = 0; /* not present */ } - - out: - arm_dcache_align_mask = arm_dcache_align - 1; } + +out: + arm_dcache_align_mask = arm_dcache_align - 1; } /* From nobody Thu Nov 16 20:54:42 2023 X-Original-To: dev-commits-src-branches@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 4SWXN31Yfvz515DF; Thu, 16 Nov 2023 20:54:43 +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 4SWXN313M6z4Grr; Thu, 16 Nov 2023 20:54:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168083; 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=vAoMqvuRn33xpmVXhiDqHDXQrSJlG3CltfFnjDb0awE=; b=S0bDXqqRA3OK5oWFFz9r3hN7IF6wZ+DtHA9USKvhIF+KovnZQSNVYsrbQ9FbAJXabFOudd HU133W8Ihm4T/b82i4klx4SnVq0kTBSRgFJTVojhgE2s0YZlmYz2m5STow6iZGBVKjuLFw rX2d5hcHNCsXXSucHu8+Lu1c2se06l6xXwTluDpIbFR4UsfCY4ybO186Ds30mHiqpMyeRY rYQh0yPlTGIna3rUeXeWI6RjbqQox2MkrG6H3jcCAjGX+bUyH18Q27Y6X9cVuZMzBAo/lz FJbkajWrumYLettdKmeIMYru3TgQlQtM/j1Y+JUXoZfKcgwuvi6MxXn+aWLmDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168083; 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=vAoMqvuRn33xpmVXhiDqHDXQrSJlG3CltfFnjDb0awE=; b=ZeB2Qc9/PCv4jedk6kzlIvEXob7OP/wm7vu+7xyQsfbHfFl2wVYQOPPWuzQAKQKyO0UlWQ taUJ6JAcxIEyTZ/J3V4z2bAzBlE5U3s2X4xhICpnSsxdCC/jQyibNwRsQpj9kaSy5lYYG5 WnqXSufjfNzAYw8uiaPNCzaIY5jcQ4VEaaThgCnWdGrALhkBtwG3IFH3kxoV7ZMGCHYTWQ gKTpamltCYxUJANQrvbv0F6KaCwMdDE7qbYeJy9KocXfIVGSYWmDGGEywol5sfCKgzc7jj 3CZaXmOQEbgeWQ49pDRUz8aAk8Jsc0h/2rD42jJW6ylxMQX7P/EMKhmZvGEJ/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700168083; a=rsa-sha256; cv=none; b=KvzAk/cfPbMdcFapVsXvMsBKV/xobYKL+RKZdjuUeaCptu9Zq6gy3LaZcGP2AG38SqL/Xi miYagvqjIBNXoJrImYIyCW76HkWq61WoPH4PDyuv1+Ip9ubkTlY4ns4l/ZmhnD/dlE/Yjf uuN65L0o+Qmr0DooOFHYAu7LdhNjKChgUA8tXmsVqc+k1PpOk7J0ac/GRNA+VS8baoLK+Y lJzs23hIMuTpCUbDN8NxWoDpqaglpSTt1ViKHR2AbV1ZJOUw8kJ/XtpwDccces/uyj008j ELKYWzq5zpg8GchZrtVvcvMmcRCJ66aj32U/6Zv5AGUG9GGoRBvREUUvaHF8ZQ== 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 4SWXN30690z1NL; Thu, 16 Nov 2023 20:54:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGKsgBw053801; Thu, 16 Nov 2023 20:54:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGKsgcT053798; Thu, 16 Nov 2023 20:54:42 GMT (envelope-from git) Date: Thu, 16 Nov 2023 20:54:42 GMT Message-Id: <202311162054.3AGKsgcT053798@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: 690ca45aeb8c - stable/14 - uma: Make the cache alignment mask unsigned List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 690ca45aeb8c3f521d43246159bd24e15d31500c Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=690ca45aeb8c3f521d43246159bd24e15d31500c commit 690ca45aeb8c3f521d43246159bd24e15d31500c Author: Olivier Certner AuthorDate: 2023-10-13 12:49:11 +0000 Commit: Mark Johnston CommitDate: 2023-11-16 15:07:16 +0000 uma: Make the cache alignment mask unsigned In uma_set_align_mask(), ensure that the passed value doesn't have its highest bit set, which would lead to problems since keg/zone alignment is internally stored as signed integers. Such big values do not make sense anyway and indicate some programming error. A future commit will introduce checks for this case and other ones. Reviewed by: kib, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42262 (cherry picked from commit 3d8f548b9e5772ff6890bdc01f7ba7b76203857d) --- sys/arm/arm/cpufunc.c | 6 +++--- sys/vm/uma.h | 2 +- sys/vm/uma_align_mask.h | 2 +- sys/vm/uma_core.c | 15 ++++++++++----- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/sys/arm/arm/cpufunc.c b/sys/arm/arm/cpufunc.c index 42f718b9773e..e94565cdc61f 100644 --- a/sys/arm/arm/cpufunc.c +++ b/sys/arm/arm/cpufunc.c @@ -61,8 +61,8 @@ /* PRIMARY CACHE VARIABLES */ -int arm_dcache_align; -int arm_dcache_align_mask; +unsigned int arm_dcache_align; +unsigned int arm_dcache_align_mask; #ifdef CPU_MV_PJ4B static void pj4bv7_setup(void); @@ -170,7 +170,7 @@ get_cachetype_cp15(void) : : "r" (sel)); __asm __volatile("mrc p15, 1, %0, c0, c0, 0" : "=r" (csize)); - arm_dcache_align = 1 << + arm_dcache_align = 1U << (CPUV7_CT_xSIZE_LEN(csize) + 4); } if (type == CACHE_ICACHE || type == CACHE_SEP_CACHE) { diff --git a/sys/vm/uma.h b/sys/vm/uma.h index 4bf23534ed27..8193df16b904 100644 --- a/sys/vm/uma.h +++ b/sys/vm/uma.h @@ -475,7 +475,7 @@ void uma_zone_reclaim_domain(uma_zone_t, int req, int domain); * Returns: * Nothing */ -void uma_set_cache_align_mask(int mask); +void uma_set_cache_align_mask(unsigned int mask); #include diff --git a/sys/vm/uma_align_mask.h b/sys/vm/uma_align_mask.h index 666633350b9d..b4e9ac835d93 100644 --- a/sys/vm/uma_align_mask.h +++ b/sys/vm/uma_align_mask.h @@ -31,6 +31,6 @@ #ifndef _VM_UMA_ALIGN_MASK_H_ #define _VM_UMA_ALIGN_MASK_H_ -int uma_get_cache_align_mask(void) __pure; +unsigned int uma_get_cache_align_mask(void) __pure; #endif /* !_VM_UMA_ALIGN_MASK_H_ */ diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c index b74fbd57e77f..a27dba4b01f1 100644 --- a/sys/vm/uma_core.c +++ b/sys/vm/uma_core.c @@ -150,7 +150,7 @@ static uma_zone_t slabzones[2]; static uma_zone_t hashzone; /* The boot-time adjusted value for cache line alignment. */ -static int uma_cache_align_mask = 64 - 1; +static unsigned int uma_cache_align_mask = 64 - 1; static MALLOC_DEFINE(M_UMAHASH, "UMAHash", "UMA Hash Buckets"); static MALLOC_DEFINE(M_UMA, "UMA", "UMA Misc"); @@ -3252,15 +3252,20 @@ uma_kcreate(uma_zone_t zone, size_t size, uma_init uminit, uma_fini fini, /* Public functions */ /* See uma.h */ void -uma_set_cache_align_mask(int mask) +uma_set_cache_align_mask(unsigned int mask) { - if (mask >= 0) - uma_cache_align_mask = mask; + /* + * Make sure the stored align mask doesn't have its highest bit set, + * which would cause implementation-defined behavior when passing it as + * the 'align' argument of uma_zcreate(). Such very large alignments do + * not make sense anyway. + */ + uma_cache_align_mask = mask & ~(1U << 31); } /* Returns the alignment mask to use to request cache alignment. */ -int +unsigned int uma_get_cache_align_mask(void) { return (uma_cache_align_mask); From nobody Thu Nov 16 20:54:44 2023 X-Original-To: dev-commits-src-branches@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 4SWXN42J9Tz5155Z; Thu, 16 Nov 2023 20:54:44 +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 4SWXN41nPLz4H9y; Thu, 16 Nov 2023 20:54:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168084; 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=tG1pH6KoOXoWkdR953iLeq07q80BbUKEx7bUc11pHls=; b=BnZEcfwf/iL+TvrLdhhmVPCJ3SvpPryfxRgk58gGW1v8wdopxi1gZwGAACHs3Vcz5zIy3s bOiROSm0Tugi4sh1F3/yxNRV8/wPqAtqINgdqZGNwxQwd2SJ2WRI2R05eaAyLruDIl8eoS 0NxGgT9ppOIVVgxZ5adFedlL0PCsQQNmtXCFmpKvNo+x6lWk7q3dmI0V9HellyCj878mlv +4rgF+KcH5RdpR/AhDT8VCXx21zu/Kin9ad6Igh7pDigpGL9uPZdlx5D0gI6PGq1fEGrav W2qvDQMdozyHIR/tl1kTG2mTRcodbcGCLI66fMCEGNltgl/ZmnQ3KnxsdfVqtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168084; 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=tG1pH6KoOXoWkdR953iLeq07q80BbUKEx7bUc11pHls=; b=NNRRY1NLhk/3wmoL6jsUnZSrCdWX0awaniTvZSiRBLo/vitNrVhFcQHJgbPYo1of0WAPMi ckrbRXM4jUH1tExL+UCWhNb9et2xSIGahYl+OWxUB1ayO6TV3V+U/zJXFU+S8jGzp9dBAT vfNP3hUG9rJjJIkNyMI/qEFeVettcWiDZt6ioZpUaGzhrc26RDyba3K2fLOgap5ng7VP3z +4nKgfaqeALtlHq16Va5te800qfAUcKTI5Hk2+06JFC3M3K5XOjUzX0X4WM0whbj/71pks KLnl+J+spCEMxDpSqh6aFENKPwDLHi317iDH9h7etqCouAXVHYGUKX14eRZUaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700168084; a=rsa-sha256; cv=none; b=GShrYENYPqzbTJGMT1cu+cV7bSdbOLJzNr4aySTIrt1qnxdVqIT0+BDcRAnn5gyuFjcrTc u3SZXfaoS6OJ0dttdoo31HkBfTvwcZEykVLkUWvNyKKIMcZXYQSsw+GjeCPfz+0as2FFeb nNkRhD6QGbHzIWxvmsUPwBNPBUcRRMRISSj6LSBpPBLmUF40+ZdkRlohVQsZ38hi5fiIui 2xNtku8sIfK3sWfFTbwInPMAysM11nRpVMoulvV18I0n0S9av8awJ3Gj7oMqCM7XaW1aaT MgHdlXvu+bd/55Zp4pyKmsNeWKx7pk9lTXW61gpngak0eWeO2Rd56HlzufKLbg== 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 4SWXN40tpVz1Wr; Thu, 16 Nov 2023 20:54:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGKsijv053846; Thu, 16 Nov 2023 20:54:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGKsijf053843; Thu, 16 Nov 2023 20:54:44 GMT (envelope-from git) Date: Thu, 16 Nov 2023 20:54:44 GMT Message-Id: <202311162054.3AGKsijf053843@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: 7deedba4e586 - stable/14 - uma: New check_align_mask(): Validate alignments (INVARIANTS) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 7deedba4e58686ad870767bb29c45235c255937a Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7deedba4e58686ad870767bb29c45235c255937a commit 7deedba4e58686ad870767bb29c45235c255937a Author: Olivier Certner AuthorDate: 2023-10-13 14:09:51 +0000 Commit: Mark Johnston CommitDate: 2023-11-16 15:07:17 +0000 uma: New check_align_mask(): Validate alignments (INVARIANTS) New function check_align_mask() asserts (under INVARIANTS) that the mask fits in a (signed) integer (see the comment) and that the corresponding alignment is a power of two. Use check_align_mask() in uma_set_align_mask() and also in uma_zcreate() to replace the KASSERT() there (that was checking only for a power of 2). Reviewed by: kib, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42263 (cherry picked from commit 87090f5e5a7b927a2ab30878435f6dcba0705a1d) --- sys/vm/uma_core.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c index a27dba4b01f1..661c98b272da 100644 --- a/sys/vm/uma_core.c +++ b/sys/vm/uma_core.c @@ -3249,19 +3249,31 @@ uma_kcreate(uma_zone_t zone, size_t size, uma_init uminit, uma_fini fini, return (zone_alloc_item(kegs, &args, UMA_ANYDOMAIN, M_WAITOK)); } -/* Public functions */ -/* See uma.h */ -void -uma_set_cache_align_mask(unsigned int mask) + +static void +check_align_mask(unsigned int mask) { + KASSERT(powerof2(mask + 1), + ("UMA: %s: Not the mask of a power of 2 (%#x)", __func__, mask)); /* * Make sure the stored align mask doesn't have its highest bit set, * which would cause implementation-defined behavior when passing it as * the 'align' argument of uma_zcreate(). Such very large alignments do * not make sense anyway. */ - uma_cache_align_mask = mask & ~(1U << 31); + KASSERT(mask <= INT_MAX, + ("UMA: %s: Mask too big (%#x)", __func__, mask)); +} + +/* Public functions */ +/* See uma.h */ +void +uma_set_cache_align_mask(unsigned int mask) +{ + + check_align_mask(mask); + uma_cache_align_mask = mask; } /* Returns the alignment mask to use to request cache alignment. */ @@ -3280,8 +3292,7 @@ uma_zcreate(const char *name, size_t size, uma_ctor ctor, uma_dtor dtor, struct uma_zctor_args args; uma_zone_t res; - KASSERT(powerof2(align + 1), ("invalid zone alignment %d for \"%s\"", - align, name)); + check_align_mask(align); /* This stuff is essential for the zone ctor */ memset(&args, 0, sizeof(args)); From nobody Thu Nov 16 20:54:45 2023 X-Original-To: dev-commits-src-branches@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 4SWXN53zNKz5150H; Thu, 16 Nov 2023 20:54:45 +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 4SWXN52QG6z4HQb; Thu, 16 Nov 2023 20:54:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168085; 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=8lo4k/wMrU+eCWPI8nBj1FBu+ujLp4ooHoCvry28Kv4=; b=L69/LbaFUc6V7kvKGxnBE1bQcCva3kEHtApZFy5fCdMV6l6rkQeJQn6LPeFEeVd2gI1j+P otWxg8q+mhl1IC0Msl32puxYorFCC+TF3SIWOPTVZdvRIfdfF6AjwFtMbG1BryNhmdoNs5 8SpbJgdPiLt8gBVWa5xyzSluLpD2rOXGLkHdy2LtXWIBMvoSPaCUIxs4S86fTPqbMEwR8x f+oJmd6wUzOhDVvgIaMVfcUagnxibsjSct+VKcORmzUqCOrDC7Vl7gtcfjyj2izM7EcxTj +ojCzgaH7qVWS8jJm5Nsolqm11YIDkn7A1LsbsVGzxcIr2r+RrmCDX+tsSSRXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168085; 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=8lo4k/wMrU+eCWPI8nBj1FBu+ujLp4ooHoCvry28Kv4=; b=H2N0nRmB779z8RiGgG+d7Az6ldag6hh2IOMhf2P3HBrIW0BxIL8YRkyyh3JBkQmq59n4VQ p8xCq26ulcJ/n8MHo9vXbzVwq25CNrWM/GaAeQGRvBBmByHFw8dEPEeUsibkAD1ZtSgd57 s+CRfFJ+9CHpUUGbVYeCIahnOLhlErKsWK+WiUyzNnmRn28hQqfHeUwlmVelG+FmEUdoA+ SfXxmCFFPRZqoZOOUPtxV92jEQqaohfCxzk0Q7yYEaoWfcR+cmaOnVnWmbFuauFd4b1OlW 1Nu828FxOZ6dAa6HoAS0JS0+PN4A9oAajA20wbcfA81Tvdu2cQRvStFr1SGRjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700168085; a=rsa-sha256; cv=none; b=r41LXaWxDakGoEmxtUmFho/i756jARLGKVCEdlgkjkM9agEKGrAknpkkkSlW+PuPLOOm47 o/vmvXesY6m09ExVLH3o9lF/7ZkFKjmNjo22Vek7KjvsMG4z8+et//UI38tnYgo2Duo+Ff 2fyZGw1CtIyCFoG0UZI5ILeIWGuNHlznNtY8kL8uvpjsx6ZIekxCY5+UVIYf8RiW3FLfwG pe0yUsSTgHZrHKRD9xZ5F4mTFxO3oPVfn/roG3FK1T7CPScPE54bWr1bgdNuoya9SIvBId fs06P372ECFTlkwishd4oP93t9024TwSf0+RMRTerAJrad0AJEKugp420N+QGA== 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 4SWXN51XP1z1Ws; Thu, 16 Nov 2023 20:54:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGKsjqg053892; Thu, 16 Nov 2023 20:54:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGKsjOB053889; Thu, 16 Nov 2023 20:54:45 GMT (envelope-from git) Date: Thu, 16 Nov 2023 20:54:45 GMT Message-Id: <202311162054.3AGKsjOB053889@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: f946a5ec9692 - stable/14 - linuxkpi: dma_get_cache_alignment(): Fix off-by-one result List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: f946a5ec9692973831db93691ad06a93240d5937 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f946a5ec9692973831db93691ad06a93240d5937 commit f946a5ec9692973831db93691ad06a93240d5937 Author: Olivier Certner AuthorDate: 2023-10-13 15:13:28 +0000 Commit: Mark Johnston CommitDate: 2023-11-16 15:07:18 +0000 linuxkpi: dma_get_cache_alignment(): Fix off-by-one result Substituting 'uma_align_cache' by the appropriately named accessor uma_get_cache_align_mask() made apparent that dma_get_cache_alignment() was off by one, since it was defined to be the mask derived from the alignment value. Reviewed by: markj, bz MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42264 (cherry picked from commit 2c7dd66d09a1b92a4698232996cded6e5315b3bd) --- sys/compat/linuxkpi/common/include/linux/dma-mapping.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/dma-mapping.h b/sys/compat/linuxkpi/common/include/linux/dma-mapping.h index 53c59bea8ef2..84f0361de765 100644 --- a/sys/compat/linuxkpi/common/include/linux/dma-mapping.h +++ b/sys/compat/linuxkpi/common/include/linux/dma-mapping.h @@ -351,7 +351,7 @@ dma_max_mapping_size(struct device *dev) #define dma_unmap_len(p, name) ((p)->name) #define dma_unmap_len_set(p, name, v) (((p)->name) = (v)) -#define dma_get_cache_alignment() uma_get_cache_align_mask() +#define dma_get_cache_alignment() (uma_get_cache_align_mask() + 1) static inline int From nobody Thu Nov 16 20:54:46 2023 X-Original-To: dev-commits-src-branches@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 4SWXN65FSxz5150K; Thu, 16 Nov 2023 20:54:46 +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 4SWXN63qXHz4HL6; Thu, 16 Nov 2023 20:54:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168086; 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=m+iwurGJpcsMmfftVYr3JD/P7JSe7fj00cJ+l6agr54=; b=jZzh+cdTx+C0X9TTQ33js35NTMWGuv02nXsdP9NVq67gmtwWxNEL1no01savojVx9Rm36D TFGBbytptxC8kADn0uTfwst5HuEZhmNpspGtTvDnQVkQ+vKsZpDaF3XUeDpR6x3/hdpckf LKn0xK2/4JKTLEfUkGk3fG7XmoZO76DFMR92JdwCpK0BtUXq7hlcwUs2ZpZuAj8+siWzrc mCsOV4R3PySg8j03ap+5tnqX5mHzuZTM0FybeIslV22qHguEFEj1CAu4lDnsSLzyVWw9NR xXN84UE4TAfXmBup5ITuayiRCZsr/flsqhWDLmnjuIL7O/5OcWUjdkd0OUJwxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168086; 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=m+iwurGJpcsMmfftVYr3JD/P7JSe7fj00cJ+l6agr54=; b=PwkFTM8/pdauIqf6FI6c/1GEIc9EtZKxniaKl/8xDT6hGtJE29SUITU8PXUz8IFIqBXPXL /t6tOwmMZgVOycq2zq7K230+uiTpjt7F/3js6ZdUN7sZcuguXC1FfIZI0HfDn1XvAOzS5E lBdzSu6jWB9bhYT1jDbYuanBnOSwTPWv85hJc8SRUEMaWXiHHuuo2S/JFokv79XoXsQgs+ mU6s2BYbbPky2Khpg5oNEF5g/6b3NZi9zU0LtNum3Rabmj4rxJeODpsAGT3O0oF30qSL4M B0wYlMm7L6dBXXJ3CgNN9mw1sOfEJel1myet+NGoZb+GlDzGI0jTX+XPqiSLFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700168086; a=rsa-sha256; cv=none; b=MuVE3rghP8OSgPouVu9wgm5zGI2Gr0EwD7OXmOMz4ChraSDjQvOOjRtrXgCyHkH/stwdNd OHLZ+so68eFTsq1rSgBL4PaNzG10JFYNzvgtwMAaHCCd477JB0GBe9IomZWuztlX/ajOI0 9o/1tzIosnttSkUDgFQnFh9UrQJhBrlTxGACcg2vd9HzYvkuDmeQF5ymKJoC+qXt76bGM9 G00yM69U/U89g3yUFi8mog0yOUlaP6kYL28nfxMKOTzgBCTW4EECei/VnNBvKRuNAbfzod RsBG7P8tv4UYEUSf7I8BFn2y1Bws7Dp5YUouebzJ50BGV2Aplr2VwelEaxh/yQ== 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 4SWXN62jCqz1Wt; Thu, 16 Nov 2023 20:54:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGKskKO053952; Thu, 16 Nov 2023 20:54:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGKsk8I053949; Thu, 16 Nov 2023 20:54:46 GMT (envelope-from git) Date: Thu, 16 Nov 2023 20:54:46 GMT Message-Id: <202311162054.3AGKsk8I053949@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: 25e0e25afd29 - stable/14 - uma: Permit specifying max of cache line and some custom alignment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 25e0e25afd29d029da6ec21e6b7890310ffc25bd Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=25e0e25afd29d029da6ec21e6b7890310ffc25bd commit 25e0e25afd29d029da6ec21e6b7890310ffc25bd Author: Olivier Certner AuthorDate: 2023-10-13 15:05:34 +0000 Commit: Mark Johnston CommitDate: 2023-11-16 15:07:18 +0000 uma: Permit specifying max of cache line and some custom alignment To be used for structures for which we want to enforce that pointers to them have some number of lower bits always set to 0, while still ensuring we benefit from cache line alignment to avoid false sharing between structures and fields within the structures (provided they are properly ordered). First candidate consumer that comes to mind is 'struct thread', see next commit. Reviewed by: markj, kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42265 (cherry picked from commit 733e0abd2897289e2acf70f7c72e31a5a560394a) --- sys/vm/uma.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/vm/uma.h b/sys/vm/uma.h index 8193df16b904..38865df7ae02 100644 --- a/sys/vm/uma.h +++ b/sys/vm/uma.h @@ -302,6 +302,8 @@ uma_zone_t uma_zcache_create(const char *name, int size, uma_ctor ctor, #define UMA_ALIGN_SHORT (sizeof(short) - 1) /* "" short */ #define UMA_ALIGN_CHAR (sizeof(char) - 1) /* "" char */ #define UMA_ALIGN_CACHE (uma_get_cache_align_mask()) /* Cache line size align */ +/* Align both to cache line size and an explicit alignment (through mask). */ +#define UMA_ALIGN_CACHE_AND_MASK(mask) (uma_get_cache_align_mask() | (mask)) #define UMA_ALIGNOF(type) (_Alignof(type) - 1) /* Alignment fit for 'type' */ #define UMA_ANYDOMAIN -1 /* Special value for domain search. */ From nobody Thu Nov 16 20:54:47 2023 X-Original-To: dev-commits-src-branches@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 4SWXN75X0Gz515DJ; Thu, 16 Nov 2023 20:54:47 +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 4SWXN74tw7z4HFY; Thu, 16 Nov 2023 20:54:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168087; 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=bnT9SfnZ6kPP3YtrajdKGaR6ejoyCffTqgOCCCGsTDk=; b=A1VXHhukwgbRQrAuV+DO3d5OxC1zkyBg2PcVtl/V0wBqGYnRPSrxBsftQsVnedVHPqeLD2 rOdCFf3mM4wQSL8HJgv0JKHXIr+UUFvT2Ow8Pyg7PL6J4znzl3x5duhYRlA69rEEPMWdvG DzKn42xo5qd8AdZJnZ0TTzCI3LCVLGwdmLceytK5r+WQAqHB8wSd7PIfObnpo3XMY6+Cse KViI5Z66N32OqvUsYufZ+Dakk5ZVxILlMCo0K5A2pEw1H91UGj3ezzcOYACcGke6bEg9Jv haheuUOgq7XowtPZBUZxBfz6Axd/E1ZrXFW+lpKEu33Cm0LIvY5GfzpMpkr/tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168087; 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=bnT9SfnZ6kPP3YtrajdKGaR6ejoyCffTqgOCCCGsTDk=; b=b9gSEJu7cDkuPXitjE2n4whSlh2LfD9cI4M3KNUWzuwWajbq9Q4lO9681/Hvb9PpLsmjzL FVX1FeYzOBIW+OxjhRCt/xqdF51dK7/o4r+hSSEVqkO+sF41gZKytynGvum3mV1Kud5WPk 2nOVeUtr86K3OEiG8aLzuEM0JfIdu43nKeo/JpTKTYmmckJiIoUfq2Be3dqctLC30JlR7J mVrstITk57h4t0vXYC7DCwVtEAvvMIo/T/uonUqbCPvLi+74gEpVTS/cFL8r98UBPAbHIP GgaYFOcs8xh7MsV+09WscoScZSznXFJFi4beAJ20+iHHnr5zg9nvGfmsTuN50w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700168087; a=rsa-sha256; cv=none; b=UeXpsNKgact81VhI0pwW2aBceTR/Nzi7VopdcQ8uWH+g066XQwFhrVwWQ1Fj7hKjx1Uz2U NAyqkLPa4nJ1mzsOQoI8EFtKyBChoTuRcC/CKLpHbt2sbu2UyxAf34xR/mKp24OXN53+Id cdaJtDIHhK6tBN9lkhaNT7OqkqnE7BlpLwz1IE5VZ+HW69+sjTLiuA/G8rp4GN8Akwzzav zyZwDfxcOhW7k5/aRCRDE11hrvpjqyaCpzOveTc5STzIiTasg/Eg6Rlizy3ZjdMIWSBD6G oaKEOM/aEur7umHxcxnVt5S1tOHJAKOomFqUegnQPPegNJg3sysJbNunCnHyhg== 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 4SWXN740PNz1Wv; Thu, 16 Nov 2023 20:54:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGKslPg054003; Thu, 16 Nov 2023 20:54:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGKslhp054000; Thu, 16 Nov 2023 20:54:47 GMT (envelope-from git) Date: Thu, 16 Nov 2023 20:54:47 GMT Message-Id: <202311162054.3AGKslhp054000@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: 7cb0bacf53f2 - stable/14 - arm: Update declarations for arm_dcache_align{,_mask} List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 7cb0bacf53f2507394d8aa1fc3abbe3ca02f61cd Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7cb0bacf53f2507394d8aa1fc3abbe3ca02f61cd commit 7cb0bacf53f2507394d8aa1fc3abbe3ca02f61cd Author: Mark Johnston AuthorDate: 2023-11-02 16:23:51 +0000 Commit: Mark Johnston CommitDate: 2023-11-16 15:07:27 +0000 arm: Update declarations for arm_dcache_align{,_mask} Reported by: Jenkins Fixes: 3d8f548b9e57 ("uma: Make the cache alignment mask unsigned") (cherry picked from commit 185aa8c9c3d7a01d616cfaafd492f61b37ed2551) --- sys/arm/include/cpufunc.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/arm/include/cpufunc.h b/sys/arm/include/cpufunc.h index 0b54b59a7711..6562042dac0c 100644 --- a/sys/arm/include/cpufunc.h +++ b/sys/arm/include/cpufunc.h @@ -178,8 +178,8 @@ void cpu_reset (void) __attribute__((__noreturn__)); */ /* PRIMARY CACHE VARIABLES */ -extern int arm_dcache_align; -extern int arm_dcache_align_mask; +extern unsigned int arm_dcache_align; +extern unsigned int arm_dcache_align_mask; #else /* !_KERNEL */ From nobody Thu Nov 16 20:54:48 2023 X-Original-To: dev-commits-src-branches@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 4SWXN86k2Hz515Nn; Thu, 16 Nov 2023 20:54:48 +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 4SWXN866kHz4HWQ; Thu, 16 Nov 2023 20:54:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168088; 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=DqTdFHTzU/OpV2MK0MilK3l5JuOyPEO1oLJz29hyZnQ=; b=IAxqGlwNl6KZxPZ7/sh4sTyeh3o590XwWy1niIuI35MTzpR4ZvWBANVMUVNg7deTOz2Out CvdN9Zp8f3JtpsFcgfkyXidzZFKSVIj93I3pLwsOJDU47bS2TufPBszIfDYkf0Kr32rxTM qf7oNwfcvJsa2cReU4C1YV6tOm1PjA/qL0Hpz8N2TlMHMBybUbhy0HsBg8qooDZj+jDhVw xMj7XsoCkVx3OVYfGNx6g9IOe0i93sS1ZCXMvnnFwAavLITQlzcqYWi46SW3liyhpEQP3g yUvX3xe/kbcyEAT74kmHuwnR3FIE+iJtEaMyuAFx7wr5DSaSqOBRqj073OWIEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168088; 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=DqTdFHTzU/OpV2MK0MilK3l5JuOyPEO1oLJz29hyZnQ=; b=KvkrQWUAkAKFqe+2I58bWIT/TMfEQbgS6FNsbg2+z0JPleGzwt7SyXSc70wEnPA1iZ9rh7 /l1OtdqpimT3SkuV4njMrTRPUzchjhvAM255fZU3/wCkwW7atoIPewNsygFoh6GF66UJn9 up1KwUYOe1qoeGNSOPumP9qVBxQH5RGhrNF0WpnygC1nnqi6/vPdm+N6hQadAbJTQKph/o E5v+cE8uKL6ne2eE+3WZr+2q3cpwZE2ikA2GzGtapcjgpyV80lmfwSBhwCp2SI4MJiF/pp HpYxmT8IpGDgD3iVtpEqhceC0qFdGGO1wEBS+Vbcdxv6CJIzdqW/okstBmZyIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700168088; a=rsa-sha256; cv=none; b=rRnIbt9P2Erig5H/ht0FJa+fvIGDuZi+FsVhOGaTO5htAznnYcrUJ+sVIuRbXLkoYh6xoT rNdSdTqLGHTb5tbrBB60Njx/uzKAPDmy1AxoXwpTldkrsk3NU5QxzJfVludj7ebddY1hTs lfYQXiOOp5Q04EQA6TUFhdJeGJoutY+JelJI/osoiiseRYZIMTLkdOA/JSwA0EsWmmvgus fCutiFHad6uhQi9l5TRWJRKkyRMjfr0te7NtzBsJ/nyAw+HITEgSzNUENpw+HpSQTaD27e IApyhU2wZ0v5ysFI7635n2UxMPmwNhaTv3x4tOplci43yUUGGR9+kGdeo9pAlA== 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 4SWXN85C4pzrT; Thu, 16 Nov 2023 20:54:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGKsmBA054057; Thu, 16 Nov 2023 20:54:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGKsm9v054054; Thu, 16 Nov 2023 20:54:48 GMT (envelope-from git) Date: Thu, 16 Nov 2023 20:54:48 GMT Message-Id: <202311162054.3AGKsm9v054054@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: e191c0283e86 - stable/14 - Ensure 'struct thread' is aligned to a cache line List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: e191c0283e8640d46ed6b725e3311d0f37f3620c Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e191c0283e8640d46ed6b725e3311d0f37f3620c commit e191c0283e8640d46ed6b725e3311d0f37f3620c Author: Olivier Certner AuthorDate: 2023-10-13 08:52:31 +0000 Commit: Mark Johnston CommitDate: 2023-11-16 15:07:30 +0000 Ensure 'struct thread' is aligned to a cache line Using the new UMA_ALIGN_CACHE_AND_MASK() facility, which allows to simultaneously guarantee a minimum of 32 bytes of alignment (the 5 lower bits are always 0). For the record, to this day, here's a (possibly non-exhaustive) list of synchronization primitives using lower bits to store flags in pointers to thread structures: - lockmgr, rwlock and sx all use the 5 bits directly. - rmlock indirectly relies on sx, so can use the 5 bits. - mtx (non-spin) relies on the 3 lower bits. Reviewed by: markj, kib MFC after: 2 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42266 (cherry picked from commit 7d1469e555bdce32b3dfc898478ae5564d5072b1) --- sys/kern/kern_thread.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c index 4175d1594af4..d8ba94925fec 100644 --- a/sys/kern/kern_thread.c +++ b/sys/kern/kern_thread.c @@ -568,9 +568,15 @@ threadinit(void) if (tid0 != THREAD0_TID) panic("tid0 %d != %d\n", tid0, THREAD0_TID); + /* + * Thread structures are specially aligned so that (at least) the + * 5 lower bits of a pointer to 'struct thead' must be 0. These bits + * are used by synchronization primitives to store flags in pointers to + * such structures. + */ thread_zone = uma_zcreate("THREAD", sched_sizeof_thread(), thread_ctor, thread_dtor, thread_init, thread_fini, - 32 - 1, UMA_ZONE_NOFREE); + UMA_ALIGN_CACHE_AND_MASK(32 - 1), UMA_ZONE_NOFREE); tidhashtbl = hashinit(maxproc / 2, M_TIDHASH, &tidhash); tidhashlock = (tidhash + 1) / 64; if (tidhashlock > 0) From nobody Thu Nov 16 20:54:49 2023 X-Original-To: dev-commits-src-branches@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 4SWXNB3jdmz5155k; Thu, 16 Nov 2023 20:54:50 +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 4SWXN970KFz4HGZ; Thu, 16 Nov 2023 20:54:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168090; 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=YjiCwMKHx8lTdJPD4RWu2RwTKSbqoonFZ13c0OcHTVw=; b=l8yPJWA/Iy+kSGF1JszVf4ysDZd3FDgHp/4oxTVtItT2GFZ9Zm+hPi9q1iVz629vcLvMwu tYy6EJ6L3+N1ENGKznNeZ1PYZcK8blx04FH1JYRGmNaN58H4Jp2laf5VHfZfOKdl9y4bHV VozwHw6FMqmQ2r/pXrSSTX7vFXZy4EbO3dUn2Mw2aHq6mLyKRDQ5lk6CEfbNpnGs5szrQc DlHezZ6Rj8cWCzg2sxO7mQ60dkrOFN4Vj8ZtA9d15ZsVVNp3HEOJHWpmTau0+Q3wwLyPpy S0vYZcWSmpkVf5z8A21Gxc2+Etbm/mRFDhiYVT0x3F0ZjnRV341VJTsljm2s3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700168090; 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=YjiCwMKHx8lTdJPD4RWu2RwTKSbqoonFZ13c0OcHTVw=; b=fKaadZbEdyE1Q6qu/z2xz0WCfVezwXJ8JUTmXy1O7HmoDrhuNHlwrz0Bg1q87ts6OiYxNJ DREG7TL8ZsLKLLSrDjwsuRHqvr1UcV07WQpZu3lNavJCgqnzrv1rMlLY7QtW1QFNxHmVWr CoM6j3Y7/udfy/unB9LtDwHTeCdf6TJCLsaLvKj27QhHDBjR0NivjlwSNgnbocixM0zn/W COdVfVJrCXWjS3zLaoYz0aAhUsTjYPLyQmhoNjtD2t2OmFRDqYYJy+nzME4KARIDPc8xNj 9NF48puPtLHOg2Z4Z51KlugHZtBUoR1Zoj9+vfKvzIKKcOp17mVeHx0ITkqaaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700168090; a=rsa-sha256; cv=none; b=mXz77m2AswDatJxWLD6NlT1BtNBcpUdR2zgtlEIcaQXkOQqZfF0cX6Y7Glrj0Rw2zN9AEg cvrxbRVgDdiAB06FcLTsbGGBDVBxzCigEgDSIbH3+IV2WGZ9rlKzme6MZ4ZbSiBWMST3Qq Q4mcyHKWzQC7E/wnUg9EmCPNY+oMyNS3W8Fp5OMjvjN2wz73oOUQsp7XB7cQy9tooI+wEM 2mdcQM94ZkUfzYxSjQCsObtfINg0SuxJbmPt24srxzoa09iQ3ZsVSUSIlFI398SN7WSAOs TY3VtiHRSxI/lVBILV+o0B6OLXleEW2UjGwoQveb1qTRLHHTcBQTM8dvBA7lGQ== 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 4SWXN964rcz1KY; Thu, 16 Nov 2023 20:54:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGKsn43054099; Thu, 16 Nov 2023 20:54:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGKsnDp054096; Thu, 16 Nov 2023 20:54:49 GMT (envelope-from git) Date: Thu, 16 Nov 2023 20:54:49 GMT Message-Id: <202311162054.3AGKsnDp054096@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: 7d1321288ad9 - stable/14 - stand: Rename LIBFDT to LIBSAFDT List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 7d1321288ad980182b188834c6e81b568058190a Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7d1321288ad980182b188834c6e81b568058190a commit 7d1321288ad980182b188834c6e81b568058190a Author: Mark Johnston AuthorDate: 2023-11-07 14:57:32 +0000 Commit: Mark Johnston CommitDate: 2023-11-16 15:18:58 +0000 stand: Rename LIBFDT to LIBSAFDT Preemptively address a collision with LIBFDT (to be added in the future) from src.libnames.mk, which gets included via bsd.progs.mk. No functional change intended. Reviewed by: imp MFC after: 1 week Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D42486 (cherry picked from commit b247ff70e8f1b4bf184b9fc85d2908ec4db2d1ab) --- stand/efi/loader/Makefile | 4 ++-- stand/fdt.mk | 2 +- stand/kboot/Makefile | 4 ++-- stand/powerpc/ofw/Makefile | 4 ++-- stand/uboot/Makefile | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/stand/efi/loader/Makefile b/stand/efi/loader/Makefile index 3ce9ac169bd1..5a755c1d329f 100644 --- a/stand/efi/loader/Makefile +++ b/stand/efi/loader/Makefile @@ -122,7 +122,7 @@ ${LOADER}.efi: ${PROG} LIBEFI= ${BOOTOBJ}/efi/libefi/libefi.a -DPADD= ${LDR_INTERP} ${LIBEFI} ${LIBFDT} ${LIBEFI_FDT} ${LIBSA} ${LDSCRIPT} -LDADD= ${LDR_INTERP} ${LIBEFI} ${LIBFDT} ${LIBEFI_FDT} ${LIBSA} +DPADD= ${LDR_INTERP} ${LIBEFI} ${LIBSAFDT} ${LIBEFI_FDT} ${LIBSA} ${LDSCRIPT} +LDADD= ${LDR_INTERP} ${LIBEFI} ${LIBSAFDT} ${LIBEFI_FDT} ${LIBSA} .include diff --git a/stand/fdt.mk b/stand/fdt.mk index 56c9ff95b5ad..1b3df587d0db 100644 --- a/stand/fdt.mk +++ b/stand/fdt.mk @@ -4,5 +4,5 @@ CFLAGS+= -I${FDTSRC} CFLAGS+= -I${BOOTOBJ}/fdt CFLAGS+= -I${SYSDIR}/contrib/libfdt CFLAGS+= -DLOADER_FDT_SUPPORT -LIBFDT= ${BOOTOBJ}/fdt/libfdt.a +LIBSAFDT= ${BOOTOBJ}/fdt/libfdt.a .endif diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index f5049a1c19c0..b9d68cddf97d 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -63,7 +63,7 @@ CFLAGS+= -I${.CURDIR} -I${.CURDIR}/arch/${MACHINE_ARCH} CFLAGS+= -Wall -DPADD= ${LDR_INTERP} ${LIBOFW} ${LIBFDT} ${LIBSA} -LDADD= ${LDR_INTERP} ${LIBOFW} ${LIBFDT} ${LIBSA} +DPADD= ${LDR_INTERP} ${LIBOFW} ${LIBSAFDT} ${LIBSA} +LDADD= ${LDR_INTERP} ${LIBOFW} ${LIBSAFDT} ${LIBSA} .include diff --git a/stand/powerpc/ofw/Makefile b/stand/powerpc/ofw/Makefile index 2beb315a4d41..3e4c92220fac 100644 --- a/stand/powerpc/ofw/Makefile +++ b/stand/powerpc/ofw/Makefile @@ -59,8 +59,8 @@ LDFLAGS+= -T ${.CURDIR}/ldscript.powerpc LIBOFW= ${BOOTOBJ}/libofw/libofw.a CFLAGS+= -I${BOOTSRC}/libofw -DPADD= ${LDR_INTERP} ${LIBOFW} ${LIBFDT} ${LIBSA} -LDADD= ${LDR_INTERP} ${LIBOFW} ${LIBFDT} ${LIBSA} +DPADD= ${LDR_INTERP} ${LIBOFW} ${LIBSAFDT} ${LIBSA} +LDADD= ${LDR_INTERP} ${LIBOFW} ${LIBSAFDT} ${LIBSA} MK_PIE= no diff --git a/stand/uboot/Makefile b/stand/uboot/Makefile index 1cc4abe86d9b..83ac5949cbb3 100644 --- a/stand/uboot/Makefile +++ b/stand/uboot/Makefile @@ -78,7 +78,7 @@ OBJS+= ${SRCS:N*.h:R:S/$/.o/g} ubldr ubldr.bin ubldr.pie: ${OBJS} .endif -DPADD= ${LDR_INTERP} ${LIBFDT} ${LIBSA} -LDADD= ${LDR_INTERP} ${LIBFDT} ${LIBSA} +DPADD= ${LDR_INTERP} ${LIBSAFDT} ${LIBSA} +LDADD= ${LDR_INTERP} ${LIBSAFDT} ${LIBSA} .include From nobody Thu Nov 16 23:48:11 2023 X-Original-To: dev-commits-src-branches@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 4SWcDC3yVGz51FSL; Thu, 16 Nov 2023 23:48:11 +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 4SWcDC3VZcz3LW3; Thu, 16 Nov 2023 23:48:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700178491; 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=dRGTGGsYJrv3BC0/Fc+KbPF5xK4pN7sW3KXr+6/Wrvc=; b=ZQFnxJKfLmh/cJGe06Zpf9Vdj3VXvb55hBH5cQrkLJq6z3keSu6fp/xNiqKEREKNSbkhCl lkql6OxLgr72Vd6JXnjO/TFlt6Jkwbp7F6hX9zvx2+Gd+53G+4jvCDctrBqe7pFBlJcTnl A/0eKaBiOdWLwvI0JorjJ2zPx/7iGbTzdr3Koliq7sG9U7aAviqkChX4mf/WXSZHwQy2A9 pm3pe6KkFQMJQ1KD44X3uv1aj88X8DKouG4TL9XzwSfHtqQAeoHW/jPTPqaQ71Oix2Ot08 vuI10KmhVxUVB61bee/GpbRoxmANkZ26pB9w1T3BOZJD/UpyjEmc71fJocrN/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700178491; 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=dRGTGGsYJrv3BC0/Fc+KbPF5xK4pN7sW3KXr+6/Wrvc=; b=I5SbFLb4OgUlrx/To0GI2UuHxxl2sMm545t2VIXPeJIHmltp8AzXkaMTwtJU1wITm+tRRJ f3oFh6wTZ6xpqNj3vi026SdcgZp9TGLzCmcQtdKwwQPm4HHl2JoSDIJnXUMcj7R/YYnneO xfD5JRsjBVYvvHiWA3+wddTsFE5X523rYswniWp8QdxSKH6818HPYuSGGChuL4eTbRhaaO OLtBKmLoo5c9enCx2SSax2n1gZNM5wbVo/2GGFVickYfGjRF+FthpeB1faoHs+2p3RL8AT uM0bzZXJfH6L8/+Cd7UFleSgSta8O7xJXUfWQhEiR4Hw+I1w32mgBKuVyy54+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700178491; a=rsa-sha256; cv=none; b=o8yJgiQSF+xvtspP4rzxhtkubh9OpyvP/rkLYNth6FsiNGhLSuOP0VjJPA1utJogpJ8vjJ GaeMY9ecxaWLSIzmEg+d7madHhZBEBYB5xX1ppTs6Srl9UaqnwUY5DrBTbtEjB3jdW2uF7 3GJ5jGNYuU7X0JenSUH5g99qE+qQtTaByheKWryo182yPIeGJMnH6yjR8imDndSdddjho3 ieinJ8EDSNxFvPG1NoXe5139TMcI5u8IdPV2GV5MxutAtBHO6x2cqOzvCRqIxIvsK/flP2 SW5dW5R0QYaChyrR8ni00XVb7sFIvo5CxGRcSxCdT1760zkayExhKLRFCiqXPw== 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 4SWcDC2ZxRz53M; Thu, 16 Nov 2023 23:48:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGNmBl9037245; Thu, 16 Nov 2023 23:48:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGNmBfG037242; Thu, 16 Nov 2023 23:48:11 GMT (envelope-from git) Date: Thu, 16 Nov 2023 23:48:11 GMT Message-Id: <202311162348.3AGNmBfG037242@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: f40c9502c438 - stable/14 - nfsd: Avoid acquiring a vnode for some NFSv4 Readdir operations List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f40c9502c438d230a06157ec7f9be1c21ae46541 Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=f40c9502c438d230a06157ec7f9be1c21ae46541 commit f40c9502c438d230a06157ec7f9be1c21ae46541 Author: Rick Macklem AuthorDate: 2023-10-17 20:55:48 +0000 Commit: Rick Macklem CommitDate: 2023-11-16 23:46:17 +0000 nfsd: Avoid acquiring a vnode for some NFSv4 Readdir operations Without this patch, a NFSv4 Readdir operation acquires the vnode for each entry in the directory. If only the Type, Fileid, Mounted_on_fileid and ReaddirError attributes are requested by a client, acquiring the vnode is not necessary for non-directories. Directory vnodes must be acquired to check for server file system mount points. This patch avoids acquiring the vnode, as above, resulting in a 3-8% improvement in Readdir RPC RTT for some simple tests I did. Note that only non-rdirplus NFSv4 mounts will benefit from this change. Tested during a recent IETF NFSv4 Bakeathon testing event. (cherry picked from commit cd5edc7db261fb228be4044e6fdd38850eb4e9c4) --- sys/fs/nfsserver/nfs_nfsdport.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 570ae653e06c..776d5c50861c 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -117,6 +117,11 @@ extern int nfsrv_issuedelegs; extern int nfsrv_dolocallocks; extern struct nfsdevicehead nfsrv_devidhead; +/* Map d_type to vnode type. */ +static uint8_t dtype_to_vnode[DT_WHT + 1] = { VNON, VFIFO, VCHR, VNON, VDIR, + VNON, VBLK, VNON, VREG, VNON, VLNK, VNON, VSOCK, VNON, VNON }; +#define NFS_DTYPETOVTYPE(t) ((t) <= DT_WHT ? dtype_to_vnode[(t)] : VNON) + static int nfsrv_createiovec(int, struct mbuf **, struct mbuf **, struct iovec **); static int nfsrv_createiovec_extpgs(int, int, struct mbuf **, @@ -2310,7 +2315,7 @@ nfsrvd_readdirplus(struct nfsrv_descript *nd, int isdgram, caddr_t bpos0, bpos1; u_int64_t off, toff, verf __unused; uint64_t *cookies = NULL, *cookiep; - nfsattrbit_t attrbits, rderrbits, savbits; + nfsattrbit_t attrbits, rderrbits, savbits, refbits; struct uio io; struct iovec iv; struct componentname cn; @@ -2361,9 +2366,20 @@ nfsrvd_readdirplus(struct nfsrv_descript *nd, int isdgram, if (error) goto nfsmout; NFSSET_ATTRBIT(&savbits, &attrbits); + NFSSET_ATTRBIT(&refbits, &attrbits); NFSCLRNOTFILLABLE_ATTRBIT(&attrbits, nd); NFSZERO_ATTRBIT(&rderrbits); NFSSETBIT_ATTRBIT(&rderrbits, NFSATTRBIT_RDATTRERROR); + /* + * If these 4 bits are the only attributes requested by the + * client, they can be satisfied without acquiring the vnode + * for the file object unless it is a directory. + * This will be indicated by savbits being all 0s. + */ + NFSCLRBIT_ATTRBIT(&savbits, NFSATTRBIT_TYPE); + NFSCLRBIT_ATTRBIT(&savbits, NFSATTRBIT_FILEID); + NFSCLRBIT_ATTRBIT(&savbits, NFSATTRBIT_MOUNTEDONFILEID); + NFSCLRBIT_ATTRBIT(&savbits, NFSATTRBIT_RDATTRERROR); } else { NFSZERO_ATTRBIT(&attrbits); } @@ -2606,7 +2622,10 @@ again: new_mp = mp; mounted_on_fileno = (uint64_t)dp->d_fileno; if ((nd->nd_flag & ND_NFSV3) || - NFSNONZERO_ATTRBIT(&savbits)) { + NFSNONZERO_ATTRBIT(&savbits) || + dp->d_type == DT_UNKNOWN || + (dp->d_type == DT_DIR && + nfsrv_enable_crossmntpt != 0)) { if (nd->nd_flag & ND_NFSV4) refp = nfsv4root_getreferral(NULL, vp, dp->d_fileno); @@ -2743,6 +2762,11 @@ again: break; } } + } else if (NFSNONZERO_ATTRBIT(&attrbits)) { + /* Only need Type and/or Fileid. */ + VATTR_NULL(&nvap->na_vattr); + nvap->na_fileid = dp->d_fileno; + nvap->na_type = NFS_DTYPETOVTYPE(dp->d_type); } /* @@ -2774,7 +2798,7 @@ again: supports_nfsv4acls = 0; if (refp != NULL) { dirlen += nfsrv_putreferralattr(nd, - &savbits, refp, 0, + &refbits, refp, 0, &nd->nd_repstat); if (nd->nd_repstat) { if (nvp != NULL) From nobody Thu Nov 16 23:56:08 2023 X-Original-To: dev-commits-src-branches@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 4SWcPP0Mjxz51G0S; Thu, 16 Nov 2023 23:56:09 +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 4SWcPN6r02z3M6H; Thu, 16 Nov 2023 23:56:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700178969; 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=1zbXskylFwGKwTo0IqNAwDum12aBFI0knWjGIYxtftA=; b=CPGD/tkx0pWtbRseR30fgVb6pmd8s1eRTOWi4qaui76KnTjTtvUHRPMUAlVGoq7lID40m/ ZAeY2qdT8cKnSN0Nl7YfX8jB3qJoB++0+pRtdZfkARTu9FMwfYUf4FdQRkkUrE+DFU47oV H2o2C3L+GJ/a29o7qHWCCPY4mDMk/PQHONdrSFbk+OC5hHTzO3HdZyLUS9pWn2wr8+TBlV amX2a0TK8ZxIooYPKbiptuZP5wmqtea3IvypL58EFC8TyZ0ynDqYqnbcaY3daVMF20yKat aqci+EmG1+zloFCmytr0B5PR41iKvq6Ptgpe0OAqKe/iD+FwRI+HxTxJaWvXRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700178969; 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=1zbXskylFwGKwTo0IqNAwDum12aBFI0knWjGIYxtftA=; b=ML2/8hqSW0tSQ8gpYz4xwfB8Kh/EmEzVjJPlTUFMX8lSTSa45qgf4u31JSLo5kDjjgFUfQ EIhs9+hfRU5gPBeagc0+v69g3OEFewdnzzkbzQIO6Q/F6cfChUXkgnArsaG8RX5siqvFnh 2bD5bYmOfwNA7YYVgAkdJHsvckzReadUEBhJMwBK/cD5Jh+KiXwuNS1TMiKXvdBt/u337K zoTVv24bLJMH7VyFyfmA3+bifEWHkDgTKZF9it0UapJ026ExpAcq2278wyIGrq9TkRb4aG coi3X7s/hijXWv9wXdOQOepSr1tIS/xgP8wCbLuyk/AKUO3ebJgvZKzRJlflcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700178969; a=rsa-sha256; cv=none; b=no1IFgBN4Vv3Ty32umcc6lKtfK2L3+FOJVWsosrBkVPzevzMeaVQBEP2o9UCDkNEgXgNwP Nhs81bbbKPlHvLTjKAtuYQGnLpQMO9GX1VvnJKsP1Ne/EZ20rv3bBG5iSDrfcLGu8BZj9p kjYeomWmkN0DbumvixCEiL554bzGTlwph5dUOJWr7QbjBQSNPf/m4ra0MFJxVzhc+/DkPk looqBqErGOunDPvfJPzytPhHw5cluUr1nD6Zz9ohXMdpO/06H4z5TQVTtIvOmxxqDqlpVh smDYXtxt3QFF1QIpXhVpDlP6vBCel8G4pGYwgXluFmz12anzzofliFbvTas3Gw== 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 4SWcPN5wmDz5sP; Thu, 16 Nov 2023 23:56:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AGNu8YF054314; Thu, 16 Nov 2023 23:56:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AGNu87Z054311; Thu, 16 Nov 2023 23:56:08 GMT (envelope-from git) Date: Thu, 16 Nov 2023 23:56:08 GMT Message-Id: <202311162356.3AGNu87Z054311@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 0948d2a9cfea - stable/13 - nfsd: Avoid acquiring a vnode for some NFSv4 Readdir operations List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0948d2a9cfea5a469a9505fb314a6f9af38bb6fa Auto-Submitted: auto-generated The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=0948d2a9cfea5a469a9505fb314a6f9af38bb6fa commit 0948d2a9cfea5a469a9505fb314a6f9af38bb6fa Author: Rick Macklem AuthorDate: 2023-10-17 20:55:48 +0000 Commit: Rick Macklem CommitDate: 2023-11-16 23:54:20 +0000 nfsd: Avoid acquiring a vnode for some NFSv4 Readdir operations Without this patch, a NFSv4 Readdir operation acquires the vnode for each entry in the directory. If only the Type, Fileid, Mounted_on_fileid and ReaddirError attributes are requested by a client, acquiring the vnode is not necessary for non-directories. Directory vnodes must be acquired to check for server file system mount points. This patch avoids acquiring the vnode, as above, resulting in a 3-8% improvement in Readdir RPC RTT for some simple tests I did. Note that only non-rdirplus NFSv4 mounts will benefit from this change. Tested during a recent IETF NFSv4 Bakeathon testing event. (cherry picked from commit cd5edc7db261fb228be4044e6fdd38850eb4e9c4) --- sys/fs/nfsserver/nfs_nfsdport.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index e2a3ff7e3b93..05cebdd13f7d 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -117,6 +117,11 @@ extern int nfsrv_issuedelegs; extern int nfsrv_dolocallocks; extern struct nfsdevicehead nfsrv_devidhead; +/* Map d_type to vnode type. */ +static uint8_t dtype_to_vnode[DT_WHT + 1] = { VNON, VFIFO, VCHR, VNON, VDIR, + VNON, VBLK, VNON, VREG, VNON, VLNK, VNON, VSOCK, VNON, VNON }; +#define NFS_DTYPETOVTYPE(t) ((t) <= DT_WHT ? dtype_to_vnode[(t)] : VNON) + static int nfsrv_createiovec(int, struct mbuf **, struct mbuf **, struct iovec **); static int nfsrv_createiovec_extpgs(int, int, struct mbuf **, @@ -2319,7 +2324,7 @@ nfsrvd_readdirplus(struct nfsrv_descript *nd, int isdgram, caddr_t bpos0, bpos1; u_int64_t off, toff, verf; u_long *cookies = NULL, *cookiep; - nfsattrbit_t attrbits, rderrbits, savbits; + nfsattrbit_t attrbits, rderrbits, savbits, refbits; struct uio io; struct iovec iv; struct componentname cn; @@ -2370,9 +2375,20 @@ nfsrvd_readdirplus(struct nfsrv_descript *nd, int isdgram, if (error) goto nfsmout; NFSSET_ATTRBIT(&savbits, &attrbits); + NFSSET_ATTRBIT(&refbits, &attrbits); NFSCLRNOTFILLABLE_ATTRBIT(&attrbits, nd); NFSZERO_ATTRBIT(&rderrbits); NFSSETBIT_ATTRBIT(&rderrbits, NFSATTRBIT_RDATTRERROR); + /* + * If these 4 bits are the only attributes requested by the + * client, they can be satisfied without acquiring the vnode + * for the file object unless it is a directory. + * This will be indicated by savbits being all 0s. + */ + NFSCLRBIT_ATTRBIT(&savbits, NFSATTRBIT_TYPE); + NFSCLRBIT_ATTRBIT(&savbits, NFSATTRBIT_FILEID); + NFSCLRBIT_ATTRBIT(&savbits, NFSATTRBIT_MOUNTEDONFILEID); + NFSCLRBIT_ATTRBIT(&savbits, NFSATTRBIT_RDATTRERROR); } else { NFSZERO_ATTRBIT(&attrbits); } @@ -2616,7 +2632,10 @@ again: new_mp = mp; mounted_on_fileno = (uint64_t)dp->d_fileno; if ((nd->nd_flag & ND_NFSV3) || - NFSNONZERO_ATTRBIT(&savbits)) { + NFSNONZERO_ATTRBIT(&savbits) || + dp->d_type == DT_UNKNOWN || + (dp->d_type == DT_DIR && + nfsrv_enable_crossmntpt != 0)) { if (nd->nd_flag & ND_NFSV4) refp = nfsv4root_getreferral(NULL, vp, dp->d_fileno); @@ -2754,6 +2773,11 @@ again: break; } } + } else if (NFSNONZERO_ATTRBIT(&attrbits)) { + /* Only need Type and/or Fileid. */ + VATTR_NULL(&nvap->na_vattr); + nvap->na_fileid = dp->d_fileno; + nvap->na_type = NFS_DTYPETOVTYPE(dp->d_type); } /* @@ -2785,7 +2809,7 @@ again: supports_nfsv4acls = 0; if (refp != NULL) { dirlen += nfsrv_putreferralattr(nd, - &savbits, refp, 0, + &refbits, refp, 0, &nd->nd_repstat); if (nd->nd_repstat) { if (nvp != NULL) From nobody Fri Nov 17 02:29:05 2023 X-Original-To: dev-commits-src-branches@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 4SWgnt1nHBz51NYg; Fri, 17 Nov 2023 02:29:06 +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 4SWgnt1JySz3WRB; Fri, 17 Nov 2023 02:29:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700188146; 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=PlV5qNrzvpnFUxlX4mZJNKZVZiNWLvNPjIo36vhKWVQ=; b=JWi9uKrT33sprhiFy8zYBVinY7vw45Iv635GHJz0/GbwC+cS6NEeFRaCrJEfuQlSaAsfYR zDinlVvhZX4yBaPRbyt235sjN7dtdhDIlYLe8i1oXYYWXwdmANUcGZvkIEJFa3FAUxCxa6 uuhRRzshtyBN2Szy52J0fySJSHDgl0NI+6vSbcFybLXDQ41N8VKl/BnHV+L/StefRt4QhJ ICPB4VCp5EOnq36RHktVxS1MENZ/Yo6rHzQcEDSMvs2xFoQxvxcB+Eb7eOupvK5DS8AYU4 B5bT706QB7YlwrDJxo2uj85V4Dbub/kH5WowuMJ7M51zSdJqZ12/7fuJljiphQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700188146; 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=PlV5qNrzvpnFUxlX4mZJNKZVZiNWLvNPjIo36vhKWVQ=; b=HNo8rOsVtRWKOy7pwzb1fP7fWXgPjSNJo2kS1RDRbxFyLSon/3ydAk6hGIpVTagtR9MhJK 6EI6hpgQDxHHEe8Eqv1bokN5Gf/Ueew0CmbC2TwluIJPnZkdu1gdPHEDd5DBZD3t1fAuef Cn/QJSiM9fjZ2YQTKJsFe9GXOxj+lOYYBHzd6Zg1HtV+yMWz9Ad3fV1pa9nf97XpOrFh3b WK7RLkukK2S3EKYHPHVmvqFOZLkB2nQA2KPaiyxKmcArhs4Vn97hTb9OEcohy3YqtxnJs7 Kw+HKsiGWeksrBoVc/8BrHfBBUNfvbe+p2+xDxTeeo4mM9YXqaj4pmVcm1Lt+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700188146; a=rsa-sha256; cv=none; b=CwviU+997p5z+727cYJ6AUR6ROPBvaziSE72z1EAemcFf45/Ukme6O/yxVVs8BPJOoWk/4 U1OadGaIkWrCHCIRp6olUxLFa4k5yXH+pUL2vH0RMCztOBpFvPSxLJkfjKWNijSenBhk8o LyxVaTgylDZXZPaVTuaAakxYOtV6rf2aSEpgYOSYb65OZKl7gXGzMEU9Uq300PLZ9RTWI3 Vak3uiGdDkR4cjYR25552bZiRYJ49FFnChrd+dDDwWNftmOLqadQVVRJv9lSTPoFEB0G5n jtYajRM2tod3rJh5OeLVFjWpi2p6BhtE4SSMcjXlGmogLbs++35eNM7SuRznFA== 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 4SWgnt0NbPz9Vx; Fri, 17 Nov 2023 02:29:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AH2T51V004692; Fri, 17 Nov 2023 02:29:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AH2T5Be004689; Fri, 17 Nov 2023 02:29:05 GMT (envelope-from git) Date: Fri, 17 Nov 2023 02:29:05 GMT Message-Id: <202311170229.3AH2T5Be004689@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: b7a01b663a45 - stable/14 - pf_purge_expired_states(): fix build without SDT probes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: b7a01b663a45d8506f3862392b1ce8d54a303efa Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b7a01b663a45d8506f3862392b1ce8d54a303efa commit b7a01b663a45d8506f3862392b1ce8d54a303efa Author: Konstantin Belousov AuthorDate: 2023-11-09 20:17:53 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-17 02:28:36 +0000 pf_purge_expired_states(): fix build without SDT probes (cherry picked from commit af21145f33d75c8d754b2371d03c181cd0c730e7) --- sys/netpfil/pf/pf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index d5a9583d83f8..6e6b0b20130d 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -2175,7 +2175,7 @@ pf_purge_expired_states(u_int i, int maxcheck) struct pf_idhash *ih; struct pf_kstate *s; struct pf_krule_item *mrm; - size_t count; + size_t count __unused; V_pf_status.states = uma_zone_get_cur(V_pf_state_z); From nobody Fri Nov 17 09:00:39 2023 X-Original-To: dev-commits-src-branches@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 4SWrTh0zvmz50jmy; Fri, 17 Nov 2023 09:00:40 +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 4SWrTh0HK4z4Zx4; Fri, 17 Nov 2023 09:00:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700211640; 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=1LH4koiX+DN7shP5WskBSrpqxRvJokwLuMyA+JU7+2c=; b=hZ99E61paZ/lB/MVn+hnF8REKbbWde5xpbF5FeASSu4yzl90hscGgQqoOFlZhrWMJRbQ5e +SN9blt7YPeYhgBtuxN/UKE9hZ90LMn2bMGpLaW97yQg/qS4XSc3XFBZ4+NQ/KzG1fPiUl tXI3xAbv3DrIlG+gPc3YjycwkXKB10OV8AyITgsX7FZ7YgGMSMj18rbE1UjFqRbSa9L9WJ dHrDtfv5D3KliEiuIbEmtIBiOXnTxjlABATSJOXxI7xXe7GPH3lsxfT1VaSsZy4vzhwNnp aOApMgJrQAyWuZIEjp1q1XuG29FVcsS/wY5iA1huXg9XHDga8a2Etauru3gBSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700211640; 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=1LH4koiX+DN7shP5WskBSrpqxRvJokwLuMyA+JU7+2c=; b=tAYfKhwFoLhqOVH0ctf64lqcLUkuqiyf4A/82+fYdpCUMiT76p0MnUgRi+2rH6OqIYKgV6 DnrpQ4yZqsZYMhVpWBdFbD36nWnHnYUHOVcxDcs3NKvr8Kss7klS6AJmZbtALkzTmGjTuS ZJHy7TxPs5KYj40ijIxbRTjAmq9pIpNsHG3CrV5uixrlPpMLsinBobMOiUFt6SQnc0gPrh aBPfbNJn5xtFZoD321zll2Pvyky3uzVKPWJZO8BrhEvTg9nru9I0CULJX/YXCu488AF1eR sWuk6CQLpv9NgmwWm0N/iABI/o2yM0qkjGveQpCyIvk+KkPn0gS2lXqWfD3+5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700211640; a=rsa-sha256; cv=none; b=Q7xeou8O+XtxWjE7v/5b+2Nvy6AVQ+O7QT1gEOTCM+5ZjYy0M9Te4VlQOd/ajDCwNTlyGH TtTDoqkxXAyMZDMhFXmHkoyaJO8bk+61EvLzWp0qPr8VnibqmqsSyH5JfUGSroPodQkLGO j2js4aUBW9uAmUwv8ha6gmbhG39qZP/wJwuNT+WIDMDaptN/U0lA6Lt5l99obCKwd26w1U ljoQaAYbAwefjOECUPIWodFiizVsEd3Jc9uuIK+WLNcM3Q5ePhchGLKYBS2MQ2pkteAW2D uD6/drgMsVs8tXrGT3R6A6Sb84tF9UUGZLdhy+t0QQL5HoLEyESoShpq+n42nA== 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 4SWrTg6TJ5zckB; Fri, 17 Nov 2023 09:00:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AH90dHC065929; Fri, 17 Nov 2023 09:00:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AH90dbT065926; Fri, 17 Nov 2023 09:00:39 GMT (envelope-from git) Date: Fri, 17 Nov 2023 09:00:39 GMT Message-Id: <202311170900.3AH90dbT065926@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 51a024c42c46 - stable/14 - pfsync: Document the transport over IPv6 feature List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 51a024c42c4698da1616f1126fb0af4660a3155d Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=51a024c42c4698da1616f1126fb0af4660a3155d commit 51a024c42c4698da1616f1126fb0af4660a3155d Author: Luiz Amaral AuthorDate: 2023-11-10 15:40:02 +0000 Commit: Kristof Provost CommitDate: 2023-11-17 09:00:22 +0000 pfsync: Document the transport over IPv6 feature On D40102 we implemented support for transport over IPv6 but the documentation was not updated to reflect the new feature. Clarify what is available and how it can be used. MFC after: 1 week Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D42505 (cherry picked from commit 81d4c786209bfa3752c25b2564eb363027f5d914) --- sbin/ifconfig/ifconfig.8 | 24 ++++++++++++++++++------ share/man/man4/pfsync.4 | 21 ++++++++++++++++++++- 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8 index bd6cbd05210e..3b1774606b21 100644 --- a/sbin/ifconfig/ifconfig.8 +++ b/sbin/ifconfig/ifconfig.8 @@ -27,7 +27,7 @@ .\" .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 .\" -.Dd October 17, 2023 +.Dd November 08, 2023 .Dt IFCONFIG 8 .Os .Sh NAME @@ -2870,12 +2870,24 @@ to send and receive pfsync state synchronisation messages. .It Fl syncdev Stop sending pfsync state synchronisation messages over the network. .It Cm syncpeer Ar peer_address -Make the pfsync link point-to-point rather than using -multicast to broadcast the state synchronisation messages. -The peer_address is the IP address of the other host taking part in -the pfsync cluster. +Set the destination address for the state synchronization messages sent. +The +.Ar peer_address +is normally the IPv4 or IPv6 address of the other host taking +part in the pfsync cluster. +.Pp +When the +.Ar peer_address +is set to a unicast IP address, the pfsync link will behave +as point-to-point rather than using multicast to broadcast the messages. +.Pp +When the +.Ar peer_address +is set to ff12::f0, the state synchronization +messages will be broadcast using multicast over IPv6. .It Fl syncpeer -Broadcast the packets using multicast. +Unset the syncpeer. +Packets will then be broadcast using multicast over IPv4. .It Cm maxupd Ar n Set the maximum number of updates for a single state which can be collapsed into one. diff --git a/share/man/man4/pfsync.4 b/share/man/man4/pfsync.4 index 4decb50feb7b..b3603c48316e 100644 --- a/share/man/man4/pfsync.4 +++ b/share/man/man4/pfsync.4 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd October 17, 2023 +.Dd November 08, 2023 .Dt PFSYNC 4 .Os .Sh NAME @@ -113,6 +113,25 @@ dedicated to pfsync messages such as a crossover cable between two firewalls, or specify a peer address and protect the traffic with .Xr ipsec 4 . .Pp +Support for +.Nm +transport over IPv6 was introduced in +.Fx 14.0 . +To set up +.Nm +using multicast with IPv6 link-local addresses, the +.Ic syncpeer +must be set to the +.Nm +multicast address and the +.Ic syncdev +to the interface where +.Nm +traffic is expected. +.Bd -literal -offset indent +# ifconfig pfsync0 syncpeer ff12::f0 syncdev vtnet0 +.Ed +.Pp When new features are introduced to .Xr pf 4 the format of messages used by From nobody Fri Nov 17 23:24:01 2023 X-Original-To: dev-commits-src-branches@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 4SXCds5FZHz51V9M; Fri, 17 Nov 2023 23:24:01 +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 4SXCds4jFsz4Pkw; Fri, 17 Nov 2023 23:24:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700263441; 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=WPL0xRD/MxK13IycQSOIs1/GeshbsE31ReFLjZrH/fA=; b=Xd8v5bgG9jMJgDuyrQaI5BEMIjIhWdBAKVdNUdOuevPJfweqHycmkHIVO8eyaC67k6XTbp ZfLnDSMaa70asTUlmyOqmrf/CsGM6PnYF/uaMXGz5sSW6hH0NFo7WFsPx+itC806VX8cVv Vbd088oaQ4yFkNWe63N/OdfaDNAKgiUA9U1j8Bbg2PMuixFI/YSMkGYotPgubnd5jnZ9hk zgOaPpv2eSZ6r4FUoL0v3Gg2RoYFOm7gUSgqtNn9PXcH5dIkBNJHC1wSh20y1QMkzk/PsM rOpCYzHmnIO3SQXF+L1D/gJ0XJBw+q/fmL22aW3Z8shUe9XsrfVICSB6cF1pyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700263441; 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=WPL0xRD/MxK13IycQSOIs1/GeshbsE31ReFLjZrH/fA=; b=vR2r4KeZN+H1wY8oPcow1+264ZuIjewLS1dJTcQGd+yeovrMz0JgJhCSnuv/CIXW3SdGhM fA6KY3lhhNMzL1EuKOZgugnaZ1GcamoLPm5pERS818vpv3IzkGhJeUBveGjRz9d57NgBWF Sa597g2cMzgeaBvK3hdkaQHVjoo3d+Gho5yewwXXrdSIppNSSXcOfh9j7Sa5LwG4oUhd1u 7Hq5JIDndAFkacgxZSzTiajLEQNPU+mcsmeVF0JA/ALrEf1SqaJYGOiC8m+mjDuZaRPJVK +O1WQqh6CHaDlV3g30PnL+C4a6B+Grjl+pXXgHLmLuz+6qMZF8aKE5YVHga5iQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700263441; a=rsa-sha256; cv=none; b=sddY8TMZuRC5cRg3JbqiCl4c9LMfU0iWSPRVL6X7C95JZi4kRk11n/0MGjPXpzoJWDm6AF LnKsxuISFIWwzMCjFM1OdECm+x3T/mHTWJFG0Gog99UrgWmkoJlMgBhLDfC0eWoHpbKjjt bUS3Bt5asQNsKkbqxPNl/95qcI87dO9v91qzJnV6fxXNoHHQD6s8nfUZFq8fpdrpsEDIpX mTzvlK11eD5N6mbmgPW36FCDelUZ+WdNajj8QCZ064uYoesfeUQCgPNkAmdwpHiSASv1Fi a3YDIzFh2FZa805xqqlajxEU2RmRi0QcxhnnvG5bbZhOseLCx+vK24UIiI4mEQ== 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 4SXCds3m85z13Q0; Fri, 17 Nov 2023 23:24:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AHNO1SI011539; Fri, 17 Nov 2023 23:24:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AHNO1KJ011538; Fri, 17 Nov 2023 23:24:01 GMT (envelope-from git) Date: Fri, 17 Nov 2023 23:24:01 GMT Message-Id: <202311172324.3AHNO1KJ011538@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Glen Barber Subject: git: ecb97bc5eca9 - Create tag release/14.0.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gjb X-Git-Repository: src X-Git-Refname: refs/tags/release/14.0.0 X-Git-Reftype: annotated tag X-Git-Commit: ecb97bc5eca946f0fdf0d35a169ce246aa263d84 Auto-Submitted: auto-generated The annotated tag release/14.0.0 has been created by gjb: URL: https://cgit.FreeBSD.org/src/tag/?h=release/14.0.0 tag release/14.0.0 Tagger: Glen Barber TaggerDate: 2023-11-17 23:23:38 +0000 release: tag 14.0-RELEASE Approved by: re (implicit) -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEjRJAPC5sqwhs9k2jAxRYpUeP4pMFAmVX9gsACgkQAxRYpUeP 4pOh2Q//QE7d6Z7bPIMiWLOrVx7SkQ8LBjAgH/Wb4FqmkVzF59ftZkXd3uw5k+1w 8fuCNdQmYILF2xZaAyL+J8UgB9uQq0bhlUdW202Z4enuS4fad5t2MuoY980CA1tz nOaUCfAR6Y0xmm8y0phfLsq+/Q9b5R2Ba9I/RGI5SVb/Rlm0FKpNCDr3+Gf45tZf niRqnVAyeaYrXyfPhUfBEXadR7mK5dN0UuGVC9LJLnIYj7wM7bG+hB16qiTxT2Lq G4DjJxGH8Pj6/SGfkBcnn92ZydE7NNp7AjV4ffEGadKOZi7uEiM2M3s5cYhTpFIG Rm++KQ13fTWFM4lB54sXrvNVqOQZA3efQPhz2VPXuoF6QlVdhkvn+K1GW0OH+Hs1 63i1PKcEiBRMjJvzUO4TvHxKmEVDtEuzB0C01nYvCCpSW5gWT+KNyEW9CJqRAFnL tn7Rt9yeQ/GVTapRJYyU928f79pNXF86IqYzJHTgLEBbA4rQhvGPqr76K0o6DneQ B7Noa0VRHJ7wcWmU57K6K5yak+SMr2WXnSC7whaEtEHpfXn7iQBj49oXquceYXjL oWRbBrYZ35ZJ7gdMn+FD9950SZug6YZgv/oLzKXGcZbK8WDZ6nS/Q7NgwhFTrZjV phYb3y5DntIoLThAtJq7t9lyRBqFRBjhuLEDQS1jjwCkrwz+hLU= =FDyV -----END PGP SIGNATURE----- commit f9716eee8ab45ad906d9b5c5233ca20c10226ca7 Author: Glen Barber AuthorDate: 2023-11-09 23:38:09 +0000 Commit: Glen Barber CommitDate: 2023-11-09 23:38:09 +0000 release: update releng/14.0 to -RELEASE - Add UPDATING entry anticipating the announcement date. - Set a static __FreeBSD_version in crtbrand.S. - Update BRANCH to reflect RELEASE. Approved by: re (implicit) Sponsored by: GoFundMe https://www.gofundme.com/f/gjbbsd Sponsored by: PayPal https://paypal.me/gjbbsd From nobody Sat Nov 18 10:44:42 2023 X-Original-To: dev-commits-src-branches@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 4SXVlH2bTLz50vwH; Sat, 18 Nov 2023 10:44:43 +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 4SXVlH2356z4K7d; Sat, 18 Nov 2023 10:44:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700304283; 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=pw+jN12eG0ynA9+XBE1qQvoo1gb7w7ixX2v9MpT4Uvw=; b=d2ziZ/b8n2YzxV+ksWm3m2lgEmDU6a+zJhsHJWr8Nkbgco0fq5AmT83dsOJlgwhaLom4/W NRNfemP2Zs6GU+XHn77rkPFq+0DgFGdTrGBMyQB4JxOnzr9p9DvMGyOQt6gEhAhw5On1b0 poPrursqOpjCVf+Bh8y2yugergvaiG2LwuIu2gn8JG5yD0W53xmGfLRfu9b48m2itzd3Mr nfA7ur5Vj3xQQSMDAq+Zldcp/M5TxNSsbPfF6JiPLgwZ3Ga+lU9t7tE7wgj+h3T3kI793a 3Sm6YXVRYIYG+6Jf8Fej3i4ud7U8fGS3d5HcS7c/wPiWRgsXmyIwhpgJNMz/vQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700304283; 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=pw+jN12eG0ynA9+XBE1qQvoo1gb7w7ixX2v9MpT4Uvw=; b=cMs7dJjx2fjdhcrd4oySIdSctPMUfDtw+7aVqyGeWs6VLJpgJNuGOHrvDwcBFxOnWldv86 sqj6xcv4VjDndvpIc4S5CgKqlRd/wuEqp16/qZ52mAk6B6hIrawm2NGq+lSpbpHtFenDug ScNr/9wERPbybvpY/a40xKJeD0CfwNrlv3kuWgkxlIFCMAuEYZFxgQa9hJXoMu/1vsvSW7 KwdOAUgsqvfxBLa4pC+05Iq0MrWtb7QLwVkC4T8yiGJwIXpx++Ivqgt2ZCARcosQFT40eT Pv/CoqJkHnkhih45R8w3ZGgXw6J8h/a2anx62HUi5HITDsN0TV4X2ZxdawmxQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700304283; a=rsa-sha256; cv=none; b=j4ZiO35KQGdcIIlajk45iOimHkaJa/2iM+aohHGpKTdqLAoU803WEJhMb03Ulrdud1kn9z LprrIhQyMZpZhVWs8HsixjZG8XWHXLa2AyOTPoSXoT929+0AypMqTQvEZTb3PUyeyXvdel 1Uanf0JvSqnQ3kUPwKyyRD1pyUU07CRx4gaeVk2OOqWXu8b1qEHVltzPN/giQEdQE87int xcGqqsIUs3lrcfm2wg+/PFfdp9ph4coJB8ET7QkGzHOVvl10I1q2fcWjhpD/gk63IrwF1p pDq3XTfT98u0b7R+/cyo/mpzl5ycVk8vphbjc0dgFtq92qjyXaKG3omf30jSFA== 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 4SXVlH0fSlz8Gw; Sat, 18 Nov 2023 10:44:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AIAig4o047280; Sat, 18 Nov 2023 10:44:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AIAigtH047278; Sat, 18 Nov 2023 10:44:42 GMT (envelope-from git) Date: Sat, 18 Nov 2023 10:44:42 GMT Message-Id: <202311181044.3AIAigtH047278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e23e0e3c9cbf - stable/13 - pf_purge_expired_states(): fix build without SDT probes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org 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/stable/13 X-Git-Reftype: branch X-Git-Commit: e23e0e3c9cbf1ca79e1029c89b19c88a28c18e9f Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e23e0e3c9cbf1ca79e1029c89b19c88a28c18e9f commit e23e0e3c9cbf1ca79e1029c89b19c88a28c18e9f Author: Konstantin Belousov AuthorDate: 2023-11-09 20:17:53 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-18 10:43:51 +0000 pf_purge_expired_states(): fix build without SDT probes Sponsored by: The FreeBSD Foundation (cherry picked from commit af21145f33d75c8d754b2371d03c181cd0c730e7) --- sys/netpfil/pf/pf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 80f4a8fa0626..1323a1003af8 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -2131,7 +2131,7 @@ pf_purge_expired_states(u_int i, int maxcheck) { struct pf_idhash *ih; struct pf_kstate *s; - size_t count; + size_t count __unused; V_pf_status.states = uma_zone_get_cur(V_pf_state_z);