From nobody Sun Mar 5 09:40:26 2023 X-Original-To: dev-commits-src-main@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 4PTxXC02Yhz3wH8P; Sun, 5 Mar 2023 09:40:27 +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 4PTxXB6fzNz4CdS; Sun, 5 Mar 2023 09:40:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678009226; 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=BkSG8XdN0iZc+mQUNXhM7SFuXW5ZOVC7/c/A+4o4ck8=; b=fWLbZaKu7Y2KcVyNgJ/9+IlcHM6w2KtiE5LSaeN0XLcODAieboG7mS8BsQcs/H+rwody9C MVwmoqusKfmNPrbcJsW6/3Q5Mi7HoxLFWVU1HCshH0p0Qg7nBj74gEhMUyxn6mEVFvSwyv o0mWh7kNXshS+v+RL1eHOBSvppcMWhGHGwGNBgwqTVfdK1pt6I1qyQea6CnnzxvdwU1S5R w7dY+N7ETnHdjJJuiMRWdrpP98t3EkyISISZhjA6gKF8Udf1qQnp0PwDjAPis3cXqZOHtJ xHDh+6mWbMr3dJT795cDgsRyuQXz9MTONE/td8xKQsYNiVwI18k7mxvtEcO0Iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678009226; 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=BkSG8XdN0iZc+mQUNXhM7SFuXW5ZOVC7/c/A+4o4ck8=; b=eYVL6JFkA4oUXWrvUsCsWRl38QI+jdguw48eZVt7zdpdY1AiGn7aeyCVQ74BK3jIwH2sal kXxAGAO8HawWfVWnkNRKGwyYsBCzOrOkYET/hJ1vjtO3dlj5UqnG0eEkUiUqmWPpDyNrgp JN9KvGRxPRsIYYrUn9OsMSxYTKzqnmvwloKQ6oRQdy3GJoeoB4nrwgGrInUk5W2tKMpryu BJN2SEGJ7ly95WASkqnwNVrb2v0R1/ptNY8wH94KwgUs5ELDtFXECm2xfAOolG9SdYGKAr VeJV2Pb9AbJE8Br9xl5rf5QlKvG6g6G/YNltqfAQbnulEtQW01x1+BKCeZAR4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678009226; a=rsa-sha256; cv=none; b=QnnnzrkHv/PaasIxAaX6umkcvf+KYrjzOj4ExkuDN2O3cnAXSGRuCDyxdLESxI3Uu6trNK SqPN6G3UbuvRvEIG46muR9caDGeyJYM+4X9LUzxIlC8clL26QB5kxltNenEsbIoy1jp4Lt y09+mhENlbb8PNlZtRWh9ywpKa1IZ4BU9NFP+b02p17betI985I8jfAEilw0yx/HIFBzri MY+ToeiItlTYa2c0WDNuG3NkkXE1PjQzOdlnyxexf1G0G98U9D6uLOi4LU/rZnfgSXNRWo VappCAhdXKipVlwOMPnSu+iA+Dhtp8ADm4v3IytxOIRtKOQOT/yte+uGj3GqXg== 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 4PTxXB5kFJzGqM; Sun, 5 Mar 2023 09:40:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3259eQRc081069; Sun, 5 Mar 2023 09:40:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3259eQY5081068; Sun, 5 Mar 2023 09:40:26 GMT (envelope-from git) Date: Sun, 5 Mar 2023 09:40:26 GMT Message-Id: <202303050940.3259eQY5081068@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: c237c10a2346 - main - xz: Improve compatibility with systems without capability mode support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c237c10a2346dec422233db05b2012afd45363fa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=c237c10a2346dec422233db05b2012afd45363fa commit c237c10a2346dec422233db05b2012afd45363fa Author: Xin LI AuthorDate: 2023-03-05 09:40:13 +0000 Commit: Xin LI CommitDate: 2023-03-05 09:40:13 +0000 xz: Improve compatibility with systems without capability mode support When the kernel is built without capability mode support, or when using an emulator like qemu-user-static that does not translate system calls, these calls will return a negative number and set the errno to ENOSYS. However, this error does not indicate a real programming or runtime error and is generally ignored by base system applications built with capability mode sandboxing. Match this behavior by making xz(1) to ignore ENOSYS errors when calling capability mode system calls too. PR: 269185 Reported by: Dan Kotowski MFC after: 2 days --- contrib/xz/src/xz/file_io.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/contrib/xz/src/xz/file_io.c b/contrib/xz/src/xz/file_io.c index a5841b370302..3625393a5dc7 100644 --- a/contrib/xz/src/xz/file_io.c +++ b/contrib/xz/src/xz/file_io.c @@ -193,23 +193,24 @@ io_sandbox_enter(int src_fd) cap_rights_t rights; if (cap_rights_limit(src_fd, cap_rights_init(&rights, - CAP_EVENT, CAP_FCNTL, CAP_LOOKUP, CAP_READ, CAP_SEEK))) + CAP_EVENT, CAP_FCNTL, CAP_LOOKUP, CAP_READ, CAP_SEEK)) < 0 && + errno != ENOSYS) goto error; if (cap_rights_limit(STDOUT_FILENO, cap_rights_init(&rights, CAP_EVENT, CAP_FCNTL, CAP_FSTAT, CAP_LOOKUP, - CAP_WRITE, CAP_SEEK))) + CAP_WRITE, CAP_SEEK)) < 0 && errno != ENOSYS) goto error; if (cap_rights_limit(user_abort_pipe[0], cap_rights_init(&rights, - CAP_EVENT))) + CAP_EVENT)) < 0 && errno != ENOSYS) goto error; if (cap_rights_limit(user_abort_pipe[1], cap_rights_init(&rights, - CAP_WRITE))) + CAP_WRITE)) < 0 && errno != ENOSYS) goto error; - if (cap_enter()) + if (cap_enter() < 0 && errno != ENOSYS) goto error; #elif defined(HAVE_PLEDGE) From nobody Sun Mar 5 20:16:26 2023 X-Original-To: dev-commits-src-main@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 4PVCf30z60z3tvJd; Sun, 5 Mar 2023 20:16:27 +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 4PVCf30VHnz3thm; Sun, 5 Mar 2023 20:16:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678047387; 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=JKuNTTR/X2jXHG+VmOkFR1PGHpIiZMn1RJhVbPAkkNo=; b=ANBgbi9f0Gq5M5hFPfk3uyJcB8QIFMzLL6sdjgnedALFRqLx94D9RyC+/P5gLXjPqTH96m 0SbvH707q9nLTjBm5wYbhwlgK4Zk1z9rcKkKNhnrLDL/PbZtVNylNEvpmTIKF40KykOVLB zf6YK+z1WCz+106zS9lxi6pPstjkW4+onqu6zJ9ChpJwyuGoUuSol4DlABgnfgGRhVUmV2 StiIn59CmZ6oozffvlnA6hGHu9StKd9numdd7rDsWwAEXeELBr8qWtOyeBX9z2vvMvSdnR tDphF0cTUS3FhE9H0jiWXUQug1nno0cDD+i/8B01t/8h2bubn06FlHYm7MOmeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678047387; 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=JKuNTTR/X2jXHG+VmOkFR1PGHpIiZMn1RJhVbPAkkNo=; b=A7HFlcVqjhATw4KABZ6e4BqaqinPHyoCGP1+lDQTKI31rhgKjx5DoWJTRD6GBYLYQa5Y0a e1b3GMS0QRkzcRUWicjePF+ihcROCs4uMyTiy5nsZ0v5HQRb1Df0J5Qglo7VHIyLnweB57 EUJLYetTHFctF9PUP7BzCy9LijqO7xkmeEd1UEpfwTWclsKWyqSfL0X5Vde7jixUdviip6 Vh7pIpheWcNIc1T1CRIoEIfrBMjvyUFGpt6GId5cIGK16mInshTpDEtPUnoL2nT5AZfs2f Si50erLWLbYHOjgHzu3eiy2zqPIXeEzaplPgtWUdCOxIP6zg1u0WslFrgPIEwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678047387; a=rsa-sha256; cv=none; b=bkJ4kLAbRg4uap4bJAi/kBuX1MvoDORYQuMqbIWtXpf46grlTBcbUneeQwCndFCiScvFX+ +/Kc59UZORtbWET38aMk9zycHi/PwcyJG8ecfjUIgK+VNulQrk6Un+yaJrCf8PWjT9R9Zo 0k0qHF7I66IxLss3rBuHYTTtjduVgAk1EbMmaHZ6/ZSWV5ip4DJdDmLSM9VYeG1PX8JPBq aIAE0nT+JWHxKM9/lLgVpdY3+h3H08NYzyGifoqYzdNdgX4peDhipQY65OO1b1EzbWNtdD kNvUrbIVNDv7/9Fqdb++Cq9b+PjrF51ac/TMYUuus1uhLNKPUa08vJ+w3FqOHw== 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 4PVCf26hC6zZ9M; Sun, 5 Mar 2023 20:16:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 325KGQmI023322; Sun, 5 Mar 2023 20:16:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 325KGQuf023321; Sun, 5 Mar 2023 20:16:26 GMT (envelope-from git) Date: Sun, 5 Mar 2023 20:16:26 GMT Message-Id: <202303052016.325KGQuf023321@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 3689f8aeab82 - main - linux_80211: Don't dequeue lsta if not queued List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3689f8aeab82150da6789be87b6c2f9385810c23 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=3689f8aeab82150da6789be87b6c2f9385810c23 commit 3689f8aeab82150da6789be87b6c2f9385810c23 Author: Colin Percival AuthorDate: 2023-03-05 20:10:57 +0000 Commit: Colin Percival CommitDate: 2023-03-05 20:16:22 +0000 linux_80211: Don't dequeue lsta if not queued This fixes an instapanic when restarting wpa_supplicant on my laptop's iwlwifi device. After this change, iwlwifi enters a nonfunctional state if wpa_supplicant is restarted, but "service netif restart wlan0" is enough to get it working again. releng/13.2 candidate. Reviewed by: bz MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index fdfa384c1a25..5b9792ed664e 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -174,10 +174,13 @@ lkpi_lsta_remove(struct lkpi_sta *lsta, struct lkpi_vif *lvif) { struct ieee80211_node *ni; + IMPROVE("XXX-BZ remove tqe_prev check once ni-sta-state-sync is fixed"); + ni = lsta->ni; LKPI_80211_LVIF_LOCK(lvif); - TAILQ_REMOVE(&lvif->lsta_head, lsta, lsta_entry); + if (lsta->lsta_entry.tqe_prev != NULL) + TAILQ_REMOVE(&lvif->lsta_head, lsta, lsta_entry); LKPI_80211_LVIF_UNLOCK(lvif); lsta->ni = NULL; From nobody Sun Mar 5 20:28:03 2023 X-Original-To: dev-commits-src-main@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 4PVCvR4P1bz3tw5Y; Sun, 5 Mar 2023 20:28:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PVCvR3d6cz3vq0; Sun, 5 Mar 2023 20:28:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678048083; 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=mhOexl1d7TiBJkMAqfA395zHPtvLqgXTqTp+zjeyen0=; b=hdzF+dqtxYa3QeX6AXJEAXraqq6jhMD0tB2dPohyBYBdUGmK64+xpxFCW+sbXnapXTXS5E 2AVtZ/EK8o7aWuU9mcChMBE6FHJK20gos+U4DauS8wRLcALNTllXUiJH1Bslg68sqx/g67 L3iYe8a7RB3ZkgRSekhUbbwT+LZujUFF5lhFwu7LN9xelUzxKflR7Ex2BPh3ML30+MKL3Z NUgcv3WoAML6/pRgtQ81ObyWwvIgFPie2CKndQpnNmUgx7uETtvxuQmJ12FRMYr94BpTbw vRea+frNTh3q2JUSG9jawqhCSCNz1Ga8KYGMJuDF6i0zCTSKT66c5yu951KVBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678048083; 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=mhOexl1d7TiBJkMAqfA395zHPtvLqgXTqTp+zjeyen0=; b=Vt3kQdiVou94KWlkM5RzI17IUQRD79SF1Bn6/UAwux6G87Yrlz4TQlsoWKaMCP/OzFKCG4 BnZd1ZBi2G1MkEslYD2I9nPSajB9Y3h0mQXtk2QQTGqMKh8m05HmgMCGMgEKcMFE31EVuF Igu4IekXzD8QrY7HoZQBs3hwIrNeprx3tNoq3u5sCZUwpje79R1dkNRGDWuJSgQic3e+1s c9Q99i/C2jsQ/+LUxxqnzb/M+hPRegfCDBjVr2yauZWbMei42VsjGYbhWupu7hY4++ox4d lv3sFPpLJHiTktbwvnLijFBOZysb4X49VaHPl56YGCVYFi1qduhGqPwwupQP/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678048083; a=rsa-sha256; cv=none; b=cp48L915BhA3YBz6BjmbN7Hd+h/U/eJ30UPrc1yqclaUIo7WHEAjwcxfkZgGxz8F28oBnG t7eeUPFZbgZ5CFGJQyuNe0Vb6zHysAIK9IVqmQuD4qqWfwp3w2pyf++mUynU2qT8yVxxKB rzFpBneNJkzB7JHnCXSUzz2hpLSVP0rH0QINcbJBsR0eidRvg1ajvMpT2GgHgVzRfjG4zE q+OTqULsUCc6XX6Y8Gxs/65Cv0rZ6rHgpIZgZ08YPTXHuG31gifaeVRPF/pG26yqPMZ4md kKHWmvfZHzolLn6VgvalLmE3QaYNC2WjkGYsvvj9oGY7Ax/57hknz4baA5wT6A== 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 4PVCvR2hKhzZbh; Sun, 5 Mar 2023 20:28:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 325KS3Vo039252; Sun, 5 Mar 2023 20:28:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 325KS3GJ039251; Sun, 5 Mar 2023 20:28:03 GMT (envelope-from git) Date: Sun, 5 Mar 2023 20:28:03 GMT Message-Id: <202303052028.325KS3GJ039251@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: cb894f746c07 - main - Map arm64 pci config memory as non-posted List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb894f746c07001dd5aebfafca596374ec335964 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=cb894f746c07001dd5aebfafca596374ec335964 commit cb894f746c07001dd5aebfafca596374ec335964 Author: Andrew Turner AuthorDate: 2023-03-05 12:34:35 +0000 Commit: Andrew Turner CommitDate: 2023-03-05 20:17:21 +0000 Map arm64 pci config memory as non-posted On arm64 PCI config memory is expected to be mapped with a non-posted device type. To handle this use the new bus_map_resource support in arm64 to map memory with the new VM_MEMATTR_DEVICE_NP attribute. This memory has already been allocated and activated, it just needs to be mapped. Reviewed by: kevans, mmel Differential Revision: https://reviews.freebsd.org/D30079 --- sys/arm/nvidia/tegra_pcie.c | 9 +++++++-- sys/arm64/cavium/thunder_pcie_pem.c | 13 ++++++++++++- sys/arm64/qoriq/qoriq_dw_pci.c | 14 +++++++++++++- sys/arm64/rockchip/rk_pcie.c | 18 ++++++++++++++++-- sys/dev/pci/pci_dw_mv.c | 14 +++++++++++++- sys/dev/pci/pci_host_generic.c | 26 +++++++++++++++++++++++++- 6 files changed, 86 insertions(+), 8 deletions(-) diff --git a/sys/arm/nvidia/tegra_pcie.c b/sys/arm/nvidia/tegra_pcie.c index ecc58a93066f..a12d874e409b 100644 --- a/sys/arm/nvidia/tegra_pcie.c +++ b/sys/arm/nvidia/tegra_pcie.c @@ -392,7 +392,7 @@ tegra_pcbib_map_cfg(struct tegra_pcib_softc *sc, u_int bus, u_int slot, u_int func, u_int reg) { bus_size_t offs; - int rv; + int flags, rv; offs = sc->cfg_base_addr; offs |= PCI_CFG_BUS(bus) | PCI_CFG_DEV(slot) | PCI_CFG_FUN(func) | @@ -402,7 +402,12 @@ tegra_pcbib_map_cfg(struct tegra_pcib_softc *sc, u_int bus, u_int slot, if (sc->cfg_handle != 0) bus_space_unmap(sc->bus_tag, sc->cfg_handle, 0x800); - rv = bus_space_map(sc->bus_tag, offs, 0x800, 0, &sc->cfg_handle); +#if defined(BUS_SPACE_MAP_NONPOSTED) + flags = BUS_SPACE_MAP_NONPOSTED; +#else + flags = 0; +#endif + rv = bus_space_map(sc->bus_tag, offs, 0x800, flags, &sc->cfg_handle); if (rv != 0) device_printf(sc->dev, "Cannot map config space\n"); else diff --git a/sys/arm64/cavium/thunder_pcie_pem.c b/sys/arm64/cavium/thunder_pcie_pem.c index cbc70d7862de..3f4df8a621a3 100644 --- a/sys/arm64/cavium/thunder_pcie_pem.c +++ b/sys/arm64/cavium/thunder_pcie_pem.c @@ -745,6 +745,8 @@ thunder_pem_probe(device_t dev) static int thunder_pem_attach(device_t dev) { + struct resource_map_request req; + struct resource_map map; devclass_t pci_class; device_t parent; struct thunder_pem_softc *sc; @@ -766,11 +768,20 @@ thunder_pem_attach(device_t dev) rid = RID_PEM_SPACE; sc->reg = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - &rid, RF_ACTIVE); + &rid, RF_ACTIVE | RF_UNMAPPED); if (sc->reg == NULL) { device_printf(dev, "Failed to allocate resource\n"); return (ENXIO); } + resource_init_map_request(&req); + req.memattr = VM_MEMATTR_DEVICE_NP; + error = bus_map_resource(dev, SYS_RES_MEMORY, sc->reg, &req, &map); + if (error != 0) { + device_printf(dev, "could not map memory.\n"); + return (error); + } + rman_set_mapping(sc->reg, &map); + sc->reg_bst = rman_get_bustag(sc->reg); sc->reg_bsh = rman_get_bushandle(sc->reg); diff --git a/sys/arm64/qoriq/qoriq_dw_pci.c b/sys/arm64/qoriq/qoriq_dw_pci.c index f06b06a3aa01..2a11c9cf6cd4 100644 --- a/sys/arm64/qoriq/qoriq_dw_pci.c +++ b/sys/arm64/qoriq/qoriq_dw_pci.c @@ -188,6 +188,8 @@ qorif_dw_pci_probe(device_t dev) static int qorif_dw_pci_attach(device_t dev) { + struct resource_map_request req; + struct resource_map map; struct qorif_dw_pci_softc *sc; phandle_t node; int rv; @@ -202,13 +204,23 @@ qorif_dw_pci_attach(device_t dev) rid = 0; sc->dw_sc.dbi_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); + RF_ACTIVE | RF_UNMAPPED); if (sc->dw_sc.dbi_res == NULL) { device_printf(dev, "Cannot allocate DBI memory\n"); rv = ENXIO; goto out; } + resource_init_map_request(&req); + req.memattr = VM_MEMATTR_DEVICE_NP; + rv = bus_map_resource(dev, SYS_RES_MEMORY, sc->dw_sc.dbi_res, &req, + &map); + if (rv != 0) { + device_printf(dev, "could not map memory.\n"); + return (rv); + } + rman_set_mapping(sc->dw_sc.dbi_res, &map); + /* PCI interrupt */ rid = 0; sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, diff --git a/sys/arm64/rockchip/rk_pcie.c b/sys/arm64/rockchip/rk_pcie.c index 32f70a9c9b44..b59784275198 100644 --- a/sys/arm64/rockchip/rk_pcie.c +++ b/sys/arm64/rockchip/rk_pcie.c @@ -1143,7 +1143,10 @@ rk_pcie_probe(device_t dev) static int rk_pcie_attach(device_t dev) -{ struct rk_pcie_softc *sc; +{ + struct resource_map_request req; + struct resource_map map; + struct rk_pcie_softc *sc; uint32_t val; int rv, rid, max_speed; @@ -1192,13 +1195,24 @@ rk_pcie_attach(device_t dev) goto out; } sc->axi_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); + RF_ACTIVE | RF_UNMAPPED); if (sc->axi_mem_res == NULL) { device_printf(dev, "Cannot allocate 'axi-base' (rid: %d)\n", rid); rv = ENXIO; goto out; } + resource_init_map_request(&req); + req.memattr = VM_MEMATTR_DEVICE_NP; + rv = bus_map_resource(dev, SYS_RES_MEMORY, sc->axi_mem_res, &req, + &map); + if (rv != 0) { + device_printf(dev, "Cannot map 'axi-base' (rid: %d)\n", + rid); + goto out; + } + rman_set_mapping(sc->axi_mem_res, &map); + rv = ofw_bus_find_string_index(sc->node, "reg-names", "apb-base", &rid); if (rv != 0) { device_printf(dev, "Cannot get 'apb-base' memory\n"); diff --git a/sys/dev/pci/pci_dw_mv.c b/sys/dev/pci/pci_dw_mv.c index 663d14e77d45..71b1087680d7 100644 --- a/sys/dev/pci/pci_dw_mv.c +++ b/sys/dev/pci/pci_dw_mv.c @@ -221,6 +221,8 @@ pci_mv_probe(device_t dev) static int pci_mv_attach(device_t dev) { + struct resource_map_request req; + struct resource_map map; struct pci_mv_softc *sc; phandle_t node; int rv; @@ -233,13 +235,23 @@ pci_mv_attach(device_t dev) rid = 0; sc->dw_sc.dbi_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); + RF_ACTIVE | RF_UNMAPPED); if (sc->dw_sc.dbi_res == NULL) { device_printf(dev, "Cannot allocate DBI memory\n"); rv = ENXIO; goto out; } + resource_init_map_request(&req); + req.memattr = VM_MEMATTR_DEVICE_NP; + rv = bus_map_resource(dev, SYS_RES_MEMORY, sc->dw_sc.dbi_res, &req, + &map); + if (rv != 0) { + device_printf(dev, "could not map memory.\n"); + return (rv); + } + rman_set_mapping(sc->dw_sc.dbi_res, &map); + /* PCI interrupt */ rid = 0; sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c index fbc9c2e1d3c2..3d12266a3ddd 100644 --- a/sys/dev/pci/pci_host_generic.c +++ b/sys/dev/pci/pci_host_generic.c @@ -54,6 +54,15 @@ __FBSDID("$FreeBSD$"); #include "pcib_if.h" +#if defined(VM_MEMATTR_DEVICE_NP) +#define PCI_UNMAPPED +#define PCI_RF_FLAGS RF_UNMAPPED +#else +#error +#define PCI_RF_FLAGS 0 +#endif + + /* Forward prototypes */ static uint32_t generic_pcie_read_config(device_t dev, u_int bus, u_int slot, @@ -69,6 +78,10 @@ static int generic_pcie_write_ivar(device_t dev, device_t child, int index, int pci_host_generic_core_attach(device_t dev) { +#ifdef PCI_UNMAPPED + struct resource_map_request req; + struct resource_map map; +#endif struct generic_pcie_core_softc *sc; uint64_t phys_base; uint64_t pci_base; @@ -95,12 +108,23 @@ pci_host_generic_core_attach(device_t dev) return (error); rid = 0; - sc->res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE); + sc->res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, + PCI_RF_FLAGS | RF_ACTIVE); if (sc->res == NULL) { device_printf(dev, "could not allocate memory.\n"); error = ENXIO; goto err_resource; } +#ifdef PCI_UNMAPPED + resource_init_map_request(&req); + req.memattr = VM_MEMATTR_DEVICE_NP; + error = bus_map_resource(dev, SYS_RES_MEMORY, sc->res, &req, &map); + if (error != 0) { + device_printf(dev, "could not map memory.\n"); + return (error); + } + rman_set_mapping(sc->res, &map); +#endif sc->bst = rman_get_bustag(sc->res); sc->bsh = rman_get_bushandle(sc->res); From nobody Sun Mar 5 20:28:04 2023 X-Original-To: dev-commits-src-main@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 4PVCvS5WRdz3tw31; Sun, 5 Mar 2023 20:28: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 4PVCvS4SnMz3vqF; Sun, 5 Mar 2023 20:28:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678048084; 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=b5ih/vl/XyGaOi+rnIhOWFPa0ou6wFJJuGV9pktmp/s=; b=RrRl67GBwTuT0qmvpD40x8YhwwC6cyrnOlph69dfp5UBd/3LgqABaQVrkxRWHOrkXUDck9 NHCjlBLPJchn7IGhBgBsRqns/S9siTxoI2nRb7PkUXiGD4MZAP8j3Eas8QqXnMwxfcj5Q4 dWiSd+8l8/dIFuzl+MhVMOS8PfYr/6ZuQarUqHjxwC4YyKE3LlcbBZOmwRhqwuCinOAwRZ G9o48oH3m3zPvlkpAgTIh9KqibaQDp/aA4BPAFQOFgQl/XDOh12OCB0aYxXG6MJliBEsdN 9KxSGmYiA0s3Fb5VmhumxRHvgP85ITv52hTOdYalLQApWEdL/WJhtSpXfCTNFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678048084; 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=b5ih/vl/XyGaOi+rnIhOWFPa0ou6wFJJuGV9pktmp/s=; b=rBdFVzOXGeG7NbgnU4hoWOts1NnZsMW+EFNbaw7pBHjnfvlBwiJs2GuJQwTDHBI5L7PaL+ 72hP9AcSlzjoor7zWSNek8PUS/K0atxX+ZhXxsWKQsOs7JWBz6BvbtYNc3NQ2y3zAG3l9f EGFD7mikaAdImPQHyldaDPnpaTIanFgvUngxrk2O/mp/D04zk46kuXrZSrcTG9cprr0cFI WsK2IgWnB/fBbFbMILiYmgRMXR/ABqCrKNLfM+ec12NVmvIpPjUn2y2yjwA/JwoEOqqIvd l2zTslbYisQYUnbTWHYuM2u2wkaS9nkFSrF3zlufavP9O67kXmX1XiogTcz0Iw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678048084; a=rsa-sha256; cv=none; b=jhUL90nn7HZx0/NmQ9CshqrQudTv8wHwsU285OWDb8ldTt+xOUZdBngbNPSB+zCkjL3RVN Bhr/TuJ5h8ItoGEp1iHUKDdWw4xxPiD8CWndofurWn1hrtqmyLCLTIZp+V6yewIC4Q0N4T yWTxC4+3YU+gi576HC9nfNjJ6NXcOHHVnsQC2q3j8Eo/wUWOLA+mjiN64wqb47lybKXwr5 TSbWpUrh6/zovXqvtA9tWWT89DzdEUqlt8ytVIfkLgpmvA3E28FzWGXCvoNm6ZxIimw7EF 8CVNgoI4cMpzfoyhb8sg7c6AF+CwQpOBIj55RhDIER6DMzhqPcUGuwBgzrkejA== 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 4PVCvS3Z4YzZB3; Sun, 5 Mar 2023 20:28:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 325KS4RZ039272; Sun, 5 Mar 2023 20:28:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 325KS4Tx039270; Sun, 5 Mar 2023 20:28:04 GMT (envelope-from git) Date: Sun, 5 Mar 2023 20:28:04 GMT Message-Id: <202303052028.325KS4Tx039270@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 5a91529479b4 - main - Support non-posted MMIO on arm64 with FDT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a91529479b4180ce031046640febc6fa3ec02a3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5a91529479b4180ce031046640febc6fa3ec02a3 commit 5a91529479b4180ce031046640febc6fa3ec02a3 Author: Andrew Turner AuthorDate: 2023-03-05 12:35:40 +0000 Commit: Andrew Turner CommitDate: 2023-03-05 20:17:21 +0000 Support non-posted MMIO on arm64 with FDT To allow hardware to work around a broken memory bus where we need to support the nonposted-mmio flag. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D34333 --- sys/arm64/arm64/nexus.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/nexus.c b/sys/arm64/arm64/nexus.c index 50604fd22e98..d07965433919 100644 --- a/sys/arm64/arm64/nexus.c +++ b/sys/arm64/arm64/nexus.c @@ -64,6 +64,7 @@ __FBSDID("$FreeBSD$"); #ifdef FDT #include +#include #include #include "ofw_bus_if.h" #endif @@ -92,6 +93,7 @@ static int nexus_attach(device_t); #ifdef FDT static device_probe_t nexus_fdt_probe; static device_attach_t nexus_fdt_attach; +static bus_activate_resource_t nexus_fdt_activate_resource; #endif #ifdef DEV_ACPI static device_probe_t nexus_acpi_probe; @@ -366,9 +368,10 @@ nexus_get_bus_tag(device_t bus __unused, device_t child __unused) } static int -nexus_activate_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) +nexus_activate_resource_flags(device_t bus, device_t child, int type, int rid, + struct resource *r, int flags) { + struct resource_map_request args; struct resource_map map; int err; @@ -382,7 +385,10 @@ nexus_activate_resource(device_t bus, device_t child, int type, int rid, case SYS_RES_IOPORT: case SYS_RES_MEMORY: if ((rman_get_flags(r) & RF_UNMAPPED) == 0) { - err = nexus_map_resource(bus, child, type, r, NULL, + resource_init_map_request(&args); + if ((flags & BUS_SPACE_MAP_NONPOSTED) != 0) + args.memattr = VM_MEMATTR_DEVICE_NP; + err = nexus_map_resource(bus, child, type, r, &args, &map); if (err != 0) { rman_deactivate_resource(r); @@ -402,6 +408,13 @@ nexus_activate_resource(device_t bus, device_t child, int type, int rid, return (0); } +static int +nexus_activate_resource(device_t dev, device_t child, int type, int rid, + struct resource *r) +{ + return (nexus_activate_resource_flags(dev, child, type, rid, r, 0)); +} + static struct resource_list * nexus_get_reslist(device_t dev, device_t child) { @@ -497,6 +510,9 @@ static device_method_t nexus_fdt_methods[] = { DEVMETHOD(device_probe, nexus_fdt_probe), DEVMETHOD(device_attach, nexus_fdt_attach), + /* Bus interface */ + DEVMETHOD(bus_activate_resource, nexus_fdt_activate_resource), + /* OFW interface */ DEVMETHOD(ofw_bus_map_intr, nexus_ofw_map_intr), @@ -529,6 +545,39 @@ nexus_fdt_attach(device_t dev) return (nexus_attach(dev)); } +static int +nexus_fdt_activate_resource(device_t bus, device_t child, int type, int rid, + struct resource *r) +{ + phandle_t node, parent; + int flags; + + flags = 0; + switch (type) { + case SYS_RES_MEMORY: + case SYS_RES_IOPORT: + /* + * If the fdt parent has the nonposted-mmio property we + * need to use non-posted IO to access the device. When + * we find this property set the BUS_SPACE_MAP_NONPOSTED + * flag to be passed to bus_space_map. + */ + node = ofw_bus_get_node(child); + if (node != -1) { + parent = OF_parent(node); + if (parent != -1 && + OF_hasprop(parent, "nonposted-mmio")) { + flags |= BUS_SPACE_MAP_NONPOSTED; + } + } + break; + default: + break; + } + + return (nexus_activate_resource_flags(bus, child, type, rid, r, flags)); +} + static int nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int icells, pcell_t *intr) From nobody Sun Mar 5 20:30:34 2023 X-Original-To: dev-commits-src-main@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 4PVCyR537gz3twKs; Sun, 5 Mar 2023 20:30:39 +0000 (UTC) (envelope-from bz@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PVCyR4bQrz3wLm; Sun, 5 Mar 2023 20:30:39 +0000 (UTC) (envelope-from bz@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678048239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=thQJWLpmN5IDQB40udHLQk/itCwZzhaI4+UuLKizfuk=; b=dzXuyXMOkE440M+j04Tayq0JjIWM4ufmWlzrk1BrvKU7Y6zFFyLZPqX0wbjL9MyUcvge+0 EXsaLKnjXksp4ycqtqy5sUlyWfegjRtX9tmxkZviommOc1xF6NhmsdUgBa6jCJ4yK4EvbG ODqRxEwwxSuokCN8Bz4yJ/SMukgWD8vLxKj+6n9CeLKMgqLzN/wgUVHHMzRx4IpGy5VAMK S5cv4vPhM6St/jJX4B8m3hGT/aJ/8lVoXqDN4CY2mkU+16/WzyJ/f8+YwRaiHfJ4l0hVnE Kmw8F4gYrd1aYzPZHuA9WOwg1NwR74794/w2BjHzQBE90iiA56Ysv/eh0gExyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678048239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=thQJWLpmN5IDQB40udHLQk/itCwZzhaI4+UuLKizfuk=; b=Icap3B4BcEcfYVOxGaxzoZs+Xr3kKCfMUUVvriEN6CrjFzROh8XjTVaOZSgggkNpbjXxZZ Bcfj86T5hL7Y/lv3ETAYSVNuhtB88muubpS9YQ66E7KPT3g/zEXUxZggN5Y+fU8HQ8GHsi +xHRBG/njhtKYjfXkd8BzexiquAYu/wt5GJPjqEZwX3kdFXSw7BEbN1pJIqg4vEf80xIaw HykgYKI0L1JfIrun5LxgYDRSVXQUEBA8bzWFmlqynqdfu0Dehy8XqCOmgZVH/Ggwpdl0r+ YaTFg7qlbqai0/Kkx8CWIbhX8Nx7j8JWjTgpoAvwLeqLEmnrOe8BN1Ge9DNNeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678048239; a=rsa-sha256; cv=none; b=R9DDC8AkwtPrjCCRSjAQAyq4Q6gOU/dW9D9zGLzRbrJvK/mQovFVQRQyiwN/r8l2zg3JDn hNqTBZHdLNU0N7r23sBYvHGdSXrCbwxSe8NOBdHhaImxHhYrFnAd1qqZ9J3yg4buSc8jCO pyPwOqrVOmrjVuSswLuF938XYSFFo6PAiq2Wnv4s4u+T6ppCs/oyL+CwlipSKiJvnUvqy8 TL7hb4LmUj2aQno+LIffkvPQGDoZzjoiat5yPBtXKPrrwz38RNcVFcpH+OMzwQuWWGuemX G3JEc1YBR788r91QGo0dnuDIbsg6CZfUXZK0hZTaMYHZKp5eS29Rc4RggXUetg== Received: from mx1.sbone.de (cross.sbone.de [195.201.62.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE Root Certificate Authority" (not verified)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PVCyR2Sm6zkyn; Sun, 5 Mar 2023 20:30:39 +0000 (UTC) (envelope-from bz@freebsd.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 24DFC8D4A179; Sun, 5 Mar 2023 20:30:38 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (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) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id B75285C3A831; Sun, 5 Mar 2023 20:30:37 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id k5LxYZYJZukE; Sun, 5 Mar 2023 20:30:36 +0000 (UTC) Received: from strong-iwl0.sbone.de (strong-iwl0.sbone.de [IPv6:fde9:577b:c1a9:4902:b66b:fcff:fef3:e3d2]) (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) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 88DF05C3A82F; Sun, 5 Mar 2023 20:30:35 +0000 (UTC) Date: Sun, 5 Mar 2023 20:30:34 +0000 (UTC) From: "Bjoern A. Zeeb" To: Gleb Smirnoff cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: ef6fcc5e2b07 - main - nfsd: Add VNET_SYSUNINIT() macros for vnet cleanup In-Reply-To: Message-ID: References: <202302202112.31KLCfQB080359@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-ThisMailContainsUnwantedMimeParts: N On Thu, 23 Feb 2023, Gleb Smirnoff wrote: > Rick, > > On Thu, Feb 23, 2023 at 05:56:06AM -0800, Rick Macklem wrote: > R> > This one actually doesn't look correct to me. What happens here is that the sysctls > R> > will affect only the default VNET. > R> > > R> Yes, but the sysctls are mostly useless anyhow. I don't know how to make them > R> work in a prison. (I know how to use SYSCTL_FLAG_VNET, but that does not > R> work in this case.) > > Doesn't they work as intended in my patch D38742? > > R> > I think the VNET-itezation of this file went a bit wrong. You don't need to convert > R> > static structures to malloced when you VNET-ize a module. The infrastructure should > R> > take care of memory management. > R> > > R> Not if you want to keep the vnet footprint small. This was necessary > R> so that nfsd.ko > R> (and friends) will load dynamically. Without the conversion to > R> mallocs, it would complain > R> the vnet was out of memory when nfsd.ko tried to load. > R> (I'm sure I didn't need to do all of them, but it made sense to keep > R> the vnet footprint > R> as small as possible.) > R> > The dynamic sysctl context seems to be unneeded from the very beginning. It was > R> > always attached to the static softc. Suggested patch: > R> > > R> > https://reviews.freebsd.org/D38742 > R> > > R> I'll look at it, but if it stops malloc'ng softc, then I will be > R> worried w.r.t. vnet footprint and > R> dynamic loading. (Note that the structure has an array of hash list > R> pointers in it, so it > R> is rather large. > > Replying to you and Bjoern's email too here. Well, if we want a fully blown > virtualized network stack, and this is what VIMAGE is, then, well, we need a > full chunk of memory to keep a network stack data. So, if there is a limit > there, (Bjoern mentioned 8k) then this limit needs to be increased as more > and more subsystems are virtualized. I also don't see how we actually save > any memory using malloc(9) instead of using memory provided by VIMAGE? The > kmem use would be roughly the same if not worse. What exactly are we saving > here? You save sapce in the vnet module area (1 pointer instead of n KB of data). It is only the vnet module area which is contraint given it's special memory location calculation, duplication, and update for each vnet. The overall memory is not reduced. See the comment in sys/net/vnet.c which describes the reason and how it works quite well. /bz -- Bjoern A. Zeeb r15:7 From nobody Sun Mar 5 22:50:47 2023 X-Original-To: dev-commits-src-main@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 4PVH4762B3z3w4JM; Sun, 5 Mar 2023 22:50: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 4PVH475bL0z4CNM; Sun, 5 Mar 2023 22:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678056647; 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=tvX2Q5QAWUJAMH2XhIfh/C7xuVtpPO4kWIgLrHW9wDM=; b=g8pQtIv9gZCflmjYKYSPzeJBT+q2TEN1sG+QvRHyZIBEuzQ/Bi9U10dqshg+wCIegDbKtU /JGwEvaUxLzhqAaGc1nYyUw1Vjwv1+KkeXL+thHQeSxo4+Q5X4+lVzllR1X0S5nZzLTdTJ vYlVaPRebzEepIF7pmwOHggPOU4TDFoj8vf28h+X62XP77y4eROIhB5qRLxYuNwVEWVsmK LOKmiQGOF0wnwSNcpr+lcN9WOPQlzvIOPZ0yTX4N4nYBFvXk4XyWDUpchQilmr0b9cXKpF 1lhLYsIsY/X1SaDdFqkv8FfiuH1Q3VEs6PZ3JshpcKJuS4cKdlu2WwmVTMRbkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678056647; 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=tvX2Q5QAWUJAMH2XhIfh/C7xuVtpPO4kWIgLrHW9wDM=; b=T999UzFESQtP6rtljsV+dKRpo6sXCID0T4xaHLaZ3TCmnYz4H0G1cQ5CRd5R2IX49Hmh9t +0vSyRQHQNhy24lO/brIpn72JXBHyuVeFZ2jLUfpwyfP7ulUO/wJ5TqCdHhoxP0BMZmC/C ymxbg65V3CuB1KmHLrxhbChcL/KDHRIauSRuSFP2gfxKFuXX8+gYowt5bjKLqDL7FqNr3K azdEiuUvEWyjfbEay4Uo9u62Qeib7xOphLazOv/geNg5SwuaFqMW/XSgmxHuvXTXAl2p/Y Ku/SOpAFNkCk6i3WdF0mZg2MetqD9aP9jTIUYjqFFdACvLfOz5+JGtwvh8eW8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678056647; a=rsa-sha256; cv=none; b=DDcSCZXgq82QxLY8AC/DqBE4R9NTucqunDLGIkToeZHZIZFgi2UAfk6TwHzSAi+agB/kk3 0ehEgEK7V1MNaGG1rxUZ4xUE7tXcIO06Rwc851UIDug7zKr80CJmBQq6Zu7xjNLY5WVrFW a7F5LHH7QpqvW/eZ425vRfy09j8300GGWicNfUIHqHpomowbCikHgLIh1LUooJEqxrrziq OCnznSN+mMdX6EO5JLDruvlK9YupImsHbrx2v4ojtk7rxoLeZFIh/Vvs6lK9UMYbU4NmSw 7BsnCEiqKv+U8RokrCAIe5kXm5jMueLpPcc821qkvHu7HXiWCQGgbQtMaq8iBQ== 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 4PVH474dhqzf26; Sun, 5 Mar 2023 22:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 325MolRT078255; Sun, 5 Mar 2023 22:50:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 325MolOa078254; Sun, 5 Mar 2023 22:50:47 GMT (envelope-from git) Date: Sun, 5 Mar 2023 22:50:47 GMT Message-Id: <202303052250.325MolOa078254@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: cd9e5d43333c - main - netstat: fix pfsync stats spelling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd9e5d43333c859edb77604be9ca8f4c44dac35c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=cd9e5d43333c859edb77604be9ca8f4c44dac35c commit cd9e5d43333c859edb77604be9ca8f4c44dac35c Author: Kajetan Staszkiewicz AuthorDate: 2023-02-07 21:50:09 +0000 Commit: Mateusz Guzik CommitDate: 2023-03-05 22:50:07 +0000 netstat: fix pfsync stats spelling Reviewed by: mjg --- usr.bin/netstat/if.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/netstat/if.c b/usr.bin/netstat/if.c index 5ba4f3afc67b..ea0a81692d03 100644 --- a/usr.bin/netstat/if.c +++ b/usr.bin/netstat/if.c @@ -153,7 +153,7 @@ pfsync_stats(u_long off, const char *name, int af1 __unused, int proto __unused) "{N:/packet%s received (IPv6)}\n"); pfsync_acts_stats("input-histogram", "received", &pfsyncstat.pfsyncs_iacts[0]); - p(pfsyncs_badif, "\t\t/{:dropped-bad-interface/%ju} " + p(pfsyncs_badif, "\t\t{:dropped-bad-interface/%ju} " "{N:/packet%s discarded for bad interface}\n"); p(pfsyncs_badttl, "\t\t{:dropped-bad-ttl/%ju} " "{N:/packet%s discarded for bad ttl}\n"); From nobody Mon Mar 6 05:39:13 2023 X-Original-To: dev-commits-src-main@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 4PVS7P5Gqkz3wRp5; Mon, 6 Mar 2023 05:39:13 +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 4PVS7P4CjRz3j91; Mon, 6 Mar 2023 05:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678081153; 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=yLMAIIsvh8VV279ArjYV65vgBx5tcsXOFjUdSuEEGh8=; b=c38Q9jBKxDoZaezump9bNidzSJfuFVp1PLS9t6HytZ12u6+5DRkhb7HrCjKHo+3IRQnrib f7b+9GgMcnyUgjNvuyjKX9FcvsHoP1IaJ2M1+evLpMSpoylK6DNMN8NjnHhwqH2fqdePC+ zFd/bDBlmZBoIqcGCKRHJ9OW6Knrp5awZnaUTwqbdHstfYDy2jWrEveKL3BGj+b5LSh/8J umRieSM9cgFTUmPSY8b9FpvPK5RdDl8oM8Efgt+WM8zEhZeP5IeRBUowKPuMUYyy45Xooq aTN5veGe1VcdQcv8fexui/9SGuputyretHm0Z7Ai9YGZYzSYyEppSB0pE9HaoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678081153; 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=yLMAIIsvh8VV279ArjYV65vgBx5tcsXOFjUdSuEEGh8=; b=ck2ILXTuf1BpigAlxrudVSUQGaTtr6SQFUmkZiD5jbaahuNg1Piz2J/xRaAqPG/yogJImR /1teImR9iGJhb2X+yfMbQlgaaLsusZXRGtz5p3I2ibO30tWDYL0OGCvQnyEc8NZ5NyVczC coRfBpxBV70mUDmP2Fc246VAQoNEs872Ezwt3mHqQ+xavl6bIL/AJwvb/vBIdy2OQSCSp+ vSZEV5RgCB96MrOEOMagd0BAyXun8lOO5yKXiztWXaaS+hH+gDO0YKNOd87dNOX/RPL7Xz NbJgrBk3mhh1/iX0ZbNTBpBKiC7a+LhOh+U5uHQ2sKu2kZmsId6qKk8tbhx5Mw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678081153; a=rsa-sha256; cv=none; b=xn7+r8uwDsvFCY/Ha9uvRkKd0VcO6hfbBQcYT5+WuTcn+iJYhIf+1PE+2HUBCnja6AIVxY K83sRj6/t7nLG10azm+zhd2goRfgi4EHInr0SZg+ddpJ05CORytnCe4FBhZbMcSNrYA/QA +RtzL1UpzDMH8t3r0GVXo618ftTJOpCPJDn0ZCbf0mnRqnAstPvR5wYGgXSe2SM3+bs9cM rOoctD3M6KJI6i0C0cXcOfLhwMIQUVbds+iL1blH+4wLdyFqBXlCnwzk0djm3SkeyraqGZ yj9K5Ypd1piBnL1LW7yOMEyYhpyr/RPaQXb8nmX8mLMmOoW71ni9T73qanl8Hg== 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 4PVS7P39jHzqNZ; Mon, 6 Mar 2023 05:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3265dDl7040982; Mon, 6 Mar 2023 05:39:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3265dDx9040981; Mon, 6 Mar 2023 05:39:13 GMT (envelope-from git) Date: Mon, 6 Mar 2023 05:39:13 GMT Message-Id: <202303060539.3265dDx9040981@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: 528d8e55c8d3 - main - FFS/UFS snapshots: improve documentation. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 528d8e55c8d338e78fa4e6c9f182e8975f75199a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=528d8e55c8d338e78fa4e6c9f182e8975f75199a commit 528d8e55c8d338e78fa4e6c9f182e8975f75199a Author: Kirk McKusick AuthorDate: 2023-03-06 05:37:23 +0000 Commit: Kirk McKusick CommitDate: 2023-03-06 05:38:57 +0000 FFS/UFS snapshots: improve documentation. This update provides a more detailed description of FFS/UFS snapshots and adds links to useful man pages. Requested by: Graham Perrin Submitted by: darius-dons.net.au Reviewed by: Ravi Pokala PR: 266358 MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D38817 --- sbin/mksnap_ffs/mksnap_ffs.8 | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/sbin/mksnap_ffs/mksnap_ffs.8 b/sbin/mksnap_ffs/mksnap_ffs.8 index 201014522721..658502cffdcb 100644 --- a/sbin/mksnap_ffs/mksnap_ffs.8 +++ b/sbin/mksnap_ffs/mksnap_ffs.8 @@ -32,9 +32,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD$ -.\" -.Dd October 3, 2016 +.Dd March 5, 2023 .Dt MKSNAP_FFS 8 .Os .Sh NAME @@ -48,6 +46,18 @@ The .Nm utility creates a snapshot named .Ar snapshot_name . +This name is a path in the file system being snapshotted. +Typically this is under the +.Pa .snap +directory in the root of the file system, but it can +be anywhere. +Snapshots can be listed using the +.Xr snapinfo 8 +command. +.Pp +After a snapshot is taken it appears as a file. +The file is the size of the file system from which it was taken. +It can be moved, renamed or deleted (which removes the snapshot). .Pp The group ownership of the file is set to .Dq Li operator ; @@ -62,15 +72,22 @@ Create a snapshot of .Pa /usr/home file system and mount the snapshot elsewhere: .Bd -literal -offset indent -mksnap_ffs /usr/home/snapshot -mdconfig -a -t vnode -o readonly -f /usr/home/snapshot +mksnap_ffs /usr/home/.snap/snap1 +mdconfig -a -t vnode -o readonly -f /usr/home/.snap/snap1 mount -o ro /dev/md0 /mnt/ .Ed +.Pp +Delete a snapshot: +.Bd -literal -offset indent +rm /usr/home/.snap/snap1 +.Ed .Sh SEE ALSO +.Xr rm 1 , .Xr chmod 2 , .Xr chown 8 , .Xr mdconfig 8 , -.Xr mount 8 +.Xr mount 8 , +.Xr snapinfo 8 .Sh HISTORY The .Nm From nobody Mon Mar 6 08:03:56 2023 X-Original-To: dev-commits-src-main@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 4PVWLN70vLz3wZr2; Mon, 6 Mar 2023 08:03:56 +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 4PVWLN66Zmz3xfQ; Mon, 6 Mar 2023 08:03:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678089836; 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=9Tn3HmLLUOu/wRgoKstvnc4mUJiwb6OzIt+1yDL1dyo=; b=J+eiSIZ4F6D9tirBQ/R3QDkKPANJnlq+YqD0081mA6IQiCGvKL9W74B3Hh9W1RH+KXfqwg n74OrH5/S3zlOval8hwVYj+mafsnXbk4nbTNHzUxVH30azKsiq/gs8IRSfgGy8kaYDhnoq wFhZIAA9XeOM9YDl+88udvH6TS4B8cH5auozRkqm/yrDo5gU5KWzLiqkWmoGyby7eERkzh pffAcM0JuPNLran+SqMM3z7SJUdxAAkXuShOd8l9vGaT7XeE4ncYG4S0qg4S3NEWR4iCoI 2RKVx7JuHGfpiZ5XLIo1lcI1vD7gJWxnACFno6qlL0lRplj82mklX6CYf3ZegQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678089836; 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=9Tn3HmLLUOu/wRgoKstvnc4mUJiwb6OzIt+1yDL1dyo=; b=DOxmskFmTbq0oPswpUYxsip8E5RsGAYIJa/ncwyvSrcpihszt92eVmcjOPHefN/rZtOSy2 NR3zklKfzOecVxG5TJdtmq6NfR2FAquysBanUlpv4JSvPTXBHn8J5RzDj97GG3WRDm02Ua 33u7SbVUU5qUsfsFZ0xT9+R14ok2tFAC2MJGwsgXEtjvxMhP5LB2yv8Z4pV/9dBJ4FjR42 LDw9qdPdcCuv/tCGG8Zj0IKNKrkWofB6IF0LiNq3Cbmur3t85/tzwlgvLOsfyq+/wPXyqE liw0Ab8J6aZG+dxQPITlJYFbyWkyDM0bRzsc0gp3m0xet4vg1CDPn4H7Py+LUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678089836; a=rsa-sha256; cv=none; b=dehz9iF7cGE+/6qF31XBA/WmiiLHGbJotUPT+T4LpJXOTjL5G6hBbASsrtmxxvlOswPONt 2OnrUt4JbNJq7YvlsJJB4yPXURWxKNg4XOA6cUqCjx2Hd7sBmVLnZEUEp7gG6HMY7ooZMz t0t6LgH6ma1Py6Ck3C8tusLKaxYArlh//uL5DEgxJTnzDIZd+Z9oolZZr43MVPuEZ+QWES LwLvIjCU0MI0g5vN+2JAQC0R88081ttXlLTy7CRnm3Zuj4Cvpr2cadF7ciIO0WNt1cOCl0 pbvZhqi0E6KHDwykekmTthub0mubyEc8qhXW3QAJWmLY5xCJMQ1yrolx5z9TAg== 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 4PVWLN59Cczv7Y; Mon, 6 Mar 2023 08:03:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32683u8H086588; Mon, 6 Mar 2023 08:03:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32683uPd086587; Mon, 6 Mar 2023 08:03:56 GMT (envelope-from git) Date: Mon, 6 Mar 2023 08:03:56 GMT Message-Id: <202303060803.32683uPd086587@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 4cd30c640db9 - main - uuidgen(1): fix another typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4cd30c640db978355cf2da666e2749189babda5e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=4cd30c640db978355cf2da666e2749189babda5e commit 4cd30c640db978355cf2da666e2749189babda5e Author: Baptiste Daroussin AuthorDate: 2023-03-06 08:03:32 +0000 Commit: Baptiste Daroussin CommitDate: 2023-03-06 08:03:52 +0000 uuidgen(1): fix another typo --- bin/uuidgen/uuidgen.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/uuidgen/uuidgen.1 b/bin/uuidgen/uuidgen.1 index da174f24a3ba..6d373cf3de41 100644 --- a/bin/uuidgen/uuidgen.1 +++ b/bin/uuidgen/uuidgen.1 @@ -55,7 +55,7 @@ to not generate them in batch, but one at a time. .It Fl r This option controls creation of random UUID (version 4). .It Fl c -This options controls creation of compact UUID (without hyphen). +This option controls creation of compact UUID (without hyphen). .It Fl n This option controls the number of identifiers generated. By default, multiple identifiers are generated in batch. From nobody Mon Mar 6 08:08:47 2023 X-Original-To: dev-commits-src-main@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 4PVWRz3vl1z3wbK9; Mon, 6 Mar 2023 08:08: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 4PVWRz3NPCz41SW; Mon, 6 Mar 2023 08:08:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678090127; 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=YGtPCuERwlpBlqkK6MAA5FJWa8IEoUNBrQynMlztszU=; b=qGdsOoEZM1+n0Fs8lLcb+uwmb16PUG/Tkx//Aw4CT9G1Er6yVFMe6W4/RMvQzvKBfwa3TM 6o1nf8SBEj/KFvo/Q0cy+p7zy6aSX0NfZttB7NPPaRrLB2izR5klEbJWHwM+Hz1YfKV1Uy mMSQHKI+PUrOEMlJef1lXmbYIj7cXWzZHsfQCMErTgr1qnxvIHmDMO2w9JEEQq+P4OTQRW UF2zPc7gn53NiUVKkEa9vXw3LPxLb4GiL/d3GOh22uiZk/cVPTaSToXLdzfuz3jhLoUFeZ ykNlPv3/d8t4pTvLgkScnP0+hF45oe5wMORyku8mAfV+Tiwcz3UKaOx5foHD8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678090127; 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=YGtPCuERwlpBlqkK6MAA5FJWa8IEoUNBrQynMlztszU=; b=WuHGsy2gLpF2c+mw/hBzNLWFeyzGOFQ0tueHSUMRc4Q0zRW9zmNnIxwizM72KxCrADbx4P T1qjhkgPZIN232v0U/BHW9Bk2kSuteqXYW7jWcsH5jJ3jOPR9YGOdFul7tcixtBliGWytA AxAs6IUNg0MOMV34U3yMG8GvV9/dEnOxGjSE6Vac0d6MXPm040ahGOnpe80qWWrX9Jlkb/ GwzYc1Px+G4JZcxsom5CdxOBKl5h6Q1+QV96aJDp1wfh9ggc/J1QKgFhY3oAXLK2aUVG/2 AKxXj2Fm5TgkGdcjWL8a85A3rqnwHslJ12Oi+ZRp/qHlwtRn+3IODdaNullCGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678090127; a=rsa-sha256; cv=none; b=bP2bXkgBul8kAVOJv2K5pLum57Ba22CRzSaZs/YRCMFL6hrwFzgjy3VA6W3BuWvGHckOfA 5BXc+cbatwptOgCZTBalovsBFjCYwRgFdkFQtc6xnfADHm1n23zu0NSe7tsOp6HNp8Ry6y JHLEKbHakfsaeQiDY4ACakOfk4IaczDjC6DhBTeqV20kPVLyGDjq19z63Q+wGCjNSlInV0 ryvBG7gUyNjifQ2JMP3v1DaTHQHmdQpuiplBBSYJGSh1C2rMijHs4t+uYhr3pRaifi4+ge STnlRtoS3agJ9fQeon7BJKXf0tj/pccvdaf9VZaQjJxOaapAU/dzYr6fsMJ/Dg== 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 4PVWRz2BW2zvH2; Mon, 6 Mar 2023 08:08:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32688lAL087474; Mon, 6 Mar 2023 08:08:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32688lxg087473; Mon, 6 Mar 2023 08:08:47 GMT (envelope-from git) Date: Mon, 6 Mar 2023 08:08:47 GMT Message-Id: <202303060808.32688lxg087473@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 527bf20032b6 - main - Remove a #error that sneaked in List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 527bf20032b6e735249838ebcb7f125af5a31d73 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=527bf20032b6e735249838ebcb7f125af5a31d73 commit 527bf20032b6e735249838ebcb7f125af5a31d73 Author: Andrew Turner AuthorDate: 2023-03-06 08:06:43 +0000 Commit: Andrew Turner CommitDate: 2023-03-06 08:07:52 +0000 Remove a #error that sneaked in --- sys/dev/pci/pci_host_generic.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c index 3d12266a3ddd..986318548eab 100644 --- a/sys/dev/pci/pci_host_generic.c +++ b/sys/dev/pci/pci_host_generic.c @@ -58,7 +58,6 @@ __FBSDID("$FreeBSD$"); #define PCI_UNMAPPED #define PCI_RF_FLAGS RF_UNMAPPED #else -#error #define PCI_RF_FLAGS 0 #endif From nobody Mon Mar 6 09:04:29 2023 X-Original-To: dev-commits-src-main@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 4PVXhF3kd8z3wdbL; Mon, 6 Mar 2023 09:04:29 +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 4PVXhF3FSRz46vn; Mon, 6 Mar 2023 09:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678093469; 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=/Egp5ZTKKWTDM0QIt/Qi69K8COUxNJU8MYK5CPVnkZg=; b=CuXN5q8LpYMYiOTUC/Z7hxF3K3LC4pJkFg2Z5qRcyZJuHfeIqTBHNH+olHcwBkQHpEbmBj MNzS9wIxTOFD8PJ8akOwxObWm5n7+UzXCUsYDxU4IpcIulUIKlv7Hnd6tzQlxMLnw5iure QCwGker1BBL/X5/nqWPG/xcaiXZtms7l0BZ9ftLTMJBVK+ylJj/cUtTd8YAzu9WQifN0UG WAZ1TBF8A4OL7+R00F4GL4AEOm0EO6bCZugwbcZ0Q2X4UTv+rGNpkZp5USkJEGgsaTVrqR cNrfQdoBnONIlA6Cq4/9egq9nNMGbSMmJvPSUttGVrkfXuVqzC+yd4+PJxzY5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678093469; 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=/Egp5ZTKKWTDM0QIt/Qi69K8COUxNJU8MYK5CPVnkZg=; b=Lgv7ZpS0bZ5DhlcdarbZkyQEpJbhXcESXdrt/OizN7XvhD9iRzGnF9GAIAgqNyCxv4yUQ6 2g/Q6Zl4IkHZfFNa3YovVGWwHqoucQI0MOAEDijAV3JtJBZN92L5IYe54y3Seu71hy629X d59yoBOHVC6qYPNpOSXzUO9AmIIUlpAB9fPk7Cs7qzo6VNSTDiwgbP46hsaqVrNPDxKGiw MkD0/mjiqJ5ac2W9dNA1AmiA2JZoa1fhnQiHMzPwFBWSENrRTtG8OOiFZTSfRtMjulaYp1 VvaDluSrnKNs945L5vxbiNu/5hgiebItnLGh1bKMLblrMFvi2O4n+lgEUCIMGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678093469; a=rsa-sha256; cv=none; b=yKHT6/occsMvU/Xh8GZque7sNVz/8xkH+2KHn5mXUVYbt2N6+oulvEjX8BRZO2baBg3D0j bUBCcM2+rhwXTmuwmUgzoRzzdMRx2DTz/Szv2VaxNOsTQOWdQAD/Ne1yh/BLXQyD4g6llS zlCVoKkiga6bg6x+iYsDXfYrMwlcjyC8SKqMbNMYMd2NN9NlZF7OYT2QlqvFRmtIcQKNkv S04vvFYKSXsOUtRWMy0BtRO5pPenabeDPAlkqmny4RBKRecdLlx63cSH1S+SmNTu1UesBz JmHdEYk0QOmoL45RZNGySKYD0gy3xCBo00ZRJogzlSUqjQO41DrrMBlfhuAGyA== 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 4PVXhF2HbXzwfT; Mon, 6 Mar 2023 09:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32694T1b085670; Mon, 6 Mar 2023 09:04:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32694Tgv085669; Mon, 6 Mar 2023 09:04:29 GMT (envelope-from git) Date: Mon, 6 Mar 2023 09:04:29 GMT Message-Id: <202303060904.32694Tgv085669@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: ee10c61d7a0a - main - stress2: Fix a off-by-one error. Added check for argument file type List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ee10c61d7a0ae11a9d76c54a393587bd3933698e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=ee10c61d7a0ae11a9d76c54a393587bd3933698e commit ee10c61d7a0ae11a9d76c54a393587bd3933698e Author: Peter Holm AuthorDate: 2023-03-06 09:03:43 +0000 Commit: Peter Holm CommitDate: 2023-03-06 09:03:43 +0000 stress2: Fix a off-by-one error. Added check for argument file type --- tools/test/stress2/tools/flip.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/test/stress2/tools/flip.c b/tools/test/stress2/tools/flip.c index 8d01e9d78ea1..d73212c748bf 100644 --- a/tools/test/stress2/tools/flip.c +++ b/tools/test/stress2/tools/flip.c @@ -57,7 +57,7 @@ flip(void *ap, size_t len) unsigned char bit, buf, mask, old __unused; cp = (unsigned char *)ap; - byte = random_long(0, len); + byte = random_long(0, len - 1); bit = random_long(0,7); mask = ~(1 << bit); buf = cp[byte]; @@ -111,6 +111,8 @@ main(int argc, char *argv[]) if (size == 0) { if (fstat(fd, &st) == -1) err(1, "stat %s", argv[0]); + if ((st.st_mode & S_IFREG) == 0) + errx(1, "%s must be a regular file\n", argv[0]); size = st.st_size; } From nobody Mon Mar 6 13:05:24 2023 X-Original-To: dev-commits-src-main@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 4PVf2D41tPz3wspJ; Mon, 6 Mar 2023 13:05: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 4PVf2D1mSkz3Gth; Mon, 6 Mar 2023 13:05:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107924; 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=2rKbF+osZg1uuTa4WuopFCnftdGheBDuRtbaZecx48k=; b=jRAE6vyjZLVp4Tk0YCzKwR6RkSMBsWX05arByPtgJ9mkawn2/H3lLarzsDoFxR7tqS0mr4 7a/jQfLZu56o58vzVOhJHDCyy1c+EIMdSb+GgMezfeUV9KFQ1YNDEYm1Zd+n+2wqwS+tVH iTpDq4tPdKPGL88CQz7Ylm3e7hlrfjdK4/G2UQhVRotAZ0O0RsRm5GeJrJ8LowxWDfhXon ydnj2bAIdVIQQwL40W3z2jLi1xcxv7KEwUUDTIfI753rDhbfo56wd9y/tPXyKhN8AIWiHg 1WM2CoZiL26c2lP6WoJxrhkyT/jpJvFQ++Lhq7udq2EOUknX5H4zwLZVaGB6FQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107924; 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=2rKbF+osZg1uuTa4WuopFCnftdGheBDuRtbaZecx48k=; b=siJvNdIsmx4CACl7Qboml1eXmik7q6vvS3lLtiCdhGpGFsXLfRdG1rKNIle3dI+Fl1yjP6 rmR3Rryu7qRRKvHSOa9h7JBMIWMlQffnuffLni8ADeYWF3ImZ4TLFmOIKGYwBtbOKBALQQ E+JLS31hQWEjhkzVw6CLx9EiY9HWLXTaC28pGn8cZz0tzRb3T9GyPLOIYJCKkJTMSrC8YU f980b5ov5tYHX2sPS9HeF9TfshlNCSpU9lNk8OXIFz46lJywWt0jqcZI43drfcZJmmChyW Zs++VwzJpjj8kRBFBroWgySuNa78gmmbjhKfWsOSzWAN/nHothuQXEGnRhYoqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678107924; a=rsa-sha256; cv=none; b=SrZdcr43/nZy9zSA/YTYo3Zo3E8SFjw1Fs+ZqcPsk5Z+5vIz9ZCMx784e6UioT81Fh1T8E xyb7Jl4hlwCmO3w9EJ3BO8oE7O7h0/VoV85aQhOcgAEqBsg8a6L/yy2TlTLjesa18/lfL+ HzjoWc8C0AV9kXUoPCVQuCqK9DjEe4kfk3ZBkYrtlVJl6qFGVNFBULUVzvv2GtcJO+/p3r aA90ID4BA3BoL1p4V8tq5Zwz8IWdd6YEK24nAePxSjTC//RzpHLZgYQslp5Ts5oKl6Zhzl U7q7kw2bhc/Iz1ozy6cQ8VeQhpEQZTXojB4xFXjRfEHWDvDKR89pQ4wk1TzsQw== 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 4PVf2D0sj5z134x; Mon, 6 Mar 2023 13:05:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326D5Obe079341; Mon, 6 Mar 2023 13:05:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326D5OA2079340; Mon, 6 Mar 2023 13:05:24 GMT (envelope-from git) Date: Mon, 6 Mar 2023 13:05:24 GMT Message-Id: <202303061305.326D5OA2079340@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 89fe7b98fe45 - main - bhyvectl: do not return garbage from send_message List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 89fe7b98fe45cf56d60d0d4dfa1bfad3ba6908ec Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=89fe7b98fe45cf56d60d0d4dfa1bfad3ba6908ec commit 89fe7b98fe45cf56d60d0d4dfa1bfad3ba6908ec Author: Vitaliy Gusev AuthorDate: 2023-03-06 11:27:10 +0000 Commit: Corvin Köhne CommitDate: 2023-03-06 13:03:40 +0000 bhyvectl: do not return garbage from send_message err is used uninitialized in some cases. Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38886 --- usr.sbin/bhyvectl/bhyvectl.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index cab1e6d72c56..5efccc085119 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1679,12 +1679,12 @@ static int send_message(const char *vmname, nvlist_t *nvl) { struct sockaddr_un addr; - int err, socket_fd; + int err = 0, socket_fd; socket_fd = socket(PF_UNIX, SOCK_STREAM, 0); if (socket_fd < 0) { perror("Error creating bhyvectl socket"); - err = -1; + err = errno; goto done; } @@ -1700,8 +1700,10 @@ send_message(const char *vmname, nvlist_t *nvl) goto done; } - if (nvlist_send(socket_fd, nvl) < 0) + if (nvlist_send(socket_fd, nvl) < 0) { perror("nvlist_send() failed"); + err = errno; + } nvlist_destroy(nvl); done: From nobody Mon Mar 6 13:05:25 2023 X-Original-To: dev-commits-src-main@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 4PVf2G1kBgz3wtBQ; Mon, 6 Mar 2023 13:05:26 +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 4PVf2F2hK5z3GkL; Mon, 6 Mar 2023 13:05:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107925; 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=iekR4m/KHAKtz2P47nPKhZtCimGEPHiqPaR9bJCkT1g=; b=cjJFU4Oo5jMo4cQd52NdrczL3WJ8UPU8N6Wh/RwOQh3kHYJAn7Dt4sa2K9gG6O1RAmtUBf 7rKBqU38WWn0W4eGBL0Ulk5ndmIVZ1ojcQMEbXGsVy561phw3G2skMEq3YxZjFInpT+GsN RMUq5Bz8D/VEA+XoY94yY7R0K//yGjn5H9Y/+qH1ALgoieE6+5KON5DKBaWQ4DPaLVpZRH cSQpYVvstgS+SFC+CMGzzf5QNOUA7Ao4Eqx0EZ6XR4QnCDeZ88wID0rznwfpjLJYe4kfUP IiNz8G1oCgFZ4pxNjJG1Ur/rfx2299xMEEyI/hAaHe2m5ZV8s9VgaaiIxWVAoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107925; 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=iekR4m/KHAKtz2P47nPKhZtCimGEPHiqPaR9bJCkT1g=; b=miVgBqGn9UOXj2Uptmw/599BXtPxQhR5mM5shSb7PxsUFPAEk+KThYcLO8gFEjlyOLiCVm nfjwFkq2j8z6V1qGpa0s9bbjDvHzMmulDTuutGbqJBIYHzTME8v2lBFnnkXw+/OLyNVoKp Lj8Gy+Y0ckUOMGQjqv0mru4yJYaINlzpBWz0iaJvG0+msAHUP6AFkJUiIKZujtKdh00r3p nZik3O7nLz9SvDHQWrx3PN3VXUDmjo+omOhamgIZuCYof/6Tl2Wl8QzL4CWtvWaNqQ2gGK RfM0ybWFqO/Ba8sW9aCUhqce7LYqR70Nt7wp+gTz8F48OteMzZxaS3zC4EGAtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678107925; a=rsa-sha256; cv=none; b=TwCKEwdjHckUymVSdDmbZ0DdQWJpxj77uAsPcmL4dG/Vog4IJwA7wU5hminIXaU9oR43ic cMPfGe6sKcqrArTbGKs/gzmofF2dltc+irf+USUfJ+jYrjKP0o6DPmEzch9xz7CPZAZYVV bChW/t/OcX51Azj75limVNVztieRT6I9R0TKEehpQzQgHKuian3dNHHCDPBQd/wSqgJsB2 OXkngsAMNXrkVSeu19badlyxmrahhzHVLMDIFkNzLpPbi8o4kzYqL3rdnHdqHMMfrrmFrO RuOMuGPAd1fjydAEd6mfFbTW0MasQWGpCALvWNRzm6YerQsecVsL7f+TxIiuAA== 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 4PVf2F1pDXz13D1; Mon, 6 Mar 2023 13:05:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326D5Px5079365; Mon, 6 Mar 2023 13:05:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326D5PGo079364; Mon, 6 Mar 2023 13:05:25 GMT (envelope-from git) Date: Mon, 6 Mar 2023 13:05:25 GMT Message-Id: <202303061305.326D5PGo079364@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: b64ba2426441 - main - bhyvectl: correct socket_fd closing in send_message List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b64ba2426441ed33120ef0d3057417b7c0be6972 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=b64ba2426441ed33120ef0d3057417b7c0be6972 commit b64ba2426441ed33120ef0d3057417b7c0be6972 Author: Vitaliy Gusev AuthorDate: 2023-03-06 11:30:44 +0000 Commit: Corvin Köhne CommitDate: 2023-03-06 13:03:54 +0000 bhyvectl: correct socket_fd closing in send_message Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38889 --- usr.sbin/bhyvectl/bhyvectl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 5efccc085119..59ecbebdfeae 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1707,7 +1707,7 @@ send_message(const char *vmname, nvlist_t *nvl) nvlist_destroy(nvl); done: - if (socket_fd > 0) + if (socket_fd >= 0) close(socket_fd); return (err); } From nobody Mon Mar 6 13:05:26 2023 X-Original-To: dev-commits-src-main@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 4PVf2G6nFFz3wtDn; Mon, 6 Mar 2023 13:05:26 +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 4PVf2G3Qbrz3Gms; Mon, 6 Mar 2023 13:05:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107926; 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=kuyY2Ucz+psRAgTrO2/a31UERWV7+jfMqwPE7CaEm30=; b=hYkHaWUY4CpXhY0JTctmW+28+mub0be38/c13WozPrhx0gKfmAZxJb1GIxYcssf7Ko3F/P RRqaEVzrEntkhzEH95yWo/Ts2cK+w1KtT4C/XE1fzZl1IEqCEiFC+SZ6MxP4CJsylJcvRQ yKUhXWOq4GSK/18S7LNchUgEVg9UFjh5mpWko5sZQhyfBJuZ1b28T0X+yHE9MZHiDSAaPX raUC9DACQ9JfnV7VfIGqPr+u1XR+pAxY1XVpt37OSVl6omkcGAasM4kSnUJYATE32E5LNd nett939/s3VpACC5+/0pLDPUWUGf6dVJLo3qkpKx8mTJ9Yr2E46RS7YBjrZoDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107926; 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=kuyY2Ucz+psRAgTrO2/a31UERWV7+jfMqwPE7CaEm30=; b=qwBkCEKh1Na1tpZFAGnnwNDEz+egd6bZZcTeSCxWQJdvkwWODfrKzzJW+CYaWVjg2F9kx4 G4w5dG2mRMU5UVN4DJfViDbFUhEe1lDJbLYA8L54ukbOqJ70/MzXZyRWZSZta9wVMabpT8 R2R4nNRRavjD5BxTGMNNLperyUnf/RDsy5wOYyBjeHJMh/JF1c5K8k9jjieqb7CzuibXHj Gg9SnFLgHRl7Nm1tvflRHYltGSUXAPVUAD96iJJFiyLwhQ0thuZo9rKpZkT0FGKovmLAs6 OQ3FoAIzmDI3ybQTojBWQra+sihxj8PMZv0VTXVbY36OQ7Ylbyc4wEE7sIhKnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678107926; a=rsa-sha256; cv=none; b=udNI0aHv7O5b55hZKFtFy0e1h/jlnMUUAawN/WaGE6/i2021N5NqjPJ8xEyG4OBLyuPnpT +DCJwuXcOGGMfPPgKJVnSEPF0Jv/aRubxUVmmiXkxY2ro7SNHJnJBFoudMqf5N340YKysc amfIseWhDYfvT13108R0obUknaifziyR02nsAPD2uM1a+tzvkD93U1fb0quUuRLYAOtgGG 2zZm5Oma9W0hJsfYxl2VKCjND51GAXVEpTySw25HV9Z9jeeRuGRvysBlBmC/FCeH4erxXr x1VKhry30AMsCMHsQaeFRt0z1qrNWkbnPWFku0pEZMgkQxUTYztpSVmRTpre6Q== 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 4PVf2G2VVgz12rd; Mon, 6 Mar 2023 13:05:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326D5QIw079389; Mon, 6 Mar 2023 13:05:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326D5QlY079388; Mon, 6 Mar 2023 13:05:26 GMT (envelope-from git) Date: Mon, 6 Mar 2023 13:05:26 GMT Message-Id: <202303061305.326D5QlY079388@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 942525ab47e9 - main - bhyvectl: don't leak nvlist in send_message List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 942525ab47e9cd9277ac426e082366d58d7bbe41 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=942525ab47e9cd9277ac426e082366d58d7bbe41 commit 942525ab47e9cd9277ac426e082366d58d7bbe41 Author: Vitaliy Gusev AuthorDate: 2023-03-06 11:32:17 +0000 Commit: Corvin Köhne CommitDate: 2023-03-06 13:03:58 +0000 bhyvectl: don't leak nvlist in send_message Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38900 --- usr.sbin/bhyvectl/bhyvectl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 59ecbebdfeae..4aa235e00489 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1704,9 +1704,9 @@ send_message(const char *vmname, nvlist_t *nvl) perror("nvlist_send() failed"); err = errno; } +done: nvlist_destroy(nvl); -done: if (socket_fd >= 0) close(socket_fd); return (err); From nobody Mon Mar 6 13:05:27 2023 X-Original-To: dev-commits-src-main@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 4PVf2H6gpNz3wsrS; Mon, 6 Mar 2023 13:05:27 +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 4PVf2H4NFJz3Gy7; Mon, 6 Mar 2023 13:05:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107927; 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=UFPg/jZkcnXAIYP8y/GIyfJHjg13NhekgPmV+8iOwXE=; b=cnlH1jKLmXALL/ZxcNovxahv4OP2ivWorCF4JW9r69BR58DbVkfjze3QjBvdx4p2yU2O4h z7KCVWik2VRiI3sWar2AmDClMuKAG4Cwh+b05NjqPNXHFDTvDMJeMKD/kD+hhJlU2HS4Qx Ij9P4uun7hefMsSQ9l3YBA6/6nRX5otUWXvbKenrtxn4q7LV6q5aioF7wP4MI1d40AurtX IY2qf2ACh7FQE3034+89bpMyghMmeefPPjl4pzQ1a7ZptHQd/uIm84WD8/qS6v1rAZ7n0M SueVbj8ttHI1mzfr09AVko1qmL3E+uzQ8bdCzDPq9z0jVfn99EO8ORxDGpPDDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107927; 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=UFPg/jZkcnXAIYP8y/GIyfJHjg13NhekgPmV+8iOwXE=; b=NxLBeL0OPN3qXX5K/J4OU3twOwHpSV1XISjVzmfeNrY8iINYnf0tjVauapPMbG56LhKnJv Hb+InJq2CY3JZ6bkuS5EA2gKIi9UIkiNYlzigzWFC969AJwwfMAc76Zcv8hxDZLGieiPFM 3R/Dr+zwKJUrXOJKLy6p/Jp69TvwsrZP65eubZxQ8Q9UTXds87bTFxB2zpTBQIGQM+Ufb/ cJ+jjftzyxYnmfJcmSW6/NZbM1CWQ4hFXuDJGgblP9kxY3URbxGCAwv2CNr54xYnn5e9zR qQ+dGON+iq5FZx9kxMzdssTwFOAN9uuKCzkuz2Nj/y6KzSjluSuKFkxW1bv6jA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678107927; a=rsa-sha256; cv=none; b=xJWHUDFvXDxurSTS7niXzPiGC1q4/h+xLVxMNwSoRkgQ+Q4LKREr6JXwR3qY67e/ZspE4u KbKO4GXwQo7dULdDzumiVwoGEVKTZQ17ps2t6IoJTnxd7VPtqvRhY7VwUgO2RE6uhAaf2q ys6pNSHej1U9BuuKL2t6ey1gbZ3csiH4qej7kUJgoBjKuttAF+P4j/5iGJWfat0J/pN6ZZ R5ZDOvpfMMRe2KxVyheZ7SfNL6ud+XwvUN+bZuht8KfqkFi6NwvxJfbWXqeTpVPWYVnBPq qdVb0gYoqAValNokHZAkMveEdeIE7yT9/NEd5qxHIWWbNo/CZDOjg18LIhuOqA== 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 4PVf2H3Rrjz12pH; Mon, 6 Mar 2023 13:05:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326D5RWY079413; Mon, 6 Mar 2023 13:05:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326D5ROH079412; Mon, 6 Mar 2023 13:05:27 GMT (envelope-from git) Date: Mon, 6 Mar 2023 13:05:27 GMT Message-Id: <202303061305.326D5ROH079412@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 755dcd5e4913 - main - libvmm: add missing ioctl's to vm_ioctl_cmds List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 755dcd5e49133e18b735de3e53f3bc79a8377082 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=755dcd5e49133e18b735de3e53f3bc79a8377082 commit 755dcd5e49133e18b735de3e53f3bc79a8377082 Author: Vitaliy Gusev AuthorDate: 2023-03-06 11:33:58 +0000 Commit: Corvin Köhne CommitDate: 2023-03-06 13:04:02 +0000 libvmm: add missing ioctl's to vm_ioctl_cmds Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38866 --- lib/libvmmapi/vmmapi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index 0c994778dd10..451d679dbbba 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -1753,7 +1753,8 @@ static const cap_ioctl_t vm_ioctl_cmds[] = { VM_RUN, VM_SUSPEND, VM_REINIT, VM_ACTIVATE_CPU, VM_GET_CPUS, VM_SUSPEND_CPU, VM_RESUME_CPU, VM_SET_INTINFO, VM_GET_INTINFO, VM_RTC_WRITE, VM_RTC_READ, VM_RTC_SETTIME, VM_RTC_GETTIME, - VM_RESTART_INSTRUCTION, VM_SET_TOPOLOGY, VM_GET_TOPOLOGY + VM_RESTART_INSTRUCTION, VM_SET_TOPOLOGY, VM_GET_TOPOLOGY, + VM_SNAPSHOT_REQ, VM_RESTORE_TIME }; int From nobody Mon Mar 6 13:05:28 2023 X-Original-To: dev-commits-src-main@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 4PVf2K0knNz3wsrX; Mon, 6 Mar 2023 13:05:29 +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 4PVf2J5f1Hz3GyK; Mon, 6 Mar 2023 13:05:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107928; 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=iO4WmZpEqW/UxtZvGd6NeWYyILvwO8Kj4Pzqlk0ykpA=; b=eAyoi1gsbbO+OzJxxAmSLfDZVf9q87L4Xw7p6KOTCQyFga7po2fabmRXhStgf06HeOdjlV qP2ia7u1pLEoCXTZDVIiouK4vWQonE12Nj6I/EUS5/ykCnFYQW9MZx8qRJv+U9b6eu4BVC GLwJ+ryF9NCR3FMJkIeAydnBg8KHwPoIsimkDjDdZoLFOS4creHZi1wKZkyMmnjY5C4vkK pRMRGtl7LnMv5NzFARayyBvkt8VvG4tt4lMnmrBRTOXHK6QzmyVD9iEWt3N1pdgVWEQIxX VGXJTq6bRhmNJs2pMr6Rmg5m1z4+pZbMPKOO1cIuZNxJsVTLyo6AhTsYi6AO/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107928; 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=iO4WmZpEqW/UxtZvGd6NeWYyILvwO8Kj4Pzqlk0ykpA=; b=UF4+WkM47a+c+HHBxYRJmgMcTy4r8VERc6YdhKh7w1rucwd98NRMUhVOWcCigTrR0V02/c iVNnVof6f9XfO7ezDGNaQZv5lclgdiiKm5YuCKBdS+9/yFJSKbMVZDMqL79u/sHQKvHm3v JL/ovbRq4OcpnIFoE7B3SjbVsjhEiN2HW5kUOAdlocntEqPPP2DUdyoHXiMAdZcc+CngO+ RlYdFzxZmuP+CZMhi6rFfS/T8fLI1/XsloQTJPdrL5CdF6ZKgieNUkQ1B04Zx9DxTV4ZNE cdAq+u/VJU64Kl3OrVvsqYrgnUpvIed2qFnZEZOiaFi45Wvi2gdMFDzkvD/Cxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678107928; a=rsa-sha256; cv=none; b=uiuaRE6AdRdjO6R/o3AXWM4QPgZ+bH1V7Wki+lAaf+oXtTUwwJj+PSadDR7t3FG1zyqTwx 0p/fSvkZglj+sUvx5q8Ta+55uluCBjITVQmCs3waI6bieRRqa6q9O4QElVPKuQU/9Oq90E Ac14IjZ9xkhH22bIQOHdXOp/Kf2pHO0Jwz/9+wqZTpvG8iMEQRf7z9oZaTXsC7481y2Rm0 QgK9wDUC7MrTedlpNwZACpIJXE8+V0zoiHPqjCKgXuWF+y+80R8X9eRAtcgkBq5f3x6SCS zBBouy6nhdIsWTHu5pwXefFSI52d+nazXqsX0gArCFCio5rw1UPQ0Dv3lWJsRA== 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 4PVf2J4P9sz12pJ; Mon, 6 Mar 2023 13:05:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326D5Stb079442; Mon, 6 Mar 2023 13:05:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326D5SuS079441; Mon, 6 Mar 2023 13:05:28 GMT (envelope-from git) Date: Mon, 6 Mar 2023 13:05:28 GMT Message-Id: <202303061305.326D5SuS079441@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 5c0a03125988 - main - bhyve: don't flush readonly device at blockif_pause List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5c0a03125988b89610f61a1bb2137b0e29d7cf31 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=5c0a03125988b89610f61a1bb2137b0e29d7cf31 commit 5c0a03125988b89610f61a1bb2137b0e29d7cf31 Author: Vitaliy Gusev AuthorDate: 2023-03-06 11:35:17 +0000 Commit: Corvin Köhne CommitDate: 2023-03-06 13:04:07 +0000 bhyve: don't flush readonly device at blockif_pause Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38855 --- usr.sbin/bhyve/block_if.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/block_if.c b/usr.sbin/bhyve/block_if.c index 53a892cbfa3a..6e47c3b7c4da 100644 --- a/usr.sbin/bhyve/block_if.c +++ b/usr.sbin/bhyve/block_if.c @@ -1009,7 +1009,7 @@ blockif_pause(struct blockif_ctxt *bc) pthread_cond_wait(&bc->bc_work_done_cond, &bc->bc_mtx); pthread_mutex_unlock(&bc->bc_mtx); - if (blockif_flush_bc(bc)) + if (!bc->bc_rdonly && blockif_flush_bc(bc)) fprintf(stderr, "%s: [WARN] failed to flush backing file.\r\n", __func__); } From nobody Mon Mar 6 13:05:29 2023 X-Original-To: dev-commits-src-main@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 4PVf2L1LwQz3wt7v; Mon, 6 Mar 2023 13:05: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 4PVf2K5zkyz3HBp; Mon, 6 Mar 2023 13:05:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107929; 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=n/iqIvGin2FgMPV4X00MTwAohzHA+nSepbAWs3opchc=; b=Umrky5/mRFSa8jnxGn7Y1iCcJfv0KGtsK8nnKagj3hdxu9DLnhDdfk1OaNQ4ajsM0ZcSiB gaIqkFn9f21LfD50SzhXp0UOkP9jxCS0orfAWbJDcDnG8Mxx4wlEqUCv8ZC5P9D7WQkojd pV+cgHm3oSTfL1rkWPS5xs5RYTbzP4wSAZDCVF6r3DCMqztI/NXtqe4cgfCjlWGbp9FF3q r4qUy2lw4DvPYNOiaDcvANtSf62V4o+OPdLC7WnvpL0riNmAOwX1BChzXpH+sjsiBVfwP1 2m8VRrZMpnAhEond+2+ribr1Pyq7gO9PFMYYuAB8diXVUy6iBrTuHt8eRXRgaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107929; 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=n/iqIvGin2FgMPV4X00MTwAohzHA+nSepbAWs3opchc=; b=eONg3JWvc8pcLp3gIdAYTNqby/SfoWTzEaU/ffLlymQmMDSeT+3SKofEjm+BwYc2uEVkcG YOdfaXh5r39zz6hqmCseWWXL4ViXM5qz0kZTQuBSCYDhdxpS1ZCfZ60D6I+pK9yoyLht6S +VUEqURkxD5A1SyhbyqN1Zxv6qprA7MQGoFUWjtbDfYGmnvQjUUbKqJ2XztLqaRtMPQoWi XXH65pdfE2A/oHnfPBK+mjZcJkbhCQngN4HBSFUJJwP7inmF59H3+/dDia6O74z/GwqvGk 7qZERvwB5ikhlENbzDirtM2gn+kO2JalANhYm6QiJG9IPW9EKZES1Y8knADEiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678107929; a=rsa-sha256; cv=none; b=nMr49/H4OTcQepugLmWqZvhOYL7ISU4bRr5ZgBhcgdz21u1pEgTDLMFMs5ZExyWdqNbEDZ GsSaMGC32QR0EEkafaJIv0R64R+85dRS/hz/6O8jdkJrMUUlmagUaVvDi2mdai+HJ4j4p7 0CHN24PIcP2EJcaC65VzfeMrD+oEiidrC171UDV4pEqJcSpQugI6JonwTU0irYPGDyyGLU +OEXE/GNAgrzZbd5YkxWLe0x8HZcnHQXSFmPWOqNVX5bEg9NJYWWyUcH9A1mI4ntZ8mb8S GPPOyqLPRCf5RRdxa5s/Lo7S8gs9NirTA/W+BVAowmmL5pcsFseKVuJ8qiaHZA== 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 4PVf2K55M0z12rf; Mon, 6 Mar 2023 13:05:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326D5TNp079470; Mon, 6 Mar 2023 13:05:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326D5TcZ079469; Mon, 6 Mar 2023 13:05:29 GMT (envelope-from git) Date: Mon, 6 Mar 2023 13:05:29 GMT Message-Id: <202303061305.326D5TcZ079469@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 577ddca90877 - main - bhyve: add cap limits for ipc socket List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 577ddca90877e377e5b40c8baa15fa5b7a3c9965 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=577ddca90877e377e5b40c8baa15fa5b7a3c9965 commit 577ddca90877e377e5b40c8baa15fa5b7a3c9965 Author: Vitaliy Gusev AuthorDate: 2023-03-06 11:36:40 +0000 Commit: Corvin Köhne CommitDate: 2023-03-06 13:04:11 +0000 bhyve: add cap limits for ipc socket Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38856 --- usr.sbin/bhyve/snapshot.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 6143f6f3a489..37aba32a1929 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -1517,6 +1517,9 @@ init_checkpoint_thread(struct vmctx *ctx) int socket_fd; pthread_t checkpoint_pthread; int err; +#ifndef WITHOUT_CAPSICUM + cap_rights_t rights; +#endif memset(&addr, 0, sizeof(addr)); @@ -1547,6 +1550,13 @@ init_checkpoint_thread(struct vmctx *ctx) goto fail; } +#ifndef WITHOUT_CAPSICUM + cap_rights_init(&rights, CAP_ACCEPT, CAP_READ, CAP_RECV, CAP_WRITE, + CAP_SEND, CAP_GETSOCKOPT); + + if (caph_rights_limit(socket_fd, &rights) == -1) + errx(EX_OSERR, "Unable to apply rights for sandbox"); +#endif checkpoint_info = calloc(1, sizeof(*checkpoint_info)); checkpoint_info->ctx = ctx; checkpoint_info->socket_fd = socket_fd; From nobody Mon Mar 6 13:05:30 2023 X-Original-To: dev-commits-src-main@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 4PVf2M0d2Tz3wspj; Mon, 6 Mar 2023 13:05: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 4PVf2M03MTz3Gvn; Mon, 6 Mar 2023 13:05:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107931; 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=1wnnDP/Q2yLd8b2mUj8YJYvAI/dNXYAmtBWyLNsIPdQ=; b=QaCr8+9Tql4N/XnFiIuZmUxl6Jpcb8p2i5mb4Jz6kQ+buatuFXzHDGy/ZOftWmQlXG7Ejb TvvThBGoNnzvmAbJinh336eBVOSWZia+0ucVOrFgNZOqpp/epM2/ke3Adm7GRdQQBP5S4X RAEUye6pppx1GcxWghpXnlRMC0TEtQ5ECz5dSzxnyW/Vqu1Fzi1DaRP/aX5uOVdbiuAAVS NM20Y+ePyqhfEeV41E03fwG0EIYlUr/AvMotpaV1XatPRzLPQCtohjszMrliSezziwjE8P SF1zC0hf50mcr4AG/FM98cc//+qV94UPJtUAgQ8fq53xAWs+Uqn2RYBcoAPuzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107931; 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=1wnnDP/Q2yLd8b2mUj8YJYvAI/dNXYAmtBWyLNsIPdQ=; b=dqVGTPkZx2rwwXSDyBDnTvW39yWYMWfdtWsjFjFB3BLZK3zPq1zjWmFrqggq/dYB1V0Jxx QjZz1+GTRGjzBPGYxvfhLj0gQysu5zBDE83glH0BLGFoPRrwpDPKo/Rc8fOl09rk5Tk/Ym YUu0eQIC5aj9sxSIQue0zH+vyvsRugEAXC7KE+hcAy+cAIScPZl84Nnb0iTEv6Y23RtEiN gx7jBFBkaKCliC4PA0eqgJktDc8BkwZUsar6irslOMcTw1EZMxxP1Atmdkk9xlwoXFClM/ CquPYTfVCj8T0IiU/820CRd4q81RL9D0YH+PvHegDRdXEFrCdyCGsO1yiHZgAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678107931; a=rsa-sha256; cv=none; b=Tbccs1aOWeq6IL0nMnOdQ5E7NsMSJvqlhcQrI/t+1iy390hWD0zPAYFPYjxoNElQjmuXfC dmQqqPbF8+DFD1dR5Oxn2OX7DU11o0rvEBh9fM9SeSXuqJKu7kWXVwEqoxE3TStadqHQzN 2asFuc7Y/GHJTrWZ6oegcH95/x9GD5IspU/ZdvzfhhSWOsvC8QB3HttlvQHGa2p7e++ZHI YEdPlzpTFWD5FVLbtn7g56+fft1TnuzfDkjvf8Tie45v6+kNuiKK46LeG9qfhh7XOgqVJ9 yk7hwp8K41GVhbKA96fXy13X0LFhDhTaAyLx9s3gK//uPGBp7bCe+DgiwBvIAw== 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 4PVf2L6FHXz12Mw; Mon, 6 Mar 2023 13:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326D5UKQ079494; Mon, 6 Mar 2023 13:05:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326D5UcL079493; Mon, 6 Mar 2023 13:05:30 GMT (envelope-from git) Date: Mon, 6 Mar 2023 13:05:30 GMT Message-Id: <202303061305.326D5UcL079493@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: d213429e42d4 - main - bhyve: exit with EX_OSERR if init checkpoint or restore time failed List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d213429e42d48c7de56baf60befd5d953654d337 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=d213429e42d48c7de56baf60befd5d953654d337 commit d213429e42d48c7de56baf60befd5d953654d337 Author: Vitaliy Gusev AuthorDate: 2023-03-06 12:30:54 +0000 Commit: Corvin Köhne CommitDate: 2023-03-06 13:04:16 +0000 bhyve: exit with EX_OSERR if init checkpoint or restore time failed Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38872 --- usr.sbin/bhyve/bhyverun.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 2c1fee23cc13..0c4aef70b2a9 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -1579,12 +1579,13 @@ main(int argc, char *argv[]) /* * checkpointing thread for communication with bhyvectl */ - if (init_checkpoint_thread(ctx) < 0) - printf("Failed to start checkpoint thread!\r\n"); + if (init_checkpoint_thread(ctx) != 0) + errx(EX_OSERR, "Failed to start checkpoint thread"); if (restore_file != NULL) { destroy_restore_state(&rstate); - vm_restore_time(ctx); + if (vm_restore_time(ctx) < 0) + err(EX_OSERR, "Unable to restore time"); for (int i = 0; i < guest_ncpus; i++) { if (i == BSP) From nobody Mon Mar 6 13:05:31 2023 X-Original-To: dev-commits-src-main@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 4PVf2N1fmqz3wspn; Mon, 6 Mar 2023 13:05: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 4PVf2N106Pz3H7P; Mon, 6 Mar 2023 13:05:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107932; 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=nzZxqovVevWqo4P1Qqbk7JhjuiXl6Bn5lHjF56OKe/k=; b=E4hQGYhhUp3V5uh6/z0RbJXmRMalhieBIm/e1Plya7ydxgn3ExwEi8FC7Yfy8cz0NZoSyz lQWT6ZczTZXobSHGYsN5tY4CA5+NY9nw7/UmNyX3uqT6Q7wNT7gq10EEaCLLoSlyEOdKUY foFtxltyBU8P0dqO2wP5clcWBMXN+0OAeJNZWabvQ0XdZQi+8PtT5BRH9stzOdiQDviWbw ev9cSBwCwmR96U9KjN0hxD0CtXhqlla47+Yy4F4Fv0ms4jU09oJHLKjOWRCikJLcv0bM0p wr2JtdjcUfdiLAZdYVHTSM0vx/c0qcSPUS6l7/HCV8qb+sKY3PTRuziuh0DgYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107932; 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=nzZxqovVevWqo4P1Qqbk7JhjuiXl6Bn5lHjF56OKe/k=; b=h/TbdNlxOSRbB5r1MBpC2TDOJdiZDu4wnYonJU6BKzBTVtgpH+jwWSzaGAmLHG0CT9YPb8 8GTIulN4JFUuH/KkMBBhna+T9liocyzIuNs6Ab4Qry0INz+7XD/7ayaVIbZaJPO17l56n/ q8SJCTHxeEoQMIly8fKmQNCt0Y/J+AxDxfnMt/RCTKXjypo3SvIJVEVy6SwIjcfNULX4QM w5mZRRqg7JZJEPiOjfKQtVVYyKYgoNNLgfhF/DbCJxMft9ZxXbdFPvmWMqChGe0dwYWLAd I8jk61yS18Ctu1msaQGfmsXKqYRWd+lnxHYYiU5LXOyx0H0njH2QYTEk8NJkZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678107932; a=rsa-sha256; cv=none; b=aclpjRiXGhE8L8kca8AeR7+nO2ONeydwI6vDUMF6wCEukowOckp2CWhP0IMlqU2nkE1ph7 ++5QAzbK8lGeOWxM+ayVzbrmeMX+MiBeivkJPMtpdp7vD8+gp5MyEdgyiyyRQpQu1AWmrQ Bsb+cn/jEy/4flje0Vs0KhZbuwDq/kvL1HS+dtygVdZygglHhzK18GCtyM6+Aka1pn6LJN PrZ/u0CkgbU6xHmT29y2mCkqZUzSZzEXqZ6xz7iPV73NGr5ClIi3ZBEZ22rdRcALcRfF4h dD2WN+1xjatxIzDHWp66LC0uqMYfmWCxQYaTHbgyrPg18ZanDlXMUgTIczJG1Q== 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 4PVf2N02hkz134y; Mon, 6 Mar 2023 13:05:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326D5VC0079518; Mon, 6 Mar 2023 13:05:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326D5VnE079517; Mon, 6 Mar 2023 13:05:31 GMT (envelope-from git) Date: Mon, 6 Mar 2023 13:05:31 GMT Message-Id: <202303061305.326D5VnE079517@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 9a9a24896469 - main - bhyve: init checkput before caph_enter List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9a9a248964696f45260ea026aa5f9174cc86b137 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=9a9a248964696f45260ea026aa5f9174cc86b137 commit 9a9a248964696f45260ea026aa5f9174cc86b137 Author: Vitaliy Gusev AuthorDate: 2023-03-06 12:35:21 +0000 Commit: Corvin Köhne CommitDate: 2023-03-06 13:04:21 +0000 bhyve: init checkput before caph_enter init_checkpoint_thread binds to a socket. Bhyve isn't allowed to do that after caph_enter. Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38857 --- usr.sbin/bhyve/bhyverun.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 0c4aef70b2a9..af4d15666ae3 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -1562,6 +1562,17 @@ main(int argc, char *argv[]) */ setproctitle("%s", vmname); +#ifdef BHYVE_SNAPSHOT + /* initialize mutex/cond variables */ + init_snapshot(); + + /* + * checkpointing thread for communication with bhyvectl + */ + if (init_checkpoint_thread(ctx) != 0) + errx(EX_OSERR, "Failed to start checkpoint thread"); +#endif + #ifndef WITHOUT_CAPSICUM caph_cache_catpages(); @@ -1573,15 +1584,6 @@ main(int argc, char *argv[]) #endif #ifdef BHYVE_SNAPSHOT - /* initialize mutex/cond variables */ - init_snapshot(); - - /* - * checkpointing thread for communication with bhyvectl - */ - if (init_checkpoint_thread(ctx) != 0) - errx(EX_OSERR, "Failed to start checkpoint thread"); - if (restore_file != NULL) { destroy_restore_state(&rstate); if (vm_restore_time(ctx) < 0) From nobody Mon Mar 6 13:05:33 2023 X-Original-To: dev-commits-src-main@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 4PVf2P4HRcz3wsPx; Mon, 6 Mar 2023 13:05:33 +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 4PVf2P1zr6z3HJC; Mon, 6 Mar 2023 13:05:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107933; 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=Kevvjpd411uQIzgyDvjoZXjw1zk20uWZbR6HyO3p4J0=; b=kgy+sVDfpJQNzLIr0WPLV8wM0iFjlJ0NBaXUnzroE0i/KUVM5oHMl/ZqJ0huqYEiXdwOy8 rThL6iLEE3USJj0sJWOgeJFq0SPKKLv5p8OKLgiIUw+hC+b+b05/+Mrb9io8vKH5kUsdRN bkxOV6oKfnQ5eYomGUZVjMBrSc1zdxVHv1cOu322HOUHgP1vA6P9FMeISsgGHvG8Kq/PbO qBA4gq0JX35KXOgHJxx1El/P2t0OqqBlg2J8UnDvlchIOsH49oEgyDohR7lALWMirEJnJM s6KHBPKPiEFODc5DC4Dwb+ijje5cEOaQEA+iK1FPtVe90ymK6Hx0WU0v0ZUNZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678107933; 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=Kevvjpd411uQIzgyDvjoZXjw1zk20uWZbR6HyO3p4J0=; b=qXtc/UW09clMUPuBNdDGrtHO+COR9D6r914HOE2/Y/xJ4dtT95uPa+mU7hJCLeWLgld1NS cmxTJPo3IuM3X9O3IxBmiMyMocBOdbQ234tnN/JZpUw8I3oioiehsFIN7MYKI2HlVvEN78 o/1oY5paE9waxi5UV5YmlKqauozr5erxjX+kfATWmr1N06ZAmHyhb4MgrMwHerqFqSb6Bx m+w/OYGGJsveK4mIvYcBdpY54q+g4cc56KCOBfJLrIt5F8T+VboOizlLSPuIx5B0HTfzJI nvc3dXxQVoph8fDLq077mR39YT1syUsEFl6gxIbYqDVKPNEi/S/1pmwvEDeu5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678107933; a=rsa-sha256; cv=none; b=leSqm9bUggGs6fTcOAG6kK11RB8ECypYpvbo9nyFSP8l07HeBYytVwV9pSx4Zty4Dixxvp PfjtZWA1nhTkSJeFHQxN5Zm3IN/oyZzMOxxKEHrJDQeIJI6IqRwI51gWyUlETwGTMLpyEa FVG/sAujhHKxbFm6VTEVVt4as3gnKEtre6OIjqoFj9RhiPM+Phq5+46LJz39RJAPgC2MAt or02PSC99iVr6IufB4N5ddqyLo0HQvRwLC2eHzdqgqO/eaWZWE93iNg2CxxA0p1WzOtyJo Ro4ZwqQ02wIcT9CDQDlH2ojiFmHKb9xyL570r1lo8VH7H3s3Uv0t5/27QiNPbw== 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 4PVf2P12Wcz13D2; Mon, 6 Mar 2023 13:05:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326D5X46079551; Mon, 6 Mar 2023 13:05:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326D5XPh079550; Mon, 6 Mar 2023 13:05:33 GMT (envelope-from git) Date: Mon, 6 Mar 2023 13:05:33 GMT Message-Id: <202303061305.326D5XPh079550@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 062f2818c1ad - main - bhyvectl: don't permit using --suspend and --checkpoint at same time List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 062f2818c1ad35bdc3d520c7572e3cefda657770 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=062f2818c1ad35bdc3d520c7572e3cefda657770 commit 062f2818c1ad35bdc3d520c7572e3cefda657770 Author: Vitaliy Gusev AuthorDate: 2023-03-06 12:42:15 +0000 Commit: Corvin Köhne CommitDate: 2023-03-06 13:04:26 +0000 bhyvectl: don't permit using --suspend and --checkpoint at same time When using the --suspend and --checkpoint parameter, bhyvectl will produce two checkpoint images and the exits. This is slightly ambiguous. So, permit only one of theses parameters at the same time. Reviewed by: corvink, markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38887 --- usr.sbin/bhyvectl/bhyvectl.c | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 4aa235e00489..e5789eaf30e8 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -86,8 +86,7 @@ usage(bool cpu_intel) " [--create]\n" " [--destroy]\n" #ifdef BHYVE_SNAPSHOT - " [--checkpoint=]\n" - " [--suspend=]\n" + " [--checkpoint= | --suspend=]\n" #endif " [--get-all]\n" " [--get-stats]\n" @@ -299,7 +298,6 @@ static int unassign_pptdev, bus, slot, func; static int run; static int get_cpu_topology; #ifdef BHYVE_SNAPSHOT -static int vm_checkpoint_opt; static int vm_suspend_opt; #endif @@ -1743,7 +1741,7 @@ main(int argc, char *argv[]) struct tm tm; struct option *opts; #ifdef BHYVE_SNAPSHOT - char *checkpoint_file, *suspend_file; + char *checkpoint_file = NULL; #endif cpu_intel = cpu_vendor_intel(); @@ -1905,12 +1903,12 @@ main(int argc, char *argv[]) break; #ifdef BHYVE_SNAPSHOT case SET_CHECKPOINT_FILE: - vm_checkpoint_opt = 1; - checkpoint_file = optarg; - break; case SET_SUSPEND_FILE: - vm_suspend_opt = 1; - suspend_file = optarg; + if (checkpoint_file != NULL) + usage(cpu_intel); + + checkpoint_file = optarg; + vm_suspend_opt = (ch == SET_SUSPEND_FILE); break; #endif default: @@ -2385,11 +2383,8 @@ main(int argc, char *argv[]) vm_destroy(ctx); #ifdef BHYVE_SNAPSHOT - if (!error && vm_checkpoint_opt) - error = snapshot_request(vmname, checkpoint_file, false); - - if (!error && vm_suspend_opt) - error = snapshot_request(vmname, suspend_file, true); + if (!error && checkpoint_file) + error = snapshot_request(vmname, checkpoint_file, vm_suspend_opt); #endif free (opts); From nobody Mon Mar 6 15:08:28 2023 X-Original-To: dev-commits-src-main@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 4PVhmD6XJ7z3x0hg; Mon, 6 Mar 2023 15:08: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 4PVhmD5tstz3mg0; Mon, 6 Mar 2023 15:08:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678115308; 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=AvuMDZm9tlVvDB35MfHaTJeKZS58UyBRTWvJvUIWfz4=; b=aTlVbJ2IVVNvMfYH4YKSgxvZz2snvTfKopA3fu8laO0nWS02GlTpxaMp58mrL/1G+2b752 cZ0W4OzMNf5YefX7nhvSsU3xyA7/38AhZqV/+lrRiYbbuJ/mU6T9BA68M1gLBdPfREw8nl TKacdZcRuSH++o1Qwasf48dqcvzdnfTbZwlACsSR6oZ+RNvr4BJvDt3pg9mayQBgxoSSde potzgeyKWSqGb6A3X11bUmAmSdIvYPtCOqwCFlaXsbFdVKFC9gojiNPQNxZk9d4vV5WoSI Ei5lFM3msPBaRIhoCNEJzDFlFJy4XpOB8gai0iMgu5/IEunOkd9WxszID7GtTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678115308; 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=AvuMDZm9tlVvDB35MfHaTJeKZS58UyBRTWvJvUIWfz4=; b=AqtkmhVcbnGIVFxDT2EwjxQTi5IWidFOUcWqj3Y3H4AbYjwh5avxO7LERS7n51x/bDBC+3 UOXVpR9T2F3NX/eKa7/Nmld4x1h1Xjl+xktftXdHrToq8P1W7mHDaLXsil8F5Nw7OIHLcM UYfNX2lTBZuf78OoJEvbzPA9jWCBfRfkvQgyjkcqTHqp1L3shcupYZ1r9PAmMCvp6Zhxp3 9hwRDXFov1vzVK6uRL3Ti3DP+6b7wkIxtpo9U8kqZr8bvaGitzthoqz7D17kgLpF6OoJH2 KfqrTXZNvzaGS5kORoosdBz5fioHuCrxhuPIfO4gNOD4iL03z5TF6evZzoLwEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678115308; a=rsa-sha256; cv=none; b=l4ZVSr4dlzQz3Rh5kE2L22JRyOSkcersyf3A9JqFVZ81l9b0x5/DUqr+kQHxjztLeZfRDK 8m6FkwQI/nRdgDOODWz3ZEmMNltaSOzl+fwXbB0cqpJtv0LDn+RrbMJediKXNqLWrPOSXx a62Q3i0PzRn/ey90JXzotUFEnoBcXwa90JFcVr1R87yZbqwOBVQyRiVffwz8toY6LZTfh9 B4z8ArkS1bmIb+KhuDkZTWGDn7Nr/ne7+/uzmkQqUUfJxneJyqMG7CmThzgabCL7e9lKhQ xOTQivitn9cFM+S5KMadFatHXM6EMdNTFDXdWO1KmgG+vyxVGb9c+2XTiBZVLA== 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 4PVhmD4y2Bz16Cm; Mon, 6 Mar 2023 15:08:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326F8SIZ076636; Mon, 6 Mar 2023 15:08:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326F8S74076635; Mon, 6 Mar 2023 15:08:28 GMT (envelope-from git) Date: Mon, 6 Mar 2023 15:08:28 GMT Message-Id: <202303061508.326F8S74076635@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 66bdbcd544d5 - main - net: unify mtu update code List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 66bdbcd544d57fa629954d1e0b32fe21ae66a9b7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=66bdbcd544d57fa629954d1e0b32fe21ae66a9b7 commit 66bdbcd544d57fa629954d1e0b32fe21ae66a9b7 Author: Alexander V. Chernikov AuthorDate: 2023-03-03 16:30:15 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-03-06 15:08:08 +0000 net: unify mtu update code Subscribers: imp, ae, glebius Differential Revision: https://reviews.freebsd.org/D38893 --- sys/net/if.c | 17 +++++++++++------ sys/net/if_bridge.c | 16 ++-------------- sys/net/if_lagg.c | 16 ++-------------- sys/net/if_var.h | 1 + sys/net/if_vlan.c | 16 ++-------------- 5 files changed, 18 insertions(+), 48 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index bc13cdaf05f5..58711061eb5e 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -2853,12 +2853,8 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td) /* * If the link MTU changed, do network layer specific procedure. */ - if (ifp->if_mtu != oldmtu) { -#ifdef INET6 - nd6_setmtu(ifp); -#endif - rt_updatemtu(ifp); - } + if (ifp->if_mtu != oldmtu) + if_notifymtu(ifp); break; } @@ -4470,6 +4466,15 @@ if_setmtu(if_t ifp, int mtu) return (0); } +void +if_notifymtu(if_t ifp) +{ +#ifdef INET6 + nd6_setmtu(ifp); +#endif + rt_updatemtu(ifp); +} + int if_getmtu(const if_t ifp) { diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 9f99434dd4e0..60a1683c74ae 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -136,14 +136,6 @@ __FBSDID("$FreeBSD$"); #include -#ifdef INET6 -/* - * XXX: declare here to avoid to include many inet6 related files.. - * should be more generalized? - */ -extern void nd6_setmtu(struct ifnet *); -#endif - /* * Size of the route hash table. Must be a power of two. */ @@ -910,12 +902,8 @@ bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) * Bridge MTU may change during addition of the first port. * If it did, do network layer specific procedure. */ - if (ifp->if_mtu != oldmtu) { -#ifdef INET6 - nd6_setmtu(ifp); -#endif - rt_updatemtu(ifp); - } + if (ifp->if_mtu != oldmtu) + if_notifymtu(ifp); if (bc->bc_flags & BC_F_COPYOUT) error = copyout(&args, ifd->ifd_data, ifd->ifd_len); diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index c649a2c3372e..1ac8492834fc 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -77,14 +77,6 @@ __FBSDID("$FreeBSD$"); #include #include -#ifdef INET6 -/* - * XXX: declare here to avoid to include many inet6 related files.. - * should be more generalized? - */ -extern void nd6_setmtu(struct ifnet *); -#endif - #ifdef DEV_NETMAP MODULE_DEPEND(if_lagg, netmap, 1, 1, 1); #endif @@ -1636,12 +1628,8 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) * LAGG MTU may change during addition of the first port. * If it did, do network layer specific procedure. */ - if (ifp->if_mtu != oldmtu) { -#ifdef INET6 - nd6_setmtu(ifp); -#endif - rt_updatemtu(ifp); - } + if (ifp->if_mtu != oldmtu) + if_notifymtu(ifp); VLAN_CAPABILITIES(ifp); break; diff --git a/sys/net/if_var.h b/sys/net/if_var.h index 7200cd5634d3..c9b2de736d10 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -618,6 +618,7 @@ void if_setbroadcastaddr(if_t ifp, const uint8_t *); int if_setmtu(if_t ifp, int mtu); int if_getmtu(const if_t ifp); int if_getmtu_family(const if_t ifp, int family); +void if_notifymtu(if_t ifp); int if_setflagbits(if_t ifp, int set, int clear); int if_setflags(if_t ifp, int flags); int if_getflags(const if_t ifp); diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index d8be44b105f1..0f2ded3f6040 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -85,14 +85,6 @@ __FBSDID("$FreeBSD$"); #include #endif -#ifdef INET6 -/* - * XXX: declare here to avoid to include many inet6 related files.. - * should be more generalized? - */ -extern void nd6_setmtu(struct ifnet *); -#endif - #define VLAN_DEF_HWIDTH 4 #define VLAN_IFFLAGS (IFF_BROADCAST | IFF_MULTICAST) @@ -2110,12 +2102,8 @@ vlan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) * VLAN MTU may change during addition of the vlandev. * If it did, do network layer specific procedure. */ - if (ifp->if_mtu != oldmtu) { -#ifdef INET6 - nd6_setmtu(ifp); -#endif - rt_updatemtu(ifp); - } + if (ifp->if_mtu != oldmtu) + if_notifymtu(ifp); break; case SIOCGETVLAN: From nobody Mon Mar 6 15:08:29 2023 X-Original-To: dev-commits-src-main@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 4PVhmG0Z3bz3x0QQ; Mon, 6 Mar 2023 15:08: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 4PVhmF6qC3z3mvJ; Mon, 6 Mar 2023 15:08:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678115310; 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=0NwwhU8ZjXD9ATwXNIVS25tJ5igBbzIkK7+PGoSRZ/8=; b=xaQ7dmuqjbUPSXpe5uzFw6O4aRtoyvw349K+63ZbofQsnmQoltth/USKPzWyBhBBjx0UNO ALM242HDLFScleeKhJAJnQo58x6KgBOkBz5YbYWibvchpvNifVnwt0mnne9DB/oJlFCiEj Z7dpFbXa6ZI85ezHDrWT/gb1+s89WtoJJzL1ocDkVa5qvaAitx+VyjL+VEBRqcasgaPDSM BvqU5B5cRBAUyjfXqgnWlXJwcPWCVI+tQMdfNUAfT+kqes0+eyTj8RyvZM/5dMm6gFMc/B Wfsy66vgRzKYI91qv6mq5ctY/plyoFmcy0lYRnyhX9mMR3c0gjCRPPp9L+QisA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678115310; 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=0NwwhU8ZjXD9ATwXNIVS25tJ5igBbzIkK7+PGoSRZ/8=; b=mkkXHDgJgomIbZhqHTSX/AnsmKI032+eItQeEXDAXPZsm7OrnSeFfEb8XX0awPcQiXoqeC WoEl86bWkWn4PCjsPhJoZQJjJKs5yaplvRgDzKPXpg1+QAdIwH5A/bVm0xf6ajzTEQ85n4 Dk0YI4PEAu5zF4oOwWP1sKmWfazhTvtVqMAjjvvRkOnTdQkQdFRbnGf2XzCSYEn+U8pWx5 I468w9GI+y2+spmKKMbRUk9xo+lhK5A9/Bc7t6TT6FLMQFHwu9fK4hIsRvO1eZgMENX6n2 HyxIGGD6doLbFROkG2FQKiF5f39bX44XGlu9VaLyU/i1rkC+59YD/9IbCkWJUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678115310; a=rsa-sha256; cv=none; b=mlPG5pj/8CdaiceMrqQQJ4tqY5Jq/T9BxtmFqQO5lTBjFEh6B9CvdXfM3fMVAvtHdTx+YA 9U+Mvop56vXlkW0v+ypopUr4Mtz0dt1Dq2WNKQgYL0EULMt5ho/Ap97A/tV2YKLkn3xWZb p3MaPqbPz/YHFUoRq4MdqC3tFMzOy6FcaQzeGahmHONzTVrap4DLQhxJq++TKYbZlsDWH+ tNJlEsZfqIZdyanjT1QCM88LPTUjT9W8TKdQySNNckO+AFVb0xWZqTGr4S852Gji2jATsM Z0wLdmmM3zm3g9QEuCXvYGIhwg6O9wuBv3e4F9nH4pXPyeBrcP48Iva/kfHWPw== 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 4PVhmF5rJGz16Cn; Mon, 6 Mar 2023 15:08:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326F8TTM076655; Mon, 6 Mar 2023 15:08:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326F8TiR076654; Mon, 6 Mar 2023 15:08:29 GMT (envelope-from git) Date: Mon, 6 Mar 2023 15:08:29 GMT Message-Id: <202303061508.326F8TiR076654@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: df2b419a4105 - main - ifnet: add if_foreach_sleep() to allow ifnet iterations with sleep. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df2b419a4105588384a89a57442ed6c6ca002455 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=df2b419a4105588384a89a57442ed6c6ca002455 commit df2b419a4105588384a89a57442ed6c6ca002455 Author: Alexander V. Chernikov AuthorDate: 2023-03-04 10:09:09 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-03-06 15:08:08 +0000 ifnet: add if_foreach_sleep() to allow ifnet iterations with sleep. Subscribers: imp, ae, glebius Differential Revision: https://reviews.freebsd.org/D38904 --- sys/net/if.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sys/net/if_var.h | 2 ++ 2 files changed, 67 insertions(+) diff --git a/sys/net/if.c b/sys/net/if.c index 58711061eb5e..f3ef822178ff 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -4535,6 +4535,71 @@ if_foreach(if_foreach_cb_t cb, void *cb_arg) return (error); } +/* + * Iterates over the list of interfaces, permitting callback function @cb to sleep. + * Stops iteration if @cb returns non-zero error code. + * Returns the last error code from @cb. + * @match_cb: optional match callback limiting the iteration to only matched interfaces + * @match_arg: argument to pass to @match_cb + * @cb: iteration callback + * @cb_arg: argument to pass to @cb + */ +int +if_foreach_sleep(if_foreach_match_t match_cb, void *match_arg, if_foreach_cb_t cb, + void *cb_arg) +{ + int match_count = 0, array_size = 16; /* 128 bytes for malloc */ + struct ifnet **match_array = NULL; + int error = 0; + + MPASS(cb); + + while (true) { + struct ifnet **new_array; + int new_size = array_size; + struct epoch_tracker et; + struct ifnet *ifp; + + while (new_size < match_count) + new_size *= 2; + new_array = malloc(new_size * sizeof(void *), M_TEMP, M_WAITOK); + if (match_array != NULL) + memcpy(new_array, match_array, array_size * sizeof(void *)); + free(match_array, M_TEMP); + match_array = new_array; + array_size = new_size; + + match_count = 0; + NET_EPOCH_ENTER(et); + CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) { + if (match_cb != NULL && !match_cb(ifp, match_arg)) + continue; + if (match_count < array_size) { + if (if_try_ref(ifp)) + match_array[match_count++] = ifp; + } else + match_count++; + } + NET_EPOCH_EXIT(et); + + if (match_count > array_size) { + for (int i = 0; i < array_size; i++) + if_rele(match_array[i]); + continue; + } else { + for (int i = 0; i < match_count; i++) { + if (error == 0) + error = cb(match_array[i], cb_arg); + if_rele(match_array[i]); + } + free(match_array, M_TEMP); + break; + } + } + + return (error); +} + u_int if_foreach_lladdr(if_t ifp, iflladdr_cb_t cb, void *cb_arg) { diff --git a/sys/net/if_var.h b/sys/net/if_var.h index c9b2de736d10..3e4d6c883c13 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -680,7 +680,9 @@ typedef u_int if_addr_cb_t(void *, struct ifaddr *, u_int); u_int if_foreach_addr_type(if_t ifp, int type, if_addr_cb_t cb, void *cb_arg); typedef int (*if_foreach_cb_t)(if_t, void *); +typedef bool (*if_foreach_match_t)(if_t, void *); int if_foreach(if_foreach_cb_t, void *); +int if_foreach_sleep(if_foreach_match_t, void *, if_foreach_cb_t, void *); /* Functions */ void if_setinitfn(if_t ifp, if_init_fn_t); From nobody Mon Mar 6 15:08:30 2023 X-Original-To: dev-commits-src-main@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 4PVhmH1Xmrz3x0mq; Mon, 6 Mar 2023 15:08: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 4PVhmH0VpWz3n0x; Mon, 6 Mar 2023 15:08:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678115311; 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=FsmU82nL6KH1a3wkT4FnL3Yv2wKexoh2YQqfl/hiE9w=; b=mI2Zbtqq1jHcrT+JYC1h6nkIc7UuJjpMUj6asdZdjIzhhcC2OKE6Yz2fSkVVOH2a1FMwAz 5Fr8J95JFuGCOBD6DPLpjewc8rv1Ek+5BMnBhQA1TzxEtjLUDuX+sQrLRbnPjJbXcDscO1 Yr0j5kOl/rVUgTJrUWDFGrX06QuNJVLR6gtCNTDvbTscMT4mJwXhL7ueD0ofA7OmhyIMym 7RiDTNULixrEH9t8URPThRyum+SX95VTS/9/FbGeUzHSSbvtIqCG2hSmjdhlMQlGHzqsme GgnfptP0CLVzzMu84UXJNmlRW/Z+CPDd6E99ANLNUnqEEw5J7zw2/DsIloGkrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678115311; 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=FsmU82nL6KH1a3wkT4FnL3Yv2wKexoh2YQqfl/hiE9w=; b=eITY0Idw2kf60OKXGfHwIn8YYdOgHFqkX9ryxkeiR994T/099P9Z+NLdiGaepYc1ITf9M4 tkrJZraAeASfQp8+euiVJpDTdDPkr3M3NqStdc/7FacPzg5Ix8cs0qk0izr7TwqOOCJ9V3 staG6BOBSqQeRlZu6i+5xddcc8u08t6BydL3y0N5Qhha8BqRgvhl8e75B1ZZv0XKbY8QIl Ti9rGz8lvoH12Uqr/L75v8NGmyEO5bCIxpGkC7d54ohlH/BXFa0kDwoc2oRHo3Vh+vl3b5 X+Dt1w9OdEpIddmZs8wkvIeMKTvnOgYbTqnKPT55ZVCCRTLsBeobheRaApL/GA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678115311; a=rsa-sha256; cv=none; b=MT7mUd95+KANwbcTyQYSPci/4gPdpiVx+JNrdyom2hfNYyGG5jFKcGtwag6l7Wak5sT8cX KRUqxmsw5x7Rve04o25DcwpEg06wkgdsPRTb3QD4gvDapo52VN5XQBo+BEVAF695qiUeyZ P672mcRmWbpSXf2icRPAnK4fRBFQZBYhTnUXrwcnRX5k9B+mQuw6zzlD7kaVIx20/kV2Kh KyzfFL65VNgMfg0k1+eTLAsSluZ2WGg2HooJuDMcP2fjlKCkOCOQ2UpclmmhHA3gMQxjQA G2H3xyzUpcf7BmbzEPBpAYlRrckkXA0yLVKSeoavGTLM4tgqCapJqYI0wjAPdw== 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 4PVhmG6jzWz165D; Mon, 6 Mar 2023 15:08:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326F8UBW076674; Mon, 6 Mar 2023 15:08:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326F8U87076673; Mon, 6 Mar 2023 15:08:30 GMT (envelope-from git) Date: Mon, 6 Mar 2023 15:08:30 GMT Message-Id: <202303061508.326F8U87076673@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 055776c84a41 - main - netlink: use newly-added if_foreach_sleep() to iterate over the interface list. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 055776c84a41bb88c6ccd67615ea172864f6804c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=055776c84a41bb88c6ccd67615ea172864f6804c commit 055776c84a41bb88c6ccd67615ea172864f6804c Author: Alexander V. Chernikov AuthorDate: 2023-03-04 15:15:56 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-03-06 15:08:08 +0000 netlink: use newly-added if_foreach_sleep() to iterate over the interface list. Summary: MFC after: 2 weeks Subscribers: imp, glebius Differential Revision: https://reviews.freebsd.org/D38907 --- sys/netlink/route/iface.c | 56 ++++++++++++----------------------------------- 1 file changed, 14 insertions(+), 42 deletions(-) diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index 116acd863ba9..6704acd1624f 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -360,8 +360,10 @@ static const struct nlattr_parser nla_p_if[] = { NL_DECLARE_STRICT_PARSER(ifmsg_parser, struct ifinfomsg, check_ifmsg, nlf_p_if, nla_p_if); static bool -match_iface(struct nl_parsed_link *attrs, struct ifnet *ifp) +match_iface(struct ifnet *ifp, void *_arg) { + struct nl_parsed_link *attrs = (struct nl_parsed_link *)_arg; + if (attrs->ifi_index != 0 && attrs->ifi_index != ifp->if_index) return (false); if (attrs->ifi_type != 0 && attrs->ifi_index != ifp->if_type) @@ -373,6 +375,15 @@ match_iface(struct nl_parsed_link *attrs, struct ifnet *ifp) return (true); } +static int +dump_cb(struct ifnet *ifp, void *_arg) +{ + struct netlink_walkargs *wa = (struct netlink_walkargs *)_arg; + if (!dump_iface(wa->nw, ifp, &wa->hdr, 0)) + return (ENOMEM); + return (0); +} + /* * {nlmsg_len=52, nlmsg_type=RTM_GETLINK, nlmsg_flags=NLM_F_REQUEST, nlmsg_seq=1662842818, nlmsg_pid=0}, * {ifi_family=AF_PACKET, ifi_type=ARPHRD_NETROM, ifi_index=0, ifi_flags=0, ifi_change=0}, @@ -417,7 +428,7 @@ rtnl_handle_getlink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n } if (ifp != NULL) { - if (match_iface(&attrs, ifp)) { + if (match_iface(ifp, &attrs)) { if (!dump_iface(wa.nw, ifp, &wa.hdr, 0)) error = ENOMEM; } else @@ -438,46 +449,7 @@ rtnl_handle_getlink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n */ NL_LOG(LOG_DEBUG2, "Start dump"); - - struct ifnet **match_array = NULL; - int offset = 0, base_count = 0; - - NLP_LOG(LOG_DEBUG3, nlp, "MATCHING: index=%u type=%d name=%s", - attrs.ifi_index, attrs.ifi_type, attrs.ifla_ifname); - NET_EPOCH_ENTER(et); - CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) { - wa.count++; - if (match_iface(&attrs, ifp)) { - if (offset >= base_count) { - /* Too many matches, need to reallocate */ - struct ifnet **new_array; - /* Start with 128 bytes, do 2x increase on each realloc */ - base_count = (base_count != 0) ? base_count * 2 : 16; - new_array = malloc(base_count * sizeof(void *), M_TEMP, M_NOWAIT); - if (new_array == NULL) { - error = ENOMEM; - break; - } - memcpy(new_array, match_array, offset * sizeof(void *)); - free(match_array, M_TEMP); - match_array = new_array; - } - - if (if_try_ref(ifp)) - match_array[offset++] = ifp; - } - } - NET_EPOCH_EXIT(et); - - NL_LOG(LOG_DEBUG2, "Matched %d interface(s), dumping", offset); - for (int i = 0; error == 0 && i < offset; i++) { - if (!dump_iface(wa.nw, match_array[i], &wa.hdr, 0)) - error = ENOMEM; - } - for (int i = 0; i < offset; i++) - if_rele(match_array[i]); - free(match_array, M_TEMP); - + if_foreach_sleep(match_iface, &attrs, dump_cb, &wa); NL_LOG(LOG_DEBUG2, "End dump, iterated %d dumped %d", wa.count, wa.dumped); if (!nlmsg_end_dump(wa.nw, error, &wa.hdr)) { From nobody Mon Mar 6 15:08:31 2023 X-Original-To: dev-commits-src-main@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 4PVhmJ22qrz3x0qD; Mon, 6 Mar 2023 15:08: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 4PVhmJ1Zdjz3n7x; Mon, 6 Mar 2023 15:08:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678115312; 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=4en3jjBPUoxHnhpzGHNNLwUG7I+Midro6Jwiwugk44A=; b=HLDQXEvmBx9nc4OfYdd4tGuHdVghdU8aKAcvqBCpFbu+V054tGCVNksUPMugEX6k2PI6fz bFFilbK3NICQ9DeyRvAS2jCMUGnBQW9D8sPHx/esVCIqVSlhDLxOZtsv1UMKyt/6l6Vvk9 R9oNg06B3iBSNTgXaheRLJRIQVNItuaJ01PtcQk3TCu79onQGVdr0HiH+vZqqCEbJo6WtD qgDt/F0F4mOAUH0HtfaPEN6lUkyVt1/JNStmF8tI+p0GEkx4oqNAE9SgtMVHbMh8ZetY46 iSBE9VoGQ4nkxCqCRbe0xo3a8kqqYfve/UIH257oYtnWfcLEwSe198w+GfsW7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678115312; 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=4en3jjBPUoxHnhpzGHNNLwUG7I+Midro6Jwiwugk44A=; b=NnD/dfV1ZgvrWkGf+5eOgImXLdUQJn+tFigHXPxPIE+TtFMymdq1PXcVR5Dl4zD/RXhMZu IkHLm/btfc2gPWyvKPeBXiZH5iPBzk/fA+7z6CTFJKhOj801tCw1IGk+O/Mf/CDkP7EqBz MyCnu0Cy67mz1if7i+wRYsUS1ElW0nyuWq4UrwxnjJe1bQhJtH+iScd8eI7XVI5501a95O OgIbkkR7LRhcdvyp28840SX5nM3M9df5Wpey1MJINigNohYinlbvS53rdR5MCVM19xmM9S SUku7WJXXoTJeaXjXETzWZP6CZ9p/RA2kBCSL029Aly1W0v46kCm1joq0H9MvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678115312; a=rsa-sha256; cv=none; b=C8zWGczxqz3aWJEtx6NmePvaIglViOzZJtnevVoa81ElZ0Lg0+kRx8nUafbSLpIm+vaBL/ FaPgsGaMOBoOhjafJ4ffsig0prdv2XEqsnBFDtuMxmH3Y1EpaaK8DsghV0Uf7WFldxycd2 FpqqLha0mGQfZjAWA9qVZmf2qLuZ5LW81n4UxYVkdHlxGT2RTU/cSTj2obrbxKpIUKqhto LHpH4cIGgmu+v6pQ/R5gBazpEchYy+qgJyXHtvKdy9PlPNEVxPu4np/8n349vV773sPo4W zcHFHKLBrlETvAzSnQtpGnZobxUpyNtxBbZfLKFsvsCb0YrCQHbKqckRcfRiLg== 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 4PVhmJ0YXHz15pn; Mon, 6 Mar 2023 15:08:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326F8V3W076693; Mon, 6 Mar 2023 15:08:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326F8VBV076692; Mon, 6 Mar 2023 15:08:31 GMT (envelope-from git) Date: Mon, 6 Mar 2023 15:08:31 GMT Message-Id: <202303061508.326F8VBV076692@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: e2dc8d789f68 - main - dhclient: do not add 0.0.0.0 interface alias. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e2dc8d789f68a9a2267c7f1006aba36c7840b177 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=e2dc8d789f68a9a2267c7f1006aba36c7840b177 commit e2dc8d789f68a9a2267c7f1006aba36c7840b177 Author: Alexander V. Chernikov AuthorDate: 2023-03-04 15:18:26 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-03-06 15:08:09 +0000 dhclient: do not add 0.0.0.0 interface alias. Subscribers: imp Differential Revision: https://reviews.freebsd.org/D38908 --- sbin/dhclient/dhclient-script | 3 +-- sbin/dhclient/dispatch.c | 27 ++++++++------------------- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/sbin/dhclient/dhclient-script b/sbin/dhclient/dhclient-script index c5649e1a1d2a..bcc9050407d4 100755 --- a/sbin/dhclient/dhclient-script +++ b/sbin/dhclient/dhclient-script @@ -318,13 +318,12 @@ fi case $reason in MEDIUM) eval "$IFCONFIG $interface $medium" - eval "$IFCONFIG $interface inet -alias 0.0.0.0 $medium" >/dev/null 2>&1 sleep 1 ;; PREINIT) delete_old_alias - $IFCONFIG $interface inet alias 0.0.0.0 netmask 255.0.0.0 broadcast 255.255.255.255 up + eval "$IFCONFIG $interface up" ;; ARPCHECK|ARPSEND) diff --git a/sbin/dhclient/dispatch.c b/sbin/dhclient/dispatch.c index 91f1694ec902..29ae73103913 100644 --- a/sbin/dhclient/dispatch.c +++ b/sbin/dhclient/dispatch.c @@ -78,6 +78,7 @@ discover_interfaces(struct interface_info *iface) { struct ifaddrs *ifap, *ifa; struct ifreq *tif; + int len = IFNAMSIZ + sizeof(struct sockaddr_storage); if (getifaddrs(&ifap) != 0) error("getifaddrs failed"); @@ -118,26 +119,14 @@ discover_interfaces(struct interface_info *iface) iface->hw_address.htype = HTYPE_ETHER; /* XXX */ memcpy(iface->hw_address.haddr, LLADDR(foo), foo->sdl_alen); - } else if (ifa->ifa_addr->sa_family == AF_INET) { - struct sockaddr_in foo; - struct iaddr addr; - - memcpy(&foo, ifa->ifa_addr, sizeof(foo)); - if (foo.sin_addr.s_addr == htonl(INADDR_LOOPBACK)) - continue; - if (!iface->ifp) { - if ((tif = calloc(1, sizeof(struct ifreq))) - == NULL) - error("no space to remember ifp"); - strlcpy(tif->ifr_name, ifa->ifa_name, IFNAMSIZ); - memcpy(&tif->ifr_addr, ifa->ifa_addr, - ifa->ifa_addr->sa_len); - iface->ifp = tif; - iface->primary_address = foo.sin_addr; - } - addr.len = 4; - memcpy(addr.iabuf, &foo.sin_addr.s_addr, addr.len); } + if (!iface->ifp) { + if ((tif = calloc(1, len)) == NULL) + error("no space to remember ifp"); + strlcpy(tif->ifr_name, ifa->ifa_name, IFNAMSIZ); + iface->ifp = tif; + } + } if (!iface->ifp) From nobody Mon Mar 6 15:08:33 2023 X-Original-To: dev-commits-src-main@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 4PVhmK4kBkz3x0V9; Mon, 6 Mar 2023 15:08:33 +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 4PVhmK1zg1z3nDh; Mon, 6 Mar 2023 15:08:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678115313; 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=B0R2oiGZutIxk0fi0URuHsbmHMq5ClBmDrztissHoeg=; b=lP4yNBJoB7gOdhc/ryoVRT9f2dRFIaLn54EZsAFaFsUjxAWS8HXRy6jcFCGGi0I/yjNBTV BrkHZ3BvCNOE5sXvbCeacFqM4bN40yS2TazXMZE+SN8cLvaPXqLfm+vpy+PjblO9Pf/yAf 1BFU3biPMd+FSY9p/kMa9Af5yl44hxvU2YlGGfIQ1QdnOnRwKueVjNVqy1dbKFWGhDAYft tlvGmYROzEkaZWOaRqRFxkWjKkNdCwdazWoU5yjWXRthQTypQ13Z+ooASIzO5Y1e4JpTxI CFQRk4ZKLUPGJBgRqICvNMfxmAHxwvXAx+9ePWLJ3uqOBgyAaeHcLG1UjM64rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678115313; 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=B0R2oiGZutIxk0fi0URuHsbmHMq5ClBmDrztissHoeg=; b=nSdsRovrs26kr7wKe5w2+fLtbJLXhRjHjdr7y2tVqkPq7LiJOAVvI7HeHbUfWWtIUwBDYA h4/cg+SKBqBfmXWgQQPMEeelxedpeu7b4bceZ9iqbF18HRlFPti8XwE+o/eAo7t0w4dhTv R3GjYxoq/5hCEetlaQxADOnbo7Y8SzXWXA9h7XaaEeGvfvo2Loh4KDquCawz7IieHQQ8Rk WR+YJpm3iF+eUBWEyYI/wWl3xkiYcCOm/0hlHxZRR+yDH8YmO643C789Jc7Z74ZoZb3QmP vXQOZOXjXJTbVLfLAOKmM8uSSAUIt3WDv4OrDo5WPknugGOWZ9kajb0gkFhHdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678115313; a=rsa-sha256; cv=none; b=AeKLVd9RtGMoVmG64HZowgRkSHlInT7VHhGkhbq1QwW7TkRkVFkoa9jmVQthI8bLwQ2Awg HSq/QsRx4ra6g4xT3DreRND7dbgvICp2s12q/SuL17LjQQTyV+Yl+2PCSCYqyh91STjCs9 YlM/RD/RIHFeeUTrHLUXG31YemB5K7DcNg6d2JnrWITMXEVOiE02y3cJ3hXe62HNZmhxne LLHjyj/ZtNjeUWFgQdJmZPbt1RYxaKIlfiHe6b/9alrucs8OQWkKGhQHbl4sPgIxntzDEZ 224dXhzULas3XMIogoLgsMmJ9ZJxm2h/v6CA6RkSk4oKr7uCMSOPL/zpfVgzpw== 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 4PVhmK15wcz15tg; Mon, 6 Mar 2023 15:08:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326F8XYD076716; Mon, 6 Mar 2023 15:08:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326F8XHZ076715; Mon, 6 Mar 2023 15:08:33 GMT (envelope-from git) Date: Mon, 6 Mar 2023 15:08:33 GMT Message-Id: <202303061508.326F8XHZ076715@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 6a6f2b0ce9e6 - main - netstat: fix IPv6 link-locals & custom multipath printing. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6a6f2b0ce9e6f4be276405118e296f2d42eedba7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=6a6f2b0ce9e6f4be276405118e296f2d42eedba7 commit 6a6f2b0ce9e6f4be276405118e296f2d42eedba7 Author: Alexander V. Chernikov AuthorDate: 2023-03-06 15:06:04 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-03-06 15:08:09 +0000 netstat: fix IPv6 link-locals & custom multipath printing. --- usr.bin/netstat/route_netlink.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/usr.bin/netstat/route_netlink.c b/usr.bin/netstat/route_netlink.c index 17b15579b83b..ea50d8076182 100644 --- a/usr.bin/netstat/route_netlink.c +++ b/usr.bin/netstat/route_netlink.c @@ -163,7 +163,7 @@ SNL_DECLARE_ATTR_PARSER(metrics_mp_parser, nla_p_mp_rtmetrics); static const struct snl_attr_parser psnh[] = { { .type = NL_RTA_GATEWAY, .off = _OUT(gw), .cb = snl_attr_get_ip }, { .type = NL_RTA_METRICS, .arg = &metrics_mp_parser, .cb = snl_attr_get_nested }, - { .type = NL_RTA_RTFLAGS, .off = _OUT(gw), .cb = snl_attr_get_uint32 }, + { .type = NL_RTA_RTFLAGS, .off = _OUT(rta_rtflags), .cb = snl_attr_get_uint32 }, { .type = NL_RTA_VIA, .off = _OUT(gw), .cb = snl_attr_get_ipvia }, }; @@ -320,6 +320,16 @@ struct sockaddr_dl_short { char sdl_data[8]; /* unused */ }; +static void +add_scopeid(struct sockaddr *sa, int ifindex) +{ + if (sa->sa_family == AF_INET6) { + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sa; + if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) + sin6->sin6_scope_id = ifindex; + } +} + static void p_path(struct nl_parsed_route *rt, bool is_mpath) { @@ -330,6 +340,8 @@ p_path(struct nl_parsed_route *rt, bool is_mpath) int protrusion; gen_mask(rt->rtm_family, rt->rtm_dst_len, pmask); + add_scopeid(rt->rta_dst, rt->rta_oif); + add_scopeid(rt->rta_gw, rt->rta_oif); protrusion = p_sockaddr("destination", rt->rta_dst, pmask, rt->rta_rtflags, wid.dst); protrusion = p_sockaddr("gateway", rt->rta_gw, NULL, RTF_HOST, wid.gw - protrusion); From nobody Mon Mar 6 15:37:23 2023 X-Original-To: dev-commits-src-main@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 4PVjPg36G0z3x1x2; Mon, 6 Mar 2023 15:37:27 +0000 (UTC) (envelope-from des@des.no) Received: from smtp.des.no (smtp.des.no [95.217.20.81]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4PVjPf15qkz3rSF; Mon, 6 Mar 2023 15:37:25 +0000 (UTC) (envelope-from des@des.no) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of des@des.no designates 95.217.20.81 as permitted sender) smtp.mailfrom=des@des.no; dmarc=none Received: from ltc.des.no (unknown [84.210.219.2]) by smtp.des.no (Postfix) with ESMTPSA id 905194B389; Mon, 6 Mar 2023 15:37:23 +0000 (UTC) Received: by ltc.des.no (Postfix, from userid 1001) id 305401069F3; Mon, 6 Mar 2023 16:37:23 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: "Rodney W. Grimes" Cc: rgrimes@freebsd.org, Cy Schubert , Juraj Lutter , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 1d577bedbae8 - main - unbound: Fix config file path In-Reply-To: <202303031402.323E2FEN066412@gndrsh.dnsmgr.net> (Rodney W. Grimes's message of "Fri, 3 Mar 2023 06:02:15 -0800 (PST)") References: <202303031402.323E2FEN066412@gndrsh.dnsmgr.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (berkeley-unix) Date: Mon, 06 Mar 2023 16:37:23 +0100 Message-ID: <86mt4psxfw.fsf@ltc.des.no> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-3.29 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-0.99)[-0.994]; R_SPF_ALLOW(-0.20)[+mx]; MIME_GOOD(-0.10)[text/plain]; FREEFALL_USER(0.00)[des]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; DMARC_NA(0.00)[des.no]; ARC_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:24940, ipnet:95.217.0.0/16, country:DE]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MID_RHS_MATCH_FROMTLD(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_SEVEN(0.00)[7]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org] X-Rspamd-Queue-Id: 4PVjPf15qkz3rSF X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N "Rodney W. Grimes" writes: > "Dag-Erling Sm=C3=B8rgrav writes: > > No. Unbound knows it's chrooted, knows _where_ it's chrooted, and > > adjusts config paths accordingly, cf. e4c53d3bf00a. > We disagree then, rather strongly, about this issue. It should not > know it is chrooted, and it especially should NOT adjust paths > based on that fact. That is a POLA, and it is also hard coding > POLICY into an executable. Almost certainly any path mangling > done because it is chroot is going to break if I chroot it to > some place very different. With all due respect, you're talking out of your ass. > > Also note that the local-unbound configuration is not meant to be > > user-serviceable. > That, again IMHO, is a rather SIC stance to take for a caching > DNS server, especially one as flexable as unbound. The local-unbound service is not a caching DNS server. If that's what you want there are plenty of options in ports, including Unbound. The local-unbound service is a caching resolver which is supposed to Just Work even in the most difficult ciscumstances (roaming laptops, captive portals, DNS-intercepting CPE, etc.) DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From nobody Mon Mar 6 16:24:13 2023 X-Original-To: dev-commits-src-main@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 4PVkRd70tvz3w5P8; Mon, 6 Mar 2023 16:24:13 +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 4PVkRd69g8z3w6T; Mon, 6 Mar 2023 16:24:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678119853; 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=+0SkHS2sebVWBgu8qf9RQpaOc8ZkIJoNs+7ts8xBY6s=; b=VCo8ckkrJ04E60bVxnKgDApTf67477nuD27sKSnnjvslnrp/xpuvsJRBtTiq+NZDaPvIpm rTIyDaiL+Idumu04OJeTziAzvA+evsdDyG8m1CbJ90nutLcRpt4GQf39aMkFQfgE6Lajpr Symk5hGWa0w7Eq/fEAiGfsZFA+V4XNHpoTN0odHtpqmN6kBlamApii64r7dxwV7ezRMWyI Wp4TguSg388Rtozx7l989oFg2DuGCeZOU1h6aU4MuC/P+dbgqUnXgRHOm9YMMLXdcPDmx7 qITiCQsTmlkMHBgCFrEBxWGWoMVBUxAgXtLNu4s1WaAUCTK88IXQclKBhTxkQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678119853; 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=+0SkHS2sebVWBgu8qf9RQpaOc8ZkIJoNs+7ts8xBY6s=; b=DLZsw9B+59WmX5Kb4SXFo3HvjQNhZ4fW0rW1L4zvaQlIN5Tq3MHhqd9MzkpxvlE+vyVF6k FsGOok4tB95bvzRS2nUpj8KNsAgPr5kScn+g+PY1rJ+PsPwNwgTkOYnnkup98L0fyH1Nxb ULei7H8+ArgCQfFC2rp7eyBejrzVYLZqIQpIrQLE7NZvXqkd0I04+MpikKfouIOTf0H8gN cC+qknRef5AG6mxGm/rM55LzBc/fPoLImRxGnZ65wyscdNPp0WYVMyyIG0NgOREzqCKXUy 7i8mmNj1LdGmT5tr7xiNm+UQbwzivru6e4mKKf9lfbTTnxiu6ftT/8WO8asclA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678119853; a=rsa-sha256; cv=none; b=ZT7M1I6YbIR7Y/mWdeEG/ZSzTxBF1bmtA1+krMWweU4dOGoeZW7cSk3dDFSN9gde3FTyHd 3s5YMwQlSAGemHueGWPDX4zDFUuwQ8bKFTNLZUtPyFyGUUYBsNIlmATmPJ8PSP3OOqSIuC S65TwfnN+3ND0tkLfC7fOpDeq9eJMTN5vCmAOOqmu2rJz0YX2zYbKf1NqsQjGWqJV35MHQ PlVOPIseRMJeImjYKbopyukQxIJeWQgsyfAXtn0wRPSMYfBgcG8xlCCmZxUEOdg/zrZ+/b AmT1weZ0CTa/QwoCse0VpLwgJso6yXr1JJVsNCU/fiT1srzepx6FABFtncLtJw== 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 4PVkRd5GNQz184s; Mon, 6 Mar 2023 16:24:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326GODto006713; Mon, 6 Mar 2023 16:24:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326GODG6006712; Mon, 6 Mar 2023 16:24:13 GMT (envelope-from git) Date: Mon, 6 Mar 2023 16:24:13 GMT Message-Id: <202303061624.326GODG6006712@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 70510800d1ad - main - mlx5: Enter network epoch when using if_foreach() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 70510800d1ada1a92dc22bc74e57e9bb4fbaccc3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=70510800d1ada1a92dc22bc74e57e9bb4fbaccc3 commit 70510800d1ada1a92dc22bc74e57e9bb4fbaccc3 Author: Justin Hibbits AuthorDate: 2023-02-21 19:43:53 +0000 Commit: Justin Hibbits CommitDate: 2023-03-06 16:04:15 +0000 mlx5: Enter network epoch when using if_foreach() Summary: IFNET_RLOCK() is not sufficient, the epoch needs entered. Reviewed by: hselasky Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38711 --- sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c b/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c index 629ecf3e5755..0b0a4b2019a0 100644 --- a/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c +++ b/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c @@ -3150,18 +3150,19 @@ mlx5_enable_roce_if_cb(if_t ifp, void *arg) static int mlx5_enable_roce(struct mlx5_ib_dev *dev) { + struct epoch_tracker et; VNET_ITERATOR_DECL(vnet_iter); int err; /* Check if mlx5en net device already exists */ VNET_LIST_RLOCK(); + NET_EPOCH_ENTER(et); VNET_FOREACH(vnet_iter) { - IFNET_RLOCK(); CURVNET_SET_QUIET(vnet_iter); if_foreach(mlx5_enable_roce_if_cb, dev); CURVNET_RESTORE(); - IFNET_RUNLOCK(); } + NET_EPOCH_EXIT(et); VNET_LIST_RUNLOCK(); dev->roce.nb.notifier_call = mlx5_netdev_event; From nobody Mon Mar 6 16:24:14 2023 X-Original-To: dev-commits-src-main@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 4PVkRg0Kfmz3w5K0; Mon, 6 Mar 2023 16:24: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 4PVkRg03Vbz3wbq; Mon, 6 Mar 2023 16:24:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678119855; 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=uHpKY9opWZ2Ff49I/S3qNM/1HjH0loxECCxsU75PQBY=; b=MpsOeGtbplvwLqeatu+Zfdssaac5mk3tGwM4XzJRBERK9j2gBX5EfbIMbGZ8sUFwoEliVm nDFO5kWhINBGbwyanTzQ/4X3pC7J4Na6xUVTE+S6IGnlWLlt3UXpB+znWXhPQ47RNO4fD4 TNQtwQ+bj8NXvsv4MI3Qa3ECQ/itepeWtuYafLihxSKMCCmn31SUodVsdjqS45HZNAyvCK IWmU34orpTh5+1+teqZk86G9PMyLIH8sug1UpA37CXN6PoOpZUowSMmU2XnnDMI6Fxhp32 qiy5SjmV64msfBZKwAwR5Yq4Be7e7WiNlKbpk6hiyJO+c/MK9twX6C+kxnBetQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678119855; 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=uHpKY9opWZ2Ff49I/S3qNM/1HjH0loxECCxsU75PQBY=; b=GFRRW3saFZk3LE/HGJ9n17iDAPzdiYvWrRQl896yR7PTXx3jX3AoVEwp0n6+RnMnCufDJ6 0AyTneSL+WZZniLTKXxrun40KiE84YyLWxEr1OvBB94TWI6QmwGpEId5tKhPV6XipgKb97 YdeN5LXsg9iFHH+ESjXg8eeOM1FJ25FJE3D8QXMB73huNqF3aKqdGTiGlalSnuuZFl3wqD NTJlP8ggOTDd998hR+LyTjeiUqeqZiZk3lUV4l51NEbETSkPQuJLNcjV4F2OHhyP3kytxS 154IRf0kybVzr9ApMsVt41YIIFWCJYoCb1TnqR9Sol6iyNEYp4+jFaztwVWk2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678119855; a=rsa-sha256; cv=none; b=slepl1Lvpdv2l3XDLQwnegaV87/9ctvOnH76e3F2ngFJzJ9yEWykEhc7i7AUgV+01RwPcN n8UuKDWCYrOhiLg5TsEt28GrfatjjUPrTALVcsH56i3l79AHIlM12VGeGJLEaBTy18nTE0 NrAlNJyLoDH1L5cFEAabxiaV+X5nQGsvL3c/KAOASLerLI/9kwpgGFFTyh8vexP8/cfLys vo5N69JOGDv6imqBX99KWWMDu6To6s9qh23mkUfFbRt9Cw9FXasT3AELFJ+pZ9Xt+mk5h1 VEhE5+07HEaaKQZH14Pz+dIcO4QXWp51v7ab+1JPCQD2lSxcBpb9fhqtN41Bcg== 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 4PVkRf6CSyz189Q; Mon, 6 Mar 2023 16:24:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326GOESO006732; Mon, 6 Mar 2023 16:24:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326GOEYA006731; Mon, 6 Mar 2023 16:24:14 GMT (envelope-from git) Date: Mon, 6 Mar 2023 16:24:14 GMT Message-Id: <202303061624.326GOEYA006731@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 935b194ded5d - main - Mechanically convert usb ethernet drivers to DrvAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 935b194ded5dc555fc14e3d2f4c72e58cff39566 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=935b194ded5dc555fc14e3d2f4c72e58cff39566 commit 935b194ded5dc555fc14e3d2f4c72e58cff39566 Author: Justin Hibbits AuthorDate: 2023-02-07 16:10:10 +0000 Commit: Justin Hibbits CommitDate: 2023-03-06 16:04:15 +0000 Mechanically convert usb ethernet drivers to DrvAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37812 --- sys/dev/usb/net/if_aue.c | 40 +++++++-------- sys/dev/usb/net/if_axe.c | 119 +++++++++++++++++++++---------------------- sys/dev/usb/net/if_axge.c | 111 ++++++++++++++++++++-------------------- sys/dev/usb/net/if_cdce.c | 57 ++++++++++----------- sys/dev/usb/net/if_cdceem.c | 16 +++--- sys/dev/usb/net/if_cue.c | 30 +++++------ sys/dev/usb/net/if_ipheth.c | 8 +-- sys/dev/usb/net/if_kue.c | 24 ++++----- sys/dev/usb/net/if_mos.c | 38 +++++++------- sys/dev/usb/net/if_muge.c | 115 +++++++++++++++++++++-------------------- sys/dev/usb/net/if_rue.c | 40 +++++++-------- sys/dev/usb/net/if_smsc.c | 105 +++++++++++++++++++------------------- sys/dev/usb/net/if_udav.c | 38 +++++++------- sys/dev/usb/net/if_ure.c | 113 ++++++++++++++++++++-------------------- sys/dev/usb/net/if_urndis.c | 14 ++--- sys/dev/usb/net/if_usie.c | 79 ++++++++++++++-------------- sys/dev/usb/net/if_usievar.h | 2 +- sys/dev/usb/net/uhso.c | 77 ++++++++++++++-------------- sys/dev/usb/usb_pf.c | 35 +++++++------ sys/dev/usb/wlan/if_rsu.c | 14 ++--- sys/dev/usb/wlan/if_run.c | 10 ++-- sys/dev/usb/wlan/if_upgt.c | 2 +- 22 files changed, 539 insertions(+), 548 deletions(-) diff --git a/sys/dev/usb/net/if_aue.c b/sys/dev/usb/net/if_aue.c index 3e4251cf1562..4b31d0302f91 100644 --- a/sys/dev/usb/net/if_aue.c +++ b/sys/dev/usb/net/if_aue.c @@ -225,8 +225,8 @@ static uint16_t aue_eeprom_getword(struct aue_softc *, int); static void aue_reset(struct aue_softc *); static void aue_reset_pegasus_II(struct aue_softc *); -static int aue_ifmedia_upd(struct ifnet *); -static void aue_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static int aue_ifmedia_upd(if_t); +static void aue_ifmedia_sts(if_t, struct ifmediareq *); static const struct usb_config aue_config[AUE_N_TRANSFER] = { [AUE_BULK_DT_WR] = { @@ -554,13 +554,13 @@ static void aue_setmulti(struct usb_ether *ue) { struct aue_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); uint32_t i; uint8_t hashtbl[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; AUE_LOCK_ASSERT(sc, MA_OWNED); - if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_ALLMULTI || if_getflags(ifp) & IFF_PROMISC) { AUE_SETBIT(sc, AUE_CTL0, AUE_CTL0_ALLMULTI); return; } @@ -740,7 +740,7 @@ static void aue_intr_callback(struct usb_xfer *xfer, usb_error_t error) { struct aue_softc *sc = usbd_xfer_softc(xfer); - struct ifnet *ifp = uether_getifp(&sc->sc_ue); + if_t ifp = uether_getifp(&sc->sc_ue); struct aue_intrpkt pkt; struct usb_page_cache *pc; int actlen; @@ -750,7 +750,7 @@ aue_intr_callback(struct usb_xfer *xfer, usb_error_t error) switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) && + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) && actlen >= (int)sizeof(pkt)) { pc = usbd_xfer_get_frame(xfer, 0); usbd_copy_out(pc, 0, &pkt, sizeof(pkt)); @@ -783,7 +783,7 @@ aue_bulk_read_callback(struct usb_xfer *xfer, usb_error_t error) { struct aue_softc *sc = usbd_xfer_softc(xfer); struct usb_ether *ue = &sc->sc_ue; - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); struct aue_rxpkt stat; struct usb_page_cache *pc; int actlen; @@ -847,7 +847,7 @@ static void aue_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) { struct aue_softc *sc = usbd_xfer_softc(xfer); - struct ifnet *ifp = uether_getifp(&sc->sc_ue); + if_t ifp = uether_getifp(&sc->sc_ue); struct usb_page_cache *pc; struct mbuf *m; uint8_t buf[2]; @@ -870,7 +870,7 @@ tr_setup: */ return; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); if (m == NULL) return; @@ -959,7 +959,7 @@ static void aue_init(struct usb_ether *ue) { struct aue_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); int i; AUE_LOCK_ASSERT(sc, MA_OWNED); @@ -971,7 +971,7 @@ aue_init(struct usb_ether *ue) /* Set MAC address */ for (i = 0; i != ETHER_ADDR_LEN; i++) - aue_csr_write_1(sc, AUE_PAR0 + i, IF_LLADDR(ifp)[i]); + aue_csr_write_1(sc, AUE_PAR0 + i, if_getlladdr(ifp)[i]); /* update promiscuous setting */ aue_setpromisc(ue); @@ -986,7 +986,7 @@ aue_init(struct usb_ether *ue) usbd_xfer_set_stall(sc->sc_xfer[AUE_BULK_DT_WR]); - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); aue_start(ue); } @@ -994,12 +994,12 @@ static void aue_setpromisc(struct usb_ether *ue) { struct aue_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); AUE_LOCK_ASSERT(sc, MA_OWNED); /* if we want promiscuous mode, set the allframes bit: */ - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) AUE_SETBIT(sc, AUE_CTL2, AUE_CTL2_RX_PROMISC); else AUE_CLRBIT(sc, AUE_CTL2, AUE_CTL2_RX_PROMISC); @@ -1009,9 +1009,9 @@ aue_setpromisc(struct usb_ether *ue) * Set media options. */ static int -aue_ifmedia_upd(struct ifnet *ifp) +aue_ifmedia_upd(if_t ifp) { - struct aue_softc *sc = ifp->if_softc; + struct aue_softc *sc = if_getsoftc(ifp); struct mii_data *mii = GET_MII(sc); struct mii_softc *miisc; int error; @@ -1029,9 +1029,9 @@ aue_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -aue_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +aue_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { - struct aue_softc *sc = ifp->if_softc; + struct aue_softc *sc = if_getsoftc(ifp); struct mii_data *mii = GET_MII(sc); AUE_LOCK(sc); @@ -1049,11 +1049,11 @@ static void aue_stop(struct usb_ether *ue) { struct aue_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); AUE_LOCK_ASSERT(sc, MA_OWNED); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); sc->sc_flags &= ~AUE_FLAG_LINK; /* diff --git a/sys/dev/usb/net/if_axe.c b/sys/dev/usb/net/if_axe.c index 257761f4c48b..f0c8ce58d297 100644 --- a/sys/dev/usb/net/if_axe.c +++ b/sys/dev/usb/net/if_axe.c @@ -205,8 +205,8 @@ static uether_fn_t axe_setmulti; static uether_fn_t axe_setpromisc; static int axe_attach_post_sub(struct usb_ether *); -static int axe_ifmedia_upd(struct ifnet *); -static void axe_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static int axe_ifmedia_upd(if_t); +static void axe_ifmedia_sts(if_t, struct ifmediareq *); static int axe_cmd(struct axe_softc *, int, int, int, void *); static void axe_ax88178_init(struct axe_softc *); static void axe_ax88772_init(struct axe_softc *); @@ -214,7 +214,7 @@ static void axe_ax88772_phywake(struct axe_softc *); static void axe_ax88772a_init(struct axe_softc *); static void axe_ax88772b_init(struct axe_softc *); static int axe_get_phyno(struct axe_softc *, int); -static int axe_ioctl(struct ifnet *, u_long, caddr_t); +static int axe_ioctl(if_t, u_long, caddr_t); static int axe_rx_frame(struct usb_ether *, struct usb_page_cache *, int); static int axe_rxeof(struct usb_ether *, struct usb_page_cache *, unsigned offset, unsigned, struct axe_csum_hdr *); @@ -373,7 +373,7 @@ axe_miibus_statchg(device_t dev) { struct axe_softc *sc = device_get_softc(dev); struct mii_data *mii = GET_MII(sc); - struct ifnet *ifp; + if_t ifp; uint16_t val; int err, locked; @@ -383,7 +383,7 @@ axe_miibus_statchg(device_t dev) ifp = uether_getifp(&sc->sc_ue); if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) goto done; sc->sc_flags &= ~AXE_FLAG_LINK; @@ -448,9 +448,9 @@ done: * Set media options. */ static int -axe_ifmedia_upd(struct ifnet *ifp) +axe_ifmedia_upd(if_t ifp) { - struct axe_softc *sc = ifp->if_softc; + struct axe_softc *sc = if_getsoftc(ifp); struct mii_data *mii = GET_MII(sc); struct mii_softc *miisc; int error; @@ -467,9 +467,9 @@ axe_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -axe_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +axe_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { - struct axe_softc *sc = ifp->if_softc; + struct axe_softc *sc = if_getsoftc(ifp); struct mii_data *mii = GET_MII(sc); AXE_LOCK(sc); @@ -495,7 +495,7 @@ static void axe_setmulti(struct usb_ether *ue) { struct axe_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); uint16_t rxmode; uint8_t hashtbl[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -504,7 +504,7 @@ axe_setmulti(struct usb_ether *ue) axe_cmd(sc, AXE_CMD_RXCTL_READ, 0, 0, &rxmode); rxmode = le16toh(rxmode); - if (ifp->if_flags & (IFF_ALLMULTI | IFF_PROMISC)) { + if (if_getflags(ifp) & (IFF_ALLMULTI | IFF_PROMISC)) { rxmode |= AXE_RXCMD_ALLMULTI; axe_cmd(sc, AXE_CMD_RXCTL_WRITE, 0, rxmode, NULL); return; @@ -865,25 +865,24 @@ static int axe_attach_post_sub(struct usb_ether *ue) { struct axe_softc *sc; - struct ifnet *ifp; + if_t ifp; u_int adv_pause; int error; sc = uether_getsc(ue); ifp = ue->ue_ifp; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_start = uether_start; - ifp->if_ioctl = axe_ioctl; - ifp->if_init = uether_init; - IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); - ifp->if_snd.ifq_drv_maxlen = ifqmaxlen; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setstartfn(ifp, uether_start); + if_setioctlfn(ifp, axe_ioctl); + if_setinitfn(ifp, uether_init); + if_setsendqlen(ifp, ifqmaxlen); + if_setsendqready(ifp); if (AXE_IS_178_FAMILY(sc)) - ifp->if_capabilities |= IFCAP_VLAN_MTU; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); if (sc->sc_flags & AXE_FLAG_772B) { - ifp->if_capabilities |= IFCAP_TXCSUM | IFCAP_RXCSUM; - ifp->if_hwassist = AXE_CSUM_FEATURES; + if_setcapabilitiesbit(ifp, IFCAP_TXCSUM | IFCAP_RXCSUM, 0); + if_sethwassist(ifp, AXE_CSUM_FEATURES); /* * Checksum offloading of AX88772B also works with VLAN * tagged frames but there is no way to take advantage @@ -894,7 +893,7 @@ axe_attach_post_sub(struct usb_ether *ue) * not possible to announce IFCAP_VLAN_HWTAGGING. */ } - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); if (sc->sc_flags & (AXE_FLAG_772A | AXE_FLAG_772B | AXE_FLAG_178)) adv_pause = MIIF_DOPAUSE; else @@ -1106,7 +1105,7 @@ static int axe_rxeof(struct usb_ether *ue, struct usb_page_cache *pc, unsigned offset, unsigned len, struct axe_csum_hdr *csum_hdr) { - struct ifnet *ifp = ue->ue_ifp; + if_t ifp = ue->ue_ifp; struct mbuf *m; if (len < ETHER_HDR_LEN || len > MCLBYTES - ETHER_ALIGN) { @@ -1157,7 +1156,7 @@ axe_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) { struct axe_softc *sc = usbd_xfer_softc(xfer); struct axe_sframe_hdr hdr; - struct ifnet *ifp = uether_getifp(&sc->sc_ue); + if_t ifp = uether_getifp(&sc->sc_ue); struct usb_page_cache *pc; struct mbuf *m; int nframes, pos; @@ -1165,12 +1164,12 @@ axe_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: DPRINTFN(11, "transfer complete\n"); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); /* FALLTHROUGH */ case USB_ST_SETUP: tr_setup: if ((sc->sc_flags & AXE_FLAG_LINK) == 0 || - (ifp->if_drv_flags & IFF_DRV_OACTIVE) != 0) { + (if_getdrvflags(ifp) & IFF_DRV_OACTIVE) != 0) { /* * Don't send anything if there is no link or * controller is busy. @@ -1179,8 +1178,8 @@ tr_setup: } for (nframes = 0; nframes < 16 && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd); nframes++) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + !if_sendq_empty(ifp); nframes++) { + m = if_dequeue(ifp); if (m == NULL) break; usbd_xfer_set_frame_offset(xfer, nframes * MCLBYTES, @@ -1196,7 +1195,7 @@ tr_setup: * computed checksum for checksum offloading * enabled controller. */ - if (ifp->if_capabilities & IFCAP_TXCSUM) { + if (if_getcapabilities(ifp) & IFCAP_TXCSUM) { if ((m->m_pkthdr.csum_flags & AXE_CSUM_FEATURES) != 0) hdr.len |= htole16( @@ -1246,7 +1245,7 @@ tr_setup: if (nframes != 0) { usbd_xfer_set_frames(xfer, nframes); usbd_transfer_submit(xfer); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); } return; /* NOTREACHED */ @@ -1255,7 +1254,7 @@ tr_setup: usbd_errstr(error)); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (error != USB_ERR_CANCELLED) { /* try to clear stall first */ @@ -1298,7 +1297,7 @@ static void axe_csum_cfg(struct usb_ether *ue) { struct axe_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t csum1, csum2; sc = uether_getsc(ue); @@ -1308,13 +1307,13 @@ axe_csum_cfg(struct usb_ether *ue) ifp = uether_getifp(ue); csum1 = 0; csum2 = 0; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) csum1 |= AXE_TXCSUM_IP | AXE_TXCSUM_TCP | AXE_TXCSUM_UDP; axe_cmd(sc, AXE_772B_CMD_WRITE_TXCSUM, csum2, csum1, NULL); csum1 = 0; csum2 = 0; - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) csum1 |= AXE_RXCSUM_IP | AXE_RXCSUM_IPVE | AXE_RXCSUM_TCP | AXE_RXCSUM_UDP | AXE_RXCSUM_ICMP | AXE_RXCSUM_IGMP; @@ -1326,12 +1325,12 @@ static void axe_init(struct usb_ether *ue) { struct axe_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); uint16_t rxmode; AXE_LOCK_ASSERT(sc, MA_OWNED); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* Cancel pending I/O */ @@ -1341,11 +1340,11 @@ axe_init(struct usb_ether *ue) /* Set MAC address and transmitter IPG values. */ if (AXE_IS_178_FAMILY(sc)) { - axe_cmd(sc, AXE_178_CMD_WRITE_NODEID, 0, 0, IF_LLADDR(ifp)); + axe_cmd(sc, AXE_178_CMD_WRITE_NODEID, 0, 0, if_getlladdr(ifp)); axe_cmd(sc, AXE_178_CMD_WRITE_IPG012, sc->sc_ipgs[2], (sc->sc_ipgs[1] << 8) | (sc->sc_ipgs[0]), NULL); } else { - axe_cmd(sc, AXE_172_CMD_WRITE_NODEID, 0, 0, IF_LLADDR(ifp)); + axe_cmd(sc, AXE_172_CMD_WRITE_NODEID, 0, 0, if_getlladdr(ifp)); axe_cmd(sc, AXE_172_CMD_WRITE_IPG0, 0, sc->sc_ipgs[0], NULL); axe_cmd(sc, AXE_172_CMD_WRITE_IPG1, 0, sc->sc_ipgs[1], NULL); axe_cmd(sc, AXE_172_CMD_WRITE_IPG2, 0, sc->sc_ipgs[2], NULL); @@ -1354,7 +1353,7 @@ axe_init(struct usb_ether *ue) if (AXE_IS_178_FAMILY(sc)) { sc->sc_flags &= ~(AXE_FLAG_STD_FRAME | AXE_FLAG_CSUM_FRAME); if ((sc->sc_flags & AXE_FLAG_772B) != 0 && - (ifp->if_capenable & IFCAP_RXCSUM) != 0) { + (if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) { sc->sc_lenmask = AXE_CSUM_HDR_LEN_MASK; sc->sc_flags |= AXE_FLAG_CSUM_FRAME; } else { @@ -1388,7 +1387,7 @@ axe_init(struct usb_ether *ue) * header size. */ rxmode |= AXE_772B_RXCMD_HDR_TYPE_1; - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) rxmode |= AXE_772B_RXCMD_IPHDR_ALIGN; } else { /* @@ -1402,10 +1401,10 @@ axe_init(struct usb_ether *ue) } /* If we want promiscuous mode, set the allframes bit. */ - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) rxmode |= AXE_RXCMD_PROMISC; - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) rxmode |= AXE_RXCMD_BROADCAST; axe_cmd(sc, AXE_CMD_RXCTL_WRITE, 0, rxmode, NULL); @@ -1415,7 +1414,7 @@ axe_init(struct usb_ether *ue) usbd_xfer_set_stall(sc->sc_xfer[AXE_BULK_DT_WR]); - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); /* Switch to selected media. */ axe_ifmedia_upd(ifp); } @@ -1424,14 +1423,14 @@ static void axe_setpromisc(struct usb_ether *ue) { struct axe_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); uint16_t rxmode; axe_cmd(sc, AXE_CMD_RXCTL_READ, 0, 0, &rxmode); rxmode = le16toh(rxmode); - if (ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_PROMISC) { rxmode |= AXE_RXCMD_PROMISC; } else { rxmode &= ~AXE_RXCMD_PROMISC; @@ -1446,11 +1445,11 @@ static void axe_stop(struct usb_ether *ue) { struct axe_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); AXE_LOCK_ASSERT(sc, MA_OWNED); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->sc_flags &= ~AXE_FLAG_LINK; /* @@ -1461,9 +1460,9 @@ axe_stop(struct usb_ether *ue) } static int -axe_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +axe_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct usb_ether *ue = ifp->if_softc; + struct usb_ether *ue = if_getsoftc(ifp); struct axe_softc *sc; struct ifreq *ifr; int error, mask, reinit; @@ -1474,23 +1473,23 @@ axe_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) reinit = 0; if (cmd == SIOCSIFCAP) { AXE_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if ((mask & IFCAP_TXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_TXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist |= AXE_CSUM_FEATURES; + (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassistbits(ifp, AXE_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~AXE_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, AXE_CSUM_FEATURES); reinit++; } if ((mask & IFCAP_RXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_RXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_RXCSUM; + (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_RXCSUM); reinit++; } - if (reinit > 0 && ifp->if_drv_flags & IFF_DRV_RUNNING) - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if (reinit > 0 && if_getdrvflags(ifp) & IFF_DRV_RUNNING) + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); else reinit = 0; AXE_UNLOCK(sc); diff --git a/sys/dev/usb/net/if_axge.c b/sys/dev/usb/net/if_axge.c index b49feb1d09fc..cd01f949992b 100644 --- a/sys/dev/usb/net/if_axge.c +++ b/sys/dev/usb/net/if_axge.c @@ -130,9 +130,9 @@ static void axge_chip_init(struct axge_softc *); static void axge_reset(struct axge_softc *); static int axge_attach_post_sub(struct usb_ether *); -static int axge_ifmedia_upd(struct ifnet *); -static void axge_ifmedia_sts(struct ifnet *, struct ifmediareq *); -static int axge_ioctl(struct ifnet *, u_long, caddr_t); +static int axge_ifmedia_upd(if_t); +static void axge_ifmedia_sts(if_t, struct ifmediareq *); +static int axge_ioctl(if_t, u_long, caddr_t); static void axge_rx_frame(struct usb_ether *, struct usb_page_cache *, int); static void axge_rxeof(struct usb_ether *, struct usb_page_cache *, unsigned, unsigned, uint32_t); @@ -328,7 +328,7 @@ axge_miibus_statchg(device_t dev) { struct axge_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint8_t link_status, tmp[5]; uint16_t val; int locked; @@ -341,7 +341,7 @@ axge_miibus_statchg(device_t dev) ifp = uether_getifp(&sc->sc_ue); if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) goto done; sc->sc_flags &= ~AXGE_FLAG_LINK; @@ -450,21 +450,20 @@ axge_attach_post(struct usb_ether *ue) static int axge_attach_post_sub(struct usb_ether *ue) { - struct ifnet *ifp; + if_t ifp; int error; ifp = ue->ue_ifp; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_start = uether_start; - ifp->if_ioctl = axge_ioctl; - ifp->if_init = uether_init; - IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); - ifp->if_snd.ifq_drv_maxlen = ifqmaxlen; - IFQ_SET_READY(&ifp->if_snd); - - ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_TXCSUM | IFCAP_RXCSUM; - ifp->if_hwassist = AXGE_CSUM_FEATURES; - ifp->if_capenable = ifp->if_capabilities; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setstartfn(ifp, uether_start); + if_setioctlfn(ifp, axge_ioctl); + if_setinitfn(ifp, uether_init); + if_setsendqlen(ifp, ifqmaxlen); + if_setsendqready(ifp); + + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU | IFCAP_TXCSUM | IFCAP_RXCSUM, 0); + if_sethwassist(ifp, AXGE_CSUM_FEATURES); + if_setcapenable(ifp, if_getcapabilities(ifp)); bus_topo_lock(); error = mii_attach(ue->ue_dev, &ue->ue_miibus, ifp, @@ -479,14 +478,14 @@ axge_attach_post_sub(struct usb_ether *ue) * Set media options. */ static int -axge_ifmedia_upd(struct ifnet *ifp) +axge_ifmedia_upd(if_t ifp) { struct axge_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = GET_MII(sc); AXGE_LOCK_ASSERT(sc, MA_OWNED); @@ -501,12 +500,12 @@ axge_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -axge_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +axge_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct axge_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = GET_MII(sc); AXGE_LOCK(sc); mii_pollstat(mii); @@ -655,7 +654,7 @@ static void axge_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) { struct axge_softc *sc; - struct ifnet *ifp; + if_t ifp; struct usb_page_cache *pc; struct mbuf *m; struct axge_frame_txhdr txhdr; @@ -666,12 +665,12 @@ axge_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); /* FALLTHROUGH */ case USB_ST_SETUP: tr_setup: if ((sc->sc_flags & AXGE_FLAG_LINK) == 0 || - (ifp->if_drv_flags & IFF_DRV_OACTIVE) != 0) { + (if_getdrvflags(ifp) & IFF_DRV_OACTIVE) != 0) { /* * Don't send anything if there is no link or * controller is busy. @@ -680,8 +679,8 @@ tr_setup: } for (nframes = 0; nframes < AXGE_N_FRAMES && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd); nframes++) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + !if_sendq_empty(ifp); nframes++) { + m = if_dequeue(ifp); if (m == NULL) break; usbd_xfer_set_frame_offset(xfer, nframes * MCLBYTES, @@ -689,7 +688,7 @@ tr_setup: pc = usbd_xfer_get_frame(xfer, nframes); txhdr.mss = 0; txhdr.len = htole32(AXGE_TXBYTES(m->m_pkthdr.len)); - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0 && + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0 && (m->m_pkthdr.csum_flags & AXGE_CSUM_FEATURES) == 0) txhdr.len |= htole32(AXGE_CSUM_DISABLE); @@ -723,13 +722,13 @@ tr_setup: if_inc_counter(ifp, IFCOUNTER_OPACKETS, nframes); usbd_xfer_set_frames(xfer, nframes); usbd_transfer_submit(xfer); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); } return; /* NOTREACHED */ default: if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (error != USB_ERR_CANCELLED) { usbd_xfer_set_stall(xfer); @@ -768,7 +767,7 @@ static void axge_rxfilter(struct usb_ether *ue) { struct axge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t rxmode; uint8_t hashtbl[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -785,10 +784,10 @@ axge_rxfilter(struct usb_ether *ue) * to worry about alignment. */ rxmode = RCR_DROP_CRCERR | RCR_START; - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) rxmode |= RCR_ACPT_BCAST; - if (ifp->if_flags & (IFF_ALLMULTI | IFF_PROMISC)) { - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & (IFF_ALLMULTI | IFF_PROMISC)) { + if (if_getflags(ifp) & IFF_PROMISC) rxmode |= RCR_PROMISC; rxmode |= RCR_ACPT_ALL_MCAST; axge_write_cmd_2(sc, AXGE_ACCESS_MAC, 2, AXGE_RCR, rxmode); @@ -819,13 +818,13 @@ static void axge_init(struct usb_ether *ue) { struct axge_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = uether_getsc(ue); ifp = uether_getifp(ue); AXGE_LOCK_ASSERT(sc, MA_OWNED); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* @@ -837,7 +836,7 @@ axge_init(struct usb_ether *ue) /* Set MAC address. */ axge_write_mem(sc, AXGE_ACCESS_MAC, ETHER_ADDR_LEN, AXGE_NIDR, - IF_LLADDR(ifp), ETHER_ADDR_LEN); + if_getlladdr(ifp), ETHER_ADDR_LEN); axge_write_cmd_1(sc, AXGE_ACCESS_MAC, AXGE_PWLLR, 0x34); axge_write_cmd_1(sc, AXGE_ACCESS_MAC, AXGE_PWLHR, 0x52); @@ -864,7 +863,7 @@ axge_init(struct usb_ether *ue) usbd_xfer_set_stall(sc->sc_xfer[AXGE_BULK_DT_WR]); - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); /* Switch to selected media. */ axge_ifmedia_upd(ifp); } @@ -873,7 +872,7 @@ static void axge_stop(struct usb_ether *ue) { struct axge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t val; sc = uether_getsc(ue); @@ -886,7 +885,7 @@ axge_stop(struct usb_ether *ue) axge_write_cmd_2(sc, AXGE_ACCESS_MAC, 2, AXGE_MSR, val); if (ifp != NULL) - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->sc_flags &= ~AXGE_FLAG_LINK; /* @@ -897,37 +896,37 @@ axge_stop(struct usb_ether *ue) } static int -axge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +axge_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct usb_ether *ue; struct axge_softc *sc; struct ifreq *ifr; int error, mask, reinit; - ue = ifp->if_softc; + ue = if_getsoftc(ifp); sc = uether_getsc(ue); ifr = (struct ifreq *)data; error = 0; reinit = 0; if (cmd == SIOCSIFCAP) { AXGE_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if ((mask & IFCAP_TXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_TXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist |= AXGE_CSUM_FEATURES; + (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassistbits(ifp, AXGE_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~AXGE_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, AXGE_CSUM_FEATURES); reinit++; } if ((mask & IFCAP_RXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_RXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_RXCSUM; + (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_RXCSUM); reinit++; } - if (reinit > 0 && ifp->if_drv_flags & IFF_DRV_RUNNING) - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if (reinit > 0 && if_getdrvflags(ifp) & IFF_DRV_RUNNING) + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); else reinit = 0; AXGE_UNLOCK(sc); @@ -1000,7 +999,7 @@ static void axge_rxeof(struct usb_ether *ue, struct usb_page_cache *pc, unsigned offset, unsigned len, uint32_t status) { - struct ifnet *ifp; + if_t ifp; struct mbuf *m; ifp = ue->ue_ifp; @@ -1023,7 +1022,7 @@ axge_rxeof(struct usb_ether *ue, struct usb_page_cache *pc, unsigned offset, usbd_copy_out(pc, offset, mtod(m, uint8_t *), len); - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) { + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) { if ((status & AXGE_RX_L3_CSUM_ERR) == 0 && (status & AXGE_RX_L3_TYPE_MASK) == AXGE_RX_L3_TYPE_IPV4) m->m_pkthdr.csum_flags |= CSUM_IP_CHECKED | @@ -1045,7 +1044,7 @@ static void axge_csum_cfg(struct usb_ether *ue) { struct axge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint8_t csum; sc = uether_getsc(ue); @@ -1053,12 +1052,12 @@ axge_csum_cfg(struct usb_ether *ue) ifp = uether_getifp(ue); csum = 0; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) csum |= CTCR_IP | CTCR_TCP | CTCR_UDP; axge_write_cmd_1(sc, AXGE_ACCESS_MAC, AXGE_CTCR, csum); csum = 0; - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) csum |= CRCR_IP | CRCR_TCP | CRCR_UDP; axge_write_cmd_1(sc, AXGE_ACCESS_MAC, AXGE_CRCR, csum); } diff --git a/sys/dev/usb/net/if_cdce.c b/sys/dev/usb/net/if_cdce.c index 3cad74a11022..2950fec8c618 100644 --- a/sys/dev/usb/net/if_cdce.c +++ b/sys/dev/usb/net/if_cdce.c @@ -112,9 +112,9 @@ static uether_fn_t cdce_start; static uether_fn_t cdce_setmulti; static uether_fn_t cdce_setpromisc; static int cdce_attach_post_sub(struct usb_ether *); -static int cdce_ioctl(struct ifnet *, u_long, caddr_t); -static int cdce_media_change_cb(struct ifnet *); -static void cdce_media_status_cb(struct ifnet *, struct ifmediareq *); +static int cdce_ioctl(if_t, u_long, caddr_t); +static int cdce_media_change_cb(if_t); +static void cdce_media_status_cb(if_t, struct ifmediareq *); static uint32_t cdce_m_crc32(struct mbuf *, uint32_t, uint32_t); static void cdce_set_filter(struct usb_ether *); @@ -574,16 +574,15 @@ static int cdce_attach_post_sub(struct usb_ether *ue) { struct cdce_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); /* mostly copied from usb_ethernet.c */ - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_start = uether_start; - ifp->if_ioctl = cdce_ioctl; - ifp->if_init = uether_init; - IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); - ifp->if_snd.ifq_drv_maxlen = ifqmaxlen; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setstartfn(ifp, uether_start); + if_setioctlfn(ifp, cdce_ioctl); + if_setinitfn(ifp, uether_init); + if_setsendqlen(ifp, ifqmaxlen); + if_setsendqready(ifp); if ((sc->sc_flags & CDCE_FLAG_VLAN) == CDCE_FLAG_VLAN) if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); @@ -811,9 +810,9 @@ cdce_start(struct usb_ether *ue) } static int -cdce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +cdce_ioctl(if_t ifp, u_long command, caddr_t data) { - struct usb_ether *ue = ifp->if_softc; + struct usb_ether *ue = if_getsoftc(ifp); struct cdce_softc *sc = uether_getsc(ue); struct ifreq *ifr = (struct ifreq *)data; int error; @@ -846,14 +845,14 @@ cdce_free_queue(struct mbuf **ppm, uint8_t n) } static int -cdce_media_change_cb(struct ifnet *ifp) +cdce_media_change_cb(if_t ifp) { return (EOPNOTSUPP); } static void -cdce_media_status_cb(struct ifnet *ifp, struct ifmediareq *ifmr) +cdce_media_status_cb(if_t ifp, struct ifmediareq *ifmr) { if ((if_getflags(ifp) & IFF_UP) == 0) @@ -862,14 +861,14 @@ cdce_media_status_cb(struct ifnet *ifp, struct ifmediareq *ifmr) ifmr->ifm_active = IFM_ETHER; ifmr->ifm_status = IFM_AVALID; ifmr->ifm_status |= - ifp->if_link_state == LINK_STATE_UP ? IFM_ACTIVE : 0; + if_getlinkstate(ifp) == LINK_STATE_UP ? IFM_ACTIVE : 0; } static void cdce_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) { struct cdce_softc *sc = usbd_xfer_softc(xfer); - struct ifnet *ifp = uether_getifp(&sc->sc_ue); + if_t ifp = uether_getifp(&sc->sc_ue); struct mbuf *m; struct mbuf *mt; uint32_t crc; @@ -894,7 +893,7 @@ cdce_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) case USB_ST_SETUP: tr_setup: for (x = 0; x != CDCE_FRAMES_MAX; x++) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); *** 2573 LINES SKIPPED *** From nobody Mon Mar 6 16:35:05 2023 X-Original-To: dev-commits-src-main@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 4PVkhH1CxJz3w67M; Mon, 6 Mar 2023 16:35:11 +0000 (UTC) (envelope-from rpokala@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PVkhH0WXvz3xWF; Mon, 6 Mar 2023 16:35:11 +0000 (UTC) (envelope-from rpokala@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678120511; 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: in-reply-to:in-reply-to:references:references; bh=xI7JzLh5T76CthAOSUB6s1l5E6zqND0QeeV4wm8pnfg=; b=PL5WEnzv9MpsWSnHPPNNTjbnanvxHF0tFZiFzZbojhXpnayAES9sq1oCw9qKz11szng2Zo Lpyb5c9LV5ZHcRQIPt/Xfhqw6Tzld0QCfgSeb1R13x4ntLxoeSOEbZrqwHYoRQH2H+GYIw FxJmPi3rVxOKD83Y05AvBjDLyCRSlA2XZT1vQi5dIZydkTbQNY8GY4ly72VH8SGXhea0Ds DObjT6v7oqKhON+LvrqWbZcPXXLiNb4908SpTp5N94cv5m1HuWLOEaJ5ULvZPoFIsukjw9 DiNsTRiX5zZsvdbjBJ5NeJ4KRa5LyBYkHxvcI8noMOWsIxzN4j7hAGhNsolyUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678120511; 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: in-reply-to:in-reply-to:references:references; bh=xI7JzLh5T76CthAOSUB6s1l5E6zqND0QeeV4wm8pnfg=; b=OXSAs5e46iXdg47VxTJBGzzafwgobAq5SOWVfDF5u7t7CvL8Mc9T4rRZpybVQC4k7S2CUe AlXkXGGR8YtHuoIzFhHwWCAym+D7HYt89JFvEuKW9GBnGb02nMsG/ZwPjWUHSM94a+rLPZ uLSO53SLo1wqGKq+NR0HkN+MxOTQamtUEEXsHMieHrL41kRqu0OOtyhXYFnKLYicPXWXGU VhaTWoxsoL0H4NvcYOJmbhIl3IrHyEwwKX+E9tEzIZwsEwhAIonSR/bOhwyV03VpOG48Yx xJZgp1KfLPV+N0KiQpBnKtu+fa2CqAuT84BrhabY23RWZpZKmj+48Hf0mSeb3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678120511; a=rsa-sha256; cv=none; b=CNkNh2PQAh3MpzaaT2V6psmJjD/NrPfwMEFI8lQcIsSpwlaa7nXSrzLWkr1zuLsoK+Py7p IsUmcN98bNT1oD+lp+0muQk4TmlBfEL8Q+R6t9PkYEIFG52AcTjcL5/KJMALRxiGNNG2W6 /Zm3lUkIk5caRTCwetf7rq5zqX9bJNwRZsPX9Q+e/XzPhuFtiG6Yizk5Qf65Bkj43UR79L AL1AGu5g8EXES9JhSagm62NHj/iA8/GgGNLlxANldoMbMIud7wxIZfMDwV9ErRzvnISoSA 6fgnMUziQ2xOoy/s59SRh8H9NAYWAxUkgpqobfofnOmvQq9Jr0xSpu9LiigNMw== Received: from [192.168.1.10] (unknown [98.42.164.217]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: rpokala) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PVkhG30HCz18CV; Mon, 6 Mar 2023 16:35:10 +0000 (UTC) (envelope-from rpokala@freebsd.org) User-Agent: Microsoft-MacOutlook/16.70.23021201 Date: Mon, 06 Mar 2023 08:35:05 -0800 Subject: Re: df2b419a4105 - main - ifnet: add if_foreach_sleep() to allow ifnet iterations with sleep. From: Ravi Pokala To: "Alexander V. Chernikov" , , , Message-ID: Thread-Topic: df2b419a4105 - main - ifnet: add if_foreach_sleep() to allow ifnet iterations with sleep. References: <202303061508.326F8TiR076654@gitrepo.freebsd.org> In-Reply-To: <202303061508.326F8TiR076654@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-version: 1.0 Content-type: text/plain; charset="UTF-8" Content-transfer-encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N Hi Alexander, Knowing ~nothing about ifnet, if I were to see 'if_foreach_sleep()', my fir= st thought would be that the loop itself was sleeping between each iteration= , not that the callback was allowed to sleep. Perhaps this should be renamed= to 'if_foreach_sleepable()'? Just a thought. Thanks, Ravi (rpokala@) =EF=BB=BF-----Original Message----- From: > on behalf of "Alexander V. Chernikov" > Date: 2023-03-06, Monday at 07:08 To: >, >, > Subject: git: df2b419a4105 - main - ifnet: add if_foreach_sleep() to allow = ifnet iterations with sleep. The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=3Ddf2b419a4105588384a89a57442ed6= c6ca002455 commit df2b419a4105588384a89a57442ed6c6ca002455 Author: Alexander V. Chernikov > AuthorDate: 2023-03-04 10:09:09 +0000 Commit: Alexander V. Chernikov > CommitDate: 2023-03-06 15:08:08 +0000 ifnet: add if_foreach_sleep() to allow ifnet iterations with sleep. Subscribers: imp, ae, glebius Differential Revision: https://reviews.freebsd.org/D38904 --- sys/net/if.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sys/net/if_var.h | 2 ++ 2 files changed, 67 insertions(+) diff --git a/sys/net/if.c b/sys/net/if.c index 58711061eb5e..f3ef822178ff 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -4535,6 +4535,71 @@ if_foreach(if_foreach_cb_t cb, void *cb_arg) return (error); } +/* + * Iterates over the list of interfaces, permitting callback function @cb = to sleep. + * Stops iteration if @cb returns non-zero error code. + * Returns the last error code from @cb. + * @match_cb: optional match callback limiting the iteration to only match= ed interfaces + * @match_arg: argument to pass to @match_cb + * @cb: iteration callback + * @cb_arg: argument to pass to @cb + */ +int +if_foreach_sleep(if_foreach_match_t match_cb, void *match_arg, if_foreach_= cb_t cb, + void *cb_arg) +{ + int match_count =3D 0, array_size =3D 16; /* 128 bytes for malloc */ + struct ifnet **match_array =3D NULL; + int error =3D 0; + + MPASS(cb); + + while (true) { + struct ifnet **new_array; + int new_size =3D array_size; + struct epoch_tracker et; + struct ifnet *ifp; + + while (new_size < match_count) + new_size *=3D 2; + new_array =3D malloc(new_size * sizeof(void *), M_TEMP, M_WAITOK); + if (match_array !=3D NULL) + memcpy(new_array, match_array, array_size * sizeof(void *)); + free(match_array, M_TEMP); + match_array =3D new_array; + array_size =3D new_size; + + match_count =3D 0; + NET_EPOCH_ENTER(et); + CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) { + if (match_cb !=3D NULL && !match_cb(ifp, match_arg)) + continue; + if (match_count < array_size) { + if (if_try_ref(ifp)) + match_array[match_count++] =3D ifp; + } else + match_count++; + } + NET_EPOCH_EXIT(et); + + if (match_count > array_size) { + for (int i =3D 0; i < array_size; i++) + if_rele(match_array[i]); + continue; + } else { + for (int i =3D 0; i < match_count; i++) { + if (error =3D=3D 0) + error =3D cb(match_array[i], cb_arg); + if_rele(match_array[i]); + } + free(match_array, M_TEMP); + break; + } + } + + return (error); +} + u_int if_foreach_lladdr(if_t ifp, iflladdr_cb_t cb, void *cb_arg) { diff --git a/sys/net/if_var.h b/sys/net/if_var.h index c9b2de736d10..3e4d6c883c13 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -680,7 +680,9 @@ typedef u_int if_addr_cb_t(void *, struct ifaddr *, u_i= nt); u_int if_foreach_addr_type(if_t ifp, int type, if_addr_cb_t cb, void *cb_ar= g); typedef int (*if_foreach_cb_t)(if_t, void *); +typedef bool (*if_foreach_match_t)(if_t, void *); int if_foreach(if_foreach_cb_t, void *); +int if_foreach_sleep(if_foreach_match_t, void *, if_foreach_cb_t, void *); /* Functions */ void if_setinitfn(if_t ifp, if_init_fn_t); From nobody Mon Mar 6 17:06:24 2023 X-Original-To: dev-commits-src-main@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 4PVlNX2Hlgz3w83Q; Mon, 6 Mar 2023 17:06:36 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PVlNX1lv6z434k; Mon, 6 Mar 2023 17:06:36 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678122396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FRlMSYlNDt6A0q0qJXeL/PgScbkTPA1nndNOIIg3DD0=; b=k3hdF5NTpgCJkCTabVMGTqVfIqyXS9g6dG/QEzGEPnFROl0ldi9ToOCOPrfRJVZRZPDenN 7917wTgmFen5Wd8VMSTU1xQ4iDXutULYaC0oVQjPxte1WMyDB/ADZ2UD/nnSN4nYZN89fJ RpQK2aGY44LPHrTj9hqWQdK86AzVn2O8PwpEBRiPVCQsRp5Ikbr8956iCZ9NAXR1nU0Lhd 0g1sgMRQPjVXhH02NRRcKqG/DrfMzZTK6uXd0NDHpoe3L6U5W9fmPji77O3ZdfU9OitquZ PE5TJrA17flLciONLhqF64c9lwo8skK/SUoKvkjFphCUw51LTfwA2wxauNCPGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678122396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FRlMSYlNDt6A0q0qJXeL/PgScbkTPA1nndNOIIg3DD0=; b=xk1ftW6Uu8IdUNF9RUx3zmnwno5m3hOYFmLgDaBeork5fWOJP1qBidwvsQZeaw3OJL99il I+0g6pr6EH/V6/IyrKxicAyi3RMYdjrsTXad+cb28+P07jCTbkOVfNb+m2LezEsrzwZZbu RYwY1HanIMlppfy/2Tf/tXf6QGlxQNMhc/VHJxMaavHFGLEejM7Z8y3Bvgzuwg4va64HZT grBq0nz9ky1fORjf8OlGfx53uPoFu9zZtzwmTtsIgqABW6y4oHLD1Aa1RXL7n1g0N5JIXs o8+qyetQSZlIxsKQKcO8xnFiuF0Tv0bGGnr4lkhKmiNX0GKMM4PB704yCz+08A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678122396; a=rsa-sha256; cv=none; b=gtzqlDI/3cVo3ApkR/e/lH58dBinaHz7S1XE0OcGwC0R104jXzz81Djaq25CVzClDB3xpy o2AKybMS5jrCLrWtC0o0X9Bcni2J596o2qi+t6ePPgJGfLs34dt71dpKMVvIJ72ipQYHR2 l8qySDm9g/wLufHRCCQY6u3gJLVamrj7bCRH0wgnkj/e7PoKXknGJby3zLfwspdlsINRXb eJ77SQcPOt3d1edJw18tFM5ZtGBxWwWUt2Kbf7dzT7oesfyT5NudfdYD7/iZXh8CWNeauD hfakD8RzePN9L8ulB//sDU+T+L3ucqMaRkEhPyDDCrcUK7p0tnJ3RwOICSyJpQ== Received: from smtpclient.apple (unknown [IPv6:2a02:8084:d6bb:510:a88f:9fc6:d013:a3bf]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: melifaro/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PVlNW4MNQz19jC; Mon, 6 Mar 2023 17:06:35 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\)) Subject: Re: df2b419a4105 - main - ifnet: add if_foreach_sleep() to allow ifnet iterations with sleep. From: Alexander Chernikov In-Reply-To: Date: Mon, 6 Mar 2023 17:06:24 +0000 Cc: "" , "" , "" Content-Transfer-Encoding: quoted-printable Message-Id: <6CBFEAF8-1873-4DD3-B359-C7E972F6D7CD@FreeBSD.org> References: <202303061508.326F8TiR076654@gitrepo.freebsd.org> To: Ravi Pokala X-Mailer: Apple Mail (2.3731.400.51.1.1) X-ThisMailContainsUnwantedMimeParts: N > On 6 Mar 2023, at 16:35, Ravi Pokala wrote: >=20 > Hi Alexander, Hi Ravi, >=20 > Knowing ~nothing about ifnet, if I were to see 'if_foreach_sleep()', = my first thought would be that the loop itself was sleeping between each = iteration, not that the callback was allowed to sleep. Perhaps this = should be renamed to 'if_foreach_sleepable()=E2=80=99? Naming is hard :-) IMO if_foreach_sleepable marks the intent better . = Mind adding you suggestion to the original review? If there are no = opposing concerns after a couple of days, I=E2=80=99ll rename it. >=20 > Just a thought. >=20 > Thanks, >=20 > Ravi (rpokala@) >=20 > =EF=BB=BF-----Original Message----- > From: > on behalf of "Alexander V. = Chernikov" > > Date: 2023-03-06, Monday at 07:08 > To: >, = >, = > > Subject: git: df2b419a4105 - main - ifnet: add if_foreach_sleep() to = allow ifnet iterations with sleep. >=20 >=20 > The branch main has been updated by melifaro: >=20 >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Ddf2b419a4105588384a89a57442ed6c6= ca002455 = >=20 >=20 > commit df2b419a4105588384a89a57442ed6c6ca002455 > Author: Alexander V. Chernikov > > AuthorDate: 2023-03-04 10:09:09 +0000 > Commit: Alexander V. Chernikov > > CommitDate: 2023-03-06 15:08:08 +0000 >=20 >=20 > ifnet: add if_foreach_sleep() to allow ifnet iterations with sleep. >=20 >=20 > Subscribers: imp, ae, glebius >=20 >=20 > Differential Revision: https://reviews.freebsd.org/D38904 = > --- > sys/net/if.c | 65 = ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > sys/net/if_var.h | 2 ++ > 2 files changed, 67 insertions(+) >=20 >=20 > diff --git a/sys/net/if.c b/sys/net/if.c > index 58711061eb5e..f3ef822178ff 100644 > --- a/sys/net/if.c > +++ b/sys/net/if.c > @@ -4535,6 +4535,71 @@ if_foreach(if_foreach_cb_t cb, void *cb_arg) > return (error); > } >=20 >=20 > +/* > + * Iterates over the list of interfaces, permitting callback function = @cb to sleep. > + * Stops iteration if @cb returns non-zero error code. > + * Returns the last error code from @cb. > + * @match_cb: optional match callback limiting the iteration to only = matched interfaces > + * @match_arg: argument to pass to @match_cb > + * @cb: iteration callback > + * @cb_arg: argument to pass to @cb > + */ > +int > +if_foreach_sleep(if_foreach_match_t match_cb, void *match_arg, = if_foreach_cb_t cb, > + void *cb_arg) > +{ > + int match_count =3D 0, array_size =3D 16; /* 128 bytes for malloc */ > + struct ifnet **match_array =3D NULL; > + int error =3D 0; > + > + MPASS(cb); > + > + while (true) { > + struct ifnet **new_array; > + int new_size =3D array_size; > + struct epoch_tracker et; > + struct ifnet *ifp; > + > + while (new_size < match_count) > + new_size *=3D 2; > + new_array =3D malloc(new_size * sizeof(void *), M_TEMP, M_WAITOK); > + if (match_array !=3D NULL) > + memcpy(new_array, match_array, array_size * sizeof(void *)); > + free(match_array, M_TEMP); > + match_array =3D new_array; > + array_size =3D new_size; > + > + match_count =3D 0; > + NET_EPOCH_ENTER(et); > + CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) { > + if (match_cb !=3D NULL && !match_cb(ifp, match_arg)) > + continue; > + if (match_count < array_size) { > + if (if_try_ref(ifp)) > + match_array[match_count++] =3D ifp; > + } else > + match_count++; > + } > + NET_EPOCH_EXIT(et); > + > + if (match_count > array_size) { > + for (int i =3D 0; i < array_size; i++) > + if_rele(match_array[i]); > + continue; > + } else { > + for (int i =3D 0; i < match_count; i++) { > + if (error =3D=3D 0) > + error =3D cb(match_array[i], cb_arg); > + if_rele(match_array[i]); > + } > + free(match_array, M_TEMP); > + break; > + } > + } > + > + return (error); > +} > + > u_int > if_foreach_lladdr(if_t ifp, iflladdr_cb_t cb, void *cb_arg) > { > diff --git a/sys/net/if_var.h b/sys/net/if_var.h > index c9b2de736d10..3e4d6c883c13 100644 > --- a/sys/net/if_var.h > +++ b/sys/net/if_var.h > @@ -680,7 +680,9 @@ typedef u_int if_addr_cb_t(void *, struct ifaddr = *, u_int); > u_int if_foreach_addr_type(if_t ifp, int type, if_addr_cb_t cb, void = *cb_arg); >=20 >=20 > typedef int (*if_foreach_cb_t)(if_t, void *); > +typedef bool (*if_foreach_match_t)(if_t, void *); > int if_foreach(if_foreach_cb_t, void *); > +int if_foreach_sleep(if_foreach_match_t, void *, if_foreach_cb_t, = void *); >=20 >=20 > /* Functions */ > void if_setinitfn(if_t ifp, if_init_fn_t); >=20 >=20 >=20 >=20 From nobody Mon Mar 6 17:26:26 2023 X-Original-To: dev-commits-src-main@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 4PVlqR0B9Fz3w96r; Mon, 6 Mar 2023 17:26:27 +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 4PVlqQ6nmjz457w; Mon, 6 Mar 2023 17:26:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678123587; 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=+lUZvkuwiZN2bqhrpWxnErtbj4ukNa5zJypQn5ZFPAM=; b=cj7a8s4wztKH9oSi5JV8L+AQ2ogPssDEZ02/wVt/Fdk7EJtfolxHQPh+NQrGoBmO/mr9Ak DHQtcRGb8Dad/qDvnI+6vjiNQHYObDY/aKdh4aznldfRG2iVnhndzFbXmnk1bsGaVKi2AM Plf2xyYsa7hUIk/iZFZc2aLvBqb6hca4idyCz43oU801CpPn03hVdg4629Xm+iSa0Qs7Fu FDtkoQcgmVLDygLjp4CmzlWf/yzPI6RVSpDQDZWKMx2zaW7EmvKMkCaHwP42PqxmbeEh3G d0skp1Ep+YSyCxC5/5n3WAdr3cY0gbQEg2RuHLGcLClJn6JlsC5NjKNmxxO5AQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678123587; 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=+lUZvkuwiZN2bqhrpWxnErtbj4ukNa5zJypQn5ZFPAM=; b=F2gYRxI8nUdc5RrpToXTydG+ApML1/3zeb8oHEKJ3cShXosGHufvzk1fnRpFjQ2rEJkYNR Dl5PeiIdw1sODaKMNjjFyPZI3XfMujZIQsydAha96IqlxXJd7rCSOyISRxN/lvNkOBtRPz vru8Rga6mcd9WN9VFwB7hcY7VzAmV9oJ6qEThIesdPoeGF2wiU/qSipzg4YiDUsLA/39GF kjevjCtsLGFhmVcOgnz3Q22ewf3B8HegqRjtb01RH/ya6vJDF+T594BDokdMorbJiyZU2y ziAAxLSEZ4xkC+IRZ5Z+H4/V8G/nZ3tE6Br/jlO61RYJNH6hSncHes9TmxW+YQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678123587; a=rsa-sha256; cv=none; b=OnEXRHo6TjNMFSo869XdTK3XCEdtOi2HGulZmDOHkJzOrsPa005us4HuXx2XUBMu3KF7x7 qTyxlG7j1Ta3cTwdOna5t7FCVpTmsvncJY8qn/RsqlfOyXT3CUp4ePBy61CSXiqZVI+kRk PdH5FKkzB0lh9qHy5HLG7fif6cgrlJGNDQ2MID+gGsU7oUnrlWkVWBhHuhl4KFDcHRIU83 u3RE0tjPR5z/Z3nK52BYqeqCOi7DRjP+6hJYhZkKAd1pKJMrxv++g6XWaXRM8tHeLsRd25 tsMq6vOfshfbjpQU12aFDviBo3L/LAMOdVoSPFpZr9YvRSbEn6OQZz42sYUOaA== 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 4PVlqQ5jcQz19SP; Mon, 6 Mar 2023 17:26:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326HQQ34005037; Mon, 6 Mar 2023 17:26:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326HQQRb005036; Mon, 6 Mar 2023 17:26:26 GMT (envelope-from git) Date: Mon, 6 Mar 2023 17:26:26 GMT Message-Id: <202303061726.326HQQRb005036@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vincenzo Maffione Subject: git: 506336f2cd1f - main - netmap: pkt-gen: init all slots of every tx ring List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vmaffione X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 506336f2cd1fa0a3ba94bc247d7fad1a71d43ac2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by vmaffione: URL: https://cgit.FreeBSD.org/src/commit/?id=506336f2cd1fa0a3ba94bc247d7fad1a71d43ac2 commit 506336f2cd1fa0a3ba94bc247d7fad1a71d43ac2 Author: Vincenzo Maffione AuthorDate: 2023-03-06 17:22:09 +0000 Commit: Vincenzo Maffione CommitDate: 2023-03-06 17:22:09 +0000 netmap: pkt-gen: init all slots of every tx ring sender_body() uses OPT_COPY to copy the frame into the destination slot for the first 100,000 packets. Then it removes OPT_COPY to improve performance. The function always starts with the first tx ring. If multiple tx rings are in use, it is possible that the initial 100k packets will only use the first ring. After OPT_COPY is removed, there may come a time when the first ring is full and sender_body() will move to the next ring which was never initialized. As a result it will send all zero packets. (This was discovered when the receiving NIC reported rx errors.) Before any transmissions, step through every tx ring and set NS_BUF_CHANGED on every slot. That will force send_packets() to initialize the slot when first used. Since it only copies when necessary, it performs better than always setting OPT_COPY. With this change, there is no reason for the "drop copy" code. Submitted by: Brian Poole MFC after: 7 days --- tools/tools/netmap/pkt-gen.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/tools/tools/netmap/pkt-gen.c b/tools/tools/netmap/pkt-gen.c index b06fef05579d..296208018fd4 100644 --- a/tools/tools/netmap/pkt-gen.c +++ b/tools/tools/netmap/pkt-gen.c @@ -1604,7 +1604,7 @@ sender_body(void *data) uint64_t n = targ->g->npackets / targ->g->nthreads; uint64_t sent = 0; uint64_t event = 0; - int options = targ->g->options | OPT_COPY; + int options = targ->g->options; struct timespec nexttime = { 0, 0}; // XXX silence compiler int rate_limit = targ->g->tx_rate; struct pkt *pkt = &targ->pkt; @@ -1678,6 +1678,19 @@ sender_body(void *data) targ->frags++; } D("frags %u frag_size %u", targ->frags, targ->frag_size); + + /* mark all slots of all rings as changed so initial copy will be done */ + for (i = targ->nmd->first_tx_ring; i <= targ->nmd->last_tx_ring; i++) { + uint32_t j; + struct netmap_slot *slot; + + txring = NETMAP_TXRING(nifp, i); + for (j = 0; j < txring->num_slots; j++) { + slot = &txring->slot[j]; + slot->flags = NS_BUF_CHANGED; + } + } + while (!targ->cancel && (n == 0 || sent < n)) { int rv; @@ -1714,10 +1727,6 @@ sender_body(void *data) /* * scan our queues and send on those with room */ - if (options & OPT_COPY && sent > 100000 && !(targ->g->options & OPT_COPY) ) { - D("drop copy"); - options &= ~OPT_COPY; - } for (i = targ->nmd->first_tx_ring; i <= targ->nmd->last_tx_ring; i++) { int m; uint64_t limit = rate_limit ? tosend : targ->g->burst; From nobody Mon Mar 6 17:52:50 2023 X-Original-To: dev-commits-src-main@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 4PVmPt6xlsz3wBHg; Mon, 6 Mar 2023 17:52: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 4PVmPt6QKxz46yf; Mon, 6 Mar 2023 17:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678125170; 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=63VbjKxUyKs8cebX0xALe8pp77T3/ASCkbS+CFFN7lw=; b=WwC7iaFfPBTun2GkRMlMERQ8WcoZlA6y0wnIA7H/UGlLj/S8wP0cQfMj8L/vTcP4+2YLtV LvLIuFAdf82tSZtrLCMlWSGBAfRPhrvASbnUovOmYq9YaO1AMFKU7c9DunByufElIa341M /uqVpj9fq26BdKvKWRBrrWhCccJgKlp068ejhJVnarPahaZs0zNtqfLkfD12UPKNzjZYCX XO7sUp0FBo4ac5nmRvO1esJS+4s0I2xu4X9cRlg+PJeJT7wSRrTilghZHFcdE+qsOHwTwY dr0wFenGdbmKHeY9FT3OGX/7iIigrBqYQiQvE8a/VBMYnttWfzMoUwqSVMlmXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678125170; 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=63VbjKxUyKs8cebX0xALe8pp77T3/ASCkbS+CFFN7lw=; b=Nv4lps1LQ+JX03a3b7cctf4d0maYbLmTRR0S94CBgUCTDrVwtR0vrfQj905YXEidxKtKbv 2bSJAKBWSRlnV2pPxAphhG7ZylMQn0cmmZ8w6QuhS7WfV8ggwkPZkq7cYXonD0yvN3ec4/ 8+F390pLxU+Zw67pj47BnMv4Fd5X0a8ZBOksRg8kBfLuD1t+Tklo8GuWJO8sUFAdSoQUAJ JMgrtuLtrA20KTWpjoqvRIVlMLS9YY/Zlzt7IlLiDRikuQv5DMS0YHHOf5fqeZ2g2wm+uo Zaxs9B5m3lWAfIJ5CLe8JVoFccmVsVQeNS0EbaJR7p7Sr8/141YsLLt2PYpsDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678125170; a=rsa-sha256; cv=none; b=hNC+EzXihzXTL2Ngp22AfAK/K9Tsz+RV7xmLRBkKQ7c3posnJSYq6HyFgVlFEadc4Y9Tjc qfWRbP33ikUlm4aBrdwSh+/AzXYdzxMibv7DhXMn54RpwbUTnp2+aZ+z5PRW+2Pi9sNdkG VgQuxA23AHPpQ/4G4rt8+1hEZ1ZIlFxsosvE1D/aHMQZIAoDc/j6YUyPSJLVIbaZn7MiO9 vzXPe4c8pJ9GK4SS3u0CPhcRr4x/VQKeLhTQGGeodlzQySGQ8FFJViAqiVI9pdOqsnSsTF E3M/xZt18PBmDhrTvVLEfYq2olLt+E6oR51kcAHVFc1ps3SgJvlxukBaRWEV0A== 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 4PVmPt5SsMz1BCm; Mon, 6 Mar 2023 17:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326HqoTD053185; Mon, 6 Mar 2023 17:52:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326Hqoq4053184; Mon, 6 Mar 2023 17:52:50 GMT (envelope-from git) Date: Mon, 6 Mar 2023 17:52:50 GMT Message-Id: <202303061752.326Hqoq4053184@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 48227d1c6db8 - main - epair: Avoid loading m_flags into a short List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 48227d1c6db8fceaceebbf8578612302d64ca170 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=48227d1c6db8fceaceebbf8578612302d64ca170 commit 48227d1c6db8fceaceebbf8578612302d64ca170 Author: Mark Johnston AuthorDate: 2023-03-06 14:39:17 +0000 Commit: Mark Johnston CommitDate: 2023-03-06 17:39:11 +0000 epair: Avoid loading m_flags into a short The m_flags field of struct mbuf is 24 bits wide and so gets truncated in a couple of places in the epair code. Instead of preserving the entire flag set, just remember whether M_BCAST or M_MCAST is set. MFC after: 1 week Sponsored by: Klara, Inc. --- sys/net/if_epair.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index 81538c0cb157..3fa4c47a0bca 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -239,7 +239,7 @@ epair_menq(struct mbuf *m, struct epair_softc *osc) struct ifnet *ifp, *oifp; int len, ret; int ridx; - short mflags; + bool mcast; /* * I know this looks weird. We pass the "other sc" as we need that one @@ -252,7 +252,7 @@ epair_menq(struct mbuf *m, struct epair_softc *osc) /* Save values as once the mbuf is queued, it's not ours anymore. */ len = m->m_pkthdr.len; - mflags = m->m_flags; + mcast = (m->m_flags & (M_BCAST | M_MCAST)) != 0; struct epair_queue *q = epair_select_queue(osc, m); @@ -273,7 +273,7 @@ epair_menq(struct mbuf *m, struct epair_softc *osc) * the logic another time. */ if_inc_counter(ifp, IFCOUNTER_OBYTES, len); - if (mflags & (M_BCAST|M_MCAST)) + if (mcast) if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); /* Someone else received the packet. */ if_inc_counter(oifp, IFCOUNTER_IPACKETS, 1); @@ -325,7 +325,7 @@ epair_transmit(struct ifnet *ifp, struct mbuf *m) struct ifnet *oifp; #ifdef ALTQ int len; - short mflags; + bool mcast; #endif if (m == NULL) @@ -366,7 +366,7 @@ epair_transmit(struct ifnet *ifp, struct mbuf *m) #ifdef ALTQ len = m->m_pkthdr.len; - mflags = m->m_flags; + mcast = (m->m_flags & (M_BCAST | M_MCAST)) != 0; int error = 0; /* Support ALTQ via the classic if_start() path. */ @@ -378,7 +378,7 @@ epair_transmit(struct ifnet *ifp, struct mbuf *m) IF_UNLOCK(&ifp->if_snd); if (!error) { if_inc_counter(ifp, IFCOUNTER_OBYTES, len); - if (mflags & (M_BCAST|M_MCAST)) + if (mcast) if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); epair_start(ifp); } From nobody Mon Mar 6 17:52:51 2023 X-Original-To: dev-commits-src-main@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 4PVmPw1NkVz3wBgq; Mon, 6 Mar 2023 17:52:52 +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 4PVmPw0drXz46wd; Mon, 6 Mar 2023 17:52:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678125172; 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=0uEE9qIB8udSfZaKdik+jL1xB8IH4E9d8I3osc/SRMU=; b=CSs2fzMRbiXju9IBNrbzUOBInk0auyjH0yQrp5dV+KKnqVMubbfrYWydD9rOuA7XBoZIQ9 GEtN11tlDsgSLb6bnEhRwoicw0eAcWNUiiMw3I2D1qOYHg53UlXTbWiDUEyG9gGjnd3s/K iDbGbPoVZ9Tr5qzD2lXVo54OmPjTVvyLG5SewuhFARm0k4jo2JWEMM9KPCCH2+BVRMMD7E Oqr4c+Z5pELPaWxebPpCvoTHay4loNTUFO+X2Djs58wJJOr8jd+jPeycztwfX+hIShalvm vhzzkqDS058nTUC5fAnv8YDsByKeLJS01hoCEoSNGlL3uOOgUos53bIEGLyF/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678125172; 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=0uEE9qIB8udSfZaKdik+jL1xB8IH4E9d8I3osc/SRMU=; b=ZprP3LPmhW2+nxHdGMXdF3e5Isi+JwpV4uhJnsxDLmmkO1p0KgsPvIARq5mlsCZxaMRmZN +dk7VBfBDPAMzoStrCbfdDnKNSaZorXYOv1WDKxPq/ppZITjnUab6YYgpJ2/THFeyWgI+Y CMMyFVl25WAZ/Frtf1umfkMJjejY8ewz0fxeg8xltTXS+9+0R1YE1w3Jry5m5RpwqFuNXW trqBBplIrwgjgB/Vuvpk3hkVoTHB+iqW8adN6WZVEPfqHgl8WrBx87huqeHpqQrjVpECdz X+A4UJzI1hXOgwQBW3VOSUP+MdOmnR3nLO+fjl//4yHbcoLigTkFyxhXp/5lnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678125172; a=rsa-sha256; cv=none; b=TeYPTMgccxsAYpmdJ3SdmvAXc7s1s1CIU4ULor+oxE6Ykh5cPKryurFF3oJ1yeshGnBtKo VK3wtQ4nE2DMjgx1kEU7xVlYK80gKN4Yyv2n4MzyiOq3M6CcD8ktwo664Usg2MatKB9mYs /XUkgHYD4/uHXXJfi1l0l8X9WYku3RVfgV9gFgakGOm9kNzR/4SKtvNaBOyJ/lcLrMumcR MUOoJuPqCeFJClIg1UoCJs8w4r3sOeL2w9AOqkOCgz5LpYGMkBL1BkJ53GXbscFoelkhM4 PiPf+nRsy7mSholhrAro2r8GKz6ulivlxR7Tim8k8C5fkYY6/5WeTTDdFnZorw== 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 4PVmPv6dmRz1BCn; Mon, 6 Mar 2023 17:52:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326HqppY053211; Mon, 6 Mar 2023 17:52:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326HqpF1053210; Mon, 6 Mar 2023 17:52:51 GMT (envelope-from git) Date: Mon, 6 Mar 2023 17:52:51 GMT Message-Id: <202303061752.326HqpF1053210@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: df7bbd8c354a - main - epair: Simplify the transmit path and address lost wakeups List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: df7bbd8c354a907d2c2f85a6e18f356f76458f57 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=df7bbd8c354a907d2c2f85a6e18f356f76458f57 commit df7bbd8c354a907d2c2f85a6e18f356f76458f57 Author: Mark Johnston AuthorDate: 2023-03-01 20:21:30 +0000 Commit: Mark Johnston CommitDate: 2023-03-06 17:49:28 +0000 epair: Simplify the transmit path and address lost wakeups epairs currently shuttle all transmitted packets through a single global taskqueue thread. To hand packets over to the taskqueue thread, each epair maintains a pair of ring buffers and a lockless scheme for notifying the thread of pending work. The implementation can lead to lost wakeups, causing to-be-transmitted packets to end up stuck in the queue. Rather than extending the existing scheme, simply replace it with a linked list protected by a mutex, and use the mutex to synchronize wakeups of the taskqueue thread. This appears to give equivalent or better throughput with >= 16 producer threads and eliminates the lost wakeups. Reviewed by: kp MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Modirum MDPay Differential Revision: https://reviews.freebsd.org/D38843 --- sys/net/if_epair.c | 152 ++++++++++++++++++++++++++--------------------------- 1 file changed, 75 insertions(+), 77 deletions(-) diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index 3fa4c47a0bca..32fd3afe309b 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -101,15 +101,16 @@ static unsigned int next_index = 0; #define EPAIR_LOCK() mtx_lock(&epair_n_index_mtx) #define EPAIR_UNLOCK() mtx_unlock(&epair_n_index_mtx) -#define BIT_QUEUE_TASK 0 -#define BIT_MBUF_QUEUED 1 - struct epair_softc; struct epair_queue { + struct mtx mtx; + struct mbufq q; int id; - struct buf_ring *rxring[2]; - volatile int ridx; /* 0 || 1 */ - volatile long state; /* taskqueue coordination */ + enum { + EPAIR_QUEUE_IDLE, + EPAIR_QUEUE_WAKING, + EPAIR_QUEUE_RUNNING, + } state; struct task tx_task; struct epair_softc *sc; }; @@ -145,44 +146,49 @@ epair_clear_mbuf(struct mbuf *m) } static void -epair_if_input(struct epair_softc *sc, struct epair_queue *q, int ridx) +epair_tx_start_deferred(void *arg, int pending) { - struct ifnet *ifp; - struct mbuf *m; + struct epair_queue *q = (struct epair_queue *)arg; + if_t ifp; + struct mbuf *m, *n; + bool resched; - ifp = sc->ifp; + ifp = q->sc->ifp; + + if_ref(ifp); CURVNET_SET(ifp->if_vnet); - while (! buf_ring_empty(q->rxring[ridx])) { - m = buf_ring_dequeue_mc(q->rxring[ridx]); - if (m == NULL) - continue; - MPASS((m->m_pkthdr.csum_flags & CSUM_SND_TAG) == 0); - (*ifp->if_input)(ifp, m); + mtx_lock(&q->mtx); + m = mbufq_flush(&q->q); + q->state = EPAIR_QUEUE_RUNNING; + mtx_unlock(&q->mtx); + while (m != NULL) { + n = STAILQ_NEXT(m, m_stailqpkt); + m->m_nextpkt = NULL; + if_input(ifp, m); + m = n; } - CURVNET_RESTORE(); -} -static void -epair_tx_start_deferred(void *arg, int pending) -{ - struct epair_queue *q = (struct epair_queue *)arg; - struct epair_softc *sc = q->sc; - int ridx, nidx; - - if_ref(sc->ifp); - ridx = atomic_load_int(&q->ridx); - do { - nidx = (ridx == 0) ? 1 : 0; - } while (!atomic_fcmpset_int(&q->ridx, &ridx, nidx)); - epair_if_input(sc, q, ridx); - - atomic_clear_long(&q->state, (1 << BIT_QUEUE_TASK)); - if (atomic_testandclear_long(&q->state, BIT_MBUF_QUEUED)) + /* + * Avoid flushing the queue more than once per task. We can otherwise + * end up starving ourselves in a multi-epair routing configuration. + */ + mtx_lock(&q->mtx); + if (mbufq_len(&q->q) > 0) { + resched = true; + q->state = EPAIR_QUEUE_WAKING; + } else { + resched = false; + q->state = EPAIR_QUEUE_IDLE; + } + mtx_unlock(&q->mtx); + + if (resched) taskqueue_enqueue(epair_tasks.tq[q->id], &q->tx_task); - if_rele(sc->ifp); + CURVNET_RESTORE(); + if_rele(ifp); } static struct epair_queue * @@ -236,9 +242,9 @@ epair_prepare_mbuf(struct mbuf *m, struct ifnet *src_ifp) static void epair_menq(struct mbuf *m, struct epair_softc *osc) { + struct epair_queue *q; struct ifnet *ifp, *oifp; - int len, ret; - int ridx; + int error, len; bool mcast; /* @@ -254,32 +260,26 @@ epair_menq(struct mbuf *m, struct epair_softc *osc) len = m->m_pkthdr.len; mcast = (m->m_flags & (M_BCAST | M_MCAST)) != 0; - struct epair_queue *q = epair_select_queue(osc, m); + q = epair_select_queue(osc, m); - atomic_set_long(&q->state, (1 << BIT_MBUF_QUEUED)); - ridx = atomic_load_int(&q->ridx); - ret = buf_ring_enqueue(q->rxring[ridx], m); - if (ret != 0) { - /* Ring is full. */ - if_inc_counter(ifp, IFCOUNTER_OQDROPS, 1); - m_freem(m); - return; + mtx_lock(&q->mtx); + if (q->state == EPAIR_QUEUE_IDLE) { + q->state = EPAIR_QUEUE_WAKING; + taskqueue_enqueue(epair_tasks.tq[q->id], &q->tx_task); } + error = mbufq_enqueue(&q->q, m); + mtx_unlock(&q->mtx); - if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); - /* - * IFQ_HANDOFF_ADJ/ip_handoff() update statistics, - * but as we bypass all this we have to duplicate - * the logic another time. - */ - if_inc_counter(ifp, IFCOUNTER_OBYTES, len); - if (mcast) - if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); - /* Someone else received the packet. */ - if_inc_counter(oifp, IFCOUNTER_IPACKETS, 1); - - if (!atomic_testandset_long(&q->state, BIT_QUEUE_TASK)) - taskqueue_enqueue(epair_tasks.tq[q->id], &q->tx_task); + if (error != 0) { + m_freem(m); + if_inc_counter(ifp, IFCOUNTER_OQDROPS, 1); + } else { + if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); + if_inc_counter(ifp, IFCOUNTER_OBYTES, len); + if (mcast) + if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1); + if_inc_counter(oifp, IFCOUNTER_IPACKETS, 1); + } } static void @@ -514,10 +514,9 @@ epair_alloc_sc(struct if_clone *ifc) for (int i = 0; i < sc->num_queues; i++) { struct epair_queue *q = &sc->queues[i]; q->id = i; - q->rxring[0] = buf_ring_alloc(RXRSIZE, M_EPAIR, M_WAITOK, NULL); - q->rxring[1] = buf_ring_alloc(RXRSIZE, M_EPAIR, M_WAITOK, NULL); - q->ridx = 0; - q->state = 0; + q->state = EPAIR_QUEUE_IDLE; + mtx_init(&q->mtx, "epairq", NULL, MTX_DEF | MTX_NEW); + mbufq_init(&q->q, RXRSIZE); q->sc = sc; NET_TASK_INIT(&q->tx_task, 0, epair_tx_start_deferred, q); } @@ -610,8 +609,7 @@ epair_free_sc(struct epair_softc *sc) ifmedia_removeall(&sc->media); for (int i = 0; i < sc->num_queues; i++) { struct epair_queue *q = &sc->queues[i]; - buf_ring_free(q->rxring[0], M_EPAIR); - buf_ring_free(q->rxring[1], M_EPAIR); + mtx_destroy(&q->mtx); } free(sc->queues, M_EPAIR); free(sc, M_EPAIR); @@ -756,18 +754,18 @@ epair_clone_create(struct if_clone *ifc, char *name, size_t len, static void epair_drain_rings(struct epair_softc *sc) { - int ridx; - struct mbuf *m; + for (int i = 0; i < sc->num_queues; i++) { + struct epair_queue *q; + struct mbuf *m, *n; - for (ridx = 0; ridx < 2; ridx++) { - for (int i = 0; i < sc->num_queues; i++) { - struct epair_queue *q = &sc->queues[i]; - do { - m = buf_ring_dequeue_sc(q->rxring[ridx]); - if (m == NULL) - break; - m_freem(m); - } while (1); + q = &sc->queues[i]; + mtx_lock(&q->mtx); + m = mbufq_flush(&q->q); + mtx_unlock(&q->mtx); + + for (; m != NULL; m = n) { + n = m->m_nextpkt; + m_freem(m); } } } From nobody Mon Mar 6 17:52:52 2023 X-Original-To: dev-commits-src-main@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 4PVmPx1pgYz3wBgt; Mon, 6 Mar 2023 17:52:53 +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 4PVmPx17Bwz46xQ; Mon, 6 Mar 2023 17:52:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678125173; 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=XhR7LCYXUoPwEgL1U9Ge5fr9fIjmo8G4ZpFgApLY2SY=; b=h+AcTNhNIEbKLxKu88XM3c3SjYPfmN3GoRQl30vwb+VpPgNsNC40PAulBux/AHm1uOiOvL gdc8hIyPLrav1ayr8JBXPDTRScKnORPmDBBibJGzfLCko0q5mtOc9saff94jYVbIIixerh 6u38LIuaFd7m3YgF3Z+pOiymou1+XC/qQNjKQk05Ycx1xVjdXyp9ro5ahl6Jj2pl+2sZ51 n/LorV2fulOQE5xuHE5/+NHR6GdDdG+01rRbtYtnlZXqN9khcqXYxzDg49BR2lNIsoNpAa 3bW+c5EKB0oo1SO8OwUSj1roiihrOF31hj+t+kbsL92xqi5FA8DQE8f0/fGjKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678125173; 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=XhR7LCYXUoPwEgL1U9Ge5fr9fIjmo8G4ZpFgApLY2SY=; b=R9sblNaHgRXTs50v9Ddd+wvL0uFsbnri4MxCcsfd1DWhBMyWiVbcPCcj+C7J/+K7oxxINV SEK2MYof/HItmu1pYseyT9F4ps3Hh8evC1GsjkkAPChTmmf/VwKz3zht7JDxXEyZhfahX8 etOwR6byAdX5vkkeRfS3ZcxAYjGyVYHe61LbAYlwezFj5KDxj9OTRy+7lthLYrKJehm5HO 9MKRvVR8DQpWD17VSB40YXQpxUtSxPQ7N7BJm3scDfucM+MVXYGupxOQL84nQJWgGsdGGv B47BwXueixASBnBf+a9fqzXxDYxxO2FhPxyUiIHVF80G5mKy7cn+oWURIyrR1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678125173; a=rsa-sha256; cv=none; b=DWYg4TrixBASMGMzPkbvc+zqN6bz893pmoKU1PT4bU2NdMpINCSW4Hh+X9YwjszCc/1ie5 STIKve2GgEfPWTRm4+xH4y8NDKMMs4NnHdxSLNw8sx4tMy9iT8KWfuQhhfYX87Kq4fyL5l 81F/pJ7XU0/CyOPO0YBk7QGjAsJAE4u4mhXGwbI+XFkNAq8GpE8k4pnfLmA9NQWNqVyC7F 31z5r0UmeLWLDuEJUp514ywEF4tB5rDVV/KPGzrBuJaV7os/xzJ8equdv6mpuyUKtd7O/I ksf4eHZVDNG65lKNTNQL8+001z6zoTgKccKdN8qxo0cqW6SzIi/YqdLulW3rPQ== 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 4PVmPx0Cl6z19nV; Mon, 6 Mar 2023 17:52:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326Hqq9B053231; Mon, 6 Mar 2023 17:52:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326HqqW3053230; Mon, 6 Mar 2023 17:52:52 GMT (envelope-from git) Date: Mon, 6 Mar 2023 17:52:52 GMT Message-Id: <202303061752.326HqqW3053230@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: cec2d0b1c7ac - main - readelf: fix -wR option, memory leaks, and -wf minor bug List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: cec2d0b1c7ac3196613813c0b07a2387916a8ccd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=cec2d0b1c7ac3196613813c0b07a2387916a8ccd commit cec2d0b1c7ac3196613813c0b07a2387916a8ccd Author: Christos Margiolis AuthorDate: 2023-03-06 17:50:13 +0000 Commit: Mark Johnston CommitDate: 2023-03-06 17:51:23 +0000 readelf: fix -wR option, memory leaks, and -wf minor bug Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38419 --- contrib/elftoolchain/readelf/readelf.c | 39 ++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/contrib/elftoolchain/readelf/readelf.c b/contrib/elftoolchain/readelf/readelf.c index 77125b77ebef..daaa7bf62dff 100644 --- a/contrib/elftoolchain/readelf/readelf.c +++ b/contrib/elftoolchain/readelf/readelf.c @@ -4938,8 +4938,10 @@ dump_dwarf_line(struct readelf *re) return; } if (dwarf_attrval_unsigned(die, DW_AT_stmt_list, &offset, - &de) != DW_DLV_OK) + &de) != DW_DLV_OK) { + dwarf_dealloc(re->dbg, die, DW_DLA_DIE); continue; + } length = re->dw_read(d, &offset, 4); if (length == 0xffffffff) { @@ -4950,6 +4952,7 @@ dump_dwarf_line(struct readelf *re) if (length > d->d_size - offset) { warnx("invalid .dwarf_line section"); + dwarf_dealloc(re->dbg, die, DW_DLA_DIE); continue; } @@ -5147,9 +5150,8 @@ dump_dwarf_line(struct readelf *re) (uintmax_t) line); p++; } - - } + dwarf_dealloc(re->dbg, die, DW_DLA_DIE); } if (ret == DW_DLV_ERROR) warnx("dwarf_next_cu_header: %s", dwarf_errmsg(de)); @@ -5192,9 +5194,9 @@ dump_dwarf_line_decoded(struct readelf *re) printf("%-37s %11s %s\n", "Filename", "Line Number", "Starting Address"); if (dwarf_srclines(die, &linebuf, &linecount, &de) != DW_DLV_OK) - continue; + goto done; if (dwarf_srcfiles(die, &srcfiles, &srccount, &de) != DW_DLV_OK) - continue; + goto done; for (i = 0; i < linecount; i++) { ln = linebuf[i]; if (dwarf_line_srcfileno(ln, &fn, &de) != DW_DLV_OK) @@ -5208,6 +5210,8 @@ dump_dwarf_line_decoded(struct readelf *re) (uintmax_t) lineaddr); } putchar('\n'); +done: + dwarf_dealloc(re->dbg, die, DW_DLA_DIE); } } @@ -5840,7 +5844,8 @@ dump_dwarf_ranges_foreach(struct readelf *re, Dwarf_Die die, Dwarf_Addr base) Dwarf_Addr base0; Dwarf_Half attr; Dwarf_Signed attr_count, cnt; - Dwarf_Unsigned off, bytecnt; + Dwarf_Unsigned bytecnt; + Dwarf_Off off; int i, j, ret; if ((ret = dwarf_attrlist(die, &attr_list, &attr_count, &de)) != @@ -5857,11 +5862,12 @@ dump_dwarf_ranges_foreach(struct readelf *re, Dwarf_Die die, Dwarf_Addr base) } if (attr != DW_AT_ranges) continue; - if (dwarf_formudata(attr_list[i], &off, &de) != DW_DLV_OK) { - warnx("dwarf_formudata failed: %s", dwarf_errmsg(de)); + if (dwarf_global_formref(attr_list[i], &off, &de) != DW_DLV_OK) { + warnx("dwarf_global_formref failed: %s", + dwarf_errmsg(de)); continue; } - if (dwarf_get_ranges(re->dbg, (Dwarf_Off) off, &ranges, &cnt, + if (dwarf_get_ranges(re->dbg, off, &ranges, &cnt, &bytecnt, &de) != DW_DLV_OK) continue; base0 = base; @@ -5900,6 +5906,8 @@ cont_search: warnx("dwarf_siblingof: %s", dwarf_errmsg(de)); else if (ret == DW_DLV_OK) dump_dwarf_ranges_foreach(re, ret_die, base); + + dwarf_dealloc(re->dbg, die, DW_DLA_DIE); } static void @@ -6204,7 +6212,7 @@ dump_dwarf_frame_section(struct readelf *re, struct section *s, int alt) Dwarf_Small cie_version; Dwarf_Ptr fde_addr, fde_inst, cie_inst; char *cie_aug, c; - int i, eh_frame; + int i, ret, eh_frame; Dwarf_Error de; printf("\nThe section %s contains:\n\n", s->name); @@ -6219,10 +6227,13 @@ dump_dwarf_frame_section(struct readelf *re, struct section *s, int alt) } } else if (!strcmp(s->name, ".eh_frame")) { eh_frame = 1; - if (dwarf_get_fde_list_eh(re->dbg, &cie_list, &cie_count, - &fde_list, &fde_count, &de) != DW_DLV_OK) { - warnx("dwarf_get_fde_list_eh failed: %s", - dwarf_errmsg(de)); + ret = dwarf_get_fde_list_eh(re->dbg, &cie_list, &cie_count, + &fde_list, &fde_count, &de); + if (ret != DW_DLV_OK) { + if (ret == DW_DLV_ERROR) { + warnx("dwarf_get_fde_list_eh failed: %s", + dwarf_errmsg(de)); + } return; } } else From nobody Mon Mar 6 19:03:38 2023 X-Original-To: dev-commits-src-main@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 4PVnzf3hX0z3wG6L; Mon, 6 Mar 2023 19:03:42 +0000 (UTC) (envelope-from rpokala@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PVnzf3BKDz4K1t; Mon, 6 Mar 2023 19:03:42 +0000 (UTC) (envelope-from rpokala@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678129422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7ZmAxv0btZdamQgVRGUb8jGox0pJrQm6wVTyMdROjoE=; b=AUCkN5k4khHoV9uEr+YXfyFZisDRoFpz724bvXUgJT2AvyjrvGUIIOoPGr9dlG4DurEeo4 rWmNfO4LCVE4gr2FIgYqXVkYDnOStMWapPfXcgzVMm9cnYkuBZq08Pofwp/FXDiQ1UQQzm R7WVOtCpmECCxKuQF2p+BuJzuz5UJHoD4SIR00Zzw1KKHbNeByBYwuyjXusjorQD/gbkW+ n4/9KrfgKZt6hTwyQjeHho+REXu3JRy7YMRELBh5EpdHmhByeLM3gupBmfPw2gX3Fttzpf H/HlYTNdkZ3l1X189YlE7DA6aWjs8HBQ3IA6pLTQhJP9RVwTyfXgnQU9wDo++A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678129422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7ZmAxv0btZdamQgVRGUb8jGox0pJrQm6wVTyMdROjoE=; b=WFBwh3x9fx6vQjSkxtxYJYSH2cSWuBQVy/J3B7kr522dgMARxXQzR9jZUHOohqgFRZSuyu pcMRO49R0royfd4uJlve97wuWpHe8lFRI8m/6FuSsFu2rrTgTb6WJTzEAEzP7v3XNsWSOF mQHPqU4B958P0UBaDquvMUEPjusPh/7LVUytFq4bHuTrRMdu5DNEpYOIPgFJp/7WhDFdFq EGSPEcmUV6RKTM8ndvPRHm0PJz/lIupMixK+PV/FvOeeIkesNvbZKvBHk1q1S5Uf9tNbpb /RR0wx37QGL+6+VJHUCWn8MS6yZQmuP2SvdZJg4jXpQGHPCJuTnpUEZ6S3K1QQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678129422; a=rsa-sha256; cv=none; b=aLFHrHDM/uyGhWbBaSa/Bh8BqzcbLKv12AldS+LuR4tAXrVYsYkBKFhPpDbHXF/5evoIzj lndgAdhQzaFrQ1Gyw5wSSUJyGGQfXxF5wmoH+BJr553a1qWD6PeC3YXzl3DRKJwmSE4lRN brmFa41uPaJdmFaeEbd2KLxgt7T3z24hLvgPgXeateNeW1vN+HhUDE4udhG9HEASCaiuck 5jLAkLw9OxY97zc2BOeK3zAJuGiPNX408txBP2BgAj9nvXY36/9xBYrEdFiTe+AUYuFZia d+yRoUOJq9KdJjhVjaK5w8SeQqvEaHtfmhLA4qW3k33n2o6QyiFwog+4UNjLIw== Received: from [172.17.133.71] (unknown [207.141.91.187]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: rpokala) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PVnzd64yzz1CKN; Mon, 6 Mar 2023 19:03:41 +0000 (UTC) (envelope-from rpokala@freebsd.org) User-Agent: Microsoft-MacOutlook/16.70.23021201 Date: Mon, 06 Mar 2023 11:03:38 -0800 Subject: Re: df2b419a4105 - main - ifnet: add if_foreach_sleep() to allow ifnet iterations with sleep. From: Ravi Pokala To: Alexander Chernikov CC: "" , "" , "" Message-ID: Thread-Topic: df2b419a4105 - main - ifnet: add if_foreach_sleep() to allow ifnet iterations with sleep. References: <202303061508.326F8TiR076654@gitrepo.freebsd.org> <6CBFEAF8-1873-4DD3-B359-C7E972F6D7CD@FreeBSD.org> In-Reply-To: <6CBFEAF8-1873-4DD3-B359-C7E972F6D7CD@FreeBSD.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-version: 1.0 Content-type: text/plain; charset="UTF-8" Content-transfer-encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N > Naming is hard :-) IMO if_foreach_sleepable marks the intent better . Min= d adding you suggestion to the original review? If there are no opposing con= cerns after a couple of days, I=E2=80=99ll rename it. Done. Thank you! :-) -Ravi (rpokala@) =EF=BB=BF-----Original Message----- From: Alexander Chernikov > Date: 2023-03-06, Monday at 09:06 To: Ravi Pokala > Cc: ">" >, ">" >, ">" > Subject: Re: df2b419a4105 - main - ifnet: add if_foreach_sleep() to allow i= fnet iterations with sleep. > On 6 Mar 2023, at 16:35, Ravi Pokala > wrote: >=20 > Hi Alexander, Hi Ravi, >=20 > Knowing ~nothing about ifnet, if I were to see 'if_foreach_sleep()', my f= irst thought would be that the loop itself was sleeping between each iterati= on, not that the callback was allowed to sleep. Perhaps this should be renam= ed to 'if_foreach_sleepable()=E2=80=99? Naming is hard :-) IMO if_foreach_sleepable marks the intent better . Mind = adding you suggestion to the original review? If there are no opposing conce= rns after a couple of days, I=E2=80=99ll rename it. >=20 > Just a thought. >=20 > Thanks, >=20 > Ravi (rpokala@) >=20 > =EF=BB=BF-----Original Message----- > From: >> on behalf of "Alexander V. Chernikov" >> > Date: 2023-03-06, Monday at 07:08 > To: >>, >>, <= dev-commits-src-main@FreeBSD.org <= mailto:dev-commits-src-main@FreeBSD.org >> > Subject: git: df2b419a4105 - main - ifnet: add if_foreach_sleep() to allo= w ifnet iterations with sleep. >=20 >=20 > The branch main has been updated by melifaro: >=20 >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3Ddf2b419a4105588384a89a57442e= d6c6ca002455 >=20 >=20 > commit df2b419a4105588384a89a57442ed6c6ca002455 > Author: Alexander V. Chernikov >> > AuthorDate: 2023-03-04 10:09:09 +0000 > Commit: Alexander V. Chernikov >> > CommitDate: 2023-03-06 15:08:08 +0000 >=20 >=20 > ifnet: add if_foreach_sleep() to allow ifnet iterations with sleep. >=20 >=20 > Subscribers: imp, ae, glebius >=20 >=20 > Differential Revision: https://reviews.freebsd.org/D38904 > --- > sys/net/if.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++= + > sys/net/if_var.h | 2 ++ > 2 files changed, 67 insertions(+) >=20 >=20 > diff --git a/sys/net/if.c b/sys/net/if.c > index 58711061eb5e..f3ef822178ff 100644 > --- a/sys/net/if.c > +++ b/sys/net/if.c > @@ -4535,6 +4535,71 @@ if_foreach(if_foreach_cb_t cb, void *cb_arg) > return (error); > } >=20 >=20 > +/* > + * Iterates over the list of interfaces, permitting callback function @c= b to sleep. > + * Stops iteration if @cb returns non-zero error code. > + * Returns the last error code from @cb. > + * @match_cb: optional match callback limiting the iteration to only mat= ched interfaces > + * @match_arg: argument to pass to @match_cb > + * @cb: iteration callback > + * @cb_arg: argument to pass to @cb > + */ > +int > +if_foreach_sleep(if_foreach_match_t match_cb, void *match_arg, if_foreac= h_cb_t cb, > + void *cb_arg) > +{ > + int match_count =3D 0, array_size =3D 16; /* 128 bytes for malloc */ > + struct ifnet **match_array =3D NULL; > + int error =3D 0; > + > + MPASS(cb); > + > + while (true) { > + struct ifnet **new_array; > + int new_size =3D array_size; > + struct epoch_tracker et; > + struct ifnet *ifp; > + > + while (new_size < match_count) > + new_size *=3D 2; > + new_array =3D malloc(new_size * sizeof(void *), M_TEMP, M_WAITOK); > + if (match_array !=3D NULL) > + memcpy(new_array, match_array, array_size * sizeof(void *)); > + free(match_array, M_TEMP); > + match_array =3D new_array; > + array_size =3D new_size; > + > + match_count =3D 0; > + NET_EPOCH_ENTER(et); > + CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) { > + if (match_cb !=3D NULL && !match_cb(ifp, match_arg)) > + continue; > + if (match_count < array_size) { > + if (if_try_ref(ifp)) > + match_array[match_count++] =3D ifp; > + } else > + match_count++; > + } > + NET_EPOCH_EXIT(et); > + > + if (match_count > array_size) { > + for (int i =3D 0; i < array_size; i++) > + if_rele(match_array[i]); > + continue; > + } else { > + for (int i =3D 0; i < match_count; i++) { > + if (error =3D=3D 0) > + error =3D cb(match_array[i], cb_arg); > + if_rele(match_array[i]); > + } > + free(match_array, M_TEMP); > + break; > + } > + } > + > + return (error); > +} > + > u_int > if_foreach_lladdr(if_t ifp, iflladdr_cb_t cb, void *cb_arg) > { > diff --git a/sys/net/if_var.h b/sys/net/if_var.h > index c9b2de736d10..3e4d6c883c13 100644 > --- a/sys/net/if_var.h > +++ b/sys/net/if_var.h > @@ -680,7 +680,9 @@ typedef u_int if_addr_cb_t(void *, struct ifaddr *, u= _int); > u_int if_foreach_addr_type(if_t ifp, int type, if_addr_cb_t cb, void *cb_= arg); >=20 >=20 > typedef int (*if_foreach_cb_t)(if_t, void *); > +typedef bool (*if_foreach_match_t)(if_t, void *); > int if_foreach(if_foreach_cb_t, void *); > +int if_foreach_sleep(if_foreach_match_t, void *, if_foreach_cb_t, void *= ); >=20 >=20 > /* Functions */ > void if_setinitfn(if_t ifp, if_init_fn_t); >=20 >=20 >=20 >=20 From nobody Mon Mar 6 19:26:57 2023 X-Original-To: dev-commits-src-main@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 4PVpVT3v0zz3wH7M; Mon, 6 Mar 2023 19:26: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 4PVpVT3PgFz4Ldx; Mon, 6 Mar 2023 19:26:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678130817; 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=Gb22mnyMl8JUxNpejfMo/UeCB1mAhLWld9A53Gh5v1s=; b=oNCFU2nUs8RgBmxHbyjD5aKfowV3NK+ytO2isbByhCws4/fMS/OnmoaTzCYUoGc63//LrS /m1frVNdky6Wfouu4L99HQR442KZLbRnDjrAdSLZObKO5ZmRztxi+C7TVF+Gnp+Ii9COeT 32naBFr9WMLPTWe5iskM/kXRLLK2mCEQIx4CkFMHedXOM6rXKhjwcQAvo2HazVxNRINNhQ jGHknJnNStZ+cyrAMAFCdh2qFhbQd06/zj0wQEFAiPbWHBZUaQMkMJBphXd0NDZOJaPZiy 2GfH1YyriUrD9EYB1Jag1e/IIFEHa1nZ8W6dzkZ1J6uscGCfeIpfFEpPSnLniA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678130817; 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=Gb22mnyMl8JUxNpejfMo/UeCB1mAhLWld9A53Gh5v1s=; b=U3GJ0ZjTOb0OBc7DOpJsRhzmsfc2BgmL2L2XYzYgbAulHU//KVe/OyziYa7L16CB3gOxaa Z419fr4u8lOV+f9J4Syz4YWtnRxBQoPH2pUkokWNDq9K0U12A31prR9FWGjaCPslgrXkIG JJH+0t0W60Kf85qMFzl9LfXN8PppmTfM1NrzUWWBbNA0UzOp1W0di6wIL52KUiwnZRNSrI fQmVT3pserAdxJDPBWFiIcMpwAQo/l8ahpBPwaLhuHR8xyjeRSeYrFRYxneDq98yykMdOv XeaPfVINLNaPbIBXT8WiZoiEMGRHfxZH9sBmiGf61sF0rlQ+VWYvUed2xNpOTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678130817; a=rsa-sha256; cv=none; b=LA/X8WlTRlwcfiXx8Fl60X2y8DPjgIC094VntrxEm34l+caibNHYzNFPr1l7bgoXEc6NHW 5CAEFjTf6ZwfrzXaaZY7P61quxXfWYOEOBQC6T+7eVEbOc4aS6XXNmKc16qALjZPdytHAB oKcE1ew2ksTaHXfz8utNjR3TN+fZTKHGXjPWsnRZdf4MTyyqvxSGGfE2akJcObu1mL1/lD JRy93KVFSJiJ6skwUBrcVVCIRYz9bKutN/5cg1pPHmk3bLrmFmqAmP2rTw52ENgU17u70g Zlm/iNHZehGlznz1bnrIEiPPbRLV27XdhwQslXhIQxNver00htvRJyBJCEjiSw== 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 4PVpVT2SCnz1CgM; Mon, 6 Mar 2023 19:26:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326JQv31004172; Mon, 6 Mar 2023 19:26:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326JQvu0004171; Mon, 6 Mar 2023 19:26:57 GMT (envelope-from git) Date: Mon, 6 Mar 2023 19:26:57 GMT Message-Id: <202303061926.326JQvu0004171@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 9f1beeaed4d5 - main - pfctl: fix superblock printf format mismatch List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 9f1beeaed4d5490e76f1eca2fc68c725a933ec7f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9f1beeaed4d5490e76f1eca2fc68c725a933ec7f commit 9f1beeaed4d5490e76f1eca2fc68c725a933ec7f Author: Kajetan Staszkiewicz AuthorDate: 2023-03-06 07:08:41 +0000 Commit: Kristof Provost CommitDate: 2023-03-06 18:22:35 +0000 pfctl: fix superblock printf format mismatch It is impossible to compile pfctl with OPT_DEBUG due to integer width mismatch: /usr/home/kajetan.staszkiewicz/freebsd.git/sbin/pfctl/pfctl_optimize.c:1479:9: error: format specifies type 'unsigned int' but the argument has type 'unsigned long' [-Werror,-Wformat] i - pf_rule_desc[closest].prf_off--- pfctl_optimize.o --- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/home/kajetan.staszkiewicz/freebsd.git/sbin/pfctl/pfctl_optimize.c:52:44: note: expanded from macro 'DEBUG' printf("%s: " str "\n", __FUNCTION__ , ## v) ~~~ ^ 1 error generated. Reviewed by: kp Obtained from: OpenBSD (pfctl_optimize.c 1.15) Differential Revision: https://reviews.freebsd.org/D38918 --- sbin/pfctl/pfctl_optimize.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/pfctl/pfctl_optimize.c b/sbin/pfctl/pfctl_optimize.c index d999734a906c..99c597ec84c1 100644 --- a/sbin/pfctl/pfctl_optimize.c +++ b/sbin/pfctl/pfctl_optimize.c @@ -1476,7 +1476,7 @@ superblock_inclusive(struct superblock *block, struct pf_opt_rule *por) } if (closest >= 0) - DEBUG("superblock break @ %d on %s+%xh", + DEBUG("superblock break @ %d on %s+%zxh", por->por_rule.nr, pf_rule_desc[closest].prf_name, i - pf_rule_desc[closest].prf_offset - From nobody Mon Mar 6 19:26:58 2023 X-Original-To: dev-commits-src-main@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 4PVpVV4s43z3wHMR; Mon, 6 Mar 2023 19:26:58 +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 4PVpVV49Wqz4Lbn; Mon, 6 Mar 2023 19:26:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678130818; 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=9ZAX0RH2Kwvtd0P9akK9Ux0hnOt0TaoYLwH4GdLFLx4=; b=m1f4nPD8HvherrJ4sEV1lytfPGzPf48HIXNRDhdE+DLwcIJ9wa0sv6EXw44K7GnIISzial ct5ZxaMd86of9sLKFXDvESTw66Jc9hdZVcLAQ3tlCb766nL531hZELbscgUx5zHRJ7qwcQ NfOMTZs3rtG5kVAZwPmcwtbkMs4+JQvGhSX+fcA94suRiKXXHdO5llo6Hlw2+IOZi78Dl+ wYqHRgvUq7NJyWW18gb/aODtq5kx3N/+dRXFMAWTomWf6cupFdJ0+P4Ogn8NJRFN6mrean ffv2yM/6DFzNYmSvKhFI2U0UCTMAL1GOg5FfhqrOxVtyT0csU6DHPfvawuKU/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678130818; 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=9ZAX0RH2Kwvtd0P9akK9Ux0hnOt0TaoYLwH4GdLFLx4=; b=Z8MYuETV4tkZ3r4FTQkldJfcnR1xxwOOMojfFWIi9BMLwmg2yII4yhC0kZQZfSBPrun+2N vrDmp/H28rXHDuPbg9YVscErkHU1u+4mKFIC3A4vNbZ2qHdMA9EC0lB/AU3/gWtq5lBmZo 9fRcZWSJ6l4vfLWgf819bYzsddEjW6IOlFxZiege1ReMhU3zB0nuFqkRhrgJihTuD1mDsZ v5ePYMTOCqaqluxg9sWYpCuKMC6be7bRK/98J3L763RT8Oc6cHtuyIbz9PhQRGvc5h7zGT BsbGBjdbREKpT3KS+rTHuxmWs2hhHHjVqaYt7bC1SOF/DLDbKy0UXnCfHjjQEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678130818; a=rsa-sha256; cv=none; b=xCiOKnLfru3zot8ISFHuifA7Ab5CazbMOY9d+pSYKgSDvt1Fs6b34Bo4VkWU+REwo2su7A phMhGwEULHXmtd2pPkT4OB6QcWm/tLuU3CYMVCZo5OxlFzexGXl6PY+z6yJv425OsIWHGq VG4QcmvdkWHOa4P2eB0Qa3how6qQ/u/uL8SHQiP+d3NH/AxSRtdo+bDz9TZ2CBAEmZDo8y p+F5vkMxO8lA5cREMxHfHZ5YwzMLYMK61gcyivRaQSInoVlLsNDiY4kv61OG7WMaWHAfbI 0W0jrwtPG6+u9sbN/NCjnHCJ8hQ02WTY1JoansmG4ncTNa+CHH9qO81AQdvukQ== 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 4PVpVV3GdkzDxX; Mon, 6 Mar 2023 19:26:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326JQwBu004192; Mon, 6 Mar 2023 19:26:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326JQwg3004191; Mon, 6 Mar 2023 19:26:58 GMT (envelope-from git) Date: Mon, 6 Mar 2023 19:26:58 GMT Message-Id: <202303061926.326JQwg3004191@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 1be25bdb730f - main - pfctl: remove set but unused variable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 1be25bdb730ff07355cd6f5cb087d58e506c5519 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=1be25bdb730ff07355cd6f5cb087d58e506c5519 commit 1be25bdb730ff07355cd6f5cb087d58e506c5519 Author: Kristof Provost AuthorDate: 2023-03-06 07:10:27 +0000 Commit: Kristof Provost CommitDate: 2023-03-06 18:22:35 +0000 pfctl: remove set but unused variable In pfctl_show_ifaces() `i` is set, but never used. Remove it. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl_table.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sbin/pfctl/pfctl_table.c b/sbin/pfctl/pfctl_table.c index db338fbe0876..3d1aef5571d6 100644 --- a/sbin/pfctl/pfctl_table.c +++ b/sbin/pfctl/pfctl_table.c @@ -585,7 +585,6 @@ pfctl_show_ifaces(const char *filter, int opts) { struct pfr_buffer b; struct pfi_kif *p; - int i = 0; bzero(&b, sizeof(b)); b.pfrb_type = PFRB_IFACES; @@ -598,7 +597,6 @@ pfctl_show_ifaces(const char *filter, int opts) } if (b.pfrb_size <= b.pfrb_msize) break; - i++; } if (opts & PF_OPT_SHOWALL) pfctl_print_title("INTERFACES:"); From nobody Mon Mar 6 20:19:55 2023 X-Original-To: dev-commits-src-main@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 4PVqgb51yXz3wKT3; Mon, 6 Mar 2023 20:19:55 +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 4PVqgb4N2Mz4RTj; Mon, 6 Mar 2023 20:19:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678133995; 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=AsQr2Q6H7AVj/EQhP0H/h8tjshj5aY6UOO0YTroB1j8=; b=RHSZe+TRMEUoZtfXlEUssOKKia7wtQe3Cf69dbSLg1DxIdZGBW+7ivK0c205VAhJNnX64y vJSVX+hBne/pvhyY1sMiuussOS7kt0cFR11G+i7OLt9lUwBTMgzx5NxI9Qb0rUAf7KenHU ZA89hb3gxdBtgk8qtMw0jpTzkkYHZfsWLMOL+1d853nS9CIS9brWBgOWW449cgG4+9Ufgb nL29dTP13/SK8eTetyX52Z0uSRUwJUgWt53M5YPCGXhskQH0+MhhKAq7Z9j0qK0imoTc8t pLuI7n6j8RnoQWk53OAnE1olXzp8oYadKbsTA/sp7Hhu0hj7IdTSGuCu2gf8eQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678133995; 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=AsQr2Q6H7AVj/EQhP0H/h8tjshj5aY6UOO0YTroB1j8=; b=jIL3ZVUwouVmLP68UIb+km06rGlrox47YngVhF/cJnBuqu4xfmQCAVa5JZl8DnrFcI5baU M+Dmng8+brvN3+AAoMP/1X3uLgvX0dGh/9bym2K0BqlOj19j3JF+XE5oOHIK0blkH8Wi/q 2SHazmuVdfS6gyOrBCo9B5oM/p4gZckKHfp6FepI2IG/s2e8V48S1ph4xV8QjHJuva5Rrt kTp0rigyvtVz6t7F12v1SYSEW4wx7QsFuAhfIq1nK+NJw/bTU2LVEg/l3uDOaNkI0GkF5r bSSQfFzOORBFGdzqX/k2qXCZoQsIXdxMPbsynFbGoW59jIkMaWA9nHrciNiaeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678133995; a=rsa-sha256; cv=none; b=i3Rk3+9tJGBmkl+IStcqIzu5oqGQ0osblqr3w2K7W7UdaYgkQC+hExEaoQh0nXxruL5hL4 YmnEH8e/aGsog/j701DlIZ1BvkWy7bs2WXfo2gULeW99+8LtRzfblFIy1VYaiz96knFDk2 RJuCQK+TgYX8OixLoh0r1Nlf004TeiSABYReUIdWMrm2zb/VWjaNwlcIz6ntBfLv8jmuDh YdJPgAwYDtgEn+PaG93HjMvUOo8niLvWYRXWY4k6+P30Cn0OvHJwhS1hEqAWVyvsnoMHto sRWUfwOGt4XW0KrFUQUaOYTctHabH37ohxSTiQ/SKwGbSdcZRiSc7GGzSN1slg== 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 4PVqgb3QJZzG6w; Mon, 6 Mar 2023 20:19:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326KJtbX086488; Mon, 6 Mar 2023 20:19:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326KJtJr086487; Mon, 6 Mar 2023 20:19:55 GMT (envelope-from git) Date: Mon, 6 Mar 2023 20:19:55 GMT Message-Id: <202303062019.326KJtJr086487@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 713264f6b8bc - main - netinet: Tighten checks for unspecified source addresses List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 713264f6b8bc5f927dd52cf8ffcccfa397034fec Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=713264f6b8bc5f927dd52cf8ffcccfa397034fec commit 713264f6b8bc5f927dd52cf8ffcccfa397034fec Author: Mark Johnston AuthorDate: 2023-03-06 20:06:00 +0000 Commit: Mark Johnston CommitDate: 2023-03-06 20:06:00 +0000 netinet: Tighten checks for unspecified source addresses The assertions added in commit b0ccf53f2455 ("inpcb: Assert against wildcard addrs in in_pcblookup_hash_locked()") revealed that protocol layers may pass the unspecified address to in_pcblookup(). Add some checks to filter out such packets before we attempt an inpcb lookup: - Disallow the use of an unspecified source address in in_pcbladdr() and in6_pcbladdr(). - Disallow IP packets with an unspecified destination address. - Disallow TCP packets with an unspecified source address, and add an assertion to verify the comment claiming that the case of an unspecified destination address is handled by the IP layer. Reported by: syzbot+9ca890fb84e984e82df2@syzkaller.appspotmail.com Reported by: syzbot+ae873c71d3c71d5f41cb@syzkaller.appspotmail.com Reported by: syzbot+e3e689aba1d442905067@syzkaller.appspotmail.com Reviewed by: glebius, melifaro MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: Modirum MDPay Differential Revision: https://reviews.freebsd.org/D38570 --- sys/netinet/in_pcb.c | 2 ++ sys/netinet/ip_input.c | 5 +++++ sys/netinet/tcp_input.c | 8 ++++++++ sys/netinet6/in6_pcb.c | 2 ++ 4 files changed, 17 insertions(+) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 5768979f21e0..3b8931a90262 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1262,6 +1262,8 @@ in_pcbladdr(struct inpcb *inp, struct in_addr *faddr, struct in_addr *laddr, } done: + if (error == 0 && laddr->s_addr == INADDR_ANY) + return (EHOSTUNREACH); return (error); } diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c index b8fb3861c5b8..5de09a32a2f5 100644 --- a/sys/netinet/ip_input.c +++ b/sys/netinet/ip_input.c @@ -519,6 +519,11 @@ ip_input(struct mbuf *m) goto bad; } } + /* The unspecified address can appear only as a src address - RFC1122 */ + if (__predict_false(ntohl(ip->ip_dst.s_addr) == INADDR_ANY)) { + IPSTAT_INC(ips_badaddr); + goto bad; + } if (m->m_pkthdr.csum_flags & CSUM_IP_CHECKED) { sum = !(m->m_pkthdr.csum_flags & CSUM_IP_VALID); diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 72faf53299e4..7b9c5668e888 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -672,6 +672,8 @@ tcp_input_with_port(struct mbuf **mp, int *offp, int proto, uint16_t port) * Note that packets with unspecified IPv6 destination is * already dropped in ip6_input. */ + KASSERT(!IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_dst), + ("%s: unspecified destination v6 address", __func__)); if (IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_src)) { /* XXX stat */ goto drop; @@ -740,6 +742,12 @@ tcp_input_with_port(struct mbuf **mp, int *offp, int proto, uint16_t port) TCPSTAT_INC(tcps_rcvbadsum); goto drop; } + KASSERT(ip->ip_dst.s_addr != INADDR_ANY, + ("%s: unspecified destination v4 address", __func__)); + if (__predict_false(ip->ip_src.s_addr == INADDR_ANY)) { + /* XXX stat */ + goto drop; + } } #endif /* INET */ diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 8b1f97f322ef..81a3fd49a93d 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -368,6 +368,8 @@ in6_pcbladdr(struct inpcb *inp, struct sockaddr_in6 *sin6, inp, inp->inp_cred, scope_ambiguous, &in6a, NULL); if (error) return (error); + if (IN6_IS_ADDR_UNSPECIFIED(&in6a)) + return (EHOSTUNREACH); /* * Do not update this earlier, in case we return with an error. From nobody Mon Mar 6 21:03:34 2023 X-Original-To: dev-commits-src-main@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 4PVrdy33qSz3wNH1; Mon, 6 Mar 2023 21:03:34 +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 4PVrdy2Rlqz4ZxC; Mon, 6 Mar 2023 21:03:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678136614; 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=DXgat9aFc8iVhiCK9uwhhA3I+r1zPFCN6J9K3AzczxA=; b=SzjLStWqry5c7muKsfbke85YGihmyO694TeTewHEpDTXBcP2xTVbnjLcuixYVZGtt7Ew0C ClbOYqu0+9HeOgP5o1staHGSIUS/Cu/uCvSugNLOGpSrPJK/if1Q6yiP/0XQbhKSYaV8TR C6WoBjfcyDcJQ3ih92OpqL8KIH8byoRF7xit6FeyXPD2eicKMg6KpShAPYamEVLpmyQSz6 MbleMyzD1QSMpqCu9n99kbWThlEt/vJ0a3h0jlzN9eO2V15Cgek1yBMfKRhwVolXM1YF9D 6/bfr0TIyuZcsICYl6+dIOFfuT7zN14NVxtG4DbqP8Xlm2zz+WCWplZdpVueuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678136614; 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=DXgat9aFc8iVhiCK9uwhhA3I+r1zPFCN6J9K3AzczxA=; b=h23PHmMkrZAoN3lhZU92lNmFSlnlSRqBQNNKWG/Pr7+n9C0xtkW9L8WdscWf35y3rYq58s vH1Y1MmYbdw6T0oUU0401cewvqjPVskTTTQbP7/dy2SOvv3xyDpFccEax3rHs+BuymbinV 6HN8vLwp9OTwmcCLMKEpvp6wS3je/YwdkRxhLUxxxPY1UiJQvRPgjNWB3BGVZqkKPzqlKB qR9AjvXrb58IYgJehLq3eRcfhbpeo0DX377R3nllJk417n8N+UutM/q/m6jbDT2sZnPVAV KziasYrKT1LTU8YeH/Cm2S7x4rrbc4tcbqsUFmBfHfSmccEK6orwVAj9AJi5hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678136614; a=rsa-sha256; cv=none; b=xc+LGZaTHD8iz65FBZAdUAzXwYxzcTt+j93Qvf+FrOadiUNGRnX2C2yzQBaBZ2TLY94zao hN9x8Ffc+d/Wjd6ADaelcLdpMlEUXpRM0jj++7gvvjgp4R0JQ9pDhTx/acjnCOFzgSh0gu 3vveQ/2jxBfM3UbejwRDv8pJP1Ltwe78HZy5Gf090pgPR9twa2yv96SQ78V8qYAEw5vjR8 78DjPH4yoRw/3hJCWKCE1sffubu6MUDAgjG+y4WXxNsz26uvz6R/rb7eHuzdW3albXnP6D 3HghFJOhYE5zt6fGPOtXHd+5fzPyrxglPhk4RwsL7MazY2M5SKKlizTapd7g0g== 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 4PVrdy1T4jzHdm; Mon, 6 Mar 2023 21:03:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326L3YnG068335; Mon, 6 Mar 2023 21:03:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326L3Ypu068334; Mon, 6 Mar 2023 21:03:34 GMT (envelope-from git) Date: Mon, 6 Mar 2023 21:03:34 GMT Message-Id: <202303062103.326L3Ypu068334@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: d7a491dd3037 - main - make showconfig: set MACHINE and MACHINE_ARCH List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d7a491dd3037030a09e579225899cd0617a5ef4f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d7a491dd3037030a09e579225899cd0617a5ef4f commit d7a491dd3037030a09e579225899cd0617a5ef4f Author: Ed Maste AuthorDate: 2023-03-06 15:56:13 +0000 Commit: Ed Maste CommitDate: 2023-03-06 21:03:22 +0000 make showconfig: set MACHINE and MACHINE_ARCH Previously these were not set for the showconfig target, so took the host's value rather than the target. As a result some machine-dependent kernel options were not reported with correct defaults in the src.conf manpage. PR: 269994 Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38926 --- Makefile.inc1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 542121976333..2767a6038354 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -3390,7 +3390,7 @@ check-old: check-old-files check-old-libs check-old-dirs .PHONY # showconfig - show build configuration. # showconfig: .PHONY - @(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes; \ + @(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}; \ ${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes) 2>&1 | grep ^MK_ | sort -u .if !empty(KRNLOBJDIR) && !empty(KERNCONF) From nobody Mon Mar 6 21:09:36 2023 X-Original-To: dev-commits-src-main@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 4PVrmw6cSNz3wNj4; Mon, 6 Mar 2023 21:09: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 4PVrmw64SJz4cCJ; Mon, 6 Mar 2023 21:09:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678136976; 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=HjEq9tq+zu/oxecaEwbf+PADmM87iNekhdDUqrLfR3g=; b=FDKAyjJRyRPoxApfOQBH3hb3noYZZIYLTNa7nCJzChSot1mDLW/f71ruj2wT7CejT1VXfG LG9Tubq0qYi/LbkGgPDSR3eZFNGhfgoeIxEHArMC7LPBF13mAd3e1i5kC5mN5TgVFxGIin EN+/pBpPF7i+oF4X4aSOc517N8CA53vxDA3w+t+nufb95pBp5zW4y+4euvXKovMoJ5c/2c 3g5u/WH5l7ZZN81hdparZWUHF6mNajJmaINqA9sbNKQpYmRsOD3iwmyIrTerM8PRpw18+A V6k4ePVWOsapWa43XhM5beRcMsRMwy6pUHHvt62BEgwz1w9j6oSuO9c00xZq/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678136976; 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=HjEq9tq+zu/oxecaEwbf+PADmM87iNekhdDUqrLfR3g=; b=NBkg/MjSDuyhUV8npE/kLdRwiVsWxavDhDj7zVO+hdLY3+HTwamEtFxhxR2oesXbD2ofks fwMRQKonpb1db/Lgu+wKvmOBRyLeFZdZfUcyJ+s43Fe+rkTru9uE5UbKGkWt0LF8rXunFT DOWrM5Z9W0fMRuxBE0q2YM1h3UHXLUu6c11DOwDos3NyabRPR7Gix8BoeuA6RYgdlTh90m e2KFwr3DkYhkkRB5kuYTHGpxKfGNH5dIBgMyXxV4LWEPAnPwEj/IZj4KZPpG7d41DIzm0w qkIu2dRl4ifLUcb9yI0+QJuQEsF3WGdgBrWuaL2g+9xja5Kobv+MHE7UDWJBjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678136976; a=rsa-sha256; cv=none; b=JjfQLEx2sTlbOEz2NHf0AH3ADwebPybMwimGtY+a+urGTJpD4o33lwdcn55OkHiCP7txkS v0wm/HPRiR9KGA+Lp0AkG2w6Aba95kcufWe5p/TV31fUJVk4EPWbeJA2iR2IUpNLxJoM8d yG6nuV+xl6M8OgEX2c9ACjOkX9wWKKvEbfiNgRDGTVr8T6GIaN7oi79H3TNjHGn77oYEtS txHYJuKjeLh+mtkL1xxzGPlIY7ZO0aBXmhQAcV3gLeCPX1w8DXlmF+4jdUF/d633JBwMtc Xk9f5Nk07Ao0uWHiCXKv7LJBvQlPadzv0JqVNkyVP+KK34ZgqmLK+wyiFUHGSA== 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 4PVrmw4v6vzHgr; Mon, 6 Mar 2023 21:09:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326L9as5069199; Mon, 6 Mar 2023 21:09:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326L9ac0069198; Mon, 6 Mar 2023 21:09:36 GMT (envelope-from git) Date: Mon, 6 Mar 2023 21:09:36 GMT Message-Id: <202303062109.326L9ac0069198@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 3f9c1b2cae5d - main - src.conf: regen after d7a491dd3037 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3f9c1b2cae5d6a223d9306194d72d86b6baadacd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3f9c1b2cae5d6a223d9306194d72d86b6baadacd commit 3f9c1b2cae5d6a223d9306194d72d86b6baadacd Author: Ed Maste AuthorDate: 2023-03-06 21:07:38 +0000 Commit: Ed Maste CommitDate: 2023-03-06 21:08:56 +0000 src.conf: regen after d7a491dd3037 Machine-dependent kernel options are now detected correctly. PR: 269994 Sponsored by: The FreeBSD Foundation --- share/man/man5/src.conf.5 | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index e7bc62d9e2fe..57503f83f307 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,6 +1,6 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. .\" $FreeBSD$ -.Dd March 3, 2023 +.Dd March 6, 2023 .Dt SRC.CONF 5 .Os .Sh NAME @@ -606,7 +606,7 @@ and .Xr efivar 8 . .Pp This is a default setting on -powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le. +powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf. .It Va WITH_EFI Build .Xr efivar 3 @@ -614,7 +614,7 @@ and .Xr efivar 8 . .Pp This is a default setting on -amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf. +amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386. .It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP Do not build ELF Tool Chain tools (addr2line, nm, size, strings and strip) @@ -629,9 +629,18 @@ Avoid installing examples to Include experimental features in the build. .It Va WITH_EXTRA_TCP_STACKS Build extra TCP stack modules. +.It Va WITHOUT_FDT +Do not build Flattened Device Tree support as part of the base system. +This includes the device tree compiler (dtc) and libfdt support library. +.Pp +This is a default setting on +amd64/amd64 and i386/i386. .It Va WITH_FDT Build Flattened Device Tree support as part of the base system. This includes the device tree compiler (dtc) and libfdt support library. +.Pp +This is a default setting on +arm/armv6, arm/armv7, arm64/aarch64, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf. .It Va WITHOUT_FILE Do not build .Xr file 1 @@ -1249,6 +1258,9 @@ amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le Disable the build of the .Dq "OpenFabrics Enterprise Distribution" Infiniband software stack, including kernel modules and userspace libraries. +.Pp +This is a default setting on +arm/armv6, arm/armv7, arm64/aarch64, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf. When set, it enforces these options: .Pp .Bl -item -compact @@ -1347,6 +1359,15 @@ When set, it enforces these options: .It Va WITHOUT_PIE Do not build dynamically linked binaries as Position-Independent Executable (PIE). +.Pp +This is a default setting on +arm/armv6, arm/armv7, i386/i386 and powerpc/powerpc. +.It Va WITH_PIE +Build dynamically linked binaries as +Position-Independent Executable (PIE). +.Pp +This is a default setting on +amd64/amd64, arm64/aarch64, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf. .It Va WITHOUT_PKGBOOTSTRAP Do not build .Xr pkg 7 @@ -1720,6 +1741,9 @@ or .Xr zfs 8 . Also disable ZFS support in utilities and libraries which implement ZFS-specific functionality. +.Pp +This is a default setting on +powerpc/powerpc. .It Va WITHOUT_ZONEINFO Do not build the timezone database. When set, it enforces these options: From nobody Mon Mar 6 21:49:39 2023 X-Original-To: dev-commits-src-main@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 4PVsg75NzSz3wR5S; Mon, 6 Mar 2023 21:49: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 4PVsg74VNnz3Gm6; Mon, 6 Mar 2023 21:49:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678139379; 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=dZvvIF+pSIpWQrx60xeChcPX1K8nAYhY8Wx+RButj5Q=; b=rNlPTJDQApmf7zE+4LEQsMKmORByh2zsKBYS2IJExtJU/jiA61rQV3gQLrvpa9CkNidfLX JMIOtp4yAOit2Lgos1+cy2ec//g/jewDFGpPMsNBBYTXejSFIwocMmPuGXXUVQcusCxkD/ WEDK3ZwWfKhx2BgYA/0sDWUnai6lO4TmC2swy9D1u03G2pkr1V6MuPPWh4Fw3FcLswcIlW CdPEMB6R3esvWuf4+FLV59FEaJvKTVBVJO0kFuAe1+FEuLMWvZsxYBOjld3TAWXuqEiztk 45UIhyb5iwK/C0f7iOh/LzZB+aimkbrq4dN38Gbb1d03Ri8P2xeCLA/2eHMIVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678139379; 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=dZvvIF+pSIpWQrx60xeChcPX1K8nAYhY8Wx+RButj5Q=; b=ipuChEMT8BhFLhREjZYGw53WQSZK0weYB9pbhl1w9tVsDOy+6FTo4zSPZDUY504gA0MVhv R4RifiYcaw3vogQ8N5HQDPkkc/dVrMN/PJBCWTCVPdwDkK2GlNnaylod0dsUWNWu2Oh/+o rVtIt9VRSXBaZBdpQ8gTQptVnR7JeycmAhKrSFiUDn4sPgSqKMc5evxPuRz0NwzpjDQkQo FZldru+Tq9MZI046TS9sZ/6GeWMklnY+VLO4Cxjde88Mm+kwEqYo0uEBGTSWS3tmaV6E35 DR25+UI+WoWLUbfH5USUDCaLk/maTmZou5FzxQhMLCLP276wbA01f4GonzOxcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678139379; a=rsa-sha256; cv=none; b=g5ceKTMUijmT+Dk12rZs6Dw9MR25gpRjJvJ2wzzUAwwoT84rUPupwjDGipSiHSqN8xM2aH kLOsbhy50hglko0j/4MHHgszizjG0/PIfT008j59LnCyJUrcwbzJmNYpJPNr9WNbqy6wSW 3CIGWAJFrb9EeuEgxIcDkC4SJ8b1Er1mbSV1w+zHX0uA2tW6VsO1nt7orsfYGREFGmn0OO 70lCS8XB2ZYmFKcHZ8VjaQMIZEefXH1qWSrg5jflP6poHas9tY5cUneFIk+hi3Eozp/fIY 9P0OrmpcZ6puzqy6oz1kH/BHYtMbrlNcE9nHtemQtgaUT49SWLhMVzfARzqh2A== 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 4PVsg73YKQzJTZ; Mon, 6 Mar 2023 21:49:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 326Lndxp034963; Mon, 6 Mar 2023 21:49:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326LndiN034962; Mon, 6 Mar 2023 21:49:39 GMT (envelope-from git) Date: Mon, 6 Mar 2023 21:49:39 GMT Message-Id: <202303062149.326LndiN034962@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 08e66b7a374d - main - ATM: Remove /usr/include/netnatm when disbled List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 08e66b7a374d7ae12b1b3711faf9b31da1b3976e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=08e66b7a374d7ae12b1b3711faf9b31da1b3976e commit 08e66b7a374d7ae12b1b3711faf9b31da1b3976e Author: Herbert J. Skuhra AuthorDate: 2023-03-06 21:45:39 +0000 Commit: Brooks Davis CommitDate: 2023-03-06 21:47:36 +0000 ATM: Remove /usr/include/netnatm when disbled --- tools/build/mk/OptionalObsoleteFiles.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index b0a425aad67d..239379214e1c 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -105,6 +105,7 @@ OLD_FILES+=usr/include/netnatm/sig/unidef.h OLD_FILES+=usr/include/netnatm/sig/unisig.h OLD_DIRS+=usr/include/netnatm/sig OLD_FILES+=usr/include/netnatm/unimsg.h +OLD_DIRS+=usr/include/netnatm OLD_FILES+=usr/lib/libngatm.a OLD_FILES+=usr/lib/libngatm.so OLD_LIBS+=usr/lib/libngatm.so.4 From nobody Mon Mar 6 22:29:10 2023 X-Original-To: dev-commits-src-main@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 4PVtXm0x9Rz3wTYN; Mon, 6 Mar 2023 22:29:12 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4PVtXl2JH5z3LWt; Mon, 6 Mar 2023 22:29:11 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Authentication-Results: mx1.freebsd.org; dkim=none; spf=none (mx1.freebsd.org: domain of brooks@spindle.one-eyed-alien.net has no SPF policy when checking 199.48.129.229) smtp.mailfrom=brooks@spindle.one-eyed-alien.net; dmarc=none Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id C6DD83C0199; Mon, 6 Mar 2023 22:29:10 +0000 (UTC) Date: Mon, 6 Mar 2023 22:29:10 +0000 From: Brooks Davis To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 08e66b7a374d - main - ATM: Remove /usr/include/netnatm when disbled Message-ID: References: <202303062149.326LndiN034962@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <202303062149.326LndiN034962@gitrepo.freebsd.org> X-Spamd-Result: default: False [-1.65 / 15.00]; AUTH_NA(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-0.99)[-0.992]; NEURAL_HAM_SHORT(-0.86)[-0.855]; FORGED_SENDER(0.30)[brooks@freebsd.org,brooks@spindle.one-eyed-alien.net]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; ASN(0.00)[asn:36236, ipnet:199.48.128.0/22, country:US]; R_SPF_NA(0.00)[no SPF record]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[freebsd.org]; FREEFALL_USER(0.00)[brooks]; ARC_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[brooks@freebsd.org,brooks@spindle.one-eyed-alien.net]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_DN_NONE(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4PVtXl2JH5z3LWt X-Spamd-Bar: - X-ThisMailContainsUnwantedMimeParts: N I must apologize for the typo in the summary line. That was 100% my fault. -- Brooks On Mon, Mar 06, 2023 at 09:49:39PM +0000, Brooks Davis wrote: > The branch main has been updated by brooks: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3D08e66b7a374d7ae12b1b3711fa= f9b31da1b3976e >=20 > commit 08e66b7a374d7ae12b1b3711faf9b31da1b3976e > Author: Herbert J. Skuhra > AuthorDate: 2023-03-06 21:45:39 +0000 > Commit: Brooks Davis > CommitDate: 2023-03-06 21:47:36 +0000 >=20 > ATM: Remove /usr/include/netnatm when disbled > --- > tools/build/mk/OptionalObsoleteFiles.inc | 1 + > 1 file changed, 1 insertion(+) >=20 > diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/Op= tionalObsoleteFiles.inc > index b0a425aad67d..239379214e1c 100644 > --- a/tools/build/mk/OptionalObsoleteFiles.inc > +++ b/tools/build/mk/OptionalObsoleteFiles.inc > @@ -105,6 +105,7 @@ OLD_FILES+=3Dusr/include/netnatm/sig/unidef.h > OLD_FILES+=3Dusr/include/netnatm/sig/unisig.h > OLD_DIRS+=3Dusr/include/netnatm/sig > OLD_FILES+=3Dusr/include/netnatm/unimsg.h > +OLD_DIRS+=3Dusr/include/netnatm > OLD_FILES+=3Dusr/lib/libngatm.a > OLD_FILES+=3Dusr/lib/libngatm.so > OLD_LIBS+=3Dusr/lib/libngatm.so.4 >=20 From nobody Tue Mar 7 01:34:20 2023 X-Original-To: dev-commits-src-main@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 4PVyfN4pR9z3wgV2; Tue, 7 Mar 2023 01:34: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 4PVyfN49LGz3rV3; Tue, 7 Mar 2023 01:34:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678152860; 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=2fW56/M8gjdNcoHkBQiTVc8RIoe6JDRTm6ILPPbA5T8=; b=X5pdh8+K4hyaYTYGjmRhGPmz9ozRrXplD1zE4jfwfrhyUCtmsTQEq6ZEwbUioWWoc8HVjD sQ/JkR9UaXtI9HkKbZ2iF1qKzjETrhSMyvUfmPGiuB7GRRY6qRl98iF/vGr6nbmFF1rjv8 moUFGIxOCo/PbFWgcuxirR6yfXzKMDDHuNEsRVYiAKO8kvvQ/ukZ3e4IMDkpKo5cgyk/db vBJquz3R3tVIW/O0zWlm7V/1k2Ee/bt7UXnBPG3fejRFz6mti6Wnvyyw639bRpHPJc04g+ IKVS/w+OF7rk6oHBY9eHBiKgWWMc/WplG1ezJN4zARgEJYZ+abTXKMAdPTF7xA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678152860; 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=2fW56/M8gjdNcoHkBQiTVc8RIoe6JDRTm6ILPPbA5T8=; b=Y59F+EUPRBIrDaTX4g6vkGblhjYc8QkvOIoNLqZ+C+Xkz1N783DO/jP6oznJS+tZlX8sw4 d1orl/O0KSR+ShCTwIMzbOh/HAd3w5dJ5RWra1O0peeNGfQBEXTEbjWVNGsCKr+SpaeWqe DoN/Ecdk0czjlUp91IKmz9bw3tbQ8xlU1X7jkYOgvYAElXYKySv3SF3ZQAgTlPJ07b6EQ+ 5oxQC1Pg6jpw6NKkfGhSjyMjrXFPhh7vbEvaJWcrNff2SI5Vo68L1uJuLhU+XOuoxSVfSg CHi2n7Kd+DVs2prC92hf62U1QTG8GJZabfSRYTYTCMWG9a6uyfLy8B8wajSv9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678152860; a=rsa-sha256; cv=none; b=E/t1FfmqIswkrs0KAx2idQTeRM2GcoGj0VJPA9/QlJnBWXwBzsTcATl9LwN8xnCPksohw1 7xC31VDGUaXlQAg3e9mg32o9JDZphZZJJxwH+MWk0T/vKUBjxFsK8xK1VwHr+hZ1qv7XnD XxxQw2n04/XwRAS8gjxy2Jyw0YEMAOuKvC+5+u8DSC5UjIZ0xpC2uo7aDHWFPgmuPEAtJf INrmuKlsgZwQU1/5pKm57YYBd/ncsxJ6yCzJJUe2/gYq2WdiYXiozVtmCwC4gyIn7tznPG 4A6FoiaSkVpZUVJkjpjSJZh3VG5Slx8KmVqJzK29+kaFcI4QiQ6M3As/3P9aow== 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 4PVyfN39szzQFx; Tue, 7 Mar 2023 01:34:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3271YKdQ011640; Tue, 7 Mar 2023 01:34:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3271YKNN011639; Tue, 7 Mar 2023 01:34:20 GMT (envelope-from git) Date: Tue, 7 Mar 2023 01:34:20 GMT Message-Id: <202303070134.3271YKNN011639@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 6e0a1438d8f2 - main - src.opts.mk: mark ZFS broken on powerpc, matching kern.opts.mk List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6e0a1438d8f296583beec36fa2fbdc94b69560e0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=6e0a1438d8f296583beec36fa2fbdc94b69560e0 commit 6e0a1438d8f296583beec36fa2fbdc94b69560e0 Author: Ed Maste AuthorDate: 2023-03-06 21:47:36 +0000 Commit: Ed Maste CommitDate: 2023-03-07 01:34:02 +0000 src.opts.mk: mark ZFS broken on powerpc, matching kern.opts.mk Where options exist in both src.opts.mk and kern.opts.mk they should be kept in sync. PR: 269994 Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38935 --- share/mk/src.opts.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 6be0ae89e1dd..319cdbb0ebee 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -348,6 +348,10 @@ __DEFAULT_YES_OPTIONS+=OPENMP __DEFAULT_NO_OPTIONS+=OPENMP .endif +.if ${__T} == "powerpc" +BROKEN_OPTIONS+= ZFS +.endif + .include # From nobody Tue Mar 7 05:46:06 2023 X-Original-To: dev-commits-src-main@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 4PW4Dt5HWqz3wwJq; Tue, 7 Mar 2023 05:46: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 4PW4Dt4nKhz4DTm; Tue, 7 Mar 2023 05:46:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678167966; 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=zQSoFWOJ6aVtJwOEi9yYk6pWjkuiIZ5/PvJcp+M2u4w=; b=LTkhi9+BYis7hgrFisrojTqFsnRTv5U6QoZJbgNNynRbe+CvjGO95vtDRDpgJx5VVxfkst nYR58mMPmGQIe4q/T3fKOuajAZEGQM9fuvywV+NBZ2dGnR7NhaT5DjKbXi1IlWICHqS17f kFFZ5OIvvMdj0TQccWIiBhPuoDBTHrvDCkAGPXVt/cMnnjjBT/XRoTEQmiTdyMoMHDiAH7 0JYgaFrJK/31GBmEnTYeYzJ69tYE356JNcz0tUdzbik9PWE0vk6c4tQnO3TQ+9eRgMr/+0 Oh8iohtxbT0ondsDYRrAhNtcULMPPHk6VqOxdowxiQhPJAoiNXAMVNMNrPpX3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678167966; 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=zQSoFWOJ6aVtJwOEi9yYk6pWjkuiIZ5/PvJcp+M2u4w=; b=QHcugupThKDUhTmiP7w9w3hkgrpgjpn6Hw4IjWXlCq0CppyET92WLu4EB5MITGP7G9rZNq EgQZhbxaZ3s/exl+kGQncrSyuSPOqakgPk/xXcQANwOTEIVNwqG0IeSbif/bKiWPZx3rLL cN9/tYc4Q84kKMIX6ibIPvDSc92NGMPhvWEPDB+oZA4dN2D2Rvg/9Dcz2H1rbAIOE8+0Hv FqAJ7q08OYKd2OD2xJUROr6NSJS1lCN10gslY7O5+SQVCy8gudAq9ttztrxDzOAJcKaAWE XJJYiuukXwqfjX1nAHyTO7P4n18t27OWunCjxeS9dfPRkXIf24+mvAtFI0A4cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678167966; a=rsa-sha256; cv=none; b=lkDpDkxokwozCE+OLPcEeO72kg3wg3T/1FXcYLdskNDrQsoCkX54mdy8x9iZg9qPYsSQjg mAk0MxVJ8z5BN2dmSx6jK1FVQw3P/0dx0QGoVVwPLWxycSfP8haQ2178aeRfy3T3PofPmb c5J/T3OQJ3O0MYR2CWJmqWnuc56yxtMBSKjiFVuNx6kOku05idKcckl41sWsYe3Se70d13 09Qtcc+ZcHhD5M2OkLx61GpSIjXIyBB2Gxa9hAcTqywFFgFjaFXojMia0Cq107O/PmCK2g AleZEk45efFUYkB1ymT2+jFF9EwwlzEJ8pnpmeIcqAJhPoJK34FfcrAW4L7wDw== 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 4PW4Dt3rf1zXXb; Tue, 7 Mar 2023 05:46:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3275k6Ff022745; Tue, 7 Mar 2023 05:46:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3275k6gm022744; Tue, 7 Mar 2023 05:46:06 GMT (envelope-from git) Date: Tue, 7 Mar 2023 05:46:06 GMT Message-Id: <202303070546.3275k6gm022744@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: 7741a5c4dc5e - main - FFS/UFS snapshots: improve documentation for removal (deletion) and unlinking. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 7741a5c4dc5e318dcaabf5e336dfa9cf3f3b6805 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=7741a5c4dc5e318dcaabf5e336dfa9cf3f3b6805 commit 7741a5c4dc5e318dcaabf5e336dfa9cf3f3b6805 Author: Kirk McKusick AuthorDate: 2023-03-07 05:43:32 +0000 Commit: Kirk McKusick CommitDate: 2023-03-07 05:45:41 +0000 FFS/UFS snapshots: improve documentation for removal (deletion) and unlinking. Minor clarification. --- sbin/mksnap_ffs/mksnap_ffs.8 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/mksnap_ffs/mksnap_ffs.8 b/sbin/mksnap_ffs/mksnap_ffs.8 index 658502cffdcb..6274e93a4adb 100644 --- a/sbin/mksnap_ffs/mksnap_ffs.8 +++ b/sbin/mksnap_ffs/mksnap_ffs.8 @@ -46,11 +46,11 @@ The .Nm utility creates a snapshot named .Ar snapshot_name . -This name is a path in the file system being snapshotted. +This name is a path in the file system to be snapshotted. Typically this is under the .Pa .snap directory in the root of the file system, but it can -be anywhere. +be anywhere in the filesystem being snapshotted. Snapshots can be listed using the .Xr snapinfo 8 command. From nobody Tue Mar 7 06:15:48 2023 X-Original-To: dev-commits-src-main@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 4PW4v90qNdz3wxq9; Tue, 7 Mar 2023 06:15: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 4PW4v90LtRz4GZT; Tue, 7 Mar 2023 06:15:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678169749; 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=snD56cwlj2+zllrCT51hImkvM6rG7ll1m2Co+WyqmG8=; b=Q59kLcb5SIJsiZb0VQO3zAP+OFNC9i93apI0JzAwXohUpq4upJaJOcNdjTCpxC+M4WTdmn snKK+RRJQSds6jy7zKb+/Dtj9dl5O9Vev95wyyMW++FePgVOAVPW/M8A0iilXF5o1Md10n uMetsJBze64moaDtjB28ST+M2LP0douAiLvMmpM1a89Q1cWrN9V4Dk/QytzM14OTVcZPCe Bb/rvdeQMpnlpWEnloTWfANYVRwM5IqBNSemEY/T5o1RySZ76Az/Z42il/36KOusxyh6zo yF6in+BKGos9EaZjAf5OaKESh//n2Inp+qwnPY3moycOGdgbRuGcLhfvom4HrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678169749; 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=snD56cwlj2+zllrCT51hImkvM6rG7ll1m2Co+WyqmG8=; b=T6n5MWHLv0sTO/cyVMLovMvZ/oUOXbQOkb1ZkTIV10kUZ5mOfVgj6q4kdzqSUTQ0mHOjF8 6zhuRxnJiIbn4TQJ9veEgXcwWG1oXrA3GL4IapeST2PZinQ1z6P9wP+feH78189URFGB4c FVtkKJwou02yf55QkoZ3cXFoMA5ZP/smN7q0rbO9PplBn6+KxqJjZcRLpqDVp5whbyqgPa VqBaRukwCZ6jLpKUUfPgxhlhuwZ94STJnSZH1fyh6DB22QNOo0wpZwQuYCsAjqPM/yghPS MTeLdAjIyejRFsyduXTV6kXq+hBSoQWuWNxMz1LTg1vcjePUHyxCYaFk2Ns/TQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678169749; a=rsa-sha256; cv=none; b=FkyjtWmlKoBm+2vXkmkZ950kxyOg18sxDW4pJnNFqGcYEi02LpoHpEIIXZZmXZxDbsStkD zpaEIkCWeZCtId+VonbVPdrwwR7g/c7W7chTfYav5F/aJ/kFsYN1F59HmyffY4YhTR4Nhw fg/pBtacry1At1geQKfaYBdLAShtb4D37Mzgx10skydTbrKCbZIOvu3cLwKNqOG6mk1vX8 rKr+bUCZbgOCfJD3NZV16U/C37vqJWu2EiR2wwreplpCgHe+AgndqRYmydiFMa7/sGbMKe InxPU0aC5g+1WShwUkTdA+aBwqF+DOxKejG2NL6Mt9Z6vFCkB808Znr3edaYyQ== 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 4PW4v86YZszY6R; Tue, 7 Mar 2023 06:15:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3276Fmoo072816; Tue, 7 Mar 2023 06:15:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3276FmBL072815; Tue, 7 Mar 2023 06:15:48 GMT (envelope-from git) Date: Tue, 7 Mar 2023 06:15:48 GMT Message-Id: <202303070615.3276FmBL072815@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: d71a00e9f5db - main - arm64: ofw: respect the nonposted-mmio prop in OF_decode_addr() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d71a00e9f5db2379d1f267a151b90f1c19dce24d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d71a00e9f5db2379d1f267a151b90f1c19dce24d commit d71a00e9f5db2379d1f267a151b90f1c19dce24d Author: Kyle Evans AuthorDate: 2023-03-07 06:15:32 +0000 Commit: Kyle Evans CommitDate: 2023-03-07 06:15:32 +0000 arm64: ofw: respect the nonposted-mmio prop in OF_decode_addr() This is the only mapping remaining which needs to respect nonposted-mmio to avoid breaking the boot on Apple silicon. Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D38920 --- sys/arm64/arm64/ofw_machdep.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/ofw_machdep.c b/sys/arm64/arm64/ofw_machdep.c index 3941c1d35617..61aa4c1a1208 100644 --- a/sys/arm64/arm64/ofw_machdep.c +++ b/sys/arm64/arm64/ofw_machdep.c @@ -43,7 +43,8 @@ OF_decode_addr(phandle_t dev, int regno, bus_space_tag_t *tag, { bus_addr_t addr; bus_size_t size; - int err; + phandle_t parent; + int err, flags; err = ofw_reg_to_paddr(dev, regno, &addr, &size, NULL); if (err != 0) @@ -54,5 +55,10 @@ OF_decode_addr(phandle_t dev, int regno, bus_space_tag_t *tag, if (sz != NULL) *sz = size; - return (bus_space_map(*tag, addr, size, 0, handle)); + flags = 0; + parent = OF_parent(dev); + if (parent > 0 && OF_hasprop(parent, "nonposted-mmio")) + flags |= BUS_SPACE_MAP_NONPOSTED; + + return (bus_space_map(*tag, addr, size, flags, handle)); } From nobody Tue Mar 7 10:38:07 2023 X-Original-To: dev-commits-src-main@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 4PWBjr0GNHz3xD2S; Tue, 7 Mar 2023 10:38: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 4PWBjq6tN0z3PNN; Tue, 7 Mar 2023 10:38:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678185488; 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=LVuk0A53WEEOjqCQycAGMJofDRdOy2Rp88QJc3jtPiw=; b=k6o5gUtHmqDDjiraecuQCEwEinedLeizTVYj+AvOC1EcjAEd3IT7E9IGBzIwaJlPYN2m4A WHOf9L0SvjTxzRWmCqP5Z8Y65ieW5Nk/ZO4A0cCccIkfRgdHkBBLBHRnxfUruk7JxDosM7 cnT/tei2T3D+ySMIgXTWMlfaVeyZa/OgxU1FXGTohxX81SJIDMOFV72ZOjb4QIK3D2vxmi FBgoFz0fhEtm1Vo+D46dKp828DTxLEfCw2JNANppLS9VOESa6jhPxkQl+tuQDPK/Vq8EjQ SwaulJjX48ZaBc3uW2m8FfAOpoiYDB/5WWdkJW3IZSWftRm8sdPR3r1y9fUrZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678185488; 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=LVuk0A53WEEOjqCQycAGMJofDRdOy2Rp88QJc3jtPiw=; b=eDa+CFopAiqdM9De0l/nLAUBKUEjEIHaACxo0rdO4MRLWRDeIB20Sq7nwtujx78voIkQTF lVuDHA/ViOtYe86Aa/G+cagYuAfKGc/v65ZB+AKtty5TPB+1OfHDdyy2BcrkfF6fwbJr9H Pph3dZu0njXv/+N+wzLdk8qW8x6rrK2u49j3DfywKiH1L1sNvCS2ZXoHr4/V8PxLqAvZ5+ sa9HdVkkQFmfXh9YsF1U3uyC9t0cjX0nYBCAnjHDGveJqFfMMxV+b732nAoWR9P26ArSi3 QHsRAQCQEet1I5aLOHy6v92qphc/nDqm4xDiskW9bu+HAyLujtlizpNTsNR2nA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678185488; a=rsa-sha256; cv=none; b=cZwdVufaIpiQPKg7tJLv9vqfD7WkV2zF/1fuX+7hwEuumKL1QiNA3ejTkaBQHKv5KJUM7p FdVyjAXyAUjM/ItqyBfC8sfXJiS7VdSCvWSINlKMiTqWRWjUARPkVtwHPrAviyCPW5g5OE B6pqWi3dExrzm0tVHh56bArbkicMdvk2SCJcyANT3GNIqxVBfv8UueCp6/1cxTc0DtFFmZ vWRmEvSdMycsPK5TvtH+WtHUhQZrYGxlJNf8E1SoMvYP4ZHgcA5fC7pRTAI2YgNtZTzCz6 7vb4YhqyE85wLWSmbfVwDyHgDq4owzMu/glcf6USiI4iFjsUjRdYQfMn1HCHRA== 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 4PWBjq5xvTzgjL; Tue, 7 Mar 2023 10:38:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327Ac76o099152; Tue, 7 Mar 2023 10:38:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327Ac7bM099151; Tue, 7 Mar 2023 10:38:07 GMT (envelope-from git) Date: Tue, 7 Mar 2023 10:38:07 GMT Message-Id: <202303071038.327Ac7bM099151@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: f427703f16db - main - carp tests: ensure exactly one jail is master List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: f427703f16db6c33205307d8cc2d9d526bc1c6fd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f427703f16db6c33205307d8cc2d9d526bc1c6fd commit f427703f16db6c33205307d8cc2d9d526bc1c6fd Author: Kristof Provost AuthorDate: 2023-03-06 12:33:50 +0000 Commit: Kristof Provost CommitDate: 2023-03-07 09:51:44 +0000 carp tests: ensure exactly one jail is master Verify that we only have one master, not two. Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netinet/carp.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index 95cb7847ae28..d31a17ed6beb 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -46,6 +46,11 @@ wait_for_carp() [ -z "$(is_master ${jail2} ${itf2})" ]; do sleep 1 done + + if [ -n "$(is_master ${jail1} ${itf1})" ] && + [ -n "$(is_master ${jail2} ${itf2})" ]; then + atf_fail "Both jails are master" + fi } carp_init() From nobody Tue Mar 7 14:46:54 2023 X-Original-To: dev-commits-src-main@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 4PWJDt4xjlz3wF3F; Tue, 7 Mar 2023 14:46:54 +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 4PWJDt4T1Yz4492; Tue, 7 Mar 2023 14:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678200414; 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=wm7aNC0Q77agVU8b7u8rZ4NXxPRC7E3JLZKaU84oYkg=; b=LSk83cSB4ilgT6HPKvWVhWaLjFt88XomnLxWxdkocI4Vl1oZYk7RNRXMg5vmOBMah0jak7 D+dxksAnnUPbt4tOg5eW9YEo8xWVaO6ngs5qEkWqzS6Y8vChkdIyuA5AoZAvaoM+Et64Pf 22dAoiV9QSbNZRj0mQJ8RCxZqpQp6Tq8k+tZguAOZ/kZgF5cJYM0SS1SDmaAfgwHyzLdjU R3IgkcGGBEIKaP5No5b3QLqcV2qLJyFo0EwhAV1iPARee8iIZ5GHuGYfA+x6YomgMFmzvP F8+0d6yzFQNDVTa/tmGUUqdvz/6qQcvYjHtA9/vReI0R6A2kyHUVvv1jYqLHYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678200414; 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=wm7aNC0Q77agVU8b7u8rZ4NXxPRC7E3JLZKaU84oYkg=; b=UNlJLheHib6z+2IbGs0i7GObhDG5OWdsJffiIVgAMwkDsOcCwJ05BUASLFUKSdpIXM4mtJ vxQ+GkMV3/l4RlcA4RTp4WhWP6fhD5bmFAB8je5/LjVBlYHVapqwHky7aaKxZkBMPDPxzq 7JvxZgLyENdxFgLM7kC5eeCNosTEBZygQoZ6K28RNrX/unk+NKd63bUXg9VoTVMIaYWN/k 0E9Lv9pmX0lGFHQupaLqz6LmLQ3cuMI3nqdU7qEPQ8o5lBXf6H9v5pLhS6E9rl1/tKrjWj Oofh9BgI5/ce2yIkTfvyHv1Ro8dDRk7+Oi1DOSV5BLgPscrh8Y79NlGLW4m2QQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678200414; a=rsa-sha256; cv=none; b=dRjkF0hqNH8H0dfhtUEWfuEpdJf/kbSEDu7oD5PYYy2VG/PZksmuICMTq6ohCWeBamaA24 rCNrgvJmG3yc1rMTm4c3zNT10oWnOVzo+Pagrca5jX26A5NnqTKq1gD5uGOhZhMlXGYODS XPCHvlIvdH8H35ZDumFCo2NPFDSYc8SM+Hv6KKHx9xtf5E3cARPHFAz8fc6ZeD06UgAHKo /Ippk3+EpbmH64wK1bb5+H8KyWji/s5/7ugDnMpKx04BqfBjbBmIOOdW8rJmDCK5WRGpqs iz6+Y48sLWjF3Z8GcN8Z/v21U0uruT3dYtbKJSmdl6P+k27Ff3fOh72YRWMWaQ== 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 4PWJDt3Wt2zncV; Tue, 7 Mar 2023 14:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327Eksh3008770; Tue, 7 Mar 2023 14:46:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327EksGF008769; Tue, 7 Mar 2023 14:46:54 GMT (envelope-from git) Date: Tue, 7 Mar 2023 14:46:54 GMT Message-Id: <202303071446.327EksGF008769@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 25c92cd2f6d1 - main - iflib: Further convert to use IfAPI accessors List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 25c92cd2f6d1421a980fda70bd2b045efab65d8f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=25c92cd2f6d1421a980fda70bd2b045efab65d8f commit 25c92cd2f6d1421a980fda70bd2b045efab65d8f Author: Justin Hibbits AuthorDate: 2023-03-06 16:38:05 +0000 Commit: Justin Hibbits CommitDate: 2023-03-07 14:47:00 +0000 iflib: Further convert to use IfAPI accessors Summary: When iflib was first converted some IfAPI APIs were not yet present, so were tagged with "XXX" comments. Finish the conversion by using these new APIs. Reviewed by: gallatin, erj Sponsored by: Juniper Networks, Inc Differential Revision: https://reviews.freebsd.org/D38928 --- sys/net/iflib.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/net/iflib.c b/sys/net/iflib.c index 807ada5eb754..aa16e5d5492b 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -2890,7 +2890,7 @@ iflib_rxd_pkt_get(iflib_rxq_t rxq, if_rxd_info_t ri) static void iflib_get_ip_forwarding(struct lro_ctrl *lc, bool *v4, bool *v6) { - CURVNET_SET(lc->ifp->if_vnet); /* XXX - DRVAPI */ + CURVNET_SET(if_getvnet(lc->ifp)); #if defined(INET6) *v6 = V_ip6_forwarding; #endif @@ -2980,7 +2980,7 @@ iflib_rxeof(iflib_rxq_t rxq, qidx_t budget) } /* pfil needs the vnet to be set */ - CURVNET_SET_QUIET(ifp->if_vnet); /* XXX - DRVAPI */ + CURVNET_SET_QUIET(if_getvnet(ifp)); for (budget_left = budget; budget_left > 0 && avail > 0;) { if (__predict_false(!CTX_ACTIVE(ctx))) { DBG_COUNTER_INC(rx_ctx_inactive); @@ -4103,7 +4103,7 @@ _task_fn_tx(void *context) goto skip_ifmp; #endif #ifdef ALTQ - if (ALTQ_IS_ENABLED(&ifp->if_snd)) /* XXX - DRVAPI */ + if (if_altq_is_enabled(ifp)) iflib_altq_if_start(ifp); #endif if (txq->ift_db_pending) @@ -4315,7 +4315,7 @@ iflib_if_transmit(if_t ifp, struct mbuf *m) else if (ctx->isc_txq_select) qidx = ctx->isc_txq_select(ctx->ifc_softc, m); /* If not, use iflib's standard method */ - else if ((NTXQSETS(ctx) > 1) && M_HASHTYPE_GET(m) && !ALTQ_IS_ENABLED(&ifp->if_snd)) + else if ((NTXQSETS(ctx) > 1) && M_HASHTYPE_GET(m) && !if_altq_is_enabled(ifp)) qidx = QIDX(ctx, m); /* Set TX queue */ @@ -4420,7 +4420,7 @@ iflib_altq_if_transmit(if_t ifp, struct mbuf *m) { int err; - if (ALTQ_IS_ENABLED(&ifp->if_snd)) { /* XXX - DRVAPI */ + if (if_altq_is_enabled(ifp)) { IFQ_ENQUEUE(&ifp->if_snd, m, err); /* XXX - DRVAPI */ if (err == 0) iflib_altq_if_start(ifp); From nobody Tue Mar 7 14:46:55 2023 X-Original-To: dev-commits-src-main@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 4PWJDv6GsWz3wF6k; Tue, 7 Mar 2023 14:46:55 +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 4PWJDv5cFSz44Fr; Tue, 7 Mar 2023 14:46:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678200415; 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=C4YqhJFBPogJN2kPQlityeXtutDU0nTBywNfC/JcBXo=; b=sCf7w5sZz6Muj7JhCB1BljrU8tNrtB/x0ZM3nqNa1MuwY/C4RBQB02QRUA2dpg8bnhV9Cx xJiLck5FVReiunfSVHLV/rsOLjn6hnsFeoHLfj5qOn+g1AhJG8uvctj90Utfm8AmhR5L0c XmIZtyPpeKwwwcTgu1bqAhD9NZPWgl+u5oj4w41PwPywEA1RJwz3nvKJKbtCGStnkNjKtw WoQ/Qj7RO+l7PUluQivdxhgXr6YReBRMeyc7eB46udLC8KqtIQcyNi8UDYPK+JZ4MWEgmm gKu338R2RxMZot1z8Pnfkd6uORhUgRtPKGRSD06l/f5kXY+gnNx+c8AtzXIIeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678200415; 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=C4YqhJFBPogJN2kPQlityeXtutDU0nTBywNfC/JcBXo=; b=D2VfZMa+zaNIKGQwq/s6Fd4vwWzLsNe/lAVToXtrNLK1himDik2CpCu4NiTFzumUFPn4jZ gbrkqlN4kQmjUkBBftS4nOu/+36sOivYR+QLNXLrd6mbyBjpUPQ8lr3d0v9DfLoReJnADe 7OENwKhwnQf6KCMtu6VcaGhKDbJVGR7PgYPSt/CUA2+Pkx352Lhn0qSg+YD3Xh35r/9e1d ubMXB42eQ4Rv6Glr6Ga/DVSBRYxM67hi/fTuH1mQW+99LkqNcbuVzA4GWO2cUiflRk5QH1 qh7biUkQ14XZuYl5ghIy1R58ALcMxEOEVdUNO3ndZJ/EJs4J8D9CZNDR0IAn8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678200415; a=rsa-sha256; cv=none; b=y2BN0Hijw+knLt6uxKwbtfU+NbJQgUJsuznY6mOUz96KZRm9p7xHZ0OHsDychkPtzejEVn qAL8GZtpu58MpQYAU9FT3pufY2rNZaHG2bNXlyLrrZPG++2rU2geF3kZjjPrq836q7SE0j 6plVyF+ai0/jFC0IiM+TVoov2oesA12xKNs2E34evpe/nckGhaSpcQpzabFY/ILSvvjpH9 /XaxWNIc2S2plz/sgPKmDh/w3KxH5sq4/XlUsx/aRtVhc/n7KoHzQdnEYQwQsdd71jpq7V 4Kn7YO6YqDmRe25/JJ5pH+RvurxnXt1IGyfv+bTpks1OpdYVYCeIvtFpMa9cYQ== 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 4PWJDv4PX8zn8F; Tue, 7 Mar 2023 14:46:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327Ektra008789; Tue, 7 Mar 2023 14:46:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327EktcG008788; Tue, 7 Mar 2023 14:46:55 GMT (envelope-from git) Date: Tue, 7 Mar 2023 14:46:55 GMT Message-Id: <202303071446.327EktcG008788@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 084846271a75 - main - ktls: Use IfAPI accessors to get capabilities List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 084846271a75d30e94070d0681ca900438c09f05 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=084846271a75d30e94070d0681ca900438c09f05 commit 084846271a75d30e94070d0681ca900438c09f05 Author: Justin Hibbits AuthorDate: 2023-03-06 18:28:26 +0000 Commit: Justin Hibbits CommitDate: 2023-03-07 14:47:00 +0000 ktls: Use IfAPI accessors to get capabilities Summary: Avoid referencing the ifnet struct directly, and use the IfAPI accessors instead. Reviewed by: gallatin Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38932 --- sys/kern/uipc_ktls.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index cb2e3f272774..5b41cd3f829f 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -900,7 +900,7 @@ ktls_alloc_snd_tag(struct inpcb *inp, struct ktls_session *tls, bool force, * existing pacing rate. */ if (tp->t_pacing_rate != -1 && - (ifp->if_capenable & IFCAP_TXTLS_RTLMT) != 0) { + (if_getcapenable(ifp) & IFCAP_TXTLS_RTLMT) != 0) { params.hdr.type = IF_SND_TAG_TYPE_TLS_RATE_LIMIT; params.tls_rate_limit.inp = inp; params.tls_rate_limit.tls = tls; @@ -915,17 +915,17 @@ ktls_alloc_snd_tag(struct inpcb *inp, struct ktls_session *tls, bool force, params.hdr.numa_domain = inp->inp_numa_domain; INP_RUNLOCK(inp); - if ((ifp->if_capenable & IFCAP_MEXTPG) == 0) { + if ((if_getcapenable(ifp) & IFCAP_MEXTPG) == 0) { error = EOPNOTSUPP; goto out; } if (inp->inp_vflag & INP_IPV6) { - if ((ifp->if_capenable & IFCAP_TXTLS6) == 0) { + if ((if_getcapenable(ifp) & IFCAP_TXTLS6) == 0) { error = EOPNOTSUPP; goto out; } } else { - if ((ifp->if_capenable & IFCAP_TXTLS4) == 0) { + if ((if_getcapenable(ifp) & IFCAP_TXTLS4) == 0) { error = EOPNOTSUPP; goto out; } @@ -1000,12 +1000,12 @@ ktls_alloc_rcv_tag(struct inpcb *inp, struct ktls_session *tls, INP_RUNLOCK(inp); if (inp->inp_vflag & INP_IPV6) { - if ((ifp->if_capenable2 & IFCAP2_RXTLS6) == 0) { + if ((if_getcapenable2(ifp) & IFCAP2_RXTLS6) == 0) { error = EOPNOTSUPP; goto out; } } else { - if ((ifp->if_capenable2 & IFCAP2_RXTLS4) == 0) { + if ((if_getcapenable2(ifp) & IFCAP2_RXTLS4) == 0) { error = EOPNOTSUPP; goto out; } @@ -1618,10 +1618,10 @@ ktls_reset_receive_tag(void *context, int pending) INP_RUNLOCK(inp); if (inp->inp_vflag & INP_IPV6) { - if ((ifp->if_capenable2 & IFCAP2_RXTLS6) == 0) + if ((if_getcapenable2(ifp) & IFCAP2_RXTLS6) == 0) goto out; } else { - if ((ifp->if_capenable2 & IFCAP2_RXTLS4) == 0) + if ((if_getcapenable2(ifp) & IFCAP2_RXTLS4) == 0) goto out; } From nobody Tue Mar 7 14:46:56 2023 X-Original-To: dev-commits-src-main@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 4PWJDw6YRLz3wF3y; Tue, 7 Mar 2023 14:46:56 +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 4PWJDw65Swz449v; Tue, 7 Mar 2023 14:46:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678200416; 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=5sFyASzWHcYUUNG3FKUSvhBTykAIrStNggABLz6vRU0=; b=sz/ZCetxVhxiWQxuWSy4RhCbUezwIBJ+a7m0jpHdvVRqkAQkq4nD6hgy2Ft2Kgrlh21QD+ VTAZJA/puDk1JBbUodtEobWiBMYnkYzgIaK90lCt7S3FpVlhWV85+IhN7AsP1Ueu8ggHb5 NXJSMucmZFCea1Hd+178/HSJtM9/wbS4lewXVFJyR18MxWrlOqk2SmpwRu7CxQEF7e11NR bP7AA/2Roe4b4S2LX81EAgtk/WrsZ1w7xHezSuw9yxGr6jPAmrLjoSVCsG86bAvuH5tyTw UkzMm7gsSM38wSOYvRJRTh1Rw4tNEu/cirqGaSy0w3iH4KWnlnYp5bFJZyMmAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678200416; 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=5sFyASzWHcYUUNG3FKUSvhBTykAIrStNggABLz6vRU0=; b=Jj6gawY//rul0lM+wLtl1JTk2mADjNRkAPgDVffW+g6jrP9xr7vYLmfCgf3wkDkp0M9+MZ V7eiCTT3L5hxDvCKqiLnjNAM8NjRSBaXX9s8b8SfaH2AXPTLrgUultdmwj5tjSICkNfKKV rAJyWBkLdeLau4AYekZQLhvqkeviUBR9YpVA/MakG+mFg6g2rHgifwB41ebs6SMhk4qNox 9hkqFPSLKpVYKVXKRRt+NkXR/Qn4mCCenmXK6NroGt0pSu/mszzPOc81UyfWIeu+4Xmds/ 01tsvCLQLBnExkbuOpK0gFyW0q1mgole6CxOqaRWVSALrr5QJCq2vykRMDwIDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678200416; a=rsa-sha256; cv=none; b=xg51QMRncw1prY5mAflL2tL6LqOTj0HC0vfokt0V0KgISsA2xFX9saCYmf5b+yduAY/FP4 1ynUlukS2vIHU1w3FR6FQVJAggsNz1m+SPGaggwGqpSkQzKdspPwSInO+cyvVGQe9rwhul Sv0V370eK4cTge6Hj/JnTVLmrFqo8h31+InCwQyWgTfCRc/XXmm94Hv5Ny/sqZntC+fpxM 4e1RsAxV0VR0WrEP02wxK+plufjSOFiiBVlQdynmjoxNJiu/UzBEJQ7oeZIcLLPujliZf+ 6hj+9/qOKWasFjla1ZxSvJe0EFc7v6dOSFdx51MqQbfNvjunB7f7rW3iZ4ZKqg== 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 4PWJDw53XHznWd; Tue, 7 Mar 2023 14:46:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327EkuKg008808; Tue, 7 Mar 2023 14:46:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327EkuNE008807; Tue, 7 Mar 2023 14:46:56 GMT (envelope-from git) Date: Tue, 7 Mar 2023 14:46:56 GMT Message-Id: <202303071446.327EkuNE008807@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 56928500eceb - main - linux: Use the if_name() accessor to get loopback name List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 56928500eceb7ff381e2eaf4ea08f36a743d072e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=56928500eceb7ff381e2eaf4ea08f36a743d072e commit 56928500eceb7ff381e2eaf4ea08f36a743d072e Author: Justin Hibbits AuthorDate: 2023-03-06 16:36:31 +0000 Commit: Justin Hibbits CommitDate: 2023-03-07 14:47:01 +0000 linux: Use the if_name() accessor to get loopback name Avoid directly accessing the if_xname ifnet member. and use the designated accessor function instead. Sponsored by: Juniper Networks, Inc. --- sys/compat/linux/linux.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linux/linux.c b/sys/compat/linux/linux.c index dcf5ac1e6892..47a6561264e9 100644 --- a/sys/compat/linux/linux.c +++ b/sys/compat/linux/linux.c @@ -329,7 +329,7 @@ ifname_bsd_to_linux_ifp(struct ifnet *ifp, char *lxname, size_t len) * Linux loopback interface name is lo (not lo0), * we translate lo to lo0, loX to loX. */ - if (IFP_IS_LOOP(ifp) && strncmp(ifp->if_xname, "lo0", IFNAMSIZ) == 0) + if (IFP_IS_LOOP(ifp) && strncmp(if_name(ifp), "lo0", IFNAMSIZ) == 0) return (strlcpy(lxname, "lo", len)); /* Short-circuit non ethernet interfaces. */ From nobody Tue Mar 7 14:46:57 2023 X-Original-To: dev-commits-src-main@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 4PWJDy2gb1z3wF8l; Tue, 7 Mar 2023 14:46:58 +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 4PWJDx6vh9z44DG; Tue, 7 Mar 2023 14:46:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678200418; 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=oxFT0HFt/I5cCSe0SbFe5VcHbjy2P2fMYBrjuQCspV0=; b=VYCwbapM+6e5UQjVUC/lN9GJwqQN5OgCbdbx+Fs2ove4Kvo9CzsRH34fDTXgVa5AhonD/a nVwpojHkceZ/g9WKKq9or/4MhKbV//kUPuv4rUbOiVu6Zmt4z3qd0kQO+wbIsXOzuvG+/t 5aRAIE4qSEQRllVpQK0Cvu+QcYVHMWiuXMMjYDnVjXBuv+nrpvHT7etr+QMT7kxb18Zfm1 qvAiDK8PTerpQFelqKsQmPL4b/+VlgBY3vghnQBcJsH+xoixRnCwLBHA/a8wZf4AAgT78v hpZwd5RgSbRp+ViSi+rY3VgFaNDkE0nspEMxjZNKs2AMi0F2f8Xk0ciLMm8qQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678200418; 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=oxFT0HFt/I5cCSe0SbFe5VcHbjy2P2fMYBrjuQCspV0=; b=YiWxGXQTocTW+DgzNxi4nWZxu5x+Ypqnp0hfATK3D6TgcD4skBOoO2DVbfjPNs0C/2raiJ rIrIVAvogKLAcHhW1UVqqW14zuUE19fzlkuIg+WJJ/vj1z1+pBfxnkcNdE5EG4PD3KT+Jc RA6rWfz8gP82sa41Qo2WScPayLXjvXT8+tC3PsIPlHlzBiMkJIstJoTfezCOvBSsUn6H7/ SN4BEQIYJsGq2ilBf7w1Vv6HVY2hT9jZ1lQc2LSjH4N0rG9r++3ZdHxwvTjBS8eCQAoBwP oDU02EbMnFRL7eayZoX4JmWzJUVjrtkY3BIGwr3BVomKve3BkbwnBfTzGRjBZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678200418; a=rsa-sha256; cv=none; b=tRRXBlERkXNlc0qqtNGnzA9b+fgtFoR3G9VXH46dHFCK4bWobuZ9/6vxxsppv4e2stjkHA nGfltjs5PJERpyq4UbdFoaPq/tGtS/1aLex2lqbi7GqtLLMoVbNSpEPbUNTIo32g8W1SSH pWL9XbaIvZC1N69/QdjXYmicSK6LXyb2XVf1qu8wsWonE5NjavFOr4U/rcVieFLLhG5zj+ R/bCo7anO7qPg7CY5pE7i/SvUo/DyYkWtrFPhfd5b0yjrQT0l4YozoqD9Uo+ZyXW/IsZ6W qGdOQ8eZ+UR8uFQkJZdWCwx5NIzgSrqeNKRwAyzuSXMsXq3gNbg7Z4MDGgosKw== 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 4PWJDx610CznJ5; Tue, 7 Mar 2023 14:46:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327Ekvco008827; Tue, 7 Mar 2023 14:46:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327EkvZt008826; Tue, 7 Mar 2023 14:46:57 GMT (envelope-from git) Date: Tue, 7 Mar 2023 14:46:57 GMT Message-Id: <202303071446.327EkvZt008826@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 6d18b481f276 - main - cpsw(4): Finish conversion to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6d18b481f27639d5129135c95806073e4d677771 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=6d18b481f27639d5129135c95806073e4d677771 commit 6d18b481f27639d5129135c95806073e4d677771 Author: Justin Hibbits AuthorDate: 2023-03-06 21:27:27 +0000 Commit: Justin Hibbits CommitDate: 2023-03-07 14:47:01 +0000 cpsw(4): Finish conversion to IfAPI Two ifnet accesses were missed in 2c7bc0f55. Sponsored by: Juniper Networks, Inc. --- sys/arm/ti/cpsw/if_cpsw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm/ti/cpsw/if_cpsw.c b/sys/arm/ti/cpsw/if_cpsw.c index 6f1bcc345f47..f41770d99df7 100644 --- a/sys/arm/ti/cpsw/if_cpsw.c +++ b/sys/arm/ti/cpsw/if_cpsw.c @@ -1136,7 +1136,7 @@ cpsw_ports_down(struct cpsw_softc *sc) ifp1 = psc->ifp; psc = device_get_softc(sc->port[1].dev); ifp2 = psc->ifp; - if ((ifp1->if_flags & IFF_UP) == 0 && (ifp2->if_flags & IFF_UP) == 0) + if ((if_getflags(ifp1) & IFF_UP) == 0 && (if_getflags(ifp2) & IFF_UP) == 0) return (1); return (0); From nobody Tue Mar 7 14:46:58 2023 X-Original-To: dev-commits-src-main@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 4PWJDz3SR4z3wF6v; Tue, 7 Mar 2023 14:46:59 +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 4PWJDz0hVGz44KL; Tue, 7 Mar 2023 14:46:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678200419; 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=T/8462+pFbWgsBpat22xIs9KN7u/swSCuwgosQMMQ8g=; b=pgIrj+tkM4CNHRGE6oyR4BaT967PdNQx7NNhSoyGKiN4yjKdvr39ZhRKsblMPdyJce0Dp8 0mafce7qqSFXhztgkQyIBWqn2TVfEpt5t0O05dgG2Nk7yFG+MNJd03XVOLm/v0jBoJntd6 HkKq4Dw5yEYgSigg8MWktKxzDVnEiJ4SVjS/x1fW3ZhhgUXX09Ts8ZyYYADDTyDtEfOtfi vbaDF0hx2PLMRHzpBQoolD6kGoJe/CNS6uPEBMkUdsJF9DFcHhkiUti/B8JgkB5lVqNbIb MxPUFsBjleeZXJWJT9t6WIc0nlcSXpsIQrsIaXqZNqXU71q50XWVgGByX2Tz3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678200419; 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=T/8462+pFbWgsBpat22xIs9KN7u/swSCuwgosQMMQ8g=; b=CP0ZbldKnQSzHIhhnP/UCOhBIjBdi4ZiQM3dwIaHUTva65NWsAZnZJj7IWuDnMrr/QoZR9 6A96JHZesP5V4IAO3TutJPMc9CqVNrq0/26/254PwmqcLT9YxXwBOSzFMbi5TSc8b6hj0C L8l1RqkokKMgqikHH/HfvoQeK/Z5K47k3l1sOtS6KdrPF3/rdmYdW9EuKzaqOWn5TolDg6 WqQwB3kQt9fV8j/9+Zn5LZn9l0s4UZ8j43lO5CHEHWkWyPc8473JGn3K28Sm3Baz1WJWHg 6tnTZi/go5ptOueVCqWZxQ/hSiS0+8J6KRJxBbD4sXPA0Wpcefrmcjn8s64JoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678200419; a=rsa-sha256; cv=none; b=AGCGPtN031jZX4xQdqtwQG46eCVPckMeIBPwq1Nkn3AShcDk+LfFL0JXAfI68w2PrBBy9S QvhvcsKpiIzduWAkWIV2/PzaxPt0XvuNc6QIdpQiaaB+5M8MhG5eNnwDQXx3PU1MQIl7rt s22rd2Lbh5a9dKUXsJwbT8ld2UdxSI5rFLVELCSlcVUuBH4WJ+MXG10MzIE2A7sPSuCKve mcFYRtkl+33uwwVRwZDhLRRGkFzZ10cL2N5i5lHJ+XwTtCpEcI0JaMlL1rM9hlS4RNzLum 5NM8MyISsfF4RjK6X+uc1YGrOBRhU9WwL710uG4/gQcozRMPNLEES+BzMM0Bxw== 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 4PWJDy6vbnznFp; Tue, 7 Mar 2023 14:46:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327EkwIM008853; Tue, 7 Mar 2023 14:46:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327Ekw6m008852; Tue, 7 Mar 2023 14:46:58 GMT (envelope-from git) Date: Tue, 7 Mar 2023 14:46:58 GMT Message-Id: <202303071446.327Ekw6m008852@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 068f2c0e10d5 - main - Mechanically convert dwc(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 068f2c0e10d59919b6a5fb0703742a6560289b30 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=068f2c0e10d59919b6a5fb0703742a6560289b30 commit 068f2c0e10d59919b6a5fb0703742a6560289b30 Author: Justin Hibbits AuthorDate: 2022-08-20 02:04:32 +0000 Commit: Justin Hibbits CommitDate: 2023-03-07 14:49:11 +0000 Mechanically convert dwc(4) to IfAPI Reviewed by: manu (older) Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37846 --- sys/arm/allwinner/aw_if_dwc.c | 3 +++ sys/dev/dwc/if_dwc.c | 2 +- sys/dev/dwc/if_dwcvar.h | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/arm/allwinner/aw_if_dwc.c b/sys/arm/allwinner/aw_if_dwc.c index 067afbdbd9c4..c448e9ecf51d 100644 --- a/sys/arm/allwinner/aw_if_dwc.c +++ b/sys/arm/allwinner/aw_if_dwc.c @@ -31,8 +31,11 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#include + #include #include diff --git a/sys/dev/dwc/if_dwc.c b/sys/dev/dwc/if_dwc.c index 5fc735fdd5f1..9165a860bf78 100644 --- a/sys/dev/dwc/if_dwc.c +++ b/sys/dev/dwc/if_dwc.c @@ -475,7 +475,7 @@ dwc_setup_rxfilter(struct dwc_softc *sc) /* * Set the primary address. */ - eaddr = IF_LLADDR(ifp); + eaddr = if_getlladdr(ifp); lo = eaddr[0] | (eaddr[1] << 8) | (eaddr[2] << 16) | (eaddr[3] << 24); hi = eaddr[4] | (eaddr[5] << 8); diff --git a/sys/dev/dwc/if_dwcvar.h b/sys/dev/dwc/if_dwcvar.h index 97ae0ea681c8..f4193b8222c9 100644 --- a/sys/dev/dwc/if_dwcvar.h +++ b/sys/dev/dwc/if_dwcvar.h @@ -65,7 +65,7 @@ struct dwc_softc { int mii_clk; device_t miibus; struct mii_data * mii_softc; - struct ifnet *ifp; + if_t ifp; int if_flags; struct mtx mtx; void * intr_cookie; From nobody Tue Mar 7 15:05:35 2023 X-Original-To: dev-commits-src-main@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 4PWJfR5J0Rz3wFmM; Tue, 7 Mar 2023 15:05: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 4PWJfR3kBkz46k1; Tue, 7 Mar 2023 15:05:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678201535; 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=KGsH5DbaHSfw9gRaD7GfzHh01JyQNIYdeUc1Q/DLtDI=; b=Vt7whyIQttZSIR5MbdVMViCFOxE1K23eMTlE+92NCY17XPTpnJTqY5sVrxDzv1efIPQUlz sm9IBcuhVetTqmP7d7o/zXDrdok5ou3PYtqsyqA5M+J0TZLJUrIDu4Dk84oMpQKNx9SrHq fD3/AwjQDRdYO36E1PxCNYtvomgsWscCIgqXEeozMDj/8SeuZvm5IM/+8BESNTGinnSaYn nfv3ARpU3AzOxiy/gzrItgoxyeIsMk8RhhhLZ7OxGOTrM2dSLC8b8tZiOgJ0FOYBaKi4Dk 6RlEoJV2fLhMjUW6gHvo58pTU4T+Kb30aeSFd2faY5puPIGPtxdvKb7GynkAHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678201535; 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=KGsH5DbaHSfw9gRaD7GfzHh01JyQNIYdeUc1Q/DLtDI=; b=Js70jccNUnyUKgIN9Y3q8PYl9ElqLGviq4EmydqJtk6+wVa8rSXNxseBVhnB1TXzvHSg3k rUavx3nR3a1Rqb5NIHJ5hWKWH6mvNStPOxUcsvzgYsC922bP/agEepDdbYXeoEsZW59mVj jKbDRVV1pV/u+U/esWFPOF5ZJMElyRXU/pkrVg5R3DYBp/pIGJrZWgpdtRFZ+SB5OicPfL yGh/YYRJSafhknBQc47bhOLLB8+GBVvmdn1Wa/2eAKkm3mYgW8sE9IIVkI0IhJtdhk2j41 dQGW+BDGVPrBAnaTcFgjqOf8WELNIEsHHLBlh/U793Q3sO2vjEwoIs5JfAAWNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678201535; a=rsa-sha256; cv=none; b=SQOopoyYsXJFSPXqtu4AkxeuOFsROaoBP/hRZXq4xwuj41DKgYjOyT2GYiKJNdnWrLVCrG Mjv++iFJJowcsZApJ/5gWAJwgr94KPYnZx4wTcBEjcrOdl0dRpQdVIjPvz2YlAe9xWJQqx xePYJQL5wZIf0dW5e/hvwggNzm4oBTxErmC0S5miB5GlVoTYJqttOecWvPVXyF+qoefSO1 wuInG4aASCLfVagOAKS73K/KAwVJq2zXYk4WDI4tCjVjRVhUyIErtWcAzONcKv4Z7wFg9l 47zc9QyWyVTlhXaxAhWFy5SRGtsTruStGE76ocySBki2Czz0Bgpi03S9IEcb3Q== 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 4PWJfR2mG0zp8w; Tue, 7 Mar 2023 15:05:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327F5Z9U042462; Tue, 7 Mar 2023 15:05:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327F5ZlZ042461; Tue, 7 Mar 2023 15:05:35 GMT (envelope-from git) Date: Tue, 7 Mar 2023 15:05:35 GMT Message-Id: <202303071505.327F5ZlZ042461@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 42875200fa44 - main - .gitignore: Ignore LSP generated .cache List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 42875200fa4405aa236880a9fbfea6c43eb7390d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=42875200fa4405aa236880a9fbfea6c43eb7390d commit 42875200fa4405aa236880a9fbfea6c43eb7390d Author: Jake Freeland AuthorDate: 2023-03-07 15:04:18 +0000 Commit: Mark Johnston CommitDate: 2023-03-07 15:04:18 +0000 .gitignore: Ignore LSP generated .cache Language servers like clangd generate a .cache directory to store compilation cache. Tell Git to ignore this directory when staging files. Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D38937 --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 2dadcf8b0bb6..785568271794 100644 --- a/.gitignore +++ b/.gitignore @@ -25,5 +25,6 @@ cscope.po.out compile_commands.json compile_commands.events.json tags +.cache .clangd .ccls-cache From nobody Tue Mar 7 16:13:34 2023 X-Original-To: dev-commits-src-main@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 4PWL8t6yydz3wKgd; Tue, 7 Mar 2023 16:13:34 +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 4PWL8t6KM0z4Dtt; Tue, 7 Mar 2023 16:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678205614; 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=ejltwX7XpWYgdTyw7U93SuDBzBxM7UYyhhoSQsKkaP0=; b=Xn30nKhiH9ErCqfT6kEsiKi1u9LUET9P8l6Nw3DtR4RHUBC9RwvRryJrS7CQgPhCk9Tmzt 5pGZkmHZSGiMfH4l3vEUHse11eTBV9mNeBi8q9aWniDKlAqPJmnofmZCx4EvvteFkquXcZ Yqaddv+qzjW/Eetp+UKKc+CBokRUUEAr/wxTUasQt9ltrL6TnQTmIqsDUf2lBNGQx/Eeds vms57i7bM0XG1V/uB1jGv2JUvrfSRHv2RfK7wlgZ/r5sFQvkgIV49rSNLhA2yXTgtA9jLc LuDo33tedzgiD4awXuQnBAxJHcoGFq2JJR0EIYxTRvEbEbAI8wQLtu6paQl4OQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678205614; 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=ejltwX7XpWYgdTyw7U93SuDBzBxM7UYyhhoSQsKkaP0=; b=MmZ5jQ6JtUyVLVVkk0m0kAOMjzKJ3j/BkvSWP23dIgxnRvfR9dyZ0AKo7FutwlFyJPK617 vVsA/PHiljtJRLs/Epdt0mnUqraPZo6+mTtj43uGQjLU3YTZY0QhFAGcqp+v9y6UWpiz9O ai8hhR2YaD48HnL8SOxluxP5eulZ2f1j/ktvR/KIciMRtvI9Y/3+4FDXMgVIAlKbGwV80U Wfcjifj8wSPskSvD7Yz8da0eOk9xFPbLoSHfh9brfviTpwd3UEBKtCJvN6dhl0JRBPBEH8 KK/iZkF1CrPV2gdWlHSa+iOzIEFGg2nYcI8FPitf9dU1HLKIzTiOKTXBHAD1sA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678205614; a=rsa-sha256; cv=none; b=q6x4zMi1bOMsRVWpbnvAOHRAjGWqwfTZgzfEc7O/GoIYikVy30GXj1zrXtjeE//1m8nq1f /fppwEfN6VBal1e6fWp9oB75fHaE4ivbs9YZjJ6av0x98se4bhFq+2d0YlF86kIkihq5FX JZW03ycoPfVqYOSLDeu4yk+VSJ/jA3cGj1IL9IaikEsm6l3HBBwIg0Y6/RXNaD2lDPR0KT M64tjRo+Urvk7lJsr5cs57QeOq7xk3ibOiBkRDukOpdbyMLri/1eOGmPOxN4/1/CjZEiPH Zts34iVIOzJtUzjzZaRT+xo3zju8saqaCviUsM9iYBkRrmYumJiF2GEB74cYBw== 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 4PWL8t5MgSzqr9; Tue, 7 Mar 2023 16:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327GDYGT057216; Tue, 7 Mar 2023 16:13:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327GDYuO057215; Tue, 7 Mar 2023 16:13:34 GMT (envelope-from git) Date: Tue, 7 Mar 2023 16:13:34 GMT Message-Id: <202303071613.327GDYuO057215@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: cff482380436 - main - bhyve: Move libcasper dependecy to lib9p List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: cff4823804363cf199c7c87eed8870ad014066cc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=cff4823804363cf199c7c87eed8870ad014066cc commit cff4823804363cf199c7c87eed8870ad014066cc Author: Vitaliy Gusev AuthorDate: 2023-03-07 16:09:22 +0000 Commit: Mark Johnston CommitDate: 2023-03-07 16:09:22 +0000 bhyve: Move libcasper dependecy to lib9p libcasper(3) is not used in bhyve. So move dependency to the appropriate place. Reviewed by: markj MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38905 --- lib/lib9p/Makefile | 5 +++-- share/mk/src.libnames.mk | 4 ++++ usr.sbin/bhyve/Makefile | 8 -------- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/lib/lib9p/Makefile b/lib/lib9p/Makefile index c810ccd79e64..5d3681104d8c 100644 --- a/lib/lib9p/Makefile +++ b/lib/lib9p/Makefile @@ -6,8 +6,11 @@ CFLAGS+= -I${.CURDIR} CFLAGS+= -I${.CURDIR}/../../contrib/lib9p +LIBADD= sbuf + .if ${MK_CASPER} != "no" CFLAGS+= -DWITH_CASPER +LIBADD+= casper cap_pwd cap_grp .endif LIB= 9p @@ -28,6 +31,4 @@ SRCS= connection.c \ INCSDIR= ${INCLUDEDIR}/lib9p INCS= fid.h lib9p.h backend/fs.h -LIBADD= sbuf - .include diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk index dd1bc78b1f1a..15971189306a 100644 --- a/share/mk/src.libnames.mk +++ b/share/mk/src.libnames.mk @@ -271,6 +271,10 @@ LIBVERIEXEC?= ${LIBVERIEXECDIR}/libveriexec.a # 2nd+ order consumers. Auto-generating this would be better. _DP_80211= sbuf bsdxml _DP_9p= sbuf +.if ${MK_CASPER} != "no" +_DP_9p+= casper cap_pwd cap_grp +.endif + # XXX: Not bootstrapped so uses host version on non-FreeBSD, so don't use a # FreeBSD-specific dependency list .if ${.MAKE.OS} == "FreeBSD" || !defined(BOOTSTRAPPING) diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index bf0a17edc59e..1c679a3c1578 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -89,14 +89,6 @@ SRCS+= vmm_instruction_emul.c LIBADD= vmmapi md nv pthread z util sbuf cam 9p -.if ${MK_CASPER} != "no" -LIBADD+= casper -LIBADD+= cap_pwd -LIBADD+= cap_grp -# Temporary disable capsicum, until we integrate checkpoint code with it. -#CFLAGS+=-DWITH_CASPER -.endif - .if ${MK_BHYVE_SNAPSHOT} != "no" LIBADD+= ucl xo .endif From nobody Tue Mar 7 16:57:27 2023 X-Original-To: dev-commits-src-main@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 4PWM7W5clZz3wMrp; Tue, 7 Mar 2023 16:57:27 +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 4PWM7W512dz4Kyd; Tue, 7 Mar 2023 16:57:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678208247; 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=iUHRxEyJ8q7orsc1xvPgs6jDyg9pxDqOBMr04okNPRs=; b=f5OrwRFl3KRD0OZTdtO7ZEz8NYmtMpgVdJca3ccVoK5XTp4yO1MiLJJsuhpA25jXgoxbTo jLSRYH4k69qxz9O6eWIiUtEXtwhcb2ZYJbRyJiVNZpqTg/RrBbfwqtiUiktZcgFPZqgl1s cNUiw3bepmtuq7CtOQGt1HqDmlzqOTOX5zVxbwNuU1I97iDArYjW748u5NO92HgLzUMmLT UBWtYY/UeQoZ6wn9jRT1G0dyJoa1AHY10uk7Hz0a++c6jpQ/eFVPsKDQItrHncG2TNX3M5 FaGyRwtm/XjENsMhUsBYQQLh1vvMth7iXR/kcFidNKbv0MfWwmeorSBMH6vISg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678208247; 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=iUHRxEyJ8q7orsc1xvPgs6jDyg9pxDqOBMr04okNPRs=; b=VdPzIRta5FGd3WP7J/9Uf7hUsCoMpwWVvnUikKLoY14bomhtoXWFV76dTlQgljTHA1U5gv QREe6R8FIIaGXv1FbG7Lm1MVP6FDhmIiOoJUofDFTpQNeNI8ssHdJf2o11vLco8gCFZvVl +Xzti2eDjowLtMaO4JZV7wHpkuPU51dwHTXICUki+sM2s/fzqz8kE8VoIZBb957zOMfwOP yotjpSsIzdmOMx4I7rGtvjuQeT1qD1Ie7ptigLd36gsYl0VALFy7hxWvlDjI67DFcyw+Uu ulR4OZIQB+C+ceW7HghArW+HnWIu5/RNwY9ij4Gu9KKi6/CbbO/tJOkRF61hUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678208247; a=rsa-sha256; cv=none; b=qWJYLxiV1v91VmGPGHm0sAtbKMpl56JDfqYxvZxvcykOj0nyCw6SSKXMKmiSaCDycsrP7o 1jfwreeBiMVhTLm8LKgJ6l/d7XZZeuS8F7p0TXquI8wbrvOXAuG+ZAiwu0/r8Ykh+7Gwpw b8uCZeklkT5uPc7NGjoHjchM5Iqe4baq87FwfEh5M+1Zgaq33fqAT77CNjf1V0MGUYj+i/ f4DVsZGSa1ngZjoKg0XinTuXZvTJdu8ijgXDWmm7ihMz9RcG76i+dj7Hnxb/1NjGNSKbhw LTChPWfUiBQJQhB028vV4VuwQlMm2lU0pJi7Li1zm1LgSaKzTIsIO4AbltNvRg== 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 4PWM7W46flzrG6; Tue, 7 Mar 2023 16:57:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327GvRPG023225; Tue, 7 Mar 2023 16:57:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327GvRMC023224; Tue, 7 Mar 2023 16:57:27 GMT (envelope-from git) Date: Tue, 7 Mar 2023 16:57:27 GMT Message-Id: <202303071657.327GvRMC023224@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 343c112dfea5 - main - altera: Fix build from 068f2c0e10 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 343c112dfea5fba9bd57e23e942cf939f69d7a34 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=343c112dfea5fba9bd57e23e942cf939f69d7a34 commit 343c112dfea5fba9bd57e23e942cf939f69d7a34 Author: Justin Hibbits AuthorDate: 2023-03-07 16:42:09 +0000 Commit: Justin Hibbits CommitDate: 2023-03-07 17:00:00 +0000 altera: Fix build from 068f2c0e10 Missed the altera dwc driver in the conversion. Fixes: 068f2c0e10 Sponsored by: Juniper Networks, Inc. --- sys/dev/altera/dwc/if_dwc_socfpga.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/altera/dwc/if_dwc_socfpga.c b/sys/dev/altera/dwc/if_dwc_socfpga.c index e899605c2541..35abb0393671 100644 --- a/sys/dev/altera/dwc/if_dwc_socfpga.c +++ b/sys/dev/altera/dwc/if_dwc_socfpga.c @@ -37,8 +37,11 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#include + #include #include From nobody Tue Mar 7 17:21:40 2023 X-Original-To: dev-commits-src-main@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 4PWMgT3ydFz3wPTl; Tue, 7 Mar 2023 17:21: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 4PWMgT0rThz4Pr1; Tue, 7 Mar 2023 17:21:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678209701; 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=iyS9goIbiq43gR7ApJmDuV6OzsOAF3nE0bxRt1DAVNM=; b=PmN12C9Zqwd6Y5PsPG+2zTSOdf7I1cUUUHx8eU47y1RR4TdVnvo1dn1QAgqewHkVRC2Ep6 cAV2ndhm7AcrNtzqMjfBesh7pr5KXMCRNXxqa0MgxlSlz1S10epcFMmlNVuwy+XVdUE7H2 fwvYzFf2HkGxU6sNLZznj5XC7TuAv85coLS0sCsHkqnG4E6vWRwtgLb1lXOq0XqiUNENDq /yQA+TpfeOJPUPXjdfNmCxVv815xi3eJSYgJv/3g3xq2erD7b5k7iUBTUplTe7AStJDiAs oSWa/PnO+Yw//Olsmv+7EdogfgITQH6nIi9ju9SkxNLhhddHKLqb2M558n6j/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678209701; 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=iyS9goIbiq43gR7ApJmDuV6OzsOAF3nE0bxRt1DAVNM=; b=q0MJ2YqM+Jz9qIRCgJmPOLcRP9CiA5ryKk3zPN5gXs5rWdaFQt1jK2fhTJNZeNdWyiw6sp KLsDbroy5nikEcIh+zpIpEuoseqWJqibwBDYvTHP7Sgc5X11spn7KNAdVh+VtHGKbLulM4 suIkWIQICuNGiV2xM91uASV6UXpvZBV7qguZ/0K3ofU+8TNSRbR+ERflKNvOQNtnY9t/6Q NTGdBVaSctyBR95YkuHY/eBarq6DBD0V106shCqQccubn12Yh+AbuwjEEY/IYzlqubeb2g t6vjNJskWNWCsxsryQz0+tCuHIvdldjapXFTEU/3KI92ugeqRYPMe4+vhFGimQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678209701; a=rsa-sha256; cv=none; b=YIS6PMhnHuR6i+3TiiRQjUcF0gV3abGwpQD1auCTJxuh9aGsbUWwv8bLf1mvDG6gydOSvY G5UgOYWgmqbN0e6bqGBTxIaEzixbqGOFbmRw/GLXYqtC3wQc4aHhhJ+UHwlf4Qq6ZxnEu3 VbttvvYjuoGj2QnjKzx0M7sD0KYpuF5FFjWTRQqmvKXdSZTKjHJwYgBAmWXLLQ0wHGa0A9 quIFTGbw+OYPfxWf4BUzDWliTdUiDnWLIPSOlfcjB7uAuLxV6o1vqNKFOv7t+rDvX/mHmZ LcRIbm2Bm+NWEgiURFtOfUxNDTsbIDN6cauoFxySwjlmE1+5lIJGELP5foIx0w== 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 4PWMgS70g3zrnp; Tue, 7 Mar 2023 17:21:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327HLe2Z068533; Tue, 7 Mar 2023 17:21:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327HLe8B068532; Tue, 7 Mar 2023 17:21:40 GMT (envelope-from git) Date: Tue, 7 Mar 2023 17:21:40 GMT Message-Id: <202303071721.327HLe8B068532@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: b1218349edec - main - tarfs: Set mountedfrom correctly. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b1218349edecda9723430be45c68f6e1d29e32fe Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b1218349edecda9723430be45c68f6e1d29e32fe commit b1218349edecda9723430be45c68f6e1d29e32fe Author: Dag-Erling Smørgrav AuthorDate: 2023-03-07 16:04:18 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-07 17:20:49 +0000 tarfs: Set mountedfrom correctly. Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: sjg, kib Differential Revision: https://reviews.freebsd.org/D38930 --- sys/fs/tarfs/tarfs_vfsops.c | 2 +- tests/sys/fs/tarfs/tarfs_test.sh | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/fs/tarfs/tarfs_vfsops.c b/sys/fs/tarfs/tarfs_vfsops.c index 059608ea60a5..03dc598f4b69 100644 --- a/sys/fs/tarfs/tarfs_vfsops.c +++ b/sys/fs/tarfs/tarfs_vfsops.c @@ -991,7 +991,7 @@ tarfs_mount(struct mount *mp) MNT_IUNLOCK(mp); vfs_getnewfsid(mp); - vfs_mountedfrom(mp, "tarfs"); + vfs_mountedfrom(mp, from); TARFS_DPF(FS, "%s: success\n", __func__); return (0); diff --git a/tests/sys/fs/tarfs/tarfs_test.sh b/tests/sys/fs/tarfs/tarfs_test.sh index 388a78efa476..32576cbf57b6 100644 --- a/tests/sys/fs/tarfs/tarfs_test.sh +++ b/tests/sys/fs/tarfs/tarfs_test.sh @@ -38,10 +38,12 @@ tarfs_basic_head() { atf_set "require.user" "root" } tarfs_basic_body() { + local tarball="${PWD}/tarfs_test.tar.zst" kldload -n tarfs || atf_skip "This test requires tarfs and could not load it" mkdir "${mnt}" - "${mktar}" tarfs_test.tar.zst - atf_check mount -rt tarfs tarfs_test.tar.zst "${mnt}" + "${mktar}" "${tarball}" + atf_check mount -rt tarfs "${tarball}" "${mnt}" + atf_check -o match:"^${tarball} on ${mnt} \(tarfs," mount atf_check_equal "$(stat -f%d,%i "${mnt}"/sparse_file)" "$(stat -f%d,%i "${mnt}"/hard_link)" atf_check_equal "$(stat -f%d,%i "${mnt}"/sparse_file)" "$(stat -L -f%d,%i "${mnt}"/short_link)" atf_check_equal "$(stat -f%d,%i "${mnt}"/sparse_file)" "$(stat -L -f%d,%i "${mnt}"/long_link)" From nobody Tue Mar 7 17:21:42 2023 X-Original-To: dev-commits-src-main@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 4PWMgV3dBSz3wPtg; Tue, 7 Mar 2023 17:21: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 4PWMgV37TVz4Q45; Tue, 7 Mar 2023 17:21:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678209702; 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=pxZm1UIUOU0LqSJbPOES1emxPfFtSxmtizKMFluSNes=; b=YoBwuwowwbuuIzIeZ5omHjLGFzwJqao9uLvOzt+1Dq1811E5pPqBM/Rx0KIsg5rALEqLSs viAAt4OIyRouCQHFvWn4c5eKuKuELSah1lPHGJDRGor1cwYAj9RvRbH3xr38iwJRjgtoGr ieWFxfBxn+ETbgCjipwi9sjdVVwgWh466KDRf/fVO4gL2D3b+NAfTOoo4H17PX3M5XwkIm kev5NXP/JqazMydyB7a0EQQ3p5BuWF5tfL65e4qK05WTTUMueaBMujwatji/YwvN0/crzD Lt36q8ZsjK+iy+Urz1WLVQM6w6hHU2P0cS85og9YzTpue9i280PigcjaZWazRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678209702; 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=pxZm1UIUOU0LqSJbPOES1emxPfFtSxmtizKMFluSNes=; b=lXaPNEJ/ok0c/qXW4k4e1IMb3hVVxXc+usObpiSyGypFHA1mpMLigC987ddYi2OXc50X01 3mLastTQa292k61+X6LAXG4qVWEfSWMFsuG/fU6s7s4gtzRfyn3Ht8UrKLBeIKvPwG1G+O f5uA/p3K5zt1gMAVaRcEBRWRv6H0ZVTufeeZptxDjVuIoMhARnVBdxYJz8Fhd1HSyetbpq MwLe3REwF5x4JFNcAODojwtJxIbI/5QWnHf1kmfb8ZCgKkurrbLrdwYvOhJztFbSXzJ3s2 W1XqrezEN1FhWUcTzaCVI50ZxuIHDZ7KsKLqVDCmVF254TL2VM/tM6UkfgWlbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678209702; a=rsa-sha256; cv=none; b=sRe6AkJUCGmP7kXFqtiWlmBfjFK+Tkn9v/X0XmDMuz6E7INlQF8gpwrwcO5mxVbMRJ2NwF ISDClc+nWuZl0Fx5f60FMajkbzjHDqkO1qVmOISX2cpOJW5snpFRg1PpUVaT+z2gA3ch91 hHMH0sE0T+DJRkyy2xULbIs0VLkLOn79JIn8F0GJhEI1N2vX80biRFB4Rp/oheZoScOyKm GU/9KAIh8qnLP1NbR1g9yFo6Y8pjObenFV2zMeOjjbGrw143pdEUsd2jYYDPafDNpRo3UY GykX3YAFcQTtrdi9DXiJBMP5aM6q2Ev0vQqApN7fdIPfsdhv66hgKIOY8DXh3w== 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 4PWMgV0XtvzsVf; Tue, 7 Mar 2023 17:21:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327HLgPd068557; Tue, 7 Mar 2023 17:21:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327HLgf3068556; Tue, 7 Mar 2023 17:21:42 GMT (envelope-from git) Date: Tue, 7 Mar 2023 17:21:42 GMT Message-Id: <202303071721.327HLgf3068556@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 473a2c9a40e8 - main - byacc: Disable backtracking extension. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 473a2c9a40e8413c8dec340472b0b0970536eafb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=473a2c9a40e8413c8dec340472b0b0970536eafb commit 473a2c9a40e8413c8dec340472b0b0970536eafb Author: Dag-Erling Smørgrav AuthorDate: 2023-03-07 16:04:24 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-07 17:20:49 +0000 byacc: Disable backtracking extension. When updating byacc to 20230201, I enabled the backtracking extension as it seemed useful and harmless. With a little more experience, it appears to have more impact than I initially thought and I'm no longer sure how useful it really is, so turn it back off. PR: 244149, 269425 Sponsored by: Klara, Inc. Reviewed by: imp, jkim Differential Revision: https://reviews.freebsd.org/D38931 --- usr.bin/yacc/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/yacc/config.h b/usr.bin/yacc/config.h index 49714b024802..c510439659ec 100644 --- a/usr.bin/yacc/config.h +++ b/usr.bin/yacc/config.h @@ -105,7 +105,7 @@ /* #undef USE_VALGRIND */ /* Define to 1 to enable backtracking extension */ -#define YYBTYACC 1 +/* #undef YYBTYACC */ /* Define to 1 if you want to perform memory-leak testing. */ /* #undef YY_NO_LEAKS */ From nobody Tue Mar 7 17:21:43 2023 X-Original-To: dev-commits-src-main@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 4PWMgW3NWRz3wPWk; Tue, 7 Mar 2023 17:21: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 4PWMgW2ttGz4Q6p; Tue, 7 Mar 2023 17:21:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678209703; 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=yd/GtvKLWzpoLRgdKbjC6ZsUlXmX9hm7bT0vLErtFlo=; b=OaFXex8VucEsK8uqbmgws3tyh58/nrkIjvKhqRHxAv2AjQTFZrMPFOnJDI4VKraLByzbml s+aAmoA7RNSURUCngaor8Q9cORBXWxXqU1X9A/VzPtBf6Df73Dcfmk8JxnDsFMVIncOsXs p3u1EyJZObTY/e38O+0X20FmSkcEAcn9psmDF6PgvGgD7rbHUrY++rKWL65IsoC//rVUnU RJgO2/v00zZdy7tC0wShWkRakDmsUxzeHIhdLfGhaqCxsVNC+tob/kcInqIyhlxFfyfSS+ 76pe6+tiRtSHUlk7EqKByzpsUv5m1Poxm4tjX4+yph50TzdD970DCbT5IQQSwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678209703; 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=yd/GtvKLWzpoLRgdKbjC6ZsUlXmX9hm7bT0vLErtFlo=; b=c+h3D4mgbrtJxn4hNV8muWXY6AV49Ye9tjUdvl7rOc40oY/GrzSZDKWt33eK/5CntGI0EQ 1BJ4onMxGa2exO/gRZoLwUg1QMONY1BizpfsI2k+158gIIf4o41NXfhrN9fq/27O+M85ST cHR070plNC1xCX5Vu1DzEYEnvexna1uKfasPNkRtxddIbyw8WkAEKt3SF49wlVM3Mf1ptM o5VJByCwxSon2k1ks0bk/t/RST5Fqvpi2fAj9yKCvtvS4fUwqgrHsJwks/h+WWa8xz7Qbb 93KJ8XRGEPSVRtIlrbWWo93Hft8xKDe/t0d7TqmHUsBligQhUYzvvVBXbJeSnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678209703; a=rsa-sha256; cv=none; b=a7gryl6ZVAtoP/S0riGHabyq7ajLF2kL9KnhjwY9t8AF3IYW++lN37MuTvJuZ/3Fd7M8/S bxPmk348/abyhJttT6tdKOHkOhd8Uq/zZZ8pqy2vCXOaPkAMZGQY92uRQihDVGVRgTZKxs 7EDwuw9nzZmprCYFrnp+w+ddbZ4E2KcfV5LBIiipglwo1+o6WA9gz5E9XJ5c57mT1iPVbG z40zy3DcHvE4SuacEaXAxyySFD9EaQxH8O78wmrRvcQrCym+KGLbGXH4cJol7+T6umlna1 pXYN7mb21SG0xd1V5HBzKSBozr0stIuGUm1kc8QtMtWAg/+QXnrgYd5ghUy5AQ== 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 4PWMgW1qqhzsbc; Tue, 7 Mar 2023 17:21:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327HLhOm068581; Tue, 7 Mar 2023 17:21:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327HLher068580; Tue, 7 Mar 2023 17:21:43 GMT (envelope-from git) Date: Tue, 7 Mar 2023 17:21:43 GMT Message-Id: <202303071721.327HLher068580@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: a9a38dea37ef - main - libc: Remove prototype and documentation for tzsetwall(). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a9a38dea37ef4b8a404978de9c5db0ab9f0ba07b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=a9a38dea37ef4b8a404978de9c5db0ab9f0ba07b commit a9a38dea37ef4b8a404978de9c5db0ab9f0ba07b Author: Dag-Erling Smørgrav AuthorDate: 2023-03-07 16:04:29 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-07 17:20:49 +0000 libc: Remove prototype and documentation for tzsetwall(). PR: 269445 Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D38481 --- ObsoleteFiles.inc | 3 +++ include/time.h | 1 - lib/libc/gen/Makefile.inc | 1 - lib/libc/gen/tzset.3 | 22 +++------------------- lib/libc/stdtime/ctime.3 | 6 ++---- 5 files changed, 8 insertions(+), 25 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 74f0c70c25f1..23bdd366f40b 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20230306: remove tzsetwall(3) +OLD_FILES+=usr/share/man/man3/tzsetwall.3.gz + # 20230208: new clang import which bumps version from 14.0.5 to 15.0.7 OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/algorithm OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/complex diff --git a/include/time.h b/include/time.h index a64a331ee52e..f8560a285bb0 100644 --- a/include/time.h +++ b/include/time.h @@ -169,7 +169,6 @@ char *strptime(const char * __restrict, const char * __restrict, #if __BSD_VISIBLE char *timezone(int, int); /* XXX XSI conflict */ -void tzsetwall(void); time_t timelocal(struct tm * const); time_t timegm(struct tm * const); int timer_oshandle_np(timer_t timerid); diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index f222565fd0bc..860e96bcd291 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -547,7 +547,6 @@ MLINKS+=tcsetattr.3 cfgetispeed.3 \ tcsetattr.3 tcgetattr.3 MLINKS+=ttyname.3 isatty.3 \ ttyname.3 ttyname_r.3 -MLINKS+=tzset.3 tzsetwall.3 MLINKS+=unvis.3 strunvis.3 \ unvis.3 strunvisx.3 MLINKS+=vis.3 nvis.3 \ diff --git a/lib/libc/gen/tzset.3 b/lib/libc/gen/tzset.3 index 788a6259b727..0403fd4a5366 100644 --- a/lib/libc/gen/tzset.3 +++ b/lib/libc/gen/tzset.3 @@ -31,12 +31,11 @@ .\" @(#)tzset.3 8.2 (Berkeley) 11/17/93 .\" $FreeBSD$ .\" -.Dd February 8, 2023 +.Dd March 6, 2023 .Dt TZSET 3 .Os .Sh NAME -.Nm tzset , -.Nm tzsetwall +.Nm tzset .Nd initialize time conversion information .Sh LIBRARY .Lb libc @@ -44,8 +43,6 @@ .In time.h .Ft void .Fn tzset void -.Ft void -.Fn tzsetwall void .Sh DESCRIPTION The .Fn tzset @@ -99,17 +96,6 @@ environment variable does not specify a file and cannot be interpreted as a direct specification, .Tn UTC is used. -.Pp -The -.Fn tzsetwall -function is equivalent to calling -.Fn tzset -with the -.Ev TZ -environment variable unset. -It is deprecated and may not be available in -.Fx 14.0 -and later. .Sh SPECIFICATION FORMAT When .Ev TZ @@ -336,7 +322,5 @@ leap seconds are loaded from .Sh HISTORY The .Fn tzset -and -.Fn tzsetwall -functions first appeared in +function first appeared in .Bx 4.4 . diff --git a/lib/libc/stdtime/ctime.3 b/lib/libc/stdtime/ctime.3 index de3a57bab59e..b347e5362948 100644 --- a/lib/libc/stdtime/ctime.3 +++ b/lib/libc/stdtime/ctime.3 @@ -30,7 +30,7 @@ .\" From: @(#)ctime.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd September 16, 2022 +.Dd March 6, 2023 .Dt CTIME 3 .Os .Sh NAME @@ -395,9 +395,7 @@ field of a returned structure points to a static array of characters, which will also be overwritten by any subsequent calls (as well as by subsequent calls to -.Xr tzset 3 -and -.Xr tzsetwall 3 ) . +.Xr tzset 3 ) . .Pp Use of the external variable .Fa tzname From nobody Tue Mar 7 17:31:43 2023 X-Original-To: dev-commits-src-main@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 4PWMv33LT8z3wQ2Y; Tue, 7 Mar 2023 17:31: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 4PWMv32Nfpz3CnJ; Tue, 7 Mar 2023 17:31:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678210303; 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=jjwjNZW//GmHJtuKbMZAE2WLKB9HtfRTyHYLYJzXgOU=; b=gfjejwHeusG3r9cITVsNisH9twkKy6ffVYH7N+SOuehkTY7I96UwRvzl5TRyWYFOXQVYJB 7ktA5WV0Fgud1zOW43wGmxWzSww2xfPkPhMPrC6v6CHSmOimv/cy4EZi3OD8+G1fOr3tSC 6rTCLvTCcA6YBgj0gAPna6BIPuCBEliUEAlfEPrgDd4ALIpaZHNOfOz4Vq+kOrLTgrNztw Rzzizawn4ZwqT81wqDXdUhvI4lKjZvLH1XmMwHKggsWs5hWPD18AOiUibn919G4ex9gHF/ 2lTn22v2cKR2xAcGen+XSBHpHIWWqRNXg0+VIcm/TFPo+BmRU8lZTzLZF4Kuag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678210303; 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=jjwjNZW//GmHJtuKbMZAE2WLKB9HtfRTyHYLYJzXgOU=; b=VdOhB7SDsTCd67moR2+nj2GgxdBaGDD9IjLYjG3JDt3hivSacdjSbhufHMZA21YQopK9Zq +7uTtn/r8ZFBV3RsI6U0hhtAMtopPGARItT+Q+/LF01mSN6LnqtaCLr2pJCEviUQWoZyrX 9WK9D1n1oNrRaoJQziPuWkBX4lhfVfwJgHpx2qhfIOntJlqPtSouG5AtBr8lXHxmEv+qko 0GMrUAk8TryHcvtdSJLfHsN8fx5y3928wyqbMPmkj/LK+GujrBcaMxAl0Medtv9uWvpr0x ZjUV8xbmnDeQpBPEztwFfM3YzvaTcyYIoXgwn9x2TXB9uSEE4g4s6IEfZhyI7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678210303; a=rsa-sha256; cv=none; b=pN91QJH3LK7PrJNlr4C1j/p8tA3JHTOksJjq6jgbqZhBIuU7q5GeGi0qdIIAVraw7v80f4 r1sLpWbHhzRoaIYk/ucltK6e8wP4j+Pz8IA5FXVShrBosJ5HCs7J+YJawmRs1bT/dDrSoq FNj1G73QaVtYx5R8Cs+SlGf4TOxuaLmWxVQAuxG0Rn4CzIJQBGGLsfdmL6lQOm1aOX5wLU C5qAsutBhjtLGhwgE/qlKxoJuFU1fOhQv2Jr7tOuf1nzEiobNuH4ghCSTaDw2qgnM4xBS2 gq92ONkM3yBn92XNjYv9QtCCp5t9YMGIJG5HTKCjYqZt0tQB84tcM9rLbplFkg== 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 4PWMv31R62zsMl; Tue, 7 Mar 2023 17:31:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327HVh92084692; Tue, 7 Mar 2023 17:31:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327HVhFV084691; Tue, 7 Mar 2023 17:31:43 GMT (envelope-from git) Date: Tue, 7 Mar 2023 17:31:43 GMT Message-Id: <202303071731.327HVhFV084691@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: c57dfd92c876 - main - tests: add more netlink tests for neighbors/routes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c57dfd92c876fabc04e94945dd9534468520bbbf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=c57dfd92c876fabc04e94945dd9534468520bbbf commit c57dfd92c876fabc04e94945dd9534468520bbbf Author: Alexander V. Chernikov AuthorDate: 2023-03-07 17:30:35 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-03-07 17:31:26 +0000 tests: add more netlink tests for neighbors/routes Differential Revision: https://reviews.freebsd.org/D38912 MFC after: 2 weeks --- tests/atf_python/sys/net/netlink.py | 121 ++++++++++++++++++++++++++++++----- tests/sys/netlink/Makefile | 1 + tests/sys/netlink/test_rtnl_neigh.py | 53 +++++++++++++++ tests/sys/netlink/test_rtnl_route.py | 23 +++++++ 4 files changed, 183 insertions(+), 15 deletions(-) diff --git a/tests/atf_python/sys/net/netlink.py b/tests/atf_python/sys/net/netlink.py index ec5a7feef317..bfbf3217d52a 100644 --- a/tests/atf_python/sys/net/netlink.py +++ b/tests/atf_python/sys/net/netlink.py @@ -29,6 +29,12 @@ def align4(val: int) -> int: return roundup2(val, 4) +def enum_or_int(val) -> int: + if isinstance(val, Enum): + return val.value + return val + + class SockaddrNl(Structure): _fields_ = [ ("nl_len", c_ubyte), @@ -125,8 +131,8 @@ class NlRtMsgType(Enum): RTM_DELROUTE = 25 RTM_GETROUTE = 26 RTM_NEWNEIGH = 28 - RTM_DELNEIGH = 27 - RTM_GETNEIGH = 28 + RTM_DELNEIGH = 29 + RTM_GETNEIGH = 30 RTM_NEWRULE = 32 RTM_DELRULE = 33 RTM_GETRULE = 34 @@ -491,6 +497,39 @@ class IfattrType(Enum): IFA_TARGET_NETNSID = auto() +class NdMsg(Structure): + _fields_ = [ + ("ndm_family", c_ubyte), + ("ndm_pad1", c_ubyte), + ("ndm_pad2", c_ubyte), + ("ndm_ifindex", c_uint), + ("ndm_state", c_ushort), + ("ndm_flags", c_ubyte), + ("ndm_type", c_ubyte), + ] + + +class NdAttrType(Enum): + NDA_UNSPEC = 0 + NDA_DST = 1 + NDA_LLADDR = 2 + NDA_CACHEINFO = 3 + NDA_PROBES = 4 + NDA_VLAN = 5 + NDA_PORT = 6 + NDA_VNI = 7 + NDA_IFINDEX = 8 + NDA_MASTER = 9 + NDA_LINK_NETNSID = 10 + NDA_SRC_VNI = 11 + NDA_PROTOCOL = 12 + NDA_NH_ID = 13 + NDA_FDB_EXT_ATTRS = 14 + NDA_FLAGS_EXT = 15 + NDA_NDM_STATE_MASK = 16 + NDA_NDM_FLAGS_MASK = 17 + + class GenlMsgHdr(Structure): _fields_ = [ ("cmd", c_ubyte), @@ -702,7 +741,7 @@ class NlAttrNested(NlAttr): class NlAttrU32(NlAttr): def __init__(self, nla_type, val): - self.u32 = val + self.u32 = enum_or_int(val) super().__init__(nla_type, b"") @property @@ -729,7 +768,7 @@ class NlAttrU32(NlAttr): class NlAttrU16(NlAttr): def __init__(self, nla_type, val): - self.u16 = val + self.u16 = enum_or_int(val) super().__init__(nla_type, b"") @property @@ -756,7 +795,7 @@ class NlAttrU16(NlAttr): class NlAttrU8(NlAttr): def __init__(self, nla_type, val): - self.u8 = val + self.u8 = enum_or_int(val) super().__init__(nla_type, b"") @property @@ -842,6 +881,11 @@ class NlAttrIfindex(NlAttrU32): return " iface=if#{}".format(self.u32) +class NlAttrMac(NlAttr): + def _print_attr_value(self): + return ["{:02}".format(int(d)) for d in data[4:]].join(":") + + class NlAttrTable(NlAttrU32): def _print_attr_value(self): return " rtable={}".format(self.u32) @@ -1067,26 +1111,44 @@ rtnl_ifa_attrs = prepare_attrs_map( ) +rtnl_nd_attrs = prepare_attrs_map( + [ + AttrDescr(NdAttrType.NDA_DST, NlAttrIp), + AttrDescr(NdAttrType.NDA_IFINDEX, NlAttrIfindex), + AttrDescr(NdAttrType.NDA_FLAGS_EXT, NlAttrU32), + AttrDescr(NdAttrType.NDA_LLADDR, NlAttrMac), + ] +) + + class BaseNetlinkMessage(object): def __init__(self, helper, nlmsg_type): - self.nlmsg_type = nlmsg_type + self.nlmsg_type = enum_or_int(nlmsg_type) self.ut = unittest.TestCase() self.nla_list = [] self._orig_data = None self.helper = helper self.nl_hdr = Nlmsghdr( - nlmsg_type=nlmsg_type, nlmsg_seq=helper.get_seq(), nlmsg_pid=helper.pid + nlmsg_type=self.nlmsg_type, nlmsg_seq=helper.get_seq(), nlmsg_pid=helper.pid ) self.base_hdr = None + def set_request(self, need_ack=True): + self.add_nlflags([NlmBaseFlags.NLM_F_REQUEST]) + if need_ack: + self.add_nlflags([NlmBaseFlags.NLM_F_ACK]) + + def add_nlflags(self, flags: List): + int_flags = 0 + for flag in flags: + int_flags |= enum_or_int(flag) + self.nl_hdr.nlmsg_flags |= int_flags + def add_nla(self, nla): self.nla_list.append(nla) def _get_nla(self, nla_list, nla_type): - if isinstance(nla_type, Enum): - nla_type_raw = nla_type.value - else: - nla_type_raw = nla_type + nla_type_raw = enum_or_int(nla_type) for nla in nla_list: if nla.nla_type == nla_type_raw: return nla @@ -1102,10 +1164,7 @@ class BaseNetlinkMessage(object): return Nlmsghdr.from_buffer_copy(data), sizeof(Nlmsghdr) def is_type(self, nlmsg_type): - if isinstance(nlmsg_type, Enum): - nlmsg_type_raw = nlmsg_type.value - else: - nlmsg_type_raw = nlmsg_type + nlmsg_type_raw = enum_or_int(nlmsg_type) return nlmsg_type_raw == self.nl_hdr.nlmsg_type def is_reply(self, hdr): @@ -1422,6 +1481,37 @@ class NetlinkIfaMessage(BaseNetlinkRtMessage): ) +class NetlinkNdMessage(BaseNetlinkRtMessage): + messages = [ + NlRtMsgType.RTM_NEWNEIGH.value, + NlRtMsgType.RTM_DELNEIGH.value, + NlRtMsgType.RTM_GETNEIGH.value, + ] + nl_attrs_map = rtnl_nd_attrs + + def __init__(self, helper, nlm_type): + super().__init__(helper, nlm_type) + self.base_hdr = NdMsg() + + def parse_base_header(self, data): + if len(data) < sizeof(NdMsg): + raise ValueError("length less than NdMsg header") + nd_hdr = NdMsg.from_buffer_copy(data) + return (nd_hdr, sizeof(NdMsg)) + + def print_base_header(self, hdr, prepend=""): + family = self.helper.get_af_name(hdr.ndm_family) + print( + "{}family={}, ndm_ifindex={}, ndm_state={}, ndm_flags={}".format( # noqa: E501 + prepend, + family, + hdr.ndm_ifindex, + hdr.ndm_state, + hdr.ndm_flags, + ) + ) + + class Nlsock: def __init__(self, family, helper): self.helper = helper @@ -1435,6 +1525,7 @@ class Nlsock: NetlinkRtMessage, NetlinkIflaMessage, NetlinkIfaMessage, + NetlinkNdMessage, NetlinkDoneMessage, NetlinkErrorMessage, ] diff --git a/tests/sys/netlink/Makefile b/tests/sys/netlink/Makefile index b6b35d195726..175be36ea083 100644 --- a/tests/sys/netlink/Makefile +++ b/tests/sys/netlink/Makefile @@ -9,6 +9,7 @@ ATF_TESTS_C += test_snl ATF_TESTS_PYTEST += test_nl_core.py ATF_TESTS_PYTEST += test_rtnl_iface.py ATF_TESTS_PYTEST += test_rtnl_ifaddr.py +ATF_TESTS_PYTEST += test_rtnl_neigh.py ATF_TESTS_PYTEST += test_rtnl_route.py CFLAGS+= -I${.CURDIR:H:H:H} diff --git a/tests/sys/netlink/test_rtnl_neigh.py b/tests/sys/netlink/test_rtnl_neigh.py new file mode 100644 index 000000000000..6d6f95098d14 --- /dev/null +++ b/tests/sys/netlink/test_rtnl_neigh.py @@ -0,0 +1,53 @@ +import socket +import pytest + +from atf_python.sys.net.netlink import NdAttrType +from atf_python.sys.net.netlink import NetlinkNdMessage +from atf_python.sys.net.netlink import NetlinkTestTemplate +from atf_python.sys.net.netlink import NlConst +from atf_python.sys.net.netlink import NlRtMsgType +from atf_python.sys.net.vnet import SingleVnetTestTemplate + + +class TestRtNlNeigh(NetlinkTestTemplate, SingleVnetTestTemplate): + def setup_method(self, method): + method_name = method.__name__ + if "4" in method_name: + self.IPV4_PREFIXES = ["192.0.2.1/24"] + if "6" in method_name: + self.IPV6_PREFIXES = ["2001:db8::1/64"] + super().setup_method(method) + self.setup_netlink(NlConst.NETLINK_ROUTE) + + def filter_iface(self, family, num_items): + epair_ifname = self.vnet.iface_alias_map["if1"].name + epair_ifindex = socket.if_nametoindex(epair_ifname) + + msg = NetlinkNdMessage(self.helper, NlRtMsgType.RTM_GETNEIGH) + msg.set_request() + msg.base_hdr.ndm_family = family + msg.base_hdr.ndm_ifindex = epair_ifindex + self.write_message(msg) + + ret = [] + for rx_msg in self.read_msg_list( + msg.nl_hdr.nlmsg_seq, NlRtMsgType.RTM_NEWNEIGH + ): + ifname = socket.if_indextoname(rx_msg.base_hdr.ndm_ifindex) + family = rx_msg.base_hdr.ndm_family + assert ifname == epair_ifname + assert family == family + assert rx_msg.get_nla(NdAttrType.NDA_DST) is not None + assert rx_msg.get_nla(NdAttrType.NDA_LLADDR) is not None + ret.append(rx_msg) + assert len(ret) == num_items + + @pytest.mark.timeout(5) + def test_6_filter_iface(self): + """Tests that listing outputs all nd6 records""" + return self.filter_iface(socket.AF_INET6, 2) + + @pytest.mark.timeout(5) + def test_4_filter_iface(self): + """Tests that listing outputs all arp records""" + return self.filter_iface(socket.AF_INET, 1) diff --git a/tests/sys/netlink/test_rtnl_route.py b/tests/sys/netlink/test_rtnl_route.py index 71125343166a..b64fce57a518 100644 --- a/tests/sys/netlink/test_rtnl_route.py +++ b/tests/sys/netlink/test_rtnl_route.py @@ -2,9 +2,11 @@ import ipaddress import socket import pytest +from atf_python.sys.net.tools import ToolsHelper from atf_python.sys.net.netlink import NetlinkRtMessage from atf_python.sys.net.netlink import NetlinkTestTemplate from atf_python.sys.net.netlink import NlAttrIp +from atf_python.sys.net.netlink import NlAttrU32 from atf_python.sys.net.netlink import NlConst from atf_python.sys.net.netlink import NlmBaseFlags from atf_python.sys.net.netlink import NlmGetFlags @@ -22,6 +24,27 @@ class TestRtNlRoute(NetlinkTestTemplate, SingleVnetTestTemplate): super().setup_method(method) self.setup_netlink(NlConst.NETLINK_ROUTE) + @pytest.mark.timeout(5) + def test_add_route6_ll_gw(self): + epair_ifname = self.vnet.iface_alias_map["if1"].name + epair_ifindex = socket.if_nametoindex(epair_ifname) + + msg = NetlinkRtMessage(self.helper, NlRtMsgType.RTM_NEWROUTE) + msg.set_request() + msg.add_nlflags([NlmNewFlags.NLM_F_CREATE]) + msg.base_hdr.rtm_family = socket.AF_INET6 + msg.base_hdr.rtm_dst_len = 64 + msg.add_nla(NlAttrIp(RtattrType.RTA_DST, "2001:db8:2::")) + msg.add_nla(NlAttrIp(RtattrType.RTA_GATEWAY, "fe80::1")) + msg.add_nla(NlAttrU32(RtattrType.RTA_OIF, epair_ifindex)) + + rx_msg = self.get_reply(msg) + assert rx_msg.is_type(NlMsgType.NLMSG_ERROR) + assert rx_msg.error_code == 0 + + ToolsHelper.print_net_debug() + ToolsHelper.print_output("netstat -6onW") + @pytest.mark.timeout(20) def test_buffer_override(self): msg_flags = ( From nobody Tue Mar 7 17:42:08 2023 X-Original-To: dev-commits-src-main@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 4PWN746Tm1z3wR0P; Tue, 7 Mar 2023 17:42: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 4PWN7461Nsz3FjM; Tue, 7 Mar 2023 17:42:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678210928; 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=a6St06XJ175OfbrVy4wozhof63cuSvMpUKv9F/fOg80=; b=qt5FyBNJ8NT+GX95uG1Tz5Ar2SnfPABPkq1VrInMndcMM1nqdQxwcDmBQnHni9rv7LAIEw iT9IyqtPBolTJZzEcHG3CzAs9qtxAfU3kqBjx4LbRUyxiy8dApdV14HauGF0BgikbrlOmk NTGPLbDyBA8Cv0skzfROMjV1Jfn1ftVUYmYX0+CGyYO3eCd18hp+Onv2tYz8XYzs5zAlUy xsBbmjQHkH0D+gQjkwsAy4gt8KBN27kiqJD0qIyGJhpfd3ydO8W+KX4zlT6NAe1KANG3zN cnaOh6e6jDfmW+JeTbwCL2yIDU460l3fbX8GpmVVnEsWxzZVk0JUpAjcRlXrgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678210928; 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=a6St06XJ175OfbrVy4wozhof63cuSvMpUKv9F/fOg80=; b=opx3DT4e/Udd8/FStn08pblzaJj8UYrhZTYRKIszrQUgqSzaInhDoi0UOe6RwfEa/OGOuG T7bOSgx2AvV1d13G8VWEgUtfek/kWzJ6Z+8Pm86QDP8DC0eBiSl5OBPydad+FuFjUQWu3c dt0zdXNuElZXJRa/F4Wop+1rOhMj6H3yHClnl3fxDg4q/xf3llRmyA50u2SL0laiUwogeg j0tfiqfammDLtAL8YQSetH1qIlj5FHlgHxPbjVZxdWDYyeGVu8gYK627nt+7oUvICmrL/u Nk02IE6pYTQGoyG4bSySR0Y55weePwTQGjijXzUU7AjjS0Li560gVpeQY+fUiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678210928; a=rsa-sha256; cv=none; b=V+99Ka5pkHgSN4yvnwSHmF9nFlWqu/ou1v/bzzfCI1g7XlP2RSUgbx5TB1zMF4Ioq+q+Hz nJDCxdhFVsknIVTfPuaPv7em8XoXjxbj+UAQvxJ0soHf9gwvTyJ2dD/985v2soCphJa6s2 bhSJOr3xefanf3KipPsB0fCgpVyAaQH6J7x6fhwUPuhZjKPnMS0cjOQ1fNujFe5tevxzKn hrYexZfMSLeMvN2RALMj3RDFqut4ADxQB8b2p74pBOxxA2XnRHcvn7DGBEtD2dhjZz9/mS 1utL0WNvWRHuxmPMJf+i0wi++RRQMCvpR6F6+2XSAlo/CYyZFKBFV4oGXK+viw== 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 4PWN7452pGzsqW; Tue, 7 Mar 2023 17:42:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327Hg81u004821; Tue, 7 Mar 2023 17:42:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327Hg8C1004820; Tue, 7 Mar 2023 17:42:08 GMT (envelope-from git) Date: Tue, 7 Mar 2023 17:42:08 GMT Message-Id: <202303071742.327Hg8C1004820@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 1867702942b0 - main - arm64: fix the LINT-ACPI build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1867702942b09b6f89c607c552d285513c4ebe69 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=1867702942b09b6f89c607c552d285513c4ebe69 commit 1867702942b09b6f89c607c552d285513c4ebe69 Author: Kyle Evans AuthorDate: 2023-03-07 17:37:31 +0000 Commit: Kyle Evans CommitDate: 2023-03-07 17:37:31 +0000 arm64: fix the LINT-ACPI build This file uses VM_MEMATTR_DEVICE_NP, which it gets through header pollution somewhere with FDT enabled. Pull in vm/vm.h to make it explicit. --- sys/arm64/cavium/thunder_pcie_pem.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/arm64/cavium/thunder_pcie_pem.c b/sys/arm64/cavium/thunder_pcie_pem.c index 3f4df8a621a3..28be2377df80 100644 --- a/sys/arm64/cavium/thunder_pcie_pem.c +++ b/sys/arm64/cavium/thunder_pcie_pem.c @@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include + #ifdef FDT #include #include From nobody Tue Mar 7 17:45:36 2023 X-Original-To: dev-commits-src-main@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 4PWNC51ktlz3wQgk; Tue, 7 Mar 2023 17:45: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 4PWNC51DKqz3Fwk; Tue, 7 Mar 2023 17:45:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678211137; 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=hdMz2C6O84q0XWRL5fcZKjBl9NDMvT/I3bWM7q8S3YY=; b=IL96kFAmpMzcllIXAjPfyW6pvJpwLBdeJ1FH9PDLW7cbKu4UgvOmf2cJUDng/HEyG8+czu ybjLhqbb62Bq04kyj5/Uwp6PpcQrLIJyE9/JEhtrIVuOQ+IPJhzlTs/XmB7/KFrnogy7xl C02n9px1uFZiTSDGnwg1bVbQqcCfwellkrG6/U4RW2iaaWWDzMsxN0TH3kT0CZmS4X21zb ai8G6CjxT9LvgxS9PpwMFAcYJQCUbO7yQC9DkzKTzUhgW3/hD4WU1CxTO1Cup5dm8WxMnF ufcxP5a/qUJAxM9MWylJ6gBjJLXb6piVfpVq8uKt4O7vGX0t6gEhQ5An9UaBdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678211137; 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=hdMz2C6O84q0XWRL5fcZKjBl9NDMvT/I3bWM7q8S3YY=; b=sGT7mz+Mr/z4dmmemY6AtHOHs8xJUDvv9DHkvOJ6YIWPJsYIC7twE3ScZCr9XcS9z+xJx7 1Ou93j2hgitSWvFmSNvPpKA74s6lTegEI2PkMuFnfPb3CcB/7AqksUoS8iztpedl+QMbbF X8EKwsvvN4CQNerSTiHsGoZKAC0Fn1+azrlIRSLa1S+SZJsePGc/ulvUQxo0nRgn+LnIZX RQX29G5QhnpUsE+Yeqlc0y2lR0Txs5KwJLRnB0voOaSbyz+W2Zo+QYaD2lM21P3KUNK+3l IAv+SRGcBnPzqYa6rmruxlkxINxPmy1xlpvuNy+hWwrcQtTK1WWdkzp7xOfD3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678211137; a=rsa-sha256; cv=none; b=tVKTaf7U27GjQfgWpSNjC6uc2a/ocySNdG1GGoH3/027CNpI/NmmEwHgoiu6YnUL4szITq f08ocDFWdC2rBcpZwUApMOreI/fTpZkZi/nqtS8y79UgeJZa97HfUZOacwbvJyu0yhwd2e J/KgZl8Uzlt31lTBY+a+R0Sx9QYmu6+EE38Uzje0TxforJes1Ij5B38GNH9sa+htoln6AL biyJtXmpwyYuRq+hkxZ5rDYFonxe+6ra3j/zhoIspERjunniOMR+CBXrfhpHzkhaaEHBMR 09a+VPw/Z2EtVrTo1HRNTFiBjGTq04btkG32lAygcqtcJEoSePSud8qZsEQHGg== 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 4PWNC504Mhzsqk; Tue, 7 Mar 2023 17:45:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327HjaNm006322; Tue, 7 Mar 2023 17:45:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327Hja9Z006321; Tue, 7 Mar 2023 17:45:36 GMT (envelope-from git) Date: Tue, 7 Mar 2023 17:45:36 GMT Message-Id: <202303071745.327Hja9Z006321@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 5c8277ec2588 - main - netlink: cleanup netlink_writer code List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5c8277ec2588a660f126e1a9866cd65f59336c51 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=5c8277ec2588a660f126e1a9866cd65f59336c51 commit 5c8277ec2588a660f126e1a9866cd65f59336c51 Author: Alexander V. Chernikov AuthorDate: 2023-03-07 17:42:27 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-03-07 17:45:31 +0000 netlink: cleanup netlink_writer code * Remove unused nlattr_add_nla() - that's a duplicate of nlattr_add_raw(). * Calculate alignment only once in nlmsg_reserve_data_raw() MFC after: 2 weeks --- sys/netlink/netlink_message_writer.h | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/sys/netlink/netlink_message_writer.h b/sys/netlink/netlink_message_writer.h index bb4bb759251a..13acf5add559 100644 --- a/sys/netlink/netlink_message_writer.h +++ b/sys/netlink/netlink_message_writer.h @@ -124,17 +124,19 @@ nlattr_set_len(const struct nl_writer *nw, int off) static inline void * nlmsg_reserve_data_raw(struct nl_writer *nw, size_t sz) { - if (__predict_false(nw->offset + NETLINK_ALIGN(sz) > nw->alloc_len)) { - if (!nlmsg_refill_buffer(nw, NETLINK_ALIGN(sz))) + sz = NETLINK_ALIGN(sz); + + if (__predict_false(nw->offset + sz > nw->alloc_len)) { + if (!nlmsg_refill_buffer(nw, sz)) return (NULL); } void *data_ptr = &nw->data[nw->offset]; - nw->offset += NLMSG_ALIGN(sz); + nw->offset += sz; return (data_ptr); } -#define nlmsg_reserve_object(_ns, _t) ((_t *)nlmsg_reserve_data_raw(_ns, NLA_ALIGN(sizeof(_t)))) +#define nlmsg_reserve_object(_ns, _t) ((_t *)nlmsg_reserve_data_raw(_ns, sizeof(_t))) #define nlmsg_reserve_data(_ns, _sz, _t) ((_t *)nlmsg_reserve_data_raw(_ns, _sz)) static inline int @@ -163,27 +165,6 @@ _nlmsg_reserve_attr(struct nl_writer *nw, uint16_t nla_type, uint16_t sz) } #define nlmsg_reserve_attr(_ns, _at, _t) ((_t *)_nlmsg_reserve_attr(_ns, _at, NLA_ALIGN(sizeof(_t)))) -static inline bool -nlattr_add_nla(struct nl_writer *nw, const struct nlattr *nla_src) -{ - MPASS(nla_src->nla_len >= sizeof(struct nlattr)); - - int required_len = NLA_ALIGN(nla_src->nla_len); - if (__predict_false(nw->offset + required_len > nw->alloc_len)) { - if (!nlmsg_refill_buffer(nw, required_len)) - return (false); - } - - struct nlattr *nla = (struct nlattr *)(&nw->data[nw->offset]); - if ((nla_src->nla_len % 4) != 0) { - /* clear padding bytes */ - bzero((char *)nla + nla_src->nla_len - 4, 4); - } - memcpy(nla, nla_src, nla_src->nla_len); - nw->offset += required_len; - return (true); -} - static inline bool nlattr_add(struct nl_writer *nw, int attr_type, int attr_len, const void *data) { From nobody Tue Mar 7 18:41:36 2023 X-Original-To: dev-commits-src-main@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 4PWPRj20l2z3wTjv; Tue, 7 Mar 2023 18:41: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 4PWPRj1W5Nz3LH9; Tue, 7 Mar 2023 18:41:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678214497; 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=93P+GlDUOJEUvWgQkekOgT1licbQIU48Tg7PdJ72Wec=; b=wRr5r8YWxo3GxZreHigMm5wi3UcGdgmPAvE76ezlbN4e78PGwadmRLS+GX0VoHtse5sG6D Hqa9F9yisWCOQnENksF7snj35TOAflthV99Cmd/Poe0b0PGkgghFoT0FhFxhMbp4GtgF6D 5UYR5/faJLo9bKeESYXfFJeDVqcT7LwFiVAncDrTViK61dwuPpsTgk7IdRJeHeP2R9tL2P iyqRFw4SvpHM61BUMDd64uSsTFadLfvp9nzwhuPp6/lX1P0ODC8Ruf6QG0qzdfxyffdpsP o2qznXj/PlES63Y2BYhqg62U2MTKRVOiFS0noGRYOcRAx8YUguMorlfTzdsPaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678214497; 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=93P+GlDUOJEUvWgQkekOgT1licbQIU48Tg7PdJ72Wec=; b=A/SBmDJXCpabFDuSeh1KsYUKYvuMQ4ZBnP4QMGGOosX3fYcfengr2EFPtlgzg/v/jEXpyb 5FXErNZMwnfqEGa3qX2sxVJq2pZSSLLrbV0/9/sxvYsYbPmQ1a5xnPQrWUPIgrT+bsOZmQ krnuAFesfij4wV3FRVP8B0U7nyDXpZLHbDbYHPc2t5ZdRIXVdQLylG/j/E1aPW2QpNfqnJ nhwcgpp04sYCyQE48yQ2LEj+zsAj6p1c4SPc2Y6TIff2gzeJ6MjEHEdQ6uKj6HeB5h571N uj6+GIAZqoLRHoBBtsg4IZvYTt2sMnazyQRTDIKpR2L/EVte8BDJy1zhfOAt1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678214497; a=rsa-sha256; cv=none; b=spn1DSGS+8aGm0SryWvEo+DtbpT8LUF21iPaXhu1dS6SEOZvG7wek8Zx7CGBjSv2xBt5tU PmnPpt42EoMRAGRNgKWoeA5QKahJvjdmUdAkrq3jYKM0TUb+YR7HTsAlstPMC69yDxOEi1 HqJQtmxrXnIn5eqtKqh9lAAPJr25Q9MxK28rq3MLbyIiK08EEVuEGeTivdqXFJqnFZXmJp LPANz3R4st3FJxKeQY0Ft84jnbH88uwVMTJqASka9ySdsgVNPBc/zcKmZlSTAofwSHBfTd QB7wBipJhecGgj1YVE5tt3CqObI10ZValwzEDtzEJ5wmmsR2qUbT+zbv9d4Kgg== 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 4PWPRj0bWNzv85; Tue, 7 Mar 2023 18:41:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327Ifa1k099760; Tue, 7 Mar 2023 18:41:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327Ifado099759; Tue, 7 Mar 2023 18:41:36 GMT (envelope-from git) Date: Tue, 7 Mar 2023 18:41:36 GMT Message-Id: <202303071841.327Ifado099759@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 7661a2abe45c - main - src.opts.mk: sync FDT and OFED options with kern.opts.mk List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7661a2abe45cfa144f69898f8498c3cfd88cceb8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=7661a2abe45cfa144f69898f8498c3cfd88cceb8 commit 7661a2abe45cfa144f69898f8498c3cfd88cceb8 Author: Ed Maste AuthorDate: 2023-03-07 16:39:46 +0000 Commit: Ed Maste CommitDate: 2023-03-07 18:40:18 +0000 src.opts.mk: sync FDT and OFED options with kern.opts.mk Where options exist in both src.opts.mk and kern.opts.mk they should be kept in sync. It may be that the option should be flipped the other way (e.g., enabling OFED in the kernel on arm64); if so that will be done as a subsequent commit after further testing. PR: 269994 Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38952 --- share/mk/src.opts.mk | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 319cdbb0ebee..96b390921d4c 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -95,7 +95,6 @@ __DEFAULT_YES_OPTIONS = \ EFI \ ELFTOOLCHAIN_BOOTSTRAP \ EXAMPLES \ - FDT \ FILE \ FINGER \ FLOPPY \ @@ -283,6 +282,12 @@ __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF LLVM_TARGET_MIPS .include +.if ${__T} == "i386" || ${__T} == "amd64" +__DEFAULT_NO_OPTIONS += FDT +.else +__DEFAULT_YES_OPTIONS += FDT +.endif + .if ${__T:Marm*} == "" && ${__T:Mriscv64*} == "" __DEFAULT_YES_OPTIONS+=LLDB .else @@ -348,6 +353,12 @@ __DEFAULT_YES_OPTIONS+=OPENMP __DEFAULT_NO_OPTIONS+=OPENMP .endif +.if ${__T} != "i386" && ${__T} != "amd64" && \ + ${__T:Mpowerpc64*} == "" +BROKEN_OPTIONS+= OFED +.endif + + .if ${__T} == "powerpc" BROKEN_OPTIONS+= ZFS .endif From nobody Tue Mar 7 20:29:09 2023 X-Original-To: dev-commits-src-main@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 4PWRqn54mwz3wc0q; Tue, 7 Mar 2023 20:29: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 4PWRqn3mS5z3qwr; Tue, 7 Mar 2023 20:29:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678220949; 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=dBulmmc/AnP0kGeCY2JUbDgMMYbgR0v1DR3ofBphkYw=; b=HVMoytUcIq2hkPkf0yhE2qu8AMJGxKe4rvTiQoEdLxPczMZOJ2+SllN/kSM/87HGe8tk7q bo9dK6rMrfmkMQJ138RsAQtJmTh+00uanZ2p32rmirL4ZmIrvPLlbILaR2TI1QcaSsMco7 dGwxM7Q7oLUJatqfeGYdl65PMtVDvaGxQ/SC20CdOOJSNisFRxJMLJgho+sYODNQptTwLU 2MY9TkxJdDU1Kq2NJyowaAKucZirqlyekZN/aZmWF0liK+iaaCkMTQ8P86ygXTtFiLbgd4 wlEz3DoWTZC5KKy8p9C5W+ZoOp9tENUgLk+Mb+YX1dhasJPsVBulQ7tvH81YHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678220949; 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=dBulmmc/AnP0kGeCY2JUbDgMMYbgR0v1DR3ofBphkYw=; b=PfW6q70J0+8VI0NUoG6hchLvkVjmYamJHYeKlpqGobVgRXfM3MPQmJv72oIJ9z1CN3bIA5 pG2eBK9bgOffTQDc77Et9nsnfzQht7GY1+dlulpAkWhI7TeQMQtRiWt/vU8FFQR2nJh6hX MQv8QDFHVQ1FpPzDEJKAj2lcTEqYGptA1wcAVFggnjfbSMbCW5IyOAeRZeY+cWvcungLRF y8rQslhB297GgyFp3lrX/Xmah4hpZzrEs2mYCAqNqGP8/N9s3ODE5W7eQKMvly4D3tbjN4 0zE1VL5HZVFE+/RnkBbeJIgCk9gsMUm2B2+xpYCdLTz6llseaRu3T+Q7HKa6xQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678220949; a=rsa-sha256; cv=none; b=LPi0JATzNCUEdSUhmKbJeYTo7OO9fHTcNDAy6Dj0tWqZMpu0M/rEmIWA8X1GTGYspwdxmF ry+8p+gWOlGTrBy9zmo0GNkO6PZyYuCwXjcMv71dvVtscbPSxWha2pdRHCQzrQ3/d9lHDt OxFSSeEPmog6+uYYkI66cWJOBZ7wQ9aSEbgLNhC6HSH6Jnnust+LqxfWHRaBFXO8itxLjn +cTOjbrSEv83WraO571PxlH3Ja8tn3B2yeBHbxqWdkpE8C9AP+lTQWpwzf5qLa3puHZyeM CerdYBkvjDiIK6XtrL1+EqpcOVYixUAezIyj9W4FPvFOoD1sn3zT8viOkGAExA== 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 4PWRqn2rh2zxnN; Tue, 7 Mar 2023 20:29:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327KT9Mq069882; Tue, 7 Mar 2023 20:29:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327KT9Ah069881; Tue, 7 Mar 2023 20:29:09 GMT (envelope-from git) Date: Tue, 7 Mar 2023 20:29:09 GMT Message-Id: <202303072029.327KT9Ah069881@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 64c618ed7dbb - main - Mechanically convert qlxge(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 64c618ed7dbbae169ff8284d987e9caf6027f7d2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=64c618ed7dbbae169ff8284d987e9caf6027f7d2 commit 64c618ed7dbbae169ff8284d987e9caf6027f7d2 Author: Justin Hibbits AuthorDate: 2022-08-17 20:26:49 +0000 Commit: Justin Hibbits CommitDate: 2023-03-07 20:31:48 +0000 Mechanically convert qlxge(4) to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37819 --- sys/dev/qlxge/qls_def.h | 4 +- sys/dev/qlxge/qls_hw.c | 2 +- sys/dev/qlxge/qls_ioctl.c | 2 +- sys/dev/qlxge/qls_isr.c | 4 +- sys/dev/qlxge/qls_os.c | 149 +++++++++++++++++++++++----------------------- 5 files changed, 80 insertions(+), 81 deletions(-) diff --git a/sys/dev/qlxge/qls_def.h b/sys/dev/qlxge/qls_def.h index 47da2403d530..f83fbdbcc27a 100644 --- a/sys/dev/qlxge/qls_def.h +++ b/sys/dev/qlxge/qls_def.h @@ -283,7 +283,7 @@ struct qla_host { bus_dma_tag_t parent_tag; /* interface to o.s */ - struct ifnet *ifp; + if_t ifp; struct ifmedia media; uint16_t max_frame_size; @@ -364,7 +364,7 @@ typedef struct qla_host qla_host_t; #define QL_MIN(x, y) ((x < y) ? x : y) #define QL_RUNNING(ifp) \ - ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) == \ + ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) == \ IFF_DRV_RUNNING) /* Return 0, if identical, else 1 */ diff --git a/sys/dev/qlxge/qls_hw.c b/sys/dev/qlxge/qls_hw.c index ab9449089f10..e16b81667863 100644 --- a/sys/dev/qlxge/qls_hw.c +++ b/sys/dev/qlxge/qls_hw.c @@ -1305,7 +1305,7 @@ qls_update_link_state(qla_host_t *ha) uint32_t link_state; uint32_t prev_link_state; - if (!(ha->ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (!(if_getdrvflags(ha->ifp) & IFF_DRV_RUNNING)) { ha->link_up = 0; return; } diff --git a/sys/dev/qlxge/qls_ioctl.c b/sys/dev/qlxge/qls_ioctl.c index d32ee5e22eb7..e9f8dd387e17 100644 --- a/sys/dev/qlxge/qls_ioctl.c +++ b/sys/dev/qlxge/qls_ioctl.c @@ -55,7 +55,7 @@ int qls_make_cdev(qla_host_t *ha) { ha->ioctl_dev = make_dev(&qla_cdevsw, - ha->ifp->if_dunit, + if_getdunit(ha->ifp), UID_ROOT, GID_WHEEL, 0600, diff --git a/sys/dev/qlxge/qls_isr.c b/sys/dev/qlxge/qls_isr.c index 38da2d2c3408..ed71939d831e 100644 --- a/sys/dev/qlxge/qls_isr.c +++ b/sys/dev/qlxge/qls_isr.c @@ -129,7 +129,7 @@ qls_rx_comp(qla_host_t *ha, uint32_t rxr_idx, uint32_t cq_idx, q81_rx_t *cq_e) qla_rx_ring_t *rxr; device_t dev = ha->pci_dev; struct mbuf *mp = NULL; - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; #if defined(INET) || defined(INET6) struct lro_ctrl *lro; #endif @@ -210,7 +210,7 @@ qls_rx_comp(qla_host_t *ha, uint32_t rxr_idx, uint32_t cq_idx, q81_rx_t *cq_e) } else #endif { - (*ifp->if_input)(ifp, mp); + if_input(ifp, mp); } } } else { diff --git a/sys/dev/qlxge/qls_os.c b/sys/dev/qlxge/qls_os.c index d9404b92dbba..a7e262be015f 100644 --- a/sys/dev/qlxge/qls_os.c +++ b/sys/dev/qlxge/qls_os.c @@ -90,11 +90,11 @@ static int qls_pci_probe (device_t); static int qls_pci_attach (device_t); static int qls_pci_detach (device_t); -static void qls_start(struct ifnet *ifp); +static void qls_start(if_t ifp); static void qls_init(void *arg); -static int qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); -static int qls_media_change(struct ifnet *ifp); -static void qls_media_status(struct ifnet *ifp, struct ifmediareq *ifmr); +static int qls_ioctl(if_t ifp, u_long cmd, caddr_t data); +static int qls_media_change(if_t ifp); +static void qls_media_status(if_t ifp, struct ifmediareq *ifmr); static device_method_t qla_pci_methods[] = { /* Device interface */ @@ -286,7 +286,7 @@ static void qls_watchdog(void *arg) { qla_host_t *ha = arg; - struct ifnet *ifp; + if_t ifp; ifp = ha->ifp; @@ -303,7 +303,7 @@ qls_watchdog(void *arg) ha->err_inject = 0; taskqueue_enqueue(ha->err_tq, &ha->err_task); - } else if ((ifp->if_snd.ifq_head != NULL) && QL_RUNNING(ifp)) { + } else if (!if_sendq_empty(ifp) && QL_RUNNING(ifp)) { taskqueue_enqueue(ha->tx_tq, &ha->tx_task); } @@ -716,7 +716,7 @@ qls_free_parent_dma_tag(qla_host_t *ha) static void qls_init_ifnet(device_t dev, qla_host_t *ha) { - struct ifnet *ifp; + if_t ifp; QL_DPRINT2((dev, "%s: enter\n", __func__)); @@ -726,18 +726,17 @@ qls_init_ifnet(device_t dev, qla_host_t *ha) panic("%s: cannot if_alloc()\n", device_get_nameunit(dev)); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_baudrate = IF_Gbps(10); - ifp->if_init = qls_init; - ifp->if_softc = ha; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = qls_ioctl; - ifp->if_start = qls_start; - - IFQ_SET_MAXLEN(&ifp->if_snd, qls_get_ifq_snd_maxlen(ha)); - ifp->if_snd.ifq_drv_maxlen = qls_get_ifq_snd_maxlen(ha); - IFQ_SET_READY(&ifp->if_snd); - - ha->max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; + if_setbaudrate(ifp, IF_Gbps(10)); + if_setinitfn(ifp, qls_init); + if_setsoftc(ifp, ha); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, qls_ioctl); + if_setstartfn(ifp, qls_start); + + if_setsendqlen(ifp, qls_get_ifq_snd_maxlen(ha)); + if_setsendqready(ifp); + + ha->max_frame_size = if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_CRC_LEN; if (ha->max_frame_size <= MCLBYTES) { ha->msize = MCLBYTES; } else if (ha->max_frame_size <= MJUMPAGESIZE) { @@ -747,19 +746,19 @@ qls_init_ifnet(device_t dev, qla_host_t *ha) ether_ifattach(ifp, qls_get_mac_addr(ha)); - ifp->if_capabilities = IFCAP_JUMBO_MTU; + if_setcapabilities(ifp, IFCAP_JUMBO_MTU); - ifp->if_capabilities |= IFCAP_HWCSUM; - ifp->if_capabilities |= IFCAP_VLAN_MTU; + if_setcapabilitiesbit(ifp, IFCAP_HWCSUM, 0); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); - ifp->if_capabilities |= IFCAP_TSO4; - ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING; - ifp->if_capabilities |= IFCAP_VLAN_HWTSO; - ifp->if_capabilities |= IFCAP_LINKSTATE; + if_setcapabilitiesbit(ifp, IFCAP_TSO4, 0); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWTAGGING, 0); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWTSO, 0); + if_setcapabilitiesbit(ifp, IFCAP_LINKSTATE, 0); - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); ifmedia_init(&ha->media, IFM_IMASK, qls_media_change, qls_media_status); @@ -777,7 +776,7 @@ qls_init_ifnet(device_t dev, qla_host_t *ha) static void qls_init_locked(qla_host_t *ha) { - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; qls_stop(ha); @@ -789,17 +788,17 @@ qls_init_locked(qla_host_t *ha) if (qls_config_lro(ha)) return; - bcopy(IF_LLADDR(ha->ifp), ha->mac_addr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(ha->ifp), ha->mac_addr, ETHER_ADDR_LEN); - ifp->if_hwassist = CSUM_IP; - ifp->if_hwassist |= CSUM_TCP; - ifp->if_hwassist |= CSUM_UDP; - ifp->if_hwassist |= CSUM_TSO; + if_sethwassist(ifp, CSUM_IP); + if_sethwassistbits(ifp, CSUM_TCP, 0); + if_sethwassistbits(ifp, CSUM_UDP, 0); + if_sethwassistbits(ifp, CSUM_TSO, 0); if (qls_init_hw_if(ha) == 0) { ifp = ha->ifp; - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); ha->flags.qla_watchdog_pause = 0; } @@ -839,7 +838,7 @@ static void qls_set_multi(qla_host_t *ha, uint32_t add_multi) { uint8_t mta[Q8_MAX_NUM_MULTICAST_ADDRS * Q8_MAC_ADDR_LEN]; - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; int mcnt; mcnt = if_foreach_llmaddr(ifp, qls_copy_maddr, mta); @@ -853,7 +852,7 @@ qls_set_multi(qla_host_t *ha, uint32_t add_multi) } static int -qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +qls_ioctl(if_t ifp, u_long cmd, caddr_t data) { int ret = 0; struct ifreq *ifr = (struct ifreq *)data; @@ -862,7 +861,7 @@ qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) #endif qla_host_t *ha; - ha = (qla_host_t *)ifp->if_softc; + ha = (qla_host_t *)if_getsoftc(ifp); switch (cmd) { case SIOCSIFADDR: @@ -871,8 +870,8 @@ qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) #ifdef INET if (ifa->ifa_addr->sa_family == AF_INET) { - ifp->if_flags |= IFF_UP; - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if_setflagbits(ifp, IFF_UP, 0); + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { (void)QLA_LOCK(ha, __func__, 0); qls_init_locked(ha); QLA_UNLOCK(ha, __func__); @@ -898,9 +897,9 @@ qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } else { (void) QLA_LOCK(ha, __func__, 0); - ifp->if_mtu = ifr->ifr_mtu; + if_setmtu(ifp, ifr->ifr_mtu); ha->max_frame_size = - ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; + if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_CRC_LEN; QLA_UNLOCK(ha, __func__); @@ -916,24 +915,24 @@ qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) (void)QLA_LOCK(ha, __func__, 0); - if (ifp->if_flags & IFF_UP) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) { - if ((ifp->if_flags ^ ha->if_flags) & + if (if_getflags(ifp) & IFF_UP) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { + if ((if_getflags(ifp) ^ ha->if_flags) & IFF_PROMISC) { ret = qls_set_promisc(ha); - } else if ((ifp->if_flags ^ ha->if_flags) & + } else if ((if_getflags(ifp) ^ ha->if_flags) & IFF_ALLMULTI) { ret = qls_set_allmulti(ha); } } else { - ha->max_frame_size = ifp->if_mtu + + ha->max_frame_size = if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_CRC_LEN; qls_init_locked(ha); } } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) qls_stop(ha); - ha->if_flags = ifp->if_flags; + ha->if_flags = if_getflags(ifp); } QLA_UNLOCK(ha, __func__); @@ -943,7 +942,7 @@ qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) QL_DPRINT4((ha->pci_dev, "%s: %s (0x%lx)\n", __func__, "SIOCADDMULTI", cmd)); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { qls_set_multi(ha, 1); } break; @@ -952,7 +951,7 @@ qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) QL_DPRINT4((ha->pci_dev, "%s: %s (0x%lx)\n", __func__, "SIOCDELMULTI", cmd)); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { qls_set_multi(ha, 0); } break; @@ -967,21 +966,21 @@ qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) case SIOCSIFCAP: { - int mask = ifr->ifr_reqcap ^ ifp->if_capenable; + int mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); QL_DPRINT4((ha->pci_dev, "%s: SIOCSIFCAP (0x%lx)\n", __func__, cmd)); if (mask & IFCAP_HWCSUM) - ifp->if_capenable ^= IFCAP_HWCSUM; + if_togglecapenable(ifp, IFCAP_HWCSUM); if (mask & IFCAP_TSO4) - ifp->if_capenable ^= IFCAP_TSO4; + if_togglecapenable(ifp, IFCAP_TSO4); if (mask & IFCAP_VLAN_HWTAGGING) - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); if (mask & IFCAP_VLAN_HWTSO) - ifp->if_capenable ^= IFCAP_VLAN_HWTSO; + if_togglecapenable(ifp, IFCAP_VLAN_HWTSO); - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) qls_init(ha); VLAN_CAPABILITIES(ifp); @@ -999,13 +998,13 @@ qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } static int -qls_media_change(struct ifnet *ifp) +qls_media_change(if_t ifp) { qla_host_t *ha; struct ifmedia *ifm; int ret = 0; - ha = (qla_host_t *)ifp->if_softc; + ha = (qla_host_t *)if_getsoftc(ifp); QL_DPRINT2((ha->pci_dev, "%s: enter\n", __func__)); @@ -1020,11 +1019,11 @@ qls_media_change(struct ifnet *ifp) } static void -qls_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +qls_media_status(if_t ifp, struct ifmediareq *ifmr) { qla_host_t *ha; - ha = (qla_host_t *)ifp->if_softc; + ha = (qla_host_t *)if_getsoftc(ifp); QL_DPRINT2((ha->pci_dev, "%s: enter\n", __func__)); @@ -1044,11 +1043,11 @@ qls_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) } static void -qls_start(struct ifnet *ifp) +qls_start(if_t ifp) { int i, ret = 0; struct mbuf *m_head; - qla_host_t *ha = (qla_host_t *)ifp->if_softc; + qla_host_t *ha = (qla_host_t *)if_getsoftc(ifp); QL_DPRINT8((ha->pci_dev, "%s: enter\n", __func__)); @@ -1058,17 +1057,17 @@ qls_start(struct ifnet *ifp) return; } - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) == + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) == IFF_DRV_RUNNING) { for (i = 0; i < ha->num_tx_rings; i++) { ret |= qls_hw_tx_done(ha, i); } if (ret == 0) - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) { QL_DPRINT8((ha->pci_dev, "%s: !IFF_DRV_RUNNING\n", __func__)); QLA_TX_UNLOCK(ha); @@ -1084,8 +1083,8 @@ qls_start(struct ifnet *ifp) } } - while (ifp->if_snd.ifq_head != NULL) { - IF_DEQUEUE(&ifp->if_snd, m_head); + while (!if_sendq_empty(ifp)) { + m_head = if_dequeue(ifp); if (m_head == NULL) { QL_DPRINT8((ha->pci_dev, "%s: m_head == NULL\n", @@ -1097,8 +1096,8 @@ qls_start(struct ifnet *ifp) if (m_head == NULL) break; QL_DPRINT8((ha->pci_dev, "%s: PREPEND\n", __func__)); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - IF_PREPEND(&ifp->if_snd, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); + if_sendq_prepend(ifp, m_head); break; } /* Send a copy of the frame to the BPF listener */ @@ -1205,9 +1204,9 @@ qls_send(qla_host_t *ha, struct mbuf **m_headp) static void qls_stop(qla_host_t *ha) { - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; - ifp->if_drv_flags &= ~(IFF_DRV_OACTIVE | IFF_DRV_RUNNING); + if_setdrvflagbits(ifp, 0, (IFF_DRV_OACTIVE | IFF_DRV_RUNNING)); ha->flags.qla_watchdog_pause = 1; @@ -1433,14 +1432,14 @@ static void qls_tx_done(void *context, int pending) { qla_host_t *ha = context; - struct ifnet *ifp; + if_t ifp; ifp = ha->ifp; if (!ifp) return; - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { QL_DPRINT8((ha->pci_dev, "%s: !IFF_DRV_RUNNING\n", __func__)); return; } From nobody Tue Mar 7 20:29:10 2023 X-Original-To: dev-commits-src-main@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 4PWRqp5RhCz3wbNY; Tue, 7 Mar 2023 20:29:10 +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 4PWRqp4Zc3z3qnt; Tue, 7 Mar 2023 20:29:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678220950; 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=mh1IAglu8Ytt8VFBqa04hefUIn7biNxKBdfXwwclFSU=; b=FR/kCmtwFC4wWpXFAGruTlAt2WQDU574nd8De35KUxbaoyXsIA5vcNepzRAuJ9tN3uqMQr LPYqRnebp5h06ncORQTArnNoPtAR9wRnRqF9TXF+ur9qnffLj7k91eT08Z87lzxbNUNxYx lWuIZRhZ2vwQXxEbJyHe6OT8BYGciYe3VTX7AmVpCUugibaVnBTNW6tyCLVLky9G4yj/GP mmZrHKJhi4MRVB/HgdFN58MPrEJgkl5PgSYlzthAfKWn8643J8VXaAsKob4hHtGdgsWm5C tUkgZMgeuQDQita33TwHCj6NoGOLZcii/A+eMw1ToAXlWyYQNBuZcrJ08Dn2fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678220950; 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=mh1IAglu8Ytt8VFBqa04hefUIn7biNxKBdfXwwclFSU=; b=DTmEeMPteGcSsCeH6SSAjIjifhvQNLaiAosYgnwNPDjR8ecMh4JXHdRwmPd7tTWhcvMI0x NUtmB0hUKecpfGgkKpZM3xpJ0a5NvEGVZcBOCzUrVr96GXdDalXVSS1KT3FT9zIo+bjcNi MrL54p5MtnJjuXODi+ShDNsSNb4Pb+a/1SrmsYp8ncW+qXSPIDoFmnNlg9/4aMyD8LmX67 tPw18mY3Gfd/kTssgRuh4nIYMbgCg+HtfaBSClbj65ihimfkvXrMSs0eNI2uPp7j+PwRaD 4DIflfaLh/Bqv16ghVGA9+zC5u30drb8+53rlbCVseRXT0LgTflIZIASI4O+pQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678220950; a=rsa-sha256; cv=none; b=UgvLtxc3JhN62Izmrj7OziIE9nBhViEeD51B8/vuvtL9wd24dyPfBj6x6tqyFHmPSDyMOC /JpDM7FCB+jXvZnjI+Et7K1CxctjqqFOTDi9fatC9v0vqTXCgnZpRJ7s+c+fHkUEMs3HGz 0W/jwo8spABQRmtqA8mCkmw6XX0mEXT1PEL3Jl1zGR3oHXBmoRjfTZz2P0mu8bMKBy70ZU tBbr0GasnafiM6tqDKcSqoKtWABuyPSDjJguN25b5i2gkCGbzIoG8B09bbtG9fqyjb+hU7 unpcu6RLDpyn9ktXCyH7obotQt3lvLsI+52ERq1lVhR4QPyL+BbwRrDGTJdyFA== 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 4PWRqp3DSTzxgH; Tue, 7 Mar 2023 20:29:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327KTAYT069901; Tue, 7 Mar 2023 20:29:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327KTAXd069900; Tue, 7 Mar 2023 20:29:10 GMT (envelope-from git) Date: Tue, 7 Mar 2023 20:29:10 GMT Message-Id: <202303072029.327KTAXd069900@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 5b587352a23e - main - Mechanically convert qlxgb(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5b587352a23e5f47e7f91ce18ad1274702d3ee64 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=5b587352a23e5f47e7f91ce18ad1274702d3ee64 commit 5b587352a23e5f47e7f91ce18ad1274702d3ee64 Author: Justin Hibbits AuthorDate: 2022-08-17 20:27:29 +0000 Commit: Justin Hibbits CommitDate: 2023-03-07 20:31:48 +0000 Mechanically convert qlxgb(4) to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37820 --- sys/dev/qlxgb/qla_def.h | 4 +- sys/dev/qlxgb/qla_glbl.h | 2 +- sys/dev/qlxgb/qla_hw.c | 4 +- sys/dev/qlxgb/qla_ioctl.c | 2 +- sys/dev/qlxgb/qla_isr.c | 8 +-- sys/dev/qlxgb/qla_os.c | 127 +++++++++++++++++++++++----------------------- 6 files changed, 73 insertions(+), 74 deletions(-) diff --git a/sys/dev/qlxgb/qla_def.h b/sys/dev/qlxgb/qla_def.h index 69e1cd07c5bd..eb6da3273114 100644 --- a/sys/dev/qlxgb/qla_def.h +++ b/sys/dev/qlxgb/qla_def.h @@ -146,7 +146,7 @@ struct qla_host { bus_dma_tag_t parent_tag; /* interface to o.s */ - struct ifnet *ifp; + if_t ifp; struct ifmedia media; uint16_t max_frame_size; @@ -206,7 +206,7 @@ typedef struct qla_host qla_host_t; #define QL_MIN(x, y) ((x < y) ? x : y) #define QL_RUNNING(ifp) \ - ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) == \ + ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) == \ IFF_DRV_RUNNING) #endif /* #ifndef _QLA_DEF_H_ */ diff --git a/sys/dev/qlxgb/qla_glbl.h b/sys/dev/qlxgb/qla_glbl.h index e9179685dc64..9cdc325bc921 100644 --- a/sys/dev/qlxgb/qla_glbl.h +++ b/sys/dev/qlxgb/qla_glbl.h @@ -54,7 +54,7 @@ extern uint32_t free_pkt_thres; extern int qla_alloc_dmabuf(qla_host_t *ha, qla_dma_t *dma_buf); extern void qla_free_dmabuf(qla_host_t *ha, qla_dma_t *dma_buf); -extern void qla_start(struct ifnet *ifp); +extern void qla_start(if_t ifp); extern int qla_get_mbuf(qla_host_t *ha, qla_rx_buf_t *rxb, struct mbuf *nmp, uint32_t jumbo); diff --git a/sys/dev/qlxgb/qla_hw.c b/sys/dev/qlxgb/qla_hw.c index 21d37c624e5a..8b0ab9c46af0 100644 --- a/sys/dev/qlxgb/qla_hw.c +++ b/sys/dev/qlxgb/qla_hw.c @@ -1733,7 +1733,7 @@ qla_hw_tx_done(qla_host_t *ha) qla_hw_tx_done_locked(ha); if (ha->hw.txr_free > free_pkt_thres) - ha->ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ha->ifp, 0, IFF_DRV_OACTIVE); mtx_unlock(&ha->tx_lock); return; @@ -1745,7 +1745,7 @@ qla_update_link_state(qla_host_t *ha) uint32_t link_state; uint32_t prev_link_state; - if (!(ha->ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (!(if_getdrvflags(ha->ifp) & IFF_DRV_RUNNING)) { ha->hw.flags.link_up = 0; return; } diff --git a/sys/dev/qlxgb/qla_ioctl.c b/sys/dev/qlxgb/qla_ioctl.c index 3498450d6326..b56d482dc69f 100644 --- a/sys/dev/qlxgb/qla_ioctl.c +++ b/sys/dev/qlxgb/qla_ioctl.c @@ -53,7 +53,7 @@ int qla_make_cdev(qla_host_t *ha) { ha->ioctl_dev = make_dev(&qla_cdevsw, - ha->ifp->if_dunit, + if_getdunit(ha->ifp), UID_ROOT, GID_WHEEL, 0600, diff --git a/sys/dev/qlxgb/qla_isr.c b/sys/dev/qlxgb/qla_isr.c index d507ecaf01e1..3d3398ad5f1f 100644 --- a/sys/dev/qlxgb/qla_isr.c +++ b/sys/dev/qlxgb/qla_isr.c @@ -58,7 +58,7 @@ qla_rx_intr(qla_host_t *ha, uint64_t data, uint32_t sds_idx, uint32_t idx, length, status, ring; qla_rx_buf_t *rxb; struct mbuf *mp; - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; qla_sds_t *sdsp; struct ether_vlan_header *eh; @@ -145,7 +145,7 @@ qla_rx_intr(qla_host_t *ha, uint64_t data, uint32_t sds_idx, } else #endif { - (*ifp->if_input)(ifp, mp); + if_input(ifp, mp); } if (sdsp->rx_free > std_replenish) @@ -386,7 +386,7 @@ qla_rcv(void *context, int pending) qla_hw_t *hw; uint32_t sds_idx; uint32_t ret; - struct ifnet *ifp; + if_t ifp; ha = ivec->ha; hw = &ha->hw; @@ -397,7 +397,7 @@ qla_rcv(void *context, int pending) if (sds_idx == 0) { if (qla_le32_to_host(*(hw->tx_cons)) != hw->txr_comp) { taskqueue_enqueue(ha->tx_tq, &ha->tx_task); - } else if ((ifp->if_snd.ifq_head != NULL) && + } else if (!if_sendq_empty(ifp) && QL_RUNNING(ifp)) { taskqueue_enqueue(ha->tx_tq, &ha->tx_task); } diff --git a/sys/dev/qlxgb/qla_os.c b/sys/dev/qlxgb/qla_os.c index f0c5ee6269bb..96c9b02dd835 100644 --- a/sys/dev/qlxgb/qla_os.c +++ b/sys/dev/qlxgb/qla_os.c @@ -86,9 +86,9 @@ static int qla_pci_attach (device_t); static int qla_pci_detach (device_t); static void qla_init(void *arg); -static int qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); -static int qla_media_change(struct ifnet *ifp); -static void qla_media_status(struct ifnet *ifp, struct ifmediareq *ifmr); +static int qla_ioctl(if_t ifp, u_long cmd, caddr_t data); +static int qla_media_change(if_t ifp); +static void qla_media_status(if_t ifp, struct ifmediareq *ifmr); static device_method_t qla_pci_methods[] = { /* Device interface */ @@ -208,7 +208,7 @@ qla_watchdog(void *arg) { qla_host_t *ha = arg; qla_hw_t *hw; - struct ifnet *ifp; + if_t ifp; hw = &ha->hw; ifp = ha->ifp; @@ -219,7 +219,7 @@ qla_watchdog(void *arg) if (!ha->flags.qla_watchdog_pause) { if (qla_le32_to_host(*(hw->tx_cons)) != hw->txr_comp) { taskqueue_enqueue(ha->tx_tq, &ha->tx_task); - } else if ((ifp->if_snd.ifq_head != NULL) && QL_RUNNING(ifp)) { + } else if (!if_sendq_empty(ifp) && QL_RUNNING(ifp)) { taskqueue_enqueue(ha->tx_tq, &ha->tx_task); } } @@ -654,7 +654,7 @@ qla_free_parent_dma_tag(qla_host_t *ha) static void qla_init_ifnet(device_t dev, qla_host_t *ha) { - struct ifnet *ifp; + if_t ifp; QL_DPRINT2((dev, "%s: enter\n", __func__)); @@ -665,32 +665,31 @@ qla_init_ifnet(device_t dev, qla_host_t *ha) if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_mtu = ETHERMTU; - ifp->if_baudrate = IF_Gbps(10); - ifp->if_init = qla_init; - ifp->if_softc = ha; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = qla_ioctl; - ifp->if_start = qla_start; + if_setmtu(ifp, ETHERMTU); + if_setbaudrate(ifp, IF_Gbps(10)); + if_setinitfn(ifp, qla_init); + if_setsoftc(ifp, ha); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, qla_ioctl); + if_setstartfn(ifp, qla_start); - IFQ_SET_MAXLEN(&ifp->if_snd, qla_get_ifq_snd_maxlen(ha)); - ifp->if_snd.ifq_drv_maxlen = qla_get_ifq_snd_maxlen(ha); - IFQ_SET_READY(&ifp->if_snd); + if_setsendqlen(ifp, qla_get_ifq_snd_maxlen(ha)); + if_setsendqready(ifp); - ha->max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; + ha->max_frame_size = if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_CRC_LEN; ether_ifattach(ifp, qla_get_mac_addr(ha)); - ifp->if_capabilities = IFCAP_HWCSUM | + if_setcapabilities(ifp, IFCAP_HWCSUM | IFCAP_TSO4 | - IFCAP_JUMBO_MTU; + IFCAP_JUMBO_MTU); - ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; - ifp->if_capabilities |= IFCAP_LINKSTATE; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU, 0); + if_setcapabilitiesbit(ifp, IFCAP_LINKSTATE, 0); - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); ifmedia_init(&ha->media, IFM_IMASK, qla_media_change, qla_media_status); @@ -708,7 +707,7 @@ qla_init_ifnet(device_t dev, qla_host_t *ha) static void qla_init_locked(qla_host_t *ha) { - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; qla_stop(ha); @@ -721,15 +720,15 @@ qla_init_locked(qla_host_t *ha) if (qla_config_lro(ha)) return; - bcopy(IF_LLADDR(ha->ifp), ha->hw.mac_addr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(ha->ifp), ha->hw.mac_addr, ETHER_ADDR_LEN); - ifp->if_hwassist = CSUM_TCP | CSUM_UDP | CSUM_TSO; + if_sethwassist(ifp, CSUM_TCP | CSUM_UDP | CSUM_TSO); ha->flags.stop_rcv = 0; if (qla_init_hw_if(ha) == 0) { ifp = ha->ifp; - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); ha->flags.qla_watchdog_pause = 0; } @@ -768,7 +767,7 @@ static void qla_set_multi(qla_host_t *ha, uint32_t add_multi) { uint8_t mta[Q8_MAX_NUM_MULTICAST_ADDRS * Q8_MAC_ADDR_LEN]; - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; int mcnt; mcnt = if_foreach_llmaddr(ifp, qla_copy_maddr, mta); @@ -778,7 +777,7 @@ qla_set_multi(qla_host_t *ha, uint32_t add_multi) } static int -qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +qla_ioctl(if_t ifp, u_long cmd, caddr_t data) { int ret = 0; struct ifreq *ifr = (struct ifreq *)data; @@ -787,7 +786,7 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) #endif qla_host_t *ha; - ha = (qla_host_t *)ifp->if_softc; + ha = (qla_host_t *)if_getsoftc(ifp); switch (cmd) { case SIOCSIFADDR: @@ -796,8 +795,8 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) #ifdef INET if (ifa->ifa_addr->sa_family == AF_INET) { - ifp->if_flags |= IFF_UP; - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if_setflagbits(ifp, IFF_UP, 0); + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { QLA_LOCK(ha, __func__); qla_init_locked(ha); QLA_UNLOCK(ha, __func__); @@ -825,10 +824,10 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) ret = EINVAL; } else { QLA_LOCK(ha, __func__); - ifp->if_mtu = ifr->ifr_mtu; + if_setmtu(ifp, ifr->ifr_mtu); ha->max_frame_size = - ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_CRC_LEN; + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { ret = qla_set_max_mtu(ha, ha->max_frame_size, (ha->hw.rx_cntxt_rsp)->rx_rsp.cntxt_id); } @@ -844,19 +843,19 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) QL_DPRINT4((ha->pci_dev, "%s: SIOCSIFFLAGS (0x%lx)\n", __func__, cmd)); - if (ifp->if_flags & IFF_UP) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) { - if ((ifp->if_flags ^ ha->if_flags) & + if (if_getflags(ifp) & IFF_UP) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { + if ((if_getflags(ifp) ^ ha->if_flags) & IFF_PROMISC) { qla_set_promisc(ha); - } else if ((ifp->if_flags ^ ha->if_flags) & + } else if ((if_getflags(ifp) ^ ha->if_flags) & IFF_ALLMULTI) { qla_set_allmulti(ha); } } else { QLA_LOCK(ha, __func__); qla_init_locked(ha); - ha->max_frame_size = ifp->if_mtu + + ha->max_frame_size = if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_CRC_LEN; ret = qla_set_max_mtu(ha, ha->max_frame_size, (ha->hw.rx_cntxt_rsp)->rx_rsp.cntxt_id); @@ -864,9 +863,9 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } } else { QLA_LOCK(ha, __func__); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) qla_stop(ha); - ha->if_flags = ifp->if_flags; + ha->if_flags = if_getflags(ifp); QLA_UNLOCK(ha, __func__); } break; @@ -875,7 +874,7 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) QL_DPRINT4((ha->pci_dev, "%s: %s (0x%lx)\n", __func__, "SIOCADDMULTI", cmd)); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { qla_set_multi(ha, 1); } break; @@ -884,7 +883,7 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) QL_DPRINT4((ha->pci_dev, "%s: %s (0x%lx)\n", __func__, "SIOCDELMULTI", cmd)); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { qla_set_multi(ha, 0); } break; @@ -899,21 +898,21 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) case SIOCSIFCAP: { - int mask = ifr->ifr_reqcap ^ ifp->if_capenable; + int mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); QL_DPRINT4((ha->pci_dev, "%s: SIOCSIFCAP (0x%lx)\n", __func__, cmd)); if (mask & IFCAP_HWCSUM) - ifp->if_capenable ^= IFCAP_HWCSUM; + if_togglecapenable(ifp, IFCAP_HWCSUM); if (mask & IFCAP_TSO4) - ifp->if_capenable ^= IFCAP_TSO4; + if_togglecapenable(ifp, IFCAP_TSO4); if (mask & IFCAP_TSO6) - ifp->if_capenable ^= IFCAP_TSO6; + if_togglecapenable(ifp, IFCAP_TSO6); if (mask & IFCAP_VLAN_HWTAGGING) - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) qla_init(ha); VLAN_CAPABILITIES(ifp); @@ -931,13 +930,13 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } static int -qla_media_change(struct ifnet *ifp) +qla_media_change(if_t ifp) { qla_host_t *ha; struct ifmedia *ifm; int ret = 0; - ha = (qla_host_t *)ifp->if_softc; + ha = (qla_host_t *)if_getsoftc(ifp); QL_DPRINT2((ha->pci_dev, "%s: enter\n", __func__)); @@ -952,11 +951,11 @@ qla_media_change(struct ifnet *ifp) } static void -qla_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +qla_media_status(if_t ifp, struct ifmediareq *ifmr) { qla_host_t *ha; - ha = (qla_host_t *)ifp->if_softc; + ha = (qla_host_t *)if_getsoftc(ifp); QL_DPRINT2((ha->pci_dev, "%s: enter\n", __func__)); @@ -976,10 +975,10 @@ qla_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) } void -qla_start(struct ifnet *ifp) +qla_start(if_t ifp) { struct mbuf *m_head; - qla_host_t *ha = (qla_host_t *)ifp->if_softc; + qla_host_t *ha = (qla_host_t *)if_getsoftc(ifp); QL_DPRINT8((ha->pci_dev, "%s: enter\n", __func__)); @@ -989,7 +988,7 @@ qla_start(struct ifnet *ifp) return; } - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) { QL_DPRINT8((ha->pci_dev, "%s: !IFF_DRV_RUNNING\n", __func__)); QLA_TX_UNLOCK(ha); @@ -1005,8 +1004,8 @@ qla_start(struct ifnet *ifp) return; } - while (ifp->if_snd.ifq_head != NULL) { - IF_DEQUEUE(&ifp->if_snd, m_head); + while (!if_sendq_empty(ifp)) { + m_head = if_dequeue(ifp); if (m_head == NULL) { QL_DPRINT8((ha->pci_dev, "%s: m_head == NULL\n", @@ -1018,8 +1017,8 @@ qla_start(struct ifnet *ifp) if (m_head == NULL) break; QL_DPRINT8((ha->pci_dev, "%s: PREPEND\n", __func__)); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - IF_PREPEND(&ifp->if_snd, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); + if_sendq_prepend(ifp, m_head); break; } /* Send a copy of the frame to the BPF listener */ @@ -1123,7 +1122,7 @@ qla_send(qla_host_t *ha, struct mbuf **m_headp) static void qla_stop(qla_host_t *ha) { - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; ha->flags.qla_watchdog_pause = 1; qla_mdelay(__func__, 100); @@ -1138,7 +1137,7 @@ qla_stop(qla_host_t *ha) qla_free_xmt_bufs(ha); qla_free_rcv_bufs(ha); - ifp->if_drv_flags &= ~(IFF_DRV_OACTIVE | IFF_DRV_RUNNING); + if_setdrvflagbits(ifp, 0, (IFF_DRV_OACTIVE | IFF_DRV_RUNNING)); return; } From nobody Tue Mar 7 20:29:11 2023 X-Original-To: dev-commits-src-main@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 4PWRqq63P3z3wbs3; Tue, 7 Mar 2023 20:29: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 4PWRqq4yDjz3qvD; Tue, 7 Mar 2023 20:29:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678220951; 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=MjLpJtjunTpZL0fDb+jWo9XmJlbxQtK8jVQ8dvXhlWY=; b=X+y1AasqlnujZXRy5Nf+PUCQ5KzlLrpzxkwGt+e7Bc3GUYDV6bE7/d7IG2qlMz75JW+P/P DZjVQXM/nh9FAYy6EmdXszliy8aKF+vCgARFmMFf+eAKtKaMs0X/5OKK6uXMHwLTyOlIK8 S0H3WUUdCQG6NADX33GhsRCVlBRRKzGFOy/wRN2XrwXqx66uLKT61UPUwTJJEyCuTuvOuL JmI+bExu4YTIgYqi2qPZ6Nwi5C8xLgKMwV4dj3W9PpECEryKjRV6DtoweCspvsSMXUV8uo po6o6sBP24c1q9S7HsPcn2mVFWq4urv2/4KJqFQyKAmWwtWRlowTTwuDClPc9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678220951; 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=MjLpJtjunTpZL0fDb+jWo9XmJlbxQtK8jVQ8dvXhlWY=; b=CbBtjumKJ2owTAbJIDAEbcVGFd7/hetNaYAgm1ftEShnXdyBwWcakep1j+vdZD3YN1MJoB 3jnhn9MU80Lp1YmmKvBnrMCa7w7x7q17tvP8EUySItzERWaaadJpRIFMN4ey/A/hfUUOmG ynkIFGtWzlzLtCNiYC0lgLR5Civ58A8iw+HDiDF0L/uN2jY+xFs76wYMwWKpMM7NtK36R6 3kUWawuZavpHiy4nKLFcZz1USDx6re6JTYgXWU3DtPni/GPTvVE+QQtk8rN0Z/MwNiSiHg X/ihkrA+JXXhwYTj4bSOsWYkpnej77o8l1BHP8iexeHnyJse7+B1cOIyWPPntQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678220951; a=rsa-sha256; cv=none; b=VNBUQRI+wNETmyy7xdAb+e3ZNfOo5nh7BJPQuXlc85QGYU9flr+dZU3bs8fHtpa+Bui3Q1 QF+naew4rVd1Rhsq8zOKobkS8hqQwcfbtShEgutCEyMNL4Tpq7No5szwHrhlJiVyp26jEQ f82gUPKHlg3MIJWlZ/pX0Y20XmGFi3pJ0INS8z7ADp3SGD5XlPjBESUMbIErxRabtBQ7Qb Ilxr0UiodHBXuA69X3KRuJuldgczC0mtxrdFPlDRQAINOr09D34u2zRGCYEtwRpgayihyj G8oCs94pyTkNURVCzL8TKqLCTlo2rir05X25htvcmD6s38YQ7vDjeHYENhLU2g== 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 4PWRqq3cnFzxR0; Tue, 7 Mar 2023 20:29:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327KTBRc069930; Tue, 7 Mar 2023 20:29:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327KTBkL069929; Tue, 7 Mar 2023 20:29:11 GMT (envelope-from git) Date: Tue, 7 Mar 2023 20:29:11 GMT Message-Id: <202303072029.327KTBkL069929@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 54ab3b4a03f0 - main - Mechanically convert qlxgbe(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 54ab3b4a03f02c60c0434698726b82976812f9df Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=54ab3b4a03f02c60c0434698726b82976812f9df commit 54ab3b4a03f02c60c0434698726b82976812f9df Author: Justin Hibbits AuthorDate: 2022-08-17 20:27:58 +0000 Commit: Justin Hibbits CommitDate: 2023-03-07 20:31:48 +0000 Mechanically convert qlxgbe(4) to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37821 --- sys/dev/qlxgbe/ql_def.h | 4 +- sys/dev/qlxgbe/ql_hw.c | 16 ++-- sys/dev/qlxgbe/ql_ioctl.c | 8 +- sys/dev/qlxgbe/ql_ioctl.h | 4 +- sys/dev/qlxgbe/ql_isr.c | 12 +-- sys/dev/qlxgbe/ql_os.c | 183 +++++++++++++++++++++++----------------------- 6 files changed, 113 insertions(+), 114 deletions(-) diff --git a/sys/dev/qlxgbe/ql_def.h b/sys/dev/qlxgbe/ql_def.h index c8ddb4f8959b..c1eaecbb6dcc 100644 --- a/sys/dev/qlxgbe/ql_def.h +++ b/sys/dev/qlxgbe/ql_def.h @@ -175,7 +175,7 @@ struct qla_host { bus_dma_tag_t parent_tag; /* interface to o.s */ - struct ifnet *ifp; + if_t ifp; struct ifmedia media; uint16_t max_frame_size; @@ -272,7 +272,7 @@ typedef struct qla_host qla_host_t; #define QL_ALIGN(size, align) (((size) + ((align) - 1)) & (~((align) - 1))) #define QL_MIN(x, y) ((x < y) ? x : y) -#define QL_RUNNING(ifp) (ifp->if_drv_flags & IFF_DRV_RUNNING) +#define QL_RUNNING(ifp) (if_getdrvflags(ifp) & IFF_DRV_RUNNING) /* Return 0, if identical, else 1 */ #define QL_MAC_CMP(mac1, mac2) \ diff --git a/sys/dev/qlxgbe/ql_hw.c b/sys/dev/qlxgbe/ql_hw.c index 119f22ad4137..484133f15686 100644 --- a/sys/dev/qlxgbe/ql_hw.c +++ b/sys/dev/qlxgbe/ql_hw.c @@ -2163,7 +2163,7 @@ ql_get_stats(qla_host_t *ha) q80_rcv_stats_t *rstat; uint32_t cmd; int i; - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; if (ifp == NULL) return; @@ -2173,7 +2173,7 @@ ql_get_stats(qla_host_t *ha) return; } - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { QLA_UNLOCK(ha, __func__); return; } @@ -2187,7 +2187,7 @@ ql_get_stats(qla_host_t *ha) cmd |= ((ha->pci_func & 0x1) << 16); - if (ha->qla_watchdog_pause || (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + if (ha->qla_watchdog_pause || (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) || ha->offline) goto ql_get_stats_exit; @@ -2205,7 +2205,7 @@ ql_get_stats(qla_host_t *ha) // cmd |= Q8_GET_STATS_CMD_CLEAR; cmd |= (ha->hw.rcv_cntxt_id << 16); - if (ha->qla_watchdog_pause || (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + if (ha->qla_watchdog_pause || (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) || ha->offline) goto ql_get_stats_exit; @@ -2217,7 +2217,7 @@ ql_get_stats(qla_host_t *ha) __func__, ha->hw.mbox[0]); } - if (ha->qla_watchdog_pause || (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + if (ha->qla_watchdog_pause || (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) || ha->offline) goto ql_get_stats_exit; /* @@ -2225,7 +2225,7 @@ ql_get_stats(qla_host_t *ha) */ for (i = 0 ; (i < ha->hw.num_tx_rings); i++) { if (ha->qla_watchdog_pause || - (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) || ha->offline) goto ql_get_stats_exit; @@ -2977,7 +2977,7 @@ ql_init_hw_if(qla_host_t *ha) if (qla_link_event_req(ha, ha->hw.rcv_cntxt_id)) return (-1); - if (ha->ifp->if_capenable & IFCAP_LRO) { + if (if_getcapenable(ha->ifp) & IFCAP_LRO) { if (ha->hw.enable_hw_lro) { ha->hw.enable_soft_lro = 0; @@ -3786,7 +3786,7 @@ ql_update_link_state(qla_host_t *ha) prev_link_state = ha->hw.link_up; - if (ha->ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ha->ifp) & IFF_DRV_RUNNING) { link_state = READ_REG32(ha, Q8_LINK_STATE); if (ha->pci_func == 0) { diff --git a/sys/dev/qlxgbe/ql_ioctl.c b/sys/dev/qlxgbe/ql_ioctl.c index 76de52ed6d04..ce03dc8c9bd4 100644 --- a/sys/dev/qlxgbe/ql_ioctl.c +++ b/sys/dev/qlxgbe/ql_ioctl.c @@ -59,7 +59,7 @@ int ql_make_cdev(qla_host_t *ha) { ha->ioctl_dev = make_dev(&qla_cdevsw, - ha->ifp->if_dunit, + if_getdunit(ha->ifp), UID_ROOT, GID_WHEEL, 0600, @@ -89,7 +89,7 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, qla_host_t *ha; int rval = 0; device_t pci_dev; - struct ifnet *ifp; + if_t ifp; int count; q80_offchip_mem_val_t val; @@ -147,7 +147,7 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, break; } - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { rval = ENXIO; break; } @@ -174,7 +174,7 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, break; } - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { rval = ENXIO; break; } diff --git a/sys/dev/qlxgbe/ql_ioctl.h b/sys/dev/qlxgbe/ql_ioctl.h index 39de0989fec2..a1e9b1a3665b 100644 --- a/sys/dev/qlxgbe/ql_ioctl.h +++ b/sys/dev/qlxgbe/ql_ioctl.h @@ -267,10 +267,10 @@ typedef struct qla_sp_log qla_sp_log_t; "qla_ioctl [%ld]: SIOCSIFMTU if_drv_flags = 0x%08x [0x%08x] max_frame_size = 0x%08x if_mtu = 0x%08x\n" #define SP_TLOG_FMT_STR_10 \ - "qla_ioctl [%ld]: SIOCSIFFLAGS if_drv_flags = 0x%08x [0x%08x] ha->if_flags = 0x%08x ifp->if_flags = 0x%08x\n" + #define SP_TLOG_FMT_STR_11 \ - "qla_ioctl [%ld]: SIOCSIFCAP if_drv_flags = 0x%08x [0x%08x] mask = 0x%08x ifp->if_capenable = 0x%08x\n" + #define SP_TLOG_FMT_STR_12 \ "qla_set_multi [%ld]: if_drv_flags = 0x%08x [0x%08x] add_multi = 0x%08x mcnt = 0x%08x\n" diff --git a/sys/dev/qlxgbe/ql_isr.c b/sys/dev/qlxgbe/ql_isr.c index 0ccc1cbb84c9..1c480d96c80c 100644 --- a/sys/dev/qlxgbe/ql_isr.c +++ b/sys/dev/qlxgbe/ql_isr.c @@ -62,7 +62,7 @@ qla_rx_intr(qla_host_t *ha, qla_sgl_rcv_t *sgc, uint32_t sds_idx) { qla_rx_buf_t *rxb; struct mbuf *mp = NULL, *mpf = NULL, *mpl = NULL; - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; qla_sds_t *sdsp; struct ether_vlan_header *eh; uint32_t i, rem_len = 0; @@ -172,7 +172,7 @@ qla_rx_intr(qla_host_t *ha, qla_sgl_rcv_t *sgc, uint32_t sds_idx) tcp_lro_queue_mbuf(lro, mpf); else #endif - (*ifp->if_input)(ifp, mpf); + if_input(ifp, mpf); if (sdsp->rx_free > ha->std_replenish) qla_replenish_normal_rx(ha, sdsp, r_idx); @@ -192,7 +192,7 @@ qla_lro_intr(qla_host_t *ha, qla_sgl_lro_t *sgc, uint32_t sds_idx) { qla_rx_buf_t *rxb; struct mbuf *mp = NULL, *mpf = NULL, *mpl = NULL; - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; qla_sds_t *sdsp; struct ether_vlan_header *eh; uint32_t i, rem_len = 0, pkt_length, iplen; @@ -344,7 +344,7 @@ qla_lro_intr(qla_host_t *ha, qla_sgl_lro_t *sgc, uint32_t sds_idx) if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); - (*ifp->if_input)(ifp, mpf); + if_input(ifp, mpf); if (sdsp->rx_free > ha->std_replenish) qla_replenish_normal_rx(ha, sdsp, r_idx); @@ -952,7 +952,7 @@ ql_isr(void *arg) qla_host_t *ha ; int idx; qla_hw_t *hw; - struct ifnet *ifp; + if_t ifp; qla_tx_fp_t *fp; ha = ivec->ha; @@ -966,7 +966,7 @@ ql_isr(void *arg) hw->sds[idx].intr_count++; if ((fp->fp_taskqueue != NULL) && - (ifp->if_drv_flags & IFF_DRV_RUNNING)) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING)) taskqueue_enqueue(fp->fp_taskqueue, &fp->fp_task); return; diff --git a/sys/dev/qlxgbe/ql_os.c b/sys/dev/qlxgbe/ql_os.c index 298de1693b66..d27c566cd0e4 100644 --- a/sys/dev/qlxgbe/ql_os.c +++ b/sys/dev/qlxgbe/ql_os.c @@ -91,12 +91,12 @@ static int qla_pci_attach (device_t); static int qla_pci_detach (device_t); static void qla_init(void *arg); -static int qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); -static int qla_media_change(struct ifnet *ifp); -static void qla_media_status(struct ifnet *ifp, struct ifmediareq *ifmr); +static int qla_ioctl(if_t ifp, u_long cmd, caddr_t data); +static int qla_media_change(if_t ifp); +static void qla_media_status(if_t ifp, struct ifmediareq *ifmr); -static int qla_transmit(struct ifnet *ifp, struct mbuf *mp); -static void qla_qflush(struct ifnet *ifp); +static int qla_transmit(if_t ifp, struct mbuf *mp); +static void qla_qflush(if_t ifp); static int qla_alloc_tx_br(qla_host_t *ha, qla_tx_fp_t *tx_fp); static void qla_free_tx_br(qla_host_t *ha, qla_tx_fp_t *tx_fp); static int qla_create_fp_taskqueues(qla_host_t *ha); @@ -257,7 +257,7 @@ static void qla_watchdog(void *arg) { qla_host_t *ha = arg; - struct ifnet *ifp; + if_t ifp; ifp = ha->ifp; @@ -271,7 +271,7 @@ qla_watchdog(void *arg) if (!ha->offline && (ql_hw_check_health(ha) || ha->qla_initiate_recovery || (ha->msg_from_peer == QL_PEER_MSG_RESET))) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ql_update_link_state(ha); if (ha->enable_error_recovery) { @@ -284,7 +284,7 @@ qla_watchdog(void *arg) taskqueue_enqueue(ha->err_tq, &ha->err_task); } else { if (ifp != NULL) - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ha->offline = 1; } return; @@ -569,7 +569,7 @@ static int qla_pci_detach(device_t dev) { qla_host_t *ha = NULL; - struct ifnet *ifp; + if_t ifp; if ((ha = device_get_softc(dev)) == NULL) { device_printf(dev, "cannot get softc\n"); @@ -580,7 +580,7 @@ qla_pci_detach(device_t dev) ifp = ha->ifp; - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); QLA_LOCK(ha, __func__, -1, 0); ha->qla_detach_active = 1; @@ -849,7 +849,7 @@ qla_free_parent_dma_tag(qla_host_t *ha) static void qla_init_ifnet(device_t dev, qla_host_t *ha) { - struct ifnet *ifp; + if_t ifp; QL_DPRINT2(ha, (dev, "%s: enter\n", __func__)); @@ -860,38 +860,37 @@ qla_init_ifnet(device_t dev, qla_host_t *ha) if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_baudrate = IF_Gbps(10); - ifp->if_capabilities = IFCAP_LINKSTATE; - ifp->if_mtu = ETHERMTU; + if_setbaudrate(ifp, IF_Gbps(10)); + if_setcapabilities(ifp, IFCAP_LINKSTATE); + if_setmtu(ifp, ETHERMTU); - ifp->if_init = qla_init; - ifp->if_softc = ha; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = qla_ioctl; + if_setinitfn(ifp, qla_init); + if_setsoftc(ifp, ha); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, qla_ioctl); - ifp->if_transmit = qla_transmit; - ifp->if_qflush = qla_qflush; + if_settransmitfn(ifp, qla_transmit); + if_setqflushfn(ifp, qla_qflush); - IFQ_SET_MAXLEN(&ifp->if_snd, qla_get_ifq_snd_maxlen(ha)); - ifp->if_snd.ifq_drv_maxlen = qla_get_ifq_snd_maxlen(ha); - IFQ_SET_READY(&ifp->if_snd); + if_setsendqlen(ifp, qla_get_ifq_snd_maxlen(ha)); + if_setsendqready(ifp); - ha->max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; + ha->max_frame_size = if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_CRC_LEN; ether_ifattach(ifp, qla_get_mac_addr(ha)); - ifp->if_capabilities |= IFCAP_HWCSUM | + if_setcapabilitiesbit(ifp, IFCAP_HWCSUM | IFCAP_TSO4 | IFCAP_TSO6 | IFCAP_JUMBO_MTU | IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU | IFCAP_VLAN_HWTSO | - IFCAP_LRO; + IFCAP_LRO, 0); - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); ifmedia_init(&ha->media, IFM_IMASK, qla_media_change, qla_media_status); @@ -909,7 +908,7 @@ qla_init_ifnet(device_t dev, qla_host_t *ha) static void qla_init_locked(qla_host_t *ha) { - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; ql_sp_log(ha, 14, 0, 0, 0, 0, 0, 0); @@ -923,15 +922,15 @@ qla_init_locked(qla_host_t *ha) if (qla_alloc_rcv_bufs(ha) != 0) return; - bcopy(IF_LLADDR(ha->ifp), ha->hw.mac_addr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(ha->ifp), ha->hw.mac_addr, ETHER_ADDR_LEN); - ifp->if_hwassist = CSUM_TCP | CSUM_UDP | CSUM_TSO; - ifp->if_hwassist |= CSUM_TCP_IPV6 | CSUM_UDP_IPV6; + if_sethwassist(ifp, CSUM_TCP | CSUM_UDP | CSUM_TSO); + if_sethwassistbits(ifp, CSUM_TCP_IPV6 | CSUM_UDP_IPV6, 0); ha->stop_rcv = 0; if (ql_init_hw_if(ha) == 0) { ifp = ha->ifp; - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); ha->hw_vlan_tx_frames = 0; ha->tx_tso_frames = 0; ha->qla_interface_up = 1; @@ -983,7 +982,7 @@ qla_set_multi(qla_host_t *ha, uint32_t add_multi) { uint8_t mta[Q8_MAX_NUM_MULTICAST_ADDRS * Q8_MAC_ADDR_LEN]; int mcnt = 0; - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; int ret = 0; mcnt = if_foreach_llmaddr(ifp, qla_copy_maddr, mta); @@ -992,11 +991,11 @@ qla_set_multi(qla_host_t *ha, uint32_t add_multi) QLA_LOCK_NO_SLEEP) != 0) return (-1); - ql_sp_log(ha, 12, 4, ifp->if_drv_flags, - (ifp->if_drv_flags & IFF_DRV_RUNNING), + ql_sp_log(ha, 12, 4, if_getdrvflags(ifp), + (if_getdrvflags(ifp) & IFF_DRV_RUNNING), add_multi, (uint32_t)mcnt, 0); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { if (!add_multi) { ret = qla_hw_del_all_mcast(ha); @@ -1016,7 +1015,7 @@ qla_set_multi(qla_host_t *ha, uint32_t add_multi) } static int -qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +qla_ioctl(if_t ifp, u_long cmd, caddr_t data) { int ret = 0; struct ifreq *ifr = (struct ifreq *)data; @@ -1025,7 +1024,7 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) #endif qla_host_t *ha; - ha = (qla_host_t *)ifp->if_softc; + ha = (qla_host_t *)if_getsoftc(ifp); if (ha->offline || ha->qla_initiate_recovery) return (ret); @@ -1042,13 +1041,13 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) if (ret) break; - ifp->if_flags |= IFF_UP; + if_setflagbits(ifp, IFF_UP, 0); - ql_sp_log(ha, 8, 3, ifp->if_drv_flags, - (ifp->if_drv_flags & IFF_DRV_RUNNING), + ql_sp_log(ha, 8, 3, if_getdrvflags(ifp), + (if_getdrvflags(ifp) & IFF_DRV_RUNNING), ntohl(IA_SIN(ifa)->sin_addr.s_addr), 0, 0); - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { qla_init_locked(ha); } @@ -1078,19 +1077,19 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) if (ret) break; - ifp->if_mtu = ifr->ifr_mtu; + if_setmtu(ifp, ifr->ifr_mtu); ha->max_frame_size = - ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; + if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_CRC_LEN; - ql_sp_log(ha, 9, 4, ifp->if_drv_flags, - (ifp->if_drv_flags & IFF_DRV_RUNNING), - ha->max_frame_size, ifp->if_mtu, 0); + ql_sp_log(ha, 9, 4, if_getdrvflags(ifp), + (if_getdrvflags(ifp) & IFF_DRV_RUNNING), + ha->max_frame_size, if_getmtu(ifp), 0); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { qla_init_locked(ha); } - if (ifp->if_mtu > ETHERMTU) + if (if_getmtu(ifp) > ETHERMTU) ha->std_replenish = QL_JUMBO_REPLENISH_THRES; else ha->std_replenish = QL_STD_REPLENISH_THRES; @@ -1111,28 +1110,28 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) if (ret) break; - ql_sp_log(ha, 10, 4, ifp->if_drv_flags, - (ifp->if_drv_flags & IFF_DRV_RUNNING), - ha->if_flags, ifp->if_flags, 0); + ql_sp_log(ha, 10, 4, if_getdrvflags(ifp), + (if_getdrvflags(ifp) & IFF_DRV_RUNNING), + ha->if_flags, if_getflags(ifp), 0); - if (ifp->if_flags & IFF_UP) { - ha->max_frame_size = ifp->if_mtu + + if (if_getflags(ifp) & IFF_UP) { + ha->max_frame_size = if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_CRC_LEN; qla_init_locked(ha); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - if ((ifp->if_flags ^ ha->if_flags) & + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if ((if_getflags(ifp) ^ ha->if_flags) & IFF_PROMISC) { ret = ql_set_promisc(ha); - } else if ((ifp->if_flags ^ ha->if_flags) & + } else if ((if_getflags(ifp) ^ ha->if_flags) & IFF_ALLMULTI) { ret = ql_set_allmulti(ha); } } } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) qla_stop(ha); - ha->if_flags = ifp->if_flags; + ha->if_flags = if_getflags(ifp); } QLA_UNLOCK(ha, __func__); @@ -1164,34 +1163,34 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) case SIOCSIFCAP: { - int mask = ifr->ifr_reqcap ^ ifp->if_capenable; + int mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); QL_DPRINT4(ha, (ha->pci_dev, "%s: SIOCSIFCAP (0x%lx)\n", __func__, cmd)); if (mask & IFCAP_HWCSUM) - ifp->if_capenable ^= IFCAP_HWCSUM; + if_togglecapenable(ifp, IFCAP_HWCSUM); if (mask & IFCAP_TSO4) - ifp->if_capenable ^= IFCAP_TSO4; + if_togglecapenable(ifp, IFCAP_TSO4); if (mask & IFCAP_TSO6) - ifp->if_capenable ^= IFCAP_TSO6; + if_togglecapenable(ifp, IFCAP_TSO6); if (mask & IFCAP_VLAN_HWTAGGING) - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); if (mask & IFCAP_VLAN_HWTSO) - ifp->if_capenable ^= IFCAP_VLAN_HWTSO; + if_togglecapenable(ifp, IFCAP_VLAN_HWTSO); if (mask & IFCAP_LRO) - ifp->if_capenable ^= IFCAP_LRO; + if_togglecapenable(ifp, IFCAP_LRO); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { ret = QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, QLA_LOCK_NO_SLEEP); if (ret) break; - ql_sp_log(ha, 11, 4, ifp->if_drv_flags, - (ifp->if_drv_flags & IFF_DRV_RUNNING), - mask, ifp->if_capenable, 0); + ql_sp_log(ha, 11, 4, if_getdrvflags(ifp), + (if_getdrvflags(ifp) & IFF_DRV_RUNNING), + mask, if_getcapenable(ifp), 0); qla_init_locked(ha); @@ -1212,13 +1211,13 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } static int -qla_media_change(struct ifnet *ifp) +qla_media_change(if_t ifp) { qla_host_t *ha; struct ifmedia *ifm; int ret = 0; - ha = (qla_host_t *)ifp->if_softc; + ha = (qla_host_t *)if_getsoftc(ifp); QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__)); @@ -1233,11 +1232,11 @@ qla_media_change(struct ifnet *ifp) } static void -qla_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +qla_media_status(if_t ifp, struct ifmediareq *ifmr) { qla_host_t *ha; - ha = (qla_host_t *)ifp->if_softc; + ha = (qla_host_t *)if_getsoftc(ifp); QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__)); @@ -1386,7 +1385,7 @@ static void qla_free_tx_br(qla_host_t *ha, qla_tx_fp_t *fp) { struct mbuf *mp; - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; if (mtx_initialized(&fp->tx_mtx)) { if (fp->tx_br != NULL) { @@ -1411,7 +1410,7 @@ qla_fp_taskqueue(void *context, int pending) { qla_tx_fp_t *fp; qla_host_t *ha; - struct ifnet *ifp; + if_t ifp; struct mbuf *mp = NULL; int ret = 0; uint32_t txr_idx; @@ -1431,13 +1430,13 @@ qla_fp_taskqueue(void *context, int pending) mtx_lock(&fp->tx_mtx); - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING) || (!ha->hw.link_up)) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING) || (!ha->hw.link_up)) { mtx_unlock(&fp->tx_mtx); goto qla_fp_taskqueue_exit; } while (rx_pkts_left && !ha->stop_rcv && - (ifp->if_drv_flags & IFF_DRV_RUNNING) && ha->hw.link_up) { + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) && ha->hw.link_up) { rx_pkts_left = ql_rcv_isr(ha, fp->txr_idx, 64); #ifdef QL_ENABLE_ISCSI_TLV @@ -1482,7 +1481,7 @@ qla_fp_taskqueue(void *context, int pending) /* Send a copy of the frame to the BPF listener */ ETHER_BPF_MTAP(ifp, mp); - if (((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) || + if (((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) || (!ha->hw.link_up)) break; @@ -1491,7 +1490,7 @@ qla_fp_taskqueue(void *context, int pending) } mtx_unlock(&fp->tx_mtx); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) goto qla_fp_taskqueue_exit; qla_fp_taskqueue_exit0: @@ -1574,9 +1573,9 @@ qla_drain_fp_taskqueues(qla_host_t *ha) } static int -qla_transmit(struct ifnet *ifp, struct mbuf *mp) +qla_transmit(if_t ifp, struct mbuf *mp) { - qla_host_t *ha = (qla_host_t *)ifp->if_softc; + qla_host_t *ha = (qla_host_t *)if_getsoftc(ifp); qla_tx_fp_t *fp; int rss_id = 0; int ret = 0; @@ -1609,14 +1608,14 @@ qla_transmit_exit: } static void -qla_qflush(struct ifnet *ifp) +qla_qflush(if_t ifp) { int i; qla_tx_fp_t *fp; struct mbuf *mp; qla_host_t *ha; - ha = (qla_host_t *)ifp->if_softc; + ha = (qla_host_t *)if_getsoftc(ifp); QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__)); @@ -1643,12 +1642,12 @@ qla_qflush(struct ifnet *ifp) static void qla_stop(qla_host_t *ha) { - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; int i = 0; ql_sp_log(ha, 13, 0, 0, 0, 0, 0, 0); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ha->qla_watchdog_pause = 1; for (i = 0; i < ha->hw.num_sds_rings; i++) { @@ -2043,11 +2042,11 @@ qla_send_msg_to_peer(qla_host_t *ha, uint32_t msg_to_peer) void qla_set_error_recovery(qla_host_t *ha) { - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; if (!cold && ha->enable_error_recovery) { if (ifp) - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ha->qla_initiate_recovery = 1; } else ha->offline = 1; @@ -2059,7 +2058,7 @@ qla_error_recovery(void *context, int pending) { qla_host_t *ha = context; uint32_t msecs_100 = 400; - struct ifnet *ifp = ha->ifp; + if_t ifp = ha->ifp; int i = 0; device_printf(ha->pci_dev, "%s: enter\n", __func__); @@ -2077,7 +2076,7 @@ qla_error_recovery(void *context, int pending) if (ha->qla_interface_up) { qla_mdelay(__func__, 300); - //ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + for (i = 0; i < ha->hw.num_sds_rings; i++) { qla_tx_fp_t *fp; @@ -2190,7 +2189,7 @@ qla_error_recovery(void *context, int pending) if (ql_init_hw_if(ha) == 0) { ifp = ha->ifp; - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); ha->qla_watchdog_pause = 0; ql_update_link_state(ha); } else { From nobody Tue Mar 7 20:29:12 2023 X-Original-To: dev-commits-src-main@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 4PWRqr6spPz3wbkg; Tue, 7 Mar 2023 20:29:12 +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 4PWRqr61Lvz3r4t; Tue, 7 Mar 2023 20:29:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678220952; 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=gjuczPUwKsK+qlPyBVczj2J8mJ6GGfmmfDdfX/+ZvmQ=; b=IMqm/pgyXuWy8jYJBU+00+s+JH56tkP6z9uKWgHVXIGm+zv6Q9s+bKT4p0hVU/A524J2ab RIo+4BU1tNlNLqk4dPciu/YxYbKqD1D39B/OGb9s3WGqKBSKAGIKsExhOI7gc86Tkd/jMn m18iPxsc2kgEUJyc6PDkrsgfFUCYy8vuKXxmy0J/SWzDwBf29fTn2aHPXQaL2MbWsXv9XX hcL3uZ4QScCZpUQh/bCkabLQt+z6J1a+b4s5wXPc5H3W8qk8WX9H+WlHKlwVLHmYPk0dgM Ip9NJF8vLHde5rY1uE6WSoCRePnW9r7QIfs0xJCLQR/ZASQ4SUkTaqv5q4qR6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678220952; 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=gjuczPUwKsK+qlPyBVczj2J8mJ6GGfmmfDdfX/+ZvmQ=; b=nbc/QgRGYmQU3HjznKQrMjP8LPnaLTKfRCa9Sj9emEqdAPNl+EBYA+vkzjeQph3Hx+VvRu WiZuC7SrckWOe87ikppVn8xX9eoa5yNSZ8hPBHKs9YM4X8xs5TDM+9Gg3nRO9h5XEyG9OA zDW4qXDoQToENGHAzt+xQzSO0DF3Hg6BXlUHwrAfBAm7ehC9zyVgi8ky+xNmnoFf8WNm4l 7TDsjNQX2K7JZiqUo8uao+FykxPQfBSb/f5oWCwgT9Tr73H3ykxPJh+K4tkEc1mFmDF0JI av50n5rcp/Jv8Q2jEbdL1QY3hFs0B47KXm79bH+L1kPNB2H7PJfgM3t16gvjYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678220952; a=rsa-sha256; cv=none; b=FwErr7v0OjrAs5HVbhGdG1V7yLi4eoE9JCNmW3o0INT+T27B1+cTf1IOLFkGaBdW20ItE/ p65Op+YHt6Lp01VmPVsA3B/LVutOWHLGQSRfr9dvWVViqVfIZ8SaPpfadmT+WgjjhPzuxi MknS/kH6UoLOGM5pDS7tSaT//1shMPm4jzKq+OsWMqenltIsHRqsCRsaPjIX3ragAa9cBL JPwhYBZyRKH2mmNo/ukPKmwY6JhrlXPkrRyZAQwxQDVtMYWjy/EfB6C3/BfBaVCBwVMb/M nVqj4OWkN1LS84ILf4cpdShhLy6MHsmdyD3u22OnnTyrm5iL2sS8uuEvKaWBLg== 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 4PWRqr4SQYzy0R; Tue, 7 Mar 2023 20:29:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327KTCHk069949; Tue, 7 Mar 2023 20:29:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327KTCC0069948; Tue, 7 Mar 2023 20:29:12 GMT (envelope-from git) Date: Tue, 7 Mar 2023 20:29:12 GMT Message-Id: <202303072029.327KTCC0069948@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 954712e8f622 - main - Mechanically convert cxgb(4) and cxgbe(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 954712e8f62273ec4c25d05cf56c23fd670d79c0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=954712e8f62273ec4c25d05cf56c23fd670d79c0 commit 954712e8f62273ec4c25d05cf56c23fd670d79c0 Author: Justin Hibbits AuthorDate: 2022-05-30 19:39:59 +0000 Commit: Justin Hibbits CommitDate: 2023-03-07 20:31:48 +0000 Mechanically convert cxgb(4) and cxgbe(4) to IfAPI Reviewed by: np Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38597 --- sys/dev/cxgb/common/cxgb_ctl_defs.h | 4 +- sys/dev/cxgb/cxgb_adapter.h | 6 +- sys/dev/cxgb/cxgb_main.c | 179 ++++++++++++----------- sys/dev/cxgb/cxgb_osdep.h | 4 +- sys/dev/cxgb/cxgb_sge.c | 28 ++-- sys/dev/cxgbe/adapter.h | 24 +-- sys/dev/cxgbe/crypto/t6_kern_tls.c | 10 +- sys/dev/cxgbe/iw_cxgbe/cm.c | 12 +- sys/dev/cxgbe/iw_cxgbe/provider.c | 10 +- sys/dev/cxgbe/t4_clip.c | 6 +- sys/dev/cxgbe/t4_l2t.c | 2 +- sys/dev/cxgbe/t4_l2t.h | 2 +- sys/dev/cxgbe/t4_main.c | 282 ++++++++++++++++++------------------ sys/dev/cxgbe/t4_netmap.c | 28 ++-- sys/dev/cxgbe/t4_sched.c | 14 +- sys/dev/cxgbe/t4_sge.c | 46 +++--- sys/dev/cxgbe/t4_tracer.c | 57 ++++---- sys/dev/cxgbe/tom/t4_connect.c | 14 +- sys/dev/cxgbe/tom/t4_listen.c | 22 +-- sys/dev/cxgbe/tom/t4_tom_l2t.c | 16 +- sys/dev/cxgbe/tom/t4_tom_l2t.h | 4 +- 21 files changed, 384 insertions(+), 386 deletions(-) diff --git a/sys/dev/cxgb/common/cxgb_ctl_defs.h b/sys/dev/cxgb/common/cxgb_ctl_defs.h index 188e54fb0fc2..369debe34e29 100644 --- a/sys/dev/cxgb/common/cxgb_ctl_defs.h +++ b/sys/dev/cxgb/common/cxgb_ctl_defs.h @@ -64,7 +64,7 @@ struct mtutab { * Structure used to request the ifnet that owns a given MAC address. */ struct iff_mac { - struct ifnet *dev; + if_t dev; const unsigned char *mac_addr; u16 vlan_tag; }; @@ -83,7 +83,7 @@ struct ddp_params { struct adap_ports { unsigned int nports; /* number of ports on this adapter */ - struct ifnet *lldevs[MAX_NPORTS]; + if_t devs[MAX_NPORTS]; }; /* diff --git a/sys/dev/cxgb/cxgb_adapter.h b/sys/dev/cxgb/cxgb_adapter.h index ae5fa9f357c8..04ba7e056b31 100644 --- a/sys/dev/cxgb/cxgb_adapter.h +++ b/sys/dev/cxgb/cxgb_adapter.h @@ -90,7 +90,7 @@ enum { struct port_info { struct adapter *adapter; - struct ifnet *ifp; + if_t ifp; int if_flags; int flags; const struct port_type_info *port_type; @@ -549,8 +549,8 @@ static inline int offload_running(adapter_t *adapter) } void cxgb_tx_watchdog(void *arg); -int cxgb_transmit(struct ifnet *ifp, struct mbuf *m); -void cxgb_qflush(struct ifnet *ifp); +int cxgb_transmit(if_t ifp, struct mbuf *m); +void cxgb_qflush(if_t ifp); void t3_iterate(void (*)(struct adapter *, void *), void *); void cxgb_refresh_stats(struct port_info *); diff --git a/sys/dev/cxgb/cxgb_main.c b/sys/dev/cxgb/cxgb_main.c index e31050a2f946..a2cf9d6b5a17 100644 --- a/sys/dev/cxgb/cxgb_main.c +++ b/sys/dev/cxgb/cxgb_main.c @@ -92,12 +92,12 @@ static void cxgb_init(void *); static int cxgb_init_locked(struct port_info *); static int cxgb_uninit_locked(struct port_info *); static int cxgb_uninit_synchronized(struct port_info *); -static int cxgb_ioctl(struct ifnet *, unsigned long, caddr_t); -static int cxgb_media_change(struct ifnet *); +static int cxgb_ioctl(if_t, unsigned long, caddr_t); +static int cxgb_media_change(if_t); static int cxgb_ifm_type(int); static void cxgb_build_medialist(struct port_info *); -static void cxgb_media_status(struct ifnet *, struct ifmediareq *); -static uint64_t cxgb_get_counter(struct ifnet *, ift_counter); +static void cxgb_media_status(if_t, struct ifmediareq *); +static uint64_t cxgb_get_counter(if_t, ift_counter); static int setup_sge_qsets(adapter_t *); static void cxgb_async_intr(void *); static void cxgb_tick_handler(void *, int); @@ -983,7 +983,7 @@ static int cxgb_makedev(struct port_info *pi) { - pi->port_cdev = make_dev(&cxgb_cdevsw, pi->ifp->if_dunit, + pi->port_cdev = make_dev(&cxgb_cdevsw, if_getdunit(pi->ifp), UID_ROOT, GID_WHEEL, 0600, "%s", if_name(pi->ifp)); if (pi->port_cdev == NULL) @@ -1003,7 +1003,7 @@ static int cxgb_port_attach(device_t dev) { struct port_info *p; - struct ifnet *ifp; + if_t ifp; int err; struct adapter *sc; @@ -1024,33 +1024,33 @@ cxgb_port_attach(device_t dev) } if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_init = cxgb_init; - ifp->if_softc = p; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = cxgb_ioctl; - ifp->if_transmit = cxgb_transmit; - ifp->if_qflush = cxgb_qflush; - ifp->if_get_counter = cxgb_get_counter; - - ifp->if_capabilities = CXGB_CAP; + if_setinitfn(ifp, cxgb_init); + if_setsoftc(ifp, p); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, cxgb_ioctl); + if_settransmitfn(ifp, cxgb_transmit); + if_setqflushfn(ifp, cxgb_qflush); + if_setgetcounterfn(ifp, cxgb_get_counter); + + if_setcapabilities(ifp, CXGB_CAP); #ifdef TCP_OFFLOAD if (is_offload(sc)) - ifp->if_capabilities |= IFCAP_TOE4; + if_setcapabilitiesbit(ifp, IFCAP_TOE4, 0); #endif - ifp->if_capenable = CXGB_CAP_ENABLE; - ifp->if_hwassist = CSUM_TCP | CSUM_UDP | CSUM_IP | CSUM_TSO | - CSUM_UDP_IPV6 | CSUM_TCP_IPV6; - ifp->if_hw_tsomax = IP_MAXPACKET; - ifp->if_hw_tsomaxsegcount = 36; - ifp->if_hw_tsomaxsegsize = 65536; + if_setcapenable(ifp, CXGB_CAP_ENABLE); + if_sethwassist(ifp, CSUM_TCP | CSUM_UDP | CSUM_IP | CSUM_TSO | + CSUM_UDP_IPV6 | CSUM_TCP_IPV6); + if_sethwtsomax(ifp, IP_MAXPACKET); + if_sethwtsomaxsegcount(ifp, 36); + if_sethwtsomaxsegsize(ifp, 65536); /* * Disable TSO on 4-port - it isn't supported by the firmware. */ if (sc->params.nports > 2) { - ifp->if_capabilities &= ~(IFCAP_TSO | IFCAP_VLAN_HWTSO); - ifp->if_capenable &= ~(IFCAP_TSO | IFCAP_VLAN_HWTSO); - ifp->if_hwassist &= ~CSUM_TSO; + if_setcapabilitiesbit(ifp, 0, IFCAP_TSO | IFCAP_VLAN_HWTSO); + if_setcapenablebit(ifp, 0, IFCAP_TSO | IFCAP_VLAN_HWTSO); + if_sethwassistbits(ifp, 0, CSUM_TSO); } ether_ifattach(ifp, p->hw_addr); @@ -1060,7 +1060,7 @@ cxgb_port_attach(device_t dev) #ifdef DEFAULT_JUMBO if (sc->params.nports <= 2) - ifp->if_mtu = ETHERMTU_JUMBO; + if_setmtu(ifp, ETHERMTU_JUMBO); #endif if ((err = cxgb_makedev(p)) != 0) { printf("makedev failed %d\n", err); @@ -1231,7 +1231,7 @@ t3_os_link_changed(adapter_t *adapter, int port_id, int link_status, int speed, int duplex, int fc, int mac_was_reset) { struct port_info *pi = &adapter->port[port_id]; - struct ifnet *ifp = pi->ifp; + if_t ifp = pi->ifp; /* no race with detach, so ifp should always be good */ KASSERT(ifp, ("%s: if detached.", __func__)); @@ -1244,7 +1244,7 @@ t3_os_link_changed(adapter_t *adapter, int port_id, int link_status, int speed, } if (link_status) { - ifp->if_baudrate = IF_Mbps(speed); + if_setbaudrate(ifp, IF_Mbps(speed)); if_link_state_change(ifp, LINK_STATE_UP); } else if_link_state_change(ifp, LINK_STATE_DOWN); @@ -1300,20 +1300,20 @@ t3_os_set_hw_addr(adapter_t *adapter, int port_idx, u8 hw_addr[]) static void cxgb_update_mac_settings(struct port_info *p) { - struct ifnet *ifp = p->ifp; + if_t ifp = p->ifp; struct t3_rx_mode rm; struct cmac *mac = &p->mac; int mtu, hwtagging; PORT_LOCK_ASSERT_OWNED(p); - bcopy(IF_LLADDR(ifp), p->hw_addr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(ifp), p->hw_addr, ETHER_ADDR_LEN); - mtu = ifp->if_mtu; - if (ifp->if_capenable & IFCAP_VLAN_MTU) + mtu = if_getmtu(ifp); + if (if_getcapenable(ifp) & IFCAP_VLAN_MTU) mtu += ETHER_VLAN_ENCAP_LEN; - hwtagging = (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0; + hwtagging = (if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0; t3_mac_set_mtu(mac, mtu); t3_set_vlan_accel(p->adapter, 1 << p->tx_chan, hwtagging); @@ -1686,7 +1686,7 @@ static int cxgb_init_locked(struct port_info *p) { struct adapter *sc = p->adapter; - struct ifnet *ifp = p->ifp; + if_t ifp = p->ifp; struct cmac *mac = &p->mac; int i, rc = 0, may_sleep = 0, gave_up_lock = 0; @@ -1722,7 +1722,7 @@ cxgb_init_locked(struct port_info *p) PORT_LOCK(p); if (isset(&sc->open_device_map, p->port_id) && - (ifp->if_drv_flags & IFF_DRV_RUNNING)) { + (if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { PORT_UNLOCK(p); goto done; } @@ -1732,8 +1732,7 @@ cxgb_init_locked(struct port_info *p) cxgb_update_mac_settings(p); t3_link_start(&p->phy, mac, &p->link_config); t3_mac_enable(mac, MAC_DIRECTION_RX | MAC_DIRECTION_TX); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, IFF_DRV_OACTIVE); PORT_UNLOCK(p); for (i = p->first_qset; i < p->first_qset + p->nqsets; i++) { @@ -1802,7 +1801,7 @@ static int cxgb_uninit_synchronized(struct port_info *pi) { struct adapter *sc = pi->adapter; - struct ifnet *ifp = pi->ifp; + if_t ifp = pi->ifp; /* * taskqueue_drain may cause a deadlock if the adapter lock is held. @@ -1829,7 +1828,7 @@ cxgb_uninit_synchronized(struct port_info *pi) taskqueue_drain(sc->tq, &pi->link_check_task); PORT_LOCK(pi); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING | IFF_DRV_OACTIVE); /* disable pause frames */ t3_set_reg_field(sc, A_XGM_TX_CFG + pi->mac.offset, F_TXPAUSEEN, 0); @@ -1878,9 +1877,9 @@ cxgb_set_lro(struct port_info *p, int enabled) } static int -cxgb_ioctl(struct ifnet *ifp, unsigned long command, caddr_t data) +cxgb_ioctl(if_t ifp, unsigned long command, caddr_t data) { - struct port_info *p = ifp->if_softc; + struct port_info *p = if_getsoftc(ifp); struct adapter *sc = p->adapter; struct ifreq *ifr = (struct ifreq *)data; int flags, error = 0, mtu; @@ -1900,7 +1899,7 @@ fail: if ((mtu < ETHERMIN) || (mtu > ETHERMTU_JUMBO)) { error = EINVAL; } else { - ifp->if_mtu = mtu; + if_setmtu(ifp, mtu); PORT_LOCK(p); cxgb_update_mac_settings(p); PORT_UNLOCK(p); @@ -1913,11 +1912,11 @@ fail: error = ENXIO; goto fail; } - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { flags = p->if_flags; - if (((ifp->if_flags ^ flags) & IFF_PROMISC) || - ((ifp->if_flags ^ flags) & IFF_ALLMULTI)) { + if (((if_getflags(ifp) ^ flags) & IFF_PROMISC) || + ((if_getflags(ifp) ^ flags) & IFF_ALLMULTI)) { if (IS_BUSY(sc)) { error = EBUSY; goto fail; @@ -1929,8 +1928,8 @@ fail: ADAPTER_UNLOCK(sc); } else error = cxgb_init_locked(p); - p->if_flags = ifp->if_flags; - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) + p->if_flags = if_getflags(ifp); + } else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) error = cxgb_uninit_locked(p); else ADAPTER_UNLOCK(sc); @@ -1944,7 +1943,7 @@ fail: if (error) goto fail; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { PORT_LOCK(p); cxgb_update_mac_settings(p); PORT_UNLOCK(p); @@ -1958,35 +1957,35 @@ fail: if (error) goto fail; - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if (mask & IFCAP_TXCSUM) { - ifp->if_capenable ^= IFCAP_TXCSUM; - ifp->if_hwassist ^= (CSUM_TCP | CSUM_UDP | CSUM_IP); + if_togglecapenable(ifp, IFCAP_TXCSUM); + if_togglehwassist(ifp, CSUM_TCP | CSUM_UDP | CSUM_IP); - if (IFCAP_TSO4 & ifp->if_capenable && - !(IFCAP_TXCSUM & ifp->if_capenable)) { + if (IFCAP_TSO4 & if_getcapenable(ifp) && + !(IFCAP_TXCSUM & if_getcapenable(ifp))) { mask &= ~IFCAP_TSO4; - ifp->if_capenable &= ~IFCAP_TSO4; + if_setcapenablebit(ifp, 0, IFCAP_TSO4); if_printf(ifp, "tso4 disabled due to -txcsum.\n"); } } if (mask & IFCAP_TXCSUM_IPV6) { - ifp->if_capenable ^= IFCAP_TXCSUM_IPV6; - ifp->if_hwassist ^= (CSUM_UDP_IPV6 | CSUM_TCP_IPV6); + if_togglecapenable(ifp, IFCAP_TXCSUM_IPV6); + if_togglehwassist(ifp, CSUM_UDP_IPV6 | CSUM_TCP_IPV6); - if (IFCAP_TSO6 & ifp->if_capenable && - !(IFCAP_TXCSUM_IPV6 & ifp->if_capenable)) { + if (IFCAP_TSO6 & if_getcapenable(ifp) && + !(IFCAP_TXCSUM_IPV6 & if_getcapenable(ifp))) { mask &= ~IFCAP_TSO6; - ifp->if_capenable &= ~IFCAP_TSO6; + if_setcapenablebit(ifp, 0, IFCAP_TSO6); if_printf(ifp, "tso6 disabled due to -txcsum6.\n"); } } if (mask & IFCAP_RXCSUM) - ifp->if_capenable ^= IFCAP_RXCSUM; + if_togglecapenable(ifp, IFCAP_RXCSUM); if (mask & IFCAP_RXCSUM_IPV6) - ifp->if_capenable ^= IFCAP_RXCSUM_IPV6; + if_togglecapenable(ifp, IFCAP_RXCSUM_IPV6); /* * Note that we leave CSUM_TSO alone (it is always set). The @@ -1995,58 +1994,58 @@ fail: * IFCAP_TSOx only. */ if (mask & IFCAP_TSO4) { - if (!(IFCAP_TSO4 & ifp->if_capenable) && - !(IFCAP_TXCSUM & ifp->if_capenable)) { + if (!(IFCAP_TSO4 & if_getcapenable(ifp)) && + !(IFCAP_TXCSUM & if_getcapenable(ifp))) { if_printf(ifp, "enable txcsum first.\n"); error = EAGAIN; goto fail; } - ifp->if_capenable ^= IFCAP_TSO4; + if_togglecapenable(ifp, IFCAP_TSO4); } if (mask & IFCAP_TSO6) { - if (!(IFCAP_TSO6 & ifp->if_capenable) && - !(IFCAP_TXCSUM_IPV6 & ifp->if_capenable)) { + if (!(IFCAP_TSO6 & if_getcapenable(ifp)) && + !(IFCAP_TXCSUM_IPV6 & if_getcapenable(ifp))) { if_printf(ifp, "enable txcsum6 first.\n"); error = EAGAIN; goto fail; } - ifp->if_capenable ^= IFCAP_TSO6; + if_togglecapenable(ifp, IFCAP_TSO6); } if (mask & IFCAP_LRO) { - ifp->if_capenable ^= IFCAP_LRO; + if_togglecapenable(ifp, IFCAP_LRO); /* Safe to do this even if cxgb_up not called yet */ - cxgb_set_lro(p, ifp->if_capenable & IFCAP_LRO); + cxgb_set_lro(p, if_getcapenable(ifp) & IFCAP_LRO); } #ifdef TCP_OFFLOAD if (mask & IFCAP_TOE4) { - int enable = (ifp->if_capenable ^ mask) & IFCAP_TOE4; + int enable = (if_getcapenable(ifp) ^ mask) & IFCAP_TOE4; error = toe_capability(p, enable); if (error == 0) - ifp->if_capenable ^= mask; + if_togglecapenable(ifp, mask); } #endif if (mask & IFCAP_VLAN_HWTAGGING) { - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { PORT_LOCK(p); cxgb_update_mac_settings(p); PORT_UNLOCK(p); } } if (mask & IFCAP_VLAN_MTU) { - ifp->if_capenable ^= IFCAP_VLAN_MTU; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if_togglecapenable(ifp, IFCAP_VLAN_MTU); + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { PORT_LOCK(p); cxgb_update_mac_settings(p); PORT_UNLOCK(p); } } if (mask & IFCAP_VLAN_HWTSO) - ifp->if_capenable ^= IFCAP_VLAN_HWTSO; + if_togglecapenable(ifp, IFCAP_VLAN_HWTSO); if (mask & IFCAP_VLAN_HWCSUM) - ifp->if_capenable ^= IFCAP_VLAN_HWCSUM; + if_togglecapenable(ifp, IFCAP_VLAN_HWCSUM); #ifdef VLAN_CAPABILITIES VLAN_CAPABILITIES(ifp); @@ -2065,7 +2064,7 @@ fail: } static int -cxgb_media_change(struct ifnet *ifp) +cxgb_media_change(if_t ifp) { return (EOPNOTSUPP); } @@ -2166,9 +2165,9 @@ cxgb_build_medialist(struct port_info *p) } static void -cxgb_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +cxgb_media_status(if_t ifp, struct ifmediareq *ifmr) { - struct port_info *p = ifp->if_softc; + struct port_info *p = if_getsoftc(ifp); struct ifmedia_entry *cur = p->media.ifm_cur; int speed = p->link_config.speed; @@ -2207,9 +2206,9 @@ cxgb_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) } static uint64_t -cxgb_get_counter(struct ifnet *ifp, ift_counter c) +cxgb_get_counter(if_t ifp, ift_counter c) { - struct port_info *pi = ifp->if_softc; + struct port_info *pi = if_getsoftc(ifp); struct adapter *sc = pi->adapter; struct cmac *mac = &pi->mac; struct mac_stats *mstats = &mac->stats; @@ -2332,16 +2331,16 @@ check_t3b2_mac(struct adapter *sc) struct port_info *p = &sc->port[i]; int status; #ifdef INVARIANTS - struct ifnet *ifp = p->ifp; + if_t ifp = p->ifp; #endif if (!isset(&sc->open_device_map, p->port_id) || p->link_fault || !p->link_config.link_ok) continue; - KASSERT(ifp->if_drv_flags & IFF_DRV_RUNNING, + KASSERT(if_getdrvflags(ifp) & IFF_DRV_RUNNING, ("%s: state mismatch (drv_flags %x, device_map %x)", - __func__, ifp->if_drv_flags, sc->open_device_map)); + __func__, if_getdrvflags(ifp), sc->open_device_map)); PORT_LOCK(p); status = t3b2_mac_watchdog_task(&p->mac); @@ -3596,7 +3595,7 @@ cxgbc_mod_event(module_t mod, int cmd, void *arg) #ifdef DEBUGNET static void -cxgb_debugnet_init(struct ifnet *ifp, int *nrxr, int *ncl, int *clsize) +cxgb_debugnet_init(if_t ifp, int *nrxr, int *ncl, int *clsize) { struct port_info *pi; adapter_t *adap; @@ -3611,7 +3610,7 @@ cxgb_debugnet_init(struct ifnet *ifp, int *nrxr, int *ncl, int *clsize) } static void -cxgb_debugnet_event(struct ifnet *ifp, enum debugnet_ev event) +cxgb_debugnet_event(if_t ifp, enum debugnet_ev event) { struct port_info *pi; struct sge_qset *qs; @@ -3630,7 +3629,7 @@ cxgb_debugnet_event(struct ifnet *ifp, enum debugnet_ev event) } static int -cxgb_debugnet_transmit(struct ifnet *ifp, struct mbuf *m) +cxgb_debugnet_transmit(if_t ifp, struct mbuf *m) { struct port_info *pi; struct sge_qset *qs; @@ -3645,7 +3644,7 @@ cxgb_debugnet_transmit(struct ifnet *ifp, struct mbuf *m) } static int -cxgb_debugnet_poll(struct ifnet *ifp, int count) +cxgb_debugnet_poll(if_t ifp, int count) { struct port_info *pi; adapter_t *adap; diff --git a/sys/dev/cxgb/cxgb_osdep.h b/sys/dev/cxgb/cxgb_osdep.h index e3f745fee020..d5e7f84d523d 100644 --- a/sys/dev/cxgb/cxgb_osdep.h +++ b/sys/dev/cxgb/cxgb_osdep.h @@ -123,8 +123,8 @@ static const int debug_flags = DBG_RX; #include -#define promisc_rx_mode(rm) ((rm)->port->ifp->if_flags & IFF_PROMISC) -#define allmulti_rx_mode(rm) ((rm)->port->ifp->if_flags & IFF_ALLMULTI) +#define promisc_rx_mode(rm) (if_getflags((rm)->port->ifp) & IFF_PROMISC) +#define allmulti_rx_mode(rm) (if_getflags((rm)->port->ifp) & IFF_ALLMULTI) #define CH_ERR(adap, fmt, ...) log(LOG_ERR, fmt, ##__VA_ARGS__) #define CH_WARN(adap, fmt, ...) log(LOG_WARNING, fmt, ##__VA_ARGS__) diff --git a/sys/dev/cxgb/cxgb_sge.c b/sys/dev/cxgb/cxgb_sge.c index f79149e8e7e6..f422bda61e22 100644 --- a/sys/dev/cxgb/cxgb_sge.c +++ b/sys/dev/cxgb/cxgb_sge.c @@ -1626,7 +1626,7 @@ cxgb_tx_watchdog(void *arg) qs->qs_flags &= ~QS_FLUSHING; TXQ_UNLOCK(qs); } - if (qs->port->ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(qs->port->ifp) & IFF_DRV_RUNNING) callout_reset_on(&txq->txq_watchdog, hz/4, cxgb_tx_watchdog, qs, txq->txq_watchdog.c_cpu); } @@ -1653,7 +1653,7 @@ cxgb_start_locked(struct sge_qset *qs) struct mbuf *m_head = NULL; struct sge_txq *txq = &qs->txq[TXQ_ETH]; struct port_info *pi = qs->port; - struct ifnet *ifp = pi->ifp; + if_t ifp = pi->ifp; if (qs->qs_flags & (QS_FLUSHING|QS_TIMEOUT)) reclaim_completed_tx(qs, 0, TXQ_ETH); @@ -1663,7 +1663,7 @@ cxgb_start_locked(struct sge_qset *qs) return; } TXQ_LOCK_ASSERT(qs); - while (!TXQ_RING_EMPTY(qs) && (ifp->if_drv_flags & IFF_DRV_RUNNING) && + while (!TXQ_RING_EMPTY(qs) && (if_getdrvflags(ifp) & IFF_DRV_RUNNING) && pi->link_config.link_ok) { reclaim_completed_tx(qs, cxgb_tx_reclaim_threshold, TXQ_ETH); @@ -1694,7 +1694,7 @@ cxgb_start_locked(struct sge_qset *qs) } static int -cxgb_transmit_locked(struct ifnet *ifp, struct sge_qset *qs, struct mbuf *m) +cxgb_transmit_locked(if_t ifp, struct sge_qset *qs, struct mbuf *m) { struct port_info *pi = qs->port; struct sge_txq *txq = &qs->txq[TXQ_ETH]; @@ -1742,13 +1742,13 @@ cxgb_transmit_locked(struct ifnet *ifp, struct sge_qset *qs, struct mbuf *m) } int -cxgb_transmit(struct ifnet *ifp, struct mbuf *m) +cxgb_transmit(if_t ifp, struct mbuf *m) { struct sge_qset *qs; - struct port_info *pi = ifp->if_softc; + struct port_info *pi = if_getsoftc(ifp); int error, qidx = pi->first_qset; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0 ||(!pi->link_config.link_ok)) { m_freem(m); return (0); @@ -1770,7 +1770,7 @@ cxgb_transmit(struct ifnet *ifp, struct mbuf *m) } void -cxgb_qflush(struct ifnet *ifp) +cxgb_qflush(if_t ifp) { /* * flush any enqueued mbufs in the buf_rings @@ -2528,7 +2528,7 @@ t3_sge_alloc_qset(adapter_t *sc, u_int id, int nports, int irq_vec_idx, q->fl[1].buf_size = p->jumbo_buf_size; /* Allocate and setup the lro_ctrl structure */ - q->lro.enabled = !!(pi->ifp->if_capenable & IFCAP_LRO); + q->lro.enabled = !!(if_getcapenable(pi->ifp) & IFCAP_LRO); #if defined(INET6) || defined(INET) ret = tcp_lro_init(&q->lro.ctrl); if (ret) { @@ -2621,7 +2621,7 @@ t3_rx_eth(struct adapter *adap, struct mbuf *m, int ethpad) { struct cpl_rx_pkt *cpl = (struct cpl_rx_pkt *)(mtod(m, uint8_t *) + ethpad); struct port_info *pi = &adap->port[adap->rxpkt_map[cpl->iff]]; - struct ifnet *ifp = pi->ifp; + if_t ifp = pi->ifp; if (cpl->vlan_valid) { m->m_pkthdr.ether_vtag = ntohs(cpl->vlan); @@ -2647,12 +2647,12 @@ t3_rx_eth(struct adapter *adap, struct mbuf *m, int ethpad) } else eh_type = eh->ether_type; - if (ifp->if_capenable & IFCAP_RXCSUM && + if (if_getcapenable(ifp) & IFCAP_RXCSUM && eh_type == htons(ETHERTYPE_IP)) { m->m_pkthdr.csum_flags = (CSUM_IP_CHECKED | CSUM_IP_VALID | CSUM_DATA_VALID | CSUM_PSEUDO_HDR); m->m_pkthdr.csum_data = 0xffff; - } else if (ifp->if_capenable & IFCAP_RXCSUM_IPV6 && + } else if (if_getcapenable(ifp) & IFCAP_RXCSUM_IPV6 && eh_type == htons(ETHERTYPE_IPV6)) { m->m_pkthdr.csum_flags = (CSUM_DATA_VALID_IPV6 | CSUM_PSEUDO_HDR); @@ -2953,8 +2953,8 @@ process_responses(adapter_t *adap, struct sge_qset *qs, int budget) * or unable to queue. Pass it up right now in * either case. */ - struct ifnet *ifp = m->m_pkthdr.rcvif; - (*ifp->if_input)(ifp, m); + if_t ifp = m->m_pkthdr.rcvif; + if_input(ifp, m); } mh->mh_head = NULL; diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h index 4206bca95cdf..2a5f50f51d13 100644 --- a/sys/dev/cxgbe/adapter.h +++ b/sys/dev/cxgbe/adapter.h @@ -197,7 +197,7 @@ struct vi_info { struct port_info *pi; struct adapter *adapter; - struct ifnet *ifp; + if_t ifp; struct pfil_head *pfil; unsigned long flags; @@ -603,7 +603,7 @@ struct txpkts { struct sge_txq { struct sge_eq eq; /* MUST be first */ - struct ifnet *ifp; /* the interface this txq belongs to */ + if_t ifp; /* the interface this txq belongs to */ struct mp_ring *r; /* tx software ring */ struct tx_sdesc *sdesc; /* KVA of software descriptor ring */ struct sglist *gl; @@ -654,7 +654,7 @@ struct sge_rxq { struct sge_iq iq; /* MUST be first */ struct sge_fl fl; /* MUST follow iq */ - struct ifnet *ifp; /* the interface this rxq belongs to */ + if_t ifp; /* the interface this rxq belongs to */ struct lro_ctrl lro; /* LRO state */ /* stats for common events first */ @@ -956,7 +956,7 @@ struct adapter { char ifp_lockname[16]; struct mtx ifp_lock; - struct ifnet *ifp; /* tracer ifp */ + if_t ifp; /* tracer ifp */ struct ifmedia media; int traceq; /* iq used by all tracers, -1 if none */ int tracer_valid; /* bitmap of valid tracers */ @@ -1359,7 +1359,7 @@ void t4_sysctls(struct adapter *); int begin_synchronized_op(struct adapter *, struct vi_info *, int, char *); void doom_vi(struct adapter *, struct vi_info *); void end_synchronized_op(struct adapter *, int); -int update_mac_settings(struct ifnet *, int); +int update_mac_settings(if_t, int); int adapter_init(struct adapter *); int vi_init(struct vi_info *); void vi_sysctls(struct vi_info *); @@ -1368,17 +1368,17 @@ int alloc_atid(struct adapter *, void *); void *lookup_atid(struct adapter *, int); void free_atid(struct adapter *, int); void release_tid(struct adapter *, int, struct sge_wrq *); -int cxgbe_media_change(struct ifnet *); -void cxgbe_media_status(struct ifnet *, struct ifmediareq *); +int cxgbe_media_change(if_t); +void cxgbe_media_status(if_t, struct ifmediareq *); void t4_os_cim_err(struct adapter *); #ifdef KERN_TLS /* t6_kern_tls.c */ -int t6_tls_tag_alloc(struct ifnet *, union if_snd_tag_alloc_params *, +int t6_tls_tag_alloc(if_t, union if_snd_tag_alloc_params *, struct m_snd_tag **); void t6_ktls_modload(void); void t6_ktls_modunload(void); -int t6_ktls_try(struct ifnet *, struct socket *, struct ktls_session *); +int t6_ktls_try(if_t, struct socket *, struct ktls_session *); int t6_ktls_parse_pkt(struct mbuf *); int t6_ktls_write_wr(struct sge_txq *, void *, struct mbuf *, u_int); #endif @@ -1451,7 +1451,7 @@ void t4_vi_intr(void *); void t4_intr_err(void *); void t4_intr_evt(void *); void t4_wrq_tx_locked(struct adapter *, struct sge_wrq *, struct wrqe *); -void t4_update_fl_bufsize(struct ifnet *); +void t4_update_fl_bufsize(if_t); struct mbuf *alloc_wr_mbuf(int, int); int parse_pkt(struct mbuf **, bool); void *start_wrq_wr(struct sge_wrq *, int, struct wrq_cookie *); @@ -1489,10 +1489,10 @@ int sysctl_tc_params(SYSCTL_HANDLER_ARGS); void t4_init_etid_table(struct adapter *); void t4_free_etid_table(struct adapter *); struct cxgbe_rate_tag *lookup_etid(struct adapter *, int); -int cxgbe_rate_tag_alloc(struct ifnet *, union if_snd_tag_alloc_params *, +int cxgbe_rate_tag_alloc(if_t, union if_snd_tag_alloc_params *, struct m_snd_tag **); void cxgbe_rate_tag_free_locked(struct cxgbe_rate_tag *); -void cxgbe_ratelimit_query(struct ifnet *, struct if_ratelimit_query_results *); +void cxgbe_ratelimit_query(if_t, struct if_ratelimit_query_results *); #endif /* t4_filter.c */ diff --git a/sys/dev/cxgbe/crypto/t6_kern_tls.c b/sys/dev/cxgbe/crypto/t6_kern_tls.c index f1302d063051..2b50899ba17a 100644 --- a/sys/dev/cxgbe/crypto/t6_kern_tls.c +++ b/sys/dev/cxgbe/crypto/t6_kern_tls.c @@ -118,7 +118,7 @@ mst_to_tls(struct m_snd_tag *t) } static struct tlspcb * -alloc_tlspcb(struct ifnet *ifp, struct vi_info *vi, int flags) +alloc_tlspcb(if_t ifp, struct vi_info *vi, int flags) { struct port_info *pi = vi->pi; struct adapter *sc = pi->adapter; @@ -373,7 +373,7 @@ ktls_set_tcb_fields(struct tlspcb *tlsp, struct tcpcb *tp, struct sge_txq *txq) } int -t6_tls_tag_alloc(struct ifnet *ifp, union if_snd_tag_alloc_params *params, +t6_tls_tag_alloc(if_t ifp, union if_snd_tag_alloc_params *params, struct m_snd_tag **pt) { const struct ktls_session *tls; @@ -434,7 +434,7 @@ t6_tls_tag_alloc(struct ifnet *ifp, union if_snd_tag_alloc_params *params, return (EPROTONOSUPPORT); } - vi = ifp->if_softc; + vi = if_getsoftc(ifp); sc = vi->adapter; tlsp = alloc_tlspcb(ifp, vi, M_WAITOK); @@ -1761,7 +1761,7 @@ ktls_write_tls_wr(struct tlspcb *tlsp, struct sge_txq *txq, void *dst, } else if (tlsp->prev_mss != 0) mss = tlsp->prev_mss; else - mss = tlsp->vi->ifp->if_mtu - + mss = if_getmtu(tlsp->vi->ifp) - (m->m_pkthdr.l3hlen + m->m_pkthdr.l4hlen); if (offset == 0) { tx_data->len = htobe32(V_TX_DATA_MSS(mss) | V_TX_LENGTH(tlen)); @@ -2109,7 +2109,7 @@ t6_ktls_modunload(void) #else int -t6_tls_tag_alloc(struct ifnet *ifp, union if_snd_tag_alloc_params *params, +t6_tls_tag_alloc(if_t ifp, union if_snd_tag_alloc_params *params, struct m_snd_tag **pt) { return (ENXIO); diff --git a/sys/dev/cxgbe/iw_cxgbe/cm.c b/sys/dev/cxgbe/iw_cxgbe/cm.c index 08d507524c01..457290875583 100644 --- a/sys/dev/cxgbe/iw_cxgbe/cm.c +++ b/sys/dev/cxgbe/iw_cxgbe/cm.c @@ -128,7 +128,7 @@ static int rem_ep_from_listenlist(struct c4iw_listen_ep *lep); static struct c4iw_listen_ep * find_real_listen_ep(struct c4iw_listen_ep *master_lep, struct socket *so); static int get_ifnet_from_raddr(struct sockaddr_storage *raddr, - struct ifnet **ifp); + if_t *ifp); static void process_newconn(struct c4iw_listen_ep *master_lep, struct socket *new_so); #define START_EP_TIMER(ep) \ @@ -337,7 +337,7 @@ find_real_listen_ep(struct c4iw_listen_ep *master_lep, struct socket *so) { struct adapter *adap = NULL; struct c4iw_listen_ep *lep = NULL; - struct ifnet *ifp = NULL, *hw_ifp = NULL; + if_t ifp = NULL, hw_ifp = NULL; struct listen_port_info *port_info = NULL; int i = 0, found_portinfo = 0, found_lep = 0; uint16_t port; @@ -348,7 +348,7 @@ find_real_listen_ep(struct c4iw_listen_ep *master_lep, struct socket *so) * TBD: lagg support, lagg + vlan support. */ ifp = TOEPCB(so)->l2te->ifp; - if (ifp->if_type == IFT_L2VLAN) { + if (if_gettype(ifp) == IFT_L2VLAN) { hw_ifp = VLAN_TRUNKDEV(ifp); if (hw_ifp == NULL) { CTR4(KTR_IW_CXGBE, "%s: Failed to get parent ifnet of " @@ -533,7 +533,7 @@ done: } static int -get_ifnet_from_raddr(struct sockaddr_storage *raddr, struct ifnet **ifp) +get_ifnet_from_raddr(struct sockaddr_storage *raddr, if_t *ifp) { int err = 0; struct nhop_object *nh; @@ -2593,7 +2593,7 @@ int c4iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param) int err = 0; struct c4iw_dev *dev = to_c4iw_dev(cm_id->device); struct c4iw_ep *ep = NULL; - struct ifnet *nh_ifp; /* Logical egress interface */ + if_t nh_ifp; /* Logical egress interface */ struct epoch_tracker et; #ifdef VIMAGE struct rdma_cm_id *rdma_id = (struct rdma_cm_id*)cm_id->context; @@ -2659,7 +2659,7 @@ int c4iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param) return err; } - if (!(nh_ifp->if_capenable & IFCAP_TOE) || + if (!(if_getcapenable(nh_ifp) & IFCAP_TOE) || TOEDEV(nh_ifp) == NULL) { err = -ENOPROTOOPT; goto fail; diff --git a/sys/dev/cxgbe/iw_cxgbe/provider.c b/sys/dev/cxgbe/iw_cxgbe/provider.c index bfa00bb4c658..15f9cbe47062 100644 --- a/sys/dev/cxgbe/iw_cxgbe/provider.c +++ b/sys/dev/cxgbe/iw_cxgbe/provider.c @@ -337,7 +337,7 @@ c4iw_query_port(struct ib_device *ibdev, u8 port, struct ib_port_attr *props) struct c4iw_dev *dev; struct adapter *sc; struct port_info *pi; - struct ifnet *ifp; + if_t ifp; CTR4(KTR_IW_CXGBE, "%s ibdev %p, port %d, props %p", __func__, ibdev, port, props); @@ -351,13 +351,13 @@ c4iw_query_port(struct ib_device *ibdev, u8 port, struct ib_port_attr *props) memset(props, 0, sizeof(struct ib_port_attr)); props->max_mtu = IB_MTU_4096; - if (ifp->if_mtu >= 4096) + if (if_getmtu(ifp) >= 4096) props->active_mtu = IB_MTU_4096; - else if (ifp->if_mtu >= 2048) + else if (if_getmtu(ifp) >= 2048) props->active_mtu = IB_MTU_2048; - else if (ifp->if_mtu >= 1024) + else if (if_getmtu(ifp) >= 1024) props->active_mtu = IB_MTU_1024; - else if (ifp->if_mtu >= 512) + else if (if_getmtu(ifp) >= 512) props->active_mtu = IB_MTU_512; else props->active_mtu = IB_MTU_256; diff --git a/sys/dev/cxgbe/t4_clip.c b/sys/dev/cxgbe/t4_clip.c index 5f4fbd0f07a6..72147cd9c48d 100644 --- a/sys/dev/cxgbe/t4_clip.c +++ b/sys/dev/cxgbe/t4_clip.c @@ -416,7 +416,7 @@ update_clip_db(void) VNET_FOREACH(vnet_iter) { CURVNET_SET_QUIET(vnet_iter); CK_STAILQ_FOREACH(ia, &V_in6_ifaddrhead, ia_link) { - if (ia->ia_ifp->if_flags & IFF_LOOPBACK) + if (if_getflags(ia->ia_ifp) & IFF_LOOPBACK) continue; in6 = &ia->ia_addr.sin6_addr; KASSERT(!IN6_IS_ADDR_MULTICAST(in6), @@ -719,7 +719,7 @@ done: } static void -t4_ifaddr_event(void *arg __unused, struct ifnet *ifp, struct ifaddr *ifa, +t4_ifaddr_event(void *arg __unused, if_t ifp, struct ifaddr *ifa, int event) { struct in6_addr *in6; @@ -728,7 +728,7 @@ t4_ifaddr_event(void *arg __unused, struct ifnet *ifp, struct ifaddr *ifa, return; /* Automatic updates not allowed. */ if (ifa->ifa_addr->sa_family != AF_INET6) return; - if (ifp->if_flags & IFF_LOOPBACK) + if (if_getflags(ifp) & IFF_LOOPBACK) return; in6 = &((struct in6_ifaddr *)ifa)->ia_addr.sin6_addr; if (IN6_IS_ADDR_LOOPBACK(in6) || IN6_IS_ADDR_MULTICAST(in6)) diff --git a/sys/dev/cxgbe/t4_l2t.c b/sys/dev/cxgbe/t4_l2t.c index 47c995932a21..517d39a32be4 100644 --- a/sys/dev/cxgbe/t4_l2t.c +++ b/sys/dev/cxgbe/t4_l2t.c @@ -453,7 +453,7 @@ sysctl_l2t(SYSCTL_HANDLER_ARGS) e->dmac[3], e->dmac[4], e->dmac[5], e->vlan & 0xfff, vlan_prio(e), e->lport, l2e_state(e), atomic_load_acq_int(&e->refcnt), - e->ifp ? e->ifp->if_xname : "-"); + e->ifp ? if_name(e->ifp) : "-"); skip: mtx_unlock(&e->lock); } diff --git a/sys/dev/cxgbe/t4_l2t.h b/sys/dev/cxgbe/t4_l2t.h index 19b738752c2d..f638c55381fa 100644 --- a/sys/dev/cxgbe/t4_l2t.h +++ b/sys/dev/cxgbe/t4_l2t.h @@ -66,7 +66,7 @@ struct l2t_entry { uint32_t addr[4]; /* next hop IP or IPv6 address */ uint32_t iqid; /* iqid for reply to write_l2e */ struct sge_wrq *wrq; /* queue to use for write_l2e */ - struct ifnet *ifp; /* outgoing interface */ + if_t ifp; /* outgoing interface */ uint16_t smt_idx; /* SMT index */ uint16_t vlan; /* VLAN TCI (id: 0-11, prio: 13-15) */ struct l2t_entry *first; /* start of hash chain */ diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 71ee366e04e0..18698ff468f3 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -247,11 +247,11 @@ static driver_t vcc_driver = { /* ifnet interface */ static void cxgbe_init(void *); -static int cxgbe_ioctl(struct ifnet *, unsigned long, caddr_t); -static int cxgbe_transmit(struct ifnet *, struct mbuf *); -static void cxgbe_qflush(struct ifnet *); +static int cxgbe_ioctl(if_t, unsigned long, caddr_t); +static int cxgbe_transmit(if_t, struct mbuf *); +static void cxgbe_qflush(if_t); #if defined(KERN_TLS) || defined(RATELIMIT) -static int cxgbe_snd_tag_alloc(struct ifnet *, union if_snd_tag_alloc_params *, +static int cxgbe_snd_tag_alloc(if_t, union if_snd_tag_alloc_params *, struct m_snd_tag **); #endif @@ -859,8 +859,8 @@ static int ktls_capability(struct adapter *, bool); #endif static int mod_event(module_t, int, void *); static int notify_siblings(device_t, int); -static uint64_t vi_get_counter(struct ifnet *, ift_counter); -static uint64_t cxgbe_get_counter(struct ifnet *, ift_counter); +static uint64_t vi_get_counter(if_t, ift_counter); +static uint64_t cxgbe_get_counter(if_t, ift_counter); *** 1478 LINES SKIPPED *** From nobody Tue Mar 7 20:41:04 2023 X-Original-To: dev-commits-src-main@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 4PWS5Y15b2z3wcVY; Tue, 7 Mar 2023 20:41:05 +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 4PWS5Y0dsYz3sNy; Tue, 7 Mar 2023 20:41:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678221665; 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=FEBYNVMuUv5Wuyd3OTCjrU+lLmTGy62PApdkpXbDtT0=; b=WlOW033H2WRZ0ZPB502qhGXEtJEfZk/T3hJvU1BFncBH+HynVwgx2COa/o44zKfCuc76fF nXJitdq7staNqAQd/jrAWrZq3KrRER5WEORp+cs7dkRRaMnUbywXYXOkU25HI8BzR5Ckfs LeZedly9XDaMLvJgD9Y0LUySvCwAtI6wgzFJ8PGgT1jRAq6t5vJder8U1RUiA8dLZTcITN hZvwVKwobGvoU1fDXy97tYPFkVf3YVzodLio9OeK2w5rXBqlE94sZP/AmTQ8SEiWeU/BwO WkMTo0S6heYME68LHUcWEOfYR3VtCW13iiZ2d8UGpupo1s4mbaMIt8oIS1yFBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678221665; 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=FEBYNVMuUv5Wuyd3OTCjrU+lLmTGy62PApdkpXbDtT0=; b=bRXeeGWps7o8xGPeO+/vJtZasEaHDrRql3sPvAc7ruwsqoKj8lKPoaOPu3wA4z0VrzoCw3 eY6bLMZR2BSXwyCNwbMaSkQCIy21u2nUSodTD4MSCbcOyKwKxKf9MjQdOYu2yDWUfUwL9B on1aWcVBTKRvB5F5NU0bVF0rfO4qTok0ERAVucIL6quBbQqcsUc3/J7hlFz0sYDYUsE0lZ r4MzG3Jx645uaSAohPl+g/G1bS1JTTuK6QFX1QgKQyRtDl2O25uktgGrIwgg+B10YckvWN IIEw95ugDzg0gf3sX0NPWYfqEqAdAQb3nlgb3gNBnQpiD+JqFd6BHSr5t8cydA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678221665; a=rsa-sha256; cv=none; b=cpRmvFbTW1mvtI5aQansreIZWpTK/BeKRCJtAe8qjU78d6GH1c9bj+HQIYgHYzAX/9yGRS xBUPC/91y3ZnqeOnIh45DXGl6YABBRUWDKsAl5T/ngGNVEg2H4sEbXgzK8fWvGNnqh+hnB pePQU18RmE+oM2NfalaFiuXz6XMFIYa1eRtWUkKd//nYMgCr1/2i9ABStqNfZ10sxA8Fs9 GeQUaagS0igfdq3k4+Fs84AbqWmdxhEzXrV8a0+TRFVKC5nQtzJlYHuF9UWIFE/Ulh6TqU OoJ2yx5LXADjKiov3ekH9ssB0vyAnL1f15zKVC3T1Cm1zOZRJnkDz1dssAMBPQ== 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 4PWS5X6q4hzy6M; Tue, 7 Mar 2023 20:41:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327Kf4tf094941; Tue, 7 Mar 2023 20:41:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327Kf444094940; Tue, 7 Mar 2023 20:41:04 GMT (envelope-from git) Date: Tue, 7 Mar 2023 20:41:04 GMT Message-Id: <202303072041.327Kf444094940@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 1a718f7a3b4e - main - src.opts.mk: Remove long-unused NDIS option List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1a718f7a3b4ea8a038c234bdb9e63a565cdf8d33 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=1a718f7a3b4ea8a038c234bdb9e63a565cdf8d33 commit 1a718f7a3b4ea8a038c234bdb9e63a565cdf8d33 Author: Ed Maste AuthorDate: 2023-03-07 19:03:27 +0000 Commit: Ed Maste CommitDate: 2023-03-07 20:39:44 +0000 src.opts.mk: Remove long-unused NDIS option NDIS was removed a couple of years ago, but the src.conf knob was left behind. Fixes: bfc99943b04b ("ndis(4): remove as previous announced") Sponsored by: The FreeBSD Foundation --- share/mk/src.opts.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 96b390921d4c..057a0f7a9be9 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -143,7 +143,6 @@ __DEFAULT_YES_OPTIONS = \ MAILWRAPPER \ MAKE \ MLX5TOOL \ - NDIS \ NETCAT \ NETGRAPH \ NLS_CATALOGS \ From nobody Tue Mar 7 23:02:40 2023 X-Original-To: dev-commits-src-main@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 4PWWDw5bY4z3wmB3; Tue, 7 Mar 2023 23:02: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 4PWWDw4tmPz46Rn; Tue, 7 Mar 2023 23:02:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678230160; 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=cymPBLCbUkMXXpYp8YYTkXl2RvyPVgpqeeil4KpmpgI=; b=Ykr6ByzjcoemyjQi9wczBSA8B9fqPvF4jcAAGFD3VGTJTwXdrpInJ1H+AKy2lqFPWKsJ/4 lpJoC6ez/qgI3DExRVJW/N0Rk6UlkEC16Z/lgX4/aalKWVSV96L3PJ2HYvejzJQ923Q6+V LshX56l3zHyRdnANiQKs+TWoi8AxgHuXmwsa4t9WxvDgMNnJQ/6qXeI+RCkN/7SPhZc8TV 9uuxnv2sNIjY1Lk8t5jffG9zk61wAXV0UDd7LgnRkoHbiJVEb1Av3LH1/Qr3gc12SYqO6h DE4qjwv4Ln+kTrXb/dZz8SlA3NrFfKLFk0/NfZ/kVRuPN2ytNLkWdXEKPqtHvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678230160; 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=cymPBLCbUkMXXpYp8YYTkXl2RvyPVgpqeeil4KpmpgI=; b=v+cTqfPOo9GDj/fYGlme+3fwRljEkgrQmfMY26052yioHNMVJ+Nq8Yp7TIsQgP6ZZAowsZ pAkgTutFIG+Y7Rsmt+yyUO11oygoWL5XwTl5YB413IBK+JHBCEFMGH6IMoTsRMNMebc7Fs UpPcTDmGBl9wDt0UBR4RR+iuGfEYS3hrp9+uCBWjC1gXMWySj79dsws1D8lBDNM+4EeSWV uTG+tVvdQq8ky8b3/Wisk1dePxrMi+7nfYgk7yw1Fsyw8dVkSFLaLYk8TWKC1GOwCj3Yud iSsGiBaMHcVMxX/rLcOykVwo+398WutAtWEHbsxtOhXoCOqF3VHkaZEfwvfR2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678230160; a=rsa-sha256; cv=none; b=rK6kYYd/zlYDvhXMrUlRwyQTRnBZXOx4a+1gtme7q5e+sdhTxtnq6RiFmOOxPX4IzXp2Ef b37o7ar+XRYULGYqPsU5j9ZJRm1EoUa6U0A9YZ/LsA2W1cFZG5xPvkLgyloK94JpjuRaOy Ui1H1md48VwVMWSYVqxLXBpDGU2ewDWSyXVqfJR+wfJ2hoEd+P1iYfvkJUd/eng0wM+bna maWPJMBVErOI8S4UYAVJ89bt1/hujRSsO+XUT0G4azT/Z0N2fhRjalQBkpv9v0iOY4xp4s ZmLgiwPpEsUAzfN37VCs68dd+D1+TTrpZW/KiQvaO35yMxojw6B51D4wKH2LiA== 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 4PWWDw3ykFz129X; Tue, 7 Mar 2023 23:02:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327N2e6v031271; Tue, 7 Mar 2023 23:02:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327N2eBN031270; Tue, 7 Mar 2023 23:02:40 GMT (envelope-from git) Date: Tue, 7 Mar 2023 23:02:40 GMT Message-Id: <202303072302.327N2eBN031270@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: 0eabe33087d8 - main - Updates to UFS/FFS superblock integrity checks when reading a superblock. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 0eabe33087d8cb69ae800daae322f12a8f16bd10 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=0eabe33087d8cb69ae800daae322f12a8f16bd10 commit 0eabe33087d8cb69ae800daae322f12a8f16bd10 Author: Kirk McKusick AuthorDate: 2023-03-07 22:59:56 +0000 Commit: Kirk McKusick CommitDate: 2023-03-07 23:02:19 +0000 Updates to UFS/FFS superblock integrity checks when reading a superblock. Have to add a check that the computed cylinder group size does not exceed the block size of the filesystem. It is also necessary to validate additional parameters when a superblock is going to be used in read-only mode if its supplementary information is going to be read in to ensure that the size and location of the supplementary information is valid. Also when a warning is raised let it be accepted, but bound the flagged field to the value checked by the warning. No legitimate superblocks should fail as a result of these changes. Reported by: Bob Prohaska, John-Mark Gurney, and Mark Millard Tested by: Peter Holm Reviewed by: Peter Holm MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38668 --- sys/ufs/ffs/ffs_subr.c | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/sys/ufs/ffs/ffs_subr.c b/sys/ufs/ffs/ffs_subr.c index 0b462add0d05..1d4d98fcb67d 100644 --- a/sys/ufs/ffs/ffs_subr.c +++ b/sys/ufs/ffs/ffs_subr.c @@ -347,6 +347,8 @@ readsuper(void *devfd, struct fs **fsp, off_t sblockloc, int flags, #lhs, (intmax_t)lhs, #op, #rhs, (intmax_t)rhs, wmsg);\ if (error == 0) \ error = warnerr; \ + if (warnerr == 0) \ + lhs = rhs; \ } #define FCHK2(lhs1, op1, rhs1, lhs2, op2, rhs2, fmt) \ if (lhs1 op1 rhs1 && lhs2 op2 rhs2) { \ @@ -360,16 +362,6 @@ readsuper(void *devfd, struct fs **fsp, off_t sblockloc, int flags, if (error == 0) \ error = ENOENT; \ } -#define WCHK2(lhs1, op1, rhs1, lhs2, op2, rhs2, fmt) \ - if (lhs1 op1 rhs1 && lhs2 op2 rhs2) { \ - MPRINT("UFS%d superblock failed: %s (" #fmt ") %s %s (" \ - #fmt ") && %s (" #fmt ") %s %s (" #fmt ")%s\n", \ - fs->fs_magic == FS_UFS1_MAGIC ? 1 : 2, #lhs1, \ - (intmax_t)lhs1, #op1, #rhs1, (intmax_t)rhs1, #lhs2, \ - (intmax_t)lhs2, #op2, #rhs2, (intmax_t)rhs2, wmsg); \ - if (error == 0) \ - error = warnerr; \ - } static int validate_sblock(struct fs *fs, int flags) @@ -408,6 +400,7 @@ validate_sblock(struct fs *fs, int flags) } else if (fs->fs_magic == FS_UFS1_MAGIC) { FCHK(fs->fs_sblockloc, <, 0, %jd); FCHK(fs->fs_sblockloc, >, SBLOCK_UFS1, %jd); + FCHK(fs->fs_old_ncyl, !=, fs->fs_ncg, %jd); } FCHK(fs->fs_frag, <, 1, %jd); FCHK(fs->fs_frag, >, MAXFRAG, %jd); @@ -431,6 +424,30 @@ validate_sblock(struct fs *fs, int flags) FCHK(fs->fs_sblkno, !=, roundup( howmany(fs->fs_sblockloc + SBLOCKSIZE, fs->fs_fsize), fs->fs_frag), %jd); + FCHK(CGSIZE(fs), >, fs->fs_bsize, %jd); + /* Only need to validate these if reading in csum data */ + if ((flags & UFS_NOCSUM) != 0) + return (error); + FCHK((u_int64_t)fs->fs_ipg * fs->fs_ncg, >, + (((int64_t)(1)) << 32) - INOPB(fs), %jd); + FCHK(fs->fs_cstotal.cs_nifree, <, 0, %jd); + FCHK(fs->fs_cstotal.cs_nifree, >, + (u_int64_t)fs->fs_ipg * fs->fs_ncg, %jd); + FCHK(fs->fs_cstotal.cs_ndir, >, + ((u_int64_t)fs->fs_ipg * fs->fs_ncg) - + fs->fs_cstotal.cs_nifree, %jd); + FCHK(fs->fs_size, <, 8 * fs->fs_frag, %jd); + FCHK(fs->fs_size, <=, ((int64_t)fs->fs_ncg - 1) * fs->fs_fpg, + %jd); + FCHK(fs->fs_size, >, (int64_t)fs->fs_ncg * fs->fs_fpg, %jd); + FCHK(fs->fs_csaddr, <, 0, %jd); + FCHK(fs->fs_cssize, !=, + fragroundup(fs, fs->fs_ncg * sizeof(struct csum)), %jd); + FCHK(dtog(fs, fs->fs_csaddr), >, fs->fs_ncg, %jd); + FCHK(fs->fs_csaddr, <, cgdmin(fs, dtog(fs, fs->fs_csaddr)), + %jd); + FCHK(dtog(fs, fs->fs_csaddr + howmany(fs->fs_cssize, + fs->fs_fsize)), >, dtog(fs, fs->fs_csaddr), %jd); return (error); } if (fs->fs_magic == FS_UFS2_MAGIC) { @@ -511,6 +528,7 @@ validate_sblock(struct fs *fs, int flags) FCHK(fs->fs_old_cgoffset, <, 0, %jd); FCHK2(fs->fs_old_cgoffset, >, 0, ~fs->fs_old_cgmask, <, 0, %jd); FCHK(fs->fs_old_cgoffset * (~fs->fs_old_cgmask), >, fs->fs_fpg, %jd); + FCHK(CGSIZE(fs), >, fs->fs_bsize, %jd); /* * If anything has failed up to this point, it is usafe to proceed * as checks below may divide by zero or make other fatal calculations. From nobody Tue Mar 7 23:11:30 2023 X-Original-To: dev-commits-src-main@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 4PWWR651QGz3wmbp; Tue, 7 Mar 2023 23:11: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 4PWWR64XmXz47Xx; Tue, 7 Mar 2023 23:11:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678230690; 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=I6mBKvApaZ5UPiubsv9cJPerO0ufDRMSoNtSc5VdZ14=; b=YuUjQkh0vh2R+kidPjgHVf16rST3N2rILRBGQUZr8W55CAx9FeBfgk4SC3okGu52Ea3Jca Dctt51s/foylLius7YRGQbPzs69WHYPhGu/Rx4Mz3tU38xjn0GTWSXZdZTfU2vZ22xMiUn iqcbB+TzOrugMJvBjJ0dgaft2V4XTSV8H4jggp0yBVgi87yVvwCH4vLxTQdnvPyiYmx2Oj 8fqEwcKMu00LzemxWjgysKJG1FDR2QFQuuagS8a6uZmEmMxk6+BaeT5NVoxZ6CuuijPHKJ EvqpEKcZKzcS4nziwta/hMfw4/SaegkCSyR9VmuBoYFCBcfg38jVFS4uCuDIAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678230690; 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=I6mBKvApaZ5UPiubsv9cJPerO0ufDRMSoNtSc5VdZ14=; b=XOyYW2wWjOxGdr66xllN0aqM1d4FVT3W48u8LrpWoeZsDRnVjOYWSzmSv6SQNaWITxGMXO bUkpXGOxbQuYOiidP6bY+izy1pwLIM2DLCOcfsfsbapYQWc9wYECpSSEBHXnn/zfl4RJW3 9/kt8UVFe7142Y9YNauIH8lVrecFrmixR5kvU7beKmLyuiIbbebFhos9H4CEMFUB7yl0hz WZSEBx8sAU7vPDo47xXQOfq/5kxvXLBwsYnw52GnkYXNc3b8TmAZdFzN3ZnZQnT9D6Qg7w h8gvcYYfKxTjcpSfO4N3vExC7Ez23IQCfZHnPeH8qK31Nos5ghdBfzu6nJVGQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678230690; a=rsa-sha256; cv=none; b=JzmHJTDOQJ6LmxGVV5F7WCLpQHfszwzRR3H9RVTSKMFNY+/muOW7rteWL/HIA6JzEpSmi9 9xQJ3QPyYiF+HRRx8SVfzTq/bsbIAiJalMen+x7pKiofRhs4t8Idb8AnpRN38A2uUDijgs FcKD0LdWF9TEBKIfxQRfH3yNBL8MYoNrpiVucIl60OMe8o8rs6h/Kg4b0inDG1A3vPtIRi wc3Q7rh/JOnDZck8D2B4fKRVWYxmjEVb4j1gL4VdeuRF+3dT399tMvifTfjhG/dmmHBRYx 3c9fV65ZWuE8MPO+su7xCj0zgyRFzNc6JFp+EEPhPwpEXUc8ETuWzjTxlL49TQ== 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 4PWWR63dtnz12Q2; Tue, 7 Mar 2023 23:11:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327NBUk2043071; Tue, 7 Mar 2023 23:11:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327NBUfu043070; Tue, 7 Mar 2023 23:11:30 GMT (envelope-from git) Date: Tue, 7 Mar 2023 23:11:30 GMT Message-Id: <202303072311.327NBUfu043070@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 320e7e0003db - main - Revert "Fix cross-build support for Ubuntu 16.04" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 320e7e0003dbc14ed3fc01b95532924cd3fbda7b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=320e7e0003dbc14ed3fc01b95532924cd3fbda7b commit 320e7e0003dbc14ed3fc01b95532924cd3fbda7b Author: Jose Luis Duran AuthorDate: 2023-03-02 15:31:31 +0000 Commit: Warner Losh CommitDate: 2023-03-07 23:11:11 +0000 Revert "Fix cross-build support for Ubuntu 16.04" This reverts commit d6327ae8c11b73765f100981baca49166b558b70. Before version 2.25, glibc's unistd.h would define the POSIX subset of getopt.h by defining __need_getopt, including getopt.h (which would disable the header guard) and then undefining it so later including getopt.h explicitly would define the extensions. However, we wrap getopt, and so the wrapper's #pragma once breaks that. Thus getopt.h was included before the real unistd.h to ensure we get all the extensions. However, with clang 12 that causes problems where we get a function mismatch (since getopt can throw exceptions). If we include it after unistd.h, it will get the full definitions since glibc no longer does the subsetting thing. This will result in matching definitions and fix clang 12. Reviewed by: imp, jrtc27 (OK'd on irc) Pull Request: https://github.com/freebsd/freebsd-src/pull/668 --- tools/build/cross-build/include/linux/unistd.h | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/tools/build/cross-build/include/linux/unistd.h b/tools/build/cross-build/include/linux/unistd.h index f518df2ac9ae..cd0b28ba39ed 100644 --- a/tools/build/cross-build/include/linux/unistd.h +++ b/tools/build/cross-build/include/linux/unistd.h @@ -41,17 +41,9 @@ /* Ensure that unistd.h pulls in getopt */ #define __USE_POSIX2 #endif -/* - * Before version 2.25, glibc's unistd.h would define the POSIX subset of - * getopt.h by defining __need_getopt, including getopt.h (which would - * disable the header guard) and then undefining it so later including - * getopt.h explicitly would define the extensions. However, we wrap getopt, - * and so the wrapper's #pragma once breaks that. Thus getopt.h must be - * included before the real unistd.h to ensure we get all the extensions. - */ -#include #include_next #include +#include #include #include #include From nobody Tue Mar 7 23:13:28 2023 X-Original-To: dev-commits-src-main@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 4PWWTR08pKz3wmnH for ; Tue, 7 Mar 2023 23:13:31 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PWWTQ520Wz47h4 for ; Tue, 7 Mar 2023 23:13:30 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f53.google.com with SMTP id bx12so13701435wrb.11 for ; Tue, 07 Mar 2023 15:13:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678230809; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1RW8vTIZEPPSe8sGWgdQbEzV0EtDjjYCcU269IktRMc=; b=zygNuxtYjjf15l/TBVLw4lqVqR4B2BsfTn98j9KslmBsCsLyJSkwO5BDoZaPLoR20I sxs13HfQLs+b9SVvhtaVpczED26zwJjWaorkiNnS5AW7QzHwEyAGyg7kECrIlHVX8/Dc 8HSDzkHMjyltbjimgLQ8xFu1glOox4Zl3lyO/rudEVzOd141NOn1WTJUuBKfPUw7523C uyEhkLU6bgltFQYL2wDQP/KQjI8q0PrCLhV8MUOuekQLz4cdHtVmGGcDHg6F2IIcXIBb iWybBpSnpGxaqWpfJurVx/sCmi9fTogGVh2uNxz6RQZ/laYdxPUcgZ/+iYRdz7ZKFnvM 2Daw== X-Gm-Message-State: AO0yUKW0MfX45q7rx8EmGJtJpgNQ/E1B9EzLe6um64QxcrnqRyoD5DND LfPGZ+pcGnfeeoyf2a1eKf6DhQ== X-Google-Smtp-Source: AK7set+fqRkKJlijj/0g5Yk1sZ31DDsu2vUGpVJnWrVOWr+KIqJkt6QZNP68kW4iZpOYruh2ThCqrw== X-Received: by 2002:a5d:5447:0:b0:2c7:a55:bef2 with SMTP id w7-20020a5d5447000000b002c70a55bef2mr8960585wrv.46.1678230809439; Tue, 07 Mar 2023 15:13:29 -0800 (PST) Received: from smtpclient.apple (global-5-144.n-2.net.cam.ac.uk. [131.111.5.144]) by smtp.gmail.com with ESMTPSA id b8-20020a5d4d88000000b002c70e60eb40sm13685980wru.11.2023.03.07.15.13.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 07 Mar 2023 15:13:29 -0800 (PST) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: 320e7e0003db - main - Revert "Fix cross-build support for Ubuntu 16.04" From: Jessica Clarke In-Reply-To: <202303072311.327NBUfu043070@gitrepo.freebsd.org> Date: Tue, 7 Mar 2023 23:13:28 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202303072311.327NBUfu043070@gitrepo.freebsd.org> To: Warner Losh X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Rspamd-Queue-Id: 4PWWTQ520Wz47h4 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 7 Mar 2023, at 23:11, Warner Losh wrote: >=20 > The branch main has been updated by imp: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D320e7e0003dbc14ed3fc01b95532924c= d3fbda7b >=20 > commit 320e7e0003dbc14ed3fc01b95532924cd3fbda7b > Author: Jose Luis Duran > AuthorDate: 2023-03-02 15:31:31 +0000 > Commit: Warner Losh > CommitDate: 2023-03-07 23:11:11 +0000 >=20 > Revert "Fix cross-build support for Ubuntu 16.04" >=20 > This reverts commit d6327ae8c11b73765f100981baca49166b558b70. >=20 > Before version 2.25, glibc's unistd.h would define the POSIX subset = of > getopt.h by defining __need_getopt, including getopt.h (which would > disable the header guard) and then undefining it so later including > getopt.h explicitly would define the extensions. However, we wrap > getopt, and so the wrapper's #pragma once breaks that. Thus = getopt.h was > included before the real unistd.h to ensure we get all the = extensions. >=20 > However, with clang 12 that causes problems where we get a function > mismatch (since getopt can throw exceptions). If we include it = after > unistd.h, it will get the full definitions since glibc no longer = does > the subsetting thing. This will result in matching definitions and = fix > clang 12. This is the bit I still don=E2=80=99t understand and hoped the author = would explain=E2=80=A6 Jess > Reviewed by: imp, jrtc27 (OK'd on irc) > Pull Request: https://github.com/freebsd/freebsd-src/pull/668 > --- > tools/build/cross-build/include/linux/unistd.h | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) >=20 > diff --git a/tools/build/cross-build/include/linux/unistd.h = b/tools/build/cross-build/include/linux/unistd.h > index f518df2ac9ae..cd0b28ba39ed 100644 > --- a/tools/build/cross-build/include/linux/unistd.h > +++ b/tools/build/cross-build/include/linux/unistd.h > @@ -41,17 +41,9 @@ > /* Ensure that unistd.h pulls in getopt */ > #define __USE_POSIX2 > #endif > -/* > - * Before version 2.25, glibc's unistd.h would define the POSIX = subset of > - * getopt.h by defining __need_getopt, including getopt.h (which = would > - * disable the header guard) and then undefining it so later = including > - * getopt.h explicitly would define the extensions. However, we wrap = getopt, > - * and so the wrapper's #pragma once breaks that. Thus getopt.h must = be > - * included before the real unistd.h to ensure we get all the = extensions. > - */ > -#include > #include_next > #include > +#include > #include > #include > #include From nobody Tue Mar 7 23:15:36 2023 X-Original-To: dev-commits-src-main@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 4PWWWr2vlDz3wmsQ; Tue, 7 Mar 2023 23:15: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 4PWWWr2cN2z497Z; Tue, 7 Mar 2023 23:15:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678230936; 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=L7+BVOE58sQOsgk3MD+GXztsoZVRenuaJ0Wc/5EuEFI=; b=xhZx8DohKQ5Vn5vZWFuUKUL1q6xpMzflLDzr+dcGlHZQQgg2rEt6T96vezYgRO62FWc8dz /xyCoPvD5jE7azh8nA6MPkaFVeQEe9RubRolqE9TCPOpyKOZe9c6IPt3Frxr6FaxsXfmEG Arpb9Awsnvt7KRQAmgYsM/6gpHY16//y3amFDPiYRPORzPXzHaw60SKPfZal5eCvLTieRX XBSHD94ixDDHXdOVMBdyLtXmwX7cDTJGIyBrRkMwDO3I4LDRW2Fe33BH1QWnL2PlBZjOxg TZi3jk3wtrbY9uStC22rlXm1kqzHIgOP3vUV9IKtTMtn4RCsNFMTKB9a5nQxLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678230936; 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=L7+BVOE58sQOsgk3MD+GXztsoZVRenuaJ0Wc/5EuEFI=; b=NS7f9XEFd7hBx5reE6L840FzjxmMCsYh64Gw0e19/asgIgVpT3aANCBB2RYzkTplxb1QtP tV0AsuqhC04wIwhGF/6FnDo5jTnXbqGel+DqpiDnCQ17+EAePeGpCyP6V0y+G2xTn+wWcC 0FnVG+5SDhxRMqr7PQwv06JzEB/nyOpfLxm1Ij6JmKYrxhGPPqBVFGI3PlRJEccE4G5Tmd 9DcENpLdfRCdEjDuJo3eKtXRpMUExipXajY8Opv7W1J7o5vGIO/DHNSrMxkVu8jXfC7dCl yATek8rtgTrXQTTlt8ev/wxagZGvFKwtlIWXXy4YmkHV+izDt40WEkgWh+cZHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678230936; a=rsa-sha256; cv=none; b=vyywZkjFqMHL37tTPZ8B0umDdo0TLCudAqyPmTa3HSu3iuY90lpqDO8TzT4GU4RkJOBo22 bLh9vd5BfQA7LoBxaUfeJPTiDC95b4d88WDMvf9dt2+XS2SC36qsIluoqr/40XSCRKvaa4 TROB8Cup0bkxtwNcN7a/1BtoX3K4d4ZGYAQr3qJQ6R/dhoHUUHOnUqo2OdCCABd5oHXV0t Qn8BM2Jb/XovwWlgWQ31GzMf5c9S4ng4tWOSMWyK/jmKpM0uMFz+QdLyYfQfbtRffch4cl eOSBgJVsZpUFYwTHiDknjuVe35em55o2pwSSqv1XTm7n6fV9GhhIetJLRvct5w== 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 4PWWWr1gFFz139S; Tue, 7 Mar 2023 23:15:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327NFasK048729; Tue, 7 Mar 2023 23:15:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327NFaol048728; Tue, 7 Mar 2023 23:15:36 GMT (envelope-from git) Date: Tue, 7 Mar 2023 23:15:36 GMT Message-Id: <202303072315.327NFaol048728@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: 52f9710412ee - main - Correct several bugs in fsck_ffs(8) triggered by corrupted filesystems. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 52f9710412ee6a5bfacae125e24399634d71288d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=52f9710412ee6a5bfacae125e24399634d71288d commit 52f9710412ee6a5bfacae125e24399634d71288d Author: Kirk McKusick AuthorDate: 2023-03-07 23:12:37 +0000 Commit: Kirk McKusick CommitDate: 2023-03-07 23:14:47 +0000 Correct several bugs in fsck_ffs(8) triggered by corrupted filesystems. If a directory entry has an illegal inode number (less than zero or greater than the last inode in the filesystem) the entry is removed. If a directory '.' or '..' entry had an illegal inode number they were being removed. Since fsck_ffs knows what the correct value is for these two entries fix them rather deleting them. Add much more extensive cylinder group checks and use them to be more careful about rebuilding a cylinder group. Check for out-of-range block numbers before trying to free them. When a directory is deleted also remove its cache entry created in pass1 so that later passes do not try to operate on a deleted directory. Check for ctime(3) returning NULL before trying to use its return. When freeing a directory inode, do not try to interpret it as a directory. Reserve space in the inostatlist to have room to allocate a lost+found directory. If an invalid block number is found past the end of an inode simply remove it rather than clearing and removing the inode. Modernize the inoinfo structure to use queue(3) LIST rather than a handrolled linked list implementation. Reported by: Bob Prohaska, John-Mark Gurney, and Mark Millard Tested by: Peter Holm Reviewed by: Peter Holm MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38668 --- sbin/fsck_ffs/dir.c | 25 +++++++++--------- sbin/fsck_ffs/fsck.h | 10 ++++--- sbin/fsck_ffs/fsutil.c | 71 +++++++++++++++++++++++++++++++++++--------------- sbin/fsck_ffs/inode.c | 63 ++++++++++++++++++++++++++++++++------------ sbin/fsck_ffs/pass1.c | 47 +++++++++++++++++++++------------ sbin/fsck_ffs/pass2.c | 18 ++++++++++--- sbin/fsck_ffs/setup.c | 19 +++++++------- sbin/fsck_ffs/suj.c | 2 ++ 8 files changed, 174 insertions(+), 81 deletions(-) diff --git a/sbin/fsck_ffs/dir.c b/sbin/fsck_ffs/dir.c index d09e6940f812..18229ab96fb6 100644 --- a/sbin/fsck_ffs/dir.c +++ b/sbin/fsck_ffs/dir.c @@ -63,7 +63,6 @@ static struct dirtemplate dirhead = { static int chgino(struct inodesc *); static int dircheck(struct inodesc *, struct bufarea *, struct direct *); static int expanddir(struct inode *ip, char *name); -static void freedir(ino_t ino, ino_t parent); static struct direct *fsck_readdir(struct inodesc *); static struct bufarea *getdirblk(ufs2_daddr_t blkno, long size); static int lftempname(char *bufp, ino_t ino); @@ -517,7 +516,7 @@ linkup(ino_t orphan, ino_t parentdir, char *name) if (preen) printf(" (CREATED)\n"); } else { - freedir(lfdir, UFS_ROOTINO); + freedirino(lfdir, UFS_ROOTINO); lfdir = 0; if (preen) printf("\n"); @@ -583,8 +582,7 @@ linkup(ino_t orphan, ino_t parentdir, char *name) inoinfo(lfdir)->ino_linkcnt++; pwarn("DIR I=%lu CONNECTED. ", (u_long)orphan); inp = getinoinfo(parentdir); - if (parentdir != (ino_t)-1 && inp != NULL && - (inp->i_flags & INFO_NEW) == 0) { + if (parentdir != (ino_t)-1 && inp != NULL) { printf("PARENT WAS I=%lu\n", (u_long)parentdir); /* * If the parent directory did not have to @@ -594,7 +592,8 @@ linkup(ino_t orphan, ino_t parentdir, char *name) * fixes the parent link count so that fsck does * not need to be rerun. */ - inoinfo(parentdir)->ino_linkcnt++; + if ((inp->i_flags & INFO_NEW) != 0) + inoinfo(parentdir)->ino_linkcnt++; } if (preen == 0) printf("\n"); @@ -837,13 +836,12 @@ allocdir(ino_t parent, ino_t request, int mode) DIP_SET(dp, di_nlink, 2); inodirty(&ip); if (ino == UFS_ROOTINO) { - inoinfo(ino)->ino_linkcnt = DIP(dp, di_nlink); - if ((inp = getinoinfo(ino)) == NULL) - inp = cacheino(dp, ino); - else - inp->i_flags = INFO_NEW; + inp = cacheino(dp, ino); inp->i_parent = parent; inp->i_dotdot = parent; + inp->i_flags |= INFO_NEW; + inoinfo(ino)->ino_type = DT_DIR; + inoinfo(ino)->ino_linkcnt = DIP(dp, di_nlink); irelse(&ip); return(ino); } @@ -855,6 +853,8 @@ allocdir(ino_t parent, ino_t request, int mode) inp = cacheino(dp, ino); inp->i_parent = parent; inp->i_dotdot = parent; + inp->i_flags |= INFO_NEW; + inoinfo(ino)->ino_type = DT_DIR; inoinfo(ino)->ino_state = inoinfo(parent)->ino_state; if (inoinfo(ino)->ino_state == DSTATE) { inoinfo(ino)->ino_linkcnt = DIP(dp, di_nlink); @@ -872,8 +872,8 @@ allocdir(ino_t parent, ino_t request, int mode) /* * free a directory inode */ -static void -freedir(ino_t ino, ino_t parent) +void +freedirino(ino_t ino, ino_t parent) { struct inode ip; union dinode *dp; @@ -885,6 +885,7 @@ freedir(ino_t ino, ino_t parent) inodirty(&ip); irelse(&ip); } + removecachedino(ino); freeino(ino); } diff --git a/sbin/fsck_ffs/fsck.h b/sbin/fsck_ffs/fsck.h index 7e714d8d7085..3c5cc957cd4e 100644 --- a/sbin/fsck_ffs/fsck.h +++ b/sbin/fsck_ffs/fsck.h @@ -303,8 +303,8 @@ extern struct dups *muldup; /* end of unique duplicate dup block numbers */ /* * Inode cache data structures. */ -extern struct inoinfo { - struct inoinfo *i_nexthash; /* next entry in hash chain */ +struct inoinfo { + SLIST_ENTRY(inoinfo) i_hash; /* hash list */ ino_t i_number; /* inode number of this entry */ ino_t i_parent; /* inode number of parent */ ino_t i_dotdot; /* inode number of `..' */ @@ -312,7 +312,9 @@ extern struct inoinfo { u_int i_flags; /* flags, see below */ u_int i_numblks; /* size of block array in bytes */ ufs2_daddr_t i_blks[1]; /* actually longer */ -} **inphead, **inpsort; +}; +extern SLIST_HEAD(inohash, inoinfo) *inphash; +extern struct inoinfo **inpsort; /* * flags for struct inoinfo */ @@ -480,6 +482,7 @@ int findino(struct inodesc *); int findname(struct inodesc *); void flush(int fd, struct bufarea *bp); int freeblock(struct inodesc *); +void freedirino(ino_t ino, ino_t parent); void freeino(ino_t ino); void freeinodebuf(void); void fsckinit(void); @@ -517,6 +520,7 @@ void prtbuf(struct bufarea *, const char *, ...) __printflike(2, 3); void prtinode(struct inode *); void pwarn(const char *fmt, ...) __printflike(1, 2); int readsb(void); +int removecachedino(ino_t); int reply(const char *question); void rwerror(const char *mesg, ufs2_daddr_t blk); void sblock_init(void); diff --git a/sbin/fsck_ffs/fsutil.c b/sbin/fsck_ffs/fsutil.c index 7a8dc68cac89..ac5dd3ebe08e 100644 --- a/sbin/fsck_ffs/fsutil.c +++ b/sbin/fsck_ffs/fsutil.c @@ -166,7 +166,7 @@ reply(const char *question) struct inostat * inoinfo(ino_t inum) { - static struct inostat unallocated = { USTATE, 0, 0 }; + static struct inostat unallocated = { USTATE, 0, 0, 0 }; struct inostatlist *ilp; int iloff; @@ -613,8 +613,7 @@ void ckfini(int markclean) { struct bufarea *bp, *nbp; - struct inoinfo *inp, *ninp; - int ofsmodified, cnt, cg, i; + int ofsmodified, cnt, cg; if (bkgrdflag) { unlink(snapname); @@ -782,19 +781,7 @@ ckfini(int markclean) free(inostathead); } inostathead = NULL; - if (inpsort != NULL) - free(inpsort); - inpsort = NULL; - if (inphead != NULL) { - for (i = 0; i < dirhash; i++) { - for (inp = inphead[i]; inp != NULL; inp = ninp) { - ninp = inp->i_nexthash; - free(inp); - } - } - free(inphead); - } - inphead = NULL; + inocleanup(); finalIOstats(); (void)close(fsreadfd); (void)close(fswritefd); @@ -1015,6 +1002,7 @@ check_cgmagic(int cg, struct bufarea *cgbp, int request_rebuild) struct cg *cgp = cgbp->b_un.b_cg; uint32_t cghash, calchash; static int prevfailcg = -1; + long start; int error; /* @@ -1040,6 +1028,43 @@ check_cgmagic(int cg, struct bufarea *cgbp, int request_rebuild) CHK(cgp->cg_niblk, !=, sblock.fs_ipg, "%jd"); CHK(cgp->cg_initediblk, >, sblock.fs_ipg, "%jd"); } + if (cgbase(&sblock, cg) + sblock.fs_fpg < sblock.fs_size) { + CHK(cgp->cg_ndblk, !=, sblock.fs_fpg, "%jd"); + } else { + CHK(cgp->cg_ndblk, !=, sblock.fs_size - cgbase(&sblock, cg), + "%jd"); + } + start = &cgp->cg_space[0] - (u_char *)(&cgp->cg_firstfield); + if (sblock.fs_magic == FS_UFS2_MAGIC) { + CHK(cgp->cg_iusedoff, !=, start, "%jd"); + } else if (sblock.fs_magic == FS_UFS1_MAGIC) { + CHK(cgp->cg_niblk, !=, 0, "%jd"); + CHK(cgp->cg_initediblk, !=, 0, "%jd"); + CHK(cgp->cg_old_ncyl, !=, sblock.fs_old_cpg, "%jd"); + CHK(cgp->cg_old_niblk, !=, sblock.fs_ipg, "%jd"); + CHK(cgp->cg_old_btotoff, !=, start, "%jd"); + CHK(cgp->cg_old_boff, !=, cgp->cg_old_btotoff + + sblock.fs_old_cpg * sizeof(int32_t), "%jd"); + CHK(cgp->cg_iusedoff, !=, cgp->cg_old_boff + + sblock.fs_old_cpg * sizeof(u_int16_t), "%jd"); + } + CHK(cgp->cg_freeoff, !=, + cgp->cg_iusedoff + howmany(sblock.fs_ipg, CHAR_BIT), "%jd"); + if (sblock.fs_contigsumsize == 0) { + CHK(cgp->cg_nextfreeoff, !=, + cgp->cg_freeoff + howmany(sblock.fs_fpg, CHAR_BIT), "%jd"); + } else { + CHK(cgp->cg_nclusterblks, !=, cgp->cg_ndblk / sblock.fs_frag, + "%jd"); + CHK(cgp->cg_clustersumoff, !=, + roundup(cgp->cg_freeoff + howmany(sblock.fs_fpg, CHAR_BIT), + sizeof(u_int32_t)) - sizeof(u_int32_t), "%jd"); + CHK(cgp->cg_clusteroff, !=, cgp->cg_clustersumoff + + (sblock.fs_contigsumsize + 1) * sizeof(u_int32_t), "%jd"); + CHK(cgp->cg_nextfreeoff, !=, cgp->cg_clusteroff + + howmany(fragstoblks(&sblock, sblock.fs_fpg), CHAR_BIT), + "%jd"); + } if (error == 0) return (1); if (prevfailcg == cg) @@ -1068,13 +1093,15 @@ check_cgmagic(int cg, struct bufarea *cgbp, int request_rebuild) cgp->cg_ndblk = sblock.fs_fpg; else cgp->cg_ndblk = sblock.fs_size - cgbase(&sblock, cg); - cgp->cg_iusedoff = &cgp->cg_space[0] - (u_char *)(&cgp->cg_firstfield); - if (sblock.fs_magic == FS_UFS1_MAGIC) { + start = &cgp->cg_space[0] - (u_char *)(&cgp->cg_firstfield); + if (sblock.fs_magic == FS_UFS2_MAGIC) { + cgp->cg_iusedoff = start; + } else if (sblock.fs_magic == FS_UFS1_MAGIC) { cgp->cg_niblk = 0; cgp->cg_initediblk = 0; cgp->cg_old_ncyl = sblock.fs_old_cpg; cgp->cg_old_niblk = sblock.fs_ipg; - cgp->cg_old_btotoff = cgp->cg_iusedoff; + cgp->cg_old_btotoff = start; cgp->cg_old_boff = cgp->cg_old_btotoff + sblock.fs_old_cpg * sizeof(int32_t); cgp->cg_iusedoff = cgp->cg_old_boff + @@ -1112,7 +1139,7 @@ allocblk(long startcg, long frags, } if (frags <= 0 || frags > sblock.fs_frag) return (0); - for (blkno = cgdata(&sblock, startcg); + for (blkno = MAX(cgdata(&sblock, startcg), 0); blkno < maxfsblock - sblock.fs_frag; blkno += sblock.fs_frag) { if ((newblk = (*checkblkavail)(blkno, frags)) == 0) @@ -1122,7 +1149,7 @@ allocblk(long startcg, long frags, if (newblk < 0) blkno = -newblk; } - for (blkno = cgdata(&sblock, 0); + for (blkno = MAX(cgdata(&sblock, 0), 0); blkno < cgbase(&sblock, startcg) - sblock.fs_frag; blkno += sblock.fs_frag) { if ((newblk = (*checkblkavail)(blkno, frags)) == 0) @@ -1145,6 +1172,8 @@ std_checkblkavail(blkno, frags) ufs2_daddr_t j, k, baseblk; long cg; + if ((u_int64_t)blkno > sblock.fs_size) + return (0); for (j = 0; j <= sblock.fs_frag - frags; j++) { if (testbmap(blkno + j)) continue; diff --git a/sbin/fsck_ffs/inode.c b/sbin/fsck_ffs/inode.c index 82338f4f8c08..057d49a1ea18 100644 --- a/sbin/fsck_ffs/inode.c +++ b/sbin/fsck_ffs/inode.c @@ -661,9 +661,8 @@ freeblock(struct inodesc *idesc) struct bufarea *cgbp; struct cg *cgp; ufs2_daddr_t blkno; - long size, nfrags, res; + long size, nfrags; - res = KEEPON; blkno = idesc->id_blkno; if (idesc->id_type == SNAP) { pfatal("clearing a snapshot dinode\n"); @@ -672,10 +671,10 @@ freeblock(struct inodesc *idesc) size = lfragtosize(&sblock, idesc->id_numfrags); if (snapblkfree(&sblock, blkno, size, idesc->id_number, std_checkblkavail)) - return (res); + return (KEEPON); for (nfrags = idesc->id_numfrags; nfrags > 0; blkno++, nfrags--) { if (chkrange(blkno, 1)) { - res = SKIP; + return (SKIP); } else if (testbmap(blkno)) { for (dlp = duplist; dlp; dlp = dlp->next) { if (dlp->dup != blkno) @@ -704,7 +703,7 @@ freeblock(struct inodesc *idesc) cgp->cg_cs.cs_nffree += idesc->id_numfrags; cgdirty(cgbp); } - return (res); + return (KEEPON); } /* @@ -1122,7 +1121,7 @@ freeinodebuf(void) struct inoinfo * cacheino(union dinode *dp, ino_t inumber) { - struct inoinfo *inp, **inpp; + struct inoinfo *inp; int i, blks; if (getinoinfo(inumber) != NULL) @@ -1138,9 +1137,7 @@ cacheino(union dinode *dp, ino_t inumber) Malloc(sizeof(*inp) + (blks - 1) * sizeof(ufs2_daddr_t)); if (inp == NULL) errx(EEXIT, "cannot increase directory list"); - inpp = &inphead[inumber % dirhash]; - inp->i_nexthash = *inpp; - *inpp = inp; + SLIST_INSERT_HEAD(&inphash[inumber % dirhash], inp, i_hash); inp->i_flags = 0; inp->i_parent = inumber == UFS_ROOTINO ? UFS_ROOTINO : (ino_t)0; inp->i_dotdot = (ino_t)0; @@ -1171,12 +1168,43 @@ getinoinfo(ino_t inumber) { struct inoinfo *inp; - for (inp = inphead[inumber % dirhash]; inp; inp = inp->i_nexthash) { + SLIST_FOREACH(inp, &inphash[inumber % dirhash], i_hash) { if (inp->i_number != inumber) continue; return (inp); } - return ((struct inoinfo *)0); + return (NULL); +} + +/* + * Remove an entry from the inode cache and disk-order sorted list. + * Return 0 on success and 1 on failure. + */ +int +removecachedino(ino_t inumber) +{ + struct inoinfo *inp, **inpp; + char *listtype; + + listtype = "hash"; + SLIST_FOREACH(inp, &inphash[inumber % dirhash], i_hash) { + if (inp->i_number != inumber) + continue; + SLIST_REMOVE(&inphash[inumber % dirhash], inp, inoinfo, i_hash); + for (inpp = &inpsort[inplast - 1]; inpp >= inpsort; inpp--) { + if (*inpp != inp) + continue; + *inpp = inpsort[inplast - 1]; + inplast--; + free(inp); + return (0); + } + listtype = "sort"; + break; + } + pfatal("removecachedino: entry for ino %jd not found on %s list\n", + (intmax_t)inumber, listtype); + return (1); } /* @@ -1187,13 +1215,14 @@ inocleanup(void) { struct inoinfo **inpp; - if (inphead == NULL) + if (inphash == NULL) return; for (inpp = &inpsort[inplast - 1]; inpp >= inpsort; inpp--) free((char *)(*inpp)); - free((char *)inphead); + free((char *)inphash); + inphash = NULL; free((char *)inpsort); - inphead = inpsort = NULL; + inpsort = NULL; } void @@ -1310,8 +1339,8 @@ prtinode(struct inode *ip) printf("%s: ", cdevname); printf("SIZE=%ju ", (uintmax_t)DIP(dp, di_size)); t = DIP(dp, di_mtime); - p = ctime(&t); - printf("MTIME=%12.12s %4.4s ", &p[4], &p[20]); + if ((p = ctime(&t)) != NULL) + printf("MTIME=%12.12s %4.4s ", &p[4], &p[20]); } void @@ -1428,7 +1457,7 @@ freeino(ino_t ino) struct inode ip; memset(&idesc, 0, sizeof(struct inodesc)); - idesc.id_type = inoinfo(ino)->ino_idtype; + idesc.id_type = ADDR; idesc.id_func = freeblock; idesc.id_number = ino; ginode(ino, &ip); diff --git a/sbin/fsck_ffs/pass1.c b/sbin/fsck_ffs/pass1.c index 49418ec38e4b..5f1ad8ecb686 100644 --- a/sbin/fsck_ffs/pass1.c +++ b/sbin/fsck_ffs/pass1.c @@ -219,9 +219,10 @@ pass1(void) * If we were not able to determine in advance which inodes * were in use, then reduce the size of the inoinfo structure * to the size necessary to describe the inodes that we - * really found. + * really found. Always leave map space in the first cylinder + * group in case we need to a root or lost+found directory. */ - if (inumber == lastino) + if (inumber == lastino || c == 0) continue; inostathead[c].il_numalloced = inosused; if (inosused == 0) { @@ -348,24 +349,38 @@ checkinode(ino_t inumber, struct inodesc *idesc, int rebuildcg) } } } - for (j = ndb; ndb < UFS_NDADDR && j < UFS_NDADDR; j++) - if (DIP(dp, di_db[j]) != 0) { - if (debug) - printf("invalid direct addr[%d]: %ju\n", j, - (uintmax_t)DIP(dp, di_db[j])); - pfatal("INVALID DIRECT BLOCK"); - goto unknown; + for (j = ndb; ndb < UFS_NDADDR && j < UFS_NDADDR; j++) { + if (DIP(dp, di_db[j]) == 0) + continue; + if (debug) + printf("invalid direct addr[%d]: %ju\n", j, + (uintmax_t)DIP(dp, di_db[j])); + pfatal("INVALID DIRECT BLOCK"); + ginode(inumber, &ip); + prtinode(&ip); + if (reply("CLEAR") == 1) { + DIP_SET(ip.i_dp, di_db[j], 0); + inodirty(&ip); } + irelse(&ip); + } for (j = 0, ndb -= UFS_NDADDR; ndb > 0; j++) ndb /= NINDIR(&sblock); - for (; j < UFS_NIADDR; j++) - if (DIP(dp, di_ib[j]) != 0) { - if (debug) - printf("invalid indirect addr: %ju\n", - (uintmax_t)DIP(dp, di_ib[j])); - pfatal("INVALID INDIRECT BLOCK"); - goto unknown; + for (; j < UFS_NIADDR; j++) { + if (DIP(dp, di_ib[j]) == 0) + continue; + if (debug) + printf("invalid indirect addr: %ju\n", + (uintmax_t)DIP(dp, di_ib[j])); + pfatal("INVALID INDIRECT BLOCK"); + ginode(inumber, &ip); + prtinode(&ip); + if (reply("CLEAR") == 1) { + DIP_SET(ip.i_dp, di_ib[j], 0); + inodirty(&ip); } + irelse(&ip); + } if (ftypeok(dp) == 0) { pfatal("UNKNOWN FILE TYPE"); goto unknown; diff --git a/sbin/fsck_ffs/pass2.c b/sbin/fsck_ffs/pass2.c index 78815493fba8..4e17863ef04c 100644 --- a/sbin/fsck_ffs/pass2.c +++ b/sbin/fsck_ffs/pass2.c @@ -85,7 +85,7 @@ pass2(void) case DCLEAR: pfatal("DUPS/BAD IN ROOT INODE"); if (reply("REALLOCATE")) { - freeino(UFS_ROOTINO); + freedirino(UFS_ROOTINO, UFS_ROOTINO); if (allocdir(UFS_ROOTINO, UFS_ROOTINO, 0755) != UFS_ROOTINO) errx(EEXIT, "CANNOT ALLOCATE ROOT INODE"); @@ -294,8 +294,6 @@ pass2check(struct inodesc *idesc) /* * check for "." */ - if (dirp->d_ino > maxino) - goto chk2; if (idesc->id_entryno != 0) goto chk1; if (dirp->d_ino != 0 && strcmp(dirp->d_name, ".") == 0) { @@ -370,6 +368,20 @@ chk1: dirp->d_reclen = proto.d_reclen; } if (dirp->d_ino != 0 && strcmp(dirp->d_name, "..") == 0) { + if (dirp->d_ino > maxino) { + direrror(idesc->id_number, "BAD INODE NUMBER FOR '..'"); + /* + * If we know parent set it now, otherwise let it + * point to the root inode and it will get cleaned + * up later if that is not correct. + */ + if (inp->i_parent != 0) + dirp->d_ino = inp->i_parent; + else + dirp->d_ino = UFS_ROOTINO; + if (reply("FIX") == 1) + ret |= ALTERED; + } inp->i_dotdot = dirp->d_ino; if (dirp->d_type != DT_DIR) { direrror(idesc->id_number, "BAD TYPE VALUE FOR '..'"); diff --git a/sbin/fsck_ffs/setup.c b/sbin/fsck_ffs/setup.c index 527d125dd670..1d62a733c2f6 100644 --- a/sbin/fsck_ffs/setup.c +++ b/sbin/fsck_ffs/setup.c @@ -58,10 +58,11 @@ __FBSDID("$FreeBSD$"); #include "fsck.h" -struct inoinfo **inphead, **inpsort; /* info about all inodes */ -struct inode snaplist[FSMAXSNAP + 1]; /* list of active snapshots */ -int snapcnt; /* number of active snapshots */ -char *copybuf; /* buffer to copy snapshot blocks */ +struct inohash *inphash; /* hash list of directory inode info */ +struct inoinfo **inpsort; /* disk order list of directory inodes */ +struct inode snaplist[FSMAXSNAP + 1]; /* list of active snapshots */ +int snapcnt; /* number of active snapshots */ +char *copybuf; /* buffer to copy snapshot blocks */ static int sbhashfailed; #define POWEROF2(num) (((num) & ((num) - 1)) == 0) @@ -165,14 +166,14 @@ setup(char *dev) (unsigned)(sizeof(struct inostatlist) * (sblock.fs_ncg))); goto badsb; } - numdirs = MAX(sblock.fs_cstotal.cs_ndir, 128); - dirhash = numdirs; + numdirs = sblock.fs_cstotal.cs_ndir; + dirhash = MAX(numdirs / 2, 1); inplast = 0; listmax = numdirs + 10; inpsort = (struct inoinfo **)Calloc(listmax, sizeof(struct inoinfo *)); - inphead = (struct inoinfo **)Calloc(numdirs, sizeof(struct inoinfo *)); - if (inpsort == NULL || inphead == NULL) { - printf("cannot alloc %ju bytes for inphead\n", + inphash = (struct inohash *)Calloc(dirhash, sizeof(struct inohash)); + if (inpsort == NULL || inphash == NULL) { + printf("cannot alloc %ju bytes for inphash\n", (uintmax_t)numdirs * sizeof(struct inoinfo *)); goto badsb; } diff --git a/sbin/fsck_ffs/suj.c b/sbin/fsck_ffs/suj.c index b120bd3dd38c..c85f1f4b81cd 100644 --- a/sbin/fsck_ffs/suj.c +++ b/sbin/fsck_ffs/suj.c @@ -393,6 +393,8 @@ suj_checkblkavail(blkno, frags) ufs2_daddr_t j, k, baseblk; long cg; + if ((u_int64_t)blkno > sblock.fs_size) + return (0); cg = dtog(&sblock, blkno); cgbp = cglookup(cg); cgp = cgbp->b_un.b_cg; From nobody Tue Mar 7 23:25:42 2023 X-Original-To: dev-commits-src-main@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 4PWWlW0XSJz3wnSW; Tue, 7 Mar 2023 23:25: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 4PWWlW00CPz4CSj; Tue, 7 Mar 2023 23:25:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678231543; 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=Sr9ss4uUqtHz2nGIn5LMZ+TZrO5RMrAu943j6v9kzrg=; b=SityspzTmCaRfgTGanJeXJ7Y4k6KJ6jLPh7BEhvO9xyky9RBwreEdePyHUG/HxErUODOht BE2pGqGnZ0BBjLtSIhkRjfZKVk9WeSAvPTnMW4NKG4tcG5i3gTdhdXxGKgLW6eqvKPE+We WDjAWw+2izxzuZ2PpoI+fsc/svNydXmTd1s5qgmY8roJmPbFiYQy403n+jyvYML2ToMEqS zeQcvVYIWh8cIRdZTrhrUhNZ6UVlEhoNoG2TAlGRIt4YUj600LmC1rfGxZauVGhnYPWJPL qzUT+ohrqSncm8I4V6DBZhaVhE9yDsIsaSkNjJyfMExUEzAV42i+UjuKhL9+Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678231543; 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=Sr9ss4uUqtHz2nGIn5LMZ+TZrO5RMrAu943j6v9kzrg=; b=DN1iBU/ctvgpdPUpTiayK8xYkH3RiNnpuYWebBdm5LydlJoeENTEe1035fg5fJeHEEdf6J VH6SOpGmhotfdr14jH+PU9qHTRaoMbGFZR+K7NDaWl/CCZq/tDNGTvBBYRof48kZAsUMrM 03IfhjPMKZBLhCq0Thzf1Se7bca04Vx4mMCxYGImz5WDtYYS1Fq10rb0z4cMS7bSR9HRDQ auTwK0XHYn4zo0Mfg3VSFddNDHoK89wknv7FWNOD5umGjyCprX6BrmH+X1GQc8mJlfCd4E ByLPmtTDEMB1XdBoVeiEQPtfFLqrlAAxTugdtrOyfdom4aGBKGZc+DGAf1tDFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678231543; a=rsa-sha256; cv=none; b=Tg/R5W6fWkbAd+Hcbv6pXJ/SLI+Aj835+eWrmYBOj15QdVHH5gl7wDkq5IDcEl4q/CMHyC SwSqZVmGNa8teQiploHtdAFe+pGEtJXu04h9GkoeGgjIV7FIuJlrqS71+0G71n/3f1T0mP NCtb1O5UBE3Bj0L8RfCD+/mh0sH2QtNSQVGQnuHybene1gUkSOSPbfF7wzkLqfdYITzPl9 Ez2htj2qvyDtZ/2E+hUbRlDL5Pr9rMtpW2r0HHOftKjbSWxi14Lgljbz1NS533A3cej9jK +JbWcA9+F9H/YDY8UBEApkIQZGnJxAUy+0gZ4VzXZr+m9y+rno/gyk4WeXGPNw== 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 4PWWlV68DMz12x9; Tue, 7 Mar 2023 23:25:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 327NPguh064868; Tue, 7 Mar 2023 23:25:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 327NPgsl064867; Tue, 7 Mar 2023 23:25:42 GMT (envelope-from git) Date: Tue, 7 Mar 2023 23:25:42 GMT Message-Id: <202303072325.327NPgsl064867@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 109abf744bf7 - main - acpica: do not print warning for missing _ADR List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 109abf744bf76a75e952931f28a4c8a0767d5701 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=109abf744bf76a75e952931f28a4c8a0767d5701 commit 109abf744bf76a75e952931f28a4c8a0767d5701 Author: Yuri AuthorDate: 2023-03-07 23:22:58 +0000 Commit: Warner Losh CommitDate: 2023-03-07 23:25:21 +0000 acpica: do not print warning for missing _ADR Started seeing the following after updating to VMware ESXi 8.0: pcib2: on acpi0 pcib2: could not evaluate _ADR - AE_NOT_FOUND pci2: on pcib2 vmx0: ... The virtual NIC works fine, and the code comment suggests that missing _ADR is not something fatal, skip printing the message if status is AE_NOT_FOUND. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/682 --- sys/dev/acpica/acpi_pcib_acpi.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/dev/acpica/acpi_pcib_acpi.c b/sys/dev/acpica/acpi_pcib_acpi.c index 6a66dfb5012a..59b4c2bf25bf 100644 --- a/sys/dev/acpica/acpi_pcib_acpi.c +++ b/sys/dev/acpica/acpi_pcib_acpi.c @@ -410,8 +410,9 @@ acpi_pcib_acpi_attach(device_t dev) */ status = acpi_GetInteger(sc->ap_handle, "_ADR", &sc->ap_addr); if (ACPI_FAILURE(status)) { - device_printf(dev, "could not evaluate _ADR - %s\n", - AcpiFormatException(status)); + if (status != AE_NOT_FOUND) + device_printf(dev, "could not evaluate _ADR - %s\n", + AcpiFormatException(status)); sc->ap_addr = -1; } From nobody Tue Mar 7 23:49:18 2023 X-Original-To: dev-commits-src-main@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 4PWXGz66bfz3wpS0 for ; Tue, 7 Mar 2023 23:49:31 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PWXGz3fKyz4DhR for ; Tue, 7 Mar 2023 23:49:31 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x529.google.com with SMTP id g3so59263011eda.1 for ; Tue, 07 Mar 2023 15:49:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; t=1678232970; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=d9yqdvRs+hVawM8jD+X8ba7qoswewvSRTm7nLljtUNE=; b=kEHakIcoqResW+RcDFTmbBgFW5swanI+gYLogEm+agTsvxKhGCxzPfaUEYsdRcTPOn qq1rjKeLySKHbx/XHy48fm10Wc5Fuc7ej77prmNRP2vcPvzbn0l5NiF7bAK8d48+Pdak PjL9ahFewG9n3ON3yJDzqxSzexySlwcpz7FfHwHb7nY/e6bz+ozBqor5JHgpCXwR/Tos QFomMYpk4D4Je0FUN2T1g+nt0Mv/dGTn0BaGg1RLpSJvtoe1u1ILwrBWGhJ+0ct8+Fx1 cvIY/CQ0TwoT/qQLDGBeBVYZyb4JH3XHEQ6pZJaVJwgOe18t0ol2tyuQHLOTWWk4408Q T86Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678232970; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=d9yqdvRs+hVawM8jD+X8ba7qoswewvSRTm7nLljtUNE=; b=hhZ/BZWkQN/ki6mtIAqF5yuSaVhbmUnyifrJh9dSFGeCNzZxc8levuWqaxhiLj7o9G 1yMUrmFyuf/dCjb15e+s35WkOJj4PGdXKxp7aJbXoQAFYQBkIIPv24XgGPi31r4ODRat TXHPzdqvTKoOrAbTcKVvi6VQLp9vhB8CzO8I3OCfWBB4JH87v4ruaBh6Gal9EHSnBA7A RG21zaPdEYoAwuTw9wJBg26INZUWOuqsIf3AudT/a1753YyvkAFI3N2mtpl5f7cslHrG FrTlkSBRyyON1xczEt9ZlyEirhTLp1rXKsboe1LAwp5Mfhj5ntDHw7TbxSEroefUGLXl Jkag== X-Gm-Message-State: AO0yUKUsSgxD5DFA9Q+22P9iK01PmZ/kjjJCudaE1wUj+WmASToqQ7IU GuMI9A/uH33CtcUQsEiskt0AtVfB2Ghkmap4rKus0Q== X-Google-Smtp-Source: AK7set+/tVg8TIACUu0SmrRv7SlsNDpnVgUqHeCuSabLXXEemCEA1bJZGCNmaZGz7sZTDo/5xDUrE0VkxEMSk8jeFUQ= X-Received: by 2002:a50:d60d:0:b0:4bc:edde:14ff with SMTP id x13-20020a50d60d000000b004bcedde14ffmr8576451edi.0.1678232969492; Tue, 07 Mar 2023 15:49:29 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202303072311.327NBUfu043070@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Tue, 7 Mar 2023 16:49:18 -0700 Message-ID: Subject: Re: git: 320e7e0003db - main - Revert "Fix cross-build support for Ubuntu 16.04" To: Jessica Clarke Cc: Warner Losh , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: multipart/alternative; boundary="000000000000ff521605f6580f97" X-Rspamd-Queue-Id: 4PWXGz3fKyz4DhR X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --000000000000ff521605f6580f97 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Mar 7, 2023 at 4:13=E2=80=AFPM Jessica Clarke = wrote: > On 7 Mar 2023, at 23:11, Warner Losh wrote: > > > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D320e7e0003dbc14ed3fc01b95532924= cd3fbda7b > > > > commit 320e7e0003dbc14ed3fc01b95532924cd3fbda7b > > Author: Jose Luis Duran > > AuthorDate: 2023-03-02 15:31:31 +0000 > > Commit: Warner Losh > > CommitDate: 2023-03-07 23:11:11 +0000 > > > > Revert "Fix cross-build support for Ubuntu 16.04" > > > > This reverts commit d6327ae8c11b73765f100981baca49166b558b70. > > > > Before version 2.25, glibc's unistd.h would define the POSIX subset = of > > getopt.h by defining __need_getopt, including getopt.h (which would > > disable the header guard) and then undefining it so later including > > getopt.h explicitly would define the extensions. However, we wrap > > getopt, and so the wrapper's #pragma once breaks that. Thus getopt.h > was > > included before the real unistd.h to ensure we get all the extension= s. > > > > However, with clang 12 that causes problems where we get a function > > mismatch (since getopt can throw exceptions). If we include it after > > unistd.h, it will get the full definitions since glibc no longer doe= s > > the subsetting thing. This will result in matching definitions and f= ix > > clang 12. > > This is the bit I still don=E2=80=99t understand and hoped the author wou= ld > explain=E2=80=A6 > I'll look into it a bit more. Warner > Jess > > > Reviewed by: imp, jrtc27 (OK'd on irc) > > Pull Request: https://github.com/freebsd/freebsd-src/pull/668 > > --- > > tools/build/cross-build/include/linux/unistd.h | 10 +--------- > > 1 file changed, 1 insertion(+), 9 deletions(-) > > > > diff --git a/tools/build/cross-build/include/linux/unistd.h > b/tools/build/cross-build/include/linux/unistd.h > > index f518df2ac9ae..cd0b28ba39ed 100644 > > --- a/tools/build/cross-build/include/linux/unistd.h > > +++ b/tools/build/cross-build/include/linux/unistd.h > > @@ -41,17 +41,9 @@ > > /* Ensure that unistd.h pulls in getopt */ > > #define __USE_POSIX2 > > #endif > > -/* > > - * Before version 2.25, glibc's unistd.h would define the POSIX subset > of > > - * getopt.h by defining __need_getopt, including getopt.h (which woul= d > > - * disable the header guard) and then undefining it so later including > > - * getopt.h explicitly would define the extensions. However, we wrap > getopt, > > - * and so the wrapper's #pragma once breaks that. Thus getopt.h must b= e > > - * included before the real unistd.h to ensure we get all the > extensions. > > - */ > > -#include > > #include_next > > #include > > +#include > > #include > > #include > > #include > > --000000000000ff521605f6580f97 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Tue, Mar 7, 2023 at 4:13=E2=80=AFP= M Jessica Clarke <jrtc27@freebsd.o= rg> wrote:
https://= cgit.FreeBSD.org/src/commit/?id=3D320e7e0003dbc14ed3fc01b95532924cd3fbda7b<= /a>
>
> commit 320e7e0003dbc14ed3fc01b95532924cd3fbda7b
> Author:=C2=A0 =C2=A0 =C2=A0Jose Luis Duran <jlduran@gmail.com>
> AuthorDate: 2023-03-02 15:31:31 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
> CommitDate: 2023-03-07 23:11:11 +0000
>
>=C2=A0 =C2=A0 Revert "Fix cross-build support for Ubuntu 16.04&quo= t;
>
>=C2=A0 =C2=A0 This reverts commit d6327ae8c11b73765f100981baca49166b558= b70.
>
>=C2=A0 =C2=A0 Before version 2.25, glibc's unistd.h would define th= e POSIX subset of
>=C2=A0 =C2=A0 getopt.h by defining __need_getopt, including getopt.h (w= hich would
>=C2=A0 =C2=A0 disable the header guard) and then undefining it so later= including
>=C2=A0 =C2=A0 getopt.h explicitly would define the extensions. However,= we wrap
>=C2=A0 =C2=A0 getopt, and so the wrapper's #pragma once breaks that= . Thus getopt.h was
>=C2=A0 =C2=A0 included before the real unistd.h to ensure we get all th= e extensions.
>
>=C2=A0 =C2=A0 However, with clang 12 that causes problems where we get = a function
>=C2=A0 =C2=A0 mismatch (since getopt can throw exceptions). If we inclu= de it after
>=C2=A0 =C2=A0 unistd.h, it will get the full definitions since glibc no= longer does
>=C2=A0 =C2=A0 the subsetting thing. This will result in matching defini= tions and fix
>=C2=A0 =C2=A0 clang 12.

This is the bit I still don=E2=80=99t understand and hoped the author would= explain=E2=80=A6

I'll look into it= a bit more.

Warner
=C2=A0
Jess

>=C2=A0 =C2=A0 Reviewed by: imp, jrtc27 (OK'd on irc)
>=C2=A0 =C2=A0 Pull Request: https://github.com/fr= eebsd/freebsd-src/pull/668
> ---
> tools/build/cross-build/include/linux/unistd.h | 10 +---------
> 1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/tools/build/cross-build/include/linux/unistd.h b/tools/bu= ild/cross-build/include/linux/unistd.h
> index f518df2ac9ae..cd0b28ba39ed 100644
> --- a/tools/build/cross-build/include/linux/unistd.h
> +++ b/tools/build/cross-build/include/linux/unistd.h
> @@ -41,17 +41,9 @@
> /* Ensure that unistd.h pulls in getopt */
> #define __USE_POSIX2
> #endif
> -/*
> - * Before version 2.25, glibc's unistd.h would define the POSIX s= ubset of
> - * getopt.h by defining __need_getopt,=C2=A0 including getopt.h (whic= h would
> - * disable the header guard) and then undefining it so later includin= g
> - * getopt.h explicitly would define the extensions. However, we wrap = getopt,
> - * and so the wrapper's #pragma once breaks that. Thus getopt.h m= ust be
> - * included before the real unistd.h to ensure we get all the extensi= ons.
> - */
> -#include <getopt.h>
> #include_next <unistd.h>
> #include <fcntl.h>
> +#include <getopt.h>
> #include <stdlib.h>
> #include <string.h>
> #include <sys/syscall.h>

--000000000000ff521605f6580f97-- From nobody Wed Mar 8 06:03:22 2023 X-Original-To: dev-commits-src-main@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 4PWhZL3hN8z3xBjT; Wed, 8 Mar 2023 06:03:22 +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 4PWhZL332Rz3QxM; Wed, 8 Mar 2023 06:03:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678255402; 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=5fstNsCYDjqYuwiPDAcPJ6lnWl0ohaDEjYJIWmQKUcM=; b=LZcNhxnN1KHQrJX6l/KlxS+pga0uwEsy8I1nNFfwlCkQjR87TtlgoZTWYfvU4lUtq4POTr h/4G1obJ/YP1cZM2ssTT439jxOBgIlxDmfGFSa/haUB/ninhHYJRNTFljPQF66ubtoWm/c KhRrT0JGf5j54/B6oYWnZgqECD1j48peZOJSM6Bu9oT63B2t+ybQkHz2bGmWv9WAX5tmK4 mjngJusYgxpwPff45FOLqiBd8gEZApe9FrCCaO6zaUGgl23CR9fM6SbXZAN/XyfD7Wzn8Z XSNFuQjWvjYKqhSeIV5EwO/zrzH7TMJW0De6i3r/mTmpGK3MqTIX3ny4ex5mwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678255402; 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=5fstNsCYDjqYuwiPDAcPJ6lnWl0ohaDEjYJIWmQKUcM=; b=xJQAG7h9MRgOUshi83Z7wQKdzRnh/r+dfjBHJASyzbMPOusT78JyfSl4plWUpXDLHkTTrL aQpR2iy8Z1kN5Hjdn+h4B3t+LZX7iddnqPE6Ptqw6ZjvVsmWuTdgkNHvnEH4NCv4+1w2b9 /X5wsr3SeX1nCjf5XXKcLyzQHVj/1gH6vgZyULiBve62tibVsPaLmrAi6mEoNFli2h9ynN fuwkVuVyCTGOrsh7nj1Y2SIjrPOf8iprxX1Rw/zeR5D2GuyfnSmFJUESerms8wv1NYFGC6 9KLAzvicTKl/VCo0YczgqQzzOS7xeuaPTmPbrJq0yn474DErJAkWmjxTErqeHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678255402; a=rsa-sha256; cv=none; b=L9TPbFs4Wp3lPcbTeFi7Aj+dwHEmqznjGdXtzEqNs1VxxTzyPJNhdhgzyOdAn+i2ycMHlA r062nX8rkojUz4CE/3HkjbrGsuAG+xyMgTYVeWkrPYJq7gSpJZDL+O0RSGaPXr5fgLpbLG IW/Erzg4F0HGoTOV4ZwzIwuBNJ5XG5bvYT56TLD7aPF+VPf67rG+cAo4n3q2sG2W9boF9R GPy9tSg6eRKHfKOoOeqlgpBmoI5lc/NFSCC5hNYZ5pLWqmjf+UA4ilOmXPTzxz0206ZP1k kwhYFT4l+uCgps6ipK/aKCSOo1VvknLM3m593AL58bX2payZ7SvUe71Pb0SG9A== 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 4PWhZL26c0zFQk; Wed, 8 Mar 2023 06:03:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32863M4N026870; Wed, 8 Mar 2023 06:03:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32863MMA026869; Wed, 8 Mar 2023 06:03:22 GMT (envelope-from git) Date: Wed, 8 Mar 2023 06:03:22 GMT Message-Id: <202303080603.32863MMA026869@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: 129ea078cd16 - main - FFS/UFS snapshots: improve documentation for removal (deletion) and unlinking. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 129ea078cd16b768a1100b497282fd9359e8dfea Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=129ea078cd16b768a1100b497282fd9359e8dfea commit 129ea078cd16b768a1100b497282fd9359e8dfea Author: Kirk McKusick AuthorDate: 2023-03-08 06:02:07 +0000 Commit: Kirk McKusick CommitDate: 2023-03-08 06:03:00 +0000 FFS/UFS snapshots: improve documentation for removal (deletion) and unlinking. Clarification of the size of the snapshot file. Suggested by: Matteo Riondato PR: 266358 MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D38817 --- sbin/mksnap_ffs/mksnap_ffs.8 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sbin/mksnap_ffs/mksnap_ffs.8 b/sbin/mksnap_ffs/mksnap_ffs.8 index 6274e93a4adb..2bba68150636 100644 --- a/sbin/mksnap_ffs/mksnap_ffs.8 +++ b/sbin/mksnap_ffs/mksnap_ffs.8 @@ -56,7 +56,8 @@ Snapshots can be listed using the command. .Pp After a snapshot is taken it appears as a file. -The file is the size of the file system from which it was taken. +The size of the snapshot file is equal to the size of the +file system from which it was taken. It can be moved, renamed or deleted (which removes the snapshot). .Pp The group ownership of the file is set to From nobody Wed Mar 8 12:29:32 2023 X-Original-To: dev-commits-src-main@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 4PWs7x03tcz3wLC3; Wed, 8 Mar 2023 12:29:33 +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 4PWs7w6g48z4Jt7; Wed, 8 Mar 2023 12:29:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678278572; 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=yexFzuc1rjBFQrYUPUrpReEXmPO259xjl/KV7EYkqGU=; b=LRkuHvlv1Fr9CVSKXnIMl4DX1ZqqDQg6xX/33FgA/b3oVeYqnvQ7oAmVu3ESu0T5R7P5kL x07Q0b8I9RC3MLvYihne1JLF2tL24OUJdghRz8QI3Vin8eLG5rkmpWjx5OB1kcGZQhAwWj S+4FF4FFDawiudiR6OOnApmXvlN1b63xuw9j1pcuijC+LtwOqKxUFeeUevC0G9bHTzVzDc YZwUAhhLewoiWKuKLT1cN7nX1zaIXmGARkg1BPgkT4q7stciN6THkPGOn2WUDdlIqVxHpr ppVDXO9pLX5ulIHLueOMcsS0a1/HImtbB8h4y0lD7hjwEjAczr2cfWAzpkkCBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678278572; 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=yexFzuc1rjBFQrYUPUrpReEXmPO259xjl/KV7EYkqGU=; b=VGQUq0VBL4kpPxX5nKjFcipPz/2+V8BpPPCgjDOv9jMsjS11HRroozsgLOAjo+nMOcRoXT ppNa4VjfLPX4LVHzNzu45ntzP3+4i444DxIzwfhXQ0vpTq8WhoyfT7C/AA6xHFg2pVP3TH Ke7nKoBMsdP85U4Xfltyf3g1TArNf1Tv8J1jAAOnNgxQ/h4dYkwdD2CD3qxvA5x7Ii7a0n f6DbbRfXhE1HLVWuX4ECS3VxwXAyaWGuUuxRjY0J7FscZWumV/jXMj1qc2CnobysxybMUU srrzf9rAe1iOWwFfGTo1/riAZFqkQbF0md9vq2www6cwXb9is7eUFKcSWuuMew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678278572; a=rsa-sha256; cv=none; b=xwoGiQMqpiedjdWZZ+lCRBswY6nG/MN1o0RU5Tz2wwx3yWYol1Hl2c6H3q6kqEXxWVc4uD ad3QMpzIJK3T5ltdbSJbu8E6d7Vqe3j581KFeBdu0efH0I0CutLUuP6GsLUHu4s4mrhx67 1rEI6WmJuQMwIo9M9R9QIYUTHGozuM/5RhRJxuZYqPVEiC7VXYW8+MuX9IIp7AjpeS0rcA Cl4AzH9J62uTZzKJNFsvPlXJpnpAM/Wg3Vj8vqcthQJWmpuA9WGO3pfCvEKTX0LNCwwqtG nGFk6nkexUMMvGMICQb9UfqLiyWJnOXE1JOOuzqekPfxRffmWHWh02cCsk03ew== 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 4PWs7w5jZKzQXL; Wed, 8 Mar 2023 12:29:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328CTWNu051912; Wed, 8 Mar 2023 12:29:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328CTWms051911; Wed, 8 Mar 2023 12:29:32 GMT (envelope-from git) Date: Wed, 8 Mar 2023 12:29:32 GMT Message-Id: <202303081229.328CTWms051911@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 0679eb1f39aa - main - netlink: make snl(3) scratch buffer growable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0679eb1f39aa798da6c4601bb06bab4c175c4b18 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=0679eb1f39aa798da6c4601bb06bab4c175c4b18 commit 0679eb1f39aa798da6c4601bb06bab4c175c4b18 Author: Alexander V. Chernikov AuthorDate: 2023-03-08 11:17:43 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-03-08 12:28:55 +0000 netlink: make snl(3) scratch buffer growable Differential Revision: https://reviews.freebsd.org/D38946 MFC after: 2 weeks --- sys/netlink/netlink_snl.h | 90 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 69 insertions(+), 21 deletions(-) diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h index d88808ea6d3b..3c63e3f95419 100644 --- a/sys/netlink/netlink_snl.h +++ b/sys/netlink/netlink_snl.h @@ -70,11 +70,31 @@ #define NL_ARRAY_LEN(_a) (sizeof(_a) / sizeof((_a)[0])) struct linear_buffer { - char *base; /* Base allocated memory pointer */ - uint32_t offset; /* Currently used offset */ - uint32_t size; /* Total buffer size */ + char *base; /* Base allocated memory pointer */ + uint32_t offset; /* Currently used offset */ + uint32_t size; /* Total buffer size */ + struct linear_buffer *next; /* Buffer chaining */ }; +static inline struct linear_buffer * +lb_init(uint32_t size) +{ + struct linear_buffer *lb = calloc(1, size); + + if (lb != NULL) { + lb->base = (char *)(lb + 1); + lb->size = size - sizeof(*lb); + } + + return (lb); +} + +static inline void +lb_free(struct linear_buffer *lb) +{ + free(lb); +} + static inline char * lb_allocz(struct linear_buffer *lb, int len) { @@ -101,7 +121,7 @@ struct snl_state { size_t datalen; uint32_t seq; bool init_done; - struct linear_buffer lb; + struct linear_buffer *lb; }; #define SCRATCH_BUFFER_SIZE 1024 @@ -145,6 +165,45 @@ static const struct snl_hdr_parser _name = { \ } +static inline void * +snl_allocz(struct snl_state *ss, int len) +{ + void *data = lb_allocz(ss->lb, len); + + if (data == NULL) { + uint32_t size = ss->lb->size * 2; + + while (size < len + sizeof(struct linear_buffer)) + size *= 2; + + struct linear_buffer *lb = lb_init(size); + + if (lb != NULL) { + lb->next = ss->lb; + ss->lb = lb; + data = lb_allocz(ss->lb, len); + } + } + + return (data); +} + +static inline void +snl_clear_lb(struct snl_state *ss) +{ + struct linear_buffer *lb = ss->lb; + + lb_clear(lb); + lb = lb->next; + ss->lb->next = NULL; + /* Remove all linear bufs except the largest one */ + while (lb != NULL) { + struct linear_buffer *lb_next = lb->next; + lb_free(lb); + lb = lb_next; + } +} + static void snl_free(struct snl_state *ss) { @@ -152,8 +211,10 @@ snl_free(struct snl_state *ss) close(ss->fd); if (ss->buf != NULL) free(ss->buf); - if (ss->lb.base != NULL) - free(ss->lb.base); + if (ss->lb != NULL) { + snl_clear_lb(ss); + lb_free(ss->lb); + } } } @@ -181,9 +242,8 @@ snl_init(struct snl_state *ss, int netlink_family) return (false); } - ss->lb.size = SCRATCH_BUFFER_SIZE; - ss->lb.base = calloc(1, ss->lb.size); - if (ss->lb.base == NULL) { + ss->lb = lb_init(SCRATCH_BUFFER_SIZE); + if (ss->lb == NULL) { snl_free(ss); return (false); } @@ -191,18 +251,6 @@ snl_init(struct snl_state *ss, int netlink_family) return (true); } -static inline void * -snl_allocz(struct snl_state *ss, int len) -{ - return (lb_allocz(&ss->lb, len)); -} - -static inline void -snl_clear_lb(struct snl_state *ss) -{ - lb_clear(&ss->lb); -} - static inline bool snl_send(struct snl_state *ss, void *data, int sz) { From nobody Wed Mar 8 15:15:48 2023 X-Original-To: dev-commits-src-main@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 4PWwqm6SgLz3wWDL; Wed, 8 Mar 2023 15:15: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 4PWwqm61wjz3P9P; Wed, 8 Mar 2023 15:15:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678288548; 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=+5OaAptdIYBENP2I6VbVwROC0z43D3GfRAWpW2ZBaSY=; b=iQtcjeiAOJT0V5do0AyP3OC0925DYOEyiDFADpppDpvQJ8zUSl9j99Mg1uzvrK4mLnGsSr BHPqy2BAk54+a+J0Gc/v6fNKGR6nWJPTq4mi8n4ruqJnZZv+x33QdaOZZw2K2fjIj+KkcS peRdOjcgZb93drV4mYIOkTJKQvCuZmkKCy5ndnP7lvVB9a5jsXinSZo/a0jN2zeRN+PJFs VNx/S1DPcQXxVyrRYKD0nWNr1B8DOjD9qmqEUsyHX5l9eGmVezbtw2duji3wphObpDTezv sN45USShO06lsPiAAUvUjwaEeiSV5T1zfuQgTb6v/Sa/RlYAdchY7jziERU2XQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678288548; 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=+5OaAptdIYBENP2I6VbVwROC0z43D3GfRAWpW2ZBaSY=; b=uNpO2raRekENkFst7az9xQJH5POorhbJbQGjZxPuYnGWW106mfpXPK/XyxqS8EOhwpIpTv oR8KFXW3l7fuZqYYfhA/PbXHDpWpKrSTSdys3iDi8/kRd4KgUN/Phmkclc+T10UkMrYrMf Lth5ozFKwn8TOPj2AMU86kFLHu9+xvbx+iKG0zssNM0lonhd6fn8cxxnvvO8c16pEK+c69 yfKZrTGzECyQGjWiGI4xgQAob88pwJqr0AUvLoP6HXBeUATbYGUZznipTQVqUmXhktMBJB OgpVcNzLei5EZ5cJmLto8ldr36dBx4pJoHVVi8p03sRkLa8vIU+KgV20KU8e7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678288548; a=rsa-sha256; cv=none; b=US9Nbjo2BEWVJiNBIZ3agGF2yGKeoLe2hHyOXRlVRhRHebRMvWz3S9C6L87D2tpcgkc3hE KI0ohf0Vmi8gsCX+epGJBCS9EobujTasMCCrpOrOOvLIKLDschm9zUjhtnAo2T8h9bTW6j bDKpm+k94O6ViFRPSLhdn1SjI0jXGrL12SmNWkJrdqhAn87j+LwjZNvkUFQHHpe6D3XspF eRexNTbYo1/2xIIc+IYuyTW+QNrJwoLesl8fDqYrbx94PeNX7xLkR71JmOlUGYW/4mRBwg 48Q+V9W1sDz7NNu40g7Srm2zthPcXJLT9irSaJwDSm7RzLmjQ7dJ4X9HFRXmyw== 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 4PWwqm55mYzVf8; Wed, 8 Mar 2023 15:15:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328FFmRT031152; Wed, 8 Mar 2023 15:15:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328FFmMV031151; Wed, 8 Mar 2023 15:15:48 GMT (envelope-from git) Date: Wed, 8 Mar 2023 15:15:48 GMT Message-Id: <202303081515.328FFmMV031151@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: a472fd7a5737 - main - eqos: Mechanically convert to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a472fd7a5737192addae1022ad682581224920f0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=a472fd7a5737192addae1022ad682581224920f0 commit a472fd7a5737192addae1022ad682581224920f0 Author: Justin Hibbits AuthorDate: 2023-03-07 21:27:35 +0000 Commit: Justin Hibbits CommitDate: 2023-03-08 15:18:16 +0000 eqos: Mechanically convert to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38963 --- sys/dev/eqos/if_eqos.c | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/sys/dev/eqos/if_eqos.c b/sys/dev/eqos/if_eqos.c index 1eba702bb524..d6bd84097a13 100644 --- a/sys/dev/eqos/if_eqos.c +++ b/sys/dev/eqos/if_eqos.c @@ -222,9 +222,9 @@ eqos_miibus_statchg(device_t dev) } static void -eqos_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +eqos_media_status(if_t ifp, struct ifmediareq *ifmr) { - struct eqos_softc *sc = ifp->if_softc; + struct eqos_softc *sc = if_getsoftc(ifp); struct mii_data *mii = device_get_softc(sc->miibus); EQOS_LOCK(sc); @@ -235,9 +235,9 @@ eqos_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -eqos_media_change(struct ifnet *ifp) +eqos_media_change(if_t ifp) { - struct eqos_softc *sc = ifp->if_softc; + struct eqos_softc *sc = if_getsoftc(ifp); int error; EQOS_LOCK(sc); @@ -408,7 +408,7 @@ eqos_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void eqos_setup_rxfilter(struct eqos_softc *sc) { - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; uint32_t pfil, hash[2]; const uint8_t *eaddr; uint32_t val; @@ -422,10 +422,10 @@ eqos_setup_rxfilter(struct eqos_softc *sc) GMAC_MAC_PACKET_FILTER_PCF_MASK); hash[0] = hash[1] = 0xffffffff; - if ((ifp->if_flags & IFF_PROMISC)) { + if ((if_getflags(ifp) & IFF_PROMISC)) { pfil |= GMAC_MAC_PACKET_FILTER_PR | GMAC_MAC_PACKET_FILTER_PCF_ALL; - } else if ((ifp->if_flags & IFF_ALLMULTI)) { + } else if ((if_getflags(ifp) & IFF_ALLMULTI)) { pfil |= GMAC_MAC_PACKET_FILTER_PM; } else { hash[0] = hash[1] = 0; @@ -434,7 +434,7 @@ eqos_setup_rxfilter(struct eqos_softc *sc) } /* Write our unicast address */ - eaddr = IF_LLADDR(ifp); + eaddr = if_getlladdr(ifp); val = eaddr[4] | (eaddr[5] << 8); WR4(sc, GMAC_MAC_ADDRESS0_HIGH, val); val = eaddr[0] | (eaddr[1] << 8) | (eaddr[2] << 16) | @@ -489,7 +489,7 @@ static void eqos_init(void *if_softc) { struct eqos_softc *sc = if_softc; - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; struct mii_data *mii = device_get_softc(sc->miibus); uint32_t val; @@ -569,9 +569,9 @@ eqos_init(void *if_softc) } static void -eqos_start_locked(struct ifnet *ifp) +eqos_start_locked(if_t ifp) { - struct eqos_softc *sc = ifp->if_softc; + struct eqos_softc *sc = if_getsoftc(ifp); struct mbuf *m; int pending = 0; @@ -613,9 +613,9 @@ eqos_start_locked(struct ifnet *ifp) } static void -eqos_start(struct ifnet *ifp) +eqos_start(if_t ifp) { - struct eqos_softc *sc = ifp->if_softc; + struct eqos_softc *sc = if_getsoftc(ifp); EQOS_LOCK(sc); eqos_start_locked(ifp); @@ -625,7 +625,7 @@ eqos_start(struct ifnet *ifp) static void eqos_stop(struct eqos_softc *sc) { - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; uint32_t val; int retry; @@ -676,7 +676,7 @@ eqos_stop(struct eqos_softc *sc) static void eqos_rxintr(struct eqos_softc *sc) { - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; struct mbuf *m; uint32_t rdes3; int error, length; @@ -706,7 +706,7 @@ eqos_rxintr(struct eqos_softc *sc) m_adj(m, -ETHER_CRC_LEN); EQOS_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); EQOS_LOCK(sc); } @@ -729,7 +729,7 @@ eqos_rxintr(struct eqos_softc *sc) static void eqos_txintr(struct eqos_softc *sc) { - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; struct eqos_bufmap *bmap; uint32_t tdes3; @@ -865,9 +865,9 @@ eqos_intr(void *arg) } static int -eqos_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +eqos_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct eqos_softc *sc = ifp->if_softc; + struct eqos_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; struct mii_data *mii; int flags, mask; @@ -1105,7 +1105,7 @@ static int eqos_attach(device_t dev) { struct eqos_softc *sc = device_get_softc(dev); - struct ifnet *ifp; + if_t ifp; uint32_t ver; uint8_t eaddr[ETHER_ADDR_LEN]; u_int userver, snpsver; @@ -1178,7 +1178,7 @@ eqos_attach(device_t dev) /* Setup ethernet interface */ ifp = sc->ifp = if_alloc(IFT_ETHER); - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(sc->dev), device_get_unit(sc->dev)); if_setflags(sc->ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); if_setstartfn(ifp, eqos_start); @@ -1213,7 +1213,7 @@ eqos_detach(device_t dev) EQOS_LOCK(sc); eqos_stop(sc); EQOS_UNLOCK(sc); - sc->ifp->if_flags &= ~IFF_UP; + if_setflagbits(sc->ifp, 0, IFF_UP); ether_ifdetach(sc->ifp); } From nobody Wed Mar 8 15:15:49 2023 X-Original-To: dev-commits-src-main@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 4PWwqp0lGPz3wVwt; Wed, 8 Mar 2023 15:15: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 4PWwqn6zjjz3PCx; Wed, 8 Mar 2023 15:15:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678288550; 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=nEHzlyLXsB72Om/kl5OxJ2Kd+ofnG/x96mygUpWsKzs=; b=GKjkrH2GivovbZaJnR0/HueCz6XClV8ttFCz7d8Jfokev3NLkNwSeorV5I1eyUX9rmoLn6 ENnNjSxEKKh1HOr5f9EaS5e07z777TAQtJePVCjbk9QsuTZP9osOlEjd37apM7lJ05jhok 0bH/+HYcURCOP7JILlUajwFVIEM0xT+g1ZJb2nNK3MwY+03RYirpt2Gb8I/X8pNW8g4AGc osl9ijOpHZXfnpAyQNAkgaopdmh78U21ybx7+xUTSoPxqQpgp9430/baACkTcfdEqvdM6+ Mwo4hksw9xYPsPrazlzfWZ8osrF8SzPsFCioj6mvoJau97RFKlIE/YVWouke/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678288550; 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=nEHzlyLXsB72Om/kl5OxJ2Kd+ofnG/x96mygUpWsKzs=; b=HIwJEr+yP0TqIy7Gni97e0t4yA5yIpSlVi5sKP0TpEaoUAUY7RLdt6BXlBbTLglNgg7L2/ GiJYaFcxdnAJjlkH+MTCKPRe21WWbeEy1ZmZYVNwACS1P/Ypc/7C+uTGs/Wg8FdhGPULM4 Xprx5ej3GfjCOMooZcuE95ytAT2SwtTv0qyhs0UNwrDF2BP5fp6Tz+FwoXjuqMgqKsN7Su BR/vSBtv8v1WxfQvOlKWaZ6S8w4wb3mrjHKxaEFsE675qk9OBM420udkX1sb42pw0hPYvj xOai1IKth4om3fRO+y7IlaFhCJX0SMyIXNbP7C1Ag+iKaK9vW8Pm7YtoheTxMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678288550; a=rsa-sha256; cv=none; b=rCbsC3cJe8zCeJnVb1MFCklhZEm71sD1f+ELs6DN+5Fu/B9DwrGvfa+iHN8l8L7LAu5QQa Zfcc+yiWRzJqGC179CjE+/elpM2rqbm93oFOO0ydMFBXc7w/UktKjodPsLEjhGkHFMg0Eo 7LPbrfSw7Rci20Z/JEs7gEWcVrEC4gxPSfsf8yN5/ImNn/DQseKq2HHyqjH/IlcqoFpvWk hommPFhWr8miViKkr4vM7wqgcuUH6CcGDpDRamyUMZX3ADuo/rKmYFwr23t9/fhq1HlYzj GsDE9qD6ahgR2+hWULbGNCIGHpRZg3jVsNpmiai++zm4mwUYZpYRpCNqWPzsZw== 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 4PWwqn61t0zW1V; Wed, 8 Mar 2023 15:15:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328FFnfs031179; Wed, 8 Mar 2023 15:15:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328FFnW6031178; Wed, 8 Mar 2023 15:15:49 GMT (envelope-from git) Date: Wed, 8 Mar 2023 15:15:49 GMT Message-Id: <202303081515.328FFnW6031178@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: d936c29ec021 - main - dpaa2: Mechanically convert to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d936c29ec021ff6e86215fd6842c1d1370c34d15 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=d936c29ec021ff6e86215fd6842c1d1370c34d15 commit d936c29ec021ff6e86215fd6842c1d1370c34d15 Author: Justin Hibbits AuthorDate: 2023-03-07 16:45:19 +0000 Commit: Justin Hibbits CommitDate: 2023-03-08 15:18:16 +0000 dpaa2: Mechanically convert to IfAPI Reviewed By: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38959 --- sys/dev/dpaa2/dpaa2_ni.c | 103 +++++++++++++++++++++++------------------------ 1 file changed, 51 insertions(+), 52 deletions(-) diff --git a/sys/dev/dpaa2/dpaa2_ni.c b/sys/dev/dpaa2/dpaa2_ni.c index f62d6c1b6f29..c02ed99f1173 100644 --- a/sys/dev/dpaa2/dpaa2_ni.c +++ b/sys/dev/dpaa2/dpaa2_ni.c @@ -458,10 +458,10 @@ static int dpaa2_ni_chan_storage_next(struct dpaa2_ni_channel *, /* Network interface routines */ static void dpaa2_ni_init(void *); -static int dpaa2_ni_transmit(struct ifnet *, struct mbuf *); -static void dpaa2_ni_qflush(struct ifnet *); -static int dpaa2_ni_ioctl(struct ifnet *, u_long, caddr_t); -static int dpaa2_ni_update_mac_filters(struct ifnet *); +static int dpaa2_ni_transmit(if_t , struct mbuf *); +static void dpaa2_ni_qflush(if_t ); +static int dpaa2_ni_ioctl(if_t , u_long, caddr_t); +static int dpaa2_ni_update_mac_filters(if_t ); static u_int dpaa2_ni_add_maddr(void *, struct sockaddr_dl *, u_int); /* Interrupt handlers */ @@ -469,8 +469,8 @@ static void dpaa2_ni_intr(void *); /* MII handlers */ static void dpaa2_ni_miibus_statchg(device_t); -static int dpaa2_ni_media_change(struct ifnet *); -static void dpaa2_ni_media_status(struct ifnet *, struct ifmediareq *); +static int dpaa2_ni_media_change(if_t ); +static void dpaa2_ni_media_status(if_t , struct ifmediareq *); static void dpaa2_ni_media_tick(void *); /* DMA mapping callback */ @@ -515,7 +515,7 @@ dpaa2_ni_attach(device_t dev) struct dpaa2_devinfo *rcinfo = device_get_ivars(pdev); struct dpaa2_devinfo *dinfo = device_get_ivars(dev); struct dpaa2_devinfo *mcp_dinfo; - struct ifnet *ifp; + if_t ifp; char tq_name[32]; int error; @@ -583,15 +583,15 @@ dpaa2_ni_attach(device_t dev) sc->ifp = ifp; if_initname(ifp, DPAA2_NI_IFNAME, device_get_unit(sc->dev)); - ifp->if_softc = sc; - ifp->if_flags = IFF_SIMPLEX | IFF_MULTICAST | IFF_BROADCAST; - ifp->if_init = dpaa2_ni_init; - ifp->if_ioctl = dpaa2_ni_ioctl; - ifp->if_transmit = dpaa2_ni_transmit; - ifp->if_qflush = dpaa2_ni_qflush; + if_setsoftc(ifp, sc); + if_setflags(ifp, IFF_SIMPLEX | IFF_MULTICAST | IFF_BROADCAST); + if_setinitfn(ifp, dpaa2_ni_init); + if_setioctlfn(ifp, dpaa2_ni_ioctl); + if_settransmitfn(ifp, dpaa2_ni_transmit); + if_setqflushfn(ifp, dpaa2_ni_qflush); - ifp->if_capabilities = IFCAP_VLAN_MTU | IFCAP_HWCSUM | IFCAP_JUMBO_MTU; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilities(ifp, IFCAP_VLAN_MTU | IFCAP_HWCSUM | IFCAP_JUMBO_MTU); + if_setcapenable(ifp, if_getcapabilities(ifp)); /* Allocate a command to send to MC hardware. */ error = dpaa2_mcp_init_command(&sc->cmd, DPAA2_CMD_DEF); @@ -681,7 +681,7 @@ err_exit: static void dpaa2_ni_fixed_media_status(if_t ifp, struct ifmediareq* ifmr) { - struct dpaa2_ni_softc *sc = ifp->if_softc; + struct dpaa2_ni_softc *sc = if_getsoftc(ifp); DPNI_LOCK(sc); ifmr->ifm_count = 0; @@ -695,7 +695,7 @@ dpaa2_ni_fixed_media_status(if_t ifp, struct ifmediareq* ifmr) * certain things requiring a link event (e.g async DHCP client) from * devd do not happen. */ - if (ifp->if_link_state == LINK_STATE_UNKNOWN) { + if (if_getlinkstate(ifp) == LINK_STATE_UNKNOWN) { if_link_state_change(ifp, LINK_STATE_UP); } @@ -1620,8 +1620,8 @@ dpaa2_ni_setup_msi(struct dpaa2_ni_softc *sc) static int dpaa2_ni_setup_if_caps(struct dpaa2_ni_softc *sc) { - const bool en_rxcsum = sc->ifp->if_capenable & IFCAP_RXCSUM; - const bool en_txcsum = sc->ifp->if_capenable & IFCAP_TXCSUM; + const bool en_rxcsum = if_getcapenable(sc->ifp) & IFCAP_RXCSUM; + const bool en_txcsum = if_getcapenable(sc->ifp) & IFCAP_TXCSUM; device_t dev = sc->dev; device_t child = dev; int error; @@ -1667,8 +1667,8 @@ dpaa2_ni_setup_if_caps(struct dpaa2_ni_softc *sc) static int dpaa2_ni_setup_if_flags(struct dpaa2_ni_softc *sc) { - const bool en_promisc = sc->ifp->if_flags & IFF_PROMISC; - const bool en_allmulti = sc->ifp->if_flags & IFF_ALLMULTI; + const bool en_promisc = if_getflags(sc->ifp) & IFF_PROMISC; + const bool en_allmulti = if_getflags(sc->ifp) & IFF_ALLMULTI; device_t dev = sc->dev; device_t child = dev; int error; @@ -2134,7 +2134,7 @@ dpaa2_ni_set_mac_addr(device_t dev, struct dpaa2_cmd *cmd, uint16_t rc_token, { device_t child = dev; struct dpaa2_ni_softc *sc = device_get_softc(dev); - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; struct ether_addr rnd_mac_addr; uint8_t mac_addr[ETHER_ADDR_LEN]; uint8_t dpni_mac_addr[ETHER_ADDR_LEN]; @@ -2263,9 +2263,9 @@ dpaa2_ni_miibus_statchg(device_t dev) * @brief Callback function to process media change request. */ static int -dpaa2_ni_media_change(struct ifnet *ifp) +dpaa2_ni_media_change(if_t ifp) { - struct dpaa2_ni_softc *sc = ifp->if_softc; + struct dpaa2_ni_softc *sc = if_getsoftc(ifp); DPNI_LOCK(sc); if (sc->mii) { @@ -2284,9 +2284,9 @@ dpaa2_ni_media_change(struct ifnet *ifp) * @brief Callback function to process media status request. */ static void -dpaa2_ni_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +dpaa2_ni_media_status(if_t ifp, struct ifmediareq *ifmr) { - struct dpaa2_ni_softc *sc = ifp->if_softc; + struct dpaa2_ni_softc *sc = if_getsoftc(ifp); DPNI_LOCK(sc); if (sc->mii) { @@ -2323,13 +2323,13 @@ static void dpaa2_ni_init(void *arg) { struct dpaa2_ni_softc *sc = (struct dpaa2_ni_softc *) arg; - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; device_t dev = sc->dev; device_t child = dev; int error; DPNI_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { DPNI_UNLOCK(sc); return; } @@ -2346,8 +2346,7 @@ dpaa2_ni_init(void *arg) mii_mediachg(sc->mii); callout_reset(&sc->mii_callout, hz, dpaa2_ni_media_tick, sc); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, IFF_DRV_OACTIVE); DPNI_UNLOCK(sc); /* Force link-state update to initilize things. */ @@ -2357,16 +2356,16 @@ dpaa2_ni_init(void *arg) } static int -dpaa2_ni_transmit(struct ifnet *ifp, struct mbuf *m) +dpaa2_ni_transmit(if_t ifp, struct mbuf *m) { - struct dpaa2_ni_softc *sc = ifp->if_softc; + struct dpaa2_ni_softc *sc = if_getsoftc(ifp); struct dpaa2_ni_channel *chan; struct dpaa2_ni_tx_ring *tx; uint32_t fqid; boolean_t found = false; int chan_n = 0; - if (__predict_false(!(ifp->if_drv_flags & IFF_DRV_RUNNING))) + if (__predict_false(!(if_getdrvflags(ifp) & IFF_DRV_RUNNING))) return (0); if (M_HASHTYPE_GET(m) != M_HASHTYPE_NONE) { @@ -2395,16 +2394,16 @@ dpaa2_ni_transmit(struct ifnet *ifp, struct mbuf *m) } static void -dpaa2_ni_qflush(struct ifnet *ifp) +dpaa2_ni_qflush(if_t ifp) { /* TODO: Find a way to drain Tx queues in QBMan. */ if_qflush(ifp); } static int -dpaa2_ni_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +dpaa2_ni_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct dpaa2_ni_softc *sc = ifp->if_softc; + struct dpaa2_ni_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; device_t dev, child; uint32_t changed = 0; @@ -2420,7 +2419,7 @@ dpaa2_ni_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) DPNI_UNLOCK(sc); return (EINVAL); } - ifp->if_mtu = mtu; + if_setmtu(ifp, mtu); DPNI_UNLOCK(sc); /* Update maximum frame length. */ @@ -2433,12 +2432,12 @@ dpaa2_ni_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } break; case SIOCSIFCAP: - changed = ifp->if_capenable ^ ifr->ifr_reqcap; + changed = if_getcapenable(ifp) ^ ifr->ifr_reqcap; if (changed & IFCAP_HWCSUM) { if ((ifr->ifr_reqcap & changed) & IFCAP_HWCSUM) - ifp->if_capenable |= IFCAP_HWCSUM; + if_setcapenablebit(ifp, IFCAP_HWCSUM, 0); else - ifp->if_capenable &= ~IFCAP_HWCSUM; + if_setcapenablebit(ifp, 0, IFCAP_HWCSUM); } rc = dpaa2_ni_setup_if_caps(sc); if (rc) { @@ -2449,9 +2448,9 @@ dpaa2_ni_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case SIOCSIFFLAGS: DPNI_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - changed = ifp->if_flags ^ sc->if_flags; + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + changed = if_getflags(ifp) ^ sc->if_flags; if (changed & IFF_PROMISC || changed & IFF_ALLMULTI) { rc = dpaa2_ni_setup_if_flags(sc); @@ -2461,17 +2460,17 @@ dpaa2_ni_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) dpaa2_ni_init(sc); DPNI_LOCK(sc); } - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + } else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { /* dpni_if_stop(sc); */ } - sc->if_flags = ifp->if_flags; + sc->if_flags = if_getflags(ifp); DPNI_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: DPNI_LOCK(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { DPNI_UNLOCK(sc); rc = dpaa2_ni_update_mac_filters(ifp); if (rc) @@ -2497,9 +2496,9 @@ dpaa2_ni_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } static int -dpaa2_ni_update_mac_filters(struct ifnet *ifp) +dpaa2_ni_update_mac_filters(if_t ifp) { - struct dpaa2_ni_softc *sc = ifp->if_softc; + struct dpaa2_ni_softc *sc = if_getsoftc(ifp); struct dpaa2_ni_mcaddr_ctx ctx; device_t dev, child; int error; @@ -2528,7 +2527,7 @@ static u_int dpaa2_ni_add_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) { struct dpaa2_ni_mcaddr_ctx *ctx = arg; - struct dpaa2_ni_softc *sc = ctx->ifp->if_softc; + struct dpaa2_ni_softc *sc = if_getsoftc(ctx->ifp); device_t dev, child; dev = child = sc->dev; @@ -2546,7 +2545,7 @@ dpaa2_ni_add_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) /* Enable multicast promiscuous mode. */ DPNI_LOCK(sc); - ctx->ifp->if_flags |= IFF_ALLMULTI; + if_setflagbits(ctx->ifp, IFF_ALLMULTI, 0); sc->if_flags |= IFF_ALLMULTI; ctx->error = dpaa2_ni_setup_if_flags(sc); DPNI_UNLOCK(sc); @@ -2823,7 +2822,7 @@ dpaa2_ni_rx(struct dpaa2_ni_channel *chan, struct dpaa2_ni_fq *fq, struct dpaa2_ni_softc *sc = device_get_softc(chan->ni_dev); struct dpaa2_bp_softc *bpsc; struct dpaa2_buf *buf; - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; struct mbuf *m; device_t bp_dev; bus_addr_t paddr = (bus_addr_t) fd->addr; @@ -2888,7 +2887,7 @@ dpaa2_ni_rx(struct dpaa2_ni_channel *chan, struct dpaa2_ni_fq *fq, m->m_pkthdr.flowid = fq->fqid; M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); /* Keep the buffer to be recycled. */ chan->recycled[chan->recycled_n++] = paddr; From nobody Wed Mar 8 17:01:59 2023 X-Original-To: dev-commits-src-main@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 4PWzBH69L6z3wcwf; Wed, 8 Mar 2023 17:01:59 +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 4PWzBH5fY6z3pL6; Wed, 8 Mar 2023 17:01:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678294919; 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=HnTyN7p1Zik2O0a7krgdNOHZ3D62UaALJ+/6/MTAtbA=; b=ufrKCL7NS4zMKfoqf2jy60pp1GkKWRz5ZBibFtG1FEErRqk6WSYS76w1cPe6T/NmDI9w3Y 5T/vEzlN6LrWIO2eGf1NHUC2A4uRKHarfraPkrJ2orEeDZvUoGjGOzU++9GSNwn7kwBQMY /XnmzMBokGoHNYR4CWrhiSxUxlcQY1ZDWVcbwldTRrwQ6RIVFSObTgzljkd4jW/jbxknUk A8yEdrygPE/FHF5GMGxwchEsNX/hs9SxxJPXosCwDoTgh0JmJUmZRUNif1cuvFsoRZ4GpD Bovssya4AHLTOWSpTjz6ckMVAbyrsJaNpcKr3w5VzAqmKqLkDKuQ0Q7d6jCPgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678294919; 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=HnTyN7p1Zik2O0a7krgdNOHZ3D62UaALJ+/6/MTAtbA=; b=EO+Nu2AqQkcIX/MqLmSvAawnTBxmB78sodZuFzMA4ttCDiSRc6dLcb4Ig756rFRTUz7QA1 MdFwnOArQ0S6zc0Fj1pQwEWHXbfVJwNoP/tlCXDUCRlVcJr/4VFO8qeutIjF7i9/AAAx6l f5ccEyDc21Nh6mXNTF6J9+1CJ7EbqHK1LPPlG2Q1V2/PWnP/bjPLVApRcqCUl3MWp09Xg6 WQtqcQrh2i8cGvahyqklBRG8lnZ22I3rfQt34A7uEeuDE5oocyYydrPXop6RHSdnN43My/ kPSZnsfZa0kQioRuhtQxR+vpfx5a+EDxOrkLVdpVf1WV7GCPqiOR07KRsl+blA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678294919; a=rsa-sha256; cv=none; b=XYjlKxBDgviOxJqDa6phWxRRzvRmKNJYH1WiFq8JJqrg5eMzB98kxjDaWE5Ca+dxM5xIHn RgT1flM8A41EZIWcQW5Rl5CJCS0KjDNfCpPcNxX1BmJ9vvosxQopPJ1vzdJ22zgotOCdK/ A0c2tGzfXKRsFrLFBPkSZBSVnkblS7HNG6VUxpHK2kepl+uEjbZsal2paTrbfoQMTN3WVS HV0RyzWsmMXbuKElNQ68LIdWr6DKOi7fgzH7SGdopPdqObCKdIlrOKE8VyAH86pehVICe7 Bx/INRsWqWxFqfS2HJcrjVFYWxs4sgp3QtupNW4tt071+EV5Cu1DVyqTttxK0Q== 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 4PWzBH4bp6zYpt; Wed, 8 Mar 2023 17:01:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328H1xPU010375; Wed, 8 Mar 2023 17:01:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328H1xcR010374; Wed, 8 Mar 2023 17:01:59 GMT (envelope-from git) Date: Wed, 8 Mar 2023 17:01:59 GMT Message-Id: <202303081701.328H1xcR010374@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Stefan=20E=C3=9Fer?= Subject: git: 2d8cf575d577 - main - msdosfs: fix debug print format and parameter List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2d8cf575d5778781928699f9b7cfb448bd2f1f8e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=2d8cf575d5778781928699f9b7cfb448bd2f1f8e commit 2d8cf575d5778781928699f9b7cfb448bd2f1f8e Author: Stefan Eßer AuthorDate: 2023-03-08 16:58:00 +0000 Commit: Stefan Eßer CommitDate: 2023-03-08 16:58:00 +0000 msdosfs: fix debug print format and parameter Building with -DMSDOSFS_DEBUG failed due to a format mismatch and a variable that has been renamed but not updated in the printf() parameter list. MFC after: 1 month --- sys/fs/msdosfs/msdosfs_denode.c | 2 +- sys/fs/msdosfs/msdosfs_lookup.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/fs/msdosfs/msdosfs_denode.c b/sys/fs/msdosfs/msdosfs_denode.c index a82517acbdfe..7acd90c8e713 100644 --- a/sys/fs/msdosfs/msdosfs_denode.c +++ b/sys/fs/msdosfs/msdosfs_denode.c @@ -110,7 +110,7 @@ deget(struct msdosfsmount *pmp, u_long dirclust, u_long diroffset, #ifdef MSDOSFS_DEBUG printf("deget(pmp %p, dirclust %lu, diroffset %lx, flags %#x, " "depp %p)\n", - pmp, dirclust, diroffset, flags, depp); + pmp, dirclust, diroffset, lkflags, depp); #endif MPASS((lkflags & LK_TYPE_MASK) == LK_EXCLUSIVE); diff --git a/sys/fs/msdosfs/msdosfs_lookup.c b/sys/fs/msdosfs/msdosfs_lookup.c index c061a9169f25..d67a96ad11c5 100644 --- a/sys/fs/msdosfs/msdosfs_lookup.c +++ b/sys/fs/msdosfs/msdosfs_lookup.c @@ -335,7 +335,7 @@ msdosfs_lookup_ino(struct vnode *vdp, struct vnode **vpp, struct componentname continue; } #ifdef MSDOSFS_DEBUG - printf("msdosfs_lookup(): match blkoff %d, diroff %d\n", + printf("msdosfs_lookup(): match blkoff %lu, diroff %d\n", blkoff, diroff); #endif /* From nobody Wed Mar 8 20:01:44 2023 X-Original-To: dev-commits-src-main@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 4PX39j0XR4z3wpJn; Wed, 8 Mar 2023 20:01: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 4PX39j06v5z43FJ; Wed, 8 Mar 2023 20:01:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678305705; 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=6WdAXWdmFLlWsTzRXUTqF5h0hziv86FRH5exlHvOjQk=; b=SKn1mK2RS9GbwY4O6xnhxhnO2w12PvyoxXROHQSqKU/NyybHctsTeCi7o/jGvdkfJPQoJJ bMkdpyxlOm38yIINhBd0EWcZUf2FsT7fNKoq6NAl3J7B9e7iZdmnmhmi/2huON1ARrOo4k f7bzC7ElTer3cHukyuE/sKZpqdNR34eZdAJt4FmfwdO5lQQJot1yMb/myFRNWfOCx5zuWW wOV+rHFUv7hZzHyrNZEph5927K0Vn+AP4BLEIQ0rSNN9CFhg6tsLlyy1BlFWlecehi+1iq koASEfCNbtdSnKNqiMtEFNCevLJnuKBvQ+lNJ7WhGpMilEy5Vyltqi3mEGDC3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678305705; 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=6WdAXWdmFLlWsTzRXUTqF5h0hziv86FRH5exlHvOjQk=; b=DyTw5wylEaVk8ef8EnDxluAA520enHbUZKQVDmwqID5xL07fwiMDqcJnS20dn4qsiUc2VM aSujqFCmcsCXgmaVRQb+FgfjL0zIQJDOStOnAUXJcrb8X0p9vDxTnOEgYpXtOPQ6QoprAw 8xqCCHc6EaAYyH9thwvoF4MfueIopzULL0r/SVGPcwFYMDj6F3pMFyZSMATLM4YT7EW4Lr sv93+MrAh4fnw/sAZEtzgwUNEoht9P3ZbZVKmoflbomlmFMnFh6ewlflGHSkOdQqpANoZb /ppOp5mIns1hE/eYEFVZv4lnxYS2476xn5BR0geoYqlDpBAn4jY+fZWt4eaJkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678305705; a=rsa-sha256; cv=none; b=kjy+plvbYSJGSi5Gg5mPq+BWoqO6WDXmmcyDyL7OQyp334LRBojjkmJBzZROR9qp3Zoc+Q JES4tfGE1k5HBlXDXHCTxT2RtdTocs9OMKBs9SUcYX/48KVqG/5zrbblNG0qFIprXuhWWZ sReqxzWNr3/e6ngj38IqFb/+ahs/c5+B/VHSEOPcOgKSbLGsb7RsIPjoV0/JD3u1zi11QV fuXP1aNQLNx7E+4DuQ3tR5dO28E/KdKZJ9FAhelOOwHOQw26upj0hdxqa/2upriOex7XMb 9FmNofJfv3QNFo9Y4ZyMj3KJ0RqIzU+3Y0Gn6x7emNfsL9jh3cbF+0G8S4R27A== 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 4PX39h6JbxzfRV; Wed, 8 Mar 2023 20:01:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328K1iUF005870; Wed, 8 Mar 2023 20:01:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328K1iMn005869; Wed, 8 Mar 2023 20:01:44 GMT (envelope-from git) Date: Wed, 8 Mar 2023 20:01:44 GMT Message-Id: <202303082001.328K1iMn005869@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joerg Wunsch Subject: git: 175a584e501e - main - usb: dwc3: add List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: joerg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 175a584e501e19c90fd2241c505d1797de603a5c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by joerg: URL: https://cgit.FreeBSD.org/src/commit/?id=175a584e501e19c90fd2241c505d1797de603a5c commit 175a584e501e19c90fd2241c505d1797de603a5c Author: Joerg Wunsch AuthorDate: 2023-03-08 19:59:29 +0000 Commit: Joerg Wunsch CommitDate: 2023-03-08 19:59:29 +0000 usb: dwc3: add Commit 5e54bb1ea9e90 added USB_BUS_LOCK/USB_BUS_UNLOCK. They, in consequence, require mutexes so is needed. --- sys/dev/usb/controller/dwc3.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/usb/controller/dwc3.c b/sys/dev/usb/controller/dwc3.c index dc5c90df0d72..2f607e19248d 100644 --- a/sys/dev/usb/controller/dwc3.c +++ b/sys/dev/usb/controller/dwc3.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #ifdef FDT #include #endif From nobody Wed Mar 8 20:17:26 2023 X-Original-To: dev-commits-src-main@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 4PX3X14Tg6z3wqFJ; Wed, 8 Mar 2023 20:17:37 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PX3X13yT1z44Qn; Wed, 8 Mar 2023 20:17:37 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678306657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=m05oyDp8GeKsdp6mOO2Q31bZuXqjGOBAlGjyncv5pnw=; b=LbnRffSct62JH1GUfZQ8DPs+CXgQzi9WL+ci3HqptTmUruLm3fCBzZxPKyfvpe7dEKi10d Sj34JYiV+fUij4/5qGs3ocQWM2TvO4HZSmZcY7cCkpppbRFqZB0HOwIqRFIjFxoQMR9rMQ SFvvEgTFWqonJQjqd0kKIVKmYeVC4Z0p72awRyDLSmy6L1d7LFSFEWuPnZh1QX207yBCuO ulXWwyukq16fUlE1RkzScG5J1Kt3ZZ7CROIcFm4XVpFjsWCYVfqYggUigLB4TKePBK+GEN xRnrFXWvfrAFhpGeGn/+m9ns8CBJwIuPRHJGjofQCzFHmPzoUB67b2doEZd8Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678306657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=m05oyDp8GeKsdp6mOO2Q31bZuXqjGOBAlGjyncv5pnw=; b=pkCyEwW35YD8Re5tENKUuG2fvwKBeXViv3vpXzyXF0c9oJAhc2ce8Pn8gL94rGntCXLm2T PwwXWgKydjVdvj9rIEIlmSBcVWW1nNOzNLb7zpgQzcMj/hzd7GDjAVBRtQUVLAa2cR+P2Q u48u26H3CjfC6fOGF8/AIc8FN4e7ouRklAN/tOo+aIgMhlD4QI5LbxkqWyZM19R06dNjMl xoB31FWMUaIgUrUJWtfJTR8AkuAQ5+nRpoHYdnI896HeH6B2cZBpEoi+FFnpQB9xpC7cMx GH+SBl22l5zDkd+ZRbnZDvmxC/6XKs/RNpiP2pH37tH+OvhCMZIRnn3JWkqZiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678306657; a=rsa-sha256; cv=none; b=bbimUAvUMk+xBNuoGu6z8PyiIMTmwnSd6p7i8vvW/cvNPfHAUtJAy61lY9HNB0clbLm4Ue 3JyYOTD87fDJrPKo8PmZr05hkL5CxD+XjA3c+TmJrYF82ySL4HUwr9CYMadhYPG8UYFlA6 abjC3LHD1UpeVI6uzePp9A/YBW4y6JssQCjjRp7OoIIBScHoN/9M9AXZ7A5Qs5Z6LaI4AW BYTTkl3Yn+EntVoCUENYK/dKPSOZojxWRDubJQNYSBYbubSEFNbWG2OD0mowgl67KMlcV5 DpLK8XlqPIQ/hKxkNE+KmxqgcJ8vCQOVhB1DoC/eaH9zLQoR2Lcn7l3p8LnGWA== Received: from mail-qt1-f172.google.com (mail-qt1-f172.google.com [209.85.160.172]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PX3X12tzbz19hM; Wed, 8 Mar 2023 20:17:37 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qt1-f172.google.com with SMTP id r5so19500206qtp.4; Wed, 08 Mar 2023 12:17:37 -0800 (PST) X-Gm-Message-State: AO0yUKVRPQMA8MVZKOvMzGOyV1GXV3Nw+9rPAybvCNFcFTI/R4lvB7LS +YtDrc44PQRqXO9jQtukTEQByYrE8UYF9y07e/Q= X-Google-Smtp-Source: AK7set/IkvNQUEuNMOvJP6Oywb0lgbSiMzIOGKx1qQx1WAo2CLJWJ4XXKFKIg1bbrKH4EtUNaMmRQmFCsksCABv150M= X-Received: by 2002:ac8:40cb:0:b0:3bf:c33e:93a9 with SMTP id f11-20020ac840cb000000b003bfc33e93a9mr5553663qtm.1.1678306657067; Wed, 08 Mar 2023 12:17:37 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202303082001.328K1iMn005869@gitrepo.freebsd.org> In-Reply-To: <202303082001.328K1iMn005869@gitrepo.freebsd.org> From: Kyle Evans Date: Wed, 8 Mar 2023 14:17:26 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: 175a584e501e - main - usb: dwc3: add To: Joerg Wunsch Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N On Wed, Mar 8, 2023 at 2:01=E2=80=AFPM Joerg Wunsch wro= te: > > The branch main has been updated by joerg: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D175a584e501e19c90fd2241c50= 5d1797de603a5c > > commit 175a584e501e19c90fd2241c505d1797de603a5c > Author: Joerg Wunsch > AuthorDate: 2023-03-08 19:59:29 +0000 > Commit: Joerg Wunsch > CommitDate: 2023-03-08 19:59:29 +0000 > > usb: dwc3: add > > Commit 5e54bb1ea9e90 added USB_BUS_LOCK/USB_BUS_UNLOCK. They, in > consequence, require mutexes so is needed. Whoops, thanks! From nobody Wed Mar 8 20:24:08 2023 X-Original-To: dev-commits-src-main@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 4PX3gg4fnqz3wqWN; Wed, 8 Mar 2023 20:24:15 +0000 (UTC) (envelope-from j@uriah.heep.sax.de) Received: from uriah.heep.sax.de (uriah.heep.sax.de [IPv6:2a01:170:1047::9]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4PX3gg24KJz46BZ; Wed, 8 Mar 2023 20:24:15 +0000 (UTC) (envelope-from j@uriah.heep.sax.de) Authentication-Results: mx1.freebsd.org; none Received: by uriah.heep.sax.de (Postfix, from userid 107) id 965FE4994; Wed, 8 Mar 2023 21:24:08 +0100 (CET) Date: Wed, 8 Mar 2023 21:24:08 +0100 From: Joerg Wunsch To: Kyle Evans Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 175a584e501e - main - usb: dwc3: add Message-ID: Reply-To: Joerg Wunsch References: <202303082001.328K1iMn005869@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Phone: +49-351-2012 669 X-GPG-Fingerprint-1: 5E84 F980 C3CA FD4B B584 1070 F48C A81B 69A8 5873 X-GPG-Fingerprint-2: 5662 8323 218C 669F F578 705C 7E9E ADC3 030D 34EB X-Rspamd-Queue-Id: 4PX3gg24KJz46BZ X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:8820, ipnet:2a01:170:1000::/36, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N As Kyle Evans wrote: > > Commit 5e54bb1ea9e90 added USB_BUS_LOCK/USB_BUS_UNLOCK. They, in > > consequence, require mutexes so is needed. > > Whoops, thanks! You're welcome. I'm just trying to compile a current kernel on a RockPi 4 (arm64), and it broke. While the reason for this one was rather obvious, the second breakage though is more of a mystery to me: sys/dev/dpaa2/dpaa2_mc.c fails to compile since LA_UNLOCKED is undefined. This is aliased to MA_NOTOWNED in . Sure, I can get it to compile by adding to that file, but I don't see why it could ever compile at all. OTOH, wouldn't it make sense that itself included ? -- cheers, Joerg .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ Never trust an operating system you don't have sources for. ;-) From nobody Wed Mar 8 20:43:09 2023 X-Original-To: dev-commits-src-main@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 4PX45T3M9Mz3wrFM; Wed, 8 Mar 2023 20:43: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 4PX45T2sCJz47bC; Wed, 8 Mar 2023 20:43:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678308189; 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=mIpEpwxz1AQPbgG1PympQHKHaVrlr63jRFH2poj/9F4=; b=AqYIi3z4VQP1RrYCITXNpzEb9XxFIUuuJGDEUTR3ufpzZn6K9FKxEsM9pfdZLo0CvBtR6z hycWJUC1CAKv4UIeMDFzKXwS+DQJt1xQqCvuvFiWs05HBy7qgAJVG0HCWxCcFaN0fpJHzu YI6SrTjSCwE9a2lxA1nAGZQmQaSgc74d4St49RFFnBEeMjbX4gtar7TJCn0A10c/+nUJqp gCF1yFZ4EJ6udlFdxmUEttkKgTz7wDsqtiQBMLQPZ4o7KT//+KGKOSBtOmJwuGGDJe3vrB TripaszpA19L1ObKGjIRqXvT0TKxEVRKB5HJsjFuL5/TZX84cPx0UGW/cVlXjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678308189; 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=mIpEpwxz1AQPbgG1PympQHKHaVrlr63jRFH2poj/9F4=; b=lUuvbRkoeTNxxx3toQCQ22W5qpWqXUghIFESKTISUySXHsoT0nHeJ0kw/NStpcppwjaVj/ y2fGeVblTJFzPGYosL83Lye4meM3jfic+2KM7VlKkfDAbXsQSQNRQ2/ZBGQT8Ro2JBOXCb JZJ3joDlQoUwGQvoX6psEEwKcD26be5XD33csQtf8PGl/BtghGOaXIBWvgfGI/adqn2VB0 LBS3iMiwSp/EfteaHskHEnevAKsvzl9vSZZklP0fB18F0A2GLo0XgOmKd8G0UwBXXoJNU2 sZs4T5pcV9FJIIFjqTx7w1u/aYvBfOJg65wAZJ2+2crVeWL2+ToBrIhvNcWL8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678308189; a=rsa-sha256; cv=none; b=laiitAuwTRnXPJkyk/WtfeIPp5nKOavQaP9cuahJ2gIJqiAjGRniaO07zi7P4RFZS6keFS RRhSZ6kbV9IUsb9NqGYDm8G0ZpIjPrOPaeZx8mcvLPgAqyibRoFGN3QkiYVeYKVoYXJ9jn 6bfDNwzuylX955W+rviKKzkmlHC2pLUHgMZDjSqTVeHVUhv7zRUBXKnYy6bYpOWakXX1Ki D8gzpXN1+t5QQg1vyCtHAuqSdhCL5H1xh2ZuDSNolEFETDoOeO6nLp7UkTVoj56XsKJvVt q/GMscXAc8frOAzr6s0MJf17cfvVVRCwss/4De+d0xBHk4LmJ+Cis8grEph0uQ== 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 4PX45T1ss5zgFt; Wed, 8 Mar 2023 20:43:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328Kh90Y071922; Wed, 8 Mar 2023 20:43:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328Kh9fC071921; Wed, 8 Mar 2023 20:43:09 GMT (envelope-from git) Date: Wed, 8 Mar 2023 20:43:09 GMT Message-Id: <202303082043.328Kh9fC071921@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Motin Subject: git: 49ebbdb264fe - main - Add NAMESPACE MANAGEMENT into admin_opcode[]. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 49ebbdb264fe185a685dce846985b95f28320e3f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=49ebbdb264fe185a685dce846985b95f28320e3f commit 49ebbdb264fe185a685dce846985b95f28320e3f Author: Alexander Motin AuthorDate: 2023-03-08 20:42:31 +0000 Commit: Alexander Motin CommitDate: 2023-03-08 20:42:31 +0000 Add NAMESPACE MANAGEMENT into admin_opcode[]. MFC after: 1 week --- sys/dev/nvme/nvme_qpair.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index b81f4c4bc3c9..9cfe7c37879b 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -62,6 +62,7 @@ static struct nvme_opcode_string admin_opcode[] = { { NVME_OPC_SET_FEATURES, "SET FEATURES" }, { NVME_OPC_GET_FEATURES, "GET FEATURES" }, { NVME_OPC_ASYNC_EVENT_REQUEST, "ASYNC EVENT REQUEST" }, + { NVME_OPC_NAMESPACE_MANAGEMENT, "NAMESPACE MANAGEMENT" }, { NVME_OPC_FIRMWARE_ACTIVATE, "FIRMWARE ACTIVATE" }, { NVME_OPC_FIRMWARE_IMAGE_DOWNLOAD, "FIRMWARE IMAGE DOWNLOAD" }, { NVME_OPC_DEVICE_SELF_TEST, "DEVICE SELF-TEST" }, From nobody Wed Mar 8 20:45:17 2023 X-Original-To: dev-commits-src-main@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 4PX4894tFfz3wrL4; Wed, 8 Mar 2023 20:45:29 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PX48944G4z47Zv; Wed, 8 Mar 2023 20:45:29 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678308329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=U5BIyqT5L8GPah2ihFsE3OS3NVrS8F5pQgzoXBqbO5s=; b=lwCsDu+/+wTT5zDfgNLVhX2BoYTLl7il7Dj3sAl2ag/RrVa2UKVmljL1P9BHp+ioRez9f3 49rZBJ6xRKtYjikVBTNoywu2EIJcY5OBhYZlsEP9zZHRP32NB3Q72pV+klSs1eyw7IaUB5 1Gq9qBH4xrJHPht4tECTQJ5EV+Om3SNry/Iyyj5tGBGcK+Qjf124Rf7/WVCuNTuI/O64+P 7ouYIREvidT8GBgEyCD4a9VVyMRDE2PWKEtQ6c1t7/uPl0kcQMWkvLPYvQTpwwARBeE7I9 3xnPZZe97A4WE2eisLzPauJAD7OEpU69ek98iXJBCXoefZyRQ11xdkf4ZioPBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678308329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=U5BIyqT5L8GPah2ihFsE3OS3NVrS8F5pQgzoXBqbO5s=; b=j9pPMWZyj/4p57ZMhEmzQs0F0KPGN7lOZ+AMCnyMEKQwQ9wfmLl2hgKmCCXaadSgK8JyB3 7WnLNr0DTq2ZkoM67UMqblSlUODnXJscFvfqYRAHnnU/fenAhS7hSXeNNhooX3nOD/Xo/v 5Gs4b6gK2eZoQ81Cn6aukpjoQ6ujwYYIjd/xaYGpYxiro4vZ6V426lV2lUS4Ydz/M9dUqz gZdDbZ+LAc1G943ioGc1MsODQumg4sgGm8KaTojx4V5xCHR+5sd/70W7nsO3zI2GjfKK/o p0oeGqDaRGODIaw70KUf6tkboXJaLhXVqCNhOoQLfjQx/iGnIFHCD8p1Hoiszw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678308329; a=rsa-sha256; cv=none; b=IAVMG/n8UWdNXyCLRAK6JdgbAL5f9/3gpw2g7QbhMb0mJC1tBulu4UlWyLYqBcZRsp/osT alGaYzzDE5JfG48nJynpiyuXsPEmsrfKN9bjvkJExVGrjrm3pM880ytGUjmntO3FUoPTnn orUQZnH8DfhshdN/ebC0ULI3fsHt/7vK2QQadBiAY7qgqwImb0sZLf7eS+s7PSpc5PdTw/ vdErQh7Hg9CHkxYaXDyXXyaNq8PGBlV5UcUlYrg0VLyeSBT/fcAYLCOZiuTOwOeku2AoHn ck3XpF5sCPFE7j847PYj4NxCGZeM2AdGcEmYopHbryvGnmo942tk94KXedisqQ== Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PX48932NMz19Rl; Wed, 8 Mar 2023 20:45:29 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qt1-f169.google.com with SMTP id l18so19605818qtp.1; Wed, 08 Mar 2023 12:45:29 -0800 (PST) X-Gm-Message-State: AO0yUKWyDSolch+uduq+Yr+8mRlyWSPKqnp1hHzTa2jP+pua4+pbdzT1 lU+SopujNdryRccbj7vRiuZO2Xr9ushWMA6EtZ4= X-Google-Smtp-Source: AK7set9resPESEiobdui8/yVc5GD/LSxD/q+yJiG/Jb49+sLeQWxqBz64TOiuiKwtXux0N7drSZbKGbW8vG3VkDOtQE= X-Received: by 2002:aed:2785:0:b0:3bd:1a0b:8ac4 with SMTP id a5-20020aed2785000000b003bd1a0b8ac4mr5565052qtd.1.1678308328816; Wed, 08 Mar 2023 12:45:28 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202303082001.328K1iMn005869@gitrepo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Wed, 8 Mar 2023 14:45:17 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: 175a584e501e - main - usb: dwc3: add To: Joerg Wunsch Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N On Wed, Mar 8, 2023 at 2:24=E2=80=AFPM Joerg Wunsch w= rote: > > As Kyle Evans wrote: > > > > Commit 5e54bb1ea9e90 added USB_BUS_LOCK/USB_BUS_UNLOCK. They, in > > > consequence, require mutexes so is needed. > > > > Whoops, thanks! > > You're welcome. > > I'm just trying to compile a current kernel on a RockPi 4 (arm64), and > it broke. > > While the reason for this one was rather obvious, the second breakage > though is more of a mystery to me: > > sys/dev/dpaa2/dpaa2_mc.c fails to compile since LA_UNLOCKED is > undefined. This is aliased to MA_NOTOWNED in . > > Sure, I can get it to compile by adding to that file, but > I don't see why it could ever compile at all. OTOH, wouldn't it make > sense that itself included ? > It looks like it's getting it via pollution from ACPI headers or from sys/mutex.h -> sys/lock_profiling.h -> sys/lock.h with LOCK_PROFILING enabling. It would make sense, but we've only semi-recently started considering making headers self-contained. Thanks, Kyle Evans From nobody Wed Mar 8 20:50:08 2023 X-Original-To: dev-commits-src-main@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 4PX4FY1p16z3wrp8; Wed, 8 Mar 2023 20:50: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 4PX4FY17XMz49QQ; Wed, 8 Mar 2023 20:50:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678308609; 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=4FNU0G1MLQuXqxRlNm2qt+6OeS5rrC94jN+WPEtemog=; b=s53IpGGmXBiuqzUZiHZoy9bdm3eoN1kBjbjyEOyVVHXOVqabu2F+tk/wZrC63HLm2EBl6Q XlYTxxGCfqrERr/4zYUZ0tMUY1biWu3WwBOeY4WjxmIpH0/VAOltD/q9zl5iWAyOVLMdBf H9N3LWYGAjqUtasboopTnjw94zZ+Q+RkAUzktE0gXNK7EcN9HmJotc/qjWCGP+8pKk7N2E p7J9ZSXLKob0wLdAbGXB/W0+5ADTptLud3SJTgXaijypk/iDnPHz9tOLOphuqrdYDeZltt 44x3D5+iriCNEte9JPAqj2dfydr4s44RiVUMBiovKpzmlzkYO372IBoT+AvlJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678308609; 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=4FNU0G1MLQuXqxRlNm2qt+6OeS5rrC94jN+WPEtemog=; b=WOZuLDqoneI6VIWgQ1bIN/ft/VfpMndL1rKMRR2uwVVoDTtHDDRoiTVuM2r+SMlYxYMbxH BwtQNdv9tU/9JAQOK3z7YplO4ECODChK+bTibuydaKM1/vUGArdbnBVwQTlWrlvdwncaQ2 14YizXBplqdP+Kkmy2Lq6iUP8uN/50OOUuteqzmoSn4p7GV51yIkrSZ7dFiy6XAsFf+BkO Ds9g4dHbZeZtDp+p2NnOaMzWHsJTWmTIflMY+wg7vmaspTJKDTex/Bhu7UqbmlUxzUN6iZ gX0VPopVHLLg6TMkEiSmxrejaar1Ivv2AnhqcYv/HHVj66vRubxXVDZoTTKv6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678308609; a=rsa-sha256; cv=none; b=W+4KtS4KdQNTK5VWksI/7Q0Onm0MnCShOoRBSfL1bM1O4nItyE/FmikUr90CPThatqyXZE WTu1n3J6OVIBI9f+DIcJg5SgETW7M6bQus5ji1jKGPT57jIEWgvW2GM0jRnCc1DjNvkA7s hkl74xzgxleFCIrw/8eTGM7evHVMOJisiyou/frKNPGIRgy7CEa6dmYquYcZU3AXhlDSuN aNBFz5UI03AaF0Abpfn+f62Z8RZGiHWji8rw2uJdZcrasanvgs9TMnwx700zwx+544Bhlv pD3DtZdcmkTZtZRQ4lFZD5mFrjodPOnk7kvM7loy03uHJ6XnyzWB6NGT0OsLfA== 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 4PX4FY0CvRzg8B; Wed, 8 Mar 2023 20:50:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328Ko8P5076721; Wed, 8 Mar 2023 20:50:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328Ko8hR076713; Wed, 8 Mar 2023 20:50:08 GMT (envelope-from git) Date: Wed, 8 Mar 2023 20:50:08 GMT Message-Id: <202303082050.328Ko8hR076713@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joerg Wunsch Subject: git: b0484678d405 - main - dpaa2_mc.c: unbreak by adding List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: joerg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b0484678d405722f40278e93cdebe95829c71f3b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by joerg: URL: https://cgit.FreeBSD.org/src/commit/?id=b0484678d405722f40278e93cdebe95829c71f3b commit b0484678d405722f40278e93cdebe95829c71f3b Author: Joerg Wunsch AuthorDate: 2023-03-08 20:48:14 +0000 Commit: Joerg Wunsch CommitDate: 2023-03-08 20:50:01 +0000 dpaa2_mc.c: unbreak by adding When compiling current on arm64, it breaks since LA_UNLOCKED is undefined. This was in turn caused by the mutex code aliasing it as MA_NOTOWNED. Add so the macro is defined. --- sys/dev/dpaa2/dpaa2_mc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/dpaa2/dpaa2_mc.c b/sys/dev/dpaa2/dpaa2_mc.c index e895d2585a3a..d68707715c65 100644 --- a/sys/dev/dpaa2/dpaa2_mc.c +++ b/sys/dev/dpaa2/dpaa2_mc.c @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include From nobody Wed Mar 8 20:52:27 2023 X-Original-To: dev-commits-src-main@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 4PX4JM2zCpz3wsNH; Wed, 8 Mar 2023 20:52:35 +0000 (UTC) (envelope-from j@uriah.heep.sax.de) Received: from uriah.heep.sax.de (uriah.heep.sax.de [213.240.137.9]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4PX4JL5WXtz4B8W; Wed, 8 Mar 2023 20:52:34 +0000 (UTC) (envelope-from j@uriah.heep.sax.de) Authentication-Results: mx1.freebsd.org; none Received: by uriah.heep.sax.de (Postfix, from userid 107) id 35765499A; Wed, 8 Mar 2023 21:52:27 +0100 (CET) Date: Wed, 8 Mar 2023 21:52:27 +0100 From: Joerg Wunsch To: Kyle Evans Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 175a584e501e - main - usb: dwc3: add Message-ID: Reply-To: Joerg Wunsch References: <202303082001.328K1iMn005869@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Phone: +49-351-2012 669 X-GPG-Fingerprint-1: 5E84 F980 C3CA FD4B B584 1070 F48C A81B 69A8 5873 X-GPG-Fingerprint-2: 5662 8323 218C 669F F578 705C 7E9E ADC3 030D 34EB X-Rspamd-Queue-Id: 4PX4JL5WXtz4B8W X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:8820, ipnet:213.240.128.0/18, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N As Kyle Evans wrote: > > sys/dev/dpaa2/dpaa2_mc.c fails to compile since LA_UNLOCKED is > > undefined. This is aliased to MA_NOTOWNED in . > > > > Sure, I can get it to compile by adding to that file, but > > I don't see why it could ever compile at all. OTOH, wouldn't it make > > sense that itself included ? > > > > It looks like it's getting it via pollution from ACPI headers or from > sys/mutex.h -> sys/lock_profiling.h -> sys/lock.h with LOCK_PROFILING > enabling. > > It would make sense, but we've only semi-recently started considering > making headers self-contained. OK, thanks for the analysis. As adding to dpaa2_mc.c fixes the compile issue, and got me a complete kernel compilation on arm64, I just committed it that way. If someone sees a better way, it's also fine - as it is, it seemed the least intrusive option to me. (Just affects one file, while touching would touch the entire kernel.) -- cheers, Joerg .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ Never trust an operating system you don't have sources for. ;-) From nobody Wed Mar 8 21:01:24 2023 X-Original-To: dev-commits-src-main@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 4PX4VX5tYbz3wscF; Wed, 8 Mar 2023 21:01: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 4PX4VX5RnDz4CN1; Wed, 8 Mar 2023 21:01:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678309284; 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=a5mFHI1QzSareHj6tEh2D3Xcu+XZhTCsB/nh0x/GZYI=; b=Z+EiZ++/jrTBBQdJkvONOKm4HaE6mS2iUw2LNB9c9NTn5mpTBZhNFI2iPhJMmo8PUM32r+ c0QR1Y8dZdet6pelSqmF40nc7+WHjDBjPQs5APusMsbEJTeVX2imwjkUm9r0nnqWNnbGoC ATjBdfOdYDyrdvYFv4jphBrmhJdj66/FV6CrhJG/myMW2bZKyOnLVrN9hyT/Z5cieDyIBH 8RXwwtbrLkyaTDm2aZ07Rjw/mOFSTB6FgxPxAvY1KOv/e/o1RXbNJddO/+0S3Hl6jD1PyV QxFRDPubqedRPY/19iYQJHoGRnGqYIWaCqU4s39/FDgLKi1wSwX9uYpBSvBNAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678309284; 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=a5mFHI1QzSareHj6tEh2D3Xcu+XZhTCsB/nh0x/GZYI=; b=bNe2vyrJvSaHhJ2gTyUAMP6eWsnvB/63c4KxmjI/oFwdsW6UigbpAHY5CSN//cDiMZk4Ie /0EjaY0UBW4h7WGvmvGZ00AkySq+9UYLjxQCdfcjNaD1XD0PIRxnF8TUseE4On+YATs3LK dW6E0kcR9qwcTZutX5etzLPlbp5vzWWwS1AT3yIRhYxlwQk0NrdsTXuoK8VKIKTRFBdXLt sUNnu/eU3t3EkDQcES14VPrSdasy8dDiKo8ccGpPfuhnxw9Hy+oANMQztEMJ2k/peMr/QT nq7uwuRXvmgGVQpODzBSPYsbyZBdzweyJXQN7hC6dJljfoK59jw9scSlsqvvlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678309284; a=rsa-sha256; cv=none; b=QO5Zzzj5p0ENXi3vqJefoNKfYt2i3IcoqZ0vJ/s5R3zSUiH2I75T3yGZIbg2PCzVO1EZLY hIfhDHGAzHpVYZ7yxULoJbkP8mzJf6Y1Cr3KbuOaOxVsmKvm2OZCdmGWDzFDB2MfCFWfo3 70rlqGygJ0LJ6m1L3mbhahiA2YF3whpOpTQ+NWGvarFpIBObf1VGNaxzg25Cy3KJxINysS 95kZHnAdmwNkx0kr1F272Pd5rVAKxP5APgM2BTBG4wBobG7VLVgPf2ci2HIYPm3xRMYwfL d5IUDbq1fn9TqBGf9YhVHYcG71pDCVfaMfzTQABiwoCJDEROLsbKI5AopqX/ig== 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 4PX4VX4WhKzg95; Wed, 8 Mar 2023 21:01:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328L1O3Z099633; Wed, 8 Mar 2023 21:01:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328L1OfT099632; Wed, 8 Mar 2023 21:01:24 GMT (envelope-from git) Date: Wed, 8 Mar 2023 21:01:24 GMT Message-Id: <202303082101.328L1OfT099632@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 42afe48b1a36 - main - makeman: fix a whitespace bug List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 42afe48b1a365156aa33d72bddc36a1e36510cd8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=42afe48b1a365156aa33d72bddc36a1e36510cd8 commit 42afe48b1a365156aa33d72bddc36a1e36510cd8 Author: Brooks Davis AuthorDate: 2023-03-08 21:01:17 +0000 Commit: Brooks Davis CommitDate: 2023-03-08 21:01:17 +0000 makeman: fix a whitespace bug Reviewed by: emaste Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38988 --- tools/build/options/makeman | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build/options/makeman b/tools/build/options/makeman index 328b9faed881..73b696463b55 100755 --- a/tools/build/options/makeman +++ b/tools/build/options/makeman @@ -141,7 +141,7 @@ main() echo "building src.conf.5 man page from files in ${PWD}" >&2 fbsdid='$'FreeBSD'$' - generated='@'generated + generated='@'generated cat < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: fca7df1b28c8 - main - makeman: don't insert a $FreeBSD$ List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: fca7df1b28c8c1e63f1e10c75ae30700409a6c04 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=fca7df1b28c8c1e63f1e10c75ae30700409a6c04 commit fca7df1b28c8c1e63f1e10c75ae30700409a6c04 Author: Brooks Davis AuthorDate: 2023-03-08 21:01:17 +0000 Commit: Brooks Davis CommitDate: 2023-03-08 21:01:17 +0000 makeman: don't insert a $FreeBSD$ There's no need to insert this line which won't be expanded in git. Not generating it won't impact MFCs to 12 since the removal won't be MFCd. Reviewed by: emaste Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38989 --- tools/build/options/makeman | 2 -- 1 file changed, 2 deletions(-) diff --git a/tools/build/options/makeman b/tools/build/options/makeman index 73b696463b55..69dd3a46c201 100755 --- a/tools/build/options/makeman +++ b/tools/build/options/makeman @@ -140,11 +140,9 @@ main() { echo "building src.conf.5 man page from files in ${PWD}" >&2 - fbsdid='$'FreeBSD'$' generated='@'generated cat < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 397364e7df39 - main - src.conf.5: regen without $FreeBSD$ List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 397364e7df3978e66652d36c280c94f84c759b97 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=397364e7df3978e66652d36c280c94f84c759b97 commit 397364e7df3978e66652d36c280c94f84c759b97 Author: Brooks Davis AuthorDate: 2023-03-08 21:01:17 +0000 Commit: Brooks Davis CommitDate: 2023-03-08 21:01:17 +0000 src.conf.5: regen without $FreeBSD$ --- share/man/man5/src.conf.5 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 57503f83f307..8930c9a6238c 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,6 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.\" $FreeBSD$ -.Dd March 6, 2023 +.Dd March 8, 2023 .Dt SRC.CONF 5 .Os .Sh NAME From nobody Wed Mar 8 21:01:27 2023 X-Original-To: dev-commits-src-main@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 4PX4Vc42dfz3wsdP; Wed, 8 Mar 2023 21:01: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 4PX4Vc1N7Yz4Cp6; Wed, 8 Mar 2023 21:01:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678309288; 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=RNIBPjmMiAk11FJz4ggiARuKOOJoGm8Uz18mrw2xAnQ=; b=tgbjPBUcbg1sPkjNBvXIc5GTjwmKMFFkogFOBrThq5xy7RXxMcw9Pq0Mt4vyUc2A1dBK8s BPWrQzj4ntgUeZnSbw5DmtmyIx0cOIXog2NViO/Aa62b0B5IWtCBm04vnwQVmy7GZD4Jtg LkWytvGfGskwyzljK8YCAFnpO+GB3ElJExHUg6IEptwp5DTJTDBX/8mbPyPfZO6Vxqpy7a GWFB8Wfc7+ELpAhoQn0XXNdRT0XkR28DXeCPYoIS5+HXhbCpjFeyQgu1vPSZRsaOjE7dMP KvJQyp9EJ51sRakWOi/HW2VzkmMaBCqZt+NEjMt/Pk0fr6coDxq/EMpO1s4Gvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678309288; 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=RNIBPjmMiAk11FJz4ggiARuKOOJoGm8Uz18mrw2xAnQ=; b=afriFJSP7UWWjU4LdIDZ1NnPstv0R6JPMsl56QYVDC/9PpSAz+8Df/QxFX2R70JsvIGJBH RFMKIz+J3fyV7f/GI/y849EjEjHpEE1zKtZUflAN8hlw0sMOWBB0wgVb0XFYIqMk2qTWv0 Y10T8nLr0CZTwWrnlbLyZbiQR1C0eZFacO2vD/xHMzYa9v7AGvva4h4Lx572RUgbm8xgXe tiaFwvW0GE5x1d1TUryMJ63SX5j8Ifw2qbMDOxoh5qOg7b7m0DCWcrzk9woDnh0jVGxYNQ yF94H8X9y/s8+QyxWUhmY/lsY6AXSZOHoK4lcpNWsH5LcTF+o4SYqHy4P+MjLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678309288; a=rsa-sha256; cv=none; b=OkC19eDNaqN4jEcGz0hbzc0+FyFU7NdEAvDjy7FIrJ/Q1PW2J/qvVcKr3m3nRLzzIKl8SV Ie2kPqe906JmMDRd+BNynRyCzdzLORgtDTJME4iMKq8qVuRXy+PevB2gLyry4GGZLSZO9v MnhIRkkP9vBAjL+7/xc+pGlCDB9q2Mq3XikPJ6mxm30jAiw35ue/lYLQuLjJi9bcF5WUNy 585qyYHnKUj5PBIzPD/hpLd8CtwLixmjKD02DEMrgfbzhbu/ojjlt6NdVOONyNuL4jCYkz FedWYoJP11VlchNK5oUL9KkR3ibanpiDH+6tkMCWMDIwbDdkfW+G9AsK08AUtg== 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 4PX4Vc0KYyzgmW; Wed, 8 Mar 2023 21:01:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328L1R0n099697; Wed, 8 Mar 2023 21:01:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328L1ReM099696; Wed, 8 Mar 2023 21:01:27 GMT (envelope-from git) Date: Wed, 8 Mar 2023 21:01:27 GMT Message-Id: <202303082101.328L1ReM099696@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: cc36164a77f9 - main - makeman: replace -\|/ twiddles with dots List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: cc36164a77f9a2f40e0ac103c9c3154aacca6d29 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=cc36164a77f9a2f40e0ac103c9c3154aacca6d29 commit cc36164a77f9a2f40e0ac103c9c3154aacca6d29 Author: Brooks Davis AuthorDate: 2023-03-08 21:01:17 +0000 Commit: Brooks Davis CommitDate: 2023-03-08 21:01:17 +0000 makeman: replace -\|/ twiddles with dots It shows progress more clearly, there aren't so many that the output is excessive, and it's more friendly for things like Cirrus-CI's logging that print the backspaces as boxes. Reviewed by: emaste Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38990 --- tools/build/options/makeman | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/tools/build/options/makeman b/tools/build/options/makeman index 69dd3a46c201..5a8b207b228a 100755 --- a/tools/build/options/makeman +++ b/tools/build/options/makeman @@ -317,8 +317,9 @@ EOF ;; esac - twiddle >&2 + printf "." >&2 done + printf "\n" >&2 cat < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: eee4264c9fcb - main - Make more self-contained. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eee4264c9fcb24e53162c86b086832492892d1f3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=eee4264c9fcb24e53162c86b086832492892d1f3 commit eee4264c9fcb24e53162c86b086832492892d1f3 Author: John Baldwin AuthorDate: 2023-03-08 23:05:10 +0000 Commit: John Baldwin CommitDate: 2023-03-08 23:05:10 +0000 Make more self-contained. Replace with . Other includes need types defined in and includes already. While here, move the headers below the headers. Reviewed by: imp, kib Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38841 --- sys/sys/systm.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/sys/systm.h b/sys/sys/systm.h index 7664a4506b0c..333a72ba9e30 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -40,13 +40,13 @@ #ifndef _SYS_SYSTM_H_ #define _SYS_SYSTM_H_ -#include -#include -#include +#include #include #include #include #include /* for people using printf mainly */ +#include +#include __NULLABILITY_PRAGMA_PUSH From nobody Wed Mar 8 23:12:39 2023 X-Original-To: dev-commits-src-main@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 4PX7Pz4F3xz3x1Cn; Wed, 8 Mar 2023 23:12: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 4PX7Pz3jjqz3CDN; Wed, 8 Mar 2023 23:12:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678317159; 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=DAoQUXnGSTI4BIBvMpNKpA1+7gwUfIMtG0UsVqI8CRU=; b=ua0XgPYOo1niPSTb8ZC+P5LVCMaiNLcO2WX9J7Dvu2+kgvtxVNOeGRMaYxSrIgQqQfBHks Pec7j+1MKkLXqKyJ156rQiWVRhyI09Xi3qZm0+vIIeBQPON51+cRDDtorZz7fWLjZ2TSsl S2MX/DSA2/gJgEm1TBZ6Ycr2fBMWZY5xL0jrn6zvCzK+W94wrxnOBw7KA/ztpHngLqNLDI QpAqt9eNvwuL/s0MXEu7JyljNz2y53w1DEi6KmHreN6SJQSk+38dPtzvwDJtNcY2tV6hMZ 9ZnYCogdrAjzvWjIlbO4IMIkKPDNIgocLuv1z5RHWtrPN95CMoDWjMR3dnCEXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678317159; 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=DAoQUXnGSTI4BIBvMpNKpA1+7gwUfIMtG0UsVqI8CRU=; b=nA9rYcCYjfryCnl5beAUucFCP3fdysRXFHfQgMkgsb+3FHa0908zGuexubANvWDvts+H9g qPiefQEcMRvtiGfPHNraT8nBAkJB5nE1Y2LxaptcLupfbP4r+6uod9/RmQlrczMXlO8/Ia glsL2JQ+gpi9+8EJVCR9NOzs9aRYS9ONHd6DSmsNWGUWYecMK1q5VkSMQEC6c+NAXN9EK4 MAAgksOMTgK0xY4e1QPckR0MH+InDS22fw0qzDJtuDyD/yokcpB4ljmIpMBvYWDY9/2v2g TGQ1uHW+ZmKLYWjG4E7xqMrT4LWmzOEbm5sOo3PtA9g2Bfqhogw4Mc1vL/+ajw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678317159; a=rsa-sha256; cv=none; b=NdcwY5YvoyaGde09upsVE3R3FNsX/CW60DmEhvB1TGVGGHIrgB95nSIbNBfTlb+5uK/Qeb OZph4xgK4W91tYM4DznvbAIHif59QvGTqNO22eV7mArzsQfCB7zPtijE7RPKpPlg3BG65s mv3djxVcrdYh6lSSbsAA2+9ZUGoHom303M3fOsmeK/057uTbXB+ukcPcRY6qBDgSDKiY3R 5+wtGiPa+0FsTWBFuWqNOodHPyfrtlePMzJpRyY8tU7DT0Bb7rfgIVC7aHCTMfbtXJAJ7C N65Y2VBJL/IR6+gQr/BxyFT407o7v91v0TVyXPcjBVmcbA86zYUOnau/mU1M+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 4PX7Pz2j9Szkvw; Wed, 8 Mar 2023 23:12:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328NCdCt018894; Wed, 8 Mar 2023 23:12:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328NCdUt018893; Wed, 8 Mar 2023 23:12:39 GMT (envelope-from git) Date: Wed, 8 Mar 2023 23:12:39 GMT Message-Id: <202303082312.328NCdUt018893@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 6dcd6d199f86 - main - arch.7: Drop most mentions of MIPS. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6dcd6d199f86e0701ee0ab1dff955745a56d1526 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6dcd6d199f86e0701ee0ab1dff955745a56d1526 commit 6dcd6d199f86e0701ee0ab1dff955745a56d1526 Author: John Baldwin AuthorDate: 2023-03-08 23:06:26 +0000 Commit: John Baldwin CommitDate: 2023-03-08 23:06:47 +0000 arch.7: Drop most mentions of MIPS. Only keep MIPS in the list of deprecated architectures. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38970 --- share/man/man7/arch.7 | 61 +++------------------------------------------------ 1 file changed, 3 insertions(+), 58 deletions(-) diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7 index 493f197673f0..e8d43d185a08 100644 --- a/share/man/man7/arch.7 +++ b/share/man/man7/arch.7 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 15, 2022 +.Dd March 8, 2023 .Dt ARCH 7 .Os .Sh NAME @@ -158,7 +158,6 @@ Examples are: .It Sy LP64 Ta Sy ILP32 counterpart .It Dv amd64 Ta Dv i386 .It Dv powerpc64 Ta Dv powerpc -.It Dv mips64* Ta Dv mips* .It Dv aarch64 Ta Dv armv6/armv7 .El .Pp @@ -201,15 +200,6 @@ Machine-dependent type sizes: .It armv6 Ta 4 Ta 8 Ta 8 .It armv7 Ta 4 Ta 8 Ta 8 .It i386 Ta 4 Ta 12 Ta 4 -.It mips Ta 4 Ta 8 Ta 8 -.It mipsel Ta 4 Ta 8 Ta 8 -.It mipselhf Ta 4 Ta 8 Ta 8 -.It mipshf Ta 4 Ta 8 Ta 8 -.It mipsn32 Ta 4 Ta 8 Ta 8 -.It mips64 Ta 8 Ta 8 Ta 8 -.It mips64el Ta 8 Ta 8 Ta 8 -.It mips64elhf Ta 8 Ta 8 Ta 8 -.It mips64hf Ta 8 Ta 8 Ta 8 .It powerpc Ta 4 Ta 8 Ta 8 .It powerpcspe Ta 4 Ta 8 Ta 8 .It powerpc64 Ta 8 Ta 8 Ta 8 @@ -228,15 +218,6 @@ is 8 bytes on all supported architectures except i386. .It armv6 Ta little Ta unsigned .It armv7 Ta little Ta unsigned .It i386 Ta little Ta signed -.It mips Ta big Ta signed -.It mipsel Ta little Ta signed -.It mipselhf Ta little Ta signed -.It mipshf Ta big Ta signed -.It mipsn32 Ta big Ta signed -.It mips64 Ta big Ta signed -.It mips64el Ta little Ta signed -.It mips64elhf Ta little Ta signed -.It mips64hf Ta big Ta signed .It powerpc Ta big Ta unsigned .It powerpcspe Ta big Ta unsigned .It powerpc64 Ta big Ta unsigned @@ -252,15 +233,6 @@ is 8 bytes on all supported architectures except i386. .It armv6 Ta 4K, 1M .It armv7 Ta 4K, 1M .It i386 Ta 4K, 2M (PAE), 4M -.It mips Ta 4K -.It mipsel Ta 4K -.It mipselhf Ta 4K -.It mipshf Ta 4K -.It mipsn32 Ta 4K -.It mips64 Ta 4K -.It mips64el Ta 4K -.It mips64elhf Ta 4K -.It mips64hf Ta 4K .It powerpc Ta 4K .It powerpcspe Ta 4K .It powerpc64 Ta 4K @@ -276,15 +248,6 @@ is 8 bytes on all supported architectures except i386. .It armv6 Ta hard Ta hard, double precision .It armv7 Ta hard Ta hard, double precision .It i386 Ta hard Ta hard, 80 bit -.It mips Ta soft Ta identical to double -.It mipsel Ta soft Ta identical to double -.It mipselhf Ta hard Ta identical to double -.It mipshf Ta hard Ta identical to double -.It mipsn32 Ta soft Ta identical to double -.It mips64 Ta soft Ta identical to double -.It mips64el Ta soft Ta identical to double -.It mips64elhf Ta hard Ta identical to double -.It mips64hf Ta hard Ta identical to double .It powerpc Ta hard Ta hard, double precision .It powerpcspe Ta hard Ta hard, double precision .It powerpc64 Ta hard Ta hard, double precision @@ -321,7 +284,6 @@ or similar things like boot sequences. .It amd64 Ta amd64 Ta amd64 .It arm Ta arm Ta armv6, armv7 .It i386 Ta i386 Ta i386 -.It mips Ta mips Ta mips, mipsel, mips64, mips64el, mipshf, mipselhf, mips64elhf, mipsn32 .It powerpc Ta powerpc Ta powerpc, powerpcspe, powerpc64, powerpc64le .It riscv Ta riscv Ta riscv64, riscv64sf .El @@ -355,15 +317,6 @@ Architecture-specific macros: .It armv6 Ta Dv __arm__ , Dv __ARM_ARCH >= 6 .It armv7 Ta Dv __arm__ , Dv __ARM_ARCH >= 7 .It i386 Ta Dv __i386__ -.It mips Ta Dv __mips__ , Dv __MIPSEB__ , Dv __mips_o32 -.It mipsel Ta Dv __mips__ , Dv __mips_o32 -.It mipselhf Ta Dv __mips__ , Dv __mips_o32 -.It mipshf Ta Dv __mips__ , Dv __MIPSEB__ , Dv __mips_o32 -.It mipsn32 Ta Dv __mips__ , Dv __MIPSEB__ , Dv __mips_n32 -.It mips64 Ta Dv __mips__ , Dv __MIPSEB__ , Dv __mips_n64 -.It mips64el Ta Dv __mips__ , Dv __mips_n64 -.It mips64elhf Ta Dv __mips__ , Dv __mips_n64 -.It mips64hf Ta Dv __mips__ , Dv __MIPSEB__ , Dv __mips_n64 .It powerpc Ta Dv __powerpc__ .It powerpcspe Ta Dv __powerpc__ , Dv __SPE__ .It powerpc64 Ta Dv __powerpc__ , Dv __powerpc64__ @@ -431,17 +384,13 @@ It may also encode a variation in the size of the integer or pointer. It may also encode a ISA revision. It may also encode hard versus soft floating point ABI and usage. It may also encode a variant ABI when the other factors do not -uniquely define the ABI (e.g., MIPS' n32 ABI). +uniquely define the ABI. It, along with .Dv MACHINE , defines the ABI used by the system. -For example, the MIPS CPU processor family supports 9 different -combinations encoding pointer size, endian and hard versus soft float (for -8 combinations) as well as N32 (which only ever had one variation of -all these). Generally, the plain CPU name specifies the most common (or at least first) variant of the CPU. -This is why mips and mips64 imply 'big endian' while 'armv6' and 'armv7' +This is why powerpc and powerpc64 imply 'big endian' while 'armv6' and 'armv7' imply little endian. If we ever were to support the so-called x32 ABI (using 32-bit pointers on the amd64 architecture), it would most likely be encoded @@ -455,10 +404,6 @@ Represents the source location for a given .Dv MACHINE_ARCH . It is generally the common prefix for all the MACHINE_ARCH that share the same implementation, though 'riscv' breaks this rule. -For example, -.Dv MACHINE_CPUARCH -is defined to be mips for all the flavors of mips that we support -since we support them all with a shared set of sources. While amd64 and i386 are closely related, MACHINE_CPUARCH is not x86 for them. The From nobody Wed Mar 8 23:12:40 2023 X-Original-To: dev-commits-src-main@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 4PX7Q058Skz3x1bK; Wed, 8 Mar 2023 23:12: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 4PX7Q04gdwz3C4Y; Wed, 8 Mar 2023 23:12:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678317160; 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=FrPr0dp+rg541YKkcsBlCRO4Rocyiiz6V6iUJxkXldc=; b=Ug0hUXu+mNhcoZEy1QxGPpypcrrO2SwCC3wegutnCspF4h/foIZnDnBlU304dZw0tUPp1B RdWbyb7WxpnEPyPxkPa9gFONd5kMKHQYfZH8wr0j8PAIMApDA8akNCjBIfeGmSkdN0GGQN gIkfBu6C2ViuyZhM/gdVq/3QJZFUjqzNmm68EvMsppsa2mNx+oaufLaOpTQHSKR6EMLzr3 LmJphq0PW8zjSF7nJtC+ioogczQ7r2eP8+BZdX1Yi8e9b7oaKnpQnqVVVODyBQK74xAjRw 5MSmW/S7a8Ngb09i1HzMljPBXY417Kjea0Zio0ucy44J0AS0ePJc8IRTvlz5/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678317160; 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=FrPr0dp+rg541YKkcsBlCRO4Rocyiiz6V6iUJxkXldc=; b=ICcJl4f0L3InioNYD6TrpWhqqGjkU29Tde6WdQ18+UdrvylSN9clTbQfkTxR0vnEJXmeTx k9atIKTZz9N5nzJVdn3U+eL7ktOGUpoH76iNNnAv6+u9fp68pzzX6JNXBfaFs0ZviKF7h/ dh7YSTxyN/ubvUEXNWNcRoIgsYTPj6Gag97YOIfqDUS199KMMimh9+OM7Q3Hw5cO3R2BeX XVai8VU1ZaoVtUadN1uYEaKz1LnVr/7uTZG5y0wYFS1Ff23Td0bID0nuiK4MkScXGlm7Qx 4Amhjov9el4p0KqoX4p/jZ2En4ASx4X+E/EvAMqxgMzsSrxQz7zQJwXnlcCdgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678317160; a=rsa-sha256; cv=none; b=DzCBWeZRr0/i6Tq+Hzxg2DkQsvNbsS3gyMz+Pw3ia1r9mid3t08aOQ6fom+ST7pSio8J9M 51hL3bJ+jywCSbBfjGWRLI5bGXgKx6swYTijzGFmrhB8YN8tT+6IbyuppyvbIXAaqxra1v hmFMo6WzwyrW9xtTWvzJapL28XpAEJuVAxsnvD3oKLgC3a/UR4FpQxBcCMUvnMxFA6E7js rQf7oD+xHM2ElRkm9HSKXCw0inPd1e+yeeIJ0JK4XsIy364AU0zBShWfxq6SAwiXjbrO/U uE95MCBp3rgLWK0S/FTNJPblHNYO1sfpmXcxr7ZRDmJmHo3VczldCS2PJJz/cw== 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 4PX7Q03d1Hzl2k; Wed, 8 Mar 2023 23:12:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328NCexJ018919; Wed, 8 Mar 2023 23:12:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328NCeQg018918; Wed, 8 Mar 2023 23:12:40 GMT (envelope-from git) Date: Wed, 8 Mar 2023 23:12:40 GMT Message-Id: <202303082312.328NCeQg018918@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: f4ea84cea23f - main - krping: Use get_cyclecount for get_cycles. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f4ea84cea23fa8e6094f629cc3e4b1c39bd7bf34 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f4ea84cea23fa8e6094f629cc3e4b1c39bd7bf34 commit f4ea84cea23fa8e6094f629cc3e4b1c39bd7bf34 Author: John Baldwin AuthorDate: 2023-03-08 23:06:59 +0000 Commit: John Baldwin CommitDate: 2023-03-08 23:06:59 +0000 krping: Use get_cyclecount for get_cycles. This avoids having to duplicate identical MD code. Reviewed by: np, emaste Differential Revision: https://reviews.freebsd.org/D38971 --- sys/contrib/rdma/krping/krping.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/sys/contrib/rdma/krping/krping.c b/sys/contrib/rdma/krping/krping.c index 98f129597464..fe8ff9ed9243 100644 --- a/sys/contrib/rdma/krping/krping.c +++ b/sys/contrib/rdma/krping/krping.c @@ -69,13 +69,7 @@ MODULE_DEPEND(krping, linuxkpi, 1, 1, 1); static __inline uint64_t get_cycles(void) { -#if defined(__amd64__) || defined(__i386__) - uint32_t low, high; - __asm __volatile("rdtsc" : "=a" (low), "=d" (high)); - return (low | ((u_int64_t)high << 32)); -#elif defined(__powerpc64__) - return __builtin_readcyclecounter(); -#endif + return (get_cyclecount()); } typedef uint64_t cycles_t; From nobody Wed Mar 8 23:12:41 2023 X-Original-To: dev-commits-src-main@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 4PX7Q16Gpdz3x1fm; Wed, 8 Mar 2023 23:12: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 4PX7Q15KcYz3C56; Wed, 8 Mar 2023 23:12:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678317161; 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=H1bjD0A2ti8DP2BUvR/16+oBjST1AoeQMeNe+H3SHRU=; b=GDhLwLFkuRo5gufYcoh7pWFrLsxeevxNkkpLzZIvnUaLAsS+9cC578xtqamp2tCFFCjHC8 fAE1gESe5TqkNF4fBev2RETipYY3ewGUC0pCJhSzTouZ1rplqOo+lpajPUBM8ve+lye/09 WRcT6OFLEV9fQ1+oLxd8aqta/AqR55uXYICylBIzJr92sP2YVoVrX7Fytz58YgRz00tShR tsNuQBRw4Fsr6+kKmpWL4xyNrpEXhI53IomuNvFnkHRuqc8hw37RgNqUvxLbMvaX1M+Hm6 ZUzVmiRU+JxPp30yH2+2TqLOVdPKWDx/y/0S2f8Ac1w0XrGkEEyWi1TqERtmLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678317161; 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=H1bjD0A2ti8DP2BUvR/16+oBjST1AoeQMeNe+H3SHRU=; b=W7wLxuxvi3988h5mshqxZ9CzeeyUUNWLxuY7M7+KOUE60iLR+OCLbhCbsehwIKxd2tI7CB ACiSlF+iP7jeoPsrvgEg0LDUQaAZvmFD+z9PgpkjXvLVYbbjAoz0J11/T3VZRekf/elCYv RJmLa7SfasGxA6JLVGTEBlerMKARJBYYXnkzkQ8dkUxzdQkYfezWHMUxTOxxrhN59eFld6 zlKBtTpkJ8B9WjK+uBaXB06Vbq424WuhtRH9FRUnFdheVVBD4Er0xV+AymxXOu6QyXApke NclIxf1t4dJLQoSOwnlNm5MVJOSjS5uq2LMletwS/ij1fi5GViKH+N3W1JeBlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678317161; a=rsa-sha256; cv=none; b=sEhDlzqHioalqAklFK1+dG/IXW6CU1hJNRG3uilr2jZ+t8rLARcflorK/l4z+Q7uWWmOwE iE1R5uHRp/unCVlNADJxVwm+z6sr1VOyMOzSkxLj3Ci3T/yQfh1PuDeKM2SNbZLunAIJM0 IhO81Jt0ZMgdfXCH4GOPcPktrYqNdPREV49Gpc66dAlsKjvKbTSq7XyCHfzgjNz9AoSqld BaA+uTSFdAICY7KNYaIL769RKxupbpVP3hjsFwSUJ32Yzcg/wXmTh14r/JrbJKHwsvec07 mbT5CJvdAHKjVzNpjdEdSqedjXa/ScUB8S8+Y1au8+S9VJSUtTort/R9T34Zsg== 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 4PX7Q14DCGzl4L; Wed, 8 Mar 2023 23:12:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328NCfAj018938; Wed, 8 Mar 2023 23:12:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328NCf70018937; Wed, 8 Mar 2023 23:12:41 GMT (envelope-from git) Date: Wed, 8 Mar 2023 23:12:41 GMT Message-Id: <202303082312.328NCf70018937@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: fe0f6950391c - main - Enable OFED on all platforms except for 32-bit arm. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fe0f6950391cf10bbfcd1672d8e111a41063a4c8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=fe0f6950391cf10bbfcd1672d8e111a41063a4c8 commit fe0f6950391cf10bbfcd1672d8e111a41063a4c8 Author: John Baldwin AuthorDate: 2023-03-08 23:07:11 +0000 Commit: John Baldwin CommitDate: 2023-03-08 23:12:00 +0000 Enable OFED on all platforms except for 32-bit arm. 32-bit arm triggers multiple -Wunaligned-access errors due to structure packing. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38972 --- share/man/man5/src.conf.5 | 2 +- share/mk/src.opts.mk | 3 +-- sys/conf/kern.opts.mk | 5 +---- sys/modules/Makefile | 19 ++++++++----------- 4 files changed, 11 insertions(+), 18 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 8930c9a6238c..d298f38ff0b5 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1259,7 +1259,7 @@ Disable the build of the Infiniband software stack, including kernel modules and userspace libraries. .Pp This is a default setting on -arm/armv6, arm/armv7, arm64/aarch64, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf. +arm/armv6 and arm/armv7. When set, it enforces these options: .Pp .Bl -item -compact diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 057a0f7a9be9..d8cadd43a88b 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -352,8 +352,7 @@ __DEFAULT_YES_OPTIONS+=OPENMP __DEFAULT_NO_OPTIONS+=OPENMP .endif -.if ${__T} != "i386" && ${__T} != "amd64" && \ - ${__T:Mpowerpc64*} == "" +.if ${__T:Marm*} != "" BROKEN_OPTIONS+= OFED .endif diff --git a/sys/conf/kern.opts.mk b/sys/conf/kern.opts.mk index 93edc1b6e63f..c7587b7728d7 100644 --- a/sys/conf/kern.opts.mk +++ b/sys/conf/kern.opts.mk @@ -82,10 +82,7 @@ BROKEN_OPTIONS+= INIT_ALL_ZERO BROKEN_OPTIONS+= ZFS .endif -# Things that don't work because the kernel doesn't have the support -# for them. -.if ${MACHINE} != "i386" && ${MACHINE} != "amd64" && \ - ${MACHINE_ARCH:Mpowerpc64*} == "" +.if ${MACHINE_CPUARCH} == "arm" BROKEN_OPTIONS+= OFED .endif diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 4aa4a26e6d17..0bce649ac978 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -522,14 +522,19 @@ SUBDIR+= linux64 SUBDIR+= linux_common .endif -.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ - ${MACHINE_CPUARCH} == "i386" -_ena= ena +.if ${MACHINE_CPUARCH} != "arm" .if ${MK_OFED} != "no" || defined(ALL_MODULES) _ibcore= ibcore _ipoib= ipoib _iser= iser +_mthca= mthca +_rdma= rdma .endif +.endif + +.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ + ${MACHINE_CPUARCH} == "i386" +_ena= ena _ipmi= ipmi _iwlwifi= iwlwifi .if ${MK_SOURCELESS_UCODE} != "no" @@ -543,7 +548,6 @@ _mlx4en= mlx4en _mlx5en= mlx5en .endif .if ${MK_OFED} != "no" || defined(ALL_MODULES) -_mthca= mthca _mlx4ib= mlx4ib _mlx5ib= mlx5ib .endif @@ -703,9 +707,6 @@ _qat= qat _qatfw= qatfw _qat_c2xxx= qat_c2xxx _qat_c2xxxfw= qat_c2xxxfw -.if ${MK_OFED} != "no" || defined(ALL_MODULES) -_rdma= rdma -.endif _safe= safe _speaker= speaker _splash= splash @@ -848,11 +849,7 @@ _ixl= ixl _mlx5= mlx5 _nvram= opal_nvram .if ${MK_OFED} != "no" || defined(ALL_MODULES) -_ibcore= ibcore -_ipoib= ipoib -_iser= iser _mlx5ib= mlx5ib -_rdma= rdma .endif .if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ defined(ALL_MODULES) From nobody Wed Mar 8 23:12:42 2023 X-Original-To: dev-commits-src-main@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 4PX7Q301zZz3x1Nc; Wed, 8 Mar 2023 23:12: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 4PX7Q26GMTz3C5c; Wed, 8 Mar 2023 23:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678317162; 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=mPM4eqrj/CZmZ2ENHBbqSq3zislYYOvm/Vs2oKVtqTk=; b=gfkUQhVy4zNayVUgoyf4GWWBMDH8/GG8PbJfqXAMNFPRpKsLN7HF7uLdAo3jY/i6YmRj9A uLdolS4FlNoYCGKtcATbtDjyK7olFi1bgSai9RsCEX6yMPjIdjYsaOLY1aQXmolrKB+gqL shecD42R24YLsZV5F8sIE6VDBCoEaMTmQPBYG8D6nAJ4M37VWF79sNIczraBOtShX54lRC r8dQ/YTfe0SXQWWGk7lct0SDidlWDb6nbPpSxN1bXsDnBdkfn27XyO1estkrf6dYArNYcV vq0k3pqoIuvrEnshgw1txP75EiNWcsHbGGc2hFhiOgXh6Yf0pfSAZ6b5jz7b2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678317162; 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=mPM4eqrj/CZmZ2ENHBbqSq3zislYYOvm/Vs2oKVtqTk=; b=N5ESQtRVhXHDuF9uSdm75Tc0pAPXY5CexNZixGMVx3dyS5/zPs1Mc5OUrOe8yCnIA1+uzV 86C4dNnybNBK8rvBou9RIdx7UbOQ1aq8anxYiPP+SThtCkAcvDbDYrerClc21i8o/MNIB/ 86Exb1p+Yn3rmxrGipv7KSkQa3dxiqyiRfmf+76nSoS7rbICqWK28u+LvFeiahGhBr6Z4D 8/RNGNJbtrx7whE6RUHmSILRoTDRtwdebKx58IM9Cl3vfNpGu6Sj4X1B89eW4BRcal+BEh XSeb9IDGeiZCxwrnMzhD8tKcXONFvAAeX8kGt07r9pitm9OK2grr+WEqkRW33w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678317162; a=rsa-sha256; cv=none; b=I9aHmGR0r5TQZmIbQ7NXsv0/KS/9zCPWF3pCc0XHZWaAHeUSr5nsqqXHBAc/1bXPolE0Dy x3L5SXIbYWVzIJK6B/B++919N/N585gsNjJlWKeb+uaqwAmf86yDhzUf7XzF2DItGG6uPp HoFtzK1xQc6sT3zPJeiIqeG9ZuKJJyTcsWRnS9JiGH/KcqWQagRy39bGOlTU/aCzPlJr6M 9SAT0Z2faGtHHOkgipu6rU3pzdcGnyZhaL9jFwC2h3nsQuD0gt5vJ2bsavZzp/Z2Yqp5cN ivAdW888825uoCDKZ7WKmZm6qndGJTicD2OjiqlcTqKFUHIy5Lv7E0+RJPQiVQ== 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 4PX7Q25LcHzkf9; Wed, 8 Mar 2023 23:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328NCguG018957; Wed, 8 Mar 2023 23:12:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328NCgMo018956; Wed, 8 Mar 2023 23:12:42 GMT (envelope-from git) Date: Wed, 8 Mar 2023 23:12:42 GMT Message-Id: <202303082312.328NCgMo018956@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 3140e27ee5c4 - main - sys/modules/Makefile: Add a section for arm64 + x86 + powerpc64. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3140e27ee5c4f8c8cd05ab3071c8af36607c408c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3140e27ee5c4f8c8cd05ab3071c8af36607c408c commit 3140e27ee5c4f8c8cd05ab3071c8af36607c408c Author: John Baldwin AuthorDate: 2023-03-08 23:12:25 +0000 Commit: John Baldwin CommitDate: 2023-03-08 23:12:25 +0000 sys/modules/Makefile: Add a section for arm64 + x86 + powerpc64. This reduces some duplication between the existing arm64 + x86 section and the powerpc64 section. To make the diff simpler, enable mlx4 on powerpc64 since it compiles. Reviewed by: pkubaj, imp, emaste Differential Revision: https://reviews.freebsd.org/D38973 --- sys/modules/Makefile | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 0bce649ac978..3737dddb57ab 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -533,13 +533,8 @@ _rdma= rdma .endif .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ - ${MACHINE_CPUARCH} == "i386" -_ena= ena + ${MACHINE_CPUARCH} == "i386" || ${MACHINE_ARCH:Mpowerpc64*} != "" _ipmi= ipmi -_iwlwifi= iwlwifi -.if ${MK_SOURCELESS_UCODE} != "no" -_iwlwififw= iwlwififw -.endif _mlx4= mlx4 _mlx5= mlx5 .if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ @@ -551,6 +546,15 @@ _mlx5en= mlx5en _mlx4ib= mlx4ib _mlx5ib= mlx5ib .endif +.endif + +.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ + ${MACHINE_CPUARCH} == "i386" +_ena= ena +_iwlwifi= iwlwifi +.if ${MK_SOURCELESS_UCODE} != "no" +_iwlwififw= iwlwififw +.endif _ossl= ossl _rtw88= rtw88 .if ${MK_SOURCELESS_UCODE} != "no" @@ -844,17 +848,8 @@ _nvme= nvme .endif .if ${MACHINE_ARCH:Mpowerpc64*} != "" -_ipmi= ipmi _ixl= ixl -_mlx5= mlx5 _nvram= opal_nvram -.if ${MK_OFED} != "no" || defined(ALL_MODULES) -_mlx5ib= mlx5ib -.endif -.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ - defined(ALL_MODULES) -_mlx5en= mlx5en -.endif .endif .if ${MACHINE_CPUARCH} == "powerpc" && ${MACHINE_ARCH} != "powerpcspe" From nobody Wed Mar 8 23:24:08 2023 X-Original-To: dev-commits-src-main@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 4PX7gD4MPyz3x1rF; Wed, 8 Mar 2023 23:24: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 4PX7gD3nnLz3DvX; Wed, 8 Mar 2023 23:24:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678317848; 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=rmhcedIMS3B/tbsP/+sPwqSR/mL5qIJslvYs2Wf+zw8=; b=QT4VDcJW0Aiz04QwV+4gnXenkEYeZA4V39eOrZkcQ2ihV5nIernbQwg993HyHTFaDOWbrP sQCxqf7exlEYDLMq7PsqThYjOkKCOES3Pm17dx/0oVl1GoPS3bbEiFnAiTrcKRT6uTknmr 4M0gkuaxKH11xNwQAZpSmYk/XX0QkZ7tZzkJQoKHWFBDld0L96j2yu2eC1AfUs+9dFzQSr 1HRK65nMEImU1pZSyw1sXDT6uHWppiK7awWC4U97ZaOL4CMmfeVEdc8Ew/fa8cp3X8o9eo CZlie7I0+8IYV4CIN1A5Ddu9ViQu7NP+aMChHZWipakWj3XuajTq3kF1GzaJEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678317848; 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=rmhcedIMS3B/tbsP/+sPwqSR/mL5qIJslvYs2Wf+zw8=; b=GbL1IpqSlZRoravV2O/ZhJXAyhbRWiJw/anBrGV6z3rsdaut1ngeait9aqjC+EDlTRoP4T 4kLo2Z7H1nkBy0bFoBt84C2+3dOWH2R/FSXgBbLP8v9A93DwZbtkmIUwG11VWCoKvSxgmG ViMbR2KVZWP1P7HmLYFE0QXq7Vl4NaVrR2m1egTAngyGtEboJ1//HjdLRUGZz2chpogn3L Myqn365Z5DSdbPOoO4YTjDDdbD6Vj5i/8D6ZydGiqINGgUsfUAlmxPsfKLL2N83vAUKcfx yw9v1KROWAX7loTGBWVbLnljUFpQ23+o8p7gRQeN6WYa5V4csdjOI/H/0jFkTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678317848; a=rsa-sha256; cv=none; b=vjAdafOpJ1QfCar8+GOvoOEnnidZBE5z+HHaUZou4fWrI3UriuDYyg3vVvrfEX0fWy2t3R vD2QBXcfVyFzxE1uQPXbebh5AP8c7afXsPvHQSCSmUGzaatuOS7QSIqq4z0EXVa9/ysvoT 2697g3Gx69d97q5O+DBLh68qX/o99tBc+7k03UL0G41HqxFHbWilybf9Gk2X6UPRn1nxBC yer6TKBvcB2zD1O5h3yDYEO4zypekDvZradvpxsCKb3V79etyqTdnbshbm6Ljv4E9PjO7Q a0ymSPu4DidglGHeWPjEzRSeTb0TxpDLUjgJgPJ+rbk5hOp2IudOXQW23a/HmA== 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 4PX7gD2sMKzl4w; Wed, 8 Mar 2023 23:24:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328NO80C035371; Wed, 8 Mar 2023 23:24:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328NO81T035370; Wed, 8 Mar 2023 23:24:08 GMT (envelope-from git) Date: Wed, 8 Mar 2023 23:24:08 GMT Message-Id: <202303082324.328NO81T035370@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 4a869d380e8d - main - nvram2env: Retire unused MIPS-specific driver List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4a869d380e8db0465ced4d988cfc3bd17b8b5549 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4a869d380e8db0465ced4d988cfc3bd17b8b5549 commit 4a869d380e8db0465ced4d988cfc3bd17b8b5549 Author: Ed Maste AuthorDate: 2023-03-08 17:22:29 +0000 Commit: Ed Maste CommitDate: 2023-03-08 23:24:02 +0000 nvram2env: Retire unused MIPS-specific driver This code was used only on MIPS platforms, and has not built in some time. Reviewed by: ray Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38986 --- share/man/man4/Makefile | 5 - share/man/man4/nvram2env.4 | 117 ----------- sys/dev/nvram2env/nvram2env.c | 286 -------------------------- sys/dev/nvram2env/nvram2env.h | 86 -------- tools/kerneldoc/subsys/Doxyfile-dev_nvram2env | 21 -- 5 files changed, 515 deletions(-) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 91c43c87a9bf..da5344bdeb68 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -415,7 +415,6 @@ MAN= aac.4 \ ${_nvdimm.4} \ ${_nvme.4} \ ${_nvram.4} \ - ${_nvram2env.4} \ oce.4 \ ocs_fc.4\ ohci.4 \ @@ -887,10 +886,6 @@ _vmm.4= vmm.4 .endif .endif -.if ${MACHINE_CPUARCH} == "mips" -_nvram2env.4= nvram2env.4 -.endif - .if ${MACHINE_CPUARCH} == "powerpc" _nvd.4= nvd.4 _nvme.4= nvme.4 diff --git a/share/man/man4/nvram2env.4 b/share/man/man4/nvram2env.4 deleted file mode 100644 index 798e04e135e3..000000000000 --- a/share/man/man4/nvram2env.4 +++ /dev/null @@ -1,117 +0,0 @@ -.\" Copyright (c) 2011 Aleksandr Rybalko -.\" All rights reserved. -.\" -.\" 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. -.\" -.\" $FreeBSD$ -.\" -.Dd April 3, 2011 -.Dt NVRAM2ENV 4 -.Os -.Sh NAME -.Nm nvram2env -.Nd "copy nvram-like data into kernel environment" -.Sh SYNOPSIS -.Cd "device nvram2env" -.Sh DESCRIPTION -.Nm -implements a simple method of reading the NVRAM-like data and information -stored in flash and storing it in the kernel environment. -It can then be used by various device drivers at boot-time. -.Pp -The NVRAM-like data is an array of zero terminated strings. -Each string contains the string name, "=" delimiter and the string value. -.Pp -.Nm -copies the environment values into kernel environment using the kernel setenv call. -.Pp -Configuration of -.Nm -is done in -.Xr device.hints 5 -defining the NVRAM base address, fallback base address, maxsize and flags. -.Pp -.Nm -is currently MIPS-specific. -.Ss base -base - physical address where data block is stored. -.Ss fallbackbase -fallbackbase - physical address where data block is stored, but only -if not found at base. -.Ss maxsize -maxsize - maximum size of data block. -.Ss flags -flags - control flags, used to select nvram type and enable/disable CRC check. -.Bl -tag -width indent -.It Fa 0x0001 -Avoid CRC checking. -Currently CRC checking is not implemented, so to be future -compatible, please set it to "1". -.It Fa 0x0002 -Use format "Generic", skip uint32_t field, then zero terminating array of -strings. -.It Fa 0x0004 -Use Broadcom CFE format, uint32_t signature "FLSH", uint32_t size, -three unused fields uint32_t, then data. -.It Fa 0x0008 -Use U-Boot format, uint32_t crc, then zero terminating array of strings. -.El -.Sh EXAMPLES -Usage in U-Boot case: -.Bd -literal -offset indent -hint.nvram.0.base=0x1f030000 -hint.nvram.0.maxsize=0x2000 -hint.nvram.0.flags=3 # 1 = No check, 2 = Format Generic -hint.nvram.1.base=0x1f032000 -hint.nvram.1.maxsize=0x4000 -hint.nvram.1.flags=3 # 1 = No check, 2 = Format Generic -.Ed -.Pp -CFE nvram with fallback: -.Bd -literal -offset indent -hint.nvram.0.base=0x1fff8000 -hint.nvram.0.fallbackbase=0x1fc00400 -hint.nvram.0.flags=4 # 4 = Format Broadcom -.Ed -.Pp -but seems for CFE nvram preferred to read both blocks: -.Pp -NVRAM partition: Static, CFE internal -.Bd -literal -offset indent -hint.nvram.0.flags=0x05 # Broadcom + nocheck -hint.nvram.0.base=0x1fc00400 -.Ed -.Pp -Dynamic, editable form CFE, override values from first -.Bd -literal -offset indent -hint.nvram.1.flags=0x05 # Broadcom + nocheck -hint.nvram.1.base=0x1cff8000 -.Ed -.Sh SEE ALSO -.Xr kenv 1 , -.Xr kenv 2 -.Sh HISTORY -.Nm -first appeared in -.Fx 9.0 . -.Sh AUTHORS -.An Aleksandr Rybalko Aq Mt ray@ddteam.net diff --git a/sys/dev/nvram2env/nvram2env.c b/sys/dev/nvram2env/nvram2env.c deleted file mode 100644 index 5c031b1d9de8..000000000000 --- a/sys/dev/nvram2env/nvram2env.c +++ /dev/null @@ -1,286 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2010 Aleksandr Rybalko. - * All rights reserved. - * - * 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. - */ - -/* - * Pseudo driver to copy the NVRAM settings from various sources - * into the kernel environment. - * - * Drivers (such as ethernet devices) can then use environment - * variables to set default parameters. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "nvram2env.h" - -static void -nvram2env_identify(driver_t * drv, device_t parent) -{ - int i, ivar; - - for (i = 0; !resource_int_value("nvram", i, "base", &ivar); i++) - BUS_ADD_CHILD(parent, 0, "nvram2env", i); -} - -int -nvram2env_probe(device_t dev) -{ - uint32_t i, ivar, sig; - struct nvram2env_softc * sc = device_get_softc(dev); - - /* - * Please ensure that your implementation of NVRAM->ENV specifies - * bus tag - */ - if (sc->bst == NULL) - return (ENXIO); - - if (sc->sig == 0) - if (resource_int_value("nvram", device_get_unit(dev), "sig", - &sc->sig) != 0 || sc->sig == 0) - sc->sig = CFE_NVRAM_SIGNATURE; - - if (sc->maxsize == 0) - if (resource_int_value("nvram", device_get_unit(dev), "maxsize", - &sc->maxsize) != 0 || sc->maxsize == 0) - sc->maxsize = NVRAM_MAX_SIZE; - - if (sc->flags == 0) - if (resource_int_value("nvram", device_get_unit(dev), "flags", - &sc->flags) != 0 || sc->flags == 0) - sc->flags = NVRAM_FLAGS_GENERIC; - - for (i = 0; i < 2; i ++) - { - switch (i) { - case 0: - break; - case 1: - case 2: - if (resource_int_value("nvram", device_get_unit(dev), - (i == 1) ? "base" : "fallbackbase", &ivar) != 0 || - ivar == 0) - continue; - - sc->addr = ivar; - break; - default: - break; - } - - if (sc->addr == 0) - continue; - - if (bootverbose) - device_printf(dev, "base=0x%08x sig=0x%08x " - "maxsize=0x%08x flags=0x%08x\n", - sc->addr, sc->sig, sc->maxsize, sc->flags); - - if (bus_space_map(sc->bst, sc->addr, sc->maxsize, 0, - &sc->bsh) != 0) - continue; - - sig = bus_space_read_4(sc->bst, sc->bsh, 0); - if ( sig == sc->sig /*FLSH*/) - { - device_printf(dev, "Found NVRAM at %#x\n", - (uint32_t)ivar); - sc->need_swap = 0; - goto unmap_done; - } - else if ( htole32(sig) == sc->sig /*HSLF*/) - { - device_printf(dev, "Found NVRAM at %#x\n", - (uint32_t)ivar); - sc->need_swap = 1; - goto unmap_done; - } else if (sc->flags & NVRAM_FLAGS_UBOOT) { - device_printf(dev, "Use NVRAM at %#x\n", - (uint32_t)ivar); - sc->crc = sig; - goto unmap_done; - } - bus_space_unmap(sc->bst, sc->bsh, NVRAM_MAX_SIZE); - } - sc->bst = 0; - sc->bsh = 0; - sc->addr = 0; - return (ENXIO); - -unmap_done: - bus_space_unmap(sc->bst, sc->bsh, NVRAM_MAX_SIZE); - device_set_desc(dev, "NVRAM to ENV pseudo-device"); - return (BUS_PROBE_SPECIFIC); - -} - -static uint32_t read_4(struct nvram2env_softc * sc, int offset) -{ - if (sc->need_swap) - return (bswap32(bus_space_read_4(sc->bst, sc->bsh, offset))); - else - return (bus_space_read_4(sc->bst, sc->bsh, offset)); -} - -int -nvram2env_attach(device_t dev) -{ - struct nvram2env_softc *sc; - struct nvram *nv; - char *pair, *value, *assign; - uint32_t sig, size, i, *tmp; - - sc = device_get_softc(dev); - - if (sc->bst == 0 || sc->addr == 0) - return (ENXIO); - - if (bus_space_map(sc->bst, sc->addr, NVRAM_MAX_SIZE, 0, - &sc->bsh) != 0) - return (ENXIO); - - sig = read_4(sc, 0); - size = read_4(sc, 4); - - if (bootverbose) - device_printf(dev, " size=0x%05x maxsize=0x%05x\n", size, - sc->maxsize); - - size = (size > sc->maxsize)?sc->maxsize:size; - - if (sig == sc->sig || (sc->flags & NVRAM_FLAGS_UBOOT)) - { - /* align size to 32bit size*/ - size += 3; - size &= ~3; - - nv = malloc(size, M_DEVBUF, M_WAITOK | M_ZERO); - if (!nv) - return (ENOMEM); - /* set tmp pointer to begin of NVRAM */ - tmp = (uint32_t *) nv; - - /* use read_4 to swap bytes if it's required */ - for (i = 0; i < size; i += 4) { - *tmp = read_4(sc, i); - tmp++; - } - /* now tmp pointer is end of NVRAM */ - - if (sc->flags & NVRAM_FLAGS_BROADCOM) { - device_printf(dev, "sig = %#x\n", nv->sig); - device_printf(dev, "size = %#x\n", nv->size); - } - - if (!(sc->flags & NVRAM_FLAGS_NOCHECK)) { - /* TODO: need checksum verification */ - } - - if (sc->flags & NVRAM_FLAGS_GENERIC) - pair = (char*)nv+4; - if (sc->flags & NVRAM_FLAGS_UBOOT) - pair = (char*)nv+4; - else if (sc->flags & NVRAM_FLAGS_BROADCOM) - pair = (char*)nv+20; - else - pair = (char*)nv+4; - - /* iterate over buffer till end. tmp points to end of NVRAM */ - for ( ; pair < (char*)tmp; - pair += strlen(pair) + strlen(value) + 2 ) { - if (!pair || (strlen(pair) == 0)) - break; - - /* hint.nvram.0. */ - assign = strchr(pair,'='); - assign[0] = '\0'; - value = assign+1; - - if (bootverbose) - printf("ENV[%p]: %s=%s\n", - (void*)((char*)pair - (char*)nv), - pair, value); - - kern_setenv(pair, value); - - if (strcasecmp(pair, "WAN_MAC_ADDR") == 0) { - /* Alias for MAC address of eth0 */ - if (bootverbose) - printf("ENV: aliasing " - "WAN_MAC_ADDR to ethaddr" - " = %s\n", value); - kern_setenv("ethaddr", value); - } - else if (strcasecmp(pair, "LAN_MAC_ADDR") == 0){ - /* Alias for MAC address of eth1 */ - if (bootverbose) - printf("ENV: aliasing " - "LAN_MAC_ADDR to eth1addr" - " = %s\n", value); - kern_setenv("eth1addr", value); - } - - if (strcmp(pair, "bootverbose") == 0) - bootverbose = strtoul(value, 0, 0); - if (strcmp(pair, "boothowto" ) == 0) - boothowto = strtoul(value, 0, 0); - } - free(nv, M_DEVBUF); - } - - bus_space_unmap(sc->bst, sc->bsh, NVRAM_MAX_SIZE); - - return (0); -} - -static device_method_t nvram2env_methods[] = { - /* Device interface */ - DEVMETHOD(device_identify, nvram2env_identify), - DEVMETHOD(device_probe, nvram2env_probe), - DEVMETHOD(device_attach, nvram2env_attach), - - DEVMETHOD_END -}; - -driver_t nvram2env_driver = { - "nvram2env", - nvram2env_methods, - sizeof(struct nvram2env_softc), -}; diff --git a/sys/dev/nvram2env/nvram2env.h b/sys/dev/nvram2env/nvram2env.h deleted file mode 100644 index cffcedfcda23..000000000000 --- a/sys/dev/nvram2env/nvram2env.h +++ /dev/null @@ -1,86 +0,0 @@ -/*- - * Copyright (c) 2010 Aleksandr Rybalko. - * Copyright (c) 2016 Michael Zhilin. - * All rights reserved. - * - * 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. - * - * $FreeBSD$ - */ - -#ifndef NVRAM2ENV_NVRAM2ENV_H_ -#define NVRAM2ENV_NVRAM2ENV_H_ - -#define nvram2env_read_1(sc, reg) \ - bus_space_read_1((sc)->sc_bt, (sc)->sc_bh,(reg)) - -#define nvram2env_read_2(sc, reg) \ - bus_space_read_2((sc)->sc_bt, (sc)->sc_bh,(reg)) - -#define nvram2env_read_4(sc, reg) \ - bus_space_read_4((sc)->sc_bt, (sc)->sc_bh,(reg)) - -#define nvram2env_write_1(sc, reg, val) \ - bus_space_write_1((sc)->sc_bt, (sc)->sc_bh, \ - (reg), (val)) - -#define nvram2env_write_2(sc, reg, val) \ - bus_space_write_2((sc)->sc_bt, (sc)->sc_bh, \ - (reg), (val)) - -#define nvram2env_write_4(sc, reg, val) \ - bus_space_write_4((sc)->sc_bt, (sc)->sc_bh, \ - (reg), (val)) - -struct nvram2env_softc { - bus_space_tag_t bst; - bus_space_handle_t bsh; - bus_addr_t addr; - int need_swap; - uint32_t sig; - uint32_t flags; -#define NVRAM_FLAGS_NOCHECK 0x0001 /* Do not check(CRC or somthing else)*/ -#define NVRAM_FLAGS_GENERIC 0x0002 /* Format Generic, skip 4b and read */ -#define NVRAM_FLAGS_BROADCOM 0x0004 /* Format Broadcom, use struct nvram */ -#define NVRAM_FLAGS_UBOOT 0x0008 /* Format Generic, skip 4b of CRC and read */ - uint32_t maxsize; - uint32_t crc; -}; - -#define NVRAM_MAX_SIZE 0x10000 -#define CFE_NVRAM_SIGNATURE 0x48534c46 - -struct nvram { - u_int32_t sig; - u_int32_t size; - u_int32_t unknown1; - u_int32_t unknown2; - u_int32_t unknown3; - char data[]; -}; - -int nvram2env_attach(device_t); -int nvram2env_probe(device_t); - -extern driver_t nvram2env_driver; - -#endif /* SYS_DEV_NVRAM2ENV_NVRAM2ENV_H_ */ diff --git a/tools/kerneldoc/subsys/Doxyfile-dev_nvram2env b/tools/kerneldoc/subsys/Doxyfile-dev_nvram2env deleted file mode 100644 index 8398f855da62..000000000000 --- a/tools/kerneldoc/subsys/Doxyfile-dev_nvram2env +++ /dev/null @@ -1,21 +0,0 @@ -# Doxyfile 1.5.2 - -# $FreeBSD$ - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -PROJECT_NAME = "FreeBSD kernel NVRAM2ENV device code" -OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_nvram2env/ -EXTRACT_ALL = YES # for undocumented src, no warnings enabled -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = $(DOXYGEN_SRC_PATH)/dev/nvram2env/ \ - $(NOTREVIEWED) - -GENERATE_TAGFILE = dev_nvram2env/dev_nvram2env.tag - -@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) -@INCLUDE = common-Doxyfile - From nobody Wed Mar 8 23:31:44 2023 X-Original-To: dev-commits-src-main@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 4PX7r113p9z3x2Vw; Wed, 8 Mar 2023 23:31: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 4PX7r10Z9tz3Fgw; Wed, 8 Mar 2023 23:31:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678318305; 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=Is3cuDht+x0qj0KhKIPZB20BWhtEl6eb8E3UF0p/36w=; b=x6gv1sZsPvIQLmtqvaZOojkJa3WZfcVs7pKeHNktF1tZJQIUYD2BCRjKpMdWS7cImlzJ5v FPNpsb6VHDfXXyNz4YNu7FiSV2UGuYYdOUdPIAZh1oviZC8uCL9xVQT/0AUWPKj7ngmlRO jxfO5GNl7vQJQ9nJs8fKlXksy5YAflW8AHxVPdC9jo+TpyHsmkQ+49C/q4KuXzcqPRDtTA i0AzUdS8IcRmKHosRqp/2otdbCR/fAvp0mQqWES7uuyEwzQfK/Wf9h/y5lz4odeN8J1QdG u1IJYrm7M9BDUzQpamn4/f+up+Pt98ZAIEqaThGQPMwLh4hoFzCohr0tgQdEzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678318305; 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=Is3cuDht+x0qj0KhKIPZB20BWhtEl6eb8E3UF0p/36w=; b=fQQwfvWlwkOwHG6uTqaTyzdjY3CTq2c6iB5ELJ2qLKwMoCcOvEK9gQPvtrqeg4Yy1ZCUUK efsbEaP/k0xGeUj/MZz7HTvSV2aZu1YoiGN9Vu3RWb5z6FRxWHnyYgygvpSURZCpus0jYp u9k36eks4O0IbEYJhAvpwR3f4ClSa+Mh+Q/GLjlvktrHNMuGxzwUOHSSHkQ0gXM0WjZfYu J0qxyKlXfBH2qB57iVAVtKh3FmAci6UEJXMyQbXjkafXuAY8USlQWHEg0SXu8/9cyZd8qW XzIkalSgEkD79XeJgKZVjUDjMpoGSpy/YXGK0ZNbcbrENPHC8KPL0aVw9laE2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678318305; a=rsa-sha256; cv=none; b=cxKRcJeC6mN06/o2o9VMuB1WEyjTXCsYQteil/CCR4YhWGzphxI9DF71wpTbfabJa0AbuG mdy+6LrUKx9E6ENHL85DNjmw+mgkq+WsbEFyJiqNayTQiDkoK9i2n6zEJG2XFpyyJQMmuF JOnagJXVtpGkjDdfsHH+ncC2S/7ZiFc8t2qpnHvPVkGbsEDXbmZVzbVgVvTOmDPlY/XAeN mHPYEuCl4LUttsSmKRRj9q6inulDnN8AOnvLxRWD1mEsJs6UMeJrQ6iAZO9a1/3TFFx62J QOphpOMWQ9dYUUGRD4c0Ajg2q/SIZ5ympfreV1a7j2qN9x8y6dhGPvYRZfWGXQ== 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 4PX7r06ljBzl8M; Wed, 8 Mar 2023 23:31:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 328NViMc050556; Wed, 8 Mar 2023 23:31:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 328NViDn050541; Wed, 8 Mar 2023 23:31:44 GMT (envelope-from git) Date: Wed, 8 Mar 2023 23:31:44 GMT Message-Id: <202303082331.328NViDn050541@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: c581962414ed - main - src.conf.5: Add some WITH_/WITHOUT_ option descriptions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c581962414edfc26796319ccc988647b08b03ce1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c581962414edfc26796319ccc988647b08b03ce1 commit c581962414edfc26796319ccc988647b08b03ce1 Author: Ed Maste AuthorDate: 2023-03-07 18:49:23 +0000 Commit: Ed Maste CommitDate: 2023-03-08 23:30:45 +0000 src.conf.5: Add some WITH_/WITHOUT_ option descriptions Reviewed by: markj, brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38961 --- share/man/man5/src.conf.5 | 26 ++++++++++++++++++++++++++ tools/build/options/WITHOUT_SCTP_SUPPORT | 4 ++++ tools/build/options/WITH_LIB32 | 3 +++ tools/build/options/WITH_OFED | 3 +++ tools/build/options/WITH_ZFS | 3 +++ 5 files changed, 39 insertions(+) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index d298f38ff0b5..52b80513467e 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -866,6 +866,13 @@ runtime linker. .Pp This is a default setting on arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf. +.It Va WITH_LIB32 +On 64-bit platforms, build the 32-bit library set and a +.Nm ld-elf32.so.1 +runtime linker. +.Pp +This is a default setting on +amd64/amd64 and powerpc/powerpc64. .It Va WITHOUT_LLD Do not build LLVM's lld linker. .It Va WITHOUT_LLDB @@ -1266,6 +1273,13 @@ When set, it enforces these options: .It .Va WITHOUT_OFED_EXTRA .El +.It Va WITH_OFED +Build the +.Dq "OpenFabrics Enterprise Distribution" +InfiniBand software stack, including kernel modules and userspace libraries. +.Pp +This is a default setting on +amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf. .It Va WITH_OFED_EXTRA Build the non-essential components of the .Dq "OpenFabrics Enterprise Distribution" @@ -1435,6 +1449,11 @@ utility. Build .Xr rpcbind 8 with warmstart support. +.It Va WITHOUT_SCTP_SUPPORT +Disable support in the kernel for the +.Xr sctp 4 +Stream Control Transmission Protocol +loadable kernel module. .It Va WITHOUT_SENDMAIL Do not build .Xr sendmail 8 @@ -1743,6 +1762,13 @@ ZFS-specific functionality. .Pp This is a default setting on powerpc/powerpc. +.It Va WITH_ZFS +Build the ZFS file system kernel module, libraries, and user commands. +Also enable ZFS support in utilities and libraries which implement +ZFS-specific functionality. +.Pp +This is a default setting on +amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf. .It Va WITHOUT_ZONEINFO Do not build the timezone database. When set, it enforces these options: diff --git a/tools/build/options/WITHOUT_SCTP_SUPPORT b/tools/build/options/WITHOUT_SCTP_SUPPORT new file mode 100644 index 000000000000..0829dbeca49d --- /dev/null +++ b/tools/build/options/WITHOUT_SCTP_SUPPORT @@ -0,0 +1,4 @@ +Disable support in the kernel for the +.Xr sctp 4 +Stream Control Transmission Protocol +loadable kernel module. diff --git a/tools/build/options/WITH_LIB32 b/tools/build/options/WITH_LIB32 new file mode 100644 index 000000000000..3c621483a60d --- /dev/null +++ b/tools/build/options/WITH_LIB32 @@ -0,0 +1,3 @@ +On 64-bit platforms, build the 32-bit library set and a +.Nm ld-elf32.so.1 +runtime linker. diff --git a/tools/build/options/WITH_OFED b/tools/build/options/WITH_OFED new file mode 100644 index 000000000000..5c978418f001 --- /dev/null +++ b/tools/build/options/WITH_OFED @@ -0,0 +1,3 @@ +Build the +.Dq "OpenFabrics Enterprise Distribution" +InfiniBand software stack, including kernel modules and userspace libraries. diff --git a/tools/build/options/WITH_ZFS b/tools/build/options/WITH_ZFS new file mode 100644 index 000000000000..4b1aea6df534 --- /dev/null +++ b/tools/build/options/WITH_ZFS @@ -0,0 +1,3 @@ +Build the ZFS file system kernel module, libraries, and user commands. +Also enable ZFS support in utilities and libraries which implement +ZFS-specific functionality. From nobody Wed Mar 8 23:34:21 2023 X-Original-To: dev-commits-src-main@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 4PX7v33PZGz3x2WD; Wed, 8 Mar 2023 23:34:23 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PX7v32rsVz3GBB; Wed, 8 Mar 2023 23:34:23 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678318463; 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: in-reply-to:in-reply-to:references:references; bh=AU6QvBDPJykhwkqNtATliFygexEUg95YWavuLLXIZy4=; b=ZbtX0K3dOjYOua7rJ3LtKkHrTS2NTAeW+w6S+3+05UHv8mxKd7wM98NEQ8Jhlq2AAhscK+ 8YpRRnnJpdhnqOkazF4HDewO80UU3iHsmv9JVPGfmxYeZWSeJRhdXWhjSoubhgXimiyFSO WClYBFxDufvU3SajzSv2Tjv5oP/pwNIX5B57DBE1n9hqI8qe2y1mFSevCEbWnjfyjL5XTJ Xysofc/+rMOgbT08TDEA2U7T2dlg5BnZcsnPLXxnOJpqbL3E8ylxzFwFBhWX4mmM5KObTE EzbmemxVAdgzSPcLzNxD3Gph4seA4RP1ScFTxo+3QVUZ1nNF9qDSGon9vO1ANg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678318463; 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: in-reply-to:in-reply-to:references:references; bh=AU6QvBDPJykhwkqNtATliFygexEUg95YWavuLLXIZy4=; b=rnrS2Rk0oqcHRhUmLPCTxZOTcN5LYpbZstgzxvOnVUtp7X653uwUkzJaFbDSgB55iuAGuw wrNgbtxBNox6Pkxr2MyN2h0guJ2Int7JXMndCd+kbZAmv7gb+l8ApKMEyitEWOOcg2NkDF czAHmf7VZjAi3W+4AkNcWMre5S3SoGiG163LPhVbr2dLBTEeNRZy+/KcPnBpt2bo5kw9IK LtyEL4CIgjU36zi+2oZR1qpJd1IemJbZ5onMY9JaAo9z6GxEyCfQX82OqlBHDhmswjLA6J AKnA9o6SVQDVc2Z8u/RqeWOtUAcTMLLR/KA4wF+n1L6UCphJdaspS4mIoYiWGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678318463; a=rsa-sha256; cv=none; b=ZUbc7VJwlcEnz3Vr1uKsLx32J8wpDSzbJ+L6D9p356u0TEdttQfJJYno4/+C9MLkwvda89 AXRBdVdrE3Q0gUVV7XUqyyGm3voKSJ9jWtGPfOphhXmDVSJQ5hB6Br4YY058VvHuYjD/EN cVHlkq1xJCRTY0E/v8FwPyRzpyhbF5xwFaxt/g0hbjqUYQwn1W+e1eDInD40w4y6mYyVyy v9gC39xcIho2n5XeIYb37F9J8Tz9u5ME6NIrc2bDW7Zmqa2sRuoqO+NxlTJA9rOM01V3/v XNRMqXKMk50kSEqTfnqyVCwWvSUJK2iIpFj1DF1TAeVFrITwI9Rv938xwPWe9A== Received: from [IPV6:2601:648:8680:16b0:f07c:89ba:6199:d0c4] (unknown [IPv6:2601:648:8680:16b0:f07c:89ba:6199:d0c4]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PX7v25vhczFs7; Wed, 8 Mar 2023 23:34:22 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Wed, 8 Mar 2023 15:34:21 -0800 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: git: c581962414ed - main - src.conf.5: Add some WITH_/WITHOUT_ option descriptions Content-Language: en-US To: Ed Maste , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202303082331.328NViDn050541@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202303082331.328NViDn050541@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On 3/8/23 3:31 PM, Ed Maste wrote: > The branch main has been updated by emaste: > > URL: https://cgit.FreeBSD.org/src/commit/?id=c581962414edfc26796319ccc988647b08b03ce1 > > commit c581962414edfc26796319ccc988647b08b03ce1 > Author: Ed Maste > AuthorDate: 2023-03-07 18:49:23 +0000 > Commit: Ed Maste > CommitDate: 2023-03-08 23:30:45 +0000 > > src.conf.5: Add some WITH_/WITHOUT_ option descriptions > > Reviewed by: markj, brooks > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D38961 Hah, I was just working on those, but I noticed that we don't have duplicate WITH/WITHOUT options for other options so kind of punted. The description for WITHOUT_OFED can be slightly simplified to use the "Do not build..." pattern which is the more common idiom btw. -- John Baldwin From nobody Wed Mar 8 23:38:31 2023 X-Original-To: dev-commits-src-main@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 4PX8061s5tz3x2j1 for ; Wed, 8 Mar 2023 23:38:46 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PX80603zHz3Grf for ; Wed, 8 Mar 2023 23:38:46 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x52a.google.com with SMTP id u9so305312edd.2 for ; Wed, 08 Mar 2023 15:38:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; t=1678318722; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Pycem6pmiBq8l+cEo58DNoHW6ArlOwgwNOenDogrRew=; b=kZxxRkMaodyfqgF58Q5y6w1XIeeIvq9HU+rrjzvfZswq5teI1F+HOHA8w+qWPALsAw EzWtmj0DY2hf5fNtA53TOmsUYhWAhF8fOaWKr8f2vQugtNA+cbOcUd9CR9QYuS5rwSQQ z+Kadao59cUlxynkBh2/aza0T8maX89zZWt+YB7O1KBw37XXpEeDBPWOEUID7VwY2xXC CYNtNpuG+/6HFvGyPwRZ2+BJF9MorUGFTHDznRz1Aov9iuCzAFULFTdic2mrybgfo3lf 6f3XbTalwiUfUbAY5hosWVyU4NI61hCFxC35lMOH/8w5KU9xwFm0929uza3VyTnF76Wf fyKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678318722; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Pycem6pmiBq8l+cEo58DNoHW6ArlOwgwNOenDogrRew=; b=v6MZayWUx2n+HwwNr9pYPNMsbs7k3OPrd7TqWH8u9Tm+q2uZ9iVVkWn1o2tWqRI7mT RO+/Ps58ACiOmjopvIxCriiQwF0h6Blysl4W9EWvND4Z7ZCjZIZxEgP58aqM/ZBZRxGT YDXvqVkwqSOgNoqPxWi7Wkj6/aJxZ9qK0LiJzj85UCfvRbsj9XAlhVttbjUfOb7IyFny Xwu2YfK1TAGLO3X2HyPDlDlTydrYwRU2j+vIPo0xbJAhGRNFGVwfGbWXjCkDGGlGokyj aZzz1qK39K2vwma6xM6NLOmc7YOZ3/geHX4PaZCserIzC03WouHbmbuLwPLIoFrLff3s Or1g== X-Gm-Message-State: AO0yUKW7hdoBsulPIpGhvhKKP1fSrYLo9wtsG4UWgAptJtHKanVe4/zh T/btVA4le9oiutupacsCIxeAUYA7j+PWKRA2ZJHdEw== X-Google-Smtp-Source: AK7set8GbCJdPV2/FLU/C1hnGgDdKnqYNh/YYWndk3tc+sj0Ubw1KqQhrpdSOG9lHQ9p7brD0LIS3dsWvgwQe/VPikE= X-Received: by 2002:a17:906:7056:b0:8e5:1a7b:8ab2 with SMTP id r22-20020a170906705600b008e51a7b8ab2mr10074050ejj.4.1678318722328; Wed, 08 Mar 2023 15:38:42 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202303082331.328NViDn050541@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Wed, 8 Mar 2023 15:38:31 -0800 Message-ID: Subject: Re: git: c581962414ed - main - src.conf.5: Add some WITH_/WITHOUT_ option descriptions To: John Baldwin Cc: Ed Maste , src-committers , "" , dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="00000000000043bae405f66c0705" X-Rspamd-Queue-Id: 4PX80603zHz3Grf X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --00000000000043bae405f66c0705 Content-Type: text/plain; charset="UTF-8" On Wed, Mar 8, 2023, 3:34 PM John Baldwin wrote: > On 3/8/23 3:31 PM, Ed Maste wrote: > > The branch main has been updated by emaste: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=c581962414edfc26796319ccc988647b08b03ce1 > > > > commit c581962414edfc26796319ccc988647b08b03ce1 > > Author: Ed Maste > > AuthorDate: 2023-03-07 18:49:23 +0000 > > Commit: Ed Maste > > CommitDate: 2023-03-08 23:30:45 +0000 > > > > src.conf.5: Add some WITH_/WITHOUT_ option descriptions > > > > Reviewed by: markj, brooks > > Sponsored by: The FreeBSD Foundation > > Differential Revision: https://reviews.freebsd.org/D38961 > > Hah, I was just working on those, but I noticed that we don't have > duplicate WITH/WITHOUT options for other options so kind of punted. > > The description for WITHOUT_OFED can be slightly simplified to use > the "Do not build..." pattern which is the more common idiom btw. > I've always wondered why we need both... can't we just have a generic description? Warner > --00000000000043bae405f66c0705 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Wed, Mar 8, 2023, 3:34 PM John Baldwin <jhb@freebsd.org> wrote:
On 3/8/23 3:31 PM, Ed Maste wrote:
> The branch main has been updated by emaste:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=3Dc581962414edfc26796319ccc98864= 7b08b03ce1
>
> commit c581962414edfc26796319ccc988647b08b03ce1
> Author:=C2=A0 =C2=A0 =C2=A0Ed Maste <emaste@FreeBSD.org>
> AuthorDate: 2023-03-07 18:49:23 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Ed Maste <emaste@FreeBSD.org>
> CommitDate: 2023-03-08 23:30:45 +0000
>
>=C2=A0 =C2=A0 =C2=A0 src.conf.5: Add some WITH_/WITHOUT_ option descrip= tions
>=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 markj, brooks
>=C2=A0 =C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0The FreeBSD Foundation >=C2=A0 =C2=A0 =C2=A0 Differential Revision: https:/= /reviews.freebsd.org/D38961

Hah, I was just working on those, but I noticed that we don't have
duplicate WITH/WITHOUT options for other options so kind of punted.

The description for WITHOUT_OFED can be slightly simplified to use
the "Do not build..." pattern which is the more common idiom btw.=

= I've always wondered why we need both... can't we just have a gener= ic description?

Warner
--00000000000043bae405f66c0705-- From nobody Thu Mar 9 02:13:30 2023 X-Original-To: dev-commits-src-main@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 4PXCQt2h3Yz3xC4P; Thu, 9 Mar 2023 02:13:42 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PXCQt0LNZz3kL7; Thu, 9 Mar 2023 02:13:42 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lj1-f179.google.com with SMTP id i20so348012lja.11; Wed, 08 Mar 2023 18:13:41 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678328019; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HETtQSm+kUsiu3TQK3OFmqnaMS9dIuzd8fUVkj8WvYc=; b=bj6PBXLoPV5F94OCAcRRrn0H3enHunfnwl8QOppIgPW0xdSVOy6F5pFiMKdhb9MEE+ y1BHKOMiXeQbp+ZL2C5ua4JnHg0168FfOPHGvipNpUMCboU13r2/xJP+/JcAnI57qA2x GIDEoZusP04DXZqeabv4Y0QRdDSEz7sx4slPx81maduA3di45oRuPL99qM6MlBHMGi9L wIa4gop4f6szJvtk16/R33/XsqCUoWMOHElVuJ+GVM7qAoykpH20+PR3mIw9e68UwRod xVvZT57cSv2EdceawcCw9x1rHxPyWXXySAN+JHrgxJJg3ZbNsCV9f+4RdpvbEz7sF6Nx JM1w== X-Gm-Message-State: AO0yUKWM6xMjvGdyq+Wq5XEgiQ76/2aK3WjSLbJdVYqTYvV89xTzs/qL IBH7fsYFKH2irW7EnVdeTknhdF2U4W7V3gc5hbxIlwVMVp4= X-Google-Smtp-Source: AK7set95XfAyizYIpzNRYtDIUVsqycAIygbPm9uH6n++f+8yIspVTOeqQ0zcn65B4/sd5yl5tNB/8DThlBUEuxGmG7M= X-Received: by 2002:a2e:a268:0:b0:295:a8c7:4b36 with SMTP id k8-20020a2ea268000000b00295a8c74b36mr6357497ljm.8.1678328019402; Wed, 08 Mar 2023 18:13:39 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202303082331.328NViDn050541@gitrepo.freebsd.org> In-Reply-To: From: Ed Maste Date: Wed, 8 Mar 2023 21:13:30 -0500 Message-ID: Subject: Re: git: c581962414ed - main - src.conf.5: Add some WITH_/WITHOUT_ option descriptions To: John Baldwin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4PXCQt0LNZz3kL7 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Wed, 8 Mar 2023 at 18:34, John Baldwin wrote: > > On 3/8/23 3:31 PM, Ed Maste wrote: > > The branch main has been updated by emaste: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=c581962414edfc26796319ccc988647b08b03ce1 > > > > commit c581962414edfc26796319ccc988647b08b03ce1 > > Author: Ed Maste > > AuthorDate: 2023-03-07 18:49:23 +0000 > > Commit: Ed Maste > > CommitDate: 2023-03-08 23:30:45 +0000 > > > > src.conf.5: Add some WITH_/WITHOUT_ option descriptions > > > > Reviewed by: markj, brooks > > Sponsored by: The FreeBSD Foundation > > Differential Revision: https://reviews.freebsd.org/D38961 > > Hah, I was just working on those, but I noticed that we don't have > duplicate WITH/WITHOUT options for other options so kind of punted. We already had (some) duplicates for options which have different defaults per architecture, like LLDB. These ones (plus WITH_LOADER_VERIEXEC_VECTX) were the only ones missing when running `make makeman`. I think there is some value to providing the list of architectures for WITH_ and WITHOUT_ defaults. Perhaps we could rework makeman to look also for a single option description (without WITH_/WITHOUT_ prefix), producing something like: WITH_LLDB / WITHOUT_LLDB Control building of the LLDB debugger. WITH_LLDB is the default setting on amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc and powerpc/powerpc64. WITHOUT_LLDB is the default setting on arm/armv6, arm/armv7, mips/mips, mips/mips64, riscv/riscv64 and riscv/riscv64sf. From nobody Thu Mar 9 02:20:42 2023 X-Original-To: dev-commits-src-main@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 4PXCZy4tpwz3xC9g; Thu, 9 Mar 2023 02:20: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 4PXCZy4T3Wz3kdy; Thu, 9 Mar 2023 02:20:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678328442; 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=NVA9jhaKBeJXjyO6puhhEu6QUihZwiAgaBkAxcEnLqg=; b=x4uiajR3aRp4sLVQxr10wkwJrOpbwKTNVLT2dgLz32MGX2ijIWn83fG/PzjoR49VvvCjl6 P5Vih+jcB2B/AWFzMD5Js1N1uIJiZ3xSpAMEe0nafzB4CyQwWUThSW0t2lxwVKXBt4HE9o orf1dPHfCHDvAw/IY4HHTtzvDDTJY3ryGoqX1vzM+z6pUScGjtyzP51X4GxzoNo6kHIwdk s/UeQAWkpMqZ0ujzSk/oGOi06r7n3zuFvieCEcYYzw66eBDS1Ly3jXe8o1kHzs+JozptE5 H7bcEyBoIR3oh8MFHWyUTYgpy897kVWY8Ucs1BX8jGyATMpheERj+CC7xd620A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678328442; 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=NVA9jhaKBeJXjyO6puhhEu6QUihZwiAgaBkAxcEnLqg=; b=LGyzUhV7S+uF+Hd6b9L6SgyJrCQXuI4wyboH9o/n5EGPZYSAr+DqHgU5xgZezz7UDlZYov hI9moj0Ac2DEPJKlfgDoyiq1f/QxVYc96CER7BRGK7VnGGt117UcaufBJfTjUjPDQ2iK6E oQDNBPNEPe78xDk3saqjsPzscswyeUqrXywNs9RozXpqhKKAP8ZK1l7ouMgLIfWwaMXOBO x1MEAMJotte92U9A1K15bJXOWNg3nrl0OAnwth6rc/ev9ThCodRjOtbW4cR9OimhZRbujx 31fOEdkRoCrUer5QbLytyG3aypseJUbThLTE1lfLlUE3TuKMs8KYU2t0Pv4Mdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678328442; a=rsa-sha256; cv=none; b=iCAbRXhCxVDmuDtkIXVyr3hwR/Wouh3at9NOhNE+aUq4KUek39zUUYQCXlEfGKKAttBSe6 RAXQDDFiJbRYUzf8IS3caXGysMtE0h0et2ZmCYSeWO+UN8nDNznZaln/tuIDzyUPFMBmDN 1dilqadlBJgaPdBJm6eghQMLcJi1Gn332hHqO4jmoOBKdMIUZWkc5quUvLYIJ/rsPtZocn JODQZ+sjq1wX1GAGxILPPk0M/obsuUMiDa/i5z6MQVxOwr7+2d62nVWXwYkMU+NgZAixc/ UUYC/a6wKxSetIYyOlatiRK2voJuoI4eDmfA5gxZttigdC10p7UVRRkfYjV7tw== 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 4PXCZy3X7HzqLB; Thu, 9 Mar 2023 02:20:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3292KgbM024732; Thu, 9 Mar 2023 02:20:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3292KgsI024731; Thu, 9 Mar 2023 02:20:42 GMT (envelope-from git) Date: Thu, 9 Mar 2023 02:20:42 GMT Message-Id: <202303090220.3292KgsI024731@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: bd258f88e579 - main - src.conf.5: Use common phrasing in WITHOUT_OFED text List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bd258f88e57982fd68ce179d900d373aef14b252 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=bd258f88e57982fd68ce179d900d373aef14b252 commit bd258f88e57982fd68ce179d900d373aef14b252 Author: Ed Maste AuthorDate: 2023-03-09 02:18:37 +0000 Commit: Ed Maste CommitDate: 2023-03-09 02:18:37 +0000 src.conf.5: Use common phrasing in WITHOUT_OFED text Reported by: jhb Sponsored by: The FreeBSD Foundation --- share/man/man5/src.conf.5 | 4 ++-- tools/build/options/WITHOUT_OFED | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 52b80513467e..0615afd8dead 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1261,9 +1261,9 @@ Build nvme related tools and kernel modules. This is a default setting on amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le. .It Va WITHOUT_OFED -Disable the build of the +Do not build the .Dq "OpenFabrics Enterprise Distribution" -Infiniband software stack, including kernel modules and userspace libraries. +InfiniBand software stack, including kernel modules and userspace libraries. .Pp This is a default setting on arm/armv6 and arm/armv7. diff --git a/tools/build/options/WITHOUT_OFED b/tools/build/options/WITHOUT_OFED index 63cb5b94eb28..8c38242cb1b8 100644 --- a/tools/build/options/WITHOUT_OFED +++ b/tools/build/options/WITHOUT_OFED @@ -1,4 +1,3 @@ -.\" $FreeBSD$ -Disable the build of the +Do not build the .Dq "OpenFabrics Enterprise Distribution" -Infiniband software stack, including kernel modules and userspace libraries. +InfiniBand software stack, including kernel modules and userspace libraries. From nobody Thu Mar 9 04:12:20 2023 X-Original-To: dev-commits-src-main@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 4PXG421ChQz3w56q for ; Thu, 9 Mar 2023 04:12:34 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PXG416D5xz3rjM for ; Thu, 9 Mar 2023 04:12:33 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x52f.google.com with SMTP id cy23so1939553edb.12 for ; Wed, 08 Mar 2023 20:12:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; t=1678335151; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=D2JOftstUo43CaRfnvHaLe5ombysS7v7r7bDZiRVpAo=; b=ZgE5bsMIaAit5U4aGASTAGYytBV6vwtbyj46+ykOefn5v5UqdqEwTPklbGl8PYU6xU wLd7iRiEzPO81529qEqHwyqTGPeUep010DZTrZXSL/ACNRGhNDtSBZ79gRTYDiaO3XOh QPnKdkhDSHk4jxzFvG/kK9BnmasyIjkrz2ZdCVSg6qfxzPBLJIGtXSi9kyyAV9G+QK36 5+8EinD+UXZzWs9jXODm5011dRvW2uo2kOnYjbCfFxzpsMzWLfJg/jPqJZZb4PR7GcYv yhDACA8M9VdMfoee9Rjq4HCA4o7kZVRG7tP2znXho1sn5QV9XlwVPMgInTaa6JCzbgp2 KoHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678335151; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=D2JOftstUo43CaRfnvHaLe5ombysS7v7r7bDZiRVpAo=; b=G6rKh6xzzhv6UTSNrf18L3y450lAU77xvw9z9kve5uLJC46iqIrMvFZ6Q7fbOhAwQH V6/GyFvrdZ374up/DBWFQIvHs4lshrG9L6AYrx2RN1775/DP+auK/Y2tkGrelvBV5Kin TzvNrz4xVKdhsPrrmmDnm+/Igz8xxt9hksK/XjEjd6MoarHawnyw02KIEygmMNnvdQBJ RJ9tT6cmgxKZnoPiWFU/4bPsMVXDqOxUpinZgVHyZTete6Z6XIR/tpbn0TDs4vIkGfRS pwRNXhggM74gUeF8gOZrFt15S7DH54WrOkekQmfrdk1xeZDmMEWKpN8KT2EP8u+iiiVV W+3A== X-Gm-Message-State: AO0yUKV5UoKthUJSDqO1Tg4G3Stj0744TocQlCaPHK0cVe5Fvxlb/z46 kV8mD8e5rgob1l3cOVfdDxSjsDdk9yART6ZLT0P2kg== X-Google-Smtp-Source: AK7set+5zsMqolILNtkxul3y3oH+UYRmYjXOqNz0Gm/4Gpa+dHNkBNaamhM9b6M2kqvqXPT/22QjWaOsO4RztoFljJE= X-Received: by 2002:a17:906:a05a:b0:8b2:23fb:dfd1 with SMTP id bg26-20020a170906a05a00b008b223fbdfd1mr10593792ejb.2.1678335151119; Wed, 08 Mar 2023 20:12:31 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202303082331.328NViDn050541@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Wed, 8 Mar 2023 21:12:20 -0700 Message-ID: Subject: Re: git: c581962414ed - main - src.conf.5: Add some WITH_/WITHOUT_ option descriptions To: Ed Maste Cc: John Baldwin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000007f321605f66fdaf1" X-Rspamd-Queue-Id: 4PXG416D5xz3rjM X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --0000000000007f321605f66fdaf1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Mar 8, 2023 at 7:13=E2=80=AFPM Ed Maste wrote: > On Wed, 8 Mar 2023 at 18:34, John Baldwin wrote: > > > > On 3/8/23 3:31 PM, Ed Maste wrote: > > > The branch main has been updated by emaste: > > > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3Dc581962414edfc26796319ccc988647= b08b03ce1 > > > > > > commit c581962414edfc26796319ccc988647b08b03ce1 > > > Author: Ed Maste > > > AuthorDate: 2023-03-07 18:49:23 +0000 > > > Commit: Ed Maste > > > CommitDate: 2023-03-08 23:30:45 +0000 > > > > > > src.conf.5: Add some WITH_/WITHOUT_ option descriptions > > > > > > Reviewed by: markj, brooks > > > Sponsored by: The FreeBSD Foundation > > > Differential Revision: https://reviews.freebsd.org/D38961 > > > > Hah, I was just working on those, but I noticed that we don't have > > duplicate WITH/WITHOUT options for other options so kind of punted. > > We already had (some) duplicates for options which have different > defaults per architecture, like LLDB. These ones (plus > WITH_LOADER_VERIEXEC_VECTX) were the only ones missing when running > `make makeman`. > > I think there is some value to providing the list of architectures for > WITH_ and WITHOUT_ defaults. Perhaps we could rework makeman to look > also for a single option description (without WITH_/WITHOUT_ prefix), > producing something like: > > WITH_LLDB / WITHOUT_LLDB > Control building of the LLDB debugger. > > WITH_LLDB is the default setting on amd64/amd64, arm64/aarch64, > i386/i386, powerpc/powerpc and powerpc/powerpc64. > > WITHOUT_LLDB is the default setting on arm/armv6, arm/armv7, > mips/mips, > mips/mips64, riscv/riscv64 and riscv/riscv64sf. > Yea, there's no reason to have the description twice... Warner --0000000000007f321605f66fdaf1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Wed, Mar 8, 2023 at 7:13=E2=80=AFP= M Ed Maste <emaste@freebsd.org= > wrote:
On W= ed, 8 Mar 2023 at 18:34, John Baldwin <jhb@freebsd.org> wrote:
>
> On 3/8/23 3:31 PM, Ed Maste wrote:
> > The branch main has been updated by emaste:
> >
> > URL: htt= ps://cgit.FreeBSD.org/src/commit/?id=3Dc581962414edfc26796319ccc988647b08b0= 3ce1
> >
> > commit c581962414edfc26796319ccc988647b08b03ce1
> > Author:=C2=A0 =C2=A0 =C2=A0Ed Maste <emaste@FreeBSD.org> > > AuthorDate: 2023-03-07 18:49:23 +0000
> > Commit:=C2=A0 =C2=A0 =C2=A0Ed Maste <emaste@FreeBSD.org> > > CommitDate: 2023-03-08 23:30:45 +0000
> >
> >=C2=A0 =C2=A0 =C2=A0 src.conf.5: Add some WITH_/WITHOUT_ option de= scriptions
> >
> >=C2=A0 =C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 markj, brooks
> >=C2=A0 =C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0The FreeBSD Foundat= ion
> >=C2=A0 =C2=A0 =C2=A0 Differential Revision: https://revie= ws.freebsd.org/D38961
>
> Hah, I was just working on those, but I noticed that we don't have=
> duplicate WITH/WITHOUT options for other options so kind of punted.
We already had (some) duplicates for options which have different
defaults per architecture, like LLDB. These ones (plus
WITH_LOADER_VERIEXEC_VECTX) were the only ones missing when running
`make makeman`.

I think there is some value to providing the list of architectures for
WITH_ and WITHOUT_ defaults. Perhaps we could rework makeman to look
also for a single option description (without WITH_/WITHOUT_ prefix),
producing something like:

WITH_LLDB / WITHOUT_LLDB
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Control building of the LLDB debugger.

=C2=A0 =C2=A0 =C2=A0 =C2=A0 WITH_LLDB is the default setting on amd64/amd64= , arm64/aarch64,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 i386/i386, powerpc/powerpc and powerpc/powerpc6= 4.

=C2=A0 =C2=A0 =C2=A0 =C2=A0 WITHOUT_LLDB is the default setting on arm/armv= 6, arm/armv7, mips/mips,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 mips/mips64, riscv/riscv64 and riscv/riscv64sf.=

Yea, there's no reason to have the= description twice...

Warner=C2=A0
--0000000000007f321605f66fdaf1-- From nobody Thu Mar 9 05:35:12 2023 X-Original-To: dev-commits-src-main@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 4PXHvN64c2z3wBPR; Thu, 9 Mar 2023 05:35:12 +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 4PXHvN5Hxcz41by; Thu, 9 Mar 2023 05:35:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678340112; 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=OgSfiNXASb2kk1nx3H3WQOyqiia0/UP5U0z6YHEZW5I=; b=NKuGH9mh5sBpwIrvJiuCvauUMzH5g++yjXzytxPkJI6nQO6+4mOfiFZIp2nMjR3ldBwy0r 7sPFz842+QpCQPwyhcza9GsgDgvOEQGkyAREYXS6dhhGkyQJTI0rT5JCtjvixUdnBbT9Me rKze01u2SdnXhx1nPzfEWGqGkfT9EYdH5Hc+JXbggJJlhrT5GEGcAQHGfAlPcMJJTrKM7t +yXYnDFaZ2Cyq9oLPYSDsN2MTb/tCQ/bE4goWN6RYP7R0p6j1TPmF2AoRVunVTlwk9QXTW 05IxeyURfATBMrYNb/+rYu2aQQ5etiopvOF4b2W4upyn/0VLBE6Dx5cgwoSrTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678340112; 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=OgSfiNXASb2kk1nx3H3WQOyqiia0/UP5U0z6YHEZW5I=; b=Y9+SLQW007nYnEl89kwLn2sKqEyd8e1yeks5CrS2uzqWV2RhYj0OuTSpqxG77cdP5gvJu+ f0lUnUufojD0v2g+0U16Ym8i+QtTk/QiYkEckPeIV2t/4sOAcRZii4B0BfQ2fzb3iI4+Ey uAttaOQOiwKwmmSlOtwVuUoCM7gvtCtQf9BgePHh0m2pNU28sFbGmpF2kgTD207QfYdbDk Yf9mNA+Bk97TnEiv+shjFpuduPVtgBP+3CI7FV+8LCF7RM3YZTCAylHATZBAd06Nj3bgqa 8fQ7RWUz9PlxKQ322fQCi+4JvhHeIFnq/dh+0tzI9W2voDoZatCD5e8Akz45ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678340112; a=rsa-sha256; cv=none; b=jyiBVlWvRUzCNSp8KrrcTVuPxKs6c1JlIimihKnhgBDFrCBSXX1dtJezEnZE8b6e+f+9CR TFrKzoFzOOnJtCsGY5WVuJDunS8pKBeLYBPEj/OZRO5mXOkuUdizAWReGk7WcEMfGA0zct pU7iU0NByO0rPuSXhlHJ0A5oBRn8hlZs5v9O5/Wx3+rtpkpvU7LWVkh80adyHyFuZ5ChDi 2JMIllYwBf+oZgxKJLtGjRWDjsqj3AW8vQmslCBOCSUeuJmJlmZAtqalHucKJqWiSXLgG+ sMFZRwnX9v/ZWUcuYdZ9mjscjs1lUBSK7buFltICIoQzE/C0yUrkbAgQKcTKig== 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 4PXHvN4N9pzw9c; Thu, 9 Mar 2023 05:35:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3295ZC9r045077; Thu, 9 Mar 2023 05:35:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3295ZC0B045076; Thu, 9 Mar 2023 05:35:12 GMT (envelope-from git) Date: Thu, 9 Mar 2023 05:35:12 GMT Message-Id: <202303090535.3295ZC0B045076@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: f6d6c6688900 - main - grep: remove tautological condition List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f6d6c66889001208aee7b0c46efe1c8ddffda57c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=f6d6c66889001208aee7b0c46efe1c8ddffda57c commit f6d6c66889001208aee7b0c46efe1c8ddffda57c Author: Kyle Evans AuthorDate: 2023-03-09 05:29:30 +0000 Commit: Kyle Evans CommitDate: 2023-03-09 05:34:22 +0000 grep: remove tautological condition st_size is an off_t, it cannot hold values larger than OFF_MAX. CID: 1008931 --- usr.bin/grep/file.c | 3 +-- usr.sbin/pkg/config.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ usr.sbin/pkg/config.h | 1 + usr.sbin/pkg/pkg.c | 5 +++++ 4 files changed, 62 insertions(+), 2 deletions(-) diff --git a/usr.bin/grep/file.c b/usr.bin/grep/file.c index 8577572c2887..787e8fbe03bb 100644 --- a/usr.bin/grep/file.c +++ b/usr.bin/grep/file.c @@ -186,8 +186,7 @@ grep_open(const char *path) if (filebehave == FILE_MMAP) { struct stat st; - if ((fstat(f->fd, &st) == -1) || (st.st_size > OFF_MAX) || - (!S_ISREG(st.st_mode))) + if (fstat(f->fd, &st) == -1 || !S_ISREG(st.st_mode)) filebehave = FILE_STDIO; else { int flags = MAP_PRIVATE | MAP_NOCORE | MAP_NOSYNC; diff --git a/usr.sbin/pkg/config.c b/usr.sbin/pkg/config.c index 08e206b93511..6902cfe41b7c 100644 --- a/usr.sbin/pkg/config.c +++ b/usr.sbin/pkg/config.c @@ -567,3 +567,58 @@ config_finish(void) { for (i = 0; i < CONFIG_SIZE; i++) free(c[i].value); } + + +static int +config_value(const char *key) +{ + const struct config_entry *cp; + + for (size_t i = 0; i < nitems(c); i++) { + cp = &c[i]; + + if (strcmp(cp->key, key) == 0) { + switch (cp->type) { + case PKG_CONFIG_STRING: { + const char *val; + + (void)config_string(i, &val); + printf("%s\n", val); + break; + } + case PKG_CONFIG_BOOL: { + bool val; + + (void)config_bool(i, &val); + printf("%s\n", val ? "yes" : "no"); + break; + } + } + + return (0); + } + } + + return (ENOENT); +} + +int +config_show(int argc, char *argv[]) +{ + int error; + + if (argc != 1) { + fprintf(stderr, "Usage: pkg -N config \n"); + return (1); + } + + config_init(NULL); + error = config_value(argv[0]); + config_finish(); + + if (error == ENOENT) { + fprintf(stderr, "pkg: No such configuration options: %s\n", + argv[0]); + } + return (error); +} diff --git a/usr.sbin/pkg/config.h b/usr.sbin/pkg/config.h index 87efd3c29e94..8cb878291a7e 100644 --- a/usr.sbin/pkg/config.h +++ b/usr.sbin/pkg/config.h @@ -62,6 +62,7 @@ typedef enum { int config_init(const char *); void config_finish(void); +int config_show(int, char *[]); int config_string(pkg_config_key, const char **); int config_bool(pkg_config_key, bool *); diff --git a/usr.sbin/pkg/pkg.c b/usr.sbin/pkg/pkg.c index 7b574dc42db2..3d4119d85bf8 100644 --- a/usr.sbin/pkg/pkg.c +++ b/usr.sbin/pkg/pkg.c @@ -1195,6 +1195,11 @@ main(int argc, char *argv[]) else if (strcmp(command, "bootstrap") == 0) { bootstrap_only = true; } + else if (strcmp(command, "config") == 0 && + activation_test) { + exit(config_show(argc - optind, + argv + optind)); + } } // bootstrap doesn't accept other arguments else if (bootstrap_only) { From nobody Thu Mar 9 05:53:55 2023 X-Original-To: dev-commits-src-main@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 4PXJJz4Mqdz3wCWX; Thu, 9 Mar 2023 05:53:55 +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 4PXJJz3YYDz4354; Thu, 9 Mar 2023 05:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678341235; 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=pkSkOYuo43cDIIiy6S0f9j0e/KeWr9FFFDln9Hg50qQ=; b=rXYcZwbCrHshJZEJiOnyLIm4ejtafozgamr3Q/b46Vb77Nm4IyMcnxR9wjQjHFFTMEgqBr PGti6eDcMzjx6B16hsL64WScJTfLpcG5YarjBBkVoApzFV4x2lVMdzmdtuFf4tvexsSZC4 ZkoOOajUWB0csr+WwR8LkV4SojVtnX77HrHSRK4FmI+sMwM7PEbcVn4llyqSIfKBk4Vb13 1AZP9qls+g+qir35bRvuKAZSl7UkvkuLrHIO+muZuTHTKw7Y0TtZ5eAd78u0v6IEAU5fyt e5BX8ENSBfKZKhOLX2vZPDUFD5c4GKoBwiIyvqhYK0hYaN/VqS2qOsMR8/GzXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678341235; 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=pkSkOYuo43cDIIiy6S0f9j0e/KeWr9FFFDln9Hg50qQ=; b=J3LUpFLHRlpFTrXvrcEFONEgI6aOKToqmjkKqijCJiVXfDn49JWcyoh6h9FT4OSOFcp+QJ bFMxZlYOHzLJ4LhCHARrcWU0dQo47XmS/iR5zgsykyw/WPYyTRhXpwAKQ271B5kqMEIQVw Rhq/76nChDimPoi79MlUHLcG0bzkMd3O0uN4Nin6Une7BccevFvYQW5XqbhIEKao+OVE4G GzYNECN9kawFios5wtOXUvI3Hsn762Bw+pwG7ePqGiDXLdrsyHpeu5V/5a9K8iw5NxbfeN 4iF1o286kr0hlvE2+amt9whXS4uSWcFb9g4vPVli55AwyICqQoGr9czPTtNprw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678341235; a=rsa-sha256; cv=none; b=jBBGsShbBRwiRNoikXwp/fmvsnlZhtFVo4gJsZCQ3bBS9nYL6qJFW4eqwVuOtk4v2pCD7+ ojow/yG+MFAmJ6l3axthBdwnds6Zl5o7jp9DNsRu59lh+9OJrYeNTuGvQSwtF14OzfEOVb ec2RHK4KDDmayPb4k7rBkGEAMNtF2P84WmU+WTYWKXU+/KRm5ueKRAL1BoqJWSbsOMScwJ q5P4ZiW9JEJMgYDq12ib9MMdvfQ9a5yCPFknWJkdnL0+wGBi4j1OK6XlXcVWmC9smIA6sj BVVW4DBdoTMtsA1aIswpoGmRnkFyRWVBKrpOyNmVmDpMI99EiZWUI1168zt6OA== 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 4PXJJz2bdJzwQy; Thu, 9 Mar 2023 05:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3295rtav077382; Thu, 9 Mar 2023 05:53:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3295rtKE077381; Thu, 9 Mar 2023 05:53:55 GMT (envelope-from git) Date: Thu, 9 Mar 2023 05:53:55 GMT Message-Id: <202303090553.3295rtKE077381@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: c816aea7abcf - main - Revert "grep: remove tautological condition" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c816aea7abcf7a6e9471907dcb7ee3d7969a0ab3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c816aea7abcf7a6e9471907dcb7ee3d7969a0ab3 commit c816aea7abcf7a6e9471907dcb7ee3d7969a0ab3 Author: Kyle Evans AuthorDate: 2023-03-09 05:52:23 +0000 Commit: Kyle Evans CommitDate: 2023-03-09 05:52:23 +0000 Revert "grep: remove tautological condition" This reverts commit f6d6c66889001208aee7b0c46efe1c8ddffda57c. Gremlins snuck into my tree and injected some WIP. --- usr.bin/grep/file.c | 3 ++- usr.sbin/pkg/config.c | 55 --------------------------------------------------- usr.sbin/pkg/config.h | 1 - usr.sbin/pkg/pkg.c | 5 ----- 4 files changed, 2 insertions(+), 62 deletions(-) diff --git a/usr.bin/grep/file.c b/usr.bin/grep/file.c index 787e8fbe03bb..8577572c2887 100644 --- a/usr.bin/grep/file.c +++ b/usr.bin/grep/file.c @@ -186,7 +186,8 @@ grep_open(const char *path) if (filebehave == FILE_MMAP) { struct stat st; - if (fstat(f->fd, &st) == -1 || !S_ISREG(st.st_mode)) + if ((fstat(f->fd, &st) == -1) || (st.st_size > OFF_MAX) || + (!S_ISREG(st.st_mode))) filebehave = FILE_STDIO; else { int flags = MAP_PRIVATE | MAP_NOCORE | MAP_NOSYNC; diff --git a/usr.sbin/pkg/config.c b/usr.sbin/pkg/config.c index 6902cfe41b7c..08e206b93511 100644 --- a/usr.sbin/pkg/config.c +++ b/usr.sbin/pkg/config.c @@ -567,58 +567,3 @@ config_finish(void) { for (i = 0; i < CONFIG_SIZE; i++) free(c[i].value); } - - -static int -config_value(const char *key) -{ - const struct config_entry *cp; - - for (size_t i = 0; i < nitems(c); i++) { - cp = &c[i]; - - if (strcmp(cp->key, key) == 0) { - switch (cp->type) { - case PKG_CONFIG_STRING: { - const char *val; - - (void)config_string(i, &val); - printf("%s\n", val); - break; - } - case PKG_CONFIG_BOOL: { - bool val; - - (void)config_bool(i, &val); - printf("%s\n", val ? "yes" : "no"); - break; - } - } - - return (0); - } - } - - return (ENOENT); -} - -int -config_show(int argc, char *argv[]) -{ - int error; - - if (argc != 1) { - fprintf(stderr, "Usage: pkg -N config \n"); - return (1); - } - - config_init(NULL); - error = config_value(argv[0]); - config_finish(); - - if (error == ENOENT) { - fprintf(stderr, "pkg: No such configuration options: %s\n", - argv[0]); - } - return (error); -} diff --git a/usr.sbin/pkg/config.h b/usr.sbin/pkg/config.h index 8cb878291a7e..87efd3c29e94 100644 --- a/usr.sbin/pkg/config.h +++ b/usr.sbin/pkg/config.h @@ -62,7 +62,6 @@ typedef enum { int config_init(const char *); void config_finish(void); -int config_show(int, char *[]); int config_string(pkg_config_key, const char **); int config_bool(pkg_config_key, bool *); diff --git a/usr.sbin/pkg/pkg.c b/usr.sbin/pkg/pkg.c index 3d4119d85bf8..7b574dc42db2 100644 --- a/usr.sbin/pkg/pkg.c +++ b/usr.sbin/pkg/pkg.c @@ -1195,11 +1195,6 @@ main(int argc, char *argv[]) else if (strcmp(command, "bootstrap") == 0) { bootstrap_only = true; } - else if (strcmp(command, "config") == 0 && - activation_test) { - exit(config_show(argc - optind, - argv + optind)); - } } // bootstrap doesn't accept other arguments else if (bootstrap_only) { From nobody Thu Mar 9 05:53:56 2023 X-Original-To: dev-commits-src-main@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 4PXJK04fV1z3wCS6; Thu, 9 Mar 2023 05:53:56 +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 4PXJK0480Dz42r2; Thu, 9 Mar 2023 05:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678341236; 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=yx6p2BC0XV7MMl0ZTR5kJHgjAnXSLxCkM85fBukUKdU=; b=XG3crnHQu8C0T2+KX/+BtbOIrzB0EFWFLVNt8BfzXA2czvjChoD56cePLlHUPnF+8uD8n6 gGrmQub5vxOKi24DNUsjHq6Fdc2qqR3QRIlb0UxJNOLFft4TI2DfYhzJr2VyuDDwbPAVSP PjOJ76RX2Z6+5UJf4lJsqwaRK2sk80QeiHr65BBM1ifN4JUNzACyJNOJopFAbzThTfgB5O wOnKGCa7x+dhNZ5VGq/6I2nkl5tAj+zrpCdduSmR6nPZ51ssZctSaX18aIX0GSs6HuBe5+ Xem2MDCdZHJruyq5jP9wULRjCOuSpIElmVQPhRabqq/e+DICyjlCqfX3nxDGjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678341236; 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=yx6p2BC0XV7MMl0ZTR5kJHgjAnXSLxCkM85fBukUKdU=; b=XLDg9xAGivh8z0elpQB3Kl/3pLMUi7v2eI9gBk6EcWsDU4iOgIQCFlgamiy5wjpB+g3TwV /JIzML4Q+UP7nv67JehBP4YC5AyY8palUk/BZMK3RuiJ+br7hKWUggvDHMQM3Dy8VTTMgE 0VF/rDQIzas+dEBBDAG03G93u+sAzGtAybaEipEmoWUarmmV42tZUSKKqcRGTkFSVppuOS tiM22kIlj8i9fcDejoQVu17eXvVr6Ys+8Xb1fhStme2o8HjW2OJs9Knqc6EvK0s7HXWFGb Re35rkMXh/P3Lyj56l+U3Ts24RK99TEP+n6yW31iXUbNGYVX0rMZOVhSijFc+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678341236; a=rsa-sha256; cv=none; b=stdMbN2Qig+kcws0qzASkwh76/JDlEQAG6q26XpdpCm5/KDxStAy92Ix+mHg+nFrjnIcvs CR6sJyR8dypjfbllV0fHShTnf+TbIDVyf3WdfWRB7D4RKMHPY3Smvoqke8dFimvIn7giHE vMxyOEzyZ1d0CPqmPb3/et23v8ZpKZaK0fIIVa9B0Uug7PX5xRoOWLeDzxVFmqeNA/n0HK KVfB3ffhc4ycVAnayLso6JeJ0HaDagXthDzVY/Zd70tqlh1I0Knd1UQlwtALnjfdHdqyXz xW6MDB70oVlOewkFOROYxPGWrOhDrnqjL+26Nt/SF/BUChsK40guJJNigOKr3Q== 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 4PXJK03FQpzwR0; Thu, 9 Mar 2023 05:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3295rut2077401; Thu, 9 Mar 2023 05:53:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3295rubU077400; Thu, 9 Mar 2023 05:53:56 GMT (envelope-from git) Date: Thu, 9 Mar 2023 05:53:56 GMT Message-Id: <202303090553.3295rubU077400@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: b61758494286 - main - grep: remove tautological condition List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b61758494286db075d5c6b68a5f2e7522e7be394 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=b61758494286db075d5c6b68a5f2e7522e7be394 commit b61758494286db075d5c6b68a5f2e7522e7be394 Author: Kyle Evans AuthorDate: 2023-03-09 05:53:10 +0000 Commit: Kyle Evans CommitDate: 2023-03-09 05:53:10 +0000 grep: remove tautological condition st_size is an off_t, it cannot hold values larger than OFF_MAX. CID: 1008931 --- usr.bin/grep/file.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/usr.bin/grep/file.c b/usr.bin/grep/file.c index 8577572c2887..787e8fbe03bb 100644 --- a/usr.bin/grep/file.c +++ b/usr.bin/grep/file.c @@ -186,8 +186,7 @@ grep_open(const char *path) if (filebehave == FILE_MMAP) { struct stat st; - if ((fstat(f->fd, &st) == -1) || (st.st_size > OFF_MAX) || - (!S_ISREG(st.st_mode))) + if (fstat(f->fd, &st) == -1 || !S_ISREG(st.st_mode)) filebehave = FILE_STDIO; else { int flags = MAP_PRIVATE | MAP_NOCORE | MAP_NOSYNC; From nobody Thu Mar 9 09:37:33 2023 X-Original-To: dev-commits-src-main@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 4PXPH121RVz3wS7w; Thu, 9 Mar 2023 09:37:33 +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 4PXPH11W9Kz4WgR; Thu, 9 Mar 2023 09:37:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678354653; 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=p08MNIbkkXl4RzKoEM4evJdnFI2xolzVcLPh/4t3uH4=; b=BXLnuDuB91QZSzO23AWqWIEzWOzie+CTa2/oDlamGqQcw97AdJPp+5RWCIfH9klySzIUQQ LZ/AJ8cm/oAj6lLO+B3KzcgzswOq4eiNPMkGA7zhmIjjCDs7aHFeO8fzb/CnUKyXRE+Dbb dvdHFtd8q8js0QDpyONGOJ3vKmUpl9bxAJpQArqNoN3ia75YjBlv6JSHVRCWyaTZXDG+Rb irVWvTXsTAn1lgFyHdtetPunskKpas/ylxD9M4T43sP32J2lhC63ic2DoUU8V2UsInuQvA cKqtcta8y0lryGGkHGzmtk6ipcRb/MLsOVhPrTl4+1ci4i/VKIgxbddJvhwccQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678354653; 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=p08MNIbkkXl4RzKoEM4evJdnFI2xolzVcLPh/4t3uH4=; b=UUjoVPyHMBBDnh1nqSwsDn0Uj8bchgT2xEy7tNZveenoe/KjnGdI8/kBVvpl4P6ZTn+UqG aONRy7pkLIbtY+wVeyHm9pezh+wZwH9PZ/ybb6AokEEplg6g61I1xIq5EaQsr9oD4Du1U2 YKsOQDBUCv9sHKLzcrTmCJX5nwz5g6TiDF6FWObLj+nyKpMUD3jvsENesmf5DXlPDrVRlA lMcGG9OqjsTkkCPYcgqRIkXeEQjza8gKf4MpNoIFt1YDhZFqOsBGRfnaL4DvBdZUVQI6TH CH/+IL3dU2NKOmRbb68vk7cWiy6Qutickj8HzdCQSD17Mafvahugztmn6t64EA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678354653; a=rsa-sha256; cv=none; b=lCEzzBTJb/hGWfguwjkPmlTU2g5gZYNi5TjVoyTIywujfda3FnvdwNCgo4r+6ZcFABwmrf O6tOLrcob2ONPKnsL0uG5Xk9EgjH68b54cPemgFLLRyjdADHGOofR2CqjF/W8CO2tED47j I0wRHFb0XXleYEocp6INZcB8rSvOEzMciaSEz+g4AlgItumYJZ69KeBkrijdKGDFrGNXmV a+OfZE4lLGvojed6pEVWZlrrf0a5jTBgYjPxJPmnTmckGOOa0dOAG/1plgZOiRFdXwfwaV 8cT5WgkChz4THsid5Fz/5ko3ilKzI/NZyyUrxSESh1m4BY0N2iDJ1KxLjm+6QA== 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 4PXPH10Z4cz12pQ; Thu, 9 Mar 2023 09:37:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3299bXoj039621; Thu, 9 Mar 2023 09:37:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3299bXSV039620; Thu, 9 Mar 2023 09:37:33 GMT (envelope-from git) Date: Thu, 9 Mar 2023 09:37:33 GMT Message-Id: <202303090937.3299bXSV039620@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tijl Coosemans Subject: git: 862aab6281a5 - main - hostid: Generate random UUID by default List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tijl X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 862aab6281a5e6b5dad89761ac17ca2a0e83ab32 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=862aab6281a5e6b5dad89761ac17ca2a0e83ab32 commit 862aab6281a5e6b5dad89761ac17ca2a0e83ab32 Author: Tijl Coosemans AuthorDate: 2023-03-09 09:02:45 +0000 Commit: Tijl Coosemans CommitDate: 2023-03-09 09:31:39 +0000 hostid: Generate random UUID by default This way MAC addresses are no longer exposed. Discussed with: bapt MFC after: 3 days --- libexec/rc/rc.conf | 1 + libexec/rc/rc.d/hostid | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 9bb7cf2f3cc1..8a5f69dbef12 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -137,6 +137,7 @@ extra_netfs_types="NO" # List of network extra filesystem types for delayed hostname="" # Set this! hostid_enable="YES" # Set host UUID. hostid_file="/etc/hostid" # File with hostuuid. +hostid_uuidgen_flags="-r" # Flags to uuidgen. nisdomainname="NO" # Set to NIS domain if using NIS (or NO). dhclient_program="/sbin/dhclient" # Path to dhcp client program. dhclient_flags="" # Extra flags to pass to dhcp client. diff --git a/libexec/rc/rc.d/hostid b/libexec/rc/rc.d/hostid index 494e4aba84e1..8db475694090 100755 --- a/libexec/rc/rc.d/hostid +++ b/libexec/rc/rc.d/hostid @@ -126,7 +126,7 @@ hostid_generate() # Generate a random UUID if invalid or not found if [ -z "${uuid}" ]; then # If not found, fall back to software-generated UUID. - uuid=`uuidgen` + uuid=`uuidgen ${hostid_uuidgen_flags}` fi hostid_set $uuid } From nobody Thu Mar 9 09:37:34 2023 X-Original-To: dev-commits-src-main@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 4PXPH231Xmz3wS87; Thu, 9 Mar 2023 09:37:34 +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 4PXPH22SMDz4WXs; Thu, 9 Mar 2023 09:37:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678354654; 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=vnb09Z2UljGjCf9eH0Csf2Bj2gAq4x4yWJJqwaCB19Q=; b=uAhClTYr2l9IkGMDFLhl+hPJE1iPYx5R2tYwCTvgWLllqSXAvFauqHSoJ8p7shcPI+Ehmw 3/j7hy9A5GXrzClQH00md6ttBtm3W748RNdBLALF2QaJVRZMxbCqIL5NYtt1cUmhXZoLLu g6XvyN4AwYxoP983mkb8sVYUCBa7SzCaMlYoHHdjfH6yhvYnZzd6+iql2YXafvuVJN5tt6 D0ssKdFWP/5dy5HS9cIl+Eaic+i/rzXgywecQEK7iDdvRaFVXUNH73LMbhbl47Q39moLP0 WSiec8SVPGeCyBEs81Evlq9Fqfyrd4jHfKfMiBK52kkVp/v+ctF5XIL51B2t3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678354654; 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=vnb09Z2UljGjCf9eH0Csf2Bj2gAq4x4yWJJqwaCB19Q=; b=I0YREfeQBp6duo1RmLkDIXmESmbKmLNOyTRgDqTzLmiVL5wTJp5t5KDgVOjIzgAW9lv1o5 qnchTAm7xtVZ31D9l7vSLSzy6H8mAVY/7k+RLzZyixbidZPje7L/8YGszba7QfKcGlT4Pf dAKWdXf2OEjKTRwfojSvy+WyqbhU6ueeHyTwQJbcpVyawOCvQ+CcrXKjIgkqcaKRqjR0D+ dgPyCEskM2bSX5idFDUYaiuX6FdqG9jsbzIgFCastoUQG1ROKsm/xi6MJqbke7eVHm1GvF 3kX67kTdSe5L0OrxnbmbCxusAUwsegcbMdYPyUo9HA6ErqhfWc30+R6N4rZ9pQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678354654; a=rsa-sha256; cv=none; b=pSVI65oQy0wo5ZQozvha6tJg8fwg1Qdd1GW/k5OfEP/qBkkfV4EHF7rOm1XI2TKaV77g1v QgRYrxexMZ2+QMnMd4cQJyJ7vkU4pNqhC+FfTrG1KRh94Yyb2E8fh6qAlTV/FFl6DEvV9o vpcO7CAjx3ycMsuqb05k1gbSgPOIp5eZmS/0PhUoWtPlHFe3hfJEotfmsMDBGbtBS4kivu so47Mi4jHDo7s8Ki+Js2rOAKDxYTqQWll38Jq/xyQwmb7RQYWAayGl1w9m70lgY2o4grbJ zagGUGIuEsSns89PZCh93bNd4h5AmuKxzaDiYc/qDTrisJh5y1B9RswG1S1MyA== 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 4PXPH21Wkdz124h; Thu, 9 Mar 2023 09:37:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3299bYf5039640; Thu, 9 Mar 2023 09:37:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3299bYiv039639; Thu, 9 Mar 2023 09:37:34 GMT (envelope-from git) Date: Thu, 9 Mar 2023 09:37:34 GMT Message-Id: <202303090937.3299bYiv039639@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tijl Coosemans Subject: git: ecad3f5c4d92 - main - rc.d: Generate machine-id from hostid_save List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tijl X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ecad3f5c4d922f93ceba455f8bff1c54e1ed4174 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=ecad3f5c4d922f93ceba455f8bff1c54e1ed4174 commit ecad3f5c4d922f93ceba455f8bff1c54e1ed4174 Author: Tijl Coosemans AuthorDate: 2023-02-15 20:09:51 +0000 Commit: Tijl Coosemans CommitDate: 2023-03-09 09:31:55 +0000 rc.d: Generate machine-id from hostid_save rc.d/hostid_save saves a UUID generated by rc.d/hostid in /etc/hostid. Store the same UUID, without hyphens, in /etc/machine-id. The hypĥens are removed with a shell function because hostid_save runs before file systems are mounted so other tools may not be available yet. This eliminates some duplication between hostid and machine-id and for virtual machines machine-id now contains the UUID configured in the hypervisor like it does on Linux. Reviewed by: delphij Discussed with: bapt MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38811 --- ObsoleteFiles.inc | 3 +++ etc/Makefile | 2 -- libexec/rc/rc.conf | 4 +--- libexec/rc/rc.d/Makefile | 1 - libexec/rc/rc.d/hostid_save | 28 ++++++++++++++++++++-------- libexec/rc/rc.d/machine_id | 34 ---------------------------------- sys/sys/param.h | 2 +- 7 files changed, 25 insertions(+), 49 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 23bdd366f40b..7bbd91525cd5 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20230308: machine-id merged into hostid_save +OLD_FILES+=etc/rc.d/machine-id + # 20230306: remove tzsetwall(3) OLD_FILES+=usr/share/man/man3/tzsetwall.3.gz diff --git a/etc/Makefile b/etc/Makefile index 88f890b91604..4e28739268e6 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -59,8 +59,6 @@ distribution: ${_+_}cd ${SRCTOP}/usr.sbin/rmt; ${MAKE} etc-rmt ${INSTALL_SYMLINK} -T "package=runtime" ../var/run/os-release \ ${DESTDIR}/etc/os-release - ${INSTALL_SYMLINK} -T "package=runtime" ../var/db/machine-id \ - ${DESTDIR}/etc/machine-id .if ${MK_UNBOUND} != "no" if [ ! -e ${DESTDIR}/etc/unbound ]; then \ ${INSTALL_SYMLINK} -T "package=unbound" \ diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 8a5f69dbef12..932fd2ace778 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -138,6 +138,7 @@ hostname="" # Set this! hostid_enable="YES" # Set host UUID. hostid_file="/etc/hostid" # File with hostuuid. hostid_uuidgen_flags="-r" # Flags to uuidgen. +machine_id_file="/etc/machine-id" # File with machine-id. nisdomainname="NO" # Set to NIS domain if using NIS (or NO). dhclient_program="/sbin/dhclient" # Path to dhcp client program. dhclient_flags="" # Extra flags to pass to dhcp client. @@ -696,9 +697,6 @@ harvest_mask="511" # Entropy device harvests all but the very invasive sources. osrelease_enable="YES" # Update /var/run/os-release on boot (or NO). osrelease_file="/var/run/os-release" # File to update for os-release. osrelease_perms="444" # Default permission for os-release file. -machine_id_enable="YES" # Create /var/db/machine-id on boot if missing (or NO). -machine_id_file="/var/db/machine-id" # File to update for machine-id. -machine_id_perms="444" # Default permissions for machine-id file. dmesg_enable="YES" # Save dmesg(8) to /var/run/dmesg.boot watchdogd_enable="NO" # Start the software watchdog daemon watchdogd_flags="" # Flags to watchdogd (if enabled) diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile index e2019c60f196..9be66195e774 100644 --- a/libexec/rc/rc.d/Makefile +++ b/libexec/rc/rc.d/Makefile @@ -49,7 +49,6 @@ CONFS= DAEMON \ local \ localpkg \ lockd \ - machine_id \ mixer \ motd \ mountcritlocal \ diff --git a/libexec/rc/rc.d/hostid_save b/libexec/rc/rc.d/hostid_save index f535ea2596f2..f737ed7f74cf 100755 --- a/libexec/rc/rc.d/hostid_save +++ b/libexec/rc/rc.d/hostid_save @@ -15,20 +15,32 @@ start_cmd="hostid_save" stop_cmd=":" rcvar="hostid_enable" +hostid_machine_id() +{ + local IFS + + IFS=- + set -- ${current_hostid} + IFS= + current_machine_id=$* +} + hostid_save() { current_hostid=`$SYSCTL_N kern.hostuuid` - if [ -r ${hostid_file} ]; then - read saved_hostid < ${hostid_file} - if [ ${saved_hostid} = ${current_hostid} ]; then - exit 0 - fi + read saved_hostid 2>/dev/null < ${hostid_file} + if [ "${saved_hostid}" != "${current_hostid}" ]; then + echo "${current_hostid}" > ${hostid_file} || + warn "could not store hostuuid in ${hostid_file}." fi - echo ${current_hostid} > ${hostid_file} - if [ $? -ne 0 ]; then - warn "could not store hostuuid in ${hostid_file}." + hostid_machine_id + + read saved_machine_id 2>/dev/null < ${machine_id_file} + if [ "${saved_machine_id}" != "${current_machine_id}" ]; then + echo "${current_machine_id}" > ${machine_id_file} || + warn "could not store hostuuid in ${machine_id_file}." fi } diff --git a/libexec/rc/rc.d/machine_id b/libexec/rc/rc.d/machine_id deleted file mode 100644 index 8bf3e41d0603..000000000000 --- a/libexec/rc/rc.d/machine_id +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -# PROVIDE: machine_id -# REQUIRE: mountcritremote FILESYSTEMS -# BEFORE: LOGIN - -. /etc/rc.subr - -: ${machine_id_file:=/var/db/machine-id} -: ${machine_id_perms:=444} -name="machine_id" -desc="Update ${machine_id_file}" -rcvar="machine_id_enable" -start_cmd="machine_id_start" -stop_cmd=":" - - -machine_id_start() -{ - if [ ! -f ${machine_id_file} ] ; then - startmsg -n "Creating ${machine_id_file} " - t=$(mktemp -t machine-id) - /bin/uuidgen -r -c -o $t - install -C -o root -g wheel -m ${machine_id_perms} "$t" "${machine_id_file}" - rm -f "$t" - startmsg 'done.' - fi -} - -load_rc_config $name -run_rc_command "$1" diff --git a/sys/sys/param.h b/sys/sys/param.h index bdc73475b8e9..353c0243b6d5 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -76,7 +76,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1400081 +#define __FreeBSD_version 1400082 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Thu Mar 9 14:35:32 2023 X-Original-To: dev-commits-src-main@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 4PXWtr6PZLz3x0wX; Thu, 9 Mar 2023 14:35: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 4PXWtr5tN7z3rQR; Thu, 9 Mar 2023 14:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678372532; 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=sE9nwTleSM+5on4noLtdAmpg3djegqPSXoAxDvhh8hQ=; b=bQZ3shHAAijFiHSzDV2B4avrrANbOFi+MfJUQqLM59GNE4CdtKv22RdcRm8137kTWWhoGB TmmHfqQi57SqyoQCLhchH97vBkBI3gjRexHHVks2hmC+nGlzK/xvhSwF0caX/+XCjbHc/T YMocme6xfG42V4M/RVbCMGJgVTD4Wl/646rzAHvH47/jm+rfWzM1MQvg0gq92nLFGPpkMI xcfChISd8A90zUx6YU7ElTeI/3Qf9WB1C+AQX3psW7ptARdvr3r7wLRarRPXfbvIjkhn7p eaLb0h6E8sZGzIdD7AE4UEQSJWIW7Jrg89lJkm3snslaWhgOE8odh4BECbO/Dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678372532; 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=sE9nwTleSM+5on4noLtdAmpg3djegqPSXoAxDvhh8hQ=; b=Bl3dJ23Clt8h2grV+OI9DjryaJOMzHtLEUBpSpE8NVxq3BKBTc84TlULwGJdVtfJ6kL/lN +cRMolDz0z0NwBDm0vgKdozj3zjqzAwnzwtd/8dS/Mmhkb3u119ZuYSbyM+2r/HIrMWVEJ 6Z1VomtdRtW9wGz8Sh7JGgbVhrSC15QdOK8DPONFz5A8mAniWZQBEBya43en+dosLsG2gr 8khGEAEVpIOxehtWN+VpkRllhAeazZpN1gZFSfZfXtWXxdoP5TKekY/5nWnXY2qO4J/6z8 TK8pufZEYyw4YLLNRKQWc/CyfKp+Oe/nXznj7EdTyIjScwWr7D/CgOBh2retEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678372532; a=rsa-sha256; cv=none; b=IdDI6tNCrmbqRvGkruVogdf5IXuiMwrp1MLZQD2U3qWl9P9DODvRAcD2TVFY1+YsZMvUdI Zjx4ncjrx8ryWc1mwG20i4gX83m598h7kvIq/jdLNHDQFc3mBguumKB0VJV7g7o/CzZlxb h8+vs5BlAaY0xsUCbwDobTQZGYNmQGkjQl26a/BlBUugi/Sa7IQOzUONTwUGxMo5GHnYc6 c7DqWge7pf1WGdbOFFq5joBH1du425PFHWBCigRCCEUNZUNYpc1ZoI7JaWRd1nnhOEdkfW JTPJjdCUPJAz+P6ork/nx0bPrsqIvXHEb4izvC1Tp12uN3XkD//FUG1CMwgnAA== 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 4PXWtr4b6Kz19rb; Thu, 9 Mar 2023 14:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329EZWaw032973; Thu, 9 Mar 2023 14:35:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329EZWbG032972; Thu, 9 Mar 2023 14:35:32 GMT (envelope-from git) Date: Thu, 9 Mar 2023 14:35:32 GMT Message-Id: <202303091435.329EZWbG032972@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 76f6d391504b - main - netlink: add basic message writing support to snl(3). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 76f6d391504b040528882a908147e47ea90b7b90 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=76f6d391504b040528882a908147e47ea90b7b90 commit 76f6d391504b040528882a908147e47ea90b7b90 Author: Alexander V. Chernikov AuthorDate: 2023-03-09 14:33:26 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-03-09 14:33:26 +0000 netlink: add basic message writing support to snl(3). Differential Revision: https://reviews.freebsd.org/D38947 MFC after: 2 weeks --- sys/netlink/netlink_snl.h | 324 ++++++++++++++++++++++++++++++++++++++++ sys/netlink/netlink_snl_route.h | 36 +++++ 2 files changed, 360 insertions(+) diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h index 3c63e3f95419..19b3e2f985f3 100644 --- a/sys/netlink/netlink_snl.h +++ b/sys/netlink/netlink_snl.h @@ -124,6 +124,7 @@ struct snl_state { struct linear_buffer *lb; }; #define SCRATCH_BUFFER_SIZE 1024 +#define SNL_WRITER_BUFFER_SIZE 256 typedef void snl_parse_field_f(struct snl_state *ss, void *hdr, void *target); struct snl_field_parser { @@ -294,6 +295,30 @@ snl_read_message(struct snl_state *ss) return (hdr); } +static inline struct nlmsghdr * +snl_read_reply(struct snl_state *ss, uint32_t nlmsg_seq) +{ + while (true) { + struct nlmsghdr *hdr = snl_read_message(ss); + if (hdr == NULL) + break; + if (hdr->nlmsg_seq == nlmsg_seq) + return (hdr); + } + + return (NULL); +} + +static inline struct nlmsghdr * +snl_get_reply(struct snl_state *ss, struct nlmsghdr *hdr) +{ + uint32_t nlmsg_seq = hdr->nlmsg_seq; + + if (snl_send(ss, hdr, hdr->nlmsg_len)) + return (snl_read_reply(ss, nlmsg_seq)); + return (NULL); +} + /* * Checks that attributes are sorted by attribute type. */ @@ -511,4 +536,303 @@ snl_field_get_uint32(struct snl_state *ss __unused, void *src, void *target) *((uint32_t *)target) = *((uint32_t *)src); } +struct snl_errmsg_data { + uint32_t nlmsg_seq; + int error; + char *error_str; + uint32_t error_offs; + struct nlattr *cookie; +}; +#define _IN(_field) offsetof(struct nlmsgerr, _field) +#define _OUT(_field) offsetof(struct snl_errmsg_data, _field) +static const struct snl_attr_parser nla_p_errmsg[] = { + { .type = NLMSGERR_ATTR_MSG, .off = _OUT(error_str), .cb = snl_attr_get_string }, + { .type = NLMSGERR_ATTR_OFFS, .off = _OUT(error_offs), .cb = snl_attr_get_uint32 }, + { .type = NLMSGERR_ATTR_COOKIE, .off = _OUT(cookie), .cb = snl_attr_get_nla }, +}; + +static const struct snl_field_parser nlf_p_errmsg[] = { + { .off_in = _IN(error), .off_out = _OUT(error), .cb = snl_field_get_uint32 }, + { .off_in = _IN(msg.nlmsg_seq), .off_out = _OUT(nlmsg_seq), .cb = snl_field_get_uint32 }, +}; +#undef _IN +#undef _OUT +SNL_DECLARE_PARSER(snl_errmsg_parser, struct nlmsgerr, nlf_p_errmsg, nla_p_errmsg); + +static inline bool +snl_check_return(struct snl_state *ss, struct nlmsghdr *hdr, struct snl_errmsg_data *e) +{ + if (hdr != NULL && hdr->nlmsg_type == NLMSG_ERROR) + return (snl_parse_nlmsg(ss, hdr, &snl_errmsg_parser, e)); + return (false); +} + +/* writer logic */ +struct snl_writer { + char *base; + uint32_t offset; + uint32_t size; + struct nlmsghdr *hdr; + struct snl_state *ss; + bool error; +}; + +static inline void +snl_init_writer(struct snl_state *ss, struct snl_writer *nw) +{ + nw->size = SNL_WRITER_BUFFER_SIZE; + nw->base = snl_allocz(ss, nw->size); + if (nw->base == NULL) { + nw->error = true; + nw->size = 0; + } + + nw->offset = 0; + nw->hdr = NULL; + nw->error = false; + nw->ss = ss; +} + +static inline bool +snl_realloc_msg_buffer(struct snl_writer *nw, size_t sz) +{ + uint32_t new_size = nw->size * 2; + + while (new_size < nw->size + sz) + new_size *= 2; + + if (nw->error) + return (false); + + void *new_base = snl_allocz(nw->ss, new_size); + if (new_base == NULL) { + nw->error = true; + return (false); + } + + memcpy(new_base, nw->base, nw->offset); + if (nw->hdr != NULL) { + int hdr_off = (char *)(nw->hdr) - nw->base; + nw->hdr = (struct nlmsghdr *)(void *)((char *)new_base + hdr_off); + } + nw->base = new_base; + + return (true); +} + +static inline void * +snl_reserve_msg_data_raw(struct snl_writer *nw, size_t sz) +{ + sz = NETLINK_ALIGN(sz); + + if (__predict_false(nw->offset + sz > nw->size)) { + if (!snl_realloc_msg_buffer(nw, sz)) + return (NULL); + } + + void *data_ptr = &nw->base[nw->offset]; + nw->offset += sz; + + return (data_ptr); +} +#define snl_reserve_msg_object(_ns, _t) ((_t *)snl_reserve_msg_data_raw(_ns, sizeof(_t))) +#define snl_reserve_msg_data(_ns, _sz, _t) ((_t *)snl_reserve_msg_data_raw(_ns, _sz)) + +static inline void * +_snl_reserve_msg_attr(struct snl_writer *nw, uint16_t nla_type, uint16_t sz) +{ + sz += sizeof(struct nlattr); + + struct nlattr *nla = snl_reserve_msg_data(nw, sz, struct nlattr); + if (__predict_false(nla == NULL)) + return (NULL); + nla->nla_type = nla_type; + nla->nla_len = sz; + + return ((void *)(nla + 1)); +} +#define snl_reserve_msg_attr(_ns, _at, _t) ((_t *)_snl_reserve_msg_attr(_ns, _at, sizeof(_t))) + +static inline bool +snl_add_msg_attr(struct snl_writer *nw, int attr_type, int attr_len, const void *data) +{ + int required_len = NLA_ALIGN(attr_len + sizeof(struct nlattr)); + + if (__predict_false(nw->offset + required_len > nw->size)) { + if (!snl_realloc_msg_buffer(nw, required_len)) + return (false); + } + + struct nlattr *nla = (struct nlattr *)(&nw->base[nw->offset]); + + nla->nla_len = attr_len + sizeof(struct nlattr); + nla->nla_type = attr_type; + if (attr_len > 0) { + if ((attr_len % 4) != 0) { + /* clear padding bytes */ + bzero((char *)nla + required_len - 4, 4); + } + memcpy((nla + 1), data, attr_len); + } + nw->offset += required_len; + return (true); +} + +static inline bool +snl_add_msg_attr_raw(struct snl_writer *nw, const struct nlattr *nla_src) +{ + int attr_len = nla_src->nla_len - sizeof(struct nlattr); + + assert(attr_len >= 0); + + return (snl_add_msg_attr(nw, nla_src->nla_type, attr_len, (const void *)(nla_src + 1))); +} + +static inline bool +snl_add_msg_attr_u8(struct snl_writer *nw, int attrtype, uint8_t value) +{ + return (snl_add_msg_attr(nw, attrtype, sizeof(uint8_t), &value)); +} + +static inline bool +snl_add_msg_attr_u16(struct snl_writer *nw, int attrtype, uint16_t value) +{ + return (snl_add_msg_attr(nw, attrtype, sizeof(uint16_t), &value)); +} + +static inline bool +snl_add_msg_attr_u32(struct snl_writer *nw, int attrtype, uint32_t value) +{ + return (snl_add_msg_attr(nw, attrtype, sizeof(uint32_t), &value)); +} + +static inline bool +snl_add_msg_attr_u64(struct snl_writer *nw, int attrtype, uint64_t value) +{ + return (snl_add_msg_attr(nw, attrtype, sizeof(uint64_t), &value)); +} + +static inline bool +snl_add_msg_attr_s8(struct snl_writer *nw, int attrtype, int8_t value) +{ + return (snl_add_msg_attr(nw, attrtype, sizeof(int8_t), &value)); +} + +static inline bool +snl_add_msg_attr_s16(struct snl_writer *nw, int attrtype, int16_t value) +{ + return (snl_add_msg_attr(nw, attrtype, sizeof(int16_t), &value)); +} + +static inline bool +snl_add_msg_attr_s32(struct snl_writer *nw, int attrtype, int32_t value) +{ + return (snl_add_msg_attr(nw, attrtype, sizeof(int32_t), &value)); +} + +static inline bool +snl_add_msg_attr_s64(struct snl_writer *nw, int attrtype, int64_t value) +{ + return (snl_add_msg_attr(nw, attrtype, sizeof(int64_t), &value)); +} + +static inline bool +snl_add_msg_attr_flag(struct snl_writer *nw, int attrtype) +{ + return (snl_add_msg_attr(nw, attrtype, 0, NULL)); +} + +static inline bool +snl_add_msg_attr_string(struct snl_writer *nw, int attrtype, const char *str) +{ + return (snl_add_msg_attr(nw, attrtype, strlen(str) + 1, str)); +} + + +static inline int +snl_get_msg_offset(const struct snl_writer *nw) +{ + return (nw->offset - ((char *)nw->hdr - nw->base)); +} + +static inline void * +_snl_restore_msg_offset(const struct snl_writer *nw, int off) +{ + return ((void *)((char *)nw->hdr + off)); +} +#define snl_restore_msg_offset(_ns, _off, _t) ((_t *)_snl_restore_msg_offset(_ns, _off)) + +static inline int +snl_add_msg_attr_nested(struct snl_writer *nw, int attrtype) +{ + int off = snl_get_msg_offset(nw); + struct nlattr *nla = snl_reserve_msg_data(nw, sizeof(struct nlattr), struct nlattr); + if (__predict_false(nla == NULL)) + return (0); + nla->nla_type = attrtype; + return (off); +} + +static inline void +snl_end_attr_nested(const struct snl_writer *nw, int off) +{ + if (!nw->error) { + struct nlattr *nla = snl_restore_msg_offset(nw, off, struct nlattr); + nla->nla_len = NETLINK_ALIGN(snl_get_msg_offset(nw) - off); + } +} + +static inline struct nlmsghdr * +snl_create_msg_request(struct snl_writer *nw, int nlmsg_type) +{ + assert(nw->hdr == NULL); + + struct nlmsghdr *hdr = snl_reserve_msg_object(nw, struct nlmsghdr); + hdr->nlmsg_type = nlmsg_type; + hdr->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK; + nw->hdr = hdr; + + return (hdr); +} + +static void +snl_abort_msg(struct snl_writer *nw) +{ + if (nw->hdr != NULL) { + int offset = (char *)(&nw->base[nw->offset]) - (char *)(nw->hdr); + + nw->offset -= offset; + nw->hdr = NULL; + } +} + +static inline struct nlmsghdr * +snl_finalize_msg(struct snl_writer *nw) +{ + if (nw->error) + snl_abort_msg(nw); + if (nw->hdr != NULL) { + struct nlmsghdr *hdr = nw->hdr; + + int offset = (char *)(&nw->base[nw->offset]) - (char *)(nw->hdr); + hdr->nlmsg_len = offset; + hdr->nlmsg_seq = snl_get_seq(nw->ss); + nw->hdr = NULL; + + return (hdr); + } + return (NULL); +} + +static bool +snl_send_msgs(struct snl_writer *nw) +{ + int offset = nw->offset; + + assert(nw->hdr == NULL); + nw->offset = 0; + + return (snl_send(nw->ss, nw->base, offset)); +} + #endif diff --git a/sys/netlink/netlink_snl_route.h b/sys/netlink/netlink_snl_route.h index 4adb3d697ecd..281794a9d6f7 100644 --- a/sys/netlink/netlink_snl_route.h +++ b/sys/netlink/netlink_snl_route.h @@ -127,4 +127,40 @@ snl_attr_get_ipvia(struct snl_state *ss, struct nlattr *nla, return (false); } +static inline bool +snl_add_msg_attr_ip(struct snl_writer *nw, int attrtype, const struct sockaddr *sa) +{ + const void *addr; + + switch (sa->sa_family) { + case AF_INET: + addr = &((const struct sockaddr_in *)sa)->sin_addr; + return (snl_add_msg_attr(nw, attrtype, 4, addr)); + case AF_INET6: + addr = &((const struct sockaddr_in6 *)sa)->sin6_addr; + return (snl_add_msg_attr(nw, attrtype, 16, addr)); + } + + return (false); +} + +static inline bool +snl_add_msg_attr_ipvia(struct snl_writer *nw, int attrtype, const struct sockaddr *sa) +{ + char buf[17]; + + buf[0] = sa->sa_family; + + switch (sa->sa_family) { + case AF_INET: + memcpy(&buf[1], &((const struct sockaddr_in *)sa)->sin_addr, 4); + return (snl_add_msg_attr(nw, attrtype, 5, buf)); + case AF_INET6: + memcpy(&buf[1], &((const struct sockaddr_in6 *)sa)->sin6_addr, 16); + return (snl_add_msg_attr(nw, attrtype, 17, buf)); + } + + return (false); +} + #endif From nobody Thu Mar 9 14:52:53 2023 X-Original-To: dev-commits-src-main@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 4PXXGs43Xjz3x1VC; Thu, 9 Mar 2023 14:52:53 +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 4PXXGs3W3Fz3sfp; Thu, 9 Mar 2023 14:52:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678373573; 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=QH0JNJgmMXwmYZKaLQNHoODsBItBb6wqzkYlJEVrGMs=; b=wFUeTMagDOFXe9clA/WuBuDAVMUdjxSjicahV5iEFE0kRn6ZZkZiyNbgWzH/E5bZw8JMS0 DEN+HdYMEv2/HJcitCeKcqf/wlMhoy3i6QJ4OdpDNJvqujNxV30p3k9/lG7bks9c0OLhTZ lycgbFgqL0GeJm/iLQ/N+oLzxmvR3WzOhho6r8Vn7+uXTG/EVfOALVt7MgyBvhUEWUqslL CEhtbJU++h177EffWCUWOfRsbFlBIlYmAOWcaZsS13pAaGuPhpcyR+ypZp4d2ln++AuBMf NnXROBuXia5GHJkZSF3+oZXMHhbtkpB83YOyb/ShEbdL10g5VwsFjyKK2xZ5cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678373573; 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=QH0JNJgmMXwmYZKaLQNHoODsBItBb6wqzkYlJEVrGMs=; b=XufoFpzY0tPOOQRbHcgBIUFBUq6hmVk/r4MZUGDvxdIGu3OKDe72wGgZkDjFa8C4G86sHU /vP2A2/3qerk1YTYf01BbmLVrrW9CtEY05Ip4E79SYs4outVOaFIsVeQv9E34QHVqi3KIG APLD4v8gUIG7RsJlD4e4G3I2jDpUXyovzG0/ou+Xi/mdl196B677LKyZYOiF7BhMntu/28 dtR+AwEhrnnZioFsUEfRrHbYtmq1RVDdZcMGbsxmLlwJ6Q49Dt8iI2W13GFOyTUUdPgsup 0qFSiq3WaT4UfkUASL9NZZ3Ip3UMw4S6HdBTgkZnA6Ck77oBf+oNOLh1IHtDDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678373573; a=rsa-sha256; cv=none; b=TOydWLfjfaiGKeUuW/lt/rM6OO5Z4XlPaQwzTOwBThL4wtMP5dCCmvmTUXQX1dq8QuLFaH BJHRFlEaVP+ifVqXL0LMSRxtq+XBT4gU6S5CfvHMOM9fVbc7atSl4cQcXRG752VECSpLbC nHw3w/RDkmcFomwGzjSfAFvsF7iPO9qNiDs8ItLmLwKV+MgUxmUJpSJUSiPWpL6fKBjIxx /LaNulc4MXicbrinU95rKqjlbuwYITf7ipwbGzbKWNrPdCblFaatEE4ZdMfGmibJAQWDPj wZjDQbMwpuH7M8g9Zke3keyB7n1X6GriptuzbFUef3rVxFDIkukJrEzOPKWcpA== 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 4PXXGs2XLMz1BbM; Thu, 9 Mar 2023 14:52:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329EqrjE064549; Thu, 9 Mar 2023 14:52:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329EqrfQ064548; Thu, 9 Mar 2023 14:52:53 GMT (envelope-from git) Date: Thu, 9 Mar 2023 14:52:53 GMT Message-Id: <202303091452.329EqrfQ064548@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 90d625122886 - main - netlink: add rtsock-compatible header to use with netlink snl(3). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 90d625122886a2db5b66d248807b89f4a0270466 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=90d625122886a2db5b66d248807b89f4a0270466 commit 90d625122886a2db5b66d248807b89f4a0270466 Author: Alexander V. Chernikov AuthorDate: 2023-03-09 14:36:52 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-03-09 14:37:42 +0000 netlink: add rtsock-compatible header to use with netlink snl(3). Some routing socket defines (`RTM_` and `RTA_` ones) clash with the ones used by the the Netlink. As some rtsock definitions like interface flags or route flags are used in both netlink and rtsock, provide a convenient way to include those without running into the define collision. Differential Revision: https://reviews.freebsd.org/D38982 MFC after: 2 weeks --- sys/net/route.h | 7 +++++ sys/netlink/netlink_snl_route_compat.h | 50 ++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/sys/net/route.h b/sys/net/route.h index 34a7b0d5c795..ad1847293502 100644 --- a/sys/net/route.h +++ b/sys/net/route.h @@ -265,6 +265,7 @@ struct rt_msghdr { #define RTM_VERSION 5 /* Up the ante and ignore older versions */ +#ifndef NETLINK_COMPAT /* * Message types. * @@ -297,6 +298,8 @@ struct rt_msghdr { #define RTM_IFANNOUNCE 0x11 /* (5) iface arrival/departure */ #define RTM_IEEE80211 0x12 /* (5) IEEE80211 wireless event */ +#endif /* NETLINK_COMPAT*/ + /* * Bitmask values for rtm_inits and rmx_locks. */ @@ -310,6 +313,8 @@ struct rt_msghdr { #define RTV_RTTVAR 0x80 /* init or lock _rttvar */ #define RTV_WEIGHT 0x100 /* init or lock _weight */ +#ifndef NETLINK_COMPAT + /* * Bitmask values for rtm_addrs. */ @@ -322,6 +327,8 @@ struct rt_msghdr { #define RTA_AUTHOR 0x40 /* sockaddr for author of redirect */ #define RTA_BRD 0x80 /* for NEWADDR, broadcast or p-p dest addr */ +#endif /* NETLINK_COMPAT*/ + /* * Index offsets for sockaddr array for alternate internal encoding. */ diff --git a/sys/netlink/netlink_snl_route_compat.h b/sys/netlink/netlink_snl_route_compat.h new file mode 100644 index 000000000000..51904abb4003 --- /dev/null +++ b/sys/netlink/netlink_snl_route_compat.h @@ -0,0 +1,50 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2023 Alexander V. Chernikov + * + * 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 _NETLINK_NETLINK_SNL_ROUTE_COMPAT_H_ +#define _NETLINK_NETLINK_SNL_ROUTE_COMPAT_H_ + +/* + * This file contains netlink-compatible definitions from the + * net/route.h header. + */ +#define NETLINK_COMPAT + +#include + +#define RTSOCK_RTM_ADD 0x1 +#define RTSOCK_RTM_DELETE 0x2 +#define RTSOCK_RTM_CHANGE 0x3 +#define RTSOCK_RTM_GET 0x4 +#define RTSOCK_RTM_NEWADDR 0xc +#define RTSOCK_RTM_DELADDR 0xd +#define RTSOCK_RTM_IFINFO 0xe +#define RTSOCK_RTM_NEWMADDR 0xf +#define RTSOCK_RTM_DELMADDR 0x10 +#define RTSOCK_RTM_IFANNOUNCE 0x11 +#define RTSOCK_RTM_IEEE80211 0x12 + +#endif From nobody Thu Mar 9 14:52:54 2023 X-Original-To: dev-commits-src-main@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 4PXXGt54yLz3x1Zy; Thu, 9 Mar 2023 14:52:54 +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 4PXXGt4Ky0z3slZ; Thu, 9 Mar 2023 14:52:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678373574; 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=b2h1Ua6/se6w0FkRT2N1K70i5Y3qf5Io+ia2KDXDYco=; b=Hm4nVoRqts2wWaoufEPTjH2Xw1dL/OXIoOPe0al8TjzlUGPkBm64tBpjGufUqOzn/absYv tRXIfKUd4QVNeuGhOM0eh12d8XaGg/8p8HFs1K9qSyCX643TGEi/Jx+0VmWQvlTXT8Okeu sWmEbvjVAwfcYshA+n+lQt5AH2VTFuCU1upAGU0/a7FCGzFzSnQC4ypM4EzigEJnk8eqlS 8pLlTuEJmdYEkj16JYDJupvNv97/08PCCkj7vZuSM+FsBjZU6BpLfmQZDoIgPfU52mPR7w hb84YoyHUiW0dxnayFbwHpqeFwVHzEVYjr2VqscUlA9Ncw9pIVV4/ZjNQmQFAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678373574; 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=b2h1Ua6/se6w0FkRT2N1K70i5Y3qf5Io+ia2KDXDYco=; b=J4WPPXA83LCnmvhy4xPEJSIEReT/NfpJRanLun7joB7Ghvu+dgIFq4njb4OojRDFyVyOHx WQkEfHBB5GgA2sVkVlFyg2ewaD6hIvB/bA4VYVO4RLG353fwnOFtbLj6BjsUXadbjBi01N lD3C+fQ4Uc6cAOV3pOqIzi0qqVQ+tUMjkLKNerTI+tPt+1N0gZ6PmlkvyYJXy0kSiIOOin o8W0JBZg1j6mDZ3jdhcaMizMROKf1LapyOC1D2lnLkpoyDzIrwspqMgAJZ8F3DrIlfLzFy +/4GhTgi95jq9GETBE4MsrumXi/Y00T1RIUVkttiUtcKzTT2fFOX0ToEmKNWmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678373574; a=rsa-sha256; cv=none; b=ku9dluf9IsPnqvlfZo7BCYxG+KU6wFILEAQ1SsPPnu55RRPUP3y89iuEZ7h0alIhHIqfUf S4HoUbqDW+4sQqOCDP9OMVlbVNwqwmexm/mvgz0/hB6m3vTPY83nwj8j4pigQJaPcu/VrF tiKYM/PccZ9rheUQ97PwiOnPCQ5pMAH7PEoz7QjfONL/Q8W5kWU+yzFQuwC4q2ohhHILzi OBieDhYHvxvIiAjF3fnXnBLxc508vjdAsXx4J29zMxhwr4ab4A1lKru0QDmu+iNa9T7HH0 05mjEWaYQL+KdlguRid3o6LFduo5cp1sYsATteAChyIDuaEs6YB/bVO4a+V9gg== 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 4PXXGt3PSgz1BVr; Thu, 9 Mar 2023 14:52:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329Eqs2U064568; Thu, 9 Mar 2023 14:52:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329EqsN7064567; Thu, 9 Mar 2023 14:52:54 GMT (envelope-from git) Date: Thu, 9 Mar 2023 14:52:54 GMT Message-Id: <202303091452.329EqsN7064567@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 595d23f777dc - main - netlink: add snl(3) default parsers for routes and links. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 595d23f777dc24cb285b072c596ca96bbc2db3cd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=595d23f777dc24cb285b072c596ca96bbc2db3cd commit 595d23f777dc24cb285b072c596ca96bbc2db3cd Author: Alexander V. Chernikov AuthorDate: 2023-03-09 14:43:56 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-03-09 14:46:27 +0000 netlink: add snl(3) default parsers for routes and links. This change adds the "default" parsers of _all_ route/link attributes exported by the kernel. It removes the need to declare similar parsers in the userland applications, simplifying their logic. Differential Revision: https://reviews.freebsd.org/D38979 MFC after: 2 weeks --- sys/netlink/netlink_snl.h | 14 ++ sys/netlink/netlink_snl_route_parsers.h | 222 ++++++++++++++++++++++++++++++++ tests/sys/netlink/test_snl.c | 13 ++ 3 files changed, 249 insertions(+) diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h index 19b3e2f985f3..4e6524783310 100644 --- a/sys/netlink/netlink_snl.h +++ b/sys/netlink/netlink_snl.h @@ -518,6 +518,20 @@ snl_attr_get_nla(struct snl_state *ss __unused, struct nlattr *nla, return (true); } +static inline bool +snl_attr_copy_struct(struct snl_state *ss, struct nlattr *nla, + const void *arg __unused, void *target) +{ + void *ptr = snl_allocz(ss, NLA_DATA_LEN(nla)); + + if (ptr != NULL) { + memcpy(ptr, NLA_DATA(nla), NLA_DATA_LEN(nla)); + *((void **)target) = ptr; + return (true); + } + return (false); +} + static inline void snl_field_get_uint8(struct snl_state *ss __unused, void *src, void *target) { diff --git a/sys/netlink/netlink_snl_route_parsers.h b/sys/netlink/netlink_snl_route_parsers.h new file mode 100644 index 000000000000..a76fb7da8ec2 --- /dev/null +++ b/sys/netlink/netlink_snl_route_parsers.h @@ -0,0 +1,222 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2023 Alexander V. Chernikov + * + * 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 _NETLINK_NETLINK_SNL_ROUTE_PARSERS_H_ +#define _NETLINK_NETLINK_SNL_ROUTE_PARSERS_H_ + +#include +#include + +/* TODO: this file should be generated automatically */ + +/* RTM_ROUTE message parser */ + +struct rta_mpath_nh { + struct sockaddr *gw; + uint32_t ifindex; + uint8_t rtnh_flags; + uint8_t rtnh_weight; + uint32_t rtax_mtu; + uint32_t rta_rtflags; +}; + +#define _IN(_field) offsetof(struct rtnexthop, _field) +#define _OUT(_field) offsetof(struct rta_mpath_nh, _field) +static const struct snl_attr_parser _nla_p_mp_nh_metrics[] = { + { .type = NL_RTAX_MTU, .off = _OUT(rtax_mtu), .cb = snl_attr_get_uint32 }, +}; +SNL_DECLARE_ATTR_PARSER(_metrics_mp_nh_parser, _nla_p_mp_nh_metrics); + +static const struct snl_attr_parser _nla_p_mp_nh[] = { + { .type = NL_RTA_GATEWAY, .off = _OUT(gw), .cb = snl_attr_get_ip }, + { .type = NL_RTA_METRICS, .arg = &_metrics_mp_nh_parser, .cb = snl_attr_get_nested }, + { .type = NL_RTA_RTFLAGS, .off = _OUT(rta_rtflags), .cb = snl_attr_get_uint32 }, + { .type = NL_RTA_VIA, .off = _OUT(gw), .cb = snl_attr_get_ipvia }, +}; + +static const struct snl_field_parser _fp_p_mp_nh[] = { + { .off_in = _IN(rtnh_flags), .off_out = _OUT(rtnh_flags), .cb = snl_field_get_uint8 }, + { .off_in = _IN(rtnh_hops), .off_out = _OUT(rtnh_weight), .cb = snl_field_get_uint8 }, + { .off_in = _IN(rtnh_ifindex), .off_out = _OUT(ifindex), .cb = snl_field_get_uint32 }, +}; +#undef _IN +#undef _OUT +SNL_DECLARE_PARSER(_mpath_nh_parser, struct rtnexthop, _fp_p_mp_nh, _nla_p_mp_nh); + +struct rta_mpath { + int num_nhops; + struct rta_mpath_nh nhops[0]; +}; + +static bool +nlattr_get_multipath(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +{ + int data_len = nla->nla_len - sizeof(struct nlattr); + struct rtnexthop *rtnh; + + int max_nhops = data_len / sizeof(struct rtnexthop); + size_t sz = (max_nhops + 2) * sizeof(struct rta_mpath_nh); + + struct rta_mpath *mp = snl_allocz(ss, sz); + mp->num_nhops = 0; + + for (rtnh = (struct rtnexthop *)(nla + 1); data_len > 0; ) { + struct rta_mpath_nh *mpnh = &mp->nhops[mp->num_nhops++]; + + if (!snl_parse_header(ss, rtnh, rtnh->rtnh_len, &_mpath_nh_parser, mpnh)) + return (false); + + int len = NL_ITEM_ALIGN(rtnh->rtnh_len); + data_len -= len; + rtnh = (struct rtnexthop *)((char *)rtnh + len); + } + if (data_len != 0 || mp->num_nhops == 0) { + return (false); + } + + *((struct rta_mpath **)target) = mp; + return (true); +} + +struct snl_parsed_route { + struct sockaddr *rta_dst; + struct sockaddr *rta_gw; + struct nlattr *rta_metrics; + struct rta_mpath *rta_multipath; + uint32_t rta_expires; + uint32_t rta_oif; + uint32_t rta_expire; + uint32_t rta_table; + uint32_t rta_knh_id; + uint32_t rta_nh_id; + uint32_t rta_rtflags; + uint32_t rtax_mtu; + uint32_t rtax_weight; + uint8_t rtm_family; + uint8_t rtm_type; + uint8_t rtm_protocol; + uint8_t rtm_dst_len; +}; + +#define _IN(_field) offsetof(struct rtmsg, _field) +#define _OUT(_field) offsetof(struct snl_parsed_route, _field) +static const struct snl_attr_parser _nla_p_rtmetrics[] = { + { .type = NL_RTAX_MTU, .off = _OUT(rtax_mtu), .cb = snl_attr_get_uint32 }, +}; +SNL_DECLARE_ATTR_PARSER(_metrics_parser, _nla_p_rtmetrics); + +static const struct snl_attr_parser _nla_p_route[] = { + { .type = NL_RTA_DST, .off = _OUT(rta_dst), .cb = snl_attr_get_ip }, + { .type = NL_RTA_OIF, .off = _OUT(rta_oif), .cb = snl_attr_get_uint32 }, + { .type = NL_RTA_GATEWAY, .off = _OUT(rta_gw), .cb = snl_attr_get_ip }, + { .type = NL_RTA_METRICS, .arg = &_metrics_parser, .cb = snl_attr_get_nested }, + { .type = NL_RTA_MULTIPATH, .off = _OUT(rta_multipath), .cb = nlattr_get_multipath }, + { .type = NL_RTA_KNH_ID, .off = _OUT(rta_knh_id), .cb = snl_attr_get_uint32 }, + { .type = NL_RTA_WEIGHT, .off = _OUT(rtax_weight), .cb = snl_attr_get_uint32 }, + { .type = NL_RTA_RTFLAGS, .off = _OUT(rta_rtflags), .cb = snl_attr_get_uint32 }, + { .type = NL_RTA_TABLE, .off = _OUT(rta_table), .cb = snl_attr_get_uint32 }, + { .type = NL_RTA_VIA, .off = _OUT(rta_gw), .cb = snl_attr_get_ipvia }, + { .type = NL_RTA_EXPIRES, .off = _OUT(rta_expire), .cb = snl_attr_get_uint32 }, + { .type = NL_RTA_NH_ID, .off = _OUT(rta_nh_id), .cb = snl_attr_get_uint32 }, +}; + +static const struct snl_field_parser _fp_p_route[] = { + {.off_in = _IN(rtm_family), .off_out = _OUT(rtm_family), .cb = snl_field_get_uint8 }, + {.off_in = _IN(rtm_type), .off_out = _OUT(rtm_type), .cb = snl_field_get_uint8 }, + {.off_in = _IN(rtm_protocol), .off_out = _OUT(rtm_protocol), .cb = snl_field_get_uint8 }, + {.off_in = _IN(rtm_dst_len), .off_out = _OUT(rtm_dst_len), .cb = snl_field_get_uint8 }, +}; +#undef _IN +#undef _OUT +SNL_DECLARE_PARSER(snl_rtm_route_parser, struct rtmsg, _fp_p_route, _nla_p_route); + +/* RTM_LINK message parser */ +struct snl_parsed_link { + uint32_t ifi_index; + uint32_t ifi_flags; + uint32_t ifi_change; + uint16_t ifi_type; + uint8_t ifla_operstate; + uint8_t ifla_carrier; + uint32_t ifla_mtu; + char *ifla_ifname; + struct nlattr *ifla_address; + struct nlattr *ifla_broadcast; + char *ifla_ifalias; + uint32_t ifla_promiscuity; + struct rtnl_link_stats64 *ifla_stats64; +}; + +#define _IN(_field) offsetof(struct ifinfomsg, _field) +#define _OUT(_field) offsetof(struct snl_parsed_link, _field) +static const struct snl_attr_parser _nla_p_link[] = { + { .type = IFLA_ADDRESS, .off = _OUT(ifla_address), .cb = snl_attr_get_nla }, + { .type = IFLA_BROADCAST, .off = _OUT(ifla_broadcast), .cb = snl_attr_get_nla }, + { .type = IFLA_IFNAME, .off = _OUT(ifla_ifname), .cb = snl_attr_get_string }, + { .type = IFLA_MTU, .off = _OUT(ifla_mtu), .cb = snl_attr_get_uint32 }, + { .type = IFLA_OPERSTATE, .off = _OUT(ifla_operstate), .cb = snl_attr_get_uint8 }, + { .type = IFLA_IFALIAS, .off = _OUT(ifla_ifalias), .cb = snl_attr_get_string }, + { .type = IFLA_STATS64, .off = _OUT(ifla_stats64), .cb = snl_attr_copy_struct }, + { .type = IFLA_PROMISCUITY, .off = _OUT(ifla_promiscuity), .cb = snl_attr_get_uint32 }, + { .type = IFLA_CARRIER, .off = _OUT(ifla_carrier), .cb = snl_attr_get_uint8 }, +}; +static const struct snl_field_parser _fp_p_link[] = { + {.off_in = _IN(ifi_index), .off_out = _OUT(ifi_index), .cb = snl_field_get_uint32 }, + {.off_in = _IN(ifi_flags), .off_out = _OUT(ifi_flags), .cb = snl_field_get_uint32 }, + {.off_in = _IN(ifi_change), .off_out = _OUT(ifi_change), .cb = snl_field_get_uint32 }, + {.off_in = _IN(ifi_type), .off_out = _OUT(ifi_type), .cb = snl_field_get_uint16 }, +}; +#undef _IN +#undef _OUT +SNL_DECLARE_PARSER(snl_rtm_link_parser, struct ifinfomsg, _fp_p_link, _nla_p_link); + +struct snl_parsed_link_simple { + uint32_t ifi_index; + uint32_t ifla_mtu; + uint16_t ifi_type; + char *ifla_ifname; +}; + +#define _IN(_field) offsetof(struct ifinfomsg, _field) +#define _OUT(_field) offsetof(struct snl_parsed_link_simple, _field) +static struct snl_attr_parser _nla_p_link_s[] = { + { .type = IFLA_IFNAME, .off = _OUT(ifla_ifname), .cb = snl_attr_get_string }, + { .type = IFLA_MTU, .off = _OUT(ifla_mtu), .cb = snl_attr_get_uint32 }, +}; +static struct snl_field_parser _fp_p_link_s[] = { + {.off_in = _IN(ifi_index), .off_out = _OUT(ifi_index), .cb = snl_field_get_uint32 }, + {.off_in = _IN(ifi_type), .off_out = _OUT(ifi_type), .cb = snl_field_get_uint16 }, +}; +#undef _IN +#undef _OUT +SNL_DECLARE_PARSER(snl_rtm_link_parser_simple, struct ifinfomsg, _fp_p_link_s, _nla_p_link_s); + +static const struct snl_hdr_parser *snl_all_route_parsers[] = { + &_metrics_mp_nh_parser, &_mpath_nh_parser, &_metrics_parser, &snl_rtm_route_parser, + &snl_rtm_link_parser, &snl_rtm_link_parser_simple, +}; + +#endif diff --git a/tests/sys/netlink/test_snl.c b/tests/sys/netlink/test_snl.c index d917d81d967d..daacc1aaacec 100644 --- a/tests/sys/netlink/test_snl.c +++ b/tests/sys/netlink/test_snl.c @@ -9,6 +9,7 @@ #include #include "netlink/netlink_snl.h" #include "netlink/netlink_snl_route.h" +#include "netlink/netlink_snl_route_parsers.h" #include @@ -19,6 +20,17 @@ require_netlink(void) atf_tc_skip("netlink module not loaded"); } +ATF_TC(snl_verify_parsers); +ATF_TC_HEAD(snl_verify_parsers, tc) +{ + atf_tc_set_md_var(tc, "descr", "Tests snl(3) parsers are correct"); +} + +ATF_TC_BODY(snl_verify_parsers, tc) +{ + SNL_VERIFY_PARSERS(snl_all_route_parsers); + +} ATF_TC(snl_list_ifaces); ATF_TC_HEAD(snl_list_ifaces, tc) @@ -87,6 +99,7 @@ ATF_TC_BODY(snl_list_ifaces, tc) ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, snl_list_ifaces); + ATF_TP_ADD_TC(tp, snl_verify_parsers); return (atf_no_error()); } From nobody Thu Mar 9 15:10:16 2023 X-Original-To: dev-commits-src-main@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 4PXXgC1wv5z3x2Qv; Thu, 9 Mar 2023 15:10:31 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PXXgB70Wgz3tKj; Thu, 9 Mar 2023 15:10:30 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lf1-f51.google.com with SMTP id r27so2677064lfe.10; Thu, 09 Mar 2023 07:10:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678374629; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=PUvgr8tzD6m21hleuStAWquJqM5uDyhxQbIU0z+jxqY=; b=1WkQvRm939f68VYAFJhQSzJBscUYvSW0C60+/m3sxCc7z2WcyHCYknKjR4fsCGf584 fMhh3yEO2ef6k1pDHYH8I52+oqjxJdT8Oaa3xhpd8NLg4ZSIZYKv+0g30Q3YOolGznIp /NUvo68N3m4Lv0qr9YNE9EwEVh5OMpSanEivCbnSpbAVoHw6IEM/tdFwKd37NBaKj6v2 t/+TUtDMCPSlEScTCndeipMih799zSongFbmTdM2ukrjBjyZhich+xVQRRcTCo8rVr5O pJohyV6k6NhtfF0FGJelz/2EwRHY1RoXoyIh+/kfITzOtz9onj/nD2O9jZ1d5V0Nc5uY wDPg== X-Gm-Message-State: AO0yUKUGBKiytOYjwB3yKVNVVwdCLnKH3UJJJ9VMw+PproKeOgD+uSPk AFzxwLc51OjDLAimj+EH/mlYa7oT5tYK82VQJVO0HQwvbKY= X-Google-Smtp-Source: AK7set8EwV1Pj/kS+9sgpps5gHAC8QO9CQhMq9MiiLO6Pt/kXZ8cqH8aOxwT2/y+kXZIZgAaXvI9ijxsH1Idiu0d4rU= X-Received: by 2002:a05:6512:48e:b0:4db:33ed:89eb with SMTP id v14-20020a056512048e00b004db33ed89ebmr7075640lfq.5.1678374628744; Thu, 09 Mar 2023 07:10:28 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202303082331.328NViDn050541@gitrepo.freebsd.org> In-Reply-To: From: Ed Maste Date: Thu, 9 Mar 2023 10:10:16 -0500 Message-ID: Subject: Re: git: c581962414ed - main - src.conf.5: Add some WITH_/WITHOUT_ option descriptions To: Warner Losh Cc: John Baldwin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4PXXgB70Wgz3tKj X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Wed, 8 Mar 2023 at 23:12, Warner Losh wrote: > > Yea, there's no reason to have the description twice... It looks like the ones that have both WITH_ and WITHOUT_ descriptions are: ATM AUTO_OBJ BIND_NOW CLANG CLANG_BOOTSTRAP CLANG_FULL CXGBETOOL DEBUG_FILES EFI FDT GCC GCC_BOOTSTRAP GCOV GDB GH_BC GNU_DIFF GOOGLETEST HYPERV KERNEL_RETPOLINE LIB32 LLD LLD_BOOTSTRAP LLD_IS_LD LLDB LLVM_ASSERTIONS LLVM_COV LLVM_CXXFILT LLVM_TARGET_AARCH64 LLVM_TARGET_ALL LLVM_TARGET_ARM LLVM_TARGET_MIPS LLVM_TARGET_POWERPC LLVM_TARGET_RISCV LLVM_TARGET_SPARC LLVM_TARGET_X86 LOADER_GELI LOADER_KBOOT LOADER_LUA LOADER_OFW LOADER_UBOOT MALLOC_PRODUCTION MLX5TOOL MODULE_DRM MODULE_DRM2 NVME OFED OPENMP OPENSSL_KTLS PIE PROFILE RELRO REPRODUCIBLE_BUILD RETPOLINE SENDMAIL SHARED_TOOLCHAIN SSP STATS SYSTEM_COMPILER SYSTEM_LINKER TCP_WRAPPERS UNIFIED_OBJDIR USB_GADGET_EXAMPLES ZFS although not all of them are used (the ones that default on across all architectures). Looking at src.conf.5 the duplicates I see are: CXGBETOOL EFI FDT HYPERV LIB32 LLDB LOADER_GELI LOADER_KBOOT LOADER_LUA LOADER_OFW LOADER_UBOOT MLX5TOOL NVME OFED OPENMP OPENSSL_KTLS PIE ZFS Perhaps for these cases we can just skip the negative sense (WITHOUT_), just listing the architectures it applies to? Something like: WITH_CXGBETOOL Build cxgbetool(8) This is the default setting on amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le. WITHOUT_CXGBETOOL is the default setting on amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le. From nobody Thu Mar 9 15:20:58 2023 X-Original-To: dev-commits-src-main@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 4PXXvH1DCJz3x2qY; Thu, 9 Mar 2023 15:20:59 +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 4PXXvH0dB7z3vPJ; Thu, 9 Mar 2023 15:20:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678375259; 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=gZRk5W1pR8uyNtmU84I/f82A7oouwxAGgWhH21rfuvM=; b=mAm96L167yEKrLKQBPlpqhgA+KrfFTnjectfk63lu//SMjuYhlwOtmuP3c2BsrTBBmRYX3 /gzpJLJ0kkIquj/0ildKqPnhF5aAjLaIeVoYY+MGHdi0E9CyHHmwKO6HpvPC7Rv0XUFSPs nFmHNnZp4iaPuX8c2z9xZdO6IK+OSJhPZcFFdxsEdhc3N4ez3elO9NS0gzICUX4//1a46s C/ZqMkt92+DtV0q/gaZTK3NNuCG1vXgNKX8aMUzQ8l/jDRoyycD6Qrp+FuVDMzrvMwZGcU g3u03xnX/eJraoVojN6GcCmrksIU1Rx4SSx1FJzDexjWbv24mmtqOhjbv8PnOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678375259; 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=gZRk5W1pR8uyNtmU84I/f82A7oouwxAGgWhH21rfuvM=; b=XXg5JyAtBEAz2/4YJMkFBG55l0bKXkZ7eoc6Ypi8JZGPFbSwM+xYX7Vjrt/Sxq0BY5CnJW htRhgzS3rE0lUC6XiKb70IPVWd/VFf7tdzLPY8atgq0hY6B9WPzNOdGP4ztUZqEI6HPhUe 7yyEpvDwdZFuqbu7HHRSrwyGTGrY318pFRw4nNWVywxse+kAfQAdVywhQnpudgmDGfsOZd liS0u8LiuiHkyMx5SytVhUBQfSFdyNTblWxFJsPCGDhlpB2liPoD4Ct2Zx1TqaArK4ZHkh 248xnKpkrw/ddihloloIYIhpwzg56ZTFG9UeR8R3eKTuJ8c/pvuhzqbwAsAIDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678375259; a=rsa-sha256; cv=none; b=MU8qVtL+Z3wdBF6W/29asm0q9uGOL4mpdKN2VKdw1O2FERuxYQs2IGwt+fOZJSgqxzR10Q eqcaHEdXpulnaOGsryWF8V3usCW9+S7pV7M2sl7yvkd9j/cp1Q5PaOo7xU6Al0BJwSg6w2 RfCNzFYO0Cql8xe/+LY2Ul2wc+N3S5sxdBsz76kBCmhuUCqTJ935D/Q5L8sMwSOsdzMOI+ Y8eIHKG55dYOSwmtghRfBbFrNMHCV6hhJewvPacHHQLcD9VYRlgK1n1nA5mgwMXgF2ckfe +esMmUOmqV/yNSZWns5V0NLr9CLa+L11v3f64Tq85zIo2IBIITuPSxNCzf79Eg== 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 4PXXvG6Qslz1Bjh; Thu, 9 Mar 2023 15:20:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329FKwfV011216; Thu, 9 Mar 2023 15:20:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329FKwwR011215; Thu, 9 Mar 2023 15:20:58 GMT (envelope-from git) Date: Thu, 9 Mar 2023 15:20:58 GMT Message-Id: <202303091520.329FKwwR011215@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Motin Subject: git: 20dc2c4d11dd - main - nvmecontrol: Fix default ns create parameters. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 20dc2c4d11ddaa980c491116b65c51ab522028e9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=20dc2c4d11ddaa980c491116b65c51ab522028e9 commit 20dc2c4d11ddaa980c491116b65c51ab522028e9 Author: Alexander Motin AuthorDate: 2023-03-09 15:19:00 +0000 Commit: Alexander Motin CommitDate: 2023-03-09 15:19:00 +0000 nvmecontrol: Fix default ns create parameters. Instead of passing 0xff's for all unset parameters, prefer reasonable defaults. It is much easier to use it this was without specs in hand. MFC after: 1 week --- sbin/nvmecontrol/ns.c | 56 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 19 deletions(-) diff --git a/sbin/nvmecontrol/ns.c b/sbin/nvmecontrol/ns.c index 5c537e920dc3..25b90e896982 100644 --- a/sbin/nvmecontrol/ns.c +++ b/sbin/nvmecontrol/ns.c @@ -577,30 +577,48 @@ nscreate(const struct cmd *f, int argc, char *argv[]) NVME_CTRLR_DATA_OACS_NSMGMT_MASK) == 0) errx(EX_UNAVAILABLE, "controller does not support namespace management"); - /* Allow namespaces sharing if Multi-Path I/O is supported. */ - if (create_opt.nmic == NONE) { - create_opt.nmic = cd.mic ? (NVME_NS_DATA_NMIC_MAY_BE_SHARED_MASK << - NVME_NS_DATA_NMIC_MAY_BE_SHARED_SHIFT) : 0; - } - memset(&nsdata, 0, sizeof(nsdata)); nsdata.nsze = create_opt.nsze; nsdata.ncap = create_opt.cap; - if (create_opt.flbas == NONE) - nsdata.flbas = ((create_opt.lbaf & NVME_NS_DATA_FLBAS_FORMAT_MASK) - << NVME_NS_DATA_FLBAS_FORMAT_SHIFT) | - ((create_opt.mset & NVME_NS_DATA_FLBAS_EXTENDED_MASK) - << NVME_NS_DATA_FLBAS_EXTENDED_SHIFT); - else + if (create_opt.flbas != NONE) { nsdata.flbas = create_opt.flbas; - if (create_opt.dps == NONE) - nsdata.dps = ((create_opt.pi & NVME_NS_DATA_DPS_MD_START_MASK) - << NVME_NS_DATA_DPS_MD_START_SHIFT) | - ((create_opt.pil & NVME_NS_DATA_DPS_PIT_MASK) - << NVME_NS_DATA_DPS_PIT_SHIFT); - else + } else { + /* Default to the first format, whatever it is. */ + nsdata.flbas = 0; + if (create_opt.lbaf != NONE) { + nsdata.flbas |= (create_opt.lbaf & + NVME_NS_DATA_FLBAS_FORMAT_MASK) + << NVME_NS_DATA_FLBAS_FORMAT_SHIFT; + } + if (create_opt.mset != NONE) { + nsdata.flbas |= (create_opt.mset & + NVME_NS_DATA_FLBAS_EXTENDED_MASK) + << NVME_NS_DATA_FLBAS_EXTENDED_SHIFT; + } + } + if (create_opt.dps != NONE) { nsdata.dps = create_opt.dps; - nsdata.nmic = create_opt.nmic; + } else { + /* Default to protection disabled. */ + nsdata.dps = 0; + if (create_opt.pi != NONE) { + nsdata.dps |= (create_opt.pi & + NVME_NS_DATA_DPS_MD_START_MASK) + << NVME_NS_DATA_DPS_MD_START_SHIFT; + } + if (create_opt.pil != NONE) { + nsdata.dps |= (create_opt.pil & + NVME_NS_DATA_DPS_PIT_MASK) + << NVME_NS_DATA_DPS_PIT_SHIFT; + } + } + if (create_opt.nmic != NONE) { + nsdata.nmic = create_opt.nmic; + } else { + /* Allow namespaces sharing if Multi-Path I/O is supported. */ + nsdata.nmic = cd.mic ? (NVME_NS_DATA_NMIC_MAY_BE_SHARED_MASK << + NVME_NS_DATA_NMIC_MAY_BE_SHARED_SHIFT) : 0; + } nvme_namespace_data_swapbytes(&nsdata); memset(&pt, 0, sizeof(pt)); From nobody Thu Mar 9 15:38:14 2023 X-Original-To: dev-commits-src-main@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 4PXYHG6BDjz3x45K; Thu, 9 Mar 2023 15:38:18 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PXYHG5vRSz3wnZ; Thu, 9 Mar 2023 15:38:18 +0000 (UTC) (envelope-from kp@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678376298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=QXb0wWzd7Hs1miP7kPs2wcWkUJLva4b4oBGQKqTDMTQ=; b=MSZmzkElJwqRY+NoaaaydG7joZ+FZ1d1nFPZ3RATY2+EKxnP0Heq1ygoprvO4sdUk6jrTe h6df7VXy6DtXSR8Kl02vSA7MBXu0G6z3D8EqLvZy76mTHkNh8+I+dV/5eIMJQRA4Vqd7Vx pldVg8dKgCuEB/JEyAxNnlovXI2YuB45GA/gNwM1A+uTNjmJHI+4k31kxLg6cm/c/syAkL giBFryj2hNWC9BH2aaOe/J8zNtIyvRCD/KgdWhc1LbaKV35On68ih1GW3mjrRkPpIOrvvZ v/NNut7DcfjfccUfqf7H8ywRD44sKwzd+icf2xHgmOY2YqnnAnO6B0sobCO20A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678376298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=QXb0wWzd7Hs1miP7kPs2wcWkUJLva4b4oBGQKqTDMTQ=; b=OL9mpJmcR7OyDHc0KezG2KmabQRbBTfDmIDFzJoUnR7W6Sqb+9rPcS4ZnhbnKegvaw5kuw QQney/z0Ovl/1FzvlvVTb/JgBzC7r+RQn0bo3u/SAZS5AMfIuaV2MFO+OlJ+3j5DKF2IsK 83ATcLzLDURSW073tBoNKGntKUNnczIICripewYqGzJG4JyKLV4dW0Yp+79EDJ0+6SG+f2 3hRLcPQ6nw5wT9Jwkw3dJ5ZH9mwKNDZAuMSSW0G3lU1pNTpD2pynM8nBJtFw62BRCor2ot St0q6pshgvaKuiOJu9bODOHc3FATRPgkkZwmqZHODckSGc9bXyvoa7gh58H4wA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678376298; a=rsa-sha256; cv=none; b=jOXVzADRPn9FUOCt96QF+ME5JgVYY64N8563EHKPDSsIepwspZR17ZoIBrSVUgO2FjUuyU QqS1yCaOEjGHXMh2v1EjrIX6FStjY03d7CFCJIZrVxcNRtwWUeJgkHk+yKfv+jJUq8wUAH I/7dzWfBQQsXH+avGAmRU1n6yMHRehrMq4ZjdBWh3iAuIkgXUUWWOE367pN/R+k7IftHW2 AGw3n1RE5h1xPQPVlppAiGmTnq6mnvEv5CCRZejeKbJfbN4F7QqSH/xDxaRtSkX2+h5ds7 pAaNtFUKSBsypApdS5b3AIb5TjKkq6FwP6FCkNRANx8w/9pXuH6VoDNrHqPXqw== Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (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 (2048 bits) client-digest SHA256) (Client CN "mx1.codepro.be", Issuer "R3" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PXYHG2nCVzWrf; Thu, 9 Mar 2023 15:38:18 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id E3FDA7A50; Thu, 9 Mar 2023 16:38:15 +0100 (CET) From: Kristof Provost To: "Alexander V. Chernikov" Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 7e5bf68495cc - main - netlink: add netlink support Date: Thu, 09 Mar 2023 16:38:14 +0100 X-Mailer: MailMate (1.14r5937) Message-ID: <3D3095AE-60CC-4CCD-8C8A-A6E53EEB6A8A@FreeBSD.org> In-Reply-To: <202210011419.291EJ3aa000309@gitrepo.freebsd.org> References: <202210011419.291EJ3aa000309@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=_MailMate_4A1767AD-0372-4A68-B5E4-5EDABA9FD19E_=" X-ThisMailContainsUnwantedMimeParts: N --=_MailMate_4A1767AD-0372-4A68-B5E4-5EDABA9FD19E_= Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On 1 Oct 2022, at 16:19, Alexander V. Chernikov wrote: > The branch main has been updated by melifaro: > > URL: = > https://cgit.FreeBSD.org/src/commit/?id=3D7e5bf68495cc0a8c9793a338a8a02= 009a7f6dbb6 > > commit 7e5bf68495cc0a8c9793a338a8a02009a7f6dbb6 > Author: Alexander V. Chernikov > AuthorDate: 2022-01-20 21:39:21 +0000 > Commit: Alexander V. Chernikov > CommitDate: 2022-10-01 14:15:35 +0000 > > netlink: add netlink support > > Netlinks is a communication protocol currently used in Linux = > kernel to modify, > read and subscribe for nearly all networking state. Interfaces, = > addresses, routes, > firewall, fibs, vnets, etc are controlled via netlink. > It is async, TLV-based protocol, providing 1-1 and 1-many = > communications. > > The current implementation supports the subset of NETLINK_ROUTE > family. To be more specific, the following is supported: > * Dumps: > - routes > - nexthops / nexthop groups > - interfaces > - interface addresses > - neighbors (arp/ndp) > * Notifications: > - interface arrival/departure > - interface address arrival/departure > - route addition/deletion > * Modifications: > - adding/deleting routes > - adding/deleting nexthops/nexthops groups > - adding/deleting neghbors > - adding/deleting interfaces (basic support only) > * Rtsock interaction > - route events are bridged both ways > > The implementation also supports the NETLINK_GENERIC family = > framework. > > Implementation notes: > Netlink is implemented via loadable/unloadable kernel module, > not touching many kernel parts. > Each netlink socket uses dedicated taskqueue to support async = > operations > that can sleep, such as interface creation. All message = > processing is > performed within these taskqueues. > > Compatibility: > Most of the Netlink data models specified above maps to FreeBSD = > concepts > nicely. Unmodified ip(8) binary correctly works with > interfaces, addresses, routes, nexthops and nexthop groups. Some > software such as net/bird require header-only modifications to = > compile > and work with FreeBSD netlink. > > Reviewed by: imp > Differential Revision: https://reviews.freebsd.org/D36002 > MFC after: 2 months > --- > etc/mtree/BSD.include.dist | 4 + > sys/modules/Makefile | 1 + > sys/modules/netlink/Makefile | 17 + > sys/net/route.c | 11 + > sys/net/route/route_ctl.h | 7 + > sys/net/rtsock.c | 42 ++ > sys/netlink/netlink.h | 257 +++++++++ > sys/netlink/netlink_ctl.h | 102 ++++ > sys/netlink/netlink_debug.h | 82 +++ > sys/netlink/netlink_domain.c | 689 +++++++++++++++++++++++ > sys/netlink/netlink_generic.c | 472 ++++++++++++++++ > sys/netlink/netlink_generic.h | 112 ++++ > sys/netlink/netlink_io.c | 528 ++++++++++++++++++ > sys/netlink/netlink_linux.h | 54 ++ > sys/netlink/netlink_message_parser.c | 472 ++++++++++++++++ > sys/netlink/netlink_message_parser.h | 270 +++++++++ > sys/netlink/netlink_message_writer.c | 686 +++++++++++++++++++++++ > sys/netlink/netlink_message_writer.h | 250 +++++++++ > sys/netlink/netlink_module.c | 228 ++++++++ > sys/netlink/netlink_route.c | 135 +++++ > sys/netlink/netlink_route.h | 43 ++ > sys/netlink/netlink_var.h | 142 +++++ > sys/netlink/route/common.h | 213 ++++++++ > sys/netlink/route/iface.c | 857 = > +++++++++++++++++++++++++++++ > sys/netlink/route/iface_drivers.c | 165 ++++++ > sys/netlink/route/ifaddrs.h | 90 +++ > sys/netlink/route/interface.h | 245 +++++++++ > sys/netlink/route/neigh.c | 571 +++++++++++++++++++ > sys/netlink/route/neigh.h | 105 ++++ > sys/netlink/route/nexthop.c | 1000 = > ++++++++++++++++++++++++++++++++++ > sys/netlink/route/nexthop.h | 102 ++++ > sys/netlink/route/route.c | 972 = > +++++++++++++++++++++++++++++++++ > sys/netlink/route/route.h | 366 +++++++++++++ > sys/netlink/route/route_var.h | 101 ++++ > 34 files changed, 9391 insertions(+) > > diff --git a/sys/netlink/netlink.h b/sys/netlink/netlink.h > new file mode 100644 > index 000000000000..6a68dcec1382 > --- /dev/null > +++ b/sys/netlink/netlink.h > @@ -0,0 +1,257 @@ > +/*- > + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > + * > + * Copyright (c) 2021 Ng Peng Nam Sean > + * Copyright (c) 2022 Alexander V. Chernikov > + * > + * 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. > + * > + * Copyright (C) The Internet Society (2003). All Rights Reserved. > + * > + * This document and translations of it may be copied and furnished = > to > + * others, and derivative works that comment on or otherwise explain = > it > + * or assist in its implementation may be prepared, copied, published > + * and distributed, in whole or in part, without restriction of any > + * kind, provided that the above copyright notice and this paragraph = > are > + * included on all such copies and derivative works. However, this > + * document itself may not be modified in any way, such as by = > removing > + * the copyright notice or references to the Internet Society or = > other > + * Internet organizations, except as needed for the purpose of > + * developing Internet standards in which case the procedures for > + * copyrights defined in the Internet Standards process must be > + * followed, or as required to translate it into languages other than > + * English. > + * > + * The limited permissions granted above are perpetual and will not = > be > + * revoked by the Internet Society or its successors or assignees. > + * > + * This document and the information contained herein is provided on = > an > + * "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET = > ENGINEERING > + * TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING > + * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION > + * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF > + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. > + > + */ > + > +/* > + * This file contains structures and constants for RFC 3549 (Netlink) > + * protocol. Some values have been taken from Linux implementation. > + */ > + > +#ifndef _NETLINK_NETLINK_H_ > +#define _NETLINK_NETLINK_H_ > + > +#include > +#include > + > +struct sockaddr_nl { > + uint8_t nl_len; /* sizeof(sockaddr_nl) */ > + sa_family_t nl_family; /* netlink family */ > + uint16_t nl_pad; /* reserved, set to 0 */ > + uint32_t nl_pid; /* desired port ID, 0 for auto-select */ > + uint32_t nl_groups; /* multicast groups mask to bind to */ > +}; > + > +#define SOL_NETLINK 270 > + > +/* Netlink socket options */ > +#define NETLINK_ADD_MEMBERSHIP 1 /* Subscribe for the specified = > group notifications */ > +#define NETLINK_DROP_MEMBERSHIP 2 /* Unsubscribe from the specified = > group */ > +#define NETLINK_PKTINFO 3 /* XXX: not supported */ > +#define NETLINK_BROADCAST_ERROR 4 /* XXX: not supported */ > +#define NETLINK_NO_ENOBUFS 5 /* XXX: not supported */ > +#define NETLINK_RX_RING 6 /* XXX: not supported */ > +#define NETLINK_TX_RING 7 /* XXX: not supported */ > +#define NETLINK_LISTEN_ALL_NSID 8 /* XXX: not supported */ > + > +#define NETLINK_LIST_MEMBERSHIPS 9 > +#define NETLINK_CAP_ACK 10 /* Send only original message header in = > the reply */ > +#define NETLINK_EXT_ACK 11 /* Ack support for receiving additional = > TLVs in ack */ > +#define NETLINK_GET_STRICT_CHK 12 /* Strict header checking */ > + > + > +/* > + * RFC 3549, 2.3.2 Netlink Message Header > + */ > +struct nlmsghdr { > + uint32_t nlmsg_len; /* Length of message including header */ > + uint16_t nlmsg_type; /* Message type identifier */ > + uint16_t nlmsg_flags; /* Flags (NLM_F_) */ > + uint32_t nlmsg_seq; /* Sequence number */ > + uint32_t nlmsg_pid; /* Sending process port ID */ > +}; > + > +/* > + * RFC 3549, 2.3.2 standard flag bits (nlmsg_flags) > + */ > +#define NLM_F_REQUEST 0x01 /* Indicateds request to kernel */ > +#define NLM_F_MULTI 0x02 /* Message is part of a group terminated by = > NLMSG_DONE msg */ > +#define NLM_F_ACK 0x04 /* Reply with ack message containing = > resulting error code */ > +#define NLM_F_ECHO 0x08 /* (not supported) Echo this request back */ > +#define NLM_F_DUMP_INTR 0x10 /* Dump was inconsistent due to = > sequence change */ > +#define NLM_F_DUMP_FILTERED 0x20 /* Dump was filtered as requested */ > + > +/* > + * RFC 3549, 2.3.2 Additional flag bits for GET requests > + */ > +#define NLM_F_ROOT 0x100 /* Return the complete table */ > +#define NLM_F_MATCH 0x200 /* Return all entries matching criteria */ > +#define NLM_F_ATOMIC 0x400 /* Return an atomic snapshot (ignored) */ > +#define NLM_F_DUMP (NLM_F_ROOT | NLM_F_MATCH) > + > +/* > + * RFC 3549, 2.3.2 Additional flag bits for NEW requests > + */ > +#define NLM_F_REPLACE 0x100 /* Replace existing matching config = > object */ > +#define NLM_F_EXCL 0x200 /* Don't replace the object if exists */ > +#define NLM_F_CREATE 0x400 /* Create if it does not exist */ > +#define NLM_F_APPEND 0x800 /* Add to end of list */ > + > +/* Modifiers to DELETE requests */ > +#define NLM_F_NONREC 0x100 /* Do not delete recursively */ > + > +/* Flags for ACK message */ > +#define NLM_F_CAPPED 0x100 /* request was capped */ > +#define NLM_F_ACK_TLVS 0x200 /* extended ACK TVLs were included */ > + > +/* > + * RFC 3549, 2.3.2 standard message types (nlmsg_type). > + */ > +#define NLMSG_NOOP 0x1 /* Message is ignored. */ > +#define NLMSG_ERROR 0x2 /* reply error code reporting */ > +#define NLMSG_DONE 0x3 /* Message terminates a multipart message. */ > +#define NLMSG_OVERRUN 0x4 /* overrun detected, data is lost */ > + > +#define NLMSG_MIN_TYPE 0x10 /* < 0x10: reserved control messages */ > + > +/* > + * Defition of numbers assigned to the netlink subsystems. > + */ > +#define NETLINK_ROUTE 0 /* Routing/device hook */ > +#define NETLINK_UNUSED 1 /* not supported */ > +#define NETLINK_USERSOCK 2 /* not supported */ > +#define NETLINK_FIREWALL 3 /* not supported */ > +#define NETLINK_SOCK_DIAG 4 /* not supported */ > +#define NETLINK_NFLOG 5 /* not supported */ > +#define NETLINK_XFRM 6 /* (not supported) PF_SETKEY */ > +#define NETLINK_SELINUX 7 /* not supported */ > +#define NETLINK_ISCSI 8 /* not supported */ > +#define NETLINK_AUDIT 9 /* not supported */ > +#define NETLINK_FIB_LOOKUP 10 /* not supported */ > +#define NETLINK_CONNECTOR 11 /* not supported */ > +#define NETLINK_NETFILTER 12 /* not supported */ > +#define NETLINK_IP6_FW 13 /* not supported */ > +#define NETLINK_DNRTMSG 14 /* not supported */ > +#define NETLINK_KOBJECT_UEVENT 15 /* not supported */ > +#define NETLINK_GENERIC 16 /* Generic netlink (dynamic families) */ > + So, really fun thing here, we also have `#define NETLINK_GENERIC 0` in = sys/net/if_mib.h. (And that=E2=80=99s exposed to userspace, and used ther= e, so = we can=E2=80=99t just change that.) Which leads to much fun if we decided to do something like including the = netlink_generic header in other headers, so we can define messages that = contain the genlmsghdr struct. I ran into that experimenting with netlink for carp(4). I think I can = work around it by adding a separate ip_carp_nl.h header for the netlink = stuff, but sooner or later this is going to bite us. Kristof --=_MailMate_4A1767AD-0372-4A68-B5E4-5EDABA9FD19E_= Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

On 1 Oct 2022, at 16:19, Alexander V. Chernikov wrote:

The branch main has been updated by= melifaro:

URL: https://cgit.FreeBSD.org/src/co= mmit/?id=3D7e5bf68495cc0a8c9793a338a8a02009a7f6dbb6

commit 7e5bf68495cc0a8c9793a338a8a02009a7f6dbb6
Author: Alexander V. Chernikov <melifaro@FreeBSD.org>
AuthorDate: 2022-01-20 21:39:21 +0000
Commit: Alexander V. Chernikov <melifaro@FreeBSD.org>
CommitDate: 2022-10-01 14:15:35 +0000

netlink: add netlink support

Netlinks is a communication protocol currently used i= n Linux kernel to modify,
read and subscribe for nearly all networking state. Interfaces, addr= esses, routes,
firewall, fibs, vnets, etc are controlled via netlink.
It is async, TLV-based protocol, providing 1-1 and 1-many communicati= ons.

The current implementation supports the subset of NET= LINK_ROUTE
family. To be more specific, the following is supported:
* Dumps:
- routes
- nexthops / nexthop groups
- interfaces
- interface addresses
- neighbors (arp/ndp)
* Notifications:
- interface arrival/departure
- interface address arrival/departure
- route addition/deletion
* Modifications:
- adding/deleting routes
- adding/deleting nexthops/nexthops groups
- adding/deleting neghbors
- adding/deleting interfaces (basic support only)
* Rtsock interaction
- route events are bridged both ways

The implementation also supports the NETLINK_GENERIC = family framework.

Implementation notes:
Netlink is implemented via loadable/unloadable kernel module,
not touching many kernel parts.
Each netlink socket uses dedicated taskqueue to support async operati= ons
that can sleep, such as interface creation. All message processing i= s
performed within these taskqueues.

Compatibility:
Most of the Netlink data models specified above maps to FreeBSD conce= pts
nicely. Unmodified ip(8) binary correctly works with
interfaces, addresses, routes, nexthops and nexthop groups. Some
software such as net/bird require header-only modifications to compil= e
and work with FreeBSD netlink.

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D36002
MFC after: 2 months
---
etc/mtree/BSD.include.dist | 4 +
sys/modules/Makefile | 1 +
sys/modules/netlink/Makefile | 17 +
sys/net/route.c | 11 +
sys/net/route/route_ctl.h | 7 +
sys/net/rtsock.c | 42 ++
sys/netlink/netlink.h | 257 +++++++++
sys/netlink/netlink_ctl.h | 102 ++++
sys/netlink/netlink_debug.h | 82 +++
sys/netlink/netlink_domain.c | 689 +++++++++++++++++++++++
sys/netlink/netlink_generic.c | 472 ++++++++++++++++
sys/netlink/netlink_generic.h | 112 ++++
sys/netlink/netlink_io.c | 528 ++++++++++++++++++
sys/netlink/netlink_linux.h | 54 ++
sys/netlink/netlink_message_parser.c | 472 ++++++++++++++++
sys/netlink/netlink_message_parser.h | 270 +++++++++
sys/netlink/netlink_message_writer.c | 686 +++++++++++++++++++++++
sys/netlink/netlink_message_writer.h | 250 +++++++++
sys/netlink/netlink_module.c | 228 ++++++++
sys/netlink/netlink_route.c | 135 +++++
sys/netlink/netlink_route.h | 43 ++
sys/netlink/netlink_var.h | 142 +++++
sys/netlink/route/common.h | 213 ++++++++
sys/netlink/route/iface.c | 857 ++++++++++++++++++++++++++++= +
sys/netlink/route/iface_drivers.c | 165 ++++++
sys/netlink/route/ifaddrs.h | 90 +++
sys/netlink/route/interface.h | 245 +++++++++
sys/netlink/route/neigh.c | 571 +++++++++++++++++++
sys/netlink/route/neigh.h | 105 ++++
sys/netlink/route/nexthop.c | 1000 ++++++++++++++++++++++++++++= ++++++
sys/netlink/route/nexthop.h | 102 ++++
sys/netlink/route/route.c | 972 ++++++++++++++++++++++++++++= +++++
sys/netlink/route/route.h | 366 +++++++++++++
sys/netlink/route/route_var.h | 101 ++++
34 files changed, 9391 insertions(+)

diff --git a/sys/netlink/netlink.h b/sys/netlink/netlink.= h
new file mode 100644
index 000000000000..6a68dcec1382
--- /dev/null
+++ b/sys/netlink/netlink.h
@@ -0,0 +1,257 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
+ * Copyright (c) 2021 Ng Peng Nam Sean
+ * Copyright (c) 2022 Alexander V. Chernikov <melifaro@FreeBSD.org>= ;
+ *
+ * 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 th= e
+ * documentation and/or other materials provided with the distributio= n.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AN= D
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE=
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PU= RPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABL= E
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUE= NTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOO= DS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)=
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, S= TRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY= WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY O= F
+ * SUCH DAMAGE.
+ *
+ * Copyright (C) The Internet Society (2003). All Rights Reserved.
+ *
+ * This document and translations of it may be copied and furnished to
+ * others, and derivative works that comment on or otherwise explain it
+ * or assist in its implementation may be prepared, copied, published
+ * and distributed, in whole or in part, without restriction of any
+ * kind, provided that the above copyright notice and this paragraph are=
+ * included on all such copies and derivative works. However, this
+ * document itself may not be modified in any way, such as by removing
+ * the copyright notice or references to the Internet Society or other
+ * Internet organizations, except as needed for the purpose of
+ * developing Internet standards in which case the procedures for
+ * copyrights defined in the Internet Standards process must be
+ * followed, or as required to translate it into languages other than
+ * English.
+ *
+ * The limited permissions granted above are perpetual and will not be
+ * revoked by the Internet Society or its successors or assignees.
+ *
+ * This document and the information contained herein is provided on an
+ * "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ * TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+ */
+
+/*
+ * This file contains structures and constants for RFC 3549 (Netlink)
+ * protocol. Some values have been taken from Linux implementation.
+ */
+
+#ifndef _NETLINK_NETLINK_H_
+#define _NETLINK_NETLINK_H_
+
+#include <sys/types.h>
+#include <sys/socket.h>
+
+struct sockaddr_nl {
+ uint8_t nl_len; /* sizeof(sockaddr_nl) */
+ sa_family_t nl_family; /* netlink family */
+ uint16_t nl_pad; /* reserved, set to 0 */
+ uint32_t nl_pid; /* desired port ID, 0 for auto-select */
+ uint32_t nl_groups; /* multicast groups mask to bind to */
+};
+
+#define SOL_NETLINK 270
+
+/* Netlink socket options */
+#define NETLINK_ADD_MEMBERSHIP 1 /* Subscribe for the specified group n= otifications */
+#define NETLINK_DROP_MEMBERSHIP 2 /* Unsubscribe from the specified gro= up */
+#define NETLINK_PKTINFO 3 /* XXX: not supported */
+#define NETLINK_BROADCAST_ERROR 4 /* XXX: not supported */
+#define NETLINK_NO_ENOBUFS 5 /* XXX: not supported */
+#define NETLINK_RX_RING 6 /* XXX: not supported */
+#define NETLINK_TX_RING 7 /* XXX: not supported */
+#define NETLINK_LISTEN_ALL_NSID 8 /* XXX: not supported */
+
+#define NETLINK_LIST_MEMBERSHIPS 9
+#define NETLINK_CAP_ACK 10 /* Send only original message header in the= reply */
+#define NETLINK_EXT_ACK 11 /* Ack support for receiving additional TLV= s in ack */
+#define NETLINK_GET_STRICT_CHK 12 /* Strict header checking */
+
+
+/*
+ * RFC 3549, 2.3.2 Netlink Message Header
+ */
+struct nlmsghdr {
+ uint32_t nlmsg_len; /* Length of message including header */
+ uint16_t nlmsg_type; /* Message type identifier */
+ uint16_t nlmsg_flags; /* Flags (NLM_F_) */
+ uint32_t nlmsg_seq; /* Sequence number */
+ uint32_t nlmsg_pid; /* Sending process port ID */
+};
+
+/*
+ * RFC 3549, 2.3.2 standard flag bits (nlmsg_flags)
+ */
+#define NLM_F_REQUEST 0x01 /* Indicateds request to kernel */
+#define NLM_F_MULTI 0x02 /* Message is part of a group terminated by NL= MSG_DONE msg */
+#define NLM_F_ACK 0x04 /* Reply with ack message containing resulting e= rror code */
+#define NLM_F_ECHO 0x08 /* (not supported) Echo this request back */
+#define NLM_F_DUMP_INTR 0x10 /* Dump was inconsistent due to sequence c= hange */
+#define NLM_F_DUMP_FILTERED 0x20 /* Dump was filtered as requested */
+
+/*
+ * RFC 3549, 2.3.2 Additional flag bits for GET requests
+ */
+#define NLM_F_ROOT 0x100 /* Return the complete table */
+#define NLM_F_MATCH 0x200 /* Return all entries matching criteria */
+#define NLM_F_ATOMIC 0x400 /* Return an atomic snapshot (ignored) */
+#define NLM_F_DUMP (NLM_F_ROOT | NLM_F_MATCH)
+
+/*
+ * RFC 3549, 2.3.2 Additional flag bits for NEW requests
+ */
+#define NLM_F_REPLACE 0x100 /* Replace existing matching config object = */
+#define NLM_F_EXCL 0x200 /* Don't replace the object if exists */
+#define NLM_F_CREATE 0x400 /* Create if it does not exist */
+#define NLM_F_APPEND 0x800 /* Add to end of list */
+
+/* Modifiers to DELETE requests */
+#define NLM_F_NONREC 0x100 /* Do not delete recursively */
+
+/* Flags for ACK message */
+#define NLM_F_CAPPED 0x100 /* request was capped */
+#define NLM_F_ACK_TLVS 0x200 /* extended ACK TVLs were included */
+
+/*
+ * RFC 3549, 2.3.2 standard message types (nlmsg_type).
+ */
+#define NLMSG_NOOP 0x1 /* Message is ignored. */
+#define NLMSG_ERROR 0x2 /* reply error code reporting */
+#define NLMSG_DONE 0x3 /* Message terminates a multipart message. */
+#define NLMSG_OVERRUN 0x4 /* overrun detected, data is lost */
+
+#define NLMSG_MIN_TYPE 0x10 /* < 0x10: reserved control messages */
+
+/*
+ * Defition of numbers assigned to the netlink subsystems.
+ */
+#define NETLINK_ROUTE 0 /* Routing/device hook */
+#define NETLINK_UNUSED 1 /* not supported */
+#define NETLINK_USERSOCK 2 /* not supported */
+#define NETLINK_FIREWALL 3 /* not supported */
+#define NETLINK_SOCK_DIAG 4 /* not supported */
+#define NETLINK_NFLOG 5 /* not supported */
+#define NETLINK_XFRM 6 /* (not supported) PF_SETKEY */
+#define NETLINK_SELINUX 7 /* not supported */
+#define NETLINK_ISCSI 8 /* not supported */
+#define NETLINK_AUDIT 9 /* not supported */
+#define NETLINK_FIB_LOOKUP 10 /* not supported */
+#define NETLINK_CONNECTOR 11 /* not supported */
+#define NETLINK_NETFILTER 12 /* not supported */
+#define NETLINK_IP6_FW 13 /* not supported */
+#define NETLINK_DNRTMSG 14 /* not supported */
+#define NETLINK_KOBJECT_UEVENT 15 /* not supported */
+#define NETLINK_GENERIC 16 /* Generic netlink (dynamic families) */
+

So, really fun thing here, we also have #define NETLINK_GENERIC 0 in sys/net/if_mib.h. (And that=E2=80=99s exposed to userspace, and u= sed there, so we can=E2=80=99t just change that.)

Which leads to much fun if we decided to do something lik= e including the netlink_generic header in other headers, so we can define= messages that contain the genlmsghdr struct.

I ran into that experimenting with netlink for carp(4). I= think I can work around it by adding a separate ip_carp_nl.h header for = the netlink stuff, but sooner or later this is going to bite us.

Kristof

--=_MailMate_4A1767AD-0372-4A68-B5E4-5EDABA9FD19E_=-- From nobody Thu Mar 9 15:46:11 2023 X-Original-To: dev-commits-src-main@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 4PXYSM6KFBz3x4Tw; Thu, 9 Mar 2023 15:46: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 4PXYSM5qwXz3xmB; Thu, 9 Mar 2023 15:46:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678376771; 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=Gy5NDU+eVV2HDHHZtiPh1C1V8WnhlRF8VfSkwqF0rLA=; b=fN/w6ORaFH9uR4GSQ74MT12YORmSHK0X7mMlQC76N80kSfolazzik1zXRl7nF0IXV2JRJy at/M7V2kHReBKGFMnalc+P39kY8LK1KDoiMQlsmuEPJhh0nogtwR3bhrqKbY16U8YmjHhD oqthSrITqXvA/ASmk+czJ7tO3HvuqXZBwtS+HlvXzTouieVsmclZN25mgn6xWEa82Weuc7 VLSbC6UsRg8tIIenic7km/O9mggKw62wNkvAQHINy9GFL0SJhbQhO/gHXSLDQBNDuaHJLy 6r+GQETMufVg6uqhex0z6UbePGoHEuGZ/GCEqp5IDUTpRyzHx6QaUuOqsf2qSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678376771; 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=Gy5NDU+eVV2HDHHZtiPh1C1V8WnhlRF8VfSkwqF0rLA=; b=f/BnI9jh4338Q2AyXHC9N4pi5iygCXRqbSSaYMRwJL62sgCcjT938VAe4jKeuQsXhDZcds 8QonDyptjfPqsVrzxqo7St2TPtTBIiDd4jT/eVu5RyXez8zGGDDpno+8uaZcLd9xZ2Ta++ HouZgfmT5/kxOHsZ35fuAnwTphgTdsmBP3VCLgznNaLIRSn7tvwKK2rScPkGZK4kjGMRgK N5ADIjNvZmS/UnNu8BioHLRaFTY+fS9yRwW5PihM92j/6gUuHdu0IH+rMkdvFiw62TUbeF bhUp9B0kjM5O/eHyjkSj6IWGW9GmJBNnPxAqFk0qL/FNHjq7kP+O9F8JEJxW+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678376771; a=rsa-sha256; cv=none; b=QrGT8E9o5XEGjLDkuE1T9Jfeg+paItRxrQ+j9OcQlBpegv5M6C8k0jQwsgQP3C++/zQS+S MR72eLPxA6XjxwUmMUWrnYz+ybXpn/V0XoUnNezSo8XVgZRbWMuJGLs+NQZ1ANRAIQatLp 1dRjB908c5UruKgF1eSb1x8ZmKe9NZZ3hZ5I/4HoDhTa3JZ41v2vFz55H8FrZvgRhv/MvT gKCNCxK1t99FJU6R7/lPaf4m49/4WqFSvomZkxbIXu2HD/sbOmlDQKBAmwU4gf9fMPbhgF r0cVZZupFDtHuyeBQCaajJlDeJi2lhyMSjDk3GA0/okCpBVDZwpmW5u4yixvRA== 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 4PXYSM4t5Bz1Cq8; Thu, 9 Mar 2023 15:46:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329FkBtK047954; Thu, 9 Mar 2023 15:46:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329FkBKI047951; Thu, 9 Mar 2023 15:46:11 GMT (envelope-from git) Date: Thu, 9 Mar 2023 15:46:11 GMT Message-Id: <202303091546.329FkBKI047951@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: da4047d3ba23 - main - fix buildworld after 595d23f777dc. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: da4047d3ba23201ae4049dccea1151bd6ca2d1df Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=da4047d3ba23201ae4049dccea1151bd6ca2d1df commit da4047d3ba23201ae4049dccea1151bd6ca2d1df Author: Alexander V. Chernikov AuthorDate: 2023-03-09 15:44:59 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-03-09 15:45:57 +0000 fix buildworld after 595d23f777dc. Reported by: se --- sys/netlink/netlink_snl.h | 4 ++-- sys/netlink/netlink_snl_route.h | 8 ++++---- sys/netlink/netlink_snl_route_compat.h | 3 +++ sys/netlink/netlink_snl_route_parsers.h | 9 +++++---- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h index 4e6524783310..31b90003b519 100644 --- a/sys/netlink/netlink_snl.h +++ b/sys/netlink/netlink_snl.h @@ -677,7 +677,7 @@ snl_add_msg_attr(struct snl_writer *nw, int attr_type, int attr_len, const void return (false); } - struct nlattr *nla = (struct nlattr *)(&nw->base[nw->offset]); + struct nlattr *nla = (struct nlattr *)(void *)(&nw->base[nw->offset]); nla->nla_len = attr_len + sizeof(struct nlattr); nla->nla_type = attr_type; @@ -838,7 +838,7 @@ snl_finalize_msg(struct snl_writer *nw) return (NULL); } -static bool +static inline bool snl_send_msgs(struct snl_writer *nw) { int offset = nw->offset; diff --git a/sys/netlink/netlink_snl_route.h b/sys/netlink/netlink_snl_route.h index 281794a9d6f7..e67bffde215e 100644 --- a/sys/netlink/netlink_snl_route.h +++ b/sys/netlink/netlink_snl_route.h @@ -134,10 +134,10 @@ snl_add_msg_attr_ip(struct snl_writer *nw, int attrtype, const struct sockaddr * switch (sa->sa_family) { case AF_INET: - addr = &((const struct sockaddr_in *)sa)->sin_addr; + addr = &((const struct sockaddr_in *)(const void *)sa)->sin_addr; return (snl_add_msg_attr(nw, attrtype, 4, addr)); case AF_INET6: - addr = &((const struct sockaddr_in6 *)sa)->sin6_addr; + addr = &((const struct sockaddr_in6 *)(const void *)sa)->sin6_addr; return (snl_add_msg_attr(nw, attrtype, 16, addr)); } @@ -153,10 +153,10 @@ snl_add_msg_attr_ipvia(struct snl_writer *nw, int attrtype, const struct sockadd switch (sa->sa_family) { case AF_INET: - memcpy(&buf[1], &((const struct sockaddr_in *)sa)->sin_addr, 4); + memcpy(&buf[1], &((const struct sockaddr_in *)(const void *)sa)->sin_addr, 4); return (snl_add_msg_attr(nw, attrtype, 5, buf)); case AF_INET6: - memcpy(&buf[1], &((const struct sockaddr_in6 *)sa)->sin6_addr, 16); + memcpy(&buf[1], &((const struct sockaddr_in6 *)(const void *)sa)->sin6_addr, 16); return (snl_add_msg_attr(nw, attrtype, 17, buf)); } diff --git a/sys/netlink/netlink_snl_route_compat.h b/sys/netlink/netlink_snl_route_compat.h index 51904abb4003..0314c5715e4f 100644 --- a/sys/netlink/netlink_snl_route_compat.h +++ b/sys/netlink/netlink_snl_route_compat.h @@ -27,6 +27,9 @@ #ifndef _NETLINK_NETLINK_SNL_ROUTE_COMPAT_H_ #define _NETLINK_NETLINK_SNL_ROUTE_COMPAT_H_ +#include +#include + /* * This file contains netlink-compatible definitions from the * net/route.h header. diff --git a/sys/netlink/netlink_snl_route_parsers.h b/sys/netlink/netlink_snl_route_parsers.h index a76fb7da8ec2..a370f89fb9e3 100644 --- a/sys/netlink/netlink_snl_route_parsers.h +++ b/sys/netlink/netlink_snl_route_parsers.h @@ -28,7 +28,7 @@ #define _NETLINK_NETLINK_SNL_ROUTE_PARSERS_H_ #include -#include +#include /* TODO: this file should be generated automatically */ @@ -72,7 +72,8 @@ struct rta_mpath { }; static bool -nlattr_get_multipath(struct snl_state *ss, struct nlattr *nla, const void *arg, void *target) +nlattr_get_multipath(struct snl_state *ss, struct nlattr *nla, const void *arg __unused, + void *target) { int data_len = nla->nla_len - sizeof(struct nlattr); struct rtnexthop *rtnh; @@ -83,7 +84,7 @@ nlattr_get_multipath(struct snl_state *ss, struct nlattr *nla, const void *arg, struct rta_mpath *mp = snl_allocz(ss, sz); mp->num_nhops = 0; - for (rtnh = (struct rtnexthop *)(nla + 1); data_len > 0; ) { + for (rtnh = (struct rtnexthop *)(void *)(nla + 1); data_len > 0; ) { struct rta_mpath_nh *mpnh = &mp->nhops[mp->num_nhops++]; if (!snl_parse_header(ss, rtnh, rtnh->rtnh_len, &_mpath_nh_parser, mpnh)) @@ -91,7 +92,7 @@ nlattr_get_multipath(struct snl_state *ss, struct nlattr *nla, const void *arg, int len = NL_ITEM_ALIGN(rtnh->rtnh_len); data_len -= len; - rtnh = (struct rtnexthop *)((char *)rtnh + len); + rtnh = (struct rtnexthop *)(void *)((char *)rtnh + len); } if (data_len != 0 || mp->num_nhops == 0) { return (false); From nobody Thu Mar 9 16:09:25 2023 X-Original-To: dev-commits-src-main@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 4PXYzH36B0z3x5jM; Thu, 9 Mar 2023 16:09:31 +0000 (UTC) (envelope-from yuri@aetern.org) Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4PXYzH0sRCz41xW; Thu, 9 Mar 2023 16:09:31 +0000 (UTC) (envelope-from yuri@aetern.org) Authentication-Results: mx1.freebsd.org; none Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id A1F52320095C; Thu, 9 Mar 2023 11:09:29 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 09 Mar 2023 11:09:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aetern.org; h=cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1678378169; x=1678464569; bh=6raCTZo3nxVgPziCXs4ajOBnnpPWa/J9sfK 1JCj0+3A=; b=UiTOVnKuWLUj3U0AamcYHIryJTW4e8u9OLVVV8LBXaZlYCBzmpD HEEHZSPa+NTZTEKwdysvhb61Vv4yV+z2ImB6w1ChTvD2e4s3Yi0xwBbBwEcWs8bZ Oc18x8k+7XPXKu9QzpbBsE2cbevCGWo7Y2Ffty9Ls0vaZc2t0sixNbacBEfj2yBJ O6FRdjgazIZeCVsbkfmrbkT2aGM4UXD5he7IpGbLn7sK4ClGXbb3NVB6fJMzkEGi 0N4GISUMu1VzTjCpFjsXXogBtWndMIe1pDdivUF8/mUV6R0vT8smtvKDQosl32Uk lXjCwaDYQtdUHNjDsE9gDjK34KiCpockUeA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1678378169; x= 1678464569; bh=6raCTZo3nxVgPziCXs4ajOBnnpPWa/J9sfK1JCj0+3A=; b=s s71Jx3QDV9YLiWmP3gj2bFwN6AbjjbGexk2P4EEYzzan8Rqh/5OA8nLzsuH46r4S DngZy0yGdk5Zqrv7hK7I0sfmgtV8A7rr62dsCVD+fjRt/b6tkPKEvZFNpD0BwDCR n29JMawl+2+YPs2zqsA76FAMXpbN8Bsck6xI3cto/wvnFeVK5ifbh8oASgUCDTnJ HGDHoINo51Oom7BfnnlaeYSF3RwavdNWDXbO5EuSOJlokBAFzHNDRBIHGbbc0JcW dzeX9LHAM8IB98gpiDDp5PJ05n59q2G9Ba5snaW/ZaU48/RirYkiD7QUscL3nC1F XTrJO6Yp72EtlG8LqZXaw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdduiedgkeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefkffggfgfuvfhfhfgjtgfgsehtje ertddtfeejnecuhfhrohhmpegjuhhrihcuoeihuhhrihesrggvthgvrhhnrdhorhhgqeen ucggtffrrghtthgvrhhnpeegheelveeuhefhgffgteetffeifffhudetudetuedvhedvhf ffvdethfffjeejvdenucffohhmrghinhepfhhrvggvsghsugdrohhrghenucevlhhushht vghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeihuhhrihesrggvthgvrh hnrdhorhhg X-ME-Proxy: Feedback-ID: i0d79475b:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 9 Mar 2023 11:09:28 -0500 (EST) Message-ID: <22d58d75-ae3e-cdff-9149-468d13b84f17@aetern.org> Date: Thu, 9 Mar 2023 17:09:25 +0100 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: git: 20dc2c4d11dd - main - nvmecontrol: Fix default ns create parameters. Content-Language: en-US To: Alexander Motin , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202303091520.329FKwwR011215@gitrepo.freebsd.org> From: Yuri In-Reply-To: <202303091520.329FKwwR011215@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4PXYzH0sRCz41xW X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:29838, ipnet:64.147.123.0/24, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N Alexander Motin wrote: > The branch main has been updated by mav: > > URL: https://cgit.FreeBSD.org/src/commit/?id=20dc2c4d11ddaa980c491116b65c51ab522028e9 > > commit 20dc2c4d11ddaa980c491116b65c51ab522028e9 > Author: Alexander Motin > AuthorDate: 2023-03-09 15:19:00 +0000 > Commit: Alexander Motin > CommitDate: 2023-03-09 15:19:00 +0000 > > nvmecontrol: Fix default ns create parameters. > > Instead of passing 0xff's for all unset parameters, prefer reasonable > defaults. It is much easier to use it this was without specs in hand. Could this possibly fix https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269912? From nobody Thu Mar 9 16:14:20 2023 X-Original-To: dev-commits-src-main@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 4PXZ4t31gnz3x5Zw; Thu, 9 Mar 2023 16:14:22 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com [IPv6:2607:f8b0:4864:20::82d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PXZ4t0ySdz43p6; Thu, 9 Mar 2023 16:14:22 +0000 (UTC) (envelope-from mavbsd@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qt1-x82d.google.com with SMTP id z6so2595883qtv.0; Thu, 09 Mar 2023 08:14:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678378461; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=GVJ74unG1JZqRsTSCQsuF/CZWG9Oig0mSX7EV1qHnSA=; b=p3v+qL7jeP/KfoYLINrrSLlkxOZzzP3AkKbYyWug6tlqao4I2Ye2DJ525ENBdPFU0g M1QtxZHqrO+GQKPN0cqbF+lrH+/oL4Yep/jPf8gf5CovxeaGLvRMM3msyO6szO+KXLG3 c0wwnipl2e4yaIY5wR0CMd2sIouDTr2ZBj35FjI/nXkkfqZblqJyIPsJ/Xl7rjFZ0oo9 JLwcJNZlrdmZB/Lilg2cVPLucv0r3j6pIQcDSR15wLCgt5woMaLImXJodjRRTMUwRhwc i449MqkdCsRMY0n8TaH+AZs9F0xluV2Y4XEjjA4XnQSsPzP1OEoffS2WbQVnro+6oxdJ VlGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678378461; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=GVJ74unG1JZqRsTSCQsuF/CZWG9Oig0mSX7EV1qHnSA=; b=OeKFkmtNSSgecOamBub4uobau+vIZCxPAZxf3ae1qGrs15no+1pUGBoe+qKI0XclcV 7dTDcZSSHrhuc3EsJPitsCgjPLNmS9X6k/Wo//L3lmATGy5YjjW6LFdqQQjn+gFsO5tp bTDOLU1P8YgZFYLeTEYAnmkY+PSo6KDrdzclGaFRr/9+WXBL3b+PpzxC8oh8v1NL9ZYK Mr4cphmKJBzsGh7vrLvgXKFH74RfXN9Alfm9EMXGQvkrryY+VENxfLU2fgg6NzmW6OYJ wLZ6PYaLD42tSxxp3ZFSoDWTOiuXhFWIaLXVZBAeOtQmq5EqDmvBdgkL2gkRxI4rJ7Qx K5bQ== X-Gm-Message-State: AO0yUKUc1TAopObZ7IIhgsNOuR8DSyBbb1w5YiCk5pDIT0BPsl3hYCqh pyjP4IVJQm4zz0e1YO0un/Cuo7trdzU= X-Google-Smtp-Source: AK7set923KX+eKbsSn45Ytd2Nw2ldmXWjNBMpkokHuvRcF9j9NvmNas038X2OZvyJXM6WiQRP107vQ== X-Received: by 2002:a05:622a:1706:b0:3c0:3be7:8ca2 with SMTP id h6-20020a05622a170600b003c03be78ca2mr17683471qtk.19.1678378461305; Thu, 09 Mar 2023 08:14:21 -0800 (PST) Received: from [10.230.45.5] ([38.32.73.2]) by smtp.gmail.com with ESMTPSA id h22-20020ac87776000000b003b9a73cd120sm13785591qtu.17.2023.03.09.08.14.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 09 Mar 2023 08:14:20 -0800 (PST) Message-ID: Date: Thu, 9 Mar 2023 11:14:20 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:91.0) Gecko/20100101 Thunderbird/91.13.0 Subject: Re: git: 20dc2c4d11dd - main - nvmecontrol: Fix default ns create parameters. Content-Language: en-US To: Yuri , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202303091520.329FKwwR011215@gitrepo.freebsd.org> <22d58d75-ae3e-cdff-9149-468d13b84f17@aetern.org> From: Alexander Motin In-Reply-To: <22d58d75-ae3e-cdff-9149-468d13b84f17@aetern.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4PXZ4t0ySdz43p6 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 09.03.2023 11:09, Yuri wrote: > Alexander Motin wrote: >> The branch main has been updated by mav: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=20dc2c4d11ddaa980c491116b65c51ab522028e9 >> >> commit 20dc2c4d11ddaa980c491116b65c51ab522028e9 >> Author: Alexander Motin >> AuthorDate: 2023-03-09 15:19:00 +0000 >> Commit: Alexander Motin >> CommitDate: 2023-03-09 15:19:00 +0000 >> >> nvmecontrol: Fix default ns create parameters. >> >> Instead of passing 0xff's for all unset parameters, prefer reasonable >> defaults. It is much easier to use it this was without specs in hand. > > Could this possibly fix > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269912? Yes, it may. Since I don't see neither of -d -p or -l parameters specified, it could cause the same issue I just hit. -- Alexander Motin From nobody Thu Mar 9 16:14:31 2023 X-Original-To: dev-commits-src-main@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 4PXZ542tDJz3x5V8; Thu, 9 Mar 2023 16:14: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 4PXZ540CPYz43ql; Thu, 9 Mar 2023 16:14:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678378472; 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=RB3B04A4i47047lb4B+3Dy0QkYr1j5hYcSmZKiFjRG8=; b=JN0yRCrh9Ekd43gqnyUh4/O7xZfqwU2WtiLU4wc0mpHoITsbQhV+MWoiXAhu0uHQ8HZ7j+ 9LecOOj4XBUCQ0itPz9r39YDjKfEeToC9xh4pOY9gxlzN/IOicE/EC9E+T23Y7jSTcCVNV oAPBaSyhAjJchRb3MGsr6D+VYHV4tBAtJvuJtJ23qboHippJAzUrTrBP99+bgysIrZFQH9 R5kR7H0pcwf+dl3NN46J0sTon9uWtsMcMN4DMkdZ6JYHp4/Rq89velnc/n5KEfZ3TnWlYA fK3yONB9VW11352SM60/DcXtaZQrDNtqw3yASC5+4Q3JomypLUr3YNpWC38TKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678378472; 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=RB3B04A4i47047lb4B+3Dy0QkYr1j5hYcSmZKiFjRG8=; b=xdZAtbsD47Rqn5NNmhQb/zibh1IqrwbgX2Z7YMsHNm/nUpSXr0YvU3EXnCobEd6l5TrY1L M3ziFMuGPCWVuamUcZI+KeXklPTtrySr24BIrTcpQMcmDLWH2sFcyRUs5EUvRiEgC0gLgF PnHxlDPJfHGJBieit6f7GS66lb8Mea4Vn4Y6bu4MqeqWqLRONNRHhmE4lffEaRDaKU3Nfx A0SIkj72B1TM+7x9oPLLnE8I9XTeE9qwT/kFDSNSfBtRZ7fJVjxS4uvWIkSJtN9Hy2UHRI es3WlNLbv4TqLPce+IQRuOOyP58N/ujaRyp5UOl+7cYFgGmW+TMmqY2ylanFnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678378472; a=rsa-sha256; cv=none; b=RgmHgWSkzVwYxWMyVnsBmBX9wptMwUAwIUCIzqFTBdBYeffVDK2Xq2wryx7o0B7i9YoiNz pB9V7+mDOuARDlHp5j9xKzOJxlegKm7KlDILsi5lGUBTsYL/VIA5EWqUAgVUyqqUyckXNd zihG7ENDWUZY1QdOGkSE2gATlH/G2zoty3mKagxb6JrguSEoVl1UH1tFSmrvuhkldleMeB GnSfzSNVVdQt0euajwB8RJeKZYP8pl4ZHxoOeGlinecu6T3WToxbTI8936n1Zj9JsotFOw icqVapcVDevX7LWZqTyzulxS1UwrN59VxBq8A60Lg6eSpfj8Ih+d9w01ECgWaw== 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 4PXZ536Q28zDyx; Thu, 9 Mar 2023 16:14:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329GEVWi097621; Thu, 9 Mar 2023 16:14:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329GEVlx097620; Thu, 9 Mar 2023 16:14:31 GMT (envelope-from git) Date: Thu, 9 Mar 2023 16:14:31 GMT Message-Id: <202303091614.329GEVlx097620@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= Subject: git: 5489d7e93a06 - main - xen: bump used interface version List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5489d7e93a06fbb5d06d6d7e43a4c56f1571c891 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=5489d7e93a06fbb5d06d6d7e43a4c56f1571c891 commit 5489d7e93a06fbb5d06d6d7e43a4c56f1571c891 Author: Roger Pau Monné AuthorDate: 2022-11-21 15:21:16 +0000 Commit: Roger Pau Monné CommitDate: 2023-03-09 16:13:17 +0000 xen: bump used interface version This is required for a further change that will make use of a field that was added in version 0x00040d00. No functional change expected. Sponsored by: Citrix Systems R&D --- sys/dev/xen/balloon/balloon.c | 2 -- sys/dev/xen/grant_table/grant_table.c | 4 ++-- sys/dev/xen/privcmd/privcmd.c | 6 +++--- sys/x86/xen/xen_intr.c | 3 +++ sys/xen/xen-os.h | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/sys/dev/xen/balloon/balloon.c b/sys/dev/xen/balloon/balloon.c index 9fb3164cab7a..02dac3dfe757 100644 --- a/sys/dev/xen/balloon/balloon.c +++ b/sys/dev/xen/balloon/balloon.c @@ -155,7 +155,6 @@ increase_reservation(unsigned long nr_pages) vm_page_t page; long rc; struct xen_memory_reservation reservation = { - .address_bits = 0, .extent_order = 0, .domid = DOMID_SELF }; @@ -217,7 +216,6 @@ decrease_reservation(unsigned long nr_pages) int need_sleep = 0; int ret __diagused; struct xen_memory_reservation reservation = { - .address_bits = 0, .extent_order = 0, .domid = DOMID_SELF }; diff --git a/sys/dev/xen/grant_table/grant_table.c b/sys/dev/xen/grant_table/grant_table.c index 11e5071c7b0b..fdbec8ac14e8 100644 --- a/sys/dev/xen/grant_table/grant_table.c +++ b/sys/dev/xen/grant_table/grant_table.c @@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$"); /* External tools reserve first few grant table entries. */ #define NR_RESERVED_ENTRIES 8 -#define GREFS_PER_GRANT_FRAME (PAGE_SIZE / sizeof(grant_entry_t)) +#define GREFS_PER_GRANT_FRAME (PAGE_SIZE / sizeof(grant_entry_v1_t)) static grant_ref_t **gnttab_list; static unsigned int nr_grant_frames; @@ -59,7 +59,7 @@ static struct resource *gnttab_pseudo_phys_res; /* Resource id for allocated physical address space. */ static int gnttab_pseudo_phys_res_id; -static grant_entry_t *shared; +static grant_entry_v1_t *shared; static struct gnttab_free_callback *gnttab_free_callback_list = NULL; diff --git a/sys/dev/xen/privcmd/privcmd.c b/sys/dev/xen/privcmd/privcmd.c index 459ac8bbe951..614ee8554a71 100644 --- a/sys/dev/xen/privcmd/privcmd.c +++ b/sys/dev/xen/privcmd/privcmd.c @@ -315,7 +315,7 @@ privcmd_ioctl(struct cdev *dev, unsigned long cmd, caddr_t arg, } case IOCTL_PRIVCMD_MMAPBATCH: { struct ioctl_privcmd_mmapbatch *mmap; - struct xen_add_to_physmap_range add; + struct xen_add_to_physmap_batch add; xen_ulong_t *idxs; xen_pfn_t *gpfns; int *errs; @@ -338,7 +338,7 @@ privcmd_ioctl(struct cdev *dev, unsigned long cmd, caddr_t arg, add.domid = DOMID_SELF; add.space = XENMAPSPACE_gmfn_foreign; - add.foreign_domid = mmap->dom; + add.u.foreign_domid = mmap->dom; /* * The 'size' field in the xen_add_to_physmap_range only @@ -370,7 +370,7 @@ privcmd_ioctl(struct cdev *dev, unsigned long cmd, caddr_t arg, bzero(errs, sizeof(*errs) * num); error = HYPERVISOR_memory_op( - XENMEM_add_to_physmap_range, &add); + XENMEM_add_to_physmap_batch, &add); if (error != 0) { error = xen_translate_error(error); goto mmap_out; diff --git a/sys/x86/xen/xen_intr.c b/sys/x86/xen/xen_intr.c index b9a909a14a67..262df1cefeea 100644 --- a/sys/x86/xen/xen_intr.c +++ b/sys/x86/xen/xen_intr.c @@ -71,6 +71,9 @@ __FBSDID("$FreeBSD$"); #include #endif +/* The code below is the implementation of 2L event channels. */ +#define NR_EVENT_CHANNELS EVTCHN_2L_NR_CHANNELS + static MALLOC_DEFINE(M_XENINTR, "xen_intr", "Xen Interrupt Services"); static u_int first_evtchn_irq; diff --git a/sys/xen/xen-os.h b/sys/xen/xen-os.h index 183724be9749..e1d03b7322bc 100644 --- a/sys/xen/xen-os.h +++ b/sys/xen/xen-os.h @@ -30,7 +30,7 @@ #ifndef _XEN_XEN_OS_H_ #define _XEN_XEN_OS_H_ -#define __XEN_INTERFACE_VERSION__ 0x00030208 +#define __XEN_INTERFACE_VERSION__ 0x00040d00 #define GRANT_REF_INVALID 0xffffffff From nobody Thu Mar 9 16:14:32 2023 X-Original-To: dev-commits-src-main@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 4PXZ5521tSz3x633; Thu, 9 Mar 2023 16:14:33 +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 4PXZ551Kfrz441j; Thu, 9 Mar 2023 16:14:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678378473; 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=ThCR+DgZ2Le5s2F4nBiJkbliiC7rV5IZULDvwF5kWZk=; b=njoAGyCdxx7Cm7iRDpGVMk2oqkRvLY/gWqNgFwCGr920MY2DcDSoWtky/T5cI7Bgcdpz/f DGrOUk0lSMjlYqU+GVml22MZVY4OtTfUZRlPNdMzV8qCFSnyf8UTO6Eo73eMBZUUY1QYFU 8i+iIbq8pHMTiAKAqNEmHOHOlNnW3EtZDaoysBCuF70aPIVdrgv9/QLTg62CIzPRycM/EV c/aAayaPaxBKOwmDE+jiriT9tbFGYuH95U0ViQ2tBSM6nmuk3YjXkQRxBNPUY7htANIphH EOOdkclp0tHPo1QfqP4FiO+PdY0imENeqJGnYZof8i8z5E+G7inhJ1PjsuwnMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678378473; 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=ThCR+DgZ2Le5s2F4nBiJkbliiC7rV5IZULDvwF5kWZk=; b=tA1GyRbN255a5rv867iBR5au4h7SpeJQJh1YYjN8X/7CkChbxohxBFVvg/gU2gFDT3qJmh ht55+/zonRgxXh2yj9m68eED1Z3gwX/PoybOiZX0M4nTIeOER8IF6HgxG6lwwiSpEn47kQ 9en6bko1yL+blPmDwWm6VXU5B15O3Oj4OBoOjQtuCUXj6h3Js5Z6Xy1A7o4W/VMhUBxBCq M7FY8OHrSU+J0OllPKnSyN+95awkJ1FnSEpkjQAqMctIMabBWrZBOLlWo9m82ES0P+PppU kUhNvckOtZtZ5E6tnjsmN3fmWydr9+qdhZLcPBvkKgA0BtNtURmQapPPx5cbzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678378473; a=rsa-sha256; cv=none; b=CdhVUawZ5yUnSfaRwPo1foBYJRNXsJGFs3Q3a2x/oT+KSeiOujcYJaYUZD2GfZUUBk026u 1BBi6qK3+jbsjOLQoR3tWra/pF1Nj0w1vigR4pbik9X7H88jh4cGCw6HSVWgVmWDDAHdAm EXKPgUcxEQXUZiOrVk47HUk6JXvnl0wOkxQwzLeBByUgz6ej2PArhN2e5r2SLmv/uJrsYh ytZ7/f24poYKgjtboP3ascqRBRLQIsi5I7dza1MYSBOJsP7gk+CZdEI+7bGN9P4prbwV6h x2FW0iEn8FBbVh3EV4eUa3cKhoa3QM0ScHFDixE+NRVzEMZrr4DLU042SySi0Q== 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 4PXZ550DCTzDx5; Thu, 9 Mar 2023 16:14:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329GEWcM097645; Thu, 9 Mar 2023 16:14:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329GEW3k097644; Thu, 9 Mar 2023 16:14:32 GMT (envelope-from git) Date: Thu, 9 Mar 2023 16:14:32 GMT Message-Id: <202303091614.329GEW3k097644@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= Subject: git: 6f80738b228c - main - xen: fetch dom0 video console information from Xen List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6f80738b228c04e3ff3f2d14eea2161d2cf4f81c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=6f80738b228c04e3ff3f2d14eea2161d2cf4f81c commit 6f80738b228c04e3ff3f2d14eea2161d2cf4f81c Author: Roger Pau Monné AuthorDate: 2022-11-21 11:40:08 +0000 Commit: Roger Pau Monné CommitDate: 2023-03-09 16:13:17 +0000 xen: fetch dom0 video console information from Xen It's possible for Xen to switch the video mode set by the boot loader, so that the information passed in the kernel metadata is no longer valid. Fetch the video mode used by Xen using an hypercall and update the medatada for the kernel to use the correct video mode. Sponsored by: Citrix Systems R&D --- sys/contrib/xen/platform.h | 5 ++++ sys/x86/xen/pv.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) diff --git a/sys/contrib/xen/platform.h b/sys/contrib/xen/platform.h index 81001335094b..ccd6be741876 100644 --- a/sys/contrib/xen/platform.h +++ b/sys/contrib/xen/platform.h @@ -622,6 +622,10 @@ struct xenpf_symdata { typedef struct xenpf_symdata xenpf_symdata_t; DEFINE_XEN_GUEST_HANDLE(xenpf_symdata_t); +#define XENPF_get_dom0_console 64 +typedef struct dom0_vga_console_info xenpf_dom0_console_t; +DEFINE_XEN_GUEST_HANDLE(xenpf_dom0_console_t); + /* * ` enum neg_errnoval * ` HYPERVISOR_platform_op(const struct xen_platform_op*); @@ -652,6 +656,7 @@ struct xen_platform_op { xenpf_core_parking_t core_parking; xenpf_resource_op_t resource_op; xenpf_symdata_t symdata; + xenpf_dom0_console_t dom0_console; uint8_t pad[128]; } u; }; diff --git a/sys/x86/xen/pv.c b/sys/x86/xen/pv.c index 28794db98700..d721e9bb530e 100644 --- a/sys/x86/xen/pv.c +++ b/sys/x86/xen/pv.c @@ -336,6 +336,75 @@ xen_pvh_parse_symtab(void) } #endif +static void +fixup_console(caddr_t kmdp) +{ + struct xen_platform_op op = { + .cmd = XENPF_get_dom0_console, + }; + xenpf_dom0_console_t *console = &op.u.dom0_console; + union { + struct efi_fb efi; + struct vbe_fb vbe; + } *fb = NULL; + int ret; + + ret = HYPERVISOR_platform_op(&op); + if (ret != 0) { + xc_printf("Failed to get dom0 video console info\n"); + return; + } + + switch (console->video_type) { + case XEN_VGATYPE_VESA_LFB: + fb = (__typeof__ (fb))preload_search_info(kmdp, + MODINFO_METADATA | MODINFOMD_VBE_FB); + + if (fb == NULL) { + xc_printf("No VBE FB in kernel metadata\n"); + return; + } + + _Static_assert(offsetof(struct vbe_fb, fb_bpp) == + offsetof(struct efi_fb, fb_mask_reserved) + + sizeof(fb->efi.fb_mask_reserved), + "Bad structure overlay\n"); + fb->vbe.fb_bpp = console->u.vesa_lfb.bits_per_pixel; + /* FALLTHROUGH */ + case XEN_VGATYPE_EFI_LFB: + if (fb == NULL) { + fb = (__typeof__ (fb))preload_search_info(kmdp, + MODINFO_METADATA | MODINFOMD_EFI_FB); + if (fb == NULL) { + xc_printf("No EFI FB in kernel metadata\n"); + return; + } + } + + fb->efi.fb_addr = console->u.vesa_lfb.lfb_base | + ((uint64_t)console->u.vesa_lfb.ext_lfb_base << 32); + fb->efi.fb_size = console->u.vesa_lfb.lfb_size << 16; + fb->efi.fb_height = console->u.vesa_lfb.height; + fb->efi.fb_width = console->u.vesa_lfb.width; + fb->efi.fb_stride = (console->u.vesa_lfb.bytes_per_line << 3) / + console->u.vesa_lfb.bits_per_pixel; +#define FBMASK(c) \ + ((~0u << console->u.vesa_lfb.c ## _pos) & \ + (~0u >> (32 - console->u.vesa_lfb.c ## _pos - \ + console->u.vesa_lfb.c ## _size))) + fb->efi.fb_mask_red = FBMASK(red); + fb->efi.fb_mask_green = FBMASK(green); + fb->efi.fb_mask_blue = FBMASK(blue); + fb->efi.fb_mask_reserved = FBMASK(rsvd); +#undef FBMASK + break; + + default: + xc_printf("Video console type unsupported\n"); + return; + } +} + static caddr_t xen_pvh_parse_preload_data(uint64_t modulep) { @@ -414,6 +483,8 @@ xen_pvh_parse_preload_data(uint64_t modulep) strlcpy(bootmethod, "UEFI", sizeof(bootmethod)); else strlcpy(bootmethod, "BIOS", sizeof(bootmethod)); + + fixup_console(kmdp); } else { /* Parse the extra boot information given by Xen */ if (start_info->cmdline_paddr != 0) From nobody Thu Mar 9 16:16:37 2023 X-Original-To: dev-commits-src-main@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 4PXZ7V18x6z3x5b9; Thu, 9 Mar 2023 16:16:38 +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 4PXZ7V0R8fz44ql; Thu, 9 Mar 2023 16:16:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678378598; 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=atTI2OCYT8OF3p3jlvdHVzRflAyYil8gL+KprRgRUo0=; b=yMm5Lu8VOZHAU1PDQJ/Rp5wqb+eHI2gNtFV5ZrhaMrvPa0RtHL1UQtuP/ArxnISu/uylHI E4XWgElwHdRKSeb7H+fxIL6RSjEOnCzRsVsgc7Exwg4f0W8EJVuETfrUPWKa8tCnAMNIUO TPamj8suZ3bs4d7UybSsnpDC8udb4tjKxqE2fnOx5853duYZLlSllO6nV8cJXztYzTT0yo 07rUyunwpUIo2mQIe1lk1UF2viJhoO1Eq5DDTEQGqPoTyZg8r3k1vBnBk/mfU9wx55YM/X q0VX/lKyaYD5C7Alpeq79lydjxAGxfFQoOVnf5LucvPPmtmy4Jeo0u6vJDhhqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678378598; 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=atTI2OCYT8OF3p3jlvdHVzRflAyYil8gL+KprRgRUo0=; b=DPqJ8imrKvUVeBAsWPDh48wbT++xZcJJq/ncCvMHjNJuL4ka1+vcz+xhR9dx6zN2rSTk2h Pg9izuBVy/WoUzBp9ZbnoBXQ10uX6vHiMYKl24vGn5hq64fLe/SztN+PfXKXkzf2TE0QPX hBegQ7mNQjKBnJe5cuR9HGKluxsJboOQnKjtsVFnBPzytsTQmk3VoTZ3eVQcW9JBaFf252 S30i0mHnI6AfolleLJGGBN9MjCYwEIQEvl1YO1yDJRF3EkiQhrN0jezmk8+ujSqW+t4ASl LA5jd07WIvAGHGWrj+jND9qrKcewh1fNjHD+rnPDsvkISygLu9eHQUl46O8eFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678378598; a=rsa-sha256; cv=none; b=crufnmQOvNZfSppR6Nr9IOcC/eHvqbohuxR3PJu7Oayc5Y2NHEHnC0Sxyjxy5gBDzDYA3h VfCq34+TacPDnrvb+cap0EErg2G4NJlkJaJnUS1OlNxan1vehzSxp277x7ykJgvMV94oTR orfCur2OPllliss9jUgve4dIhZ8xBT2usziMp5X3XlFCZ3cDek6H2ug5gb2THVyt8NVdsK VfGwXL8alo7HpClT+bS8+vZdlWpzv0L/GhsQ3609o9+Kgcn2jvx9HXH5VG3KNoXeJllu/Y wE70tEqgkDRKpxr50eIYSLqjZiSlaAF2zDIBtKStjVYeoGgFgVconCzI70KNVg== 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 4PXZ7T6c5PzDtT; Thu, 9 Mar 2023 16:16:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329GGblp098079; Thu, 9 Mar 2023 16:16:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329GGbQ7098078; Thu, 9 Mar 2023 16:16:37 GMT (envelope-from git) Date: Thu, 9 Mar 2023 16:16:37 GMT Message-Id: <202303091616.329GGbQ7098078@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: e08302f6499e - main - vm_fault: Update a comment to reflect the removal of the default pager List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: e08302f6499e599b1d5db8bb266e2b8e4aa6b62e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e08302f6499e599b1d5db8bb266e2b8e4aa6b62e commit e08302f6499e599b1d5db8bb266e2b8e4aa6b62e Author: Mark Johnston AuthorDate: 2023-03-09 16:15:49 +0000 Commit: Mark Johnston CommitDate: 2023-03-09 16:15:49 +0000 vm_fault: Update a comment to reflect the removal of the default pager Fixes: 5d32157d4e5c ("vm_object: Modify vm_object_allocate_anon() to return OBJT_SWAP objects") Reviewed by: alc, kib Differential Revision: https://reviews.freebsd.org/D38985 --- sys/vm/vm_fault.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 87c15e972279..336cee7ca972 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1431,10 +1431,9 @@ vm_fault_object(struct faultstate *fs, int *behindp, int *aheadp) } /* - * Default objects have no pager so no exclusive busy exists - * to protect this page in the chain. Skip to the next - * object without dropping the lock to preserve atomicity of - * shadow faults. + * Check to see if the pager can possibly satisfy this fault. + * If not, skip to the next object without dropping the lock to + * preserve atomicity of shadow faults. */ if (fault_object_needs_getpages(fs->object)) { /* From nobody Thu Mar 9 16:43:23 2023 X-Original-To: dev-commits-src-main@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 4PXZkM50DRz3x7dQ; Thu, 9 Mar 2023 16:43: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 4PXZkM4S5Hz47jJ; Thu, 9 Mar 2023 16:43:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678380203; 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=AQfbJS74es/61+cVziHiYGj62EIlxBbjjNAfzbS/U1M=; b=E3SWxwbRSP3pDMvRcSJWpXSIOyOqrKsfeUvxuLmDQsi3upP5C2FjIdlgjRzBsuh9YfamdV 1B52KSUJoINYbj+lAIb2iaCzBah14+PWDzvftkOqcN11nlYwtebyoHHCJ2D3FHy8OhcNFJ ZcIySjvson3flo/Y42+htZmL/VPtFpFM9Oi5yfKCoEqY/83zr0a/0xmycKpMdY7mzEeOUn I3OzwtRylLXmjjIwi7nuKHEsf6qZCtBGlsWWsSGYiO1a+kVyqQP6Icb43opoCLqYimlHR8 iJVstUYGzJ5nvnQf35B8QJYyRHtKvGIYURZ5AR8jEoIQ8MSMyaNukGwrTY/XhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678380203; 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=AQfbJS74es/61+cVziHiYGj62EIlxBbjjNAfzbS/U1M=; b=HvJjAcxIEJr7k1r3Zo3ivt6UndZPjmWxhTNlvktfBAcfHcsLDZYy5AnVO9fgcq8iuA+WvS oonNtQAj4z2iqUACgXHab7Tf8t0dhOeY+yhzjdPLfWur4onOTS9jbg3gn4myc8EvW6xZfL l8IskWsyQ6EpG1tM2aNOU/RfvVOakWhW1oA1uO87FbHTNUu8UTdpfUwItG22Va1ugfRRii xhKl0FtJbq1+EFCnU8ctqi5pydoBK2OcNmiwS4EepRARnEz+xXSZ8QjMoJs7C7ACXgm7eg nzGzgIU0dpoCehqcrUstbNO5IvBl/w2IR/bJ6quz5uUevKLZpDYMD0UwYmLkdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678380203; a=rsa-sha256; cv=none; b=L/VdnCGlWJgSnbo+y+vvO9I4xDsxwopS1ixlG4pUw/RVwMmpd/UaJiDG/e4RnthwCsWd2J 3eNCOvPCtzhMjg0x3ajRLz8tYUoTdeyIsIF/+9CLafM/WP+nKP4bCMfzusuv1TCat8Y6VD nn9tnGDjLgPLOQVxouoJ7zE8Aigza5rGZGsBB9eYrIxOBcvibEr/jxZbTeWSDkLa20rKb+ IhDzsbLmvPSEZyNe7xj3KSIUu8LTDBlair/BYsg/3I1vA0f510g12voM7lu+fNctawW4lg uB+YKgyP63vycG6/7ejdhdaIjkSSScRW7XzU41XcyshMA+oRSQOCC3OUT+oZEQ== 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 4PXZkM3VTkzFrv; Thu, 9 Mar 2023 16:43:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329GhNdV046905; Thu, 9 Mar 2023 16:43:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329GhNWr046904; Thu, 9 Mar 2023 16:43:23 GMT (envelope-from git) Date: Thu, 9 Mar 2023 16:43:23 GMT Message-Id: <202303091643.329GhNWr046904@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: b2654064c2d1 - main - pkg(7): use libmd for sha256 instead of openssl List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b2654064c2d11a1ee36667b3ff8b0f4d2536af74 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=b2654064c2d11a1ee36667b3ff8b0f4d2536af74 commit b2654064c2d11a1ee36667b3ff8b0f4d2536af74 Author: Baptiste Daroussin AuthorDate: 2023-03-09 16:38:30 +0000 Commit: Baptiste Daroussin CommitDate: 2023-03-09 16:43:01 +0000 pkg(7): use libmd for sha256 instead of openssl OpenSSL 3.0 has deprecated the sha256 api, let's use libmd which has the same API instead. In order to avoid the collision in definitions (sha256.h cannot be included in the same file as a file where openssl headers has been included) let's move the sha256 related code in its own file PR: 270023 Reported by: ngie --- usr.sbin/pkg/Makefile | 4 +- usr.sbin/pkg/hash.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++ usr.sbin/pkg/hash.h | 32 +++++++++++++++ usr.sbin/pkg/pkg.c | 78 +---------------------------------- 4 files changed, 147 insertions(+), 79 deletions(-) diff --git a/usr.sbin/pkg/Makefile b/usr.sbin/pkg/Makefile index e40265146657..895438982309 100644 --- a/usr.sbin/pkg/Makefile +++ b/usr.sbin/pkg/Makefile @@ -23,11 +23,11 @@ CONFSNAME_${PKGCONF}= ${PKGCONF:C/\.conf.+$/.conf/} CONFSDIR= /etc/pkg CONFSMODE= 644 PROG= pkg -SRCS= pkg.c dns_utils.c config.c +SRCS= pkg.c dns_utils.c config.c hash.c MAN= pkg.7 CFLAGS+=-I${SRCTOP}/contrib/libucl/include .PATH: ${SRCTOP}/contrib/libucl/include -LIBADD= archive fetch ucl crypto ssl util +LIBADD= archive fetch ucl crypto ssl util md .include diff --git a/usr.sbin/pkg/hash.c b/usr.sbin/pkg/hash.c new file mode 100644 index 000000000000..47bcae6c5b6a --- /dev/null +++ b/usr.sbin/pkg/hash.c @@ -0,0 +1,112 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2012-2014 Baptiste Daroussin + * Copyright (c) 2013 Bryan Drewery + * All rights reserved. + * + * 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. + */ + +#include +#include +#include +#include + +#include "hash.h" + +static void +sha256_hash(unsigned char hash[SHA256_DIGEST_LENGTH], + char out[SHA256_DIGEST_LENGTH * 2 + 1]) +{ + int i; + + for (i = 0; i < SHA256_DIGEST_LENGTH; i++) + sprintf(out + (i * 2), "%02x", hash[i]); + + out[SHA256_DIGEST_LENGTH * 2] = '\0'; +} + +void +sha256_buf(char *buf, size_t len, char out[SHA256_DIGEST_LENGTH * 2 + 1]) +{ + unsigned char hash[SHA256_DIGEST_LENGTH]; + SHA256_CTX sha256; + + out[0] = '\0'; + + SHA256_Init(&sha256); + SHA256_Update(&sha256, buf, len); + SHA256_Final(hash, &sha256); + sha256_hash(hash, out); +} + +int +sha256_fd(int fd, char out[SHA256_DIGEST_LENGTH * 2 + 1]) +{ + int my_fd; + FILE *fp; + char buffer[BUFSIZ]; + unsigned char hash[SHA256_DIGEST_LENGTH]; + size_t r; + int ret; + SHA256_CTX sha256; + + fp = NULL; + ret = 1; + + out[0] = '\0'; + + /* Duplicate the fd so that fclose(3) does not close it. */ + if ((my_fd = dup(fd)) == -1) { + warnx("dup"); + goto cleanup; + } + + if ((fp = fdopen(my_fd, "rb")) == NULL) { + warnx("fdopen"); + goto cleanup; + } + + SHA256_Init(&sha256); + + while ((r = fread(buffer, 1, BUFSIZ, fp)) > 0) + SHA256_Update(&sha256, buffer, r); + + if (ferror(fp) != 0) { + warnx("fread"); + goto cleanup; + } + + SHA256_Final(hash, &sha256); + sha256_hash(hash, out); + ret = 0; + +cleanup: + if (fp != NULL) + fclose(fp); + else if (my_fd != -1) + close(my_fd); + (void)lseek(fd, 0, SEEK_SET); + + return (ret); +} diff --git a/usr.sbin/pkg/hash.h b/usr.sbin/pkg/hash.h new file mode 100644 index 000000000000..dcdc458b5e61 --- /dev/null +++ b/usr.sbin/pkg/hash.h @@ -0,0 +1,32 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2023 Baptiste Daroussin + * + * 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. + * + */ + +#pragma once + +void sha256_buf(char *buf, size_t len, char out[]); +int sha256_fd(int fd, char out[]); diff --git a/usr.sbin/pkg/pkg.c b/usr.sbin/pkg/pkg.c index 7b574dc42db2..89870f2af683 100644 --- a/usr.sbin/pkg/pkg.c +++ b/usr.sbin/pkg/pkg.c @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include "dns_utils.h" #include "config.h" +#include "hash.h" struct sig_cert { char *name; @@ -402,83 +403,6 @@ load_fingerprints(const char *path, int *count) return (fingerprints); } -static void -sha256_hash(unsigned char hash[SHA256_DIGEST_LENGTH], - char out[SHA256_DIGEST_LENGTH * 2 + 1]) -{ - int i; - - for (i = 0; i < SHA256_DIGEST_LENGTH; i++) - sprintf(out + (i * 2), "%02x", hash[i]); - - out[SHA256_DIGEST_LENGTH * 2] = '\0'; -} - -static void -sha256_buf(char *buf, size_t len, char out[SHA256_DIGEST_LENGTH * 2 + 1]) -{ - unsigned char hash[SHA256_DIGEST_LENGTH]; - SHA256_CTX sha256; - - out[0] = '\0'; - - SHA256_Init(&sha256); - SHA256_Update(&sha256, buf, len); - SHA256_Final(hash, &sha256); - sha256_hash(hash, out); -} - -static int -sha256_fd(int fd, char out[SHA256_DIGEST_LENGTH * 2 + 1]) -{ - int my_fd; - FILE *fp; - char buffer[BUFSIZ]; - unsigned char hash[SHA256_DIGEST_LENGTH]; - size_t r; - int ret; - SHA256_CTX sha256; - - fp = NULL; - ret = 1; - - out[0] = '\0'; - - /* Duplicate the fd so that fclose(3) does not close it. */ - if ((my_fd = dup(fd)) == -1) { - warnx("dup"); - goto cleanup; - } - - if ((fp = fdopen(my_fd, "rb")) == NULL) { - warnx("fdopen"); - goto cleanup; - } - - SHA256_Init(&sha256); - - while ((r = fread(buffer, 1, BUFSIZ, fp)) > 0) - SHA256_Update(&sha256, buffer, r); - - if (ferror(fp) != 0) { - warnx("fread"); - goto cleanup; - } - - SHA256_Final(hash, &sha256); - sha256_hash(hash, out); - ret = 0; - -cleanup: - if (fp != NULL) - fclose(fp); - else if (my_fd != -1) - close(my_fd); - (void)lseek(fd, 0, SEEK_SET); - - return (ret); -} - static EVP_PKEY * load_public_key_file(const char *file) { From nobody Thu Mar 9 17:00:13 2023 X-Original-To: dev-commits-src-main@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 4PXb615dPJz3x869; Thu, 9 Mar 2023 17:00:25 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PXb615C6Mz4BxF; Thu, 9 Mar 2023 17:00:25 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678381225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rkcYw3Jp0PfeSvfVKie1n4UmNs21aqjd33gZqfAqnmU=; b=VA1ha3zY9vNZJyp7yH+LdIlco4WckZXlY3Gt8BrDN0CJ7yhuSHJ6VdtgZke95oZAqJue6H WrDy0NUEpaH32qtS5zFeRRlCkQi1f6XKPxtNPrXHhfAWUY2k30Efejjr+anXYpxW3oE+Za C4HJpSzX7ubnWEr4DJSuCddPb7LbTRJ7Q/oOB67UXUjNUiaT8HaIMa8vPawwTwMQgBOyfy AhVQLzzC5shgoWt+hoQHRL02zDKg7BHy+w+S9o4p0QtUo1iSHEMUUZh6nO0kuXJDmDFbaB 3btErRaFaXPigJSArT51hemUMk3RETDKVk+dL+vAZaW9mOk/H8aO7U8TYirTeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678381225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rkcYw3Jp0PfeSvfVKie1n4UmNs21aqjd33gZqfAqnmU=; b=Oy/HAdiTQKxOzWZbZdD0u4Cn0//GVQovRjcnif/6evdvIZSmLrZVq+WtxI4IO3PuEPBWpl Z17lBJ++VuMueKwU0StejUYNEJ2jsF8/21ywcaXgeaSTLYHHpxxnPV7jYhlvDv7J6AySOd Ncwvu3Vf+u/k86TkMFeBl1bZKdLFJE3eWPZKnPZqMfOl0yH5k33eeZGems/sLZmPcq8VXG BMAdjfOOfUCe3Hpw1TZXfYtw0Up8ycZfAVvRJGulYTduqnSUHEJYHJI7rultbhz2Iydk+X 0h1zKwJgacL1JjRrX3KE9eRap5/Z2ZwLqWlkB9R565dbqseQIwzKaIhhO7AHcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678381225; a=rsa-sha256; cv=none; b=NpaF9V/wY74rybh0ocHGKCOR6XLBY9cTOuWxmuPb8QG8xHMj/iF5b6Vqow2UmaPB8W4MZ+ 8X7pwD7MKuelHRBzFUyxkT+kVgh7U8gaY+KIx2IU2GXBg+RKPpygN26/C64OijgFrcEODn ETyqLOq3boDOeNQceLwocPnr/13iKi70FWOh8iuiHWY2hmGjrTflYxLmMIdHek25DIXx78 p5UVvcoilJzsHmcOENnx7uxeprxEx9rdzMznEnq61nMJAGrkTGuuBPAFkL9oXHojE9EHCJ /pBTDMi/fHlGki3b68L1KdyZYVdMYiR9o2PrZ81KyEgYmoN6Un8Vt+euCMjgNQ== Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PXb61477lzYTq; Thu, 9 Mar 2023 17:00:25 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f171.google.com with SMTP id bl39so985388qkb.10; Thu, 09 Mar 2023 09:00:25 -0800 (PST) X-Gm-Message-State: AO0yUKVZ4tKjtQmdmfcqqxDa21AEfyB8J74Y3WTHJJDyXwIUVMaOcd+L BtaKsW8Af8nq54qMxa18qOQLpIanzDXn0bGsXY8= X-Google-Smtp-Source: AK7set9Yxrw8DugP6Gq0zuo/8AbRyRrEdHQGRFE51tMP0TwFXsHhcqVVFz1Hcmhib6j5P/HXPhcmwkRAlPeDu4euPMY= X-Received: by 2002:a37:5cf:0:b0:71f:b8e9:3631 with SMTP id 198-20020a3705cf000000b0071fb8e93631mr6388463qkf.13.1678381224885; Thu, 09 Mar 2023 09:00:24 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202303091643.329GhNWr046904@gitrepo.freebsd.org> In-Reply-To: <202303091643.329GhNWr046904@gitrepo.freebsd.org> From: Kyle Evans Date: Thu, 9 Mar 2023 11:00:13 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: b2654064c2d1 - main - pkg(7): use libmd for sha256 instead of openssl To: Baptiste Daroussin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N On Thu, Mar 9, 2023 at 10:43=E2=80=AFAM Baptiste Daroussin wrote: > > The branch main has been updated by bapt: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Db2654064c2d11a1ee36667b3ff= 8b0f4d2536af74 > > commit b2654064c2d11a1ee36667b3ff8b0f4d2536af74 > Author: Baptiste Daroussin > AuthorDate: 2023-03-09 16:38:30 +0000 > Commit: Baptiste Daroussin > CommitDate: 2023-03-09 16:43:01 +0000 > > pkg(7): use libmd for sha256 instead of openssl > > OpenSSL 3.0 has deprecated the sha256 api, let's use libmd which has = the > same API instead. > > In order to avoid the collision in definitions (sha256.h cannot be > included in the same file as a file where openssl headers has been > included) let's move the sha256 related code in its own file > > PR: 270023 > Reported by: ngie > --- If we're going to link against libmd anyways, any reason to keep these implementations vs using the provided SHA256_Data and SHA256_Fd? Thanks, Kyle Evans From nobody Thu Mar 9 17:12:11 2023 X-Original-To: dev-commits-src-main@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 4PXbMd0j4qz3x8mW; Thu, 9 Mar 2023 17:12:13 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PXbMd0FPtz4F5v; Thu, 9 Mar 2023 17:12:13 +0000 (UTC) (envelope-from bapt@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678381933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ix6Va3mwWYN6oLHtxHOiOstw71ksNQbpFutdlt7HQ6o=; b=o1VR/B+MaFq4M43KeEIU0Er/CcH8UQifK+384jcZY4yDbOg/6bDUejcoldkMrel/oVwNrM klzoNLlo/IuYePVJcG3kS4b/nZg0+3m8hgOXjDk5f+my4MfXWctvDSZhqiSAiiN/NhyftQ 2PSxeCVllQ7C2xCbNkT3gHggUUoSecDsKrbbfVU9y3AnFzJasY2PcECu0cpu+npGTosmcs 5Bu30URfxnKMwOhsJh1FZT70Hj/nefmQOQP05g2flCkEHuiT87VQBeuIsZV9gvOZJQPEgy CH1D6EA7zD9WjxjtvvaJiEeMVGVcnW9BzLZS/n0sxXWaieCHrHq1iftJeX+eng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678381933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ix6Va3mwWYN6oLHtxHOiOstw71ksNQbpFutdlt7HQ6o=; b=e+87lrnXhawBOudRTBhkREPvBLLV/Yi5X52NmEZiF1Q7DsFxYsfYUFrBZKE5ZXqdOHTz2J iDb3L/tU5upKO8uE1gsIduEiRYVhMv7RBTzYBJZ6lPnmL9X2Yl7G+UKeAYbtk7pTrqQoU4 8gtzwIBvGlDao5gWOrK0LSwzMOjKex1AQiZvy2Z9Jnk2lL5aq5jOnfJhr9q3qPw0QjRihA dBZoLqsD0YIiiDNXD7Nt6GbGS1x6BlZyEmdNEcrY9j+b4Enp+mxIC+iOkspfLaFeZUD6P0 RJCPfck/vQF07BvmnxfKgnjJBX90w1etbdsGYqwQqP+fY9oJrMncgPcMWCqQcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678381933; a=rsa-sha256; cv=none; b=gETUozCiGb/QdxP7saaz3Js/8ERA6rOqCqQdbC6AS5OysA7t8vrD/lBUOircyyfXkaNw7C ZVrdgpHNZQUEF5KD7NHFpz1NW1VZKczTBms9MPen7qaJa/2ECI7OBfptAWZ5DFPUoH26Su VGgpxwWz9uDMCUDvSSL7mtn1fqEKHNOff94mP80+kr4HNu6M9E3HP6QbQ/7kf8t6ARsXXG VM6zMZCA1Ano5wkWA1h8jg+v64TM/mSjqh6orq50ClkslhOCZrpqHsdDQb5koICTwMgSzL pcCQUcLNb1atqWmEBEx8+NQ020G3dleAOo9z+qNze3TWZH3fh/kJHNxsvAMhfQ== Received: from aniel.nours.eu (nours.eu [176.31.115.77]) (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) (Authenticated sender: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PXbMc5rPhzZVJ; Thu, 9 Mar 2023 17:12:12 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from [IPv6:::1] (2a02-8428-078f-2201-064e-ef24-a5af-b20a.rev.sfr.net [IPv6:2a02:8428:78f:2201:64e:ef24:a5af:b20a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aniel.nours.eu (Postfix) with ESMTPSA id 5BDB7113556; Thu, 9 Mar 2023 18:12:10 +0100 (CET) Date: Thu, 09 Mar 2023 18:12:11 +0100 From: Baptiste Daroussin To: Kyle Evans CC: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: =?US-ASCII?Q?Re=3A_git=3A_b2654064c2d1_-_main_-_pkg=287=29=3A_?= =?US-ASCII?Q?use_libmd_for_sha256_instead_of_openssl?= User-Agent: K-9 Mail for Android In-Reply-To: References: <202303091643.329GhNWr046904@gitrepo.freebsd.org> Message-ID: <9C78AAF1-6A68-46AE-8017-10CC20A9DFE8@FreeBSD.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N Le 9 mars 2023 18:00:13 GMT+01:00, Kyle Evans a =C3= =A9crit=C2=A0: >On Thu, Mar 9, 2023 at 10:43=E2=80=AFAM Baptiste Daroussin wrote: >> >> The branch main has been updated by bapt: >> >> URL: https://cgit=2EFreeBSD=2Eorg/src/commit/?id=3Db2654064c2d11a1ee366= 67b3ff8b0f4d2536af74 >> >> commit b2654064c2d11a1ee36667b3ff8b0f4d2536af74 >> Author: Baptiste Daroussin >> AuthorDate: 2023-03-09 16:38:30 +0000 >> Commit: Baptiste Daroussin >> CommitDate: 2023-03-09 16:43:01 +0000 >> >> pkg(7): use libmd for sha256 instead of openssl >> >> OpenSSL 3=2E0 has deprecated the sha256 api, let's use libmd which = has the >> same API instead=2E >> >> In order to avoid the collision in definitions (sha256=2Eh cannot b= e >> included in the same file as a file where openssl headers has been >> included) let's move the sha256 related code in its own file >> >> PR: 270023 >> Reported by: ngie >> --- > >If we're going to link against libmd anyways, any reason to keep these >implementations vs using the provided SHA256_Data and SHA256_Fd? > >Thanks, > >Kyle Evans Nope nom reasons indeed Bapt From nobody Thu Mar 9 17:30:05 2023 X-Original-To: dev-commits-src-main@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 4PXbmH2NQfz3x9WN; Thu, 9 Mar 2023 17:30:07 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PXbmH1vMDz4GXX; Thu, 9 Mar 2023 17:30:07 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678383007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rJ+EKFaXPAh2pk+Dj3JgEqVIM1EgDiFUFkEdRhD/X4c=; b=vZBEcQQ6AwZGpTkrWkQrpJDEhhxQNMz6xQQRJMhxjjFkeYl/lACVmLIh/TjcyYmMVALFpm 6zw/YFJd8IMdVY9oCNjvTTjwtGBC1HGj6Mb68ZhQOLK8A44YB6cqvfSqRjvBM+99VW9/Lj +S98OTOpUJF2Vs88Rw8I3ennECoj3qoAtjFPhVxYanL4U8ol0hkG626Xtj2bIbWw9kTPRN 0FdoXdaHiA1N8jM8cC2tJwEF5WJfCEUT5kUooBNib1tgMNdcyOs8LzTgEaNaL8sWs0uMfC ulNF8YJCj9rDfXHQELFvp/LX9tyaWL7ph63mWtYXO0kCa7wCSrQYgwEjq+CUlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678383007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rJ+EKFaXPAh2pk+Dj3JgEqVIM1EgDiFUFkEdRhD/X4c=; b=sBhT/A996GryBjD1RHyqr7esNWQDEPl6nBnfEzQ6riWoiXwuWy6kdrGWOmJIwwNAubaO0r q7qhL0oP2l6iJxZkw/Hi2RqlEggxs/WSfJRBNv7CKC8LI42mE8XgwhaJ3G235EC3cdsLZ5 p/OMcr3KrobsbFENKVUc28FRy1Mndw76LIIAjRLJSQS8mtOPe+yvBhZiCy723tPWOnchTg g2Uhpv54vOgcSCAdx81Sr5vmbYoW6Gm4ND7m+IY+NilaNiFntfDTJKGVbxWh5/FcFnxkn5 CSITDiwfkLTZo6iCy5pqzscJ1gFUaT0LXuhf8X8mPRJvIbf16lsSW1pb/BO7Og== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678383007; a=rsa-sha256; cv=none; b=El7uPOt2It8GeES3Zxji+G5PJ3Kks1m/H6qd8lthPHXzIJWcpLp6PS8uhNCIhDOQKNXVOP RXbHtK2d5S30ZU+vreFOdwZChoRTgHtloUw6EWVmancc/otKJ8/HYFC2tfM+0OQvpxPl45 /LjwcLq3QQdn5hG+bbEZCHkjS8ka6shKAhPbqf9f0oAIvqtjjnbzjTeG/C5PZBDWRR4CnB 0gLf7CRDLvNXLgQb1pMwGO7kuMuiiinX+MalMmKMLM+UtnohJ/s42s+nZAoIZVplGOn4b8 Ev5AGvdVXx2p97LO+XZowQ24ljSDxoYkoyfsGOq2KeILggB3p6MfIPIbelKGYQ== Received: from [IPV6:2601:648:8680:16b0:f07c:89ba:6199:d0c4] (unknown [IPv6:2601:648:8680:16b0:f07c:89ba:6199:d0c4]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PXbmG43bpzZSF; Thu, 9 Mar 2023 17:30:06 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <7a33ffb1-f46f-fd57-b142-fc8641d923df@FreeBSD.org> Date: Thu, 9 Mar 2023 09:30:05 -0800 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Content-Language: en-US To: Ed Maste , Warner Losh Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202303082331.328NViDn050541@gitrepo.freebsd.org> From: John Baldwin Subject: Re: git: c581962414ed - main - src.conf.5: Add some WITH_/WITHOUT_ option descriptions In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On 3/9/23 7:10 AM, Ed Maste wrote: > On Wed, 8 Mar 2023 at 23:12, Warner Losh wrote: >> >> Yea, there's no reason to have the description twice... > > It looks like the ones that have both WITH_ and WITHOUT_ descriptions are: > > ATM AUTO_OBJ BIND_NOW CLANG CLANG_BOOTSTRAP CLANG_FULL CXGBETOOL > DEBUG_FILES EFI FDT GCC GCC_BOOTSTRAP GCOV GDB GH_BC GNU_DIFF > GOOGLETEST HYPERV KERNEL_RETPOLINE LIB32 LLD LLD_BOOTSTRAP LLD_IS_LD > LLDB LLVM_ASSERTIONS LLVM_COV LLVM_CXXFILT LLVM_TARGET_AARCH64 > LLVM_TARGET_ALL LLVM_TARGET_ARM LLVM_TARGET_MIPS LLVM_TARGET_POWERPC > LLVM_TARGET_RISCV LLVM_TARGET_SPARC LLVM_TARGET_X86 LOADER_GELI > LOADER_KBOOT LOADER_LUA LOADER_OFW LOADER_UBOOT MALLOC_PRODUCTION > MLX5TOOL MODULE_DRM MODULE_DRM2 NVME OFED OPENMP OPENSSL_KTLS PIE > PROFILE RELRO REPRODUCIBLE_BUILD RETPOLINE SENDMAIL SHARED_TOOLCHAIN > SSP STATS SYSTEM_COMPILER SYSTEM_LINKER TCP_WRAPPERS UNIFIED_OBJDIR > USB_GADGET_EXAMPLES ZFS > > although not all of them are used (the ones that default on across all > architectures). > > Looking at src.conf.5 the duplicates I see are: > > CXGBETOOL EFI FDT HYPERV LIB32 LLDB LOADER_GELI LOADER_KBOOT > LOADER_LUA LOADER_OFW LOADER_UBOOT MLX5TOOL NVME OFED OPENMP > OPENSSL_KTLS PIE ZFS > > Perhaps for these cases we can just skip the negative sense > (WITHOUT_), just listing the architectures it applies to? > > Something like: > > WITH_CXGBETOOL > Build cxgbetool(8) > > This is the default setting on amd64/amd64, arm64/aarch64, > i386/i386, powerpc/powerpc64 and powerpc/powerpc64le. > > WITHOUT_CXGBETOOL is the default setting on amd64/amd64, > arm64/aarch64, i386/i386, powerpc/powerpc64 and > powerpc/powerpc64le. My first thought was your first suggestion (a single FOO file that permitted a common prefix for the with/without cases). However, your second suggestion above is also fine and is probably easier to implement? The other wrinkle is that we don't really handle BROKEN_OPTIONS ideally. We just list the FOO option as defaulting to WITHOUT without telling the user that actually it will fail to build if you enable it. Not sure how much work that would be to fix. -- John Baldwin From nobody Thu Mar 9 17:45:50 2023 X-Original-To: dev-commits-src-main@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 4PXc6g0F60z3xBdS; Thu, 9 Mar 2023 17:46:03 +0000 (UTC) (envelope-from melifaro@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PXc6f6sWwz4J1j; Thu, 9 Mar 2023 17:46:02 +0000 (UTC) (envelope-from melifaro@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678383963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=c2GdjxeffgwH+R4c65WhQ4lKjjZWimpMe66Dm69bXYU=; b=rmjU/opelrUvTUo9rxlRs2W+PKKmox+UXDBon+TukMZohi20cnesuB8nMqrSw+TmwtFdOd uc6q5UnYGNCKPNh5T4hgUwe36NtfCWheSG5S/53HOom26DBEBGkmbcqtdjqc9Ocy/kuOuA Y1zm3SYNPYZ+UvzrgfBsF7fJsxJ8cvzvjGDWxspAQ/c0Kw8SZ577QT8Jx5BtRsPNOS8k4B 7lmrNKY/yc9D9UN6hAd2TLo9aivMuT8Ww8jq3AzE2nUkvFjUfWSXMzjMTZyqIW2GzBZf+V 42WAolEtysmAqLREw1xo+eHz5Lc2VBgTAoJJGIaWdataEXFFFlJRPpBKL3CDXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678383963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=c2GdjxeffgwH+R4c65WhQ4lKjjZWimpMe66Dm69bXYU=; b=cQX1CgecdUx56Od98EupVnJAx4Ap/Ob97Y9OpeawTIFOVkHkoiLdHtn6VaieXfkQNXGHuK cqRbsVx374+xY+KAZe3Rt+n6bOD8ii2DCcJJhkD0boutaWjYuafmmrEHSUV5Y0veFaIWGj LLKQDhQbmb1cNGJS/JfJyLMDBUW8HTpVybliLoXLYRiA0s/EiXvfj2QgSy93Cms6R5rYQC 0TzgtYMrH3tRJqcf/+Alh5FU1xIJ525L7xZobcUHugZUYDVtMcO9iiK51mf7MmJZBqPfSR mjvowR5rTqACI25chy2+NyQiD14f5UjpKY5+tlab2Dv+Vcb9DNQgW1LWgaHyOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678383963; a=rsa-sha256; cv=none; b=X0VGfBgKTzSi1uNqLQ7mNNC2RgMDIE0mkRZpZQM9aGx8qVG7fB6o0IQcbAiRNsB3AoG+qb 5hOIchXcWIEi1zqYgfzGpkyRqCMoMXjD86wFhmVUNLALZ6eBfpjRk9o6ju/lsjEi6q2evG ahY/6Ke2culb5EA4S56qqBmPVOzimjCV4Yy4aLG3BaX6u6MoRb9lPUuFz9H4n01rPwnqWE ftI0AkJyc6gArtGvdr8Id3WtBuaPvvKDOONizBDxnnJJPzku60AKEleFFtxZE7rt20jimx XWPmyM8/7ZB0S1/2x9Lxn1TUc2AQ40RWxBEz8Z6YKsxgodN2nMgSD2+UFfzGbw== Received: from smtpclient.apple (unknown [IPv6:2a02:8084:d6bb:510:c420:e3c1:facc:fd2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: melifaro/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PXc6f1sxCzYVc; Thu, 9 Mar 2023 17:46:02 +0000 (UTC) (envelope-from melifaro@freebsd.org) From: Alexander Chernikov Message-Id: <2F410705-A141-49B4-8395-3B39D3EF1C3E@freebsd.org> Content-Type: multipart/alternative; boundary="Apple-Mail=_A2EEFF9C-084E-4E8A-B454-E60796315F2B" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\)) Subject: Re: git: 7e5bf68495cc - main - netlink: add netlink support Date: Thu, 9 Mar 2023 17:45:50 +0000 In-Reply-To: <3D3095AE-60CC-4CCD-8C8A-A6E53EEB6A8A@FreeBSD.org> Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" To: Kristof Provost References: <202210011419.291EJ3aa000309@gitrepo.freebsd.org> <3D3095AE-60CC-4CCD-8C8A-A6E53EEB6A8A@FreeBSD.org> X-Mailer: Apple Mail (2.3731.400.51.1.1) X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_A2EEFF9C-084E-4E8A-B454-E60796315F2B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On 9 Mar 2023, at 15:38, Kristof Provost wrote: >=20 > On 1 Oct 2022, at 16:19, Alexander V. Chernikov wrote: >=20 > The branch main has been updated by melifaro: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D7e5bf68495cc0a8c9793a338a8a02009= a7f6dbb6 = > commit 7e5bf68495cc0a8c9793a338a8a02009a7f6dbb6=20 > Author: Alexander V. Chernikov =20 > AuthorDate: 2022-01-20 21:39:21 +0000=20 > Commit: Alexander V. Chernikov =20 > CommitDate: 2022-10-01 14:15:35 +0000 >=20 > netlink: add netlink support >=20 ... > +=20 > +/*=20 > + * Defition of numbers assigned to the netlink subsystems.=20 > + */=20 > +#define NETLINK_ROUTE 0 /* Routing/device hook */=20 > +#define NETLINK_UNUSED 1 /* not supported */=20 > +#define NETLINK_USERSOCK 2 /* not supported */=20 > +#define NETLINK_FIREWALL 3 /* not supported */=20 > +#define NETLINK_SOCK_DIAG 4 /* not supported */=20 > +#define NETLINK_NFLOG 5 /* not supported */=20 > +#define NETLINK_XFRM 6 /* (not supported) PF_SETKEY */=20 > +#define NETLINK_SELINUX 7 /* not supported */=20 > +#define NETLINK_ISCSI 8 /* not supported */=20 > +#define NETLINK_AUDIT 9 /* not supported */=20 > +#define NETLINK_FIB_LOOKUP 10 /* not supported */=20 > +#define NETLINK_CONNECTOR 11 /* not supported */=20 > +#define NETLINK_NETFILTER 12 /* not supported */=20 > +#define NETLINK_IP6_FW 13 /* not supported */=20 > +#define NETLINK_DNRTMSG 14 /* not supported */=20 > +#define NETLINK_KOBJECT_UEVENT 15 /* not supported */=20 > +#define NETLINK_GENERIC 16 /* Generic netlink (dynamic families) */=20= > + >=20 > So, really fun thing here, we also have #define NETLINK_GENERIC 0 in = sys/net/if_mib.h. (And that=E2=80=99s exposed to userspace, and used = there, so we can=E2=80=99t just change that.) >=20 Wow. Thanks for pointing it out - it wasn=E2=80=99t defined in the = kernel headers so I missed it. That looks like something FreeBSD-specific. Both NetBSD / OpenBSD = doesn=E2=80=99t have it. It seem to provide: - iteration over the list of the interfaces - some basic interface traffic statistics - copy of the =E2=80=99struct ifdata=E2=80=99 (basic interface = properties and some interface traffic statistics) - Link-specific data (IFDATA_LINKSPECIFIC), not used by anything in base - Original =E2=80=9Cdriver name=E2=80=9D (IFDATA_DRIVERNAME) Most of this is already provided by either getifaddr(3) or netlink or = even rtsock. I=E2=80=99m thinking of deprecating it in mid-term in = favour of Netlink. I see the following options: 1) Remove usage of if_mib.h from ifconfig 2) Add compat layer: *) Rename NETLINK_GENERIC to NET_LINK_GENERIC (which is the right name = de-facto) *) Add conditional define for NETLINK_GENERIC to if_mib and set it to 16 *) Define another tree in if_mib.c under net.link = .generic16 with value 16 Personally I=E2=80=99m more thinking of starting from (1), then slowly = replace the remaining bsnmp usages, and then declare it deprecated after = 14.0. /Alexander > Which leads to much fun if we decided to do something like including = the netlink_generic header in other headers, so we can define messages = that contain the genlmsghdr struct. >=20 > I ran into that experimenting with netlink for carp(4). I think I can = work around it by adding a separate ip_carp_nl.h header for the netlink = stuff, but sooner or later this is going to bite us. >=20 > Kristof >=20 --Apple-Mail=_A2EEFF9C-084E-4E8A-B454-E60796315F2B Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8


On 9 Mar 2023, at 15:38, Kristof Provost = <kp@FreeBSD.org> wrote:

=

On 1 Oct 2022, at 16:19, = Alexander V. Chernikov wrote:

The = branch main has been updated by melifaro:

URL: https://cgit.FreeBSD.org/src/commit/?id=3D7e5bf68495cc0a= 8c9793a338a8a02009a7f6dbb6

commit = 7e5bf68495cc0a8c9793a338a8a02009a7f6dbb6
Author: Alexander V. Chernikov <melifaro@FreeBSD.org>
AuthorDate: 2022-01-20 21:39:21 +0000
Commit: Alexander V. Chernikov <melifaro@FreeBSD.org>
CommitDate: 2022-10-01 14:15:35 +0000

netlink: = add netlink = support

...

+
+/*
+ * Defition of numbers assigned to the netlink subsystems.
+ */
+#define NETLINK_ROUTE 0 /* Routing/device hook */
+#define NETLINK_UNUSED 1 /* not supported */
+#define NETLINK_USERSOCK 2 /* not supported */
+#define NETLINK_FIREWALL 3 /* not supported */
+#define NETLINK_SOCK_DIAG 4 /* not supported */
+#define NETLINK_NFLOG 5 /* not supported */
+#define NETLINK_XFRM 6 /* (not supported) PF_SETKEY */
+#define NETLINK_SELINUX 7 /* not supported */
+#define NETLINK_ISCSI 8 /* not supported */
+#define NETLINK_AUDIT 9 /* not supported */
+#define NETLINK_FIB_LOOKUP 10 /* not supported */
+#define NETLINK_CONNECTOR 11 /* not supported */
+#define NETLINK_NETFILTER 12 /* not supported */
+#define NETLINK_IP6_FW 13 /* not supported */
+#define NETLINK_DNRTMSG 14 /* not supported */
+#define NETLINK_KOBJECT_UEVENT 15 /* not supported */
+#define NETLINK_GENERIC 16 /* Generic netlink = (dynamic families) */
+

So,= really fun thing here, we also have #define NETLINK_GENERIC 0 in = sys/net/if_mib.h. (And that=E2=80=99s exposed to userspace, and used = there, so we can=E2=80=99t just change = that.)

Wow. Thanks for = pointing it out - it wasn=E2=80=99t defined in the kernel headers so I = missed it.
That looks like something FreeBSD-specific. Both NetBSD = / OpenBSD doesn=E2=80=99t have it.
It seem to = provide:
- iteration over the list of the = interfaces
- some basic interface traffic = statistics
- copy of the =E2=80=99struct ifdata=E2=80=99 = (basic interface properties and some interface traffic = statistics)
- Link-specific data (IFDATA_LINKSPECIFIC), not = used by anything in base
- Original =E2=80=9Cdriver name=E2=80=9D= (IFDATA_DRIVERNAME)

Most of this is already = provided by either getifaddr(3) or netlink or even rtsock. I=E2=80=99m = thinking of deprecating it in mid-term in favour of = Netlink.

I see the following = options:
1) Remove usage of if_mib.h from = ifconfig

2) Add compat layer:
*) = Rename NETLINK_GENERIC to NET_LINK_GENERIC (which is the right name = de-facto)
*) Add conditional define for NETLINK_GENERIC to = if_mib and set it to 16
*) Define another tree in if_mib.c = under net.link.generic16 with = value 16

Personally I=E2=80=99m more thinking = of starting from (1), then slowly replace the remaining bsnmp usages, = and then declare it deprecated after = 14.0.
/Alexander

Which = leads to much fun if we decided to do something like including the = netlink_generic header in other headers, so we can define messages that = contain the genlmsghdr struct.

I ran into that = experimenting with netlink for carp(4). I think I can work around it by = adding a separate ip_carp_nl.h header for the netlink stuff, but sooner = or later this is going to bite us.

Kristof


= --Apple-Mail=_A2EEFF9C-084E-4E8A-B454-E60796315F2B-- From nobody Thu Mar 9 17:54:20 2023 X-Original-To: dev-commits-src-main@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 4PXcJS4fLQz3xCRW for ; Thu, 9 Mar 2023 17:54:32 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PXcJS4CzNz4Jx2 for ; Thu, 9 Mar 2023 17:54:32 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x52a.google.com with SMTP id i34so10296557eda.7 for ; Thu, 09 Mar 2023 09:54:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; t=1678384471; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=qY5br9gHsEMP7vLtjgz8Y7zmJkTgHg/0Z2TFJAqalN8=; b=orKVoogOhUzYorlBOBMLHKwKTUOfs0wT6jkmExf9uHrFKZiFodter2k0P0EB72VcD3 QauMpKCp6pRo0GW4BaFu3zaTEfVqXbIxcOtyDoj28bNCzROZIgjs9VyNlJ0cv5Q/P+JK OHuAL7KpE9Fg1koCwsaiNGMQ7z2XpVEzPCmc4cFtR9YJMLVhcgjAHNqdgQQwmNhKOEWx McyQD9h/SqY+TbO9YbL/vFcmbNGueEx8pWgwdL50agp0NSReTjfJVEv4m6Bv/Pfkc5Ef LQrfJfRhMbc/nrhzNMDBkEDAxx68W77lYgP0RCMSwalva8y9wXrF0IkycNAMxB9+CFCF M5aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678384471; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=qY5br9gHsEMP7vLtjgz8Y7zmJkTgHg/0Z2TFJAqalN8=; b=iO+6xHMdErAhoqCpzUOsqsjeH846TYvlvIjjVanb+9wfa5BJs27Us39W8RZ5xzjkoA B6b+lxkbzTI8+MYblZE0MaKqxlFw8013LE9Qslk6ID2DSikU5HdB/Z10blAQbWd2EW3r 4ykk1CR2W7SNgiuaEOfkWw9vy+N0Z4Ol+E//bmotHtGI8u4xvl5gls2kMU7tCbGrPTUe OXo6v5noliNaot3cnwYUUz1kcf0Q5p6VVTM3/PN5Ai+gOP118QyBtHYTF7a1pytS+UhL RXynZem7o5hhi4mKw0AEuKKboRdkwq6UDwWERAedVY5f3PUGH9wN6r9j00Hz7xoFtKCH MY5A== X-Gm-Message-State: AO0yUKVqY83arD1iQdUuP+wDMoHSyCdZy2aHUkIMM7DpLp2L75nt5TpU JxXlwlR0JDbl3qlZV2Ox1vKnIWYf7iaCvG6wmnNgTA== X-Google-Smtp-Source: AK7set/uMQawIPOp373qNjC85kPLYVxr50Ybu0LQ3NxytDcoHa62ypbv5hP9Oqk+hUk1liGDmqh2rVVMRWN1D3lRSgk= X-Received: by 2002:a50:aa95:0:b0:4ad:7439:cecb with SMTP id q21-20020a50aa95000000b004ad7439cecbmr12747195edc.7.1678384471352; Thu, 09 Mar 2023 09:54:31 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202303082331.328NViDn050541@gitrepo.freebsd.org> <7a33ffb1-f46f-fd57-b142-fc8641d923df@FreeBSD.org> In-Reply-To: <7a33ffb1-f46f-fd57-b142-fc8641d923df@FreeBSD.org> From: Warner Losh Date: Thu, 9 Mar 2023 10:54:20 -0700 Message-ID: Subject: Re: git: c581962414ed - main - src.conf.5: Add some WITH_/WITHOUT_ option descriptions To: John Baldwin Cc: Ed Maste , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="00000000000036360305f67b5686" X-Rspamd-Queue-Id: 4PXcJS4CzNz4Jx2 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --00000000000036360305f67b5686 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Mar 9, 2023 at 10:30=E2=80=AFAM John Baldwin wrot= e: > On 3/9/23 7:10 AM, Ed Maste wrote: > > On Wed, 8 Mar 2023 at 23:12, Warner Losh wrote: > >> > >> Yea, there's no reason to have the description twice... > > > > It looks like the ones that have both WITH_ and WITHOUT_ descriptions > are: > > > > ATM AUTO_OBJ BIND_NOW CLANG CLANG_BOOTSTRAP CLANG_FULL CXGBETOOL > > DEBUG_FILES EFI FDT GCC GCC_BOOTSTRAP GCOV GDB GH_BC GNU_DIFF > > GOOGLETEST HYPERV KERNEL_RETPOLINE LIB32 LLD LLD_BOOTSTRAP LLD_IS_LD > > LLDB LLVM_ASSERTIONS LLVM_COV LLVM_CXXFILT LLVM_TARGET_AARCH64 > > LLVM_TARGET_ALL LLVM_TARGET_ARM LLVM_TARGET_MIPS LLVM_TARGET_POWERPC > > LLVM_TARGET_RISCV LLVM_TARGET_SPARC LLVM_TARGET_X86 LOADER_GELI > > LOADER_KBOOT LOADER_LUA LOADER_OFW LOADER_UBOOT MALLOC_PRODUCTION > > MLX5TOOL MODULE_DRM MODULE_DRM2 NVME OFED OPENMP OPENSSL_KTLS PIE > > PROFILE RELRO REPRODUCIBLE_BUILD RETPOLINE SENDMAIL SHARED_TOOLCHAIN > > SSP STATS SYSTEM_COMPILER SYSTEM_LINKER TCP_WRAPPERS UNIFIED_OBJDIR > > USB_GADGET_EXAMPLES ZFS > > > > although not all of them are used (the ones that default on across all > > architectures). > > > > Looking at src.conf.5 the duplicates I see are: > > > > CXGBETOOL EFI FDT HYPERV LIB32 LLDB LOADER_GELI LOADER_KBOOT > > LOADER_LUA LOADER_OFW LOADER_UBOOT MLX5TOOL NVME OFED OPENMP > > OPENSSL_KTLS PIE ZFS > > > > Perhaps for these cases we can just skip the negative sense > > (WITHOUT_), just listing the architectures it applies to? > > > > Something like: > > > > WITH_CXGBETOOL > > Build cxgbetool(8) > > > > This is the default setting on amd64/amd64, arm64/aarch64= , > > i386/i386, powerpc/powerpc64 and powerpc/powerpc64le. > > > > WITHOUT_CXGBETOOL is the default setting on amd64/amd64, > > arm64/aarch64, i386/i386, powerpc/powerpc64 and > > powerpc/powerpc64le. > > My first thought was your first suggestion (a single FOO file that > permitted a common prefix for the with/without cases). However, your > second suggestion above is also fine and is probably easier to > implement? > > The other wrinkle is that we don't really handle BROKEN_OPTIONS ideally. > We just list the FOO option as defaulting to WITHOUT without telling > the user that actually it will fail to build if you enable it. Not > sure how much work that would be to fix. > Yes. Broken options are hard-wired to no on the platform. The current tooling doesn't account for this (but I suppose the script could be enhanced since it will just be in the BROKEN_OPTIONS list). I can toss an '.error' in when a WITH_FOO is defined or MK_FOO=3Dyes for a BROKEN option, but nobody has complained about this issue in the maybe 20 years we've been doing it. Warner --00000000000036360305f67b5686 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Thu, Mar 9, 2023 at 10:30=E2=80=AF= AM John Baldwin <jhb@freebsd.org&= gt; wrote:
On 3/= 9/23 7:10 AM, Ed Maste wrote:
> On Wed, 8 Mar 2023 at 23:12, Warner Losh <imp@bsdimp.com> wrote:
>>
>> Yea, there's no reason to have the description twice...
>
> It looks like the ones that have both WITH_ and WITHOUT_ descriptions = are:
>
> ATM AUTO_OBJ BIND_NOW CLANG CLANG_BOOTSTRAP CLANG_FULL CXGBETOOL
> DEBUG_FILES EFI FDT GCC GCC_BOOTSTRAP GCOV GDB GH_BC GNU_DIFF
> GOOGLETEST HYPERV KERNEL_RETPOLINE LIB32 LLD LLD_BOOTSTRAP LLD_IS_LD > LLDB LLVM_ASSERTIONS LLVM_COV LLVM_CXXFILT LLVM_TARGET_AARCH64
> LLVM_TARGET_ALL LLVM_TARGET_ARM LLVM_TARGET_MIPS LLVM_TARGET_POWERPC > LLVM_TARGET_RISCV LLVM_TARGET_SPARC LLVM_TARGET_X86 LOADER_GELI
> LOADER_KBOOT LOADER_LUA LOADER_OFW LOADER_UBOOT MALLOC_PRODUCTION
> MLX5TOOL MODULE_DRM MODULE_DRM2 NVME OFED OPENMP OPENSSL_KTLS PIE
> PROFILE RELRO REPRODUCIBLE_BUILD RETPOLINE SENDMAIL SHARED_TOOLCHAIN > SSP STATS SYSTEM_COMPILER SYSTEM_LINKER TCP_WRAPPERS UNIFIED_OBJDIR > USB_GADGET_EXAMPLES ZFS
>
> although not all of them are used (the ones that default on across all=
> architectures).
>
> Looking at src.conf.5 the duplicates I see are:
>
> CXGBETOOL EFI FDT HYPERV LIB32 LLDB LOADER_GELI LOADER_KBOOT
> LOADER_LUA LOADER_OFW LOADER_UBOOT MLX5TOOL NVME OFED OPENMP=C2=A0 > OPENSSL_KTLS PIE ZFS
>
> Perhaps for these cases we can just skip the negative sense
> (WITHOUT_), just listing the architectures it applies to?
>
> Something like:
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0WITH_CXGBETOOL
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Build cxgbetool(= 8)
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0This is the defa= ult setting on amd64/amd64, arm64/aarch64,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0i386/i386, power= pc/powerpc64 and powerpc/powerpc64le.
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0WITHOUT_CXGBETOOL is the default setting on = amd64/amd64,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0arm64/aarch64, i= 386/i386, powerpc/powerpc64 and
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0powerpc/powerpc6= 4le.

My first thought was your first suggestion (a single FOO file that
permitted a common prefix for the with/without cases).=C2=A0 However, your<= br> second suggestion above is also fine and is probably easier to
implement?

The other wrinkle is that we don't really handle BROKEN_OPTIONS ideally= .
We just list the FOO option as defaulting to WITHOUT without telling
the user that actually it will fail to build if you enable it.=C2=A0 Not sure how much work that would be to fix.

Yes. Broken options are hard-wired to no on the platform. The current too= ling doesn't account for this (but I suppose the script could be enhanc= ed since it will just be in the BROKEN_OPTIONS list).

<= div>I can toss an '.error' in when a WITH_FOO is defined or MK_FOO= =3Dyes for a BROKEN option, but nobody has complained about this issue in t= he maybe 20 years we've been doing it.

Warner<= /div>
--00000000000036360305f67b5686-- From nobody Thu Mar 9 18:10:30 2023 X-Original-To: dev-commits-src-main@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 4PXcft5wdHz3xD5m; Thu, 9 Mar 2023 18:10: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 4PXcft5Xsxz4Kbh; Thu, 9 Mar 2023 18:10:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678385430; 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=yDbqorz3pCzOmyTEHLzbzZm0DWKCIQFTlwrqzIU0Gnk=; b=sbUDKXKm1pNHfXQQGT2xl88u3jeIo/S/vEkiMoQT/O8ZTQGEgEcXh+Ne+9TSN8XxsnOPV1 wZ5vpZqynZEuHvDY2vAgfu6XyK2cHZlQaue6AFyywQy/vkPL5opGztfAk4V7oOHab0KBVe ESdygNhsAjaH7PFTJD9MnQWtZwe8UJaqNua2M73YfwY6bXYM/bd6+aSOCos5O5n8yI+S6P GQnCgVLBrXzNSmoFMMqZ9PP9GFcTz7H8WXF0CLHntrEXkm75WAbw/DLY8+5d/ThgGACDcJ q2mmbW2SKk+09oC+qk4kWFO1W/ZUnXi+aOMtpId/Pi1eilgsQefX23aMPs7Qgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678385430; 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=yDbqorz3pCzOmyTEHLzbzZm0DWKCIQFTlwrqzIU0Gnk=; b=gTFo5jKe6qo2C/JsFAp4fT/egwrpyzEOLjJ7i39nsLe4yBhSKKUc6SXenfv9GHDGitd4DU pwmJ2SchtWOOkFnvw+220Lg+Q52QpsYBXu2uWRHhIsSvi9vxzfHewFrVGcRTn35sn5ONk+ AJjpe0Ucd+NXYqbDxG5xQTZ/9q9hnW5JrMxhzPMVV6nVUyDJhWMhokMgcjb3VxrvCEFcw6 z+WjIKc+h1ipbU2iR1rfgpm1TvBF1NQT8uIo3gcz5kkqS7sroUmMhBrWf4SJndQuw21XAK eKDkhZqzoV4fiBrNPNTionG86lA1LEtqHIUWztLg1V9o3K3qCrJDoBIt89c4xg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678385430; a=rsa-sha256; cv=none; b=kSLxQn8GIGc9p4beOfM+tUnWHVF1SwuLEeRxHiib+kwKy9fCHxgtcrx9a8SRD2kHQerGCW K5c41NeEObjKJk7MGr0JaVBYEQuOgiJ8VZ4AWsI9aBvKkteoG1p9a3q6X9dZ/Z+AHH7W9v sAaba2Edqt3M00/Nw+XSPSUCTaD0O1/B+g4oBjjzJZn1dGyOZ66LEr4iBKboLeOfsnVZ8/ zZbd0HQN9APdM+mYKwP7IbSfvl8sXJdWJJGZgLkJHhExvbgNFmaGWFrkVzJQzUYMRQWV6X dzRNuLQBTtFR7M3ZOHqEOs7od1us5ayBSxtLYXy/4FZjD+MFernp9G+oR96/RA== 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 4PXcft4MbtzHbc; Thu, 9 Mar 2023 18:10:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329IAUKB088441; Thu, 9 Mar 2023 18:10:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329IAUjr088440; Thu, 9 Mar 2023 18:10:30 GMT (envelope-from git) Date: Thu, 9 Mar 2023 18:10:30 GMT Message-Id: <202303091810.329IAUjr088440@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: af0cc0b22362 - main - NgATM: Remove netgraph ATM support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: af0cc0b22362153357d7b6783f64c4a11b1b03fe Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=af0cc0b22362153357d7b6783f64c4a11b1b03fe commit af0cc0b22362153357d7b6783f64c4a11b1b03fe Author: Brooks Davis AuthorDate: 2023-03-09 18:04:02 +0000 Commit: Brooks Davis CommitDate: 2023-03-09 18:04:02 +0000 NgATM: Remove netgraph ATM support Most ATM support was removed prior to FreeBSD 12. The netgraph support was kept as it was less intrusive, but it is presumed to be unused. Reviewed by: manu Relnotes: yes Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38879 --- ObsoleteFiles.inc | 43 + contrib/ngatm/FREEBSD-Xlist | 13 - contrib/ngatm/FREEBSD-upgrade | 13 - contrib/ngatm/libngatm/cccust.h | 49 - contrib/ngatm/libngatm/net_in.fig | 74 - contrib/ngatm/libngatm/net_out.fig | 76 - contrib/ngatm/libngatm/sscfucust.h | 108 - contrib/ngatm/libngatm/sscopcust.h | 255 - contrib/ngatm/libngatm/unicust.h | 123 - contrib/ngatm/libngatm/unimsg.c | 245 - contrib/ngatm/man/libngatm.3 | 75 - contrib/ngatm/man/uniaddr.3 | 129 - contrib/ngatm/man/unifunc.3 | 255 - contrib/ngatm/man/unimsg.3 | 249 - contrib/ngatm/man/unisap.3 | 265 - contrib/ngatm/man/unistruct.3 | 323 -- contrib/ngatm/snmp_atm/BEGEMOT-ATM.txt | 301 - contrib/ngatm/snmp_atm/atm.h | 96 - contrib/ngatm/snmp_atm/atm_tree.def | 75 - contrib/ngatm/snmp_atm/snmp_atm.3 | 218 - contrib/ngatm/snmp_atm/snmp_atm.c | 623 -- contrib/ngatm/snmp_atm/snmp_atm.h | 102 - contrib/ngatm/sscop/common.c | 456 -- contrib/ngatm/sscop/common.h | 82 - contrib/ngatm/sscop/sscop.1 | 169 - contrib/ngatm/sscop/sscop_main.c | 478 -- etc/mtree/BSD.include.dist | 10 - lib/Makefile | 1 - lib/libngatm/Makefile | 53 - lib/libngatm/Makefile.depend | 17 - share/man/man4/Makefile | 5 - share/man/man4/netgraph.4 | 3 - share/man/man4/ng_ccatm.4 | 328 -- share/man/man4/ng_sscfu.4 | 166 - share/man/man4/ng_sscop.4 | 408 -- share/man/man4/ng_uni.4 | 425 -- share/man/man4/ngatmbase.4 | 139 - sys/conf/NOTES | 7 - sys/conf/files | 54 - sys/conf/options | 7 - sys/contrib/ngatm/FREEBSD-Xlist | 15 - sys/contrib/ngatm/FREEBSD-upgrade | 26 - sys/contrib/ngatm/netnatm/addr.h | 42 - sys/contrib/ngatm/netnatm/api/atmapi.h | 291 - sys/contrib/ngatm/netnatm/api/cc_conn.c | 2096 ------- sys/contrib/ngatm/netnatm/api/cc_data.c | 226 - sys/contrib/ngatm/netnatm/api/cc_dump.c | 334 -- sys/contrib/ngatm/netnatm/api/cc_port.c | 923 --- sys/contrib/ngatm/netnatm/api/cc_sig.c | 350 -- sys/contrib/ngatm/netnatm/api/cc_user.c | 1922 ------- sys/contrib/ngatm/netnatm/api/ccatm.h | 154 - sys/contrib/ngatm/netnatm/api/ccpriv.h | 562 -- sys/contrib/ngatm/netnatm/api/unisap.c | 415 -- sys/contrib/ngatm/netnatm/api/unisap.h | 130 - sys/contrib/ngatm/netnatm/genfiles | 15 - sys/contrib/ngatm/netnatm/misc/straddr.c | 235 - sys/contrib/ngatm/netnatm/misc/unimsg_common.c | 54 - sys/contrib/ngatm/netnatm/msg/geniec.awk | 110 - sys/contrib/ngatm/netnatm/msg/genieh.awk | 61 - sys/contrib/ngatm/netnatm/msg/genmsgc.awk | 274 - sys/contrib/ngatm/netnatm/msg/genmsgh.awk | 80 - sys/contrib/ngatm/netnatm/msg/ie.def | 84 - sys/contrib/ngatm/netnatm/msg/msg.def | 582 -- sys/contrib/ngatm/netnatm/msg/parseie.awk | 150 - sys/contrib/ngatm/netnatm/msg/parsemsg.awk | 138 - sys/contrib/ngatm/netnatm/msg/priv.h | 119 - sys/contrib/ngatm/netnatm/msg/privmsg.c | 277 - sys/contrib/ngatm/netnatm/msg/traffic.c | 406 -- sys/contrib/ngatm/netnatm/msg/uni_config.h | 70 - sys/contrib/ngatm/netnatm/msg/uni_hdr.h | 220 - sys/contrib/ngatm/netnatm/msg/uni_ie.c | 7168 ------------------------ sys/contrib/ngatm/netnatm/msg/uni_ie.h | 57 - sys/contrib/ngatm/netnatm/msg/uni_ietab.h | 958 ---- sys/contrib/ngatm/netnatm/msg/uni_msg.c | 4901 ---------------- sys/contrib/ngatm/netnatm/msg/uni_msg.h | 342 -- sys/contrib/ngatm/netnatm/msg/unimsglib.h | 168 - sys/contrib/ngatm/netnatm/msg/uniprint.h | 72 - sys/contrib/ngatm/netnatm/msg/unistruct.h | 1371 ----- sys/contrib/ngatm/netnatm/saal/saal_sscfu.c | 577 -- sys/contrib/ngatm/netnatm/saal/saal_sscop.c | 4946 ---------------- sys/contrib/ngatm/netnatm/saal/sscfu.h | 103 - sys/contrib/ngatm/netnatm/saal/sscfudef.h | 73 - sys/contrib/ngatm/netnatm/saal/sscfupriv.h | 66 - sys/contrib/ngatm/netnatm/saal/sscop.h | 126 - sys/contrib/ngatm/netnatm/saal/sscopdef.h | 159 - sys/contrib/ngatm/netnatm/saal/sscoppriv.h | 318 -- sys/contrib/ngatm/netnatm/sig/genmsgcpyc.awk | 80 - sys/contrib/ngatm/netnatm/sig/genmsgcpyh.awk | 55 - sys/contrib/ngatm/netnatm/sig/sig_call.c | 4310 -------------- sys/contrib/ngatm/netnatm/sig/sig_coord.c | 1171 ---- sys/contrib/ngatm/netnatm/sig/sig_party.c | 1353 ----- sys/contrib/ngatm/netnatm/sig/sig_print.c | 622 -- sys/contrib/ngatm/netnatm/sig/sig_reset.c | 827 --- sys/contrib/ngatm/netnatm/sig/sig_uni.c | 749 --- sys/contrib/ngatm/netnatm/sig/sig_unimsgcpy.c | 594 -- sys/contrib/ngatm/netnatm/sig/sig_verify.c | 442 -- sys/contrib/ngatm/netnatm/sig/uni.h | 106 - sys/contrib/ngatm/netnatm/sig/unidef.h | 480 -- sys/contrib/ngatm/netnatm/sig/unimkmsg.h | 159 - sys/contrib/ngatm/netnatm/sig/unimsgcpy.h | 113 - sys/contrib/ngatm/netnatm/sig/unipriv.h | 563 -- sys/contrib/ngatm/netnatm/sig/unisig.h | 49 - sys/contrib/ngatm/netnatm/unimsg.h | 92 - sys/modules/netgraph/Makefile | 1 - sys/modules/netgraph/atm/Makefile | 10 - sys/modules/netgraph/atm/Makefile.inc | 3 - sys/modules/netgraph/atm/atmbase/Makefile | 20 - sys/modules/netgraph/atm/ccatm/Makefile | 17 - sys/modules/netgraph/atm/sscfu/Makefile | 14 - sys/modules/netgraph/atm/sscop/Makefile | 13 - sys/modules/netgraph/atm/uni/Makefile | 17 - sys/netgraph/atm/ccatm/ng_ccatm.c | 1193 ---- sys/netgraph/atm/ccatm/ng_ccatm_cust.h | 56 - sys/netgraph/atm/ng_ccatm.h | 171 - sys/netgraph/atm/ng_sscfu.h | 70 - sys/netgraph/atm/ng_sscop.h | 111 - sys/netgraph/atm/ng_uni.h | 121 - sys/netgraph/atm/ngatmbase.c | 502 -- sys/netgraph/atm/ngatmbase.h | 64 - sys/netgraph/atm/sscfu/ng_sscfu.c | 604 -- sys/netgraph/atm/sscfu/ng_sscfu_cust.h | 131 - sys/netgraph/atm/sscop/ng_sscop.c | 874 --- sys/netgraph/atm/sscop/ng_sscop_cust.h | 344 -- sys/netgraph/atm/uni/ng_uni.c | 922 --- sys/netgraph/atm/uni/ng_uni_cust.h | 150 - tools/build/mk/OptionalObsoleteFiles.inc | 40 - tools/regression/atm/Funcs.sh | 53 - tools/regression/atm/README | 14 - tools/regression/atm/RunTest.sh | 45 - tools/regression/atm/proto_cc/RunTest.sh | 10 - tools/regression/atm/proto_sscfu/RunTest.sh | 11 - tools/regression/atm/proto_sscop/RunTest.sh | 10 - tools/regression/atm/proto_uni/RunTest.sh | 12 - usr.bin/Makefile | 1 - usr.bin/atm/Makefile | 5 - usr.bin/atm/Makefile.inc | 3 - usr.bin/atm/sscop/Makefile | 13 - usr.bin/atm/sscop/Makefile.depend | 19 - 138 files changed, 43 insertions(+), 55650 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 7bbd91525cd5..4da87568a0cc 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,49 @@ # xargs -n1 | sort | uniq -d; # done +# 20230309: remove remaining ATM support +OLD_FILES+=usr/bin/sscop +OLD_FILES+=usr/include/netnatm/addr.h +OLD_FILES+=usr/include/netnatm/api/atmapi.h +OLD_FILES+=usr/include/netnatm/api/ccatm.h +OLD_FILES+=usr/include/netnatm/api/unisap.h +OLD_DIRS+=usr/include/netnatm/api +OLD_FILES+=usr/include/netnatm/msg/uni_config.h +OLD_FILES+=usr/include/netnatm/msg/uni_hdr.h +OLD_FILES+=usr/include/netnatm/msg/uni_ie.h +OLD_FILES+=usr/include/netnatm/msg/uni_msg.h +OLD_FILES+=usr/include/netnatm/msg/unimsglib.h +OLD_FILES+=usr/include/netnatm/msg/uniprint.h +OLD_FILES+=usr/include/netnatm/msg/unistruct.h +OLD_DIRS+=usr/include/netnatm/msg +OLD_FILES+=usr/include/netnatm/saal/sscfu.h +OLD_FILES+=usr/include/netnatm/saal/sscfudef.h +OLD_FILES+=usr/include/netnatm/saal/sscop.h +OLD_FILES+=usr/include/netnatm/saal/sscopdef.h +OLD_DIRS+=usr/include/netnatm/saal +OLD_FILES+=usr/include/netnatm/sig/uni.h +OLD_FILES+=usr/include/netnatm/sig/unidef.h +OLD_FILES+=usr/include/netnatm/sig/unisig.h +OLD_DIRS+=usr/include/netnatm/sig +OLD_FILES+=usr/include/netnatm/unimsg.h +OLD_DIRS+=usr/include/netnatm +OLD_FILES+=usr/lib/libngatm.a +OLD_FILES+=usr/lib/libngatm.so +OLD_LIBS+=usr/lib/libngatm.so.4 +OLD_FILES+=usr/lib/libngatm_p.a +OLD_FILES+=usr/share/man/man1/sscop.1.gz +OLD_FILES+=usr/share/man/man3/libngatm.3.gz +OLD_FILES+=usr/share/man/man3/uniaddr.3.gz +OLD_FILES+=usr/share/man/man3/unifunc.3.gz +OLD_FILES+=usr/share/man/man3/unimsg.3.gz +OLD_FILES+=usr/share/man/man3/unisap.3.gz +OLD_FILES+=usr/share/man/man3/unistruct.3.gz +OLD_FILES+=usr/share/man/man4/ng_ccatm.4.gz +OLD_FILES+=usr/share/man/man4/ng_sscfu.4.gz +OLD_FILES+=usr/share/man/man4/ng_sscop.4.gz +OLD_FILES+=usr/share/man/man4/ng_uni.4.gz +OLD_FILES+=usr/share/man/man4/ngatmbase.4.gz + # 20230308: machine-id merged into hostid_save OLD_FILES+=etc/rc.d/machine-id diff --git a/contrib/ngatm/FREEBSD-Xlist b/contrib/ngatm/FREEBSD-Xlist deleted file mode 100644 index 32e28ddb55fb..000000000000 --- a/contrib/ngatm/FREEBSD-Xlist +++ /dev/null @@ -1,13 +0,0 @@ -#$FreeBSD$ -*/VERSION -*/README -*/Makefile.in -*/Makefile.pre -*/Makefile.post -*/aclocal.m4 -*/config -*/configure -*/configure.ac -*/netnatm -*/snmp_atm/atm_sys.c -*/snmp_ilmid diff --git a/contrib/ngatm/FREEBSD-upgrade b/contrib/ngatm/FREEBSD-upgrade deleted file mode 100644 index 4557bf72bad2..000000000000 --- a/contrib/ngatm/FREEBSD-upgrade +++ /dev/null @@ -1,13 +0,0 @@ -$FreeBSD$ - -This is the user part of the NgATM stuff. Be careful to feed changes -back to the maintainer , because the code here is -actually shared with other environments besides FreeBSD. - -Import should be done by: - - cvs import \ - -m "Virgin import of NgATM user part X.Y" \ - src/contrib/ngatm BEGEMOT NGATM_X_Y - -harti diff --git a/contrib/ngatm/libngatm/cccust.h b/contrib/ngatm/libngatm/cccust.h deleted file mode 100644 index d67b12049cca..000000000000 --- a/contrib/ngatm/libngatm/cccust.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2004 - * Hartmut Brandt - * All rights reserved. - * - * Author: Hartmut Brandt - * - * 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. - * - * $Begemot: libunimsg/libngatm/cccust.h,v 1.2 2004/07/16 18:48:24 brandt Exp $ - * - * Customisation of call control source to user space. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#define CCASSERT(E, M) assert(E) - -#define CCMALLOC(S) (malloc((S))) -#define CCZALLOC(S) (calloc(1, (S))) -#define CCFREE(P) do { free(P); } while (0) - -#define CCGETERRNO() (errno) diff --git a/contrib/ngatm/libngatm/net_in.fig b/contrib/ngatm/libngatm/net_in.fig deleted file mode 100644 index 3914c1002dc9..000000000000 --- a/contrib/ngatm/libngatm/net_in.fig +++ /dev/null @@ -1,74 +0,0 @@ -#FIG 3.2 -Landscape -Center -Metric -Letter -100.00 -Single --2 -1200 2 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5400 675 225 225 5400 675 5400 900 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5400 1800 225 225 5400 1800 5400 2025 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5400 2925 225 225 5400 2925 5400 3150 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5400 4050 225 225 5400 4050 5400 4275 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5408 5169 225 225 5408 5169 5408 5394 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 4281 6292 225 225 4281 6292 4281 6517 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5408 7419 225 225 5408 7419 5408 7644 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 6525 6292 225 225 6525 6292 6525 6517 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 5400 900 5400 1575 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 5400 2025 5400 2700 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 5400 3150 5400 3825 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 5400 4275 5400 4950 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 5 - 1 1 1.00 60.00 120.00 - 5625 2925 5850 2925 5850 4500 5625 4500 5400 4725 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 5 - 1 1 1.00 60.00 120.00 - 5175 1800 4725 1800 4725 3375 5175 3375 5400 3600 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 5 - 1 1 1.00 60.00 120.00 - 5175 1800 4275 1800 4275 4500 5175 4500 5400 4725 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 5400 5400 5400 7200 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 3 - 1 1 1.00 60.00 120.00 - 5175 5175 4275 5175 4275 6075 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 3 - 1 1 1.00 60.00 120.00 - 5625 5175 6525 5175 6525 6075 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 3 - 1 1 1.00 60.00 120.00 - 4275 6525 4275 7425 5175 7425 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 3 - 1 1 1.00 60.00 120.00 - 6525 6525 6525 7425 5625 7425 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 5 - 1 1 1.00 60.00 120.00 - 5625 1800 8100 1800 8100 7875 5400 7875 5400 7650 -4 1 0 50 0 14 12 0.0000 4 120 210 5400 720 N0\001 -4 0 9 50 0 14 12 0.0000 4 135 1680 5445 1080 SETUP.indication\001 -4 1 0 50 0 14 12 0.0000 4 120 210 5400 1845 N1\001 -4 0 20 50 0 14 12 0.0000 4 150 2520 5445 2205 PROCEEDING.request (opt)\001 -4 1 0 50 0 14 12 0.0000 4 120 210 5400 2970 N3\001 -4 1 0 50 0 14 12 0.0000 4 120 210 5400 4095 N4\001 -4 0 20 50 0 14 12 0.0000 4 135 1680 5760 1755 RELEASE.response\001 -4 0 20 50 0 14 12 0.0000 4 135 1470 5445 4860 SETUP.response\001 -4 0 20 50 0 14 12 0.0000 4 135 1680 5445 3690 ALERTING.request\001 -4 1 0 50 0 14 12 0.0000 4 120 315 5400 5220 N10\001 -4 1 0 50 0 14 12 0.0000 4 120 315 4275 6345 N11\001 -4 1 0 50 0 14 12 0.0000 4 120 315 6525 6345 N12\001 -4 2 9 50 0 14 12 0.0000 4 135 1890 5085 5130 RELEASE.indication\001 -4 0 20 50 0 14 12 0.0000 4 135 1575 5715 5130 RELEASE.request\001 -4 2 9 50 0 14 12 0.0000 4 135 1575 5355 5715 RELEASE.confirm\001 -4 0 9 50 0 14 12 0.0000 4 135 1575 5715 7605 RELEASE.confirm\001 -4 2 20 50 0 14 12 0.0000 4 135 1680 5085 7605 RELEASE.response\001 -4 1 0 50 0 14 12 0.0000 4 120 210 5400 7470 N0\001 diff --git a/contrib/ngatm/libngatm/net_out.fig b/contrib/ngatm/libngatm/net_out.fig deleted file mode 100644 index c46356d0600f..000000000000 --- a/contrib/ngatm/libngatm/net_out.fig +++ /dev/null @@ -1,76 +0,0 @@ -#FIG 3.2 -Landscape -Center -Metric -Letter -100.00 -Single --2 -1200 2 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5400 675 225 225 5400 675 5400 900 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5400 1800 225 225 5400 1800 5400 2025 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5400 2925 225 225 5400 2925 5400 3150 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5400 4050 225 225 5400 4050 5400 4275 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5416 5181 225 225 5416 5181 5416 5406 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5408 6294 225 225 5408 6294 5408 6519 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 4281 7417 225 225 4281 7417 4281 7642 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5408 8544 225 225 5408 8544 5408 8769 -1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 6525 7417 225 225 6525 7417 6525 7642 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 5400 900 5400 1575 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 5400 2025 5400 2700 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 5400 3150 5400 3825 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 5400 4275 5400 4950 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 5400 5400 5400 6075 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 5 - 1 1 1.00 60.00 120.00 - 5175 1800 4950 1800 4950 3375 5175 3375 5400 3600 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 5 - 1 1 1.00 60.00 120.00 - 5175 1800 4500 1800 4500 4500 5175 4500 5400 4725 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 5 - 1 1 1.00 60.00 120.00 - 5625 2925 5850 2925 5850 4500 5625 4500 5400 4725 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 5400 6525 5400 8325 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 3 - 1 1 1.00 60.00 120.00 - 5175 6300 4275 6300 4275 7200 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 3 - 1 1 1.00 60.00 120.00 - 5625 6300 6525 6300 6525 7200 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 3 - 1 1 1.00 60.00 120.00 - 4275 7650 4275 8550 5175 8550 -2 1 0 1 -1 7 50 0 -1 0.000 0 0 -1 1 0 3 - 1 1 1.00 60.00 120.00 - 6525 7650 6525 8550 5625 8550 -4 1 0 50 0 14 12 0.0000 4 120 210 5400 720 N0\001 -4 0 20 50 0 14 12 0.0000 4 135 1365 5535 1125 SETUP.request\001 -4 1 0 50 0 14 12 0.0000 4 120 210 5400 1845 N6\001 -4 1 0 50 0 14 12 0.0000 4 120 210 5400 2970 N9\001 -4 1 0 50 0 14 12 0.0000 4 120 210 5400 4095 N7\001 -4 1 0 50 0 14 12 0.0000 4 120 210 5400 5220 N8\001 -4 1 0 50 0 14 12 0.0000 4 120 315 5400 6345 N10\001 -4 0 20 50 0 14 12 0.0000 4 135 2310 5535 5625 SETUP_COMPLETE.request\001 -4 0 9 50 0 14 12 0.0000 4 135 1995 5535 3735 ALERTING.indication\001 -4 0 9 50 0 14 12 0.0000 4 135 1365 5535 4860 SETUP.confirm\001 -4 0 9 50 0 14 12 0.0000 4 135 2205 5535 2610 PROCEEDING.indication\001 -4 1 0 50 0 14 12 0.0000 4 120 315 4275 7470 N11\001 -4 1 0 50 0 14 12 0.0000 4 120 315 6525 7470 N12\001 -4 2 9 50 0 14 12 0.0000 4 135 1890 5085 6255 RELEASE.indication\001 -4 0 20 50 0 14 12 0.0000 4 135 1575 5715 6255 RELEASE.request\001 -4 2 9 50 0 14 12 0.0000 4 135 1575 5355 6840 RELEASE.confirm\001 -4 0 9 50 0 14 12 0.0000 4 135 1575 5715 8730 RELEASE.confirm\001 -4 2 20 50 0 14 12 0.0000 4 135 1680 5085 8730 RELEASE.response\001 -4 1 0 50 0 14 12 0.0000 4 120 210 5400 8595 N0\001 diff --git a/contrib/ngatm/libngatm/sscfucust.h b/contrib/ngatm/libngatm/sscfucust.h deleted file mode 100644 index 760fd71660f9..000000000000 --- a/contrib/ngatm/libngatm/sscfucust.h +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2001-2003 - * Fraunhofer Institute for Open Communication Systems (FhG Fokus). - * All rights reserved. - * - * 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. - * - * Author: Hartmut Brandt - * - * $Begemot: libunimsg/libngatm/sscfucust.h,v 1.4 2004/07/08 08:21:40 brandt Exp $ - * - * Customisation of the SSCFU code for the user space library. - */ -#include -#include -#include -#include -#include -#include -#ifdef SSCFU_DEBUG -#include -#endif -#include - -/* - * Allocate zeroed or non-zeroed memory of some size and cast it. - * Return NULL on failure. - */ -#define MEMINIT() - -#define MEMZALLOC(PTR,CAST,SIZE) do { \ - void *_m = malloc(SIZE); \ - if (_m != NULL) \ - bzero(_m, SIZE); \ - (PTR) = (CAST)_m; \ -} while(0) - -#define MEMFREE(PTR) \ - free(PTR) - -#define SIG_ALLOC(PTR) \ - MEMZALLOC(PTR, struct sscfu_sig *, sizeof(struct sscfu_sig)) -#define SIG_FREE(PTR) \ - MEMFREE(PTR) - -/* - * Signal queues - */ -typedef TAILQ_ENTRY(sscfu_sig) sscfu_sigq_link_t; -typedef TAILQ_HEAD(sscfu_sigq, sscfu_sig) sscfu_sigq_head_t; -#define SIGQ_INIT(Q) TAILQ_INIT(Q) -#define SIGQ_APPEND(Q,S) TAILQ_INSERT_TAIL(Q, S, link) -#define SIGQ_GET(Q) \ - ({ \ - struct sscfu_sig *_s = NULL; \ - \ - if(!TAILQ_EMPTY(Q)) { \ - _s = TAILQ_FIRST(Q); \ - TAILQ_REMOVE(Q, _s, link); \ - } \ - _s; \ - }) - -#define SIGQ_CLEAR(Q) \ - do { \ - struct sscfu_sig *_s1, *_s2; \ - \ - _s1 = TAILQ_FIRST(Q); \ - while(_s1 != NULL) { \ - _s2 = TAILQ_NEXT(_s1, link); \ - if(_s1->m) \ - MBUF_FREE(_s1->m); \ - SIG_FREE(_s1); \ - _s1 = _s2; \ - } \ - TAILQ_INIT(Q); \ - } while(0) - - -/* - * Message buffers - */ -#define MBUF_FREE(M) uni_msg_destroy(M) - -#ifdef SSCFU_DEBUG -#define ASSERT(S) assert(S) -#else -#define ASSERT(S) -#endif diff --git a/contrib/ngatm/libngatm/sscopcust.h b/contrib/ngatm/libngatm/sscopcust.h deleted file mode 100644 index 12736c26c030..000000000000 --- a/contrib/ngatm/libngatm/sscopcust.h +++ /dev/null @@ -1,255 +0,0 @@ -/* - * Copyright (c) 2001-2003 - * Fraunhofer Institute for Open Communication Systems (FhG Fokus). - * All rights reserved. - * - * 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. - * - * Author: Hartmut Brandt - * - * $Begemot: libunimsg/libngatm/sscopcust.h,v 1.4 2004/07/08 08:21:40 brandt Exp $ - * - * Customisation of the SSCOP code for the user space library. - */ -#include -#include -#include -#include -#include -#include -#include -#ifdef SSCOP_DEBUG -#include -#endif -#include -#include -#include - -/* - * Allocate zeroed or non-zeroed memory of some size and cast it. - * Return NULL on failure. - */ -#define MEMINIT() - -#define MEMZALLOC(PTR,CAST,SIZE) do { \ - void *_m = malloc(SIZE); \ - if (_m != NULL) \ - bzero(_m, SIZE); \ - (PTR) = (CAST)_m; \ -} while(0) - -#define MEMFREE(PTR) free(PTR); - -#define MSG_ALLOC(PTR) \ - MEMZALLOC(PTR, struct sscop_msg *, sizeof(struct sscop_msg)) -#define MSG_FREE(PTR) \ - MEMFREE(PTR) - -#define SIG_ALLOC(PTR) \ - MEMZALLOC(PTR, struct sscop_sig *, sizeof(struct sscop_sig)) -#define SIG_FREE(PTR) \ - MEMFREE(PTR) - -/* - * Timer support. - */ -typedef void *sscop_timer_t; -#define TIMER_INIT(S,T) (S)->t_##T = NULL -#define TIMER_STOP(S,T) do { \ - if ((S)->t_##T != NULL) { \ - (S)->funcs->stop_timer((S), (S)->aarg, (S)->t_##T); \ - (S)->t_##T = NULL; \ - } \ - } while(0) -#define TIMER_RESTART(S,T) do { \ - if ((S)->t_##T != NULL) \ - (S)->funcs->stop_timer((S), (S)->aarg, (S)->t_##T); \ - (S)->t_##T = (S)->funcs->start_timer((S), (S)->aarg, \ - (S)->timer##T, T##_func); \ - } while(0) -#define TIMER_ISACT(S,T) ((S)->t_##T != NULL) - -#define TIMER_FUNC(T,N) \ -static void \ -T##_func(void *varg) \ -{ \ - struct sscop *sscop = varg; \ - VERBOSE(sscop, SSCOP_DBG_TIMER, (sscop, sscop->aarg, \ - "timer_" #T " expired")); \ - sscop->t_##T = NULL; \ - sscop_signal(sscop, SIG_T_##N, NULL); \ -} - - -/* - * Message queues - */ -typedef TAILQ_ENTRY(sscop_msg) sscop_msgq_link_t; -typedef TAILQ_HEAD(sscop_msgq, sscop_msg) sscop_msgq_head_t; -#define MSGQ_EMPTY(Q) TAILQ_EMPTY(Q) -#define MSGQ_INIT(Q) TAILQ_INIT(Q) -#define MSGQ_FOREACH(P,Q) TAILQ_FOREACH(P,Q,link) -#define MSGQ_REMOVE(Q,M) TAILQ_REMOVE(Q,M,link) -#define MSGQ_INSERT_BEFORE(B,M) TAILQ_INSERT_BEFORE(B,M,link) -#define MSGQ_APPEND(Q,M) TAILQ_INSERT_TAIL(Q,M,link) -#define MSGQ_PEEK(Q) (TAILQ_EMPTY((Q)) ? NULL : TAILQ_FIRST((Q))) -#define MSGQ_GET(Q) \ - ({ \ - struct sscop_msg *_m = NULL; \ - \ - if(!TAILQ_EMPTY(Q)) { \ - _m = TAILQ_FIRST(Q); \ - TAILQ_REMOVE(Q, _m, link); \ - } \ - _m; \ - }) - -#define MSGQ_CLEAR(Q) \ - do { \ - struct sscop_msg *_m1, *_m2; \ - \ - _m1 = TAILQ_FIRST(Q); \ - while(_m1 != NULL) { \ - _m2 = TAILQ_NEXT(_m1, link); \ - SSCOP_MSG_FREE(_m1); \ - _m1 = _m2; \ - } \ - TAILQ_INIT((Q)); \ - } while(0) - -/* - * Signal queues - */ -typedef TAILQ_ENTRY(sscop_sig) sscop_sigq_link_t; -typedef TAILQ_HEAD(sscop_sigq, sscop_sig) sscop_sigq_head_t; -#define SIGQ_INIT(Q) TAILQ_INIT(Q) -#define SIGQ_APPEND(Q,S) TAILQ_INSERT_TAIL(Q, S, link) -#define SIGQ_EMPTY(Q) TAILQ_EMPTY(Q) -#define SIGQ_GET(Q) \ - ({ \ - struct sscop_sig *_s = NULL; \ - \ - if(!TAILQ_EMPTY(Q)) { \ - _s = TAILQ_FIRST(Q); \ - TAILQ_REMOVE(Q, _s, link); \ - } \ - _s; \ - }) - -#define SIGQ_MOVE(F,T) \ - do { \ - struct sscop_sig *_s; \ - \ - while(!TAILQ_EMPTY(F)) { \ - _s = TAILQ_FIRST(F); \ - TAILQ_REMOVE(F, _s, link); \ - TAILQ_INSERT_TAIL(T, _s, link); \ - } \ - } while(0) - -#define SIGQ_PREPEND(F,T) \ - do { \ - struct sscop_sig *_s; \ - \ - while(!TAILQ_EMPTY(F)) { \ - _s = TAILQ_LAST(F, sscop_sigq); \ - TAILQ_REMOVE(F, _s, link); \ - TAILQ_INSERT_HEAD(T, _s, link); \ - } \ - } while(0) - -#define SIGQ_CLEAR(Q) \ - do { \ - struct sscop_sig *_s1, *_s2; \ - \ - _s1 = TAILQ_FIRST(Q); \ - while(_s1 != NULL) { \ - _s2 = TAILQ_NEXT(_s1, link); \ - SSCOP_MSG_FREE(_s1->msg); \ - SIG_FREE(_s1); \ - _s1 = _s2; \ - } \ - TAILQ_INIT(Q); \ - } while(0) - - - -/* - * Message buffers - */ -/* Free a buffer (if there is one) */ -#define MBUF_FREE(M) do { if(M) uni_msg_destroy(M); } while(0) - -/* duplicate a buffer */ -#define MBUF_DUP(M) uni_msg_dup(M) - -/* compute current length */ -#define MBUF_LEN(M) uni_msg_len((M)) - -/* - * Return the i-th word counted from the end of the buffer. - * i=-1 will return the last 32bit word, i=-2 the 2nd last. - * Assumes that there is enough space. - */ -#define MBUF_TRAIL32(M,I) uni_msg_trail32((M), (I)) - -/* - * Strip 32bit value from the end - */ -#define MBUF_STRIP32(M) uni_msg_strip32((M)) - -/* - * Strip 32bit value from head - */ -#define MBUF_GET32(M) uni_msg_get32((M)) - -/* - * Append a 32bit value to an mbuf. Failures are ignored. - */ -#define MBUF_APPEND32(M,W) uni_msg_append32((M), (W)) - -/* - * Pad a message to a multiple of four byte and return the amount of padding - * Failures are ignored. - */ -#define MBUF_PAD4(M) \ - ({ \ - int _npad = 0; \ - while (uni_msg_len(M) % 4 != 0) { \ - uni_msg_append8((M), 0); \ - _npad++; \ - } \ - _npad; \ - }) - -#define MBUF_UNPAD(M,P) do { (M)->b_wptr -= (P); } while(0) - -/* - * Allocate a message that will probably hold N bytes. - */ -#define MBUF_ALLOC(N) uni_msg_alloc(N) - -#ifdef SSCOP_DEBUG -#define ASSERT(X) assert(X) -#else -#define ASSERT(X) -#endif diff --git a/contrib/ngatm/libngatm/unicust.h b/contrib/ngatm/libngatm/unicust.h deleted file mode 100644 index ff028a65a8e6..000000000000 --- a/contrib/ngatm/libngatm/unicust.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) 2001-2003 - * Fraunhofer Institute for Open Communication Systems (FhG Fokus). - * All rights reserved. - * - * 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. - * - * Author: Hartmut Brandt - * - * $Begemot: libunimsg/libngatm/unicust.h,v 1.4 2003/09/19 13:10:35 hbb Exp $ - * - * Customisation of signalling source to user space. - */ -#include -#include -#include -#include -#include -#include - -#define ASSERT(E, M) assert(E) - -static __inline__ void * -mzalloc(size_t s) -{ - void *ptr = malloc(s); - - if (ptr) - bzero(ptr, s); - return (ptr); -} - -#define INS_ALLOC() mzalloc(sizeof(struct uni)) -#define INS_FREE(P) free(P) - -#define UNI_ALLOC() mzalloc(sizeof(struct uni_all)) -#define UNI_FREE(P) free(P) - -#define SIG_ALLOC() mzalloc(sizeof(struct sig)) -#define SIG_FREE(P) free(P) - -#define CALL_ALLOC() mzalloc(sizeof(struct call)) -#define CALL_FREE(P) free(P) - -#define PARTY_ALLOC() mzalloc(sizeof(struct party)) -#define PARTY_FREE(P) free(P) - -/* - * Timers - */ -struct uni_timer { - void *c; -}; - -#define _TIMER_INIT(X,T) (X)->T.c = NULL -#define _TIMER_DESTROY(U,F) _TIMER_STOP(U,F) -#define _TIMER_STOP(U,F) \ - do { \ - if (F.c != NULL) { \ - (U)->funcs->stop_timer(U, U->arg, F.c); \ - F.c = NULL; \ - } \ - } while(0) -#define _TIMER_START(UNI,ARG,FIELD,DUE,FUNC) \ - (void)(FIELD.c = (UNI)->funcs->start_timer(UNI, \ - UNI->arg, DUE, FUNC, ARG)) - -#define TIMER_ISACT(X,T) (X->T.c != NULL) - -#define TIMER_FUNC_UNI(T,F) \ -static void F(struct uni *); \ -static void \ -_##T##_func(void *varg) \ -{ \ - struct uni *uni = (struct uni *)varg; \ - uni->T.c = NULL; \ - (F)(uni); \ -} - -/* - * Be careful: call may be invalid after the call to F - */ -#define TIMER_FUNC_CALL(T,F) \ -static void F(struct call *); \ -static void \ -_##T##_func(void *varg) \ -{ \ - struct call *call = (struct call *)varg; \ - call->T.c = NULL; \ - (F)(call); \ -} - -/* - * Be careful: call/party may be invalid after the call to F - */ -#define TIMER_FUNC_PARTY(T,F) \ -static void F(struct party *); \ -static void \ -_##T##_func(void *varg) \ -{ \ - struct party *party = (struct party *)varg; \ - party->T.c = NULL; \ - (F)(party); \ -} diff --git a/contrib/ngatm/libngatm/unimsg.c b/contrib/ngatm/libngatm/unimsg.c deleted file mode 100644 index 9df02a10598c..000000000000 --- a/contrib/ngatm/libngatm/unimsg.c +++ /dev/null @@ -1,245 +0,0 @@ -/* - * Copyright (c) 1996-2003 - * Fraunhofer Institute for Open Communication Systems (FhG Fokus). - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: *** 55785 LINES SKIPPED *** From nobody Thu Mar 9 18:10:31 2023 X-Original-To: dev-commits-src-main@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 4PXcfv6R0Gz3xD47; Thu, 9 Mar 2023 18:10: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 4PXcfv5GzJz4KkX; Thu, 9 Mar 2023 18:10:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678385431; 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=GlKfBHmb05k1ylF1z2JXCZ3mGv7J60As9XFEDElAS+U=; b=L+5Z5ChodsSGQDHsU3JjZgO0EksnTBD1tgV51+kLKZ16lPP+yhTYxS9MWBmmr1kJpYbbtH jmvH6eFePEs2NhhHyH+jnFOCG0rlMzIopxKWedfMCYJmk1kcvCugxOPeWovjFP74TxQz3A 1OVjZrhDaUnclxe+9vK9mHqfnnio/a9TKDmpL5AUSh/uFnAGM1bckxVXxKpr/JoCVhBSAY cKfqNQH0WFbBSOTqeBTLArJO/8uZtNt3Q1BV9BuTi3hlw7eRGYVBwR7ifTp71ZPNb6IRz0 KsgwTR6CjZSACvT3QDgdYmOf6i27JmO0VlNQvE0koF0M2rfrOd1sRHFjZ5LqcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678385431; 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=GlKfBHmb05k1ylF1z2JXCZ3mGv7J60As9XFEDElAS+U=; b=M2A21hxeiqd2RXdOoXqhmYoATUy0po+nYYtkEbjFJCzj04hdSTr8VCiU+eIR3q98dfmJgQ bWeo/vo8GYv4EkdQMAztaNn64gvrjmed/HHBn0atDyvqwGM7KUXm85LiB+vDFP+6aSBBEP oZFhp6HVgDDyGBDWvYggPVAiUJUB7fQ+gE9P9JLdpcVBd7DED/kuQ1UncwVM3eWFxMHF4O rByb+1093gOKPL7wEAByQR2m16bGRtpB2UMZnhmdb/Q7U+DBoPcREaB+FantOxCQSR0Emb c1rpKrkV8WOhgnQR48k12DPSeigQ8YO9NRSfUF8GWxkuarB6I6bmeHBThcaMHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678385431; a=rsa-sha256; cv=none; b=XSznlHkGVw8lWKI5Wjsq8bcGBoj9heIpN10usnNNq0Jjjq+8+JCNDk798klQXIxtvV7cei hGnqeUOhgAy7MtauZENxDNI3o3mSq80He4XshhIntprF4sIbe5GmMscl3n+O9JbgI7Vl9I +wjMxFuCkXin5EnkMgetjq6f+YIqvp6bCNil55MNe801W7gT0+peWUNmEYjkpq9lUN/RPV wV+oJP+4sUdlE0uenba0kxIXOoJAma/xGKaNHVXjPKBNaTJxbto2aUkPPoExME+/dfCslE IKHahjMmnI5YOAj5MUKiE5DCJk3j/44A0tvlJ1Hkki1E2quhq1KJTFNI4/EjfA== 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 4PXcfv49V7zHbd; Thu, 9 Mar 2023 18:10:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329IAVFb088471; Thu, 9 Mar 2023 18:10:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329IAVxI088470; Thu, 9 Mar 2023 18:10:31 GMT (envelope-from git) Date: Thu, 9 Mar 2023 18:10:31 GMT Message-Id: <202303091810.329IAVxI088470@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 105a4f7b3cb6 - main - ng_atmllc: remove List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 105a4f7b3cb65bc159d6a3fe0b2570c2f6475db5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=105a4f7b3cb65bc159d6a3fe0b2570c2f6475db5 commit 105a4f7b3cb65bc159d6a3fe0b2570c2f6475db5 Author: Brooks Davis AuthorDate: 2023-03-09 18:04:21 +0000 Commit: Brooks Davis CommitDate: 2023-03-09 18:04:21 +0000 ng_atmllc: remove This standalone module is the last vestage of ATM support in the tree so send it on its way. Reviewed by: manu, emaste Relnotes: yes Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38880 --- ObsoleteFiles.inc | 1 + lib/libnetgraph/debug.c | 2 - share/man/man4/Makefile | 1 - share/man/man4/netgraph.4 | 1 - share/man/man4/ng_atmllc.4 | 101 ------------- sys/conf/NOTES | 1 - sys/conf/files | 1 - sys/conf/options | 1 - sys/modules/netgraph/Makefile | 1 - sys/modules/netgraph/atmllc/Makefile | 6 - sys/netgraph/ng_atmllc.c | 286 ----------------------------------- sys/netgraph/ng_atmllc.h | 47 ------ 12 files changed, 1 insertion(+), 448 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 4da87568a0cc..2f71a267e627 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -89,6 +89,7 @@ OLD_FILES+=usr/share/man/man3/unifunc.3.gz OLD_FILES+=usr/share/man/man3/unimsg.3.gz OLD_FILES+=usr/share/man/man3/unisap.3.gz OLD_FILES+=usr/share/man/man3/unistruct.3.gz +OLD_FILES+=usr/share/man/man4/ng_atmllc.4.gz OLD_FILES+=usr/share/man/man4/ng_ccatm.4.gz OLD_FILES+=usr/share/man/man4/ng_sscfu.4.gz OLD_FILES+=usr/share/man/man4/ng_sscop.4.gz diff --git a/lib/libnetgraph/debug.c b/lib/libnetgraph/debug.c index 513d3350760d..d5c58ca73e6e 100644 --- a/lib/libnetgraph/debug.c +++ b/lib/libnetgraph/debug.c @@ -59,7 +59,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include @@ -133,7 +132,6 @@ struct ng_cookie { static const struct ng_cookie cookies[] = { COOKIE(UI), COOKIE(ASYNC), - COOKIE(ATMLLC), COOKIE(BPF), COOKIE(BRIDGE), COOKIE(CAR), diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 1e6354e314fe..e1ae2a1b1904 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -344,7 +344,6 @@ MAN= aac.4 \ ${_nfe.4} \ ${_nfsmb.4} \ ng_async.4 \ - ng_atmllc.4 \ ng_bpf.4 \ ng_bridge.4 \ ng_btsocket.4 \ diff --git a/share/man/man4/netgraph.4 b/share/man/man4/netgraph.4 index 3f79a47c2c40..70a5d6a0ead6 100644 --- a/share/man/man4/netgraph.4 +++ b/share/man/man4/netgraph.4 @@ -1417,7 +1417,6 @@ common networking problems, solved using .Xr socket 2 , .Xr netgraph 3 , .Xr ng_async 4 , -.Xr ng_atmllc 4 , .Xr ng_bluetooth 4 , .Xr ng_bpf 4 , .Xr ng_bridge 4 , diff --git a/share/man/man4/ng_atmllc.4 b/share/man/man4/ng_atmllc.4 deleted file mode 100644 index 50987b5a5f6c..000000000000 --- a/share/man/man4/ng_atmllc.4 +++ /dev/null @@ -1,101 +0,0 @@ -.\" Copyright (c) 2004 Benno Rice -.\" All rights reserved. -.\" -.\" 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. -.\" -.\" $FreeBSD$ -.\" -.Dd March 3, 2023 -.Dt NG_ATMLLC 4 -.Os -.Sh NAME -.Nm ng_atmllc -.Nd ATM LLC netgraph node type -.Sh SYNOPSIS -.In netgraph/ng_atmllc.h -.Sh DEPRECATION NOTICE -.Nm -is deprecated and may not be available in -.Fx 14.0 -and later. -.Sh DESCRIPTION -The -.Nm atmllc -node type translates frames in to and out of ATM LLC encapsulation, -as specified by RFC 1483. -In LLC encapsulation the protocol of a given protocol data unit (PDU) is -specified by an IEEE 802.2 LLC header, possibly followed by an IEEE 802.1a -SubNetwork Attachment Point (SNAP) header. -This node currently handles the Ethernet and FDDI protocols. -.Pp -The node transmits and receives ATM PDUs on the -.Va atm -hook. -Received PDUs are decoded and forwarded to the -.Va ether -or -.Va fddi -hooks as appropriate. -Data received on the -.Va ether -or -.Va fddi -hooks are assumed to be full Ethernet or FDDI packets as appropriate and are -encapsulated into a PDU and transmitted via the -.Va atm -hook. -.Sh HOOKS -This node type supports the following hooks: -.Bl -tag -width ".Va ether" -.It Va atm -ATM connection. -Typically, this hook would be connected to a -.Xr ng_atm 4 -node, which handles transmission of ATM PDUs over an ATM device. -.It Va ether -Ethernet connection. -This hook sends and receives Ethernet frames. -This would normally be connected to an -.Xr ng_eiface 4 -node if in use. -.It Va fddi -FDDI connection. -This hook sends and receives FDDI frames. -.El -.Sh CONTROL MESSAGES -This node type supports the generic control messages. -.Sh SHUTDOWN -This node shuts down upon receipt of a -.Dv NGM_SHUTDOWN -control message, or when all hooks have been disconnected. -.Sh SEE ALSO -.Xr netgraph 4 , -.Xr ng_atm 4 , -.Xr ng_eiface 4 , -.Xr ngctl 8 -.Rs -.%A J. Heinanen -.%T "Multiprotocol Encapsulation over ATM Adaptation Layer 5" -.%O RFC 1483 -.Re -.Sh AUTHORS -.An Benno Rice Aq Mt benno@FreeBSD.org diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 35bd7fa98120..a6c3c42fc00e 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -793,7 +793,6 @@ options NETGRAPH_DEBUG # enable extra debugging, this # affects netgraph(4) and nodes # Node types options NETGRAPH_ASYNC -options NETGRAPH_ATMLLC options NETGRAPH_BLUETOOTH # ng_bluetooth(4) options NETGRAPH_BLUETOOTH_HCI # ng_hci(4) options NETGRAPH_BLUETOOTH_L2CAP # ng_l2cap(4) diff --git a/sys/conf/files b/sys/conf/files index afdf8e147014..629283f7c071 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4233,7 +4233,6 @@ netgraph/netflow/netflow_v9.c optional netgraph_netflow netgraph/netflow/ng_netflow.c optional netgraph_netflow netgraph/ng_UI.c optional netgraph_UI netgraph/ng_async.c optional netgraph_async -netgraph/ng_atmllc.c optional netgraph_atmllc netgraph/ng_base.c optional netgraph netgraph/ng_bpf.c optional netgraph_bpf netgraph/ng_bridge.c optional netgraph_bridge diff --git a/sys/conf/options b/sys/conf/options index a1b278491a73..37218f8a83d8 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -509,7 +509,6 @@ SCTP_DETAILED_STR_STATS opt_sctp.h # Use per PR-SCTP policy stream stats NETGRAPH NETGRAPH_DEBUG opt_netgraph.h NETGRAPH_ASYNC opt_netgraph.h -NETGRAPH_ATMLLC opt_netgraph.h NETGRAPH_BLUETOOTH opt_netgraph.h NETGRAPH_BLUETOOTH_BT3C opt_netgraph.h NETGRAPH_BLUETOOTH_H4 opt_netgraph.h diff --git a/sys/modules/netgraph/Makefile b/sys/modules/netgraph/Makefile index c1c78e351644..252be4d2d8ec 100644 --- a/sys/modules/netgraph/Makefile +++ b/sys/modules/netgraph/Makefile @@ -5,7 +5,6 @@ SYSDIR?=${SRCTOP}/sys .include "${SYSDIR}/conf/kern.opts.mk" SUBDIR= async \ - atmllc \ ${_bluetooth} \ bpf \ bridge \ diff --git a/sys/modules/netgraph/atmllc/Makefile b/sys/modules/netgraph/atmllc/Makefile deleted file mode 100644 index fd47b5c02958..000000000000 --- a/sys/modules/netgraph/atmllc/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -KMOD= ng_atmllc -SRCS= ng_atmllc.c - -.include diff --git a/sys/netgraph/ng_atmllc.c b/sys/netgraph/ng_atmllc.c deleted file mode 100644 index d4a13fb83128..000000000000 --- a/sys/netgraph/ng_atmllc.c +++ /dev/null @@ -1,286 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2003-2004 Benno Rice - * All Rights Reserved. - * - * 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 ``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 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. - * - * $FreeBSD$ - */ - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include /* for M_HASFCS and ETHER_HDR_LEN */ - -#define NG_ATMLLC_HEADER "\252\252\3\0\200\302" -#define NG_ATMLLC_HEADER_LEN (sizeof(struct atmllc)) -#define NG_ATMLLC_TYPE_ETHERNET_FCS 0x0001 -#define NG_ATMLLC_TYPE_FDDI_FCS 0x0004 -#define NG_ATMLLC_TYPE_ETHERNET_NOFCS 0x0007 -#define NG_ATMLLC_TYPE_FDDI_NOFCS 0x000A - -struct ng_atmllc_priv { - hook_p atm; - hook_p ether; - hook_p fddi; -}; - -struct atmllc { - uint8_t llchdr[6]; /* aa.aa.03.00.00.00 */ - uint8_t type[2]; /* "ethernet" type */ -}; - -/* ATM_LLC macros: note type code in host byte order */ -#define ATM_LLC_TYPE(X) (((X)->type[0] << 8) | ((X)->type[1])) -#define ATM_LLC_SETTYPE(X, V) do { \ - (X)->type[0] = ((V) >> 8) & 0xff; \ - (X)->type[1] = ((V) & 0xff); \ - } while (0) - -/* Netgraph methods. */ -static ng_constructor_t ng_atmllc_constructor; -static ng_shutdown_t ng_atmllc_shutdown; -static ng_rcvmsg_t ng_atmllc_rcvmsg; -static ng_newhook_t ng_atmllc_newhook; -static ng_rcvdata_t ng_atmllc_rcvdata; -static ng_disconnect_t ng_atmllc_disconnect; - -static struct ng_type ng_atmllc_typestruct = { - .version = NG_ABI_VERSION, - .name = NG_ATMLLC_NODE_TYPE, - .constructor = ng_atmllc_constructor, - .rcvmsg = ng_atmllc_rcvmsg, - .shutdown = ng_atmllc_shutdown, - .newhook = ng_atmllc_newhook, - .rcvdata = ng_atmllc_rcvdata, - .disconnect = ng_atmllc_disconnect, -}; -NETGRAPH_INIT(atmllc, &ng_atmllc_typestruct); - -static int -ng_atmllc_constructor(node_p node) -{ - struct ng_atmllc_priv *priv; - - gone_in(14, "ng_atmllc"); - - priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO); - NG_NODE_SET_PRIVATE(node, priv); - - return (0); -} - -static int -ng_atmllc_rcvmsg(node_p node, item_p item, hook_p lasthook) -{ - struct ng_mesg *msg; - int error; - - error = 0; - NGI_GET_MSG(item, msg); - msg->header.flags |= NGF_RESP; - NG_RESPOND_MSG(error, node, item, msg); - return (error); -} - -static int -ng_atmllc_shutdown(node_p node) -{ - struct ng_atmllc_priv *priv; - - priv = NG_NODE_PRIVATE(node); - - free(priv, M_NETGRAPH); - - NG_NODE_UNREF(node); - - return (0); -} - -static int -ng_atmllc_newhook(node_p node, hook_p hook, const char *name) -{ - struct ng_atmllc_priv *priv; - - priv = NG_NODE_PRIVATE(node); - - if (strcmp(name, NG_ATMLLC_HOOK_ATM) == 0) { - if (priv->atm != NULL) { - return (EISCONN); - } - priv->atm = hook; - } else if (strcmp(name, NG_ATMLLC_HOOK_ETHER) == 0) { - if (priv->ether != NULL) { - return (EISCONN); - } - priv->ether = hook; - } else if (strcmp(name, NG_ATMLLC_HOOK_FDDI) == 0) { - if (priv->fddi != NULL) { - return (EISCONN); - } - priv->fddi = hook; - } else { - return (EINVAL); - } - - return (0); -} - -static int -ng_atmllc_rcvdata(hook_p hook, item_p item) -{ - struct ng_atmllc_priv *priv; - struct mbuf *m; - struct atmllc *hdr; - hook_p outhook; - u_int padding; - int error; - - priv = NG_NODE_PRIVATE(NG_HOOK_NODE(hook)); - NGI_GET_M(item, m); - outhook = NULL; - padding = 0; - - if (hook == priv->atm) { - /* Ditch the pseudoheader. */ - hdr = mtod(m, struct atmllc *); - /* m_adj(m, sizeof(struct atm_pseudohdr)); */ - - /* - * Make sure we have the LLC and ethernet headers. - * The ethernet header size is slightly larger than the FDDI - * header, which is convenient. - */ - if (m->m_len < sizeof(struct atmllc) + ETHER_HDR_LEN) { - m = m_pullup(m, sizeof(struct atmllc) + ETHER_HDR_LEN); - if (m == NULL) { - NG_FREE_ITEM(item); - return (ENOMEM); - } - } - - /* Decode the LLC header. */ - hdr = mtod(m, struct atmllc *); - if (ATM_LLC_TYPE(hdr) == NG_ATMLLC_TYPE_ETHERNET_NOFCS) { - m->m_flags &= ~M_HASFCS; - outhook = priv->ether; - padding = 2; - } else if (ATM_LLC_TYPE(hdr) == NG_ATMLLC_TYPE_ETHERNET_FCS) { - m->m_flags |= M_HASFCS; - outhook = priv->ether; - padding = 2; - } else if (ATM_LLC_TYPE(hdr) == NG_ATMLLC_TYPE_FDDI_NOFCS) { - m->m_flags &= ~M_HASFCS; - outhook = priv->fddi; - padding = 3; - } else if (ATM_LLC_TYPE(hdr) == NG_ATMLLC_TYPE_FDDI_FCS) { - m->m_flags |= M_HASFCS; - outhook = priv->fddi; - padding = 3; - } else { - printf("ng_atmllc: unknown type: %x\n", - ATM_LLC_TYPE(hdr)); - } - - /* Remove the LLC header and any padding*/ - m_adj(m, sizeof(struct atmllc) + padding); - } else if (hook == priv->ether) { - /* Add the LLC header */ - M_PREPEND(m, NG_ATMLLC_HEADER_LEN + 2, M_NOWAIT); - if (m == NULL) { - printf("ng_atmllc: M_PREPEND failed\n"); - NG_FREE_ITEM(item); - return (ENOMEM); - } - hdr = mtod(m, struct atmllc *); - bzero((void *)hdr, sizeof(struct atmllc) + 2); - bcopy(NG_ATMLLC_HEADER, hdr->llchdr, 6); - if ((m->m_flags & M_HASFCS) != 0) { - ATM_LLC_SETTYPE(hdr, NG_ATMLLC_TYPE_ETHERNET_FCS); - } else { - ATM_LLC_SETTYPE(hdr, NG_ATMLLC_TYPE_ETHERNET_NOFCS); - } - outhook = priv->atm; - } else if (hook == priv->fddi) { - /* Add the LLC header */ - M_PREPEND(m, NG_ATMLLC_HEADER_LEN + 3, M_NOWAIT); - if (m == NULL) { - printf("ng_atmllc: M_PREPEND failed\n"); - NG_FREE_ITEM(item); - return (ENOMEM); - } - hdr = mtod(m, struct atmllc *); - bzero((void *)hdr, sizeof(struct atmllc) + 3); - bcopy(NG_ATMLLC_HEADER, hdr->llchdr, 6); - if ((m->m_flags & M_HASFCS) != 0) { - ATM_LLC_SETTYPE(hdr, NG_ATMLLC_TYPE_FDDI_FCS); - } else { - ATM_LLC_SETTYPE(hdr, NG_ATMLLC_TYPE_FDDI_NOFCS); - } - outhook = priv->atm; - } - - if (outhook == NULL) { - NG_FREE_M(m); - NG_FREE_ITEM(item); - return (0); - } - - NG_FWD_NEW_DATA(error, item, outhook, m); - return (error); -} - -static int -ng_atmllc_disconnect(hook_p hook) -{ - node_p node; - struct ng_atmllc_priv *priv; - - node = NG_HOOK_NODE(hook); - priv = NG_NODE_PRIVATE(node); - - if (hook == priv->atm) { - priv->atm = NULL; - } else if (hook == priv->ether) { - priv->ether = NULL; - } else if (hook == priv->fddi) { - priv->fddi = NULL; - } - - if (NG_NODE_NUMHOOKS(node) == 0 && NG_NODE_IS_VALID(node)) { - ng_rmnode_self(node); - } - - return (0); -} diff --git a/sys/netgraph/ng_atmllc.h b/sys/netgraph/ng_atmllc.h deleted file mode 100644 index 5855c615069e..000000000000 --- a/sys/netgraph/ng_atmllc.h +++ /dev/null @@ -1,47 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2003-2004 Benno Rice - * All Rights Reserved. - * - * 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 ``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 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. - * - * $FreeBSD$ - */ - -#ifndef _NETGRAPH_ATMLLC_H_ -#define _NETGRAPH_ATMLLC_H_ - -/* Node type name and magic cookie. */ -#define NG_ATMLLC_NODE_TYPE "atmllc" -#define NGM_ATMLLC_COOKIE 1065246274 - -/* Hook names. */ -#define NG_ATMLLC_HOOK_ATM "atm" -#define NG_ATMLLC_HOOK_ETHER "ether" -#define NG_ATMLLC_HOOK_802_4 "ieee8024" -#define NG_ATMLLC_HOOK_802_5 "ieee8025" -#define NG_ATMLLC_HOOK_802_6 "ieee8026" -#define NG_ATMLLC_HOOK_FDDI "fddi" -#define NG_ATMLLC_HOOK_BPDU "bpdu" - -#endif /* _NETGRAPH_ATMLLC_H_ */ From nobody Thu Mar 9 18:10:32 2023 X-Original-To: dev-commits-src-main@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 4PXcfw72SVz3xCyV; Thu, 9 Mar 2023 18:10: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 4PXcfw6CVLz4Kkm; Thu, 9 Mar 2023 18:10:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678385432; 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=p1a+moenah/aPmUFiZf2ngBDQKzAVmr6/Ovq8Cwk7bY=; b=VyIOcAWt3312HxZIonK2GuQ6wnMh5BQtL9Nji38bC3q4aRrvWzUDtq3PompHyCp3dbMD4+ 8NnVVLdycOKi6xvHs5C7a6Ke5l2tprlD02fSp4FyVwyk/SI+8I0Zm/WKjir0/eoFD8mWmh vzB/C9enAjUFw6XRb/je7/yKKbKyuNfyfgEvcArAbt4rTXZOwbOk+hFEgWa5MMvDoRPFB3 symFgMv4fmAZRU7Pt/mf5BzsObJFL3gsT8XfJI5GCRLQ5mtynsBPObgQOrPB4ryfxvSvnC 6o+As/MzfPFAOaPes8JdAcS7baW9otzkbpBPJD2vOjRvPCg8VFOuEZWV5oErjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678385432; 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=p1a+moenah/aPmUFiZf2ngBDQKzAVmr6/Ovq8Cwk7bY=; b=RKPK2yMkWnTzCFg1JmZ6D4jbPdUhygd59IGokPI8JFbFBU7mobvlEt2lsgM1qyxiy4keLq 0gVw5EM5Fl16kyxi5yeXYVQ0wzPx2DPkl/Nc/Q0M4rJLpsLHwXNvnfbhXcosU3IWXz54iS s9pChS3hs/sWb6RgHL9ZjBYhS2/CB7X3/NgP5Yqu1Vv/kxpVWiluaKEuYwZcIXxUB5YD7V XOEpt6HOGSDZo/Dpj/0DeL/k8TfHOnXSw3jk6/fYE98/xKvMDQOWbCM5J1mZIDFsXRwv+i VcDLu8fERhGcIteD7p/33KPmGyV467oqgAvZ5FOilIwSsbyPKmKZXEUNbA1SOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678385432; a=rsa-sha256; cv=none; b=pQGNXwSpE5g20OO9uQ6rQ+IpMMZvL3eWfcgNbqclmWaE/HFbLtvVak3qUUJj/goOXeVnxn YFqxIhsqbSL8Uyo5b6iO1PdCObAAoOyqRhsFsSz6CY2hvG/Yw2m5aapyGG/AnNqqvqdGD9 HPJ69INzaNoMbKyZ0qa+6VsWEnaoTKfephhvxk9BBgLJ9If7sSvZ2EZ7iSAXAFyPOkefgv Q2fr4DfmwAy+8fArQ+HP2ut50QCyENyVJZKP8oIwUoBya9apT8TWb6D54GyVcGNn5rXJO/ +tNVSVO4+gItqEPMK7X+E/HgJ3FWkjMpEUXz8IjtgMgIvZpXGLSbNz9mnxWj5Q== 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 4PXcfw5KT9zHnH; Thu, 9 Mar 2023 18:10:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329IAWEf088514; Thu, 9 Mar 2023 18:10:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329IAWiS088513; Thu, 9 Mar 2023 18:10:32 GMT (envelope-from git) Date: Thu, 9 Mar 2023 18:10:32 GMT Message-Id: <202303091810.329IAWiS088513@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: aad600e52e8b - main - Remove WITH(OUT)_ATM option List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: aad600e52e8b34af3b88de0196c8a6df961c4e40 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=aad600e52e8b34af3b88de0196c8a6df961c4e40 commit aad600e52e8b34af3b88de0196c8a6df961c4e40 Author: Brooks Davis AuthorDate: 2023-03-09 18:04:36 +0000 Commit: Brooks Davis CommitDate: 2023-03-09 18:09:18 +0000 Remove WITH(OUT)_ATM option With the removal of NgATM it no longer controls anything. Reviewed by: manu, emaste Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38882 --- share/man/man5/src.conf.5 | 6 +----- share/mk/src.opts.mk | 2 -- tools/build/options/WITHOUT_ATM | 3 --- tools/build/options/WITH_ATM | 1 - tools/tools/nanobsd/dhcpd/common | 1 - tools/tools/nanobsd/embedded/common | 1 - 6 files changed, 1 insertion(+), 13 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 0615afd8dead..a05987e1a492 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd March 8, 2023 +.Dd March 9, 2023 .Dt SRC.CONF 5 .Os .Sh NAME @@ -126,8 +126,6 @@ checks. Do not build .Xr at 1 and related utilities. -.It Va WITH_ATM -Build ATM Libraries and related programs. .It Va WITHOUT_AUDIT Do not build audit support into system programs. .It Va WITHOUT_AUTHPF @@ -1204,8 +1202,6 @@ When set, it enforces these options: .Pp .Bl -item -compact .It -.Va WITHOUT_ATM -.It .Va WITHOUT_BLUETOOTH .El .Pp diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index d8cadd43a88b..7e477a24c61b 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -192,7 +192,6 @@ __DEFAULT_YES_OPTIONS = \ ZONEINFO __DEFAULT_NO_OPTIONS = \ - ATM \ BEARSSL \ BHYVE_SNAPSHOT \ CLANG_EXTRAS \ @@ -405,7 +404,6 @@ MK_DMAGENT:= no .endif .if ${MK_NETGRAPH} == "no" -MK_ATM:= no MK_BLUETOOTH:= no .endif diff --git a/tools/build/options/WITHOUT_ATM b/tools/build/options/WITHOUT_ATM deleted file mode 100644 index 345663fb3ccd..000000000000 --- a/tools/build/options/WITHOUT_ATM +++ /dev/null @@ -1,3 +0,0 @@ -.\" $FreeBSD$ -Do not build -programs and libraries related to ATM networking. diff --git a/tools/build/options/WITH_ATM b/tools/build/options/WITH_ATM deleted file mode 100644 index dcd47b23d63c..000000000000 --- a/tools/build/options/WITH_ATM +++ /dev/null @@ -1 +0,0 @@ -Build ATM Libraries and related programs. diff --git a/tools/tools/nanobsd/dhcpd/common b/tools/tools/nanobsd/dhcpd/common index dbd570d5e3c7..0bfe1993fc13 100644 --- a/tools/tools/nanobsd/dhcpd/common +++ b/tools/tools/nanobsd/dhcpd/common @@ -100,7 +100,6 @@ export NANO_MAKEFS CONF_BUILD=" WITHOUT_ACPI=true -WITHOUT_ATM=true WITHOUT_AUDIT=true WITHOUT_BLUETOOTH=true WITHOUT_CALENDAR=true diff --git a/tools/tools/nanobsd/embedded/common b/tools/tools/nanobsd/embedded/common index 37d7421a9a58..ba7ac643820e 100644 --- a/tools/tools/nanobsd/embedded/common +++ b/tools/tools/nanobsd/embedded/common @@ -131,7 +131,6 @@ customize_cmd cust_install_machine_files CONF_BUILD=" LOCAL_XTOOL_DIRS=usr.bin/mkimg WITHOUT_ACPI=true -WITHOUT_ATM=true WITHOUT_AUDIT=true WITHOUT_BLUETOOTH=true WITHOUT_CALENDAR=true From nobody Thu Mar 9 19:55:31 2023 X-Original-To: dev-commits-src-main@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 4PXg046CXNz3xKbx; Thu, 9 Mar 2023 19:55:32 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4PXg044NZCz3DZL; Thu, 9 Mar 2023 19:55:32 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Authentication-Results: mx1.freebsd.org; none Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 4D1753C0199; Thu, 9 Mar 2023 19:55:31 +0000 (UTC) Date: Thu, 9 Mar 2023 19:55:31 +0000 From: Brooks Davis To: John Baldwin Cc: Ed Maste , Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: c581962414ed - main - src.conf.5: Add some WITH_/WITHOUT_ option descriptions Message-ID: References: <202303082331.328NViDn050541@gitrepo.freebsd.org> <7a33ffb1-f46f-fd57-b142-fc8641d923df@FreeBSD.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <7a33ffb1-f46f-fd57-b142-fc8641d923df@FreeBSD.org> X-Rspamd-Queue-Id: 4PXg044NZCz3DZL X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36236, ipnet:199.48.128.0/22, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Thu, Mar 09, 2023 at 09:30:05AM -0800, John Baldwin wrote: > On 3/9/23 7:10 AM, Ed Maste wrote: > > On Wed, 8 Mar 2023 at 23:12, Warner Losh wrote: > >> > >> Yea, there's no reason to have the description twice... > >=20 > > It looks like the ones that have both WITH_ and WITHOUT_ descriptions a= re: > >=20 > > ATM AUTO_OBJ BIND_NOW CLANG CLANG_BOOTSTRAP CLANG_FULL CXGBETOOL > > DEBUG_FILES EFI FDT GCC GCC_BOOTSTRAP GCOV GDB GH_BC GNU_DIFF > > GOOGLETEST HYPERV KERNEL_RETPOLINE LIB32 LLD LLD_BOOTSTRAP LLD_IS_LD > > LLDB LLVM_ASSERTIONS LLVM_COV LLVM_CXXFILT LLVM_TARGET_AARCH64 > > LLVM_TARGET_ALL LLVM_TARGET_ARM LLVM_TARGET_MIPS LLVM_TARGET_POWERPC > > LLVM_TARGET_RISCV LLVM_TARGET_SPARC LLVM_TARGET_X86 LOADER_GELI > > LOADER_KBOOT LOADER_LUA LOADER_OFW LOADER_UBOOT MALLOC_PRODUCTION > > MLX5TOOL MODULE_DRM MODULE_DRM2 NVME OFED OPENMP OPENSSL_KTLS PIE > > PROFILE RELRO REPRODUCIBLE_BUILD RETPOLINE SENDMAIL SHARED_TOOLCHAIN > > SSP STATS SYSTEM_COMPILER SYSTEM_LINKER TCP_WRAPPERS UNIFIED_OBJDIR > > USB_GADGET_EXAMPLES ZFS > >=20 > > although not all of them are used (the ones that default on across all > > architectures). > >=20 > > Looking at src.conf.5 the duplicates I see are: > >=20 > > CXGBETOOL EFI FDT HYPERV LIB32 LLDB LOADER_GELI LOADER_KBOOT > > LOADER_LUA LOADER_OFW LOADER_UBOOT MLX5TOOL NVME OFED OPENMP =20 > > OPENSSL_KTLS PIE ZFS > >=20 > > Perhaps for these cases we can just skip the negative sense > > (WITHOUT_), just listing the architectures it applies to? > >=20 > > Something like: > >=20 > > WITH_CXGBETOOL > > Build cxgbetool(8) > >=20 > > This is the default setting on amd64/amd64, arm64/aarch64, > > i386/i386, powerpc/powerpc64 and powerpc/powerpc64le. > >=20 > > WITHOUT_CXGBETOOL is the default setting on amd64/amd64, > > arm64/aarch64, i386/i386, powerpc/powerpc64 and > > powerpc/powerpc64le. >=20 > My first thought was your first suggestion (a single FOO file that > permitted a common prefix for the with/without cases). However, your > second suggestion above is also fine and is probably easier to > implement? >=20 > The other wrinkle is that we don't really handle BROKEN_OPTIONS ideally. > We just list the FOO option as defaulting to WITHOUT without telling > the user that actually it will fail to build if you enable it. Not > sure how much work that would be to fix. Another thing I noticed is that we don't really handle dependent options sensibly. For example makeman wants descriptions for WITH_LOADER_EFI_SECUREBOOT and WITH_LOADER_VERIEXEC_VECTX, but infact they are no ops because they don't do anything without WITH_LOADER_VERIEXEC and then they default to enabled. Only the WITHOUT_ forms do anything in the current configuration. (See comments in https://reviews.freebsd.org/D39002). At risk of veering off topic, the overall structure of makeman is obnoxious with all the work being done in a subshell such that it's impractical to return useful diagnostics. In a CI job I created (https://reviews.freebsd.org/D38991) I found I had to store stderr and then grep for problematic output because I couldn't figure out a good way to return a non-zero exist status when I didn't want to completely stop processing when I hit an issue. makeman should probably be rewritten in a language with better flow control. -- Brooks From nobody Thu Mar 9 20:06:27 2023 X-Original-To: dev-commits-src-main@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 4PXgDg2wJ0z3xKt5; Thu, 9 Mar 2023 20:06:27 +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 4PXgDg2Pfkz3GCM; Thu, 9 Mar 2023 20:06:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678392387; 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=0y9RiF5Nv6Iy0BHUZSPR5/XJ65kHJq5REtoOK5zVep0=; b=ZqzMnhL7pF7W4KxC6bJnGDpegfhJCemjWEgqcLg4Ir2TPWfrFZ3YW1O+jXQ/Wz23NzYwx3 yIU0LRfLnoejUfwr5+ghGAv6+y92/q8Jz7eG23CbxIIhMhcKksjjN0aZEC/qpGUf0KxW3s Ob5JjOSdKYN3nXcVNp20cx3CeZeL+UrsR2JnyD5Tu0Oo75N6vYAG+4Ptya9o2GfVXcWXM6 7vOVSXWNLXzHvPSWVX2nsEJI5+I4e7crVYTzTu2B19n9saEe4Z+4qJXnpyg1ni9Tng2Gc/ KoWE06b2MwjLp0tuUTP3sUJ9a3cQzhvieOfdzsKEh3hg4+7XJ9JW2T2lYtYLyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678392387; 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=0y9RiF5Nv6Iy0BHUZSPR5/XJ65kHJq5REtoOK5zVep0=; b=pvwL78ssEWFJ0mZagUTwyIvwZH6emHfzZJSbu43WTckUf/2KDcarfD43RWDM9/9g76tzOi gYE5xoMeRMaxPN9Uq2Ule0TqZmB/kmCIH3Veqobf5LVXWEjZtuBPOj/7tKUkytqDvD3yLQ 03fDQvb8acrAN17x/nDmWq+GPm7FIQSNnMumrz1OUsAnPcXFtIPBUBA4/+09bykBwcmjmp 4QXb3d4Ij/cKmbbxAELzQmqTRwqMO6S/+iVCpoaClWE9Vs2QzBtoxWBsHSAjUx92JyaI3f c2IoBx+AV9wvDDxW82avFJ/g9CoNJqUif+Z2t5qqNElkLwXiHTcKNgnZgT9bsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678392387; a=rsa-sha256; cv=none; b=jnVC+HKMJI7B1rvxFX6Dd+kpItI0rCyZ6ntqQGvu3mPIabzVwVk3c5ux4joABENUPg+/ML MyQUTPk0JplgQ7MLMb9vLJi4ZraxSzcBccWqPaW2nVe7lRzVUiFyH25RcpyP3l/TN8ighR otjRD9WADreOJ+Mlp/hjjBudjzG9m40PYW8HzXoW8UXb7YEa/T2ilTngIXkGG5BWQYOedy wL01tKVqwztGCGwrZAEupjLf4550YtQ7aixmJ1qTG1AzKcK93Le3aAKkM6MGcga7JzI4al q3iM66WYCmptshAcyH08LBPgR16qTWVlu6HYO3SfbZHcHmKO82VnC0eas0xDfQ== 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 4PXgDg1SyZzLVp; Thu, 9 Mar 2023 20:06:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329K6Rkn079450; Thu, 9 Mar 2023 20:06:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329K6RJF079449; Thu, 9 Mar 2023 20:06:27 GMT (envelope-from git) Date: Thu, 9 Mar 2023 20:06:27 GMT Message-Id: <202303092006.329K6RJF079449@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ceri Davies Subject: git: 5b3f109816fa - main - man5/rc.conf.5: document hostid and machine-id related variables List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ceri X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5b3f109816faa0396e507777d31ce7b831ae6ba7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ceri: URL: https://cgit.FreeBSD.org/src/commit/?id=5b3f109816faa0396e507777d31ce7b831ae6ba7 commit 5b3f109816faa0396e507777d31ce7b831ae6ba7 Author: Ceri Davies AuthorDate: 2023-03-09 20:05:52 +0000 Commit: Ceri Davies CommitDate: 2023-03-09 20:05:52 +0000 man5/rc.conf.5: document hostid and machine-id related variables --- share/man/man5/rc.conf.5 | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 7d1cdfc61966..055f97668375 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 28, 2023 +.Dd March 9, 2023 .Dt RC.CONF 5 .Os .Sh NAME @@ -535,6 +535,36 @@ your console login will display the default hostname of The NIS domain name of this host, or .Dq Li NO if NIS is not used. +.It Va hostid_enable +.Pq Vt bool +If set to +.Dq Li NO , +disable the generation or saving of the +.Pa hostid +and +.Pa machine-id +files at system boot and shutdown. +.It Va hostid_file +.Pq Vt str +Path to the +.Pa hostid +file, default +.Pa /etc/hostid . +.It Va hostid_uuidgen_flags +.Pq Vt str +Flags passed to +.Xr uuidgen 1 +when generating a software host UUID. +This is used only if the system cannot determine a hardware UUID. +Set to +.Dq Li -r +by default. +.It Va machine_id_file +.Pq Vt str +Path to the +.Pa machine-id +file, default +.Pa /etc/machine-id . .It Va dhclient_program .Pq Vt str Path to the DHCP client program @@ -4906,6 +4936,7 @@ these are the flags to pass to the .Xr protect 1 , .Xr sh 1 , .Xr umask 1 , +.Xr uuidgen 1 , .Xr vi 1 , .Xr vidcontrol 1 , .Xr bridge 4 , From nobody Thu Mar 9 20:31:37 2023 X-Original-To: dev-commits-src-main@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 4PXgnk0jqnz3xMBw; Thu, 9 Mar 2023 20:31:38 +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 4PXgnk022yz3HbL; Thu, 9 Mar 2023 20:31:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678393898; 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=4VfNKAgcfqA7W19hg80ETsEjwEIpqrTTKvNM58yuO5Q=; b=OmQOFphTo5AS7YVV7IIpckZEGFaaU/d557dH3LNKaTuGLcrRy/xlJ2md348pUdwhu7TBsZ kRiS4QlMznf2UU22d1cJgySis+gjRXEBw5H3fdmsEYen0/DJyahkzNMij5ajNE4Ww+0cna EhTO4j/iDEE588NYpy4GyqUgYeQJfGo6F/ZuNavVDvgSfGJ5YBjx8GeFHkiLnTqiOuUGdW 0e+HuqI3SlqU4qAnQ1FxphIswc+FNBTGZBDf5P3Qjfu5bt3Ad/q6H/TbqhlgDVdLm9v3Ks 6iXxYRc88EP7rxtXs1YZK19VCZNJ5JSK2Cq5yxiYhEyrr6AH9CiDRTJ/cPrMnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678393898; 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=4VfNKAgcfqA7W19hg80ETsEjwEIpqrTTKvNM58yuO5Q=; b=SSwhaigN01ZGMM/I9XHZVr3UBtBYCsx8J49Rq5gi9okamhnWbrDtU/vxEKxD9s0HBmBHF0 7DisgBFyRCFDnzkQOQ3zXz/AORwY+wW3b+5Z5eezYqBFJtVAujlB6JdYNaA9xfRDFD+L0D j7z3K4xDEY834XlTCuPixpPF5Vzdcm2Kx4RtT0YasSMmyruyhmJa1m+f+E+7K0/eZiQS0L Je0//8/LnWBVrJMCpwF5e2+gtGPfEaYE0ok2KPu8/g7uL67zknfE7QpgvGyXz79dMX4st0 pgCTcNYgGBRjoW7gr0MRbY8aQHTCIMsn2LaUIVcKHb3N4n+6ZsirdqkuSWawBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678393898; a=rsa-sha256; cv=none; b=MkfWR4I65PapuQhk7leZvrfUuPujmOHcZWjvejV9w4DOezzyH4vvdQYN7ydW8xlE4QeHxo kLR+lq9WugD4VbfZuPGgZREPgpb9AzcIVQSbAfERl8R8abfAuRXRL7fse/aerYEDXlqag8 XBy3p6Id97TgDE0Z7/lBWj09xXsP8ermBFQODVfEs+PbjBeN4UJt1sinjbCP4v+fbvPFWM zF9CaDdqVK5m1LDFL4XBKHg5YQlDsHLP2aSr1N5FR2/MggoPXUGQLDGkFhc6ibKSg2EzSX wOjgNvo40XJGe5M9nWFS3Wb/TMu8RRQH2V4zDe0v5jwP/GGhnZ3hzSCZMD4J0Q== 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 4PXgnj6BzjzM5j; Thu, 9 Mar 2023 20:31:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329KVb14021743; Thu, 9 Mar 2023 20:31:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329KVbCG021742; Thu, 9 Mar 2023 20:31:37 GMT (envelope-from git) Date: Thu, 9 Mar 2023 20:31:37 GMT Message-Id: <202303092031.329KVbCG021742@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: e5dd5bfa55dc - main - pkg(7): now that we do use libmd, use it completly List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e5dd5bfa55dc82686870330f547932486ba48db2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=e5dd5bfa55dc82686870330f547932486ba48db2 commit e5dd5bfa55dc82686870330f547932486ba48db2 Author: Baptiste Daroussin AuthorDate: 2023-03-09 20:29:15 +0000 Commit: Baptiste Daroussin CommitDate: 2023-03-09 20:31:30 +0000 pkg(7): now that we do use libmd, use it completly Use SHA256_Fd and SHA256_Data instead of home made equivalent. wrap those functions into hash.c to avoid header collition between openssl and libmd Suggested by: kevans --- usr.sbin/pkg/hash.c | 77 +++++------------------------------------------------ usr.sbin/pkg/hash.h | 4 +-- usr.sbin/pkg/pkg.c | 12 ++++++--- 3 files changed, 16 insertions(+), 77 deletions(-) diff --git a/usr.sbin/pkg/hash.c b/usr.sbin/pkg/hash.c index 47bcae6c5b6a..9696738fcafc 100644 --- a/usr.sbin/pkg/hash.c +++ b/usr.sbin/pkg/hash.c @@ -27,86 +27,21 @@ * SUCH DAMAGE. */ -#include #include -#include #include #include "hash.h" -static void -sha256_hash(unsigned char hash[SHA256_DIGEST_LENGTH], - char out[SHA256_DIGEST_LENGTH * 2 + 1]) +char * +sha256_buf(char *buf, size_t len) { - int i; - for (i = 0; i < SHA256_DIGEST_LENGTH; i++) - sprintf(out + (i * 2), "%02x", hash[i]); - - out[SHA256_DIGEST_LENGTH * 2] = '\0'; -} - -void -sha256_buf(char *buf, size_t len, char out[SHA256_DIGEST_LENGTH * 2 + 1]) -{ - unsigned char hash[SHA256_DIGEST_LENGTH]; - SHA256_CTX sha256; - - out[0] = '\0'; - - SHA256_Init(&sha256); - SHA256_Update(&sha256, buf, len); - SHA256_Final(hash, &sha256); - sha256_hash(hash, out); + return (SHA256_Data(buf, len, NULL)); } -int -sha256_fd(int fd, char out[SHA256_DIGEST_LENGTH * 2 + 1]) +char * +sha256_fd(int fd) { - int my_fd; - FILE *fp; - char buffer[BUFSIZ]; - unsigned char hash[SHA256_DIGEST_LENGTH]; - size_t r; - int ret; - SHA256_CTX sha256; - - fp = NULL; - ret = 1; - - out[0] = '\0'; - - /* Duplicate the fd so that fclose(3) does not close it. */ - if ((my_fd = dup(fd)) == -1) { - warnx("dup"); - goto cleanup; - } - - if ((fp = fdopen(my_fd, "rb")) == NULL) { - warnx("fdopen"); - goto cleanup; - } - - SHA256_Init(&sha256); - - while ((r = fread(buffer, 1, BUFSIZ, fp)) > 0) - SHA256_Update(&sha256, buffer, r); - - if (ferror(fp) != 0) { - warnx("fread"); - goto cleanup; - } - - SHA256_Final(hash, &sha256); - sha256_hash(hash, out); - ret = 0; - -cleanup: - if (fp != NULL) - fclose(fp); - else if (my_fd != -1) - close(my_fd); - (void)lseek(fd, 0, SEEK_SET); - return (ret); + return (SHA256_Fd(fd, NULL)); } diff --git a/usr.sbin/pkg/hash.h b/usr.sbin/pkg/hash.h index dcdc458b5e61..786d4371ef32 100644 --- a/usr.sbin/pkg/hash.h +++ b/usr.sbin/pkg/hash.h @@ -28,5 +28,5 @@ #pragma once -void sha256_buf(char *buf, size_t len, char out[]); -int sha256_fd(int fd, char out[]); +char *sha256_buf(char *buf, size_t len); +char *sha256_fd(int fd); diff --git a/usr.sbin/pkg/pkg.c b/usr.sbin/pkg/pkg.c index 89870f2af683..3c89e6a171b0 100644 --- a/usr.sbin/pkg/pkg.c +++ b/usr.sbin/pkg/pkg.c @@ -445,10 +445,11 @@ rsa_verify_cert(int fd, const char *sigfile, const unsigned char *key, { EVP_MD_CTX *mdctx; EVP_PKEY *pkey; - char sha256[(SHA256_DIGEST_LENGTH * 2) + 2]; + char *sha256; char errbuf[1024]; bool ret; + sha256 = NULL; pkey = NULL; mdctx = NULL; ret = false; @@ -460,7 +461,7 @@ rsa_verify_cert(int fd, const char *sigfile, const unsigned char *key, warn("lseek"); goto cleanup; } - if ((sha256_fd(fd, sha256)) == -1) { + if ((sha256 = sha256_fd(fd)) == NULL) { warnx("Error creating SHA256 hash for package"); goto cleanup; } @@ -505,6 +506,7 @@ error: printf("failed\n"); cleanup: + free(sha256); if (pkey) EVP_PKEY_free(pkey); if (mdctx) @@ -667,8 +669,9 @@ verify_signature(int fd_pkg, int fd_sig) int trusted_count, revoked_count; const char *fingerprints; char path[MAXPATHLEN]; - char hash[SHA256_DIGEST_LENGTH * 2 + 1]; + char *hash; + hash = NULL; sc = NULL; trusted = revoked = NULL; ret = false; @@ -705,7 +708,7 @@ verify_signature(int fd_pkg, int fd_sig) sc->trusted = false; /* Parse signature and pubkey out of the certificate */ - sha256_buf(sc->cert, sc->certlen, hash); + hash = sha256_buf(sc->cert, sc->certlen); /* Check if this hash is revoked */ if (revoked != NULL) { @@ -744,6 +747,7 @@ verify_signature(int fd_pkg, int fd_sig) ret = true; cleanup: + free(hash); if (trusted) free_fingerprint_list(trusted); if (revoked) From nobody Thu Mar 9 21:36:11 2023 X-Original-To: dev-commits-src-main@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 4PXjDC4M9lz3xPsX; Thu, 9 Mar 2023 21:36: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 4PXjDC3fYrz3NB4; Thu, 9 Mar 2023 21:36:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678397771; 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=PR3EvOu4/jPd0A2PriyY2mkuSxDCNloD4oyjQ3ab3Ck=; b=St21qk/vP/KXr0+C7JZ5hJU4hH4tLG1oThx42LoFj8th31RRtebZTUTtEBT0wQ23kOpX3d wcSQHTYPudAwNXFbbVCF8C9OGmOJa51g4CneIpKNCzRswBeBIwjGX4vTFOpXr6WPTWN4eJ LJNsLPXaVCfm4Z8OWt/kjjCl5ieZ1mBA7RPcDcoajcZz149lFsbWYO41ks3OWiwa77Yd5h Ke5TIYrCdpZqZn7GojV0r8Bc99iDGsYDxBWtxg3YP51cxo5E/zZx7RuKJUKeEr7nhT8cBp ZlpBM6VvIZtuhH+0AhFJ0jtpwSbX8JGdFn12XcPSmQBH4EYEPnMyxXs1gnHmPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678397771; 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=PR3EvOu4/jPd0A2PriyY2mkuSxDCNloD4oyjQ3ab3Ck=; b=Hjk8RPnyqJ9ibJcHbAs9Ao3ufp5ZvOUFi8OxRUL5B6wPkf2PjCnqCla11yfhXqnhtDwzj3 P4kbhauyNCSlVo6VBNDX3kNLllJ0ug9y+kluUNz+Slf4Wn3shReBxRcV88bP4+Pa39JGhF qq+Ta0u/eCTUq0AZMHsUY/q5GeX6zELzZVvoRuXbZv0ESfKuORFPTMzIeiriFXwO87vRgt Rb3zuFA+BV9DQCVjriwezpSP5TsfryVbNktWgoKMleRaY0tI7bgVngG34entaEZnZRxHsJ gEVxBhBZf6aDKKOaPGNUT16XFwN5jLd0z1nWUQ5AEeL/nTeX2yvyfPRx7KWWtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678397771; a=rsa-sha256; cv=none; b=fRjcint/xabFo7oB1s9SCjjYvqbxyykLSuaRN+9+COGr/EW38ksBR/LCGsNknVcefYESED xEByvWkkSN8fuZsj2cn4XeR7muUAfDd6e2g9rjmuWHqhftHjhwKILOlr5HBzpIF3QMaLFP 3qoVZY2z8wlseCkqv4ADMU8NkZ+BGgBl7bSJTrAudo94TLPRKk+I4qtV3F1qfimMGkXlB7 pbCk+dJvVmBcxjzjeqH+XjmZfQV7HUwHtgelGZT2WVTNoDdYbXBi/YiK7aWp87VT+OmYQa AcFKw7YjNmQsQH2uexNnxsOr0QDA066nnNwnjoXxzqkXGGqcnPaiFrCRPMSuUQ== 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 4PXjDC2hqKzNsG; Thu, 9 Mar 2023 21:36:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329LaBqR026622; Thu, 9 Mar 2023 21:36:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329LaBV4026621; Thu, 9 Mar 2023 21:36:11 GMT (envelope-from git) Date: Thu, 9 Mar 2023 21:36:11 GMT Message-Id: <202303092136.329LaBV4026621@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ceri Davies Subject: git: efa3c0af3724 - main - rc.conf: update comment referring to /etc/motd List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ceri X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: efa3c0af3724bb322f4132d354bfc67adc065791 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ceri: URL: https://cgit.FreeBSD.org/src/commit/?id=efa3c0af3724bb322f4132d354bfc67adc065791 commit efa3c0af3724bb322f4132d354bfc67adc065791 Author: Ceri Davies AuthorDate: 2023-03-09 21:28:30 +0000 Commit: Ceri Davies CommitDate: 2023-03-09 21:28:30 +0000 rc.conf: update comment referring to /etc/motd --- libexec/rc/rc.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 932fd2ace778..06fda945e86e 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -683,7 +683,7 @@ kern_securelevel="-1" # range: -1..3 ; `-1' is the most insecure # Note that setting securelevel to 0 will result # in the system booting with securelevel set to 1, as # init(8) will raise the level when rc(8) completes. -update_motd="YES" # update version info in /etc/motd (or NO) +update_motd="YES" # update version info in /var/run/motd (or NO) entropy_boot_file="/boot/entropy" # Set to NO to disable very early # (used at early boot time) entropy caching through reboots. entropy_file="/entropy" # Set to NO to disable late (used when going multi-user) From nobody Thu Mar 9 21:36:12 2023 X-Original-To: dev-commits-src-main@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 4PXjDD5Ldbz3xPsZ; Thu, 9 Mar 2023 21:36:12 +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 4PXjDD4TKmz3NF0; Thu, 9 Mar 2023 21:36:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678397772; 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=tAS/EDMs9xve9SBkXdxQLpmCEXxs5+5w8jaewogj2m0=; b=dSfN3Bem7Gvp2oFuK8PsPVCAVLCX3fkU6DjSbjsf6B+DRqxwQPcNxgBcsT1OyHvw6uDW2S rOop5XeK0EU0UCsWZG0YI480HLnsrSLstopx29X2UejhKXnwkWhXXJgOYrDAZBr1s8va9b 4Dd9TnEZYFND2uU1+rSXDYr3hZ6S59qtytmyk9u/Thl6uSQIU85nC23UwdDOLOa2dQwL2C 8abWPm2xI/jLgLFUj3WA/knN46kinI9c1dsdnp4YclchBmcLvLpBvbljV9zFORJGA+uB08 0S6VKsj0pTa44WC04Ux8p+y2r8icV3TyxoS154iWzv36RGJvRFEIP18o/pWfOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678397772; 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=tAS/EDMs9xve9SBkXdxQLpmCEXxs5+5w8jaewogj2m0=; b=Jabc7mvB4B2l74NjNzZu/ocr5pcCMyhFLMTc7rDX/TrVtt8bsMEibFf9tCyXej2hOkz2gO jPODsXffOP65aZaLxmsvYgy2bWIOKfJ5RQy/tge0+Uqwt0rMet9J4N/DPsHyM7KLoKt7rL p3AhP8vcSBFTN20z20Mohkdh569KjJchgM2RMo/Ce+mtO9FPmgEDjBXbvViG3XiNwS2dPC 09fjpypZDhUn6QOQQPZ4GCiPEuPlMNyoZpsH/N3mHsCLpOCpGYXJIMK5z0keZnceShyduY sLyBDYQUW+oLOweBfD+5oJ3Usnqy//KG7YyL7Nr/VAogYf1Ci7JJAmxkP36DlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678397772; a=rsa-sha256; cv=none; b=l45euNNJ0XTTcI9MGfLQx2koDDYJecj41XucdEwkhqLtu/zGGMDsdmuxQswQCjkX2gCF3u 7XgwkRDDXIl7VnU5ummhycjr1KVPHrkb/tVsqsAUzLsWj9CodsjX6W1XfFqq9MkN4OE8wM ELIbNMxxjQp5ulmDkZinfUIr5+6LW3DR+zjJCMLjzDDMS/6TlcA/i/BEyrgSEivKASIBdb i9rT0/VUBu49Sp+cdPTXBxOBJrmCxoKmVlzhxPGKCNgMt+yOv551WBRSeiaqIKulQTnt1O 0ZBKvOZWMnJEa1Sti7K39+uOO2nhk4DZQ7aUghHIBEqwiz6wTm7AB+eOSWKekA== 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 4PXjDD3ZxzzNy0; Thu, 9 Mar 2023 21:36:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329LaCc3026641; Thu, 9 Mar 2023 21:36:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329LaC9k026640; Thu, 9 Mar 2023 21:36:12 GMT (envelope-from git) Date: Thu, 9 Mar 2023 21:36:12 GMT Message-Id: <202303092136.329LaC9k026640@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ceri Davies Subject: git: 654b1e38c47f - main - man5/rc.conf.5: minor nitpicks to formatting, grammar, spelling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ceri X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 654b1e38c47f4755b1da3918a20abd4ee73f3bb7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ceri: URL: https://cgit.FreeBSD.org/src/commit/?id=654b1e38c47f4755b1da3918a20abd4ee73f3bb7 commit 654b1e38c47f4755b1da3918a20abd4ee73f3bb7 Author: Ceri Davies AuthorDate: 2023-03-09 21:35:03 +0000 Commit: Ceri Davies CommitDate: 2023-03-09 21:35:03 +0000 man5/rc.conf.5: minor nitpicks to formatting, grammar, spelling --- share/man/man5/rc.conf.5 | 56 +++++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 055f97668375..0418f6043ac1 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -106,7 +106,7 @@ will be loaded. If .Ao Ar dir Ac Ns Pa /rc.conf.d/ Ns Ao Ar name Ac is a directory, -all of files in the directory will be loaded. +all of the files in the directory will be loaded. Also see the .Va rc_conf_files variable below. @@ -472,7 +472,7 @@ directory. .Pq Vt bool Set to "YES" to enable saving of the .Pa /var/run -directory strcucture into an mtree file at shutdown and the reload of the +directory structure into an mtree file at shutdown and the reload of the .Pa /var/run directory structure at boot. .It Va var_run_autosave @@ -484,13 +484,10 @@ When set to "NO" .Pa /var/run is loaded at reboot but not saved at shutdown. Typically in this scenario -a -.Pa service -.Pa var_run -.Pa save +.Ql service var_run save would be performed to save a copy of the .Pa /var/run -directory structure once, to be reload during all subsequent reboots. +directory structure once, to be reloaded during all subsequent reboots. .It Va var_run_mtree .Pq Vt str Where to save the @@ -773,7 +770,7 @@ is also set to Setting this to .Dq Li YES will enable netflow logging via -.Xr ng_netflow 4 +.Xr ng_netflow 4 . .Pp By default a ipfw rule is inserted and all packets are duplicated with the ngtee command and netflow packets are sent to 127.0.0.1 on the netflow @@ -1350,7 +1347,7 @@ Set to by default. This setting will be identical to .Dq Li YES , -if a dynamicrouting daemon is enabled, because redirect processing may +if a dynamic routing daemon is enabled, because redirect processing may cause performance issues for large routing tables. If no such service is enabled, this setting behaves like a .Dq Li NO . @@ -1524,7 +1521,7 @@ there is .Va ifconfig_ Ns Ao Ar interface Ac Ns Va _aliases variable, which has the same functionality as .Va ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n -and can have all of entries in a variable like the following: +and can have all of the entries in a variable like the following: .Bd -literal ifconfig_em0_aliases="\\ inet 127.0.0.251 netmask 0xffffffff \\ @@ -1570,7 +1567,7 @@ To create a vlan device named .Li em0.101 on .Li em0 -with the vlan tag 101 and the optional the IPv4 address 192.0.2.1/24: +with the vlan tag 101 and the optional IPv4 address 192.0.2.1/24: .Bd -literal vlans_em0="101" ifconfig_em0_101="inet 192.0.2.1/24" @@ -1603,7 +1600,7 @@ command by setting the variable. One or more .Xr wlan 4 -devices must be created for each wireless devices as of +devices must be created for each wireless device as of .Fx 8.0 . Debugging flags for .Xr wlan 4 @@ -1748,7 +1745,7 @@ all interfaces which do not have a corresponding variable will be marked as .Dq Li IFDISABLED at creation. -This means that all of IPv6 functionality on that interface +This means that all IPv6 functionality on that interface is completely disabled to enforce a security policy. If the variable is set to .Dq YES , @@ -1850,7 +1847,7 @@ IPv6 functionality on an interface should be configured by .Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 , instead of setting ifconfig parameters in .Va ifconfig_ Ns Aq Ar interface . -If this variable is empty, all of IPv6 configurations on the +If this variable is empty, all IPv6 configurations on the specified interface by other variables such as .Va ipv6_prefix_ Ns Ao Ar interface Ac will be ignored. @@ -2133,7 +2130,7 @@ include the full path to the file. By default, the files specified are .Pa /etc/rc.conf and -.Pa /etc/rc.conf.local +.Pa /etc/rc.conf.local . .It Va zfs_enable .Pq Vt bool If set to @@ -2149,8 +2146,8 @@ This is useful when using a ZFS pool copied from a template, such as a virtual machine image. .It Va zpool_upgrade .Pq Vt str -A space-separated list of ZFS pool names for which version should be upgraded -upon first boot. +A space-separated list of ZFS pool names for which the version should be +upgraded upon first boot. This is useful when using a ZFS pool generated by the .Xr makefs 8 utility. @@ -2170,7 +2167,7 @@ utility. If set to .Dq Li YES , .Pa /etc/rc.d/gbde -will attempt to automatically initialize your .bde devices in +will attempt to automatically initialize the .bde devices specified in .Pa /etc/fstab . .It Va gbde_devices .Pq Vt str @@ -2480,12 +2477,12 @@ these are the flags to pass to it. .Pq Vt bool If set to .Dq Li YES , -.Pa /etc/motd +.Pa /var/run/motd will be updated at boot time to reflect the kernel release being run. If set to .Dq Li NO , -.Pa /etc/motd +.Pa /var/run/motd will not be updated. .It Va nfs_client_enable .Pq Vt bool @@ -2943,7 +2940,7 @@ If set to run the .Xr bsnmpd 1 daemon at system boot time. -Be sure to understand the security implications of running SNMP daemon +Be sure to understand the security implications of running an SNMP daemon on your host. .It Va bsnmpd_flags .Pq Vt str @@ -3085,10 +3082,14 @@ If is set to .Dq Li YES , this is the name of the routing daemon to use. +The default is +.Xr routed 8 . .It Va route6d_program .Pq Vt str The IPv6 equivalent of .Va routed_program . +The default is +.Xr route6d 8 . .It Va routed_flags .Pq Vt str If @@ -3367,15 +3368,15 @@ This is the protocol type of the mouse connected to this host. This variable must be set if .Va moused_enable is set to -.Dq Li YES . -The +.Dq Li YES , +but defaults to +.Dq Li auto +as the .Xr moused 8 daemon is able to detect the appropriate mouse type automatically in many cases. Set this variable to -.Dq Li auto -to let the daemon detect it, or -select one from the following list if the automatic detection fails. +one from the following list if the automatic detection fails. .Pp If the mouse is attached to the PS/2 mouse port, choose .Dq Li auto @@ -4282,7 +4283,7 @@ is also increased. Set to .Dq Li NO to prevent the system from trying to -recover pre-maturely terminated +recover prematurely terminated .Xr vi 1 sessions. .It Va ugidfw_enable @@ -5009,6 +5010,7 @@ these are the flags to pass to the .Xr rcorder 8 , .Xr rfcomm_pppd 8 , .Xr route 8 , +.Xr rout6ed 8 , .Xr routed 8 , .Xr rpc.lockd 8 , .Xr rpc.statd 8 , From nobody Thu Mar 9 21:39:21 2023 X-Original-To: dev-commits-src-main@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 4PXjHs4cHKz3xPt2; Thu, 9 Mar 2023 21:39: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 4PXjHs43zjz3Nrp; Thu, 9 Mar 2023 21:39:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678397961; 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=kBT+euskypSnVp6n8wkCvzrs1cNrlSjU/8WxjSaDt1k=; b=nHPop2aRjheI0CJpmBSfKi0A9lD5ZMk9tzt1WFfozB01x8vKyMhuDi8SAy+yBbvcCYbyYW ZzWhK780IrX3dq390M3jM9QhL7zDNyVy7wUAsm+Wx22dwSuHjKcprk8x7ux3+xJL3PqK3b xTjgt+VbbBZsZwc4L7moph+/qee/WztxtcHtwS+GLLxOkdTQ+hrREgJp3kTRYBDciwR1q0 CTEwuvx3BRuHQrVO0onffoS4Qq8S0b/txeBFMJxqxuyOZ0z7d3AOteraLdH1EmUgiCnkKb qBp6alewfrGk0+rhRv0qb/Yst5iTgVLZzSeGGuR67iEgVgXfAy9Lp5BWc5MKLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678397961; 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=kBT+euskypSnVp6n8wkCvzrs1cNrlSjU/8WxjSaDt1k=; b=LDl33EqN5uWYQNP+ip9ukF+jlQMw0NItHwG9rEfQeaPdf8WDTMZHCa06y8XHAkbuBAPWvW C/2BYdBxpWRQmQ6hVWfHTLDL3WFc0wpzdQI2bBtlLJnLG5ZWMvXBI3QX/yS9OeRGLP2TiR ajz7bvGKt7F6Tpjtbz7qLeIbeGF/9WTvGWg4i7rhMI4TcmsRJjhCktECZ+U60bNx199r26 MJlgYu7cJf9OzDFIfvsFpQwcVngv/jSPxb2L0P5XDhJG0BkL9XE6TaqTUuk6FJ4eUQT/gk khn4omdve1DfPxr+V2NACNTnksx67iuXEwR0KWyAUiPnEwXhn/AwBt3p1oDD1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678397961; a=rsa-sha256; cv=none; b=w5EnnHZTCjULuXLC2bsKGvYU3s21TjpKgbfxBK722Ep9bJiSOlZVlzv7/JxZCOGBMYmU6C OTvK1ajAI7aqBwW67ysBfTf8F5zawi5OcnfnHrh6zQHWBSTy+sYPea6WR8wy1RVjZYX2NF 3NvQ3L6+gPlX9+a4ecCjqgpQkSPZ96pePi3Rmi7OMr2xyL5G8oWM420HSXK2aR2hrkgMJQ 4f57+M2SbD6BBxvJkwd1KA+fwXPxNdgBImXBjLA3Y0ejUndczM7KFfWvm5DjUbUsatTctR GnRgsK9SYalCKEI5VLMwOinzcPZfemKA657yfRu4hBDa/MMd63UZI8aEY5ZkVQ== 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 4PXjHs2whJzNjr; Thu, 9 Mar 2023 21:39:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329LdLHe027090; Thu, 9 Mar 2023 21:39:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329LdLIj027089; Thu, 9 Mar 2023 21:39:21 GMT (envelope-from git) Date: Thu, 9 Mar 2023 21:39:21 GMT Message-Id: <202303092139.329LdLIj027089@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ceri Davies Subject: git: 465171322ebe - main - man5/rc.conf.5: finally retire references to pccard_ifconfig variable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ceri X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 465171322ebe5b2b5a0f49e3eb95bbbd2dca6ad9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ceri: URL: https://cgit.FreeBSD.org/src/commit/?id=465171322ebe5b2b5a0f49e3eb95bbbd2dca6ad9 commit 465171322ebe5b2b5a0f49e3eb95bbbd2dca6ad9 Author: Ceri Davies AuthorDate: 2023-03-09 21:38:46 +0000 Commit: Ceri Davies CommitDate: 2023-03-09 21:38:46 +0000 man5/rc.conf.5: finally retire references to pccard_ifconfig variable It was removed in June 2005. --- share/man/man5/rc.conf.5 | 3 --- 1 file changed, 3 deletions(-) diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 0418f6043ac1..476c8d90073d 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -1679,9 +1679,6 @@ may be configured. It will be used for all interfaces with no .Va ifconfig_ Ns Aq Ar interface variable. -This is intended to replace the no longer supported -.Va pccard_ifconfig -variable. .Pp It is also possible to rename an interface by doing: .Bd -literal From nobody Thu Mar 9 21:39:56 2023 X-Original-To: dev-commits-src-main@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 4PXjJX6nLtz3xQTR; Thu, 9 Mar 2023 21:39:56 +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 4PXjJX69ssz3P7B; Thu, 9 Mar 2023 21:39:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678397996; 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=ttnxSdW72BqO+OCZSc+8Yg3VBki+LEQOHSeYkn4aHbM=; b=d0dMxHtYzGgFMQGEKjXINTcw1yFiyhWaCfx2QOwC0Nk2vUGsQdgVlJBk2GEBYGs2pC9NDy Ou1X5pitSXSAOCgBjQJnGydn21N73xcJYbmOiv4HR2BybwlryL0Mbj7dbu4hGAbl4h+7vg rxunfZw6KMUS9W8nXCpt7nzi6g9UIO+iVLnHS8oFRu2pqNYfbWHDo8eQDGKFJ1DrKAyR/g ctCCRRsL5SvKFHJ9m5zov987j6up3DnVoCLYLPGTmPBQA3HfXU/aZDpInM5ewB2+VSrmfU LBjD9Tb71B6cimHnV4fjRxYcc9pktw+fKskhqQ/u+n+JDZCPGbwSBkI+9kNOiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678397996; 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=ttnxSdW72BqO+OCZSc+8Yg3VBki+LEQOHSeYkn4aHbM=; b=kWoTfLIzVBc7GvYdWa3jWFOYBJYp+Smh8qnbB4otMS6yWaP/7VFkLkNitlQFK3FXICDsPs HUb2s31tKgxt8WZzZp0Q54oOKtxXKkTtwioiegTbuhf+bDHJhThssY+CCjPTXTcawGuwrG 8cUyCDz87RR06I8AUEpYMzWEgnEg80TQDQLWUXR+X+jCc6PHkz3Zmw1QC3jmyPXhJObpKW /wdWpDZOE4b3ve5DyP0/ZRPeVeFnLU4mLyETf4lqaRH5e4svoSArIXtflXij51HrH+9tkm Gyzi8RmRvmteu99+ANg8PZeGd4ADITsCTsusoLxi4S+r2izQaEM9CvuQY/DEyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678397996; a=rsa-sha256; cv=none; b=chvNjfYOBhk7P1DGeW6S5/qAUdLYy68CppO1eU2nKuCnIT6Ad81opo2aX25tTQ5p9lVcqh 5e/FygtT0FaYToeS3WmVyA5xmX62FqAa1OOM+57P7TD8zg64B0hdWPpQIL8SCKkF7XIoV+ ypGhC+5Ks2/qbQhXbPoO9E7OfrI9H5e1iYO8IFX6SCZdOoJYj3gYaOjzWj6ppANUzmbXzp X37raFh6x1PQw12a8PNT3LJKL70I5IW+6UJMvIvkK78gxrXmyTPUHQ085w6Bc0GZfNO8KG obNK8zMAYa5qwVePbnohnFCuqsik4rF9Vdh3ICMpPkwV7cHBV/GKh8HWAaTZiw== 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 4PXjJX5FYfzNsH; Thu, 9 Mar 2023 21:39:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329LduKl027403; Thu, 9 Mar 2023 21:39:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329Ldu5P027402; Thu, 9 Mar 2023 21:39:56 GMT (envelope-from git) Date: Thu, 9 Mar 2023 21:39:56 GMT Message-Id: <202303092139.329Ldu5P027402@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 21735dfaebdf - main - include: Remove no longer existing netgraph/atm List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 21735dfaebdf88627f904929491d4b4b284d9aa4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=21735dfaebdf88627f904929491d4b4b284d9aa4 commit 21735dfaebdf88627f904929491d4b4b284d9aa4 Author: Michael Butler AuthorDate: 2023-03-09 21:39:41 +0000 Commit: Brooks Davis CommitDate: 2023-03-09 21:39:41 +0000 include: Remove no longer existing netgraph/atm Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D39005 --- include/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/Makefile b/include/Makefile index 24124a1f366b..24f2ed6c2a64 100644 --- a/include/Makefile +++ b/include/Makefile @@ -58,7 +58,7 @@ LSUBDIRS= dev/acpica dev/agp dev/ciss dev/filemon dev/firewire \ geom/raid geom/raid3 geom/shsec geom/stripe geom/union geom/virstor \ net/altq \ net/route \ - netgraph/atm netgraph/netflow \ + netgraph/netflow \ netinet/cc \ netinet/netdump \ netinet/tcp_stacks \ From nobody Thu Mar 9 21:39:57 2023 X-Original-To: dev-commits-src-main@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 4PXjJZ0t3Fz3xQMB; Thu, 9 Mar 2023 21:39:58 +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 4PXjJZ0DBfz3PHY; Thu, 9 Mar 2023 21:39:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678397998; 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=ASg5zvp7/lvLtlM2AnpK3535W6/NYa1CDYbs0vGxLYE=; b=P1V8wLhD3879gqqmH6HzfPv/5uR6Z1agsXyLNloWi2lsanbL9BD9dlGRLxxy1Rns7cbfZy IR4xJP8pC5GreybgW+IuZPlPd+EmbH4/Z7wedD+bLDyG1/rp9l6VgNRg4xnmYCGLW3yytN HjW/KSEjnWSVtekJY5NCAf9kCSeTemZG+yJ+WkWctY9XdbE+Qd+fAao/O4IuJKPIdGD1W0 mwAASCsiNaAESvboLFwijNd8S2b0eATqyao0PUmxf5X754lOKiB/A9S03D1r6dFM9KQPe/ DfSXlGwm8LIIiQwDR1mi88tjYegHtxRA94U+xyBnCSrv4UCyTK7B2kl9v1YtTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678397998; 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=ASg5zvp7/lvLtlM2AnpK3535W6/NYa1CDYbs0vGxLYE=; b=U2eIH7T1wUdibr7gWKpheWLQ6c0/muuW6LKyDY7rp0WS5yZk0cP2GwRXuph9QHTRqA30kV DYrX5FuCSY9nNckWwu2BxO795kqnmzetN7B8UYHEesXoOfga2o1YYRJKdbfz35UWzdG8c/ 2ZGsb10I4AYqOqJFP5NtiMzckhsbYTXEIUgKiIsLP16xjk/JFTxcneX2SbXaGAAkzTbMvV 9PFrqbDbztcdRv3sls5gOzhCvD9x9S07Zwqio3D7jFXkGIskG4S3cL3aXikhMLGD3Vf0ox R9tUxgAfYkCmlnW6mUrMVW3LvGo5q3lWYVg40a/91csSKA+Ig1tXoxmJK0sZ4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678397998; a=rsa-sha256; cv=none; b=S/9MbxMphEwUR3H2lN3PzlSanjJmprYYg9PBxDbUl3lbo/a8oYQxo3q8zZsjYj5N5RhfUV l4xPm/J7D6u13MvI3Ts4+p8zJLNBg9dsRz23fsE35at0LFGcY+pcm9AnNjBXjPClhmT5+M j6cjkP82kAm+ZBOeI4uEXJjeFO0J1v8Z6b7pQ2+2zO/ghCC7djWfVwlnDLlG9EVsZCsAZW DvNyDi2SoJzIcObfnw7CTQ4jrtJapID8UcBSDIspaIywnBlGtUBaexnQwWw94KtzGYyVcf qnBlPHSS8JpA/RNqE0v2rbz+wTM+IigG9tIguQ6Pe4Q/taJDzKleOw/EBpbMtQ== 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 4PXjJY6PQVzNsK; Thu, 9 Mar 2023 21:39:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329Ldvtp027429; Thu, 9 Mar 2023 21:39:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329Ldv7s027428; Thu, 9 Mar 2023 21:39:57 GMT (envelope-from git) Date: Thu, 9 Mar 2023 21:39:57 GMT Message-Id: <202303092139.329Ldv7s027428@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 3ac71149bade - main - Add WITH_LOADER_VERIEXEC_VECTX description List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 3ac71149badeb1d3a0eeaa83739f7b385c8c941e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=3ac71149badeb1d3a0eeaa83739f7b385c8c941e commit 3ac71149badeb1d3a0eeaa83739f7b385c8c941e Author: Brooks Davis AuthorDate: 2023-03-09 21:39:41 +0000 Commit: Brooks Davis CommitDate: 2023-03-09 21:39:41 +0000 Add WITH_LOADER_VERIEXEC_VECTX description PR: 270017 Reviewed by: emaste Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D39002 --- share/man/man5/src.conf.5 | 8 ++++++++ tools/build/options/WITH_LOADER_VERIEXEC_VECTX | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index a05987e1a492..a3f997e66e2c 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1047,6 +1047,14 @@ The kernel has to be built with a module to parse the manifest. .Pp Depends on .Va WITH_LOADER_VERIEXEC . +.It Va WITH_LOADER_VERIEXEC_VECTX +Enable building +.Xr loader 8 +with support for hashing and verifying kernel and modules as a side effect +of loading. +.Pp +Depends on +.Va WITH_LOADER_VERIEXEC . .It Va WITHOUT_LOADER_ZFS Do not build ZFS file system boot loader support. .It Va WITHOUT_LOCALES diff --git a/tools/build/options/WITH_LOADER_VERIEXEC_VECTX b/tools/build/options/WITH_LOADER_VERIEXEC_VECTX new file mode 100644 index 000000000000..b1fc6c815ed8 --- /dev/null +++ b/tools/build/options/WITH_LOADER_VERIEXEC_VECTX @@ -0,0 +1,7 @@ +Enable building +.Xr loader 8 +with support for hashing and verifying kernel and modules as a side effect +of loading. +.Pp +Depends on +.Va WITH_LOADER_VERIEXEC . From nobody Thu Mar 9 23:18:02 2023 X-Original-To: dev-commits-src-main@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 4PXlTk2NGQz3xVSP; Thu, 9 Mar 2023 23:18:02 +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 4PXlTk1sfZz3lD2; Thu, 9 Mar 2023 23:18:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678403882; 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=rYQLl5zclQtbkWHg3ki30vsaB8OlJdk99nXX6OlCXWI=; b=eWbqughjpdwJmMYiuisIU32MAvnIaMctz2v33d5FothuFJXRYvzcaAGrRjB9ORPGTgjii7 2o6XrPKVqJE2mhkeCZI40Mjx7qn/U7QFJE8YQ7FwUQE7RBqlsaYDuRFh6tA73zmQfhKMvN NY2Cng8kPEwLbcOVPGvNPcB5kBzmKTXgXzs642RrxE59vj7Z202NGKh9zqOR+h8lGtK3wN vhnMPD0AhZmB/ZzbphRrR159fZM+k+rP9X8mLR1JW82cqRJWH7s0prGNoWzUEF8c919biU DyP51a1saCPSG1sxVLREsw7LbLkvApOUkQ1YBIClkuQRYenYB18XeIr1wavyxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678403882; 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=rYQLl5zclQtbkWHg3ki30vsaB8OlJdk99nXX6OlCXWI=; b=x8OF9SxBxxbfAgowI4B9hSuO99HleaUNBW0JtCGPj4agvPdtXzEEclFnrR9FeEu6D5/939 DMMk/qa4jXpgh9FZdHC5Wrsfl1TuipFpG1B9JJc8yAUGYGCN7wluqE8zzDzCF8EKOrNCa9 cohJOhRhHASTNSyARk7wvHG3w0tIMJc5qp5KOiMXdYoCVjpK2xucCQm84ZvQVI7vj3N2it r7qDYfpSpkXSwUzAgWspusuBP+hqHX/4JKwBxg/gdeWMhgutbg1Gg1gvVGo/mUqWDX5eWn Xc36glmtaBe3fhGt7SB9wn0FKcXg8J8Dpdpq2nHHeqF0ePsc6HqfkWRtjdeSIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678403882; a=rsa-sha256; cv=none; b=EgcMHiG14t3NNZLxxsCq2P29B//RqHa/RhR4pGGoI3nSH9+MEb7sRY4HxF2JmYC1+tzBT1 bvpXFceZEzXly1YYOjEPCnjhM796OBTwSnH1xih9zHmF5hD5JtBPefFdAE/hoTgOob5Erf aH1dw6aMLiO4ojH2MZ7IXAGNOA/Yd4VYjjEzm7w3oFso6wmdNQhl1p3kgHLnFj54fpLE67 C2/sjoBnVIDBYYpmzAL15bVMPgpaTbspwXLUb1gqFvIhwdLebweZ3nM/V18zLKkyg8G7vO wzTkWJCM3P+B57Z3zSBT2/rIpoOfenkVuD0nyot7QEeb9Ia/+ZuNd7Oenu9iDw== 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 4PXlTk0x7tzQnY; Thu, 9 Mar 2023 23:18:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 329NI2QP091733; Thu, 9 Mar 2023 23:18:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 329NI2M1091732; Thu, 9 Mar 2023 23:18:02 GMT (envelope-from git) Date: Thu, 9 Mar 2023 23:18:02 GMT Message-Id: <202303092318.329NI2M1091732@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 626d1e4a82e2 - main - netmap: Remove obsolete compatibility defines List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 626d1e4a82e25d274cdadfebfd81a28e968efb5b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=626d1e4a82e25d274cdadfebfd81a28e968efb5b commit 626d1e4a82e25d274cdadfebfd81a28e968efb5b Author: Mark Johnston AuthorDate: 2023-03-09 23:16:53 +0000 Commit: Mark Johnston CommitDate: 2023-03-09 23:16:53 +0000 netmap: Remove obsolete compatibility defines No functional change intended. Reviewed by: vmaffione MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39001 --- sys/dev/netmap/netmap_freebsd.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sys/dev/netmap/netmap_freebsd.c b/sys/dev/netmap/netmap_freebsd.c index 3b2fdd214f24..296c37576407 100644 --- a/sys/dev/netmap/netmap_freebsd.c +++ b/sys/dev/netmap/netmap_freebsd.c @@ -1024,11 +1024,6 @@ netmap_dev_pager_fault(vm_object_t object, vm_ooffset_t offset, * Replace the passed in reqpage page with our own fake page and * free up the all of the original pages. */ -#ifndef VM_OBJECT_WUNLOCK /* FreeBSD < 10.x */ -#define VM_OBJECT_WUNLOCK VM_OBJECT_UNLOCK -#define VM_OBJECT_WLOCK VM_OBJECT_LOCK -#endif /* VM_OBJECT_WUNLOCK */ - VM_OBJECT_WUNLOCK(object); page = vm_page_getfake(paddr, memattr); VM_OBJECT_WLOCK(object); From nobody Fri Mar 10 00:46:21 2023 X-Original-To: dev-commits-src-main@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 4PXnRd2079z3wrJW; Fri, 10 Mar 2023 00:46: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 4PXnRd1mFGz3r0l; Fri, 10 Mar 2023 00:46:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678409181; 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=t3EK+rG/CLOO7Xj1pUuIdBdVzyAzeb225D8tgz8BCVg=; b=e5gHxrxdA/jYVzERVnRjZPFSATMivGZAkeLLPlWhR95vK9jtIBxSTet6H2nsf8N9IAQ7fR Fv19rOm0m5N43SSx+eUGiCoHtlPyviuodS8YZZgf43i/scm2UUNcwdcWfcRI4wTmEujcXK zaHEE9XI62DFg+Br4E98uUGKKnYZs3wOVwphtAklINFISjkZlXzoErI/gC7+lDR1/htD8G iMO7yjeW4B3oYfrduRQDqTBdDBUmplYg0v78QWeTKnB1XIQ3Rud6v88QjOKL9BE4aSfAPX 2HMBYGCpZI9NgCTfr6xaKClnq1j64ps+9RQp2TB01+IuUuOiV1mOccYfQtr5Ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678409181; 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=t3EK+rG/CLOO7Xj1pUuIdBdVzyAzeb225D8tgz8BCVg=; b=ei87HH6J4w0zzPcOgCwLds8xixcZxPpvEslZ7wdD0PrdroIqUJwrhH1rgStoPBH1PgvOCL hvvQvGeR6gROJDAjyPg5RYqkErolKVMqO/QRcGSCmHIWuW2V1AKAS4xsqeRBk+hOPs0PEB Md1hAWdYGwlfm8RRRPyE1IfQZrP2R266CgkQKi/eornr34F6xp729apRKrQ9EebUKUjecD /iHRQzGw6TpxEfT4b1MFIOOj7WW+9wa3EbLuQyGKREHrEU3+pTZTHPWP5n808MVFUo4Due jnJrnXdHsxXYPWEJENstEo7AIrRVqaGxx5vMh6/l5dojJDaCdZ4ENDXfiDc/pg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678409181; a=rsa-sha256; cv=none; b=yGNfqrkQg+ImutjtR2V0BqoPsfJvROnDCqsaU9c4n1ueXPfoM4vBcQk5nabME/EGPk/Nmm ewzo68zOU4B1rcPrnTuJzU1uX7dDGtU8iRDHzuz5d3qylTCJDKhTOBCsTz+K7006HCzZlC 1HnD3XdE6T1rbfn0evqTKxpkEjIMg6JZBt6FWCNPieABJSbShSawXQDNzLML6zL1miuEhf xu/WFcC3O6pHDbfoXuA4l9t4gU4qCxtSCNPYfv7sJZizHTmKh079hlI6nuxfpkKof3YwpR dCHbPkV4kMeDGtZPAdmm4VeQQCpaxvBRZAjg8GffQS0crGgH/As3z4kc7MJ3YQ== 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 4PXnRd0qSRzTjZ; Fri, 10 Mar 2023 00:46:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32A0kL35038902; Fri, 10 Mar 2023 00:46:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32A0kLrh038901; Fri, 10 Mar 2023 00:46:21 GMT (envelope-from git) Date: Fri, 10 Mar 2023 00:46:21 GMT Message-Id: <202303100046.32A0kLrh038901@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 4a2b92d99fee - main - sctp: initial implementation of draft-tuexen-tsvwg-sctp-zero-checksum List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4a2b92d99fee987e87a5c3789e0892ab6e680018 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=4a2b92d99fee987e87a5c3789e0892ab6e680018 commit 4a2b92d99fee987e87a5c3789e0892ab6e680018 Author: Michael Tuexen AuthorDate: 2023-03-10 00:45:46 +0000 Commit: Michael Tuexen CommitDate: 2023-03-10 00:45:46 +0000 sctp: initial implementation of draft-tuexen-tsvwg-sctp-zero-checksum --- sys/netinet/sctp.h | 1 + sys/netinet/sctp_constants.h | 2 +- sys/netinet/sctp_input.c | 157 ++++++++++++++++++++++++++++++------------- sys/netinet/sctp_output.c | 71 ++++++++++++++++--- sys/netinet/sctp_pcb.c | 9 +++ sys/netinet/sctp_pcb.h | 1 + sys/netinet/sctp_structs.h | 6 ++ sys/netinet/sctp_sysctl.c | 5 ++ sys/netinet/sctp_sysctl.h | 8 ++- sys/netinet/sctp_uio.h | 6 +- sys/netinet/sctp_usrreq.c | 23 +++++++ sys/netinet/sctputil.c | 1 + 12 files changed, 232 insertions(+), 58 deletions(-) diff --git a/sys/netinet/sctp.h b/sys/netinet/sctp.h index d67b33acd8ad..95dd85c5d8c0 100644 --- a/sys/netinet/sctp.h +++ b/sys/netinet/sctp.h @@ -129,6 +129,7 @@ struct sctp_paramhdr { #define SCTP_NRSACK_SUPPORTED 0x00000030 #define SCTP_PKTDROP_SUPPORTED 0x00000031 #define SCTP_MAX_CWND 0x00000032 +#define SCTP_ACCEPT_ZERO_CHECKSUM 0x00000033 /* * read-only options diff --git a/sys/netinet/sctp_constants.h b/sys/netinet/sctp_constants.h index 3df6ad6db2aa..3772a933bf85 100644 --- a/sys/netinet/sctp_constants.h +++ b/sys/netinet/sctp_constants.h @@ -410,7 +410,7 @@ __FBSDID("$FreeBSD$"); /*************0x8000 series*************/ #define SCTP_ECN_CAPABLE 0x8000 - +#define SCTP_ZERO_CHECKSUM_ACCEPTABLE 0x8001 /* RFC 4895 */ #define SCTP_RANDOM 0x8002 #define SCTP_CHUNK_LIST 0x8003 diff --git a/sys/netinet/sctp_input.c b/sys/netinet/sctp_input.c index 3f5046811258..dfc74e1e84f3 100644 --- a/sys/netinet/sctp_input.c +++ b/sys/netinet/sctp_input.c @@ -5263,73 +5263,138 @@ sctp_common_input_processing(struct mbuf **mm, int iphlen, int offset, int lengt uint8_t mflowtype, uint32_t mflowid, uint16_t fibnum, uint32_t vrf_id, uint16_t port) { - uint32_t high_tsn; - int fwd_tsn_seen = 0, data_processed = 0; - struct mbuf *m = *mm, *op_err; char msg[SCTP_DIAG_INFO_LEN]; - int un_sent; - int cnt_ctrl_ready = 0; + struct mbuf *m = *mm, *op_err; struct sctp_inpcb *inp = NULL, *inp_decr = NULL; struct sctp_tcb *stcb = NULL; struct sctp_nets *net = NULL; + uint32_t high_tsn; + uint32_t cksum_in_hdr; + int un_sent; + int cnt_ctrl_ready = 0; + int fwd_tsn_seen = 0, data_processed = 0; + bool cksum_validated, stcb_looked_up; SCTP_STAT_INCR(sctps_recvdatagrams); #ifdef SCTP_AUDITING_ENABLED sctp_audit_log(0xE0, 1); sctp_auditing(0, inp, stcb, net); #endif + + stcb_looked_up = false; if (compute_crc != 0) { - uint32_t check, calc_check; - - check = sh->checksum; - sh->checksum = 0; - calc_check = sctp_calculate_cksum(m, iphlen); - sh->checksum = check; - if (calc_check != check) { - SCTPDBG(SCTP_DEBUG_INPUT1, "Bad CSUM on SCTP packet calc_check:%x check:%x m:%p mlen:%d iphlen:%d\n", - calc_check, check, (void *)m, length, iphlen); - stcb = sctp_findassociation_addr(m, offset, src, dst, - sh, ch, &inp, &net, vrf_id); + cksum_validated = false; + cksum_in_hdr = sh->checksum; + if (cksum_in_hdr != htonl(0)) { + uint32_t cksum_calculated; + + validate_cksum: + sh->checksum = 0; + cksum_calculated = sctp_calculate_cksum(m, iphlen); + sh->checksum = cksum_in_hdr; + if (cksum_calculated != cksum_in_hdr) { + if (stcb_looked_up) { + /* + * The packet has a zero checksum, + * which is not the correct CRC, no + * stcb has been found or an stcb + * has been found but an incorrect + * zero checksum is not acceptable. + */ + KASSERT(cksum_in_hdr == htonl(0), + ("cksum in header not zero: %x", + ntohl(cksum_in_hdr))); + if ((inp == NULL) && + (SCTP_BASE_SYSCTL(sctp_ootb_with_zero_cksum) == 1)) { + /* + * This is an OOTB packet, + * depending on the sysctl + * variable, pretend that + * the checksum is + * acceptable, to allow an + * appropriate response + * (ABORT, for examlpe) to + * be sent. + */ + KASSERT(stcb == NULL, + ("stcb is %p", stcb)); + SCTP_STAT_INCR(sctps_recvzerocrc); + goto cksum_validated; + } + } else { + stcb = sctp_findassociation_addr(m, offset, src, dst, + sh, ch, &inp, &net, vrf_id); + } + SCTPDBG(SCTP_DEBUG_INPUT1, "Bad cksum in SCTP packet:%x calculated:%x m:%p mlen:%d iphlen:%d\n", + ntohl(cksum_in_hdr), ntohl(cksum_calculated), (void *)m, length, iphlen); #if defined(INET) || defined(INET6) - if ((ch->chunk_type != SCTP_INITIATION) && - (net != NULL) && (net->port != port)) { - if (net->port == 0) { - /* UDP encapsulation turned on. */ - net->mtu -= sizeof(struct udphdr); - if (stcb->asoc.smallest_mtu > net->mtu) { - sctp_pathmtu_adjustment(stcb, net->mtu, true); + if ((ch->chunk_type != SCTP_INITIATION) && + (net != NULL) && (net->port != port)) { + if (net->port == 0) { + /* + * UDP encapsulation turned + * on. + */ + net->mtu -= sizeof(struct udphdr); + if (stcb->asoc.smallest_mtu > net->mtu) { + sctp_pathmtu_adjustment(stcb, net->mtu, true); + } + } else if (port == 0) { + /* + * UDP encapsulation turned + * off. + */ + net->mtu += sizeof(struct udphdr); + /* XXX Update smallest_mtu */ } - } else if (port == 0) { - /* UDP encapsulation turned off. */ - net->mtu += sizeof(struct udphdr); - /* XXX Update smallest_mtu */ + net->port = port; } - net->port = port; - } #endif - if (net != NULL) { - net->flowtype = mflowtype; - net->flowid = mflowid; + if (net != NULL) { + net->flowtype = mflowtype; + net->flowid = mflowid; + } + SCTP_PROBE5(receive, NULL, stcb, m, stcb, sh); + if ((inp != NULL) && (stcb != NULL)) { + if (stcb->asoc.pktdrop_supported) { + sctp_send_packet_dropped(stcb, net, m, length, iphlen, 1); + sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_INPUT_ERROR, SCTP_SO_NOT_LOCKED); + } + } else if ((inp != NULL) && (stcb == NULL)) { + inp_decr = inp; + } + SCTP_STAT_INCR(sctps_badsum); + SCTP_STAT_INCR_COUNTER32(sctps_checksumerrors); + goto out; + } else { + cksum_validated = true; } - SCTP_PROBE5(receive, NULL, stcb, m, stcb, sh); - if ((inp != NULL) && (stcb != NULL)) { - sctp_send_packet_dropped(stcb, net, m, length, iphlen, 1); - sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_INPUT_ERROR, SCTP_SO_NOT_LOCKED); - } else if ((inp != NULL) && (stcb == NULL)) { - inp_decr = inp; - } - SCTP_STAT_INCR(sctps_badsum); - SCTP_STAT_INCR_COUNTER32(sctps_checksumerrors); - goto out; + } + KASSERT(cksum_validated || cksum_in_hdr == htonl(0), + ("cksum 0x%08x not zero and not validated", ntohl(cksum_in_hdr))); + if (!cksum_validated) { + stcb = sctp_findassociation_addr(m, offset, src, dst, + sh, ch, &inp, &net, vrf_id); + stcb_looked_up = true; + if ((stcb == NULL) || (stcb->asoc.zero_checksum == 0)) { + goto validate_cksum; + } + SCTP_STAT_INCR(sctps_recvzerocrc); } } +cksum_validated: /* Destination port of 0 is illegal, based on RFC4960. */ - if (sh->dest_port == 0) { + if (sh->dest_port == htons(0)) { SCTP_STAT_INCR(sctps_hdrops); + if ((stcb == NULL) && (inp != NULL)) { + inp_decr = inp; + } goto out; } - stcb = sctp_findassociation_addr(m, offset, src, dst, - sh, ch, &inp, &net, vrf_id); + if (!stcb_looked_up) { + stcb = sctp_findassociation_addr(m, offset, src, dst, + sh, ch, &inp, &net, vrf_id); + } #if defined(INET) || defined(INET6) if ((ch->chunk_type != SCTP_INITIATION) && (net != NULL) && (net->port != port)) { @@ -5352,8 +5417,8 @@ sctp_common_input_processing(struct mbuf **mm, int iphlen, int offset, int lengt net->flowid = mflowid; } if (inp == NULL) { - SCTP_PROBE5(receive, NULL, stcb, m, stcb, sh); SCTP_STAT_INCR(sctps_noport); + SCTP_PROBE5(receive, NULL, stcb, m, stcb, sh); if (badport_bandlim(BANDLIM_SCTP_OOTB) < 0) { goto out; } diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index feb3fc31561d..97e89cb1396c 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -3969,6 +3969,7 @@ sctp_lowlevel_chunk_output(struct sctp_inpcb *inp, uint16_t port, union sctp_sockstore *over_addr, uint8_t mflowtype, uint32_t mflowid, + bool use_zero_crc, int so_locked) { /* nofragment_flag to tell if IP_DF should be set (IPv4 only) */ @@ -4203,15 +4204,23 @@ sctp_lowlevel_chunk_output(struct sctp_inpcb *inp, } SCTP_ATTACH_CHAIN(o_pak, m, packet_length); if (port) { - sctphdr->checksum = sctp_calculate_cksum(m, sizeof(struct ip) + sizeof(struct udphdr)); - SCTP_STAT_INCR(sctps_sendswcrc); + if (use_zero_crc) { + SCTP_STAT_INCR(sctps_sendzerocrc); + } else { + sctphdr->checksum = sctp_calculate_cksum(m, sizeof(struct ip) + sizeof(struct udphdr)); + SCTP_STAT_INCR(sctps_sendswcrc); + } if (V_udp_cksum) { SCTP_ENABLE_UDP_CSUM(o_pak); } } else { - m->m_pkthdr.csum_flags = CSUM_SCTP; - m->m_pkthdr.csum_data = offsetof(struct sctphdr, checksum); - SCTP_STAT_INCR(sctps_sendhwcrc); + if (use_zero_crc) { + SCTP_STAT_INCR(sctps_sendzerocrc); + } else { + m->m_pkthdr.csum_flags = CSUM_SCTP; + m->m_pkthdr.csum_data = offsetof(struct sctphdr, checksum); + SCTP_STAT_INCR(sctps_sendhwcrc); + } } #ifdef SCTP_PACKET_LOGGING if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LAST_PACKET_TRACING) @@ -4710,6 +4719,15 @@ sctp_send_initiate(struct sctp_inpcb *inp, struct sctp_tcb *stcb, int so_locked) chunk_len += parameter_len; } + /* Zero checksum acceptable parameter */ + if (stcb->asoc.zero_checksum > 0) { + parameter_len = (uint16_t)sizeof(struct sctp_paramhdr); + ph = (struct sctp_paramhdr *)(mtod(m, caddr_t)+chunk_len); + ph->param_type = htons(SCTP_ZERO_CHECKSUM_ACCEPTABLE); + ph->param_length = htons(parameter_len); + chunk_len += parameter_len; + } + /* Add NAT friendly parameter. */ if (SCTP_BASE_SYSCTL(sctp_inits_include_nat_friendly)) { parameter_len = (uint16_t)sizeof(struct sctp_paramhdr); @@ -4883,7 +4901,7 @@ sctp_send_initiate(struct sctp_inpcb *inp, struct sctp_tcb *stcb, int so_locked) inp->sctp_lport, stcb->rport, htonl(0), net->port, NULL, 0, 0, - so_locked))) { + false, so_locked))) { SCTPDBG(SCTP_DEBUG_OUTPUT4, "Gak send error %d\n", error); if (error == ENOBUFS) { stcb->asoc.ifp_had_enobuf = 1; @@ -5909,6 +5927,16 @@ do_a_abort: chunk_len += parameter_len; } + /* Zero checksum acceptable parameter */ + if (((asoc != NULL) && (asoc->zero_checksum > 0)) || + ((asoc == NULL) && (inp->zero_checksum == 1))) { + parameter_len = (uint16_t)sizeof(struct sctp_paramhdr); + ph = (struct sctp_paramhdr *)(mtod(m, caddr_t)+chunk_len); + ph->param_type = htons(SCTP_ZERO_CHECKSUM_ACCEPTABLE); + ph->param_length = htons(parameter_len); + chunk_len += parameter_len; + } + /* Add NAT friendly parameter */ if (nat_friendly) { parameter_len = (uint16_t)sizeof(struct sctp_paramhdr); @@ -6117,6 +6145,7 @@ do_a_abort: inp->sctp_lport, sh->src_port, init_chk->init.initiate_tag, port, over_addr, mflowtype, mflowid, + false, /* XXXMT: Improve this! */ SCTP_SO_NOT_LOCKED))) { SCTPDBG(SCTP_DEBUG_OUTPUT4, "Gak send error %d\n", error); if (error == ENOBUFS) { @@ -7784,6 +7813,7 @@ sctp_med_chunk_output(struct sctp_inpcb *inp, * destination. */ int quit_now = 0; + bool use_zero_crc; *num_out = 0; *reason_code = 0; @@ -8145,7 +8175,7 @@ again_one_more_time: htonl(stcb->asoc.peer_vtag), net->port, NULL, 0, 0, - so_locked))) { + false, so_locked))) { /* * error, we could not * output @@ -8167,6 +8197,7 @@ again_one_more_time: */ sctp_move_chunks_from_net(stcb, net); } + asconf = 0; *reason_code = 7; break; } else { @@ -8180,6 +8211,7 @@ again_one_more_time: outchain = endoutchain = NULL; auth = NULL; auth_offset = 0; + asconf = 0; if (!no_out_cnt) *num_out += ctl_cnt; /* recalc a clean slate and setup */ @@ -8391,8 +8423,10 @@ again_one_more_time: * flight size since this little guy * is a control only packet. */ + use_zero_crc = asoc->zero_checksum = 2; if (asconf) { sctp_timer_start(SCTP_TIMER_TYPE_ASCONF, inp, stcb, net); + use_zero_crc = false; /* * do NOT clear the asconf * flag as it is used to do @@ -8402,6 +8436,7 @@ again_one_more_time: } if (cookie) { sctp_timer_start(SCTP_TIMER_TYPE_COOKIE, inp, stcb, net); + use_zero_crc = false; cookie = 0; } /* Only HB or ASCONF advances time */ @@ -8423,7 +8458,7 @@ again_one_more_time: htonl(stcb->asoc.peer_vtag), net->port, NULL, 0, 0, - so_locked))) { + use_zero_crc, so_locked))) { /* * error, we could not * output @@ -8444,6 +8479,7 @@ again_one_more_time: */ sctp_move_chunks_from_net(stcb, net); } + asconf = 0; *reason_code = 7; break; } else { @@ -8457,6 +8493,7 @@ again_one_more_time: outchain = endoutchain = NULL; auth = NULL; auth_offset = 0; + asconf = 0; if (!no_out_cnt) *num_out += ctl_cnt; /* recalc a clean slate and setup */ @@ -8719,9 +8756,11 @@ no_data_fill: /* Is there something to send for this destination? */ if (outchain) { /* We may need to start a control timer or two */ + use_zero_crc = asoc->zero_checksum == 2; if (asconf) { sctp_timer_start(SCTP_TIMER_TYPE_ASCONF, inp, stcb, net); + use_zero_crc = false; /* * do NOT clear the asconf flag as it is * used to do appropriate source address @@ -8730,6 +8769,7 @@ no_data_fill: } if (cookie) { sctp_timer_start(SCTP_TIMER_TYPE_COOKIE, inp, stcb, net); + use_zero_crc = false; cookie = 0; } /* must start a send timer if data is being sent */ @@ -8764,6 +8804,7 @@ no_data_fill: htonl(stcb->asoc.peer_vtag), net->port, NULL, 0, 0, + use_zero_crc, so_locked))) { /* error, we could not output */ SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error); @@ -8781,6 +8822,7 @@ no_data_fill: */ sctp_move_chunks_from_net(stcb, net); } + asconf = 0; *reason_code = 6; /*- * I add this line to be paranoid. As far as @@ -8797,6 +8839,7 @@ no_data_fill: endoutchain = NULL; auth = NULL; auth_offset = 0; + asconf = 0; if (!no_out_cnt) { *num_out += (ctl_cnt + bundle_at); } @@ -9385,6 +9428,7 @@ sctp_chunk_retransmission(struct sctp_inpcb *inp, int override_ok = 1; int data_auth_reqd = 0; uint32_t dmtu = 0; + bool use_zero_crc; SCTP_TCB_LOCK_ASSERT(stcb); tmr_started = ctl_cnt = 0; @@ -9448,10 +9492,15 @@ sctp_chunk_retransmission(struct sctp_inpcb *inp, /* do we have control chunks to retransmit? */ if (m != NULL) { /* Start a timer no matter if we succeed or fail */ + use_zero_crc = asoc->zero_checksum == 2; if (chk->rec.chunk_id.id == SCTP_COOKIE_ECHO) { sctp_timer_start(SCTP_TIMER_TYPE_COOKIE, inp, stcb, chk->whoTo); - } else if (chk->rec.chunk_id.id == SCTP_ASCONF) + use_zero_crc = false; + } else if (chk->rec.chunk_id.id == SCTP_ASCONF) { + /* XXXMT: Can this happen? */ sctp_timer_start(SCTP_TIMER_TYPE_ASCONF, inp, stcb, chk->whoTo); + use_zero_crc = false; + } chk->snd_count++; /* update our count */ if ((error = sctp_lowlevel_chunk_output(inp, stcb, chk->whoTo, (struct sockaddr *)&chk->whoTo->ro._l_addr, m, @@ -9460,6 +9509,7 @@ sctp_chunk_retransmission(struct sctp_inpcb *inp, inp->sctp_lport, stcb->rport, htonl(stcb->asoc.peer_vtag), chk->whoTo->port, NULL, 0, 0, + use_zero_crc, so_locked))) { SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error); if (error == ENOBUFS) { @@ -9737,6 +9787,7 @@ one_chunk_around: inp->sctp_lport, stcb->rport, htonl(stcb->asoc.peer_vtag), net->port, NULL, 0, 0, + asoc->zero_checksum == 2, so_locked))) { /* error, we could not output */ SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error); @@ -10897,6 +10948,7 @@ sctp_send_abort_tcb(struct sctp_tcb *stcb, struct mbuf *operr, int so_locked) stcb->sctp_ep->sctp_lport, stcb->rport, htonl(vtag), stcb->asoc.primary_destination->port, NULL, 0, 0, + stcb->asoc.zero_checksum == 2, so_locked))) { SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error); if (error == ENOBUFS) { @@ -10945,6 +10997,7 @@ sctp_send_shutdown_complete(struct sctp_tcb *stcb, htonl(vtag), net->port, NULL, 0, 0, + stcb->asoc.zero_checksum == 2, SCTP_SO_NOT_LOCKED))) { SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error); if (error == ENOBUFS) { diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index fa6ad102f864..7567764bfd72 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -2433,6 +2433,7 @@ sctp_inpcb_alloc(struct socket *so, uint32_t vrf_id) inp->nrsack_supported = (uint8_t)SCTP_BASE_SYSCTL(sctp_nrsack_enable); inp->pktdrop_supported = (uint8_t)SCTP_BASE_SYSCTL(sctp_pktdrop_enable); inp->idata_supported = 0; + inp->zero_checksum = 0; inp->fibnum = so->so_fibnum; /* init the small hash table we use to track asocid <-> tcb */ @@ -6402,6 +6403,14 @@ sctp_load_addresses_from_init(struct sctp_tcb *stcb, struct mbuf *m, } else if (ptype == SCTP_PRSCTP_SUPPORTED) { /* Peer supports pr-sctp */ peer_supports_prsctp = 1; + } else if (ptype == SCTP_ZERO_CHECKSUM_ACCEPTABLE) { + /* + * Only send zero checksums if the upper layer has + * also enabled the support for this. + */ + if (stcb->asoc.zero_checksum == 1) { + stcb->asoc.zero_checksum = 2; + } } else if (ptype == SCTP_SUPPORTED_CHUNK_EXT) { /* A supported extension chunk */ struct sctp_supported_chunk_types_param *pr_supported; diff --git a/sys/netinet/sctp_pcb.h b/sys/netinet/sctp_pcb.h index fd8115a8101a..39d8b4e7013e 100644 --- a/sys/netinet/sctp_pcb.h +++ b/sys/netinet/sctp_pcb.h @@ -409,6 +409,7 @@ struct sctp_inpcb { uint8_t reconfig_supported; uint8_t nrsack_supported; uint8_t pktdrop_supported; + uint8_t zero_checksum; struct sctp_nonpad_sndrcvinfo def_send; /*- * These three are here for the sosend_dgram diff --git a/sys/netinet/sctp_structs.h b/sys/netinet/sctp_structs.h index e28c2265589d..504e9ad79fe3 100644 --- a/sys/netinet/sctp_structs.h +++ b/sys/netinet/sctp_structs.h @@ -1185,6 +1185,12 @@ struct sctp_association { uint8_t pktdrop_supported; uint8_t idata_supported; + /* + * Zero checksum supported information: 0: disabled 1: enabled for + * rcv 2: enabled for snd/rcv + */ + uint8_t zero_checksum; + /* Did the peer make the stream config (add out) request */ uint8_t peer_req_out; diff --git a/sys/netinet/sctp_sysctl.c b/sys/netinet/sctp_sysctl.c index fcc02f315a1b..b48aedf0b950 100644 --- a/sys/netinet/sctp_sysctl.c +++ b/sys/netinet/sctp_sysctl.c @@ -121,6 +121,7 @@ sctp_init_sysctls(void) SCTP_BASE_SYSCTL(sctp_blackhole) = SCTPCTL_BLACKHOLE_DEFAULT; SCTP_BASE_SYSCTL(sctp_sendall_limit) = SCTPCTL_SENDALL_LIMIT_DEFAULT; SCTP_BASE_SYSCTL(sctp_diag_info_code) = SCTPCTL_DIAG_INFO_CODE_DEFAULT; + SCTP_BASE_SYSCTL(sctp_ootb_with_zero_cksum) = SCTPCTL_OOTB_WITH_ZERO_CKSUM_DEFAULT; #if defined(SCTP_LOCAL_TRACE_BUF) memset(&SCTP_BASE_SYSCTL(sctp_log), 0, sizeof(struct sctp_log)); #endif @@ -828,6 +829,9 @@ sctp_sysctl_handle_stats(SYSCTL_HANDLER_ARGS) sb.sctps_send_burst_avoid += sarry->sctps_send_burst_avoid; sb.sctps_send_cwnd_avoid += sarry->sctps_send_cwnd_avoid; sb.sctps_fwdtsn_map_over += sarry->sctps_fwdtsn_map_over; + sb.sctps_queue_upd_ecne += sarry->sctps_queue_upd_ecne; + sb.sctps_recvzerocrc += sarry->sctps_recvzerocrc; + sb.sctps_sendzerocrc += sarry->sctps_sendzerocrc; if (req->newptr != NULL) { memcpy(sarry, &sb_temp, sizeof(struct sctpstat)); } @@ -970,6 +974,7 @@ SCTP_UINT_SYSCTL(use_dcccecn, sctp_use_dccc_ecn, SCTPCTL_RTTVAR_DCCCECN) SCTP_UINT_SYSCTL(blackhole, sctp_blackhole, SCTPCTL_BLACKHOLE) SCTP_UINT_SYSCTL(sendall_limit, sctp_sendall_limit, SCTPCTL_SENDALL_LIMIT) SCTP_UINT_SYSCTL(diag_info_code, sctp_diag_info_code, SCTPCTL_DIAG_INFO_CODE) +SCTP_UINT_SYSCTL(ootb_with_zero_cksum, sctp_ootb_with_zero_cksum, SCTPCTL_OOTB_WITH_ZERO_CKSUM) #ifdef SCTP_DEBUG SCTP_UINT_SYSCTL(debug, sctp_debug_on, SCTPCTL_DEBUG) #endif diff --git a/sys/netinet/sctp_sysctl.h b/sys/netinet/sctp_sysctl.h index 695cd743403b..12a7c5200b40 100644 --- a/sys/netinet/sctp_sysctl.h +++ b/sys/netinet/sctp_sysctl.h @@ -106,7 +106,6 @@ struct sctp_sysctl { uint32_t sctp_rttvar_eqret; uint32_t sctp_steady_step; uint32_t sctp_use_dccc_ecn; - uint32_t sctp_diag_info_code; #if defined(SCTP_LOCAL_TRACE_BUF) struct sctp_log sctp_log; #endif @@ -117,6 +116,8 @@ struct sctp_sysctl { uint32_t sctp_initial_cwnd; uint32_t sctp_blackhole; uint32_t sctp_sendall_limit; + uint32_t sctp_diag_info_code; + uint32_t sctp_ootb_with_zero_cksum; #if defined(SCTP_DEBUG) uint32_t sctp_debug_on; #endif @@ -546,6 +547,11 @@ struct sctp_sysctl { #define SCTPCTL_DIAG_INFO_CODE_MAX 65535 #define SCTPCTL_DIAG_INFO_CODE_DEFAULT 0 +#define SCTPCTL_OOTB_WITH_ZERO_CKSUM_DESC "Accept OOTB packets with zero checksum" +#define SCTPCTL_OOTB_WITH_ZERO_CKSUM_MIN 0 +#define SCTPCTL_OOTB_WITH_ZERO_CKSUM_MAX 1 +#define SCTPCTL_OOTB_WITH_ZERO_CKSUM_DEFAULT 0 + #if defined(SCTP_DEBUG) /* debug: Configure debug output */ #define SCTPCTL_DEBUG_DESC "Configure debug output" diff --git a/sys/netinet/sctp_uio.h b/sys/netinet/sctp_uio.h index 330a4529b039..e833b0ab33ae 100644 --- a/sys/netinet/sctp_uio.h +++ b/sys/netinet/sctp_uio.h @@ -1120,7 +1120,11 @@ struct sctpstat { * fwd-tsn's */ uint32_t sctps_queue_upd_ecne; /* Number of times we queued or * updated an ECN chunk on send queue */ - uint32_t sctps_reserved[31]; /* Future ABI compat - remove int's + uint32_t sctps_recvzerocrc; /* Number of accepted packets with + * zero CRC */ + uint32_t sctps_sendzerocrc; /* Number of packets sent with zero + * CRC */ + uint32_t sctps_reserved[29]; /* Future ABI compat - remove int's * from here when adding new */ }; diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c index d308b75aa90d..57d5abdebd30 100644 --- a/sys/netinet/sctp_usrreq.c +++ b/sys/netinet/sctp_usrreq.c @@ -6834,6 +6834,29 @@ sctp_setopt(struct socket *so, int optname, void *optval, size_t optsize, } break; } + case SCTP_ACCEPT_ZERO_CHECKSUM: + { + uint32_t *value; + + SCTP_CHECK_AND_CAST(value, optval, uint32_t, optsize); + SCTP_INP_WLOCK(inp); + if (*value == 0) { + /* + * Do not allow turning zero checksum + * acceptance off again, since this could + * result in inconsistent behaviour for + * listeners. + */ + if (inp->zero_checksum > 0) { + error = EINVAL; + } + } else { + inp->zero_checksum = 1; + } + SCTP_INP_WUNLOCK(inp); + break; + } + default: SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOPROTOOPT); error = ENOPROTOOPT; diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c index f4b6ca8c0836..8bb0f7446b68 100644 --- a/sys/netinet/sctputil.c +++ b/sys/netinet/sctputil.c @@ -1149,6 +1149,7 @@ sctp_init_asoc(struct sctp_inpcb *inp, struct sctp_tcb *stcb, asoc->nrsack_supported = inp->nrsack_supported; asoc->pktdrop_supported = inp->pktdrop_supported; asoc->idata_supported = inp->idata_supported; + asoc->zero_checksum = inp->zero_checksum; asoc->sctp_cmt_pf = (uint8_t)0; asoc->sctp_frag_point = inp->sctp_frag_point; asoc->sctp_features = inp->sctp_features; From nobody Fri Mar 10 01:19:14 2023 X-Original-To: dev-commits-src-main@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 4PXp9Z5GM7z3wsgq; Fri, 10 Mar 2023 01:19: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 4PXp9Z4mLPz3s1F; Fri, 10 Mar 2023 01:19:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678411154; 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=HOTZyRSNXUHhHLOl/M+KJCtkqU3M9m/0fJy3wlB/1GM=; b=KnGm80CSverGa1wsipxYJ7a9GGc8+G2ErsIh8xGvePv4/Yt/Y+G78JEHc/T8TPnWkVc/KB Ak31cxh5ebeRQZElT9/eNOZRLjb4zllLghCj6uBXd/N6eZEJh7l9PggJA9lAINxkS8PmgU AACFTLYcV1w7SHjKVIOc3jWByCv+nJ1qTqgDxqWr7aK9nieaEGMeHsq1E34szO5V4tGb7Q 9tezguEm0qOQjCcpEXR70b1YI9M4prchw+2sUmYrULTP/5mBp4SFlR1lgePtjkedX89++z YBdZ1SqdBrVd/is5xzELDX812Ukrwj82g6q2BrXhl0bVqmnkV1gC/lNWPV3tVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678411154; 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=HOTZyRSNXUHhHLOl/M+KJCtkqU3M9m/0fJy3wlB/1GM=; b=fSTG2E/3SYuMa2xo122juqdF6T5Ka3tTM2/iER+2ri78XhB1mDGk/p4GTP4i79ruy9KNEX oCdIHHzdaQFd5kRAZwsHZUxin/12UyEi1net6PrniE9ZGKY0m8yacsrlhEYuaveHZEaEj4 2KFwZRrAsVRn+PktHwzymrpPnFNVriQz13Wo3gY0yXte715og+YGteZANak9xWg1hfTMZ3 hF2vaPOiA/0U6NctB8lqZWglL7x+VFb0jkHzFDozD7myfYHn42azV+ZtoTyQ8ElYqi6581 MupkET+PZoNxl718dHBBQDjGT9zeleDGw3fHr17Qgph4oQsaWPgOTghRvtVqyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678411154; a=rsa-sha256; cv=none; b=MCuVBQD/IGLpqLxyKMlCUgo45MHI1nLD7RV01YJl0IOIvQFYdV9GmCkVzH2TKDQLd2ql9H cTs05cYrIqA79QBjKCnAFEiYSkl/Su6YScUTDrYINbBOBbKdML1198W9SZiEhdTSOya/y+ NYpv+eqpsL6CKIvooF+2hVUPZNsXfuRFeE1MIcUGein0BMRaJOIHKxLNLlVlgaTJBx/487 VME1X+Y1j5Nd02RTAQaJIH0XrQUIYV8PX6d2e6tT42HcGMDpyAMndm/IDH16pRiFHeCHQX jA/ED0lO3pJ1SSNTgSa+BkPMZWstS68LiHkxXXRy4qtYjzUHZb5GmtQB9CpmVg== 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 4PXp9Z3pMjzV5N; Fri, 10 Mar 2023 01:19:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32A1JEvk088046; Fri, 10 Mar 2023 01:19:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32A1JEGX088045; Fri, 10 Mar 2023 01:19:14 GMT (envelope-from git) Date: Fri, 10 Mar 2023 01:19:14 GMT Message-Id: <202303100119.32A1JEGX088045@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: 5abaf0866445 - main - heimdal: Fix CVE-2022-4152, signature validation error List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5abaf0866445a61c11665fffc148ecd13a7bb9ac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=5abaf0866445a61c11665fffc148ecd13a7bb9ac commit 5abaf0866445a61c11665fffc148ecd13a7bb9ac Author: Cy Schubert AuthorDate: 2023-03-10 01:03:52 +0000 Commit: Cy Schubert CommitDate: 2023-03-10 01:18:49 +0000 heimdal: Fix CVE-2022-4152, signature validation error When CVE-2022-3437 was fixed by changing memcmp to be a constant time and the workaround for th e compiler was to add "!=0". However the logic implmented was inverted resulting in CVE-2022-4152. Reported by: Timothy E Zingelman MFC after: 1 day Security: CVE-2022-4152 Security: https://www.cve.org/CVERecord?id=CVE-2022-45142 Security: https://nvd.nist.gov/vuln/detail/CVE-2022-45142 Security: https://security-tracker.debian.org/tracker/CVE-2022-45142 Security: https://bugs.gentoo.org/show_bug.cgi?id=CVE-2022-45142 Security: https://bugzilla.samba.org/show_bug.cgi?id=15296 Security: https://www.openwall.com/lists/oss-security/2023/02/08/1 --- crypto/heimdal/lib/gssapi/krb5/arcfour.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crypto/heimdal/lib/gssapi/krb5/arcfour.c b/crypto/heimdal/lib/gssapi/krb5/arcfour.c index 3b8d452877dd..7d1143c95d83 100644 --- a/crypto/heimdal/lib/gssapi/krb5/arcfour.c +++ b/crypto/heimdal/lib/gssapi/krb5/arcfour.c @@ -307,7 +307,7 @@ _gssapi_verify_mic_arcfour(OM_uint32 * minor_status, return GSS_S_FAILURE; } - cmp = (ct_memcmp(cksum_data, p + 8, 8) == 0); + cmp = (ct_memcmp(cksum_data, p + 8, 8) != 0); if (cmp) { *minor_status = 0; return GSS_S_BAD_MIC; @@ -695,7 +695,7 @@ OM_uint32 _gssapi_unwrap_arcfour(OM_uint32 *minor_status, return GSS_S_FAILURE; } - cmp = (ct_memcmp(cksum_data, p0 + 16, 8) == 0); /* SGN_CKSUM */ + cmp = (ct_memcmp(cksum_data, p0 + 16, 8) != 0); /* SGN_CKSUM */ if (cmp) { _gsskrb5_release_buffer(minor_status, output_message_buffer); *minor_status = 0; From nobody Fri Mar 10 02:11:00 2023 X-Original-To: dev-commits-src-main@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 4PXqKJ2cYbz3wwTy; Fri, 10 Mar 2023 02:11:00 +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 4PXqKJ29yLz3vlD; Fri, 10 Mar 2023 02:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678414260; 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=3jviVCqcNUhjJwThng3y6pm8XTjF6CKcMfmsof60/hg=; b=fzhQtDUTrffAZ4rU8Ep7Vz54V62CJe+9vMLghcAZlqUPLSeaMTWuIQWHBy9quoJDYxJzys HgQfKL2eu9GKfigS8/pkxyG9675r1dygQYtGzY01jvGP1191/z4rvO07fzDOWvJnAgASLO LfvoYDCnITGACEmQAdoQPRJAOSK/UHTWzMLCKVzMRCXClBTgPTY6EXx0osR3iiptSnWIT6 EtWbeqkan2HBMI09PujyXlaBO0xCAsqp3WV5bwirkHum2LlKuBeFZuknYvlX57oHDNeY7g kh0WiCjOZnwoZwfV49Gl/YOP8LxNzYx1jn6bTvBrWqGqgSmWW/tUSGkCcz6TPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678414260; 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=3jviVCqcNUhjJwThng3y6pm8XTjF6CKcMfmsof60/hg=; b=UfR+DaUTtPvit+kBBQnVLAl6Pc1YGYx325cVoT1wC8XLDim70LV9YWDLMCVpsTfmcPbljr 0pzgOnIgXwADKciGZ1XAPCfo2AG3+Mi1h+x/5puCL6ruuwoQCZydF9DrXg8p7AtoQY4YUK /fvYmv8N9atb9Ffr2gHUdcQPJRoCDWJZmcIOyVyfoQn4QxFukey5xJ36FuoRxDgzzJ6E0D yjtjIma0fCERO4WU7v99S66je7DIz/yQfV3qn3HEjNbl+QpBmL+Xutygk7PwGTaS19H6En LoOhYvKI378TExUEzwHbAckD4l1Ynjwh608+4dg+sXrCPWI+uM8YQIn1/5r9PQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678414260; a=rsa-sha256; cv=none; b=RJFopo6swfBzLUcQQHwuGLNqQIHqh7feSw8bS/NK3KIoWx44KlcWdll8zxYoWfghNf65wj VKOybcXQNMAAK6HH80u3I/BcChIupEpuXo5PHC94ydgMhRWGwjI0/RO38wlojQmUBbIGmd BKYWLWymyDk8/zD9WaCxHScoT/DxwKyKptmDKxko3Inxq+lruMLg8jFuyD++njxOA/kqkN aXiJOcBdRv0qCLKhnfL04GQ4eIcgN0aPzHClXodljPYGv5Wuvascs2C++DpKJa4LIgSeUm 9B9Xc9DN6kI94sJ0g4c/pl43An+FYRvHWeN1MDWPLCF6fHIRD+ZCVRwTGPqQPg== 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 4PXqKJ1DxRzWl2; Fri, 10 Mar 2023 02:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32A2B0pu080175; Fri, 10 Mar 2023 02:11:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32A2B0Mo080172; Fri, 10 Mar 2023 02:11:00 GMT (envelope-from git) Date: Fri, 10 Mar 2023 02:11:00 GMT Message-Id: <202303100211.32A2B0Mo080172@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: 75798f9b0105 - main - cap_*(2): Document ENOSYS behavior. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 75798f9b01055261881938326a5c77e55f79c7f7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=75798f9b01055261881938326a5c77e55f79c7f7 commit 75798f9b01055261881938326a5c77e55f79c7f7 Author: Xin LI AuthorDate: 2023-03-10 02:10:50 +0000 Commit: Xin LI CommitDate: 2023-03-10 02:10:50 +0000 cap_*(2): Document ENOSYS behavior. Summary: All cap_* system calls would fail when capability mode support is not present. MFC after: 2 weeks Reviewed by: emaste, pauamma Differential Revision: https://reviews.freebsd.org/D38976 --- lib/libc/sys/cap_enter.2 | 7 +++---- lib/libc/sys/cap_fcntls_limit.2 | 5 ++++- lib/libc/sys/cap_ioctls_limit.2 | 29 ++++++++++++++--------------- lib/libc/sys/cap_rights_limit.2 | 5 ++++- 4 files changed, 25 insertions(+), 21 deletions(-) diff --git a/lib/libc/sys/cap_enter.2 b/lib/libc/sys/cap_enter.2 index 428e0b0bcd09..56fc78a4b4f2 100644 --- a/lib/libc/sys/cap_enter.2 +++ b/lib/libc/sys/cap_enter.2 @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 5, 2020 +.Dd March 9, 2023 .Dt CAP_ENTER 2 .Os .Sh NAME @@ -113,9 +113,8 @@ system calls will fail if: .Bl -tag -width Er .It Bq Er ENOSYS -The kernel is compiled without: -.Pp -.Cd "options CAPABILITY_MODE" +The running kernel was compiled without +.Cd "options CAPABILITY_MODE" . .El .Pp The diff --git a/lib/libc/sys/cap_fcntls_limit.2 b/lib/libc/sys/cap_fcntls_limit.2 index eb223ac5d512..f5d64e7a4273 100644 --- a/lib/libc/sys/cap_fcntls_limit.2 +++ b/lib/libc/sys/cap_fcntls_limit.2 @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 5, 2020 +.Dd March 9, 2023 .Dt CAP_FCNTLS_LIMIT 2 .Os .Sh NAME @@ -110,6 +110,9 @@ argument is not a valid descriptor. The .Fa fcntlrightsp argument points at an invalid address. +.It Bq Er ENOSYS +The running kernel was compiled without +.Cd "options CAPABILITY_MODE" . .El .Sh SEE ALSO .Xr cap_ioctls_limit 2 , diff --git a/lib/libc/sys/cap_ioctls_limit.2 b/lib/libc/sys/cap_ioctls_limit.2 index 6014db6fb485..06cf13590ff9 100644 --- a/lib/libc/sys/cap_ioctls_limit.2 +++ b/lib/libc/sys/cap_ioctls_limit.2 @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 5, 2020 +.Dd March 9, 2023 .Dt CAP_IOCTLS_LIMIT 2 .Os .Sh NAME @@ -109,8 +109,11 @@ On failure the value .Va -1 is returned and the global variable errno is set to indicate the error. .Sh ERRORS +The .Fn cap_ioctls_limit -succeeds unless: +and +.Fn cap_ioctls_get +system calls will fail if: .Bl -tag -width Er .It Bq Er EBADF The @@ -120,6 +123,15 @@ argument is not a valid descriptor. The .Fa cmds argument points at an invalid address. +.It Bq Er ENOSYS +The running kernel was compiled without +.Cd "options CAPABILITY_MODE" . +.El +.Pp +The +.Fn cap_ioctls_limit +system call may also return the following errors: +.Bl -tag -width Er .It Bq Er EINVAL The .Fa ncmds @@ -131,19 +143,6 @@ would expand the list of allowed .Xr ioctl 2 commands. .El -.Pp -.Fn cap_ioctls_get -succeeds unless: -.Bl -tag -width Er -.It Bq Er EBADF -The -.Fa fd -argument is not a valid descriptor. -.It Bq Er EFAULT -The -.Fa cmds -argument points at invalid address. -.El .Sh SEE ALSO .Xr cap_fcntls_limit 2 , .Xr cap_rights_limit 2 , diff --git a/lib/libc/sys/cap_rights_limit.2 b/lib/libc/sys/cap_rights_limit.2 index 37f311143a28..f08d5520b66e 100644 --- a/lib/libc/sys/cap_rights_limit.2 +++ b/lib/libc/sys/cap_rights_limit.2 @@ -32,7 +32,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 5, 2020 +.Dd March 9, 2023 .Dt CAP_RIGHTS_LIMIT 2 .Os .Sh NAME @@ -120,6 +120,9 @@ argument is not a valid active descriptor. .It Bq Er EINVAL An invalid right has been requested in .Fa rights . +.It Bq Er ENOSYS +The running kernel was compiled without +.Cd "options CAPABILITY_MODE" . .It Bq Er ENOTCAPABLE The .Fa rights From nobody Fri Mar 10 05:35:04 2023 X-Original-To: dev-commits-src-main@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 4PXvrn12Gcz3x6nL; Fri, 10 Mar 2023 05:35:05 +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 4PXvrn0Ty2z4667; Fri, 10 Mar 2023 05:35:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678426505; 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=v8gBE4l0a7uaYuYY6eBcNNUJctML9BGP6Qi1FoGD5i8=; b=GDqo+c8A/gyfBeEgcsJFD7XmdrRYPawjU/rlN9Y5cBZGUTiYsFOukRJw8HMLGPrhQE57L+ 1jJ5GokIkfjnoFl9AxD2Ma1FJIGJInaZ3zmNfN2XjELTmACLpdUKcp78AMIwRfWChx0nw+ BewxSHjCCH905b47kX576KUZiVRTplUH5BKPIDu4L9DL0I7MO7qxWjvOl/1JxCCSnFa81a S86N6WBHQI3H5Qu34HPoWr6TGc5LUUJEhtpZq/slUewpYqHKpXxkyv+WBlSKzJGnI7QcuD IreS1rX6BQNylY4/2aOUbucKvy65l0aeSIJLChHDD08ndntznH35Dnao2jySzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678426505; 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=v8gBE4l0a7uaYuYY6eBcNNUJctML9BGP6Qi1FoGD5i8=; b=aP2LBorfLWbLHX+6OYzVM/XfV/XnetD8gZFGeEZURIFN7Y7j4LaaxfyTb36E0KRbHw+qxX DBbJWlz2RJ2jZZgpgZZ+FD+yEBFImbdvoJc+91/8Eom4L1K0vxMbtj1FZWjUtMBFU8xeIG nkPtWFQjWomDwKhUFwhxhuVnedE9wavIFs2Xmef13WU71CaEZ+wWGay5FebKnjo0UPVE0l Oi66iMkAjFakHhXMtP0Wss22FtLww2T4BZBFf02IEPM6AuYN6z4/2uk0Im3JPZOJMMz8jL L6PhEtMRlDmH0BhjQpkEBx7fSB6QSuKuG+11FzYlZgn9ZgIStq0bs2WJe+utnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678426505; a=rsa-sha256; cv=none; b=p86kYULXXBAzDbpo4qSBEMoG0zrZucJmVQLjybq4Y0fRrgGt+cpWtCJ+7ZP2W7bDzoimVi 6NrdCbRDo4DcnJnONwAC3Zgcp96C7JBRYK4kD5hL98mBG8fASVnfad914lgDlwhX40r6/W 2CT6J6fMGAscxrBZvyxRMcE3nM04W4X9yJaMNXv93HmabEWYwgIRc+Oa68QhSMXqTi0g4T 4FD8du3MCFNDkGMZ6ZW586JWnc2htRWzBKKAqXUI45LsP1VDFXeUxv2Q4Hemfa2EobV8sV JWc3B3NNZ/GCwP3SjTkkzsbtP8kFo+6qKikIVBPRFfPF0L30dRewjgZ5qyEQ4Q== 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 4PXvrm6fy9zcxv; Fri, 10 Mar 2023 05:35:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32A5Z41X015316; Fri, 10 Mar 2023 05:35:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32A5Z4xt015315; Fri, 10 Mar 2023 05:35:04 GMT (envelope-from git) Date: Fri, 10 Mar 2023 05:35:04 GMT Message-Id: <202303100535.32A5Z4xt015315@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: cc0fe048ec39 - main - kern: physmem: don't create a new exregion for different flags... List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cc0fe048ec39636216ed59fa47eb311b2537cfc5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=cc0fe048ec39636216ed59fa47eb311b2537cfc5 commit cc0fe048ec39636216ed59fa47eb311b2537cfc5 Author: Kyle Evans AuthorDate: 2023-03-10 05:27:39 +0000 Commit: Kyle Evans CommitDate: 2023-03-10 05:27:39 +0000 kern: physmem: don't create a new exregion for different flags... ... if the region we're adding is an exact match to one that we already have. Simply extend the flags of the existing entry as needed so that we don't end up with duplicate regions. It could be that we got the exclusion through two different means, e.g., FDT memreserve and the EFI memory map, and we may derive different characteristics from each. Apply the most restrictive set to the region. Reported by: Mark Millard Reviewed by: mhorne --- sys/kern/subr_physmem.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/sys/kern/subr_physmem.c b/sys/kern/subr_physmem.c index 1fb617078625..b76d25ed1ae2 100644 --- a/sys/kern/subr_physmem.c +++ b/sys/kern/subr_physmem.c @@ -376,8 +376,8 @@ insert_region(struct region *regions, size_t rcnt, vm_paddr_t addr, nend = addr + size; ep = regions + rcnt; for (i = 0, rp = regions; i < rcnt; ++i, ++rp) { + rend = rp->addr + rp->size; if (flags == rp->flags) { - rend = rp->addr + rp->size; if (addr <= rp->addr && nend >= rp->addr) { /* * New mapping overlaps at the beginning, shift @@ -404,7 +404,20 @@ insert_region(struct region *regions, size_t rcnt, vm_paddr_t addr, } return (rcnt); } + } else if ((flags != 0) && (rp->flags != 0)) { + /* + * If we're duplicating an entry that already exists + * exactly, just upgrade its flags as needed. We could + * do more if we find that we have differently specified + * flags clipping existing excluding regions, but that's + * probably rare. + */ + if (addr == rp->addr && nend == rend) { + rp->flags |= flags; + return (rcnt); + } } + if (addr < rp->addr) { bcopy(rp, rp + 1, (ep - rp) * sizeof(*rp)); break; From nobody Fri Mar 10 10:34:18 2023 X-Original-To: dev-commits-src-main@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 4PY2V25Xqgz3xNYD; Fri, 10 Mar 2023 10:34:18 +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 4PY2V25My1z4Q6V; Fri, 10 Mar 2023 10:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678444458; 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=GGgugD4RWqJYO/9G1Y8mDup0v0SOhTpF/eniog0lyD4=; b=gq506T9k9QOllw1KErYmRt78Enc2EzvELIpNWW/4ih7eVDaLMrDZEq2D0VIfvDYu39xlOK QtK2w94U7Ovm9sth+ERZqPzVEHpY/k50FWO0DmOFeAJp86EfAADqBD4o1EylTE8ucr0y6M LFdq2JEN4prqZMB32RGG5MTYaSM6Navq/BJ/ENSllgZ7LJlCHJaO1nugzGKncYxhPkbrX2 kgzTQegXrjwiooXJW3Ctt6yBuVrG3Zsx/EFKCKxukrPoCW7yJFeVu7qBQPjUZj+hRQm3LT BYeuvGoKpJllGvl3VDi77P6kUDlMKjygZWsq4urPmhizX4xG9Ek8ZpNRCMc5MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678444458; 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=GGgugD4RWqJYO/9G1Y8mDup0v0SOhTpF/eniog0lyD4=; b=cS5pt/kS7KNDju7fKAHlG1GisasMoq9k36aLzJ3FjdCSbN131tq1Qh65d+uK5S3vpvrO/y eCGYCR7e7gnRfkTcrZItVpB+y/QUuNAPZJtiJ/3T+321qlMIbJQCnTlA9HZhTUmoOG8/3C fUFZ2S1odqV4y23CzgAYkohRmwkwswUUBkp6eUXg05zD2GNXe67RmCKT6dXXSIqBZklcFE /hMCY+qQzQhY7nu9IaiyvZ9Uc3GlfWUJaqW8tEp0+1naqH0uvWx/nuepIJTfT23mUcfiCA ou5ipkJLueDlK0UT4n3TbkKbyjJjBbznw/nWe5GolVsTxvGWpHJpAIh8KTkKlw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678444458; a=rsa-sha256; cv=none; b=YOUIvwtCi1yt8Ft8pcexgbC/ihNtqpHJF1X6fP4aegGF2YrAHlPHrYpUyBecIFBl8t/gSR kBmQ5rzRz0FwbRkhHTB6d3pXB2a5J5UnfTYgnK3m13UpaYlx9rL2ArokHAih85QENKErCd CAPszCVPaQLySH61EKmbtfUIEvKnEnOWmN2lwUZKQATgPIUOjZ4+Py57wEUTAf1cNKIKGU KpO1b3a6v6TY53hF8wyjcNtQfB7p9g+puZMYHMh0vEKpucrN2ZFGTNPaUYdHH7ZKnXbJF4 V/eiPu85/GV6s5G4hWil3ODrrEuSFzyGpEghEF6Bwtfi5/+Dek8iOu0eWL5/sw== 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 4PY2V24QQCzlTR; Fri, 10 Mar 2023 10:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32AAYIVi009186; Fri, 10 Mar 2023 10:34:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32AAYI1H009185; Fri, 10 Mar 2023 10:34:18 GMT (envelope-from git) Date: Fri, 10 Mar 2023 10:34:18 GMT Message-Id: <202303101034.32AAYI1H009185@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Stefan=20E=C3=9Fer?= Subject: git: 175a4d10428e - main - contrib/bc: update to version 6.4.0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 175a4d10428e1c2f26f1426003757daf25d4726f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=175a4d10428e1c2f26f1426003757daf25d4726f commit 175a4d10428e1c2f26f1426003757daf25d4726f Author: Stefan Eßer AuthorDate: 2023-03-10 10:33:33 +0000 Commit: Stefan Eßer CommitDate: 2023-03-10 10:33:33 +0000 contrib/bc: update to version 6.4.0 This version contains a fix for an issue that can affect complex bc scripts that use multiple read() functions that receive input from an interactive user. The same value could be returned multiple times. MFC after: 2 weeks --- contrib/bc/Makefile.in | 2 +- contrib/bc/NEWS.md | 19 ++ contrib/bc/configure.sh | 2 +- contrib/bc/include/bcl.h | 51 +++ contrib/bc/include/library.h | 210 ++++++++++-- contrib/bc/include/program.h | 210 +++++------- contrib/bc/include/version.h | 2 +- contrib/bc/include/vm.h | 4 + contrib/bc/manuals/bcl.3 | 422 +++++++++++++++++++++++- contrib/bc/manuals/bcl.3.md | 320 ++++++++++++++++++- contrib/bc/src/data.c | 75 +++-- contrib/bc/src/library.c | 739 ++++++++++++++++++++++++++++++------------- contrib/bc/src/program.c | 13 +- contrib/bc/src/vm.c | 2 + contrib/bc/tests/bcl.c | 52 ++- contrib/bc/tests/read.sh | 13 + 16 files changed, 1693 insertions(+), 443 deletions(-) diff --git a/contrib/bc/Makefile.in b/contrib/bc/Makefile.in index 89ddb7589c47..f936fc2c6de6 100644 --- a/contrib/bc/Makefile.in +++ b/contrib/bc/Makefile.in @@ -536,7 +536,6 @@ clean:%%CLEAN_PREREQS%% @$(RM) -f $(BC_HELP_C) $(BC_HELP_O) @$(RM) -f $(DC_HELP_C) $(DC_HELP_O) @$(RM) -fr vs/bin/ vs/lib/ - @$(RM) -f $(BCL_PC) clean_benchmarks: @printf 'Cleaning benchmarks...\n' @@ -550,6 +549,7 @@ clean_config: clean clean_benchmarks @$(RM) -f $(BC_MD) $(BC_MANPAGE) @$(RM) -f $(DC_MD) $(DC_MANPAGE) @$(RM) -f compile_commands.json + @$(RM) -f $(BCL_PC) clean_coverage: @printf 'Cleaning coverage files...\n' diff --git a/contrib/bc/NEWS.md b/contrib/bc/NEWS.md index ad118e401c32..6dff6822fb16 100644 --- a/contrib/bc/NEWS.md +++ b/contrib/bc/NEWS.md @@ -1,5 +1,24 @@ # News +## 6.4.0 + +This is a production release that fixes a `read()`/`?` bug and adds features to +`bcl`. + +The bug was that multiple read calls could repeat old data. + +The new features in `bcl` are functions to preserve `BclNumber` arguments and +not free them. + +***WARNING for `bcl` Users***: The `bcl_rand_seedWithNum()` function used to not +consume its arguments. Now it does. This change could have made this version +`7.0.0`, but I'm 99.9% confident that there are no `bcl` users, or if there are, +they probably don't use the PRNG. So I took a risk and didn't update the major +version. + +`bcl` now includes more capacity to check for invalid numbers when built to run +under Valgrind. + ## 6.3.1 This is a production release that fixes a `bc` dependency loop for minimal diff --git a/contrib/bc/configure.sh b/contrib/bc/configure.sh index 3ada5298e9ed..021d30807ffb 100755 --- a/contrib/bc/configure.sh +++ b/contrib/bc/configure.sh @@ -1801,7 +1801,7 @@ if [ "$library" -ne 0 ]; then contents=$(replace "$contents" "LIBDIR" "$LIBDIR") contents=$(replace "$contents" "VERSION" "$version") - printf '%s\n' "$contents" > "./bcl.pc" + printf '%s\n' "$contents" > "$scriptdir/bcl.pc" pkg_config_install="\$(SAFE_INSTALL) \$(PC_INSTALL_ARGS) \"\$(BCL_PC)\" \"\$(DESTDIR)\$(PC_PATH)/\$(BCL_PC)\"" pkg_config_uninstall="\$(RM) -f \"\$(DESTDIR)\$(PC_PATH)/\$(BCL_PC)\"" diff --git a/contrib/bc/include/bcl.h b/contrib/bc/include/bcl.h index 253138231c66..0908e215182c 100644 --- a/contrib/bc/include/bcl.h +++ b/contrib/bc/include/bcl.h @@ -36,6 +36,9 @@ #ifndef BC_BCL_H #define BC_BCL_H +// TODO: Add a generation index when building with Valgrind to check for +// use-after-free's or double frees. + #include #include #include @@ -238,42 +241,78 @@ bcl_dup(BclNumber s); BclError bcl_bigdig(BclNumber n, BclBigDig* result); +BclError +bcl_bigdig_keep(BclNumber n, BclBigDig* result); + BclNumber bcl_bigdig2num(BclBigDig val); BclNumber bcl_add(BclNumber a, BclNumber b); +BclNumber +bcl_add_keep(BclNumber a, BclNumber b); + BclNumber bcl_sub(BclNumber a, BclNumber b); +BclNumber +bcl_sub_keep(BclNumber a, BclNumber b); + BclNumber bcl_mul(BclNumber a, BclNumber b); +BclNumber +bcl_mul_keep(BclNumber a, BclNumber b); + BclNumber bcl_div(BclNumber a, BclNumber b); +BclNumber +bcl_div_keep(BclNumber a, BclNumber b); + BclNumber bcl_mod(BclNumber a, BclNumber b); +BclNumber +bcl_mod_keep(BclNumber a, BclNumber b); + BclNumber bcl_pow(BclNumber a, BclNumber b); +BclNumber +bcl_pow_keep(BclNumber a, BclNumber b); + BclNumber bcl_lshift(BclNumber a, BclNumber b); +BclNumber +bcl_lshift_keep(BclNumber a, BclNumber b); + BclNumber bcl_rshift(BclNumber a, BclNumber b); +BclNumber +bcl_rshift_keep(BclNumber a, BclNumber b); + BclNumber bcl_sqrt(BclNumber a); +BclNumber +bcl_sqrt_keep(BclNumber a); + BclError bcl_divmod(BclNumber a, BclNumber b, BclNumber* c, BclNumber* d); +BclError +bcl_divmod_keep(BclNumber a, BclNumber b, BclNumber* c, BclNumber* d); + BclNumber bcl_modexp(BclNumber a, BclNumber b, BclNumber c); +BclNumber +bcl_modexp_keep(BclNumber a, BclNumber b, BclNumber c); + ssize_t bcl_cmp(BclNumber a, BclNumber b); @@ -289,18 +328,30 @@ bcl_parse(const char* restrict val); char* bcl_string(BclNumber n); +char* +bcl_string_keep(BclNumber n); + BclNumber bcl_irand(BclNumber a); +BclNumber +bcl_irand_keep(BclNumber a); + BclNumber bcl_frand(size_t places); BclNumber bcl_ifrand(BclNumber a, size_t places); +BclNumber +bcl_ifrand_keep(BclNumber a, size_t places); + BclError bcl_rand_seedWithNum(BclNumber n); +BclError +bcl_rand_seedWithNum_keep(BclNumber n); + BclError bcl_rand_seed(unsigned char seed[BCL_SEED_SIZE]); diff --git a/contrib/bc/include/library.h b/contrib/bc/include/library.h index 76df91392da1..1edd3757444c 100644 --- a/contrib/bc/include/library.h +++ b/contrib/bc/include/library.h @@ -47,6 +47,145 @@ #include #include +#if BC_ENABLE_MEMCHECK + +/** + * A typedef for Valgrind builds. This is to add a generation index for error + * checking. + */ +typedef struct BclNum +{ + /// The number. + BcNum n; + + /// The generation index. + size_t gen_idx; + +} BclNum; + +/** + * Clears the generation byte in a BclNumber and returns the value. + * @param n The BclNumber. + * @return The value of the index. + */ +#define BCL_NO_GEN(n) \ + ((n).i & ~(((size_t) UCHAR_MAX) << ((sizeof(size_t) - 1) * CHAR_BIT))) + +/** + * Gets the generation index in a BclNumber. + * @param n The BclNumber. + * @return The generation index. + */ +#define BCL_GET_GEN(n) ((n).i >> ((sizeof(size_t) - 1) * CHAR_BIT)) + +/** + * Turns a BclNumber into a BcNum. + * @param c The context. + * @param n The BclNumber. + */ +#define BCL_NUM(c, n) ((BclNum*) bc_vec_item(&(c)->nums, BCL_NO_GEN(n))) + +/** + * Clears the generation index top byte in the BclNumber. + * @param n The BclNumber. + */ +#define BCL_CLEAR_GEN(n) \ + do \ + { \ + (n).i &= ~(((size_t) UCHAR_MAX) << ((sizeof(size_t) - 1) * CHAR_BIT)); \ + } \ + while (0) + +#define BCL_CHECK_NUM_GEN(c, bn) \ + do \ + { \ + size_t gen_ = BCL_GET_GEN(bn); \ + BclNum* ptr_ = BCL_NUM(c, bn); \ + if (BCL_NUM_ARRAY(ptr_) == NULL) \ + { \ + bcl_nonexistentNum(); \ + } \ + if (gen_ != ptr_->gen_idx) \ + { \ + bcl_invalidGeneration(); \ + } \ + } \ + while (0) + +#define BCL_CHECK_NUM_VALID(c, bn) \ + do \ + { \ + size_t idx_ = BCL_NO_GEN(bn); \ + if ((c)->nums.len <= idx_) \ + { \ + bcl_numIdxOutOfRange(); \ + } \ + BCL_CHECK_NUM_GEN(c, bn); \ + } \ + while (0) + +/** + * Returns the limb array of the number. + * @param bn The number. + * @return The limb array. + */ +#define BCL_NUM_ARRAY(bn) ((bn)->n.num) + +/** + * Returns the limb array of the number for a non-pointer. + * @param bn The number. + * @return The limb array. + */ +#define BCL_NUM_ARRAY_NP(bn) ((bn).n.num) + +/** + * Returns the BcNum pointer. + * @param bn The number. + * @return The BcNum pointer. + */ +#define BCL_NUM_NUM(bn) (&(bn)->n) + +/** + * Returns the BcNum pointer for a non-pointer. + * @param bn The number. + * @return The BcNum pointer. + */ +#define BCL_NUM_NUM_NP(bn) (&(bn).n) + +// These functions only abort. They exist to give developers some idea of what +// went wrong when bugs are found, if they look at the Valgrind stack trace. + +BC_NORETURN void +bcl_invalidGeneration(void); + +BC_NORETURN void +bcl_nonexistentNum(void); + +BC_NORETURN void +bcl_numIdxOutOfRange(void); + +#else // BC_ENABLE_MEMCHECK + +/** + * A typedef for non-Valgrind builds. + */ +typedef BcNum BclNum; + +#define BCL_NO_GEN(n) ((n).i) +#define BCL_NUM(c, n) ((BclNum*) bc_vec_item(&(c)->nums, (n).i)) +#define BCL_CLEAR_GEN(n) ((void) (n)) + +#define BCL_CHECK_NUM_GEN(c, bn) +#define BCL_CHECK_NUM_VALID(c, n) + +#define BCL_NUM_ARRAY(bn) ((bn)->num) +#define BCL_NUM_ARRAY_NP(bn) ((bn).num) + +#define BCL_NUM_NUM(bn) (bn) +#define BCL_NUM_NUM_NP(bn) (&(bn)) + +#endif // BC_ENABLE_MEMCHECK + /** * A header that sets a jump. * @param vm The thread data. @@ -88,19 +227,19 @@ * idx. * @param c The context. * @param e The error. - * @param n The number. + * @param bn The number. * @param idx The idx to set as the return value. */ -#define BC_MAYBE_SETUP(c, e, n, idx) \ - do \ - { \ - if (BC_ERR((e) != BCL_ERROR_NONE)) \ - { \ - if ((n).num != NULL) bc_num_free(&(n)); \ - idx.i = 0 - (size_t) (e); \ - } \ - else idx = bcl_num_insert(c, &(n)); \ - } \ +#define BC_MAYBE_SETUP(c, e, bn, idx) \ + do \ + { \ + if (BC_ERR((e) != BCL_ERROR_NONE)) \ + { \ + if (BCL_NUM_ARRAY_NP(bn) != NULL) bc_num_free(BCL_NUM_NUM_NP(bn)); \ + idx.i = 0 - (size_t) (e); \ + } \ + else idx = bcl_num_insert(c, &(bn)); \ + } \ while (0) /** @@ -108,17 +247,17 @@ * is bad. * @param c The context. */ -#define BC_CHECK_CTXT(vm, c) \ - do \ - { \ - c = bcl_contextHelper(vm); \ - if (BC_ERR(c == NULL)) \ - { \ - BclNumber n_num; \ - n_num.i = 0 - (size_t) BCL_ERROR_INVALID_CONTEXT; \ - return n_num; \ - } \ - } \ +#define BC_CHECK_CTXT(vm, c) \ + do \ + { \ + c = bcl_contextHelper(vm); \ + if (BC_ERR(c == NULL)) \ + { \ + BclNumber n_num_; \ + n_num_.i = 0 - (size_t) BCL_ERROR_INVALID_CONTEXT; \ + return n_num_; \ + } \ + } \ while (0) /** @@ -157,16 +296,18 @@ #define BC_CHECK_NUM(c, n) \ do \ { \ - if (BC_ERR((n).i >= (c)->nums.len)) \ + size_t no_gen_ = BCL_NO_GEN(n); \ + if (BC_ERR(no_gen_ >= (c)->nums.len)) \ { \ if ((n).i > 0 - (size_t) BCL_ERROR_NELEMS) return (n); \ else \ { \ - BclNumber n_num; \ - n_num.i = 0 - (size_t) BCL_ERROR_INVALID_NUM; \ - return n_num; \ + BclNumber n_num_; \ + n_num_.i = 0 - (size_t) BCL_ERROR_INVALID_NUM; \ + return n_num_; \ } \ } \ + BCL_CHECK_NUM_GEN(c, n); \ } \ while (0) @@ -181,7 +322,8 @@ #define BC_CHECK_NUM_ERR(c, n) \ do \ { \ - if (BC_ERR((n).i >= (c)->nums.len)) \ + size_t no_gen_ = BCL_NO_GEN(n); \ + if (BC_ERR(no_gen_ >= (c)->nums.len)) \ { \ if ((n).i > 0 - (size_t) BCL_ERROR_NELEMS) \ { \ @@ -189,17 +331,25 @@ } \ else return BCL_ERROR_INVALID_NUM; \ } \ + BCL_CHECK_NUM_GEN(c, n); \ } \ while (0) //clang-format on /** - * Turns a BclNumber into a BcNum. + * Grows the context's nums array if necessary. * @param c The context. - * @param n The BclNumber. */ -#define BC_NUM(c, n) ((BcNum*) bc_vec_item(&(c)->nums, (n).i)) +#define BCL_GROW_NUMS(c) \ + do \ + { \ + if ((c)->free_nums.len == 0) \ + { \ + bc_vec_grow(&((c)->nums), 1); \ + } \ + } \ + while (0) /** * Frees a BcNum for bcl. This is a destructor. diff --git a/contrib/bc/include/program.h b/contrib/bc/include/program.h index ff32d5db7760..1df753afad22 100644 --- a/contrib/bc/include/program.h +++ b/contrib/bc/include/program.h @@ -904,148 +904,82 @@ extern const char bc_program_esc_seqs[]; #if BC_ENABLE_EXTRA_MATH -#define BC_PROG_LBLS \ - static const void* const bc_program_inst_lbls[] = { \ - &&lbl_BC_INST_NEG, \ - &&lbl_BC_INST_BOOL_NOT, \ - &&lbl_BC_INST_TRUNC, \ - &&lbl_BC_INST_POWER, \ - &&lbl_BC_INST_MULTIPLY, \ - &&lbl_BC_INST_DIVIDE, \ - &&lbl_BC_INST_MODULUS, \ - &&lbl_BC_INST_PLUS, \ - &&lbl_BC_INST_MINUS, \ - &&lbl_BC_INST_PLACES, \ - &&lbl_BC_INST_LSHIFT, \ - &&lbl_BC_INST_RSHIFT, \ - &&lbl_BC_INST_REL_EQ, \ - &&lbl_BC_INST_REL_LE, \ - &&lbl_BC_INST_REL_GE, \ - &&lbl_BC_INST_REL_NE, \ - &&lbl_BC_INST_REL_LT, \ - &&lbl_BC_INST_REL_GT, \ - &&lbl_BC_INST_BOOL_OR, \ - &&lbl_BC_INST_BOOL_AND, \ - &&lbl_BC_INST_ASSIGN_NO_VAL, \ - &&lbl_BC_INST_NUM, \ - &&lbl_BC_INST_VAR, \ - &&lbl_BC_INST_ARRAY_ELEM, \ - &&lbl_BC_INST_ARRAY, \ - &&lbl_BC_INST_ZERO, \ - &&lbl_BC_INST_ONE, \ - &&lbl_BC_INST_IBASE, \ - &&lbl_BC_INST_OBASE, \ - &&lbl_BC_INST_SCALE, \ - &&lbl_BC_INST_SEED, \ - &&lbl_BC_INST_LENGTH, \ - &&lbl_BC_INST_SCALE_FUNC, \ - &&lbl_BC_INST_SQRT, \ - &&lbl_BC_INST_ABS, \ - &&lbl_BC_INST_IS_NUMBER, \ - &&lbl_BC_INST_IS_STRING, \ - &&lbl_BC_INST_IRAND, \ - &&lbl_BC_INST_ASCIIFY, \ - &&lbl_BC_INST_READ, \ - &&lbl_BC_INST_RAND, \ - &&lbl_BC_INST_MAXIBASE, \ - &&lbl_BC_INST_MAXOBASE, \ - &&lbl_BC_INST_MAXSCALE, \ - &&lbl_BC_INST_MAXRAND, \ - &&lbl_BC_INST_LINE_LENGTH, \ - &&lbl_BC_INST_LEADING_ZERO, \ - &&lbl_BC_INST_PRINT, \ - &&lbl_BC_INST_PRINT_POP, \ - &&lbl_BC_INST_STR, \ - &&lbl_BC_INST_POP, \ - &&lbl_BC_INST_SWAP, \ - &&lbl_BC_INST_MODEXP, \ - &&lbl_BC_INST_DIVMOD, \ - &&lbl_BC_INST_PRINT_STREAM, \ - &&lbl_BC_INST_EXTENDED_REGISTERS, \ - &&lbl_BC_INST_POP_EXEC, \ - &&lbl_BC_INST_EXECUTE, \ - &&lbl_BC_INST_EXEC_COND, \ - &&lbl_BC_INST_PRINT_STACK, \ - &&lbl_BC_INST_CLEAR_STACK, \ - &&lbl_BC_INST_REG_STACK_LEN, \ - &&lbl_BC_INST_STACK_LEN, \ - &&lbl_BC_INST_DUPLICATE, \ - &&lbl_BC_INST_LOAD, \ - &&lbl_BC_INST_PUSH_VAR, \ - &&lbl_BC_INST_PUSH_TO_VAR, \ - &&lbl_BC_INST_QUIT, \ - &&lbl_BC_INST_NQUIT, \ - &&lbl_BC_INST_EXEC_STACK_LEN, \ - &&lbl_BC_INST_INVALID, \ +#define BC_PROG_LBLS \ + static const void* const bc_program_inst_lbls[] = { \ + &&lbl_BC_INST_NEG, &&lbl_BC_INST_BOOL_NOT, \ + &&lbl_BC_INST_TRUNC, &&lbl_BC_INST_POWER, \ + &&lbl_BC_INST_MULTIPLY, &&lbl_BC_INST_DIVIDE, \ + &&lbl_BC_INST_MODULUS, &&lbl_BC_INST_PLUS, \ + &&lbl_BC_INST_MINUS, &&lbl_BC_INST_PLACES, \ + &&lbl_BC_INST_LSHIFT, &&lbl_BC_INST_RSHIFT, \ + &&lbl_BC_INST_REL_EQ, &&lbl_BC_INST_REL_LE, \ + &&lbl_BC_INST_REL_GE, &&lbl_BC_INST_REL_NE, \ + &&lbl_BC_INST_REL_LT, &&lbl_BC_INST_REL_GT, \ + &&lbl_BC_INST_BOOL_OR, &&lbl_BC_INST_BOOL_AND, \ + &&lbl_BC_INST_ASSIGN_NO_VAL, &&lbl_BC_INST_NUM, \ + &&lbl_BC_INST_VAR, &&lbl_BC_INST_ARRAY_ELEM, \ + &&lbl_BC_INST_ARRAY, &&lbl_BC_INST_ZERO, \ + &&lbl_BC_INST_ONE, &&lbl_BC_INST_IBASE, \ + &&lbl_BC_INST_OBASE, &&lbl_BC_INST_SCALE, \ + &&lbl_BC_INST_SEED, &&lbl_BC_INST_LENGTH, \ + &&lbl_BC_INST_SCALE_FUNC, &&lbl_BC_INST_SQRT, \ + &&lbl_BC_INST_ABS, &&lbl_BC_INST_IS_NUMBER, \ + &&lbl_BC_INST_IS_STRING, &&lbl_BC_INST_IRAND, \ + &&lbl_BC_INST_ASCIIFY, &&lbl_BC_INST_READ, \ + &&lbl_BC_INST_RAND, &&lbl_BC_INST_MAXIBASE, \ + &&lbl_BC_INST_MAXOBASE, &&lbl_BC_INST_MAXSCALE, \ + &&lbl_BC_INST_MAXRAND, &&lbl_BC_INST_LINE_LENGTH, \ + &&lbl_BC_INST_LEADING_ZERO, &&lbl_BC_INST_PRINT, \ + &&lbl_BC_INST_PRINT_POP, &&lbl_BC_INST_STR, \ + &&lbl_BC_INST_POP, &&lbl_BC_INST_SWAP, \ + &&lbl_BC_INST_MODEXP, &&lbl_BC_INST_DIVMOD, \ + &&lbl_BC_INST_PRINT_STREAM, &&lbl_BC_INST_EXTENDED_REGISTERS, \ + &&lbl_BC_INST_POP_EXEC, &&lbl_BC_INST_EXECUTE, \ + &&lbl_BC_INST_EXEC_COND, &&lbl_BC_INST_PRINT_STACK, \ + &&lbl_BC_INST_CLEAR_STACK, &&lbl_BC_INST_REG_STACK_LEN, \ + &&lbl_BC_INST_STACK_LEN, &&lbl_BC_INST_DUPLICATE, \ + &&lbl_BC_INST_LOAD, &&lbl_BC_INST_PUSH_VAR, \ + &&lbl_BC_INST_PUSH_TO_VAR, &&lbl_BC_INST_QUIT, \ + &&lbl_BC_INST_NQUIT, &&lbl_BC_INST_EXEC_STACK_LEN, \ + &&lbl_BC_INST_INVALID, \ } #else // BC_ENABLE_EXTRA_MATH -#define BC_PROG_LBLS \ - static const void* const bc_program_inst_lbls[] = { \ - &&lbl_BC_INST_NEG, \ - &&lbl_BC_INST_BOOL_NOT, \ - &&lbl_BC_INST_POWER, \ - &&lbl_BC_INST_MULTIPLY, \ - &&lbl_BC_INST_DIVIDE, \ - &&lbl_BC_INST_MODULUS, \ - &&lbl_BC_INST_PLUS, \ - &&lbl_BC_INST_MINUS, \ - &&lbl_BC_INST_REL_EQ, \ - &&lbl_BC_INST_REL_LE, \ - &&lbl_BC_INST_REL_GE, \ - &&lbl_BC_INST_REL_NE, \ - &&lbl_BC_INST_REL_LT, \ - &&lbl_BC_INST_REL_GT, \ - &&lbl_BC_INST_BOOL_OR, \ - &&lbl_BC_INST_BOOL_AND, \ - &&lbl_BC_INST_ASSIGN_NO_VAL, \ - &&lbl_BC_INST_NUM, \ - &&lbl_BC_INST_VAR, \ - &&lbl_BC_INST_ARRAY_ELEM, \ - &&lbl_BC_INST_ARRAY, \ - &&lbl_BC_INST_ZERO, \ - &&lbl_BC_INST_ONE, \ - &&lbl_BC_INST_IBASE, \ - &&lbl_BC_INST_OBASE, \ - &&lbl_BC_INST_SCALE, \ - &&lbl_BC_INST_LENGTH, \ - &&lbl_BC_INST_SCALE_FUNC, \ - &&lbl_BC_INST_SQRT, \ - &&lbl_BC_INST_ABS, \ - &&lbl_BC_INST_IS_NUMBER, \ - &&lbl_BC_INST_IS_STRING, \ - &&lbl_BC_INST_ASCIIFY, \ - &&lbl_BC_INST_READ, \ - &&lbl_BC_INST_MAXIBASE, \ - &&lbl_BC_INST_MAXOBASE, \ - &&lbl_BC_INST_MAXSCALE, \ - &&lbl_BC_INST_LINE_LENGTH, \ - &&lbl_BC_INST_LEADING_ZERO, \ - &&lbl_BC_INST_PRINT, \ - &&lbl_BC_INST_PRINT_POP, \ - &&lbl_BC_INST_STR, \ - &&lbl_BC_INST_POP, \ - &&lbl_BC_INST_SWAP, \ - &&lbl_BC_INST_MODEXP, \ - &&lbl_BC_INST_DIVMOD, \ - &&lbl_BC_INST_PRINT_STREAM, \ - &&lbl_BC_INST_EXTENDED_REGISTERS, \ - &&lbl_BC_INST_POP_EXEC, \ - &&lbl_BC_INST_EXECUTE, \ - &&lbl_BC_INST_EXEC_COND, \ - &&lbl_BC_INST_PRINT_STACK, \ - &&lbl_BC_INST_CLEAR_STACK, \ - &&lbl_BC_INST_REG_STACK_LEN, \ - &&lbl_BC_INST_STACK_LEN, \ - &&lbl_BC_INST_DUPLICATE, \ - &&lbl_BC_INST_LOAD, \ - &&lbl_BC_INST_PUSH_VAR, \ - &&lbl_BC_INST_PUSH_TO_VAR, \ - &&lbl_BC_INST_QUIT, \ - &&lbl_BC_INST_NQUIT, \ - &&lbl_BC_INST_EXEC_STACK_LEN, \ - &&lbl_BC_INST_INVALID, \ +#define BC_PROG_LBLS \ + static const void* const bc_program_inst_lbls[] = { \ + &&lbl_BC_INST_NEG, &&lbl_BC_INST_BOOL_NOT, \ + &&lbl_BC_INST_POWER, &&lbl_BC_INST_MULTIPLY, \ + &&lbl_BC_INST_DIVIDE, &&lbl_BC_INST_MODULUS, \ + &&lbl_BC_INST_PLUS, &&lbl_BC_INST_MINUS, \ + &&lbl_BC_INST_REL_EQ, &&lbl_BC_INST_REL_LE, \ + &&lbl_BC_INST_REL_GE, &&lbl_BC_INST_REL_NE, \ + &&lbl_BC_INST_REL_LT, &&lbl_BC_INST_REL_GT, \ + &&lbl_BC_INST_BOOL_OR, &&lbl_BC_INST_BOOL_AND, \ + &&lbl_BC_INST_ASSIGN_NO_VAL, &&lbl_BC_INST_NUM, \ + &&lbl_BC_INST_VAR, &&lbl_BC_INST_ARRAY_ELEM, \ + &&lbl_BC_INST_ARRAY, &&lbl_BC_INST_ZERO, \ + &&lbl_BC_INST_ONE, &&lbl_BC_INST_IBASE, \ + &&lbl_BC_INST_OBASE, &&lbl_BC_INST_SCALE, \ + &&lbl_BC_INST_LENGTH, &&lbl_BC_INST_SCALE_FUNC, \ + &&lbl_BC_INST_SQRT, &&lbl_BC_INST_ABS, \ + &&lbl_BC_INST_IS_NUMBER, &&lbl_BC_INST_IS_STRING, \ + &&lbl_BC_INST_ASCIIFY, &&lbl_BC_INST_READ, \ + &&lbl_BC_INST_MAXIBASE, &&lbl_BC_INST_MAXOBASE, \ + &&lbl_BC_INST_MAXSCALE, &&lbl_BC_INST_LINE_LENGTH, \ + &&lbl_BC_INST_LEADING_ZERO, &&lbl_BC_INST_PRINT, \ + &&lbl_BC_INST_PRINT_POP, &&lbl_BC_INST_STR, \ + &&lbl_BC_INST_POP, &&lbl_BC_INST_SWAP, \ + &&lbl_BC_INST_MODEXP, &&lbl_BC_INST_DIVMOD, \ + &&lbl_BC_INST_PRINT_STREAM, &&lbl_BC_INST_EXTENDED_REGISTERS, \ + &&lbl_BC_INST_POP_EXEC, &&lbl_BC_INST_EXECUTE, \ + &&lbl_BC_INST_EXEC_COND, &&lbl_BC_INST_PRINT_STACK, \ + &&lbl_BC_INST_CLEAR_STACK, &&lbl_BC_INST_REG_STACK_LEN, \ + &&lbl_BC_INST_STACK_LEN, &&lbl_BC_INST_DUPLICATE, \ + &&lbl_BC_INST_LOAD, &&lbl_BC_INST_PUSH_VAR, \ + &&lbl_BC_INST_PUSH_TO_VAR, &&lbl_BC_INST_QUIT, \ + &&lbl_BC_INST_NQUIT, &&lbl_BC_INST_EXEC_STACK_LEN, \ + &&lbl_BC_INST_INVALID, \ } #endif // BC_ENABLE_EXTRA_MATH diff --git a/contrib/bc/include/version.h b/contrib/bc/include/version.h index f5e345b3b189..3745ed9b5f74 100644 --- a/contrib/bc/include/version.h +++ b/contrib/bc/include/version.h @@ -37,6 +37,6 @@ #define BC_VERSION_H /// The current version. -#define VERSION 6.3.1 +#define VERSION 6.4.0 #endif // BC_VERSION_H diff --git a/contrib/bc/include/vm.h b/contrib/bc/include/vm.h index dd21d43f5260..c56cc8e7370a 100644 --- a/contrib/bc/include/vm.h +++ b/contrib/bc/include/vm.h @@ -560,9 +560,13 @@ typedef struct BcVm /// The vector for creating strings to pass to the client. BcVec out; +#if BC_ENABLE_EXTRA_MATH + /// The PRNG. BcRNG rng; +#endif // BC_ENABLE_EXTRA_MATH + /// The current error. BclError err; diff --git a/contrib/bc/manuals/bcl.3 b/contrib/bc/manuals/bcl.3 index 5c3731a141eb..cb65a2b8b991 100644 --- a/contrib/bc/manuals/bcl.3 +++ b/contrib/bc/manuals/bcl.3 @@ -139,9 +139,14 @@ integers. .PP \f[B]char* bcl_string(BclNumber\f[R] \f[I]n\f[R]\f[B]);\f[R] .PP +\f[B]char* bcl_string_keep(BclNumber\f[R] \f[I]n\f[R]\f[B]);\f[R] +.PP \f[B]BclError bcl_bigdig(BclNumber\f[R] \f[I]n\f[R]\f[B], BclBigDig *\f[R]\f[I]result\f[R]\f[B]);\f[R] .PP +\f[B]BclError bcl_bigdig_keep(BclNumber\f[R] \f[I]n\f[R]\f[B], BclBigDig +*\f[R]\f[I]result\f[R]\f[B]);\f[R] +.PP \f[B]BclNumber bcl_bigdig2num(BclBigDig\f[R] \f[I]val\f[R]\f[B]);\f[R] .SS Math .PP @@ -150,35 +155,68 @@ These items allow clients to run math on numbers. \f[B]BclNumber bcl_add(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] .PP +\f[B]BclNumber bcl_add_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], +BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] +.PP \f[B]BclNumber bcl_sub(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] .PP +\f[B]BclNumber bcl_sub_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], +BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] +.PP \f[B]BclNumber bcl_mul(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] .PP +\f[B]BclNumber bcl_mul_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], +BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] +.PP \f[B]BclNumber bcl_div(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] .PP +\f[B]BclNumber bcl_div_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], +BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] +.PP \f[B]BclNumber bcl_mod(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] .PP +\f[B]BclNumber bcl_mod_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], +BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] +.PP \f[B]BclNumber bcl_pow(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] .PP +\f[B]BclNumber bcl_pow_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], +BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] +.PP \f[B]BclNumber bcl_lshift(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] .PP +\f[B]BclNumber bcl_lshift_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], +BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] +.PP \f[B]BclNumber bcl_rshift(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] .PP +\f[B]BclNumber bcl_rshift_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], +BclNumber\f[R] \f[I]b\f[R]\f[B]);\f[R] +.PP \f[B]BclNumber bcl_sqrt(BclNumber\f[R] \f[I]a\f[R]\f[B]);\f[R] .PP +\f[B]BclNumber bcl_sqrt_keep(BclNumber\f[R] \f[I]a\f[R]\f[B]);\f[R] +.PP \f[B]BclError bcl_divmod(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B], BclNumber *\f[R]\f[I]c\f[R]\f[B], BclNumber *\f[R]\f[I]d\f[R]\f[B]);\f[R] .PP +\f[B]BclError bcl_divmod_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], +BclNumber\f[R] \f[I]b\f[R]\f[B], BclNumber *\f[R]\f[I]c\f[R]\f[B], +BclNumber *\f[R]\f[I]d\f[R]\f[B]);\f[R] +.PP \f[B]BclNumber bcl_modexp(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B], BclNumber\f[R] \f[I]c\f[R]\f[B]);\f[R] +.PP +\f[B]BclNumber bcl_modexp_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], +BclNumber\f[R] \f[I]b\f[R]\f[B], BclNumber\f[R] \f[I]c\f[R]\f[B]);\f[R] .SS Miscellaneous .PP These items are miscellaneous. @@ -209,14 +247,22 @@ generator in bcl(3). .PP \f[B]BclNumber bcl_irand(BclNumber\f[R] \f[I]a\f[R]\f[B]);\f[R] .PP +\f[B]BclNumber bcl_irand_keep(BclNumber\f[R] \f[I]a\f[R]\f[B]);\f[R] +.PP \f[B]BclNumber bcl_frand(size_t\f[R] \f[I]places\f[R]\f[B]);\f[R] .PP \f[B]BclNumber bcl_ifrand(BclNumber\f[R] \f[I]a\f[R]\f[B], size_t\f[R] \f[I]places\f[R]\f[B]);\f[R] .PP +\f[B]BclNumber bcl_ifrand_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], +size_t\f[R] \f[I]places\f[R]\f[B]);\f[R] +.PP \f[B]BclError bcl_rand_seedWithNum(BclNumber\f[R] \f[I]n\f[R]\f[B]);\f[R] .PP +\f[B]BclError bcl_rand_seedWithNum_keep(BclNumber\f[R] +\f[I]n\f[R]\f[B]);\f[R] +.PP \f[B]BclError bcl_rand_seed(unsigned char\f[R] \f[I]seed\f[R]\f[B][\f[R]\f[I]BCL_SEED_SIZE\f[R]\f[B]]);\f[R] .PP @@ -608,8 +654,9 @@ Returns the number of \f[I]significant decimal digits\f[R] in .PP All procedures in this section require a valid current context. .PP -All procedures in this section consume the given \f[B]BclNumber\f[R] -arguments that are not given to pointer arguments. +All procedures in this section without the \f[B]_keep\f[R] suffix in +their name consume the given \f[B]BclNumber\f[R] arguments that are not +given to pointer arguments. See the \f[B]Consumption and Propagation\f[R] subsection below. .TP \f[B]BclNumber bcl_parse(const char *restrict\f[R] \f[I]val\f[R]\f[B])\f[R] @@ -644,6 +691,11 @@ The string is dynamically allocated and must be freed by the caller. See the \f[B]Consumption and Propagation\f[R] subsection below. .RE .TP +\f[B]char* bcl_string_keep(BclNumber\f[R] \f[I]n\f[R]\f[B])\f[R] +Returns a string representation of \f[I]n\f[R] according the the current +context\[cq]s \f[B]ibase\f[R]. +The string is dynamically allocated and must be freed by the caller. +.TP \f[B]BclError bcl_bigdig(BclNumber\f[R] \f[I]n\f[R]\f[B], BclBigDig *\f[R]\f[I]result\f[R]\f[B])\f[R] Converts \f[I]n\f[R] into a \f[B]BclBigDig\f[R] and returns the result in the space pointed to by \f[I]result\f[R]. @@ -665,6 +717,24 @@ Otherwise, this function can return: See the \f[B]Consumption and Propagation\f[R] subsection below. .RE .TP +\f[B]BclError bcl_bigdig_keep(BclNumber\f[R] \f[I]n\f[R]\f[B], BclBigDig *\f[R]\f[I]result\f[R]\f[B])\f[R] +Converts \f[I]n\f[R] into a \f[B]BclBigDig\f[R] and returns the result +in the space pointed to by \f[I]result\f[R]. +.RS +.PP +\f[I]a\f[R] must be smaller than \f[B]BC_OVERFLOW_MAX\f[R]. +See the \f[B]LIMITS\f[R] section. +.PP +If there was no error, \f[B]BCL_ERROR_NONE\f[R] is returned. +Otherwise, this function can return: +.IP \[bu] 2 +\f[B]BCL_ERROR_INVALID_NUM\f[R] +.IP \[bu] 2 +\f[B]BCL_ERROR_INVALID_CONTEXT\f[R] +.IP \[bu] 2 +\f[B]BCL_ERROR_MATH_OVERFLOW\f[R] +.RE +.TP \f[B]BclNumber bcl_bigdig2num(BclBigDig\f[R] \f[I]val\f[R]\f[B])\f[R] Creates a \f[B]BclNumber\f[R] from \f[I]val\f[R]. .RS @@ -681,6 +751,11 @@ Possible errors include: .PP All procedures in this section require a valid current context. .PP +All procedures in this section without the \f[B]_keep\f[R] suffix in +their name consume the given \f[B]BclNumber\f[R] arguments that are not +given to pointer arguments. +See the \f[B]Consumption and Propagation\f[R] subsection below. +.PP All procedures in this section can return the following errors: .IP \[bu] 2 \f[B]BCL_ERROR_INVALID_NUM\f[R] @@ -712,6 +787,25 @@ Possible errors include: \f[B]BCL_ERROR_FATAL_ALLOC_ERR\f[R] .RE .TP +\f[B]BclNumber bcl_add_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B])\f[R] +Adds \f[I]a\f[R] and \f[I]b\f[R] and returns the result. +The \f[I]scale\f[R] of the result is the max of the \f[I]scale\f[R]s of +\f[I]a\f[R] and \f[I]b\f[R]. +.RS +.PP +\f[I]a\f[R] and \f[I]b\f[R] can be the same number. +.PP +bcl(3) will encode an error in the return value, if there was one. +The error can be queried with \f[B]bcl_err(BclNumber)\f[R]. +Possible errors include: +.IP \[bu] 2 +\f[B]BCL_ERROR_INVALID_NUM\f[R] +.IP \[bu] 2 +\f[B]BCL_ERROR_INVALID_CONTEXT\f[R] +.IP \[bu] 2 +\f[B]BCL_ERROR_FATAL_ALLOC_ERR\f[R] +.RE +.TP \f[B]BclNumber bcl_sub(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B])\f[R] Subtracts \f[I]b\f[R] from \f[I]a\f[R] and returns the result. The \f[I]scale\f[R] of the result is the max of the \f[I]scale\f[R]s of @@ -735,6 +829,25 @@ Possible errors include: \f[B]BCL_ERROR_FATAL_ALLOC_ERR\f[R] .RE .TP +\f[B]BclNumber bcl_sub_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B])\f[R] +Subtracts \f[I]b\f[R] from \f[I]a\f[R] and returns the result. +The \f[I]scale\f[R] of the result is the max of the \f[I]scale\f[R]s of +\f[I]a\f[R] and \f[I]b\f[R]. +.RS +.PP +\f[I]a\f[R] and \f[I]b\f[R] can be the same number. +.PP +bcl(3) will encode an error in the return value, if there was one. +The error can be queried with \f[B]bcl_err(BclNumber)\f[R]. +Possible errors include: +.IP \[bu] 2 +\f[B]BCL_ERROR_INVALID_NUM\f[R] +.IP \[bu] 2 +\f[B]BCL_ERROR_INVALID_CONTEXT\f[R] +.IP \[bu] 2 +\f[B]BCL_ERROR_FATAL_ALLOC_ERR\f[R] +.RE +.TP \f[B]BclNumber bcl_mul(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B])\f[R] Multiplies \f[I]a\f[R] and \f[I]b\f[R] and returns the result. If \f[I]ascale\f[R] is the \f[I]scale\f[R] of \f[I]a\f[R] and @@ -761,6 +874,28 @@ Possible errors include: \f[B]BCL_ERROR_FATAL_ALLOC_ERR\f[R] .RE .TP +\f[B]BclNumber bcl_mul_keep(BclNumber\f[R] \f[I]a\f[R]\f[B], BclNumber\f[R] \f[I]b\f[R]\f[B])\f[R] +Multiplies \f[I]a\f[R] and \f[I]b\f[R] and returns the result. +If \f[I]ascale\f[R] is the \f[I]scale\f[R] of \f[I]a\f[R] and +\f[I]bscale\f[R] is the \f[I]scale\f[R] of \f[I]b\f[R], the +\f[I]scale\f[R] of the result is equal to +\f[B]min(ascale+bscale,max(scale,ascale,bscale))\f[R], where +\f[B]min()\f[R] and \f[B]max()\f[R] return the obvious values. +.RS +.PP +\f[I]a\f[R] and \f[I]b\f[R] can be the same number. *** 2626 LINES SKIPPED *** From nobody Fri Mar 10 13:29:15 2023 X-Original-To: dev-commits-src-main@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 4PY6Mv4Qwxz3xWwk; Fri, 10 Mar 2023 13:29: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 4PY6Mv3yWSz3QnH; Fri, 10 Mar 2023 13:29:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454955; 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=obOSHpWZwnJf0ka14pN+nIpDjzp5E7ape6R72JG9cMg=; b=IpNd7IZ2p4YeEGD0yx+oNvckwrUaYmUvXlgzus+iNlq8ePwoDsrsCkh6PH5GI5cNty65mo BZ+75Rm5vNUw4z797+rROyRW4edK8dLgRBJ9gQJLWlAxYW4D9eTGGc+k1mIzgl/86BER/k XeXvcTAM24EiW1WnR+FwdsuuOnViHY0ZV6HJSrVbRJqDk67nHQZSg/oj6xK3z1vC0b7DQF 5BUcHk3rbj6HxQHxnOiCSG6z8TyHmeJcYOhrfjlzMSTVKIjNZRKRTXs6XqaxwWHGeIuqGh wtRi5VEufFxNU1u/gKNL8knZ3CzeEn62lV7Zp8u1GAGRcPn5qu5ukWJ+WqcyVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454955; 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=obOSHpWZwnJf0ka14pN+nIpDjzp5E7ape6R72JG9cMg=; b=UyZsKWi54QwOfxovFxWDoxdwjghADr1o7RiaphgSdx6r6b7UPW8S9FocBIqS7Jtc/29lpz ocUIH92oqKMjTYbEgEhfK/52tKnbGiOFvn+FpiQQemPUVVqYDNyRr9C4kRcm/t0p+wU9eA 43I0EKgkQq2yhK7iCqFPKiN1MG4S7TWXF3VDNAp2hIOGvoUddYLnnrSMGfAWNxfiLb+P3A ZU0TmmdA+viFODOnIoa0luKjlKqyYUxqJP3Y9/N9M2jBzlprxklslVvFU5GpbVXvhfoSBv wjkvmpNTUvXcXudc3kn4B7SPx48Ucfvs8etf4KHLrxxX++LzSwfvWnxJ9B1sbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678454955; a=rsa-sha256; cv=none; b=apM4uc01vhuij8aIWOS2veXFghKiQI7HH4jfPNyVUE9cGLPFO/SXAfTcQAPbYyxDP9Odv4 Ll5zRc1ibA8PTwai+ykDz4H87z3aLz/l9dkEFSfL9Pgy2FrSZf2uJM8I4Xyl/epA3bCvXo MrTW2T8CjsiEQzVzsx2ocJhB28ns5pQE+L3umtLOvGAz1zwYYBx/xZAsfNhGR7t8dRUjyI GG1758+o5mQj/ef3T8onlCcG0vn8BRKgSaKqqU/V3nWAKnDNfiLk3nwwxhG3dRXW0MbPYB w4NcrfnRdJ2yf2VhBjTl5Cb6eMM0BURo/vAmD00Koc7KwKyHYqmnDpWQbuV87Q== 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 4PY6Mv30qxzqsm; Fri, 10 Mar 2023 13:29:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32ADTF0j089976; Fri, 10 Mar 2023 13:29:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32ADTFRj089975; Fri, 10 Mar 2023 13:29:15 GMT (envelope-from git) Date: Fri, 10 Mar 2023 13:29:15 GMT Message-Id: <202303101329.32ADTFRj089975@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: a6dfd2015c20 - main - tftpd: Fix max block size calculation. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a6dfd2015c202f3424eb58846d8575a877728881 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=a6dfd2015c202f3424eb58846d8575a877728881 commit a6dfd2015c202f3424eb58846d8575a877728881 Author: Dag-Erling Smørgrav AuthorDate: 2023-03-10 13:24:15 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-10 13:25:15 +0000 tftpd: Fix max block size calculation. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D38953 --- libexec/tftpd/tftp-options.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libexec/tftpd/tftp-options.c b/libexec/tftpd/tftp-options.c index 01876b4750f9..037517f9cd73 100644 --- a/libexec/tftpd/tftp-options.c +++ b/libexec/tftpd/tftp-options.c @@ -230,6 +230,7 @@ option_blksize(int peer) tftp_log(LOG_ERR, "sysctl: net.inet.udp.maxdgram"); return (acting_as_client ? 1 : 0); } + maxdgram -= 4; /* leave room for header */ int size = atoi(options[OPT_BLKSIZE].o_request); if (size < BLKSIZE_MIN || size > BLKSIZE_MAX) { From nobody Fri Mar 10 13:29:16 2023 X-Original-To: dev-commits-src-main@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 4PY6Mw5Db2z3xWwq; Fri, 10 Mar 2023 13:29: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 4PY6Mw4SpGz3R22; Fri, 10 Mar 2023 13:29:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454956; 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=tIA0IA9XEpPJdqQr1Blj8R7k8P/FYhQfoR+FCPna8Fw=; b=ApwbcnwXBzreg9P6ysBIUoFh6NfARXPMRZ/j+7b/KyjWQan4EyzIyJjYxXjBE5ZjL6RY2S fKaFiKht31nUVaQZ/7uVv6uXgeN4GdJGadExTH+8o6r+Bfe0amvsfjsUxPFHD529NVpAb6 4/g6kySplV1Mk3BJijMQiTfveS73i3KEXGE0e6/ntWzdCz/Zvp1RcSngyybR694YRDb11D m32/YOMyAtKnshlrvBtD1lLoBnZ8yTXaKROx5Ii72Uxc3FtzCBwNIZNhH/236QIyEsU0v4 8aiF4vt46rM0rymYUGt4Np6qAPsy+BBQghjDJjY+HAqf07SR2tKtLl67sHFr4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454956; 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=tIA0IA9XEpPJdqQr1Blj8R7k8P/FYhQfoR+FCPna8Fw=; b=WWopttFOs5GKHohH/XsNyBJ4BA5vha+64jrPXU80UagvMglD10vfUnLb/XiduqgY+Bjd8P 41BEAF1rfmpHA7yLFAF2gRFr5GXIlo2mBhyWtG7QinTNS8eWXDMAhSHWNXz75HnDlkJ00y sO3unMgxPRHqeSPjn79KKHWhtjltrp1GtmjfetP3ryriljPvuROYrV/cr3+vCoKp+GuRqS ADBuUa+/qV78Ee5PKCyXf0FLr9PHn70t+6UUB4u9Q5i/n2iGaoUSc/x7wAujO17eNnpbuI i9+Oum9SJkAZ8TkNXmzvy0YE59Ep8exwxkcbIQ7e6IAYlzpmoTHmoUrWGqrKzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678454956; a=rsa-sha256; cv=none; b=EaWsdyutHu8tJoruUQfVFnixSBBTpHbZcyyCnYkHg9xHwK4sEJvQwxIzuXD+9fM7RatZLT fZDthKFgKSHMVHXdut1puo1ySOFhV75RQDj7s1GC9y3B2MVSpFEabMu2M8uFA00kSWtkrN zr6TUivi58NoW0s6FPbQ9CNL20LTLUuOm1Vc9kJBFrY9NDNlUflce8hntfQoibQAkHv1tR 2hjXfIc9b9dRGxNUqJq8RImOxcH3EVPzV86npXMlIP5AdAHe7qT3VHczKgo/dg+SHEGs2H xFOmaOXaxCodaukEJa4J/barif3wigWAoQdTIdNh6rNBvgKwAas8gFmGhgkGSQ== 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 4PY6Mw3VGBzqWP; Fri, 10 Mar 2023 13:29:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32ADTG0E090006; Fri, 10 Mar 2023 13:29:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32ADTGvi090005; Fri, 10 Mar 2023 13:29:16 GMT (envelope-from git) Date: Fri, 10 Mar 2023 13:29:16 GMT Message-Id: <202303101329.32ADTGvi090005@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 7c21545c46e1 - main - tftpd: Ensure that tftp_log() preserves errno. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7c21545c46e1290e66fd9e9300165b4a381161b9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=7c21545c46e1290e66fd9e9300165b4a381161b9 commit 7c21545c46e1290e66fd9e9300165b4a381161b9 Author: Dag-Erling Smørgrav AuthorDate: 2023-03-10 13:24:19 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-10 13:25:16 +0000 tftpd: Ensure that tftp_log() preserves errno. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D38956 --- libexec/tftpd/tftp-utils.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libexec/tftpd/tftp-utils.c b/libexec/tftpd/tftp-utils.c index 322b5ad9ae62..1647ad8be1c9 100644 --- a/libexec/tftpd/tftp-utils.c +++ b/libexec/tftpd/tftp-utils.c @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -148,8 +149,10 @@ void tftp_log(int priority, const char *message, ...) { va_list ap; + int serrno; char *s; + serrno = errno; va_start(ap, message); if (_tftp_logtostdout == 0) { vasprintf(&s, message, ap); @@ -159,6 +162,7 @@ tftp_log(int priority, const char *message, ...) printf("\n"); } va_end(ap); + errno = serrno; } /* From nobody Fri Mar 10 13:29:17 2023 X-Original-To: dev-commits-src-main@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 4PY6Mx5pnMz3xWqs; Fri, 10 Mar 2023 13:29: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 4PY6Mx5KnWz3R4b; Fri, 10 Mar 2023 13:29:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454957; 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=jKe3OQThoOONygio5tZ1DT7n6yLAA7y4oOdQJr9pC8A=; b=lldpAKQJXQQpiEBTKX1H+cVcQio12dg3e/Ctxb73Z4T7GvwVTfyfeptJCrXsIkRlBHKEnn uuUtwTbZwADdWnTxoskhbV//DkDhCA2lzv+RxyZnCLd+E1fddBoVIHw5tysJ/20a2AFjYX 1fkoT/ow0HtaoNTQBZzioW9ekamNifp5xKTVXyPMH7TdlE3mSD4JWQO+FP/uttL2Ly59QS zXPRM3rG8gxKgLDGYi16M+Q2JvOT2veKU/qZIHkh1Z69pRcQ7N1TEzkNUbokTKu2NwL4d2 3szwfOcBakogRlijfxPKv5WxYyKjec1e2+LGQbhCP4O6Y/m0my9OV++N2s7iYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454957; 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=jKe3OQThoOONygio5tZ1DT7n6yLAA7y4oOdQJr9pC8A=; b=REeZxaRKMRhI+NH14qiL6Nr0YmYzaV0JiUFPvSD0LpkHhauzkhw9i4MXg4/l5GilWyjv/x ED14ESfemPRm+VoN78OfK3D8tDrxdktc7qnVYH1HHroJpQuQcoFi4cx+6xP8X/5jtexVGq EHCbFxT4GXZ4cqIuijdSR+pYR5zQG+OV5eA0dQITGOu1LOAiFXARouQEX33JIPIX5Li5U1 zwRM9Ns245edUBnz0X9r/IYgl1g1yvIxdTcCsr+89zupSe4ipmajTSmT/cKOWoxL1fbpcJ UJwQ620W2z+eRiNPDyQVv9BMDhmY0vAzlEGUe7dq8M681pBnkKqaWUWMRuMpJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678454957; a=rsa-sha256; cv=none; b=meGuSP4q6LeBrs2Uj8zVv5x9IvJkDayZok7ZzctMGMd4+JCnOFaomB9t5NIg/StSe3y2Ws HvcfxGjhm0dr8Sdjd+QJKXR/9BDm1ZhhqgapaMmKMEVFnP8OIz8xnmv1KxS81GswVHGh3p rOlWh0Xv2ZYdwgPMv8/SUTw/mP6vQwmGl5dbzUjJE8A1ExOZeH6zPAkdYGQ7KHrjnnzehy AwIlr4jB+9/9QkxTA9dBiqNGjLeNJIoMowZASBMbOAzmsfrgvKuRdPsxbA56Mp8fEulOmw oD2GDWYR4DshWGlsw8QtaZhnvj0Mn0iXLrv69AnAe+Y95TBT2H/jX9awBD9KKw== 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 4PY6Mx4QFmzqfn; Fri, 10 Mar 2023 13:29:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32ADTHVH090033; Fri, 10 Mar 2023 13:29:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32ADTHjJ090031; Fri, 10 Mar 2023 13:29:17 GMT (envelope-from git) Date: Fri, 10 Mar 2023 13:29:17 GMT Message-Id: <202303101329.32ADTHjJ090031@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 36242fc0e56c - main - tftpd: Make the transfer functions return success / failure. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 36242fc0e56c5657d5d70e01fd2cfe1d7e7e7123 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=36242fc0e56c5657d5d70e01fd2cfe1d7e7e7123 commit 36242fc0e56c5657d5d70e01fd2cfe1d7e7e7123 Author: Dag-Erling Smørgrav AuthorDate: 2023-03-10 13:24:23 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-10 13:25:16 +0000 tftpd: Make the transfer functions return success / failure. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D38957 --- libexec/tftpd/tftp-transfer.c | 38 ++++++++++++++++++-------------------- libexec/tftpd/tftp-transfer.h | 4 ++-- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/libexec/tftpd/tftp-transfer.c b/libexec/tftpd/tftp-transfer.c index 19854f2cc180..91f87a1159a4 100644 --- a/libexec/tftpd/tftp-transfer.c +++ b/libexec/tftpd/tftp-transfer.c @@ -58,7 +58,7 @@ struct block_data { /* * Send a file via the TFTP data session. */ -void +int tftp_send(int peer, uint16_t *block, struct tftp_stats *ts) { struct tftphdr *rp; @@ -86,7 +86,7 @@ read_block: if (size < 0) { tftp_log(LOG_ERR, "read_file returned %d", size); send_error(peer, errno + 100); - goto abort; + return -1; } window[windowblock].size = size; windowblock++; @@ -100,7 +100,7 @@ read_block: tftp_log(LOG_ERR, "Cannot send DATA packet #%d, " "giving up", *block); - return; + return -1; } tftp_log(LOG_ERR, "Cannot send DATA packet #%d, trying again", @@ -117,7 +117,7 @@ read_block: tftp_log(LOG_ERR, "Timeout #%d send ACK %d " "giving up", acktry, *block); - return; + return -1; } tftp_log(LOG_WARNING, "Timeout #%d on ACK %d", @@ -130,7 +130,7 @@ read_block: "seek_file failed: %s", strerror(errno)); send_error(peer, errno + 100); - goto abort; + return -1; } *block = window[0].block; windowblock = 0; @@ -141,7 +141,7 @@ read_block: if (debug & DEBUG_SIMPLE) tftp_log(LOG_ERR, "Aborting: %s", rp_strerror(n_ack)); - goto abort; + return -1; } if (rp->th_opcode == ACK) { /* @@ -170,7 +170,7 @@ read_block: "seek_file failed: %s", strerror(errno)); send_error(peer, errno + 100); - goto abort; + return -1; } *block = window[0].block; windowblock = 0; @@ -202,7 +202,7 @@ read_block: "seek_file failed: %s", strerror(errno)); send_error(peer, errno + 100); - goto abort; + return -1; } *block = window[i + 1].block; windowblock = 0; @@ -232,8 +232,7 @@ read_block: } gettimeofday(&(ts->tstop), NULL); } while (size == segsize); -abort: - return; + return 0; } /* @@ -243,7 +242,7 @@ abort: * trying to figure out if we were receiving options or not. In * that case it is passed to this function. */ -void +int tftp_receive(int peer, uint16_t *block, struct tftp_stats *ts, struct tftphdr *firstblock, size_t fb_size) { @@ -268,7 +267,7 @@ tftp_receive(int peer, uint16_t *block, struct tftp_stats *ts, tftp_log(LOG_ERR, "Cannot send ACK packet #%d, " "giving up", *block); - return; + return -1; } tftp_log(LOG_ERR, "Cannot send ACK packet #%d, trying again", @@ -283,7 +282,7 @@ tftp_receive(int peer, uint16_t *block, struct tftp_stats *ts, if (fb_size != segsize) { write_close(); gettimeofday(&(ts->tstop), NULL); - return; + return 0; } } @@ -319,7 +318,7 @@ tftp_receive(int peer, uint16_t *block, struct tftp_stats *ts, tftp_log(LOG_ERR, "Timeout #%d on DATA block %d, " "giving up", retry, *block); - return; + return -1; } if (n_data == RP_TIMEOUT) { tftp_log(LOG_WARNING, @@ -334,7 +333,7 @@ tftp_receive(int peer, uint16_t *block, struct tftp_stats *ts, if (debug & DEBUG_SIMPLE) tftp_log(LOG_DEBUG, "Aborting: %s", rp_strerror(n_data)); - goto abort; + return -1; } if (rp->th_opcode == DATA) { ts->blocks++; @@ -395,7 +394,7 @@ tftp_receive(int peer, uint16_t *block, struct tftp_stats *ts, send_error(peer, errno + 100); else send_error(peer, ENOSPACE); - goto abort; + return -1; } } if (n_data != segsize) @@ -414,7 +413,7 @@ send_ack: tftp_log(LOG_ERR, "Cannot send ACK packet #%d, " "giving up", *block); - return; + return -1; } tftp_log(LOG_ERR, @@ -433,7 +432,7 @@ send_ack: /* Don't do late packet management for the client implementation */ if (acting_as_client) - return; + return 0; for (i = 0; ; i++) { n_data = receive_packet(peer, (char *)rp, pktsize, @@ -446,6 +445,5 @@ send_ack: send_ack(peer, *block); /* resend final ack */ } -abort: - return; + return 0; } diff --git a/libexec/tftpd/tftp-transfer.h b/libexec/tftpd/tftp-transfer.h index cc575ddd8774..0cedc4b937de 100644 --- a/libexec/tftpd/tftp-transfer.h +++ b/libexec/tftpd/tftp-transfer.h @@ -28,6 +28,6 @@ #include __FBSDID("$FreeBSD$"); -void tftp_send(int peer, uint16_t *block, struct tftp_stats *tp); -void tftp_receive(int peer, uint16_t *block, struct tftp_stats *tp, +int tftp_send(int peer, uint16_t *block, struct tftp_stats *tp); +int tftp_receive(int peer, uint16_t *block, struct tftp_stats *tp, struct tftphdr *firstblock, size_t fb_size); From nobody Fri Mar 10 13:29:18 2023 X-Original-To: dev-commits-src-main@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 4PY6My6sPZz3xX6T; Fri, 10 Mar 2023 13:29:18 +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 4PY6My6FrNz3RGy; Fri, 10 Mar 2023 13:29:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454958; 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=8ciKQtK5PDyp82s1qokXx68YQOQJAWXhkMK4dMTIxwE=; b=vktT/GggJk0CNdjiVmKDB4su0MUrdQDzmjO3vUSC8x8W69lflroH8JV4ZF08NTFK4lEfCd h5rjot2C1VR5c0OFPTh0cGfM1Wg0wi+TXZwS+P1gILX3eMbQfF/bE4FLV/q+nibynOe2pP gnM27ndfPsoONlSfmy0BqFEVVt+23elsFGLVqMX/nknQdEe7JHVY8lAcPWjGhOjnJ1HWgg UocSnB5sc2tUhb5kthX9/SYlUlmrgGzoePURQ4BUvnf5GVjW7kmfWd2W7VqIby7kyN33G3 CCJ70eCmaVJ4U18XL0ZpkJ/Fh+txfb2T5ZC0P9exz7qcDHrwZeaqMNwnfpQR3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454958; 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=8ciKQtK5PDyp82s1qokXx68YQOQJAWXhkMK4dMTIxwE=; b=L+IXNCcI2cg7/0KJQSmPeJvOdDADtYejaSdHV+/sT7b86Y6yGWeFYNKaC+wWT4uu5o5EAM xSpyUTeWvIC6EmhkbEkIKnfIySFqC91162h0SF8ycUvdyokQsZbIVIMz3BcRh76DumlWx+ 5gL4rHjM8q+B07Rd8H4VbYw9fdHidqZI5dRtD8Zf6felN9txH8t4J38LXQsfPgPA5ciSt7 YfaDHAA4lWpJd6jp51Is00rgGZsGOk4cD/dfFmuwRXn/jPgerC4j6ldagPwQCbhOkaLmgZ vQsxt/estmPOicxSyUewj4V6b+U5eIzNa/6U5u/Ug8/lSkEozzRRhCeDgurVpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678454958; a=rsa-sha256; cv=none; b=spJCaH8het3tODIUBURlpuAGqneDoBq2NjCkwX2VBWs5nmVnMMjEXBKmEh2ZYpFn09Mnc9 dqCYJZ3I82cdB9ZYuTUxDEWbtlG5zo5vKHPetCPZ9D2vQQy0aZty/wPRpxkYtBJngBvOZu sk2TYHyjy003vx3aoPxyucBzqg45QubuzPgRcnwKoxlOKD4fTqq/eCnBpDNgR2KSqUFFSN aYDWhXteQtFIcoDQYM2wyR+sZG1rTqK/ucLlOdgviAoXR0oxsdVuUcLZmSuEuElet+R3Tt T/Yx04U8ztWt6IBdwFlMtmh6my4IVJK698PH/6Gp8DgGmo3m0PTONux1wLSe7g== 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 4PY6My5LVjzqDD; Fri, 10 Mar 2023 13:29:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32ADTIMC090072; Fri, 10 Mar 2023 13:29:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32ADTIFv090071; Fri, 10 Mar 2023 13:29:18 GMT (envelope-from git) Date: Fri, 10 Mar 2023 13:29:18 GMT Message-Id: <202303101329.32ADTIFv090071@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 92570f67c791 - main - tftp: Correctly propagate transfer errors. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 92570f67c7911126ce742a3dfe1b97046091ed0e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=92570f67c7911126ce742a3dfe1b97046091ed0e commit 92570f67c7911126ce742a3dfe1b97046091ed0e Author: Dag-Erling Smørgrav AuthorDate: 2023-03-10 13:24:28 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-10 13:25:16 +0000 tftp: Correctly propagate transfer errors. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D38958 --- usr.bin/tftp/main.c | 14 +++++++++----- usr.bin/tftp/tftp.c | 44 +++++++++++++++++++++++--------------------- usr.bin/tftp/tftp.h | 5 ++--- 3 files changed, 34 insertions(+), 29 deletions(-) diff --git a/usr.bin/tftp/main.c b/usr.bin/tftp/main.c index 05d8b31331f6..9cc18fbb0d5b 100644 --- a/usr.bin/tftp/main.c +++ b/usr.bin/tftp/main.c @@ -84,7 +84,7 @@ typedef struct sockaddr_storage peeraddr; static int connected; static char mode[32]; static jmp_buf toplevel; -volatile int txrx_error; +static int txrx_error; static int peer; #define MAX_MARGV 20 @@ -501,7 +501,8 @@ put(int argc, char *argv[]) if (verbose) printf("putting %s to %s:%s [%s]\n", cp, hostname, targ, mode); - xmitfile(peer, port, fd, targ, mode); + if (xmitfile(peer, port, fd, targ, mode)) + txrx_error = 1; close(fd); return; } @@ -529,7 +530,8 @@ put(int argc, char *argv[]) if (verbose) printf("putting %s to %s:%s [%s]\n", argv[n], hostname, path, mode); - xmitfile(peer, port, fd, path, mode); + if (xmitfile(peer, port, fd, path, mode) != 0) + txrx_error = 1; close(fd); free(path); @@ -605,7 +607,8 @@ get(int argc, char *argv[]) if (verbose) printf("getting from %s:%s to %s [%s]\n", hostname, src, cp, mode); - recvfile(peer, port, fd, src, mode); + if (recvfile(peer, port, fd, src, mode) != 0) + txrx_error = 1; break; } cp = tail(src); /* new .. jdg */ @@ -617,7 +620,8 @@ get(int argc, char *argv[]) if (verbose) printf("getting from %s:%s to %s [%s]\n", hostname, src, cp, mode); - recvfile(peer, port, fd, src, mode); + if (recvfile(peer, port, fd, src, mode) != 0) + txrx_error = 1; } } diff --git a/usr.bin/tftp/tftp.c b/usr.bin/tftp/tftp.c index 31fefd8f22e2..d5f36e77d853 100644 --- a/usr.bin/tftp/tftp.c +++ b/usr.bin/tftp/tftp.c @@ -68,11 +68,11 @@ __FBSDID("$FreeBSD$"); /* * Send the requested file. */ -void +int xmitfile(int peer, char *port, int fd, char *name, char *mode) { struct tftphdr *rp; - int n, i; + int n, i, ret = 0; uint16_t block; struct sockaddr_storage serv; /* valid server port number */ char recvbuffer[MAXPKTSIZE]; @@ -102,7 +102,7 @@ xmitfile(int peer, char *port, int fd, char *name, char *mode) n = send_wrq(peer, name, mode); if (n > 0) { printf("Cannot send WRQ packet\n"); - return; + return -1; } /* @@ -131,11 +131,11 @@ xmitfile(int peer, char *port, int fd, char *name, char *mode) } if (i == 12) { printf("Transfer timed out.\n"); - return; + return -1; } if (rp->th_opcode == ERROR) { printf("Got ERROR, aborted\n"); - return; + return -1; } /* @@ -146,7 +146,7 @@ xmitfile(int peer, char *port, int fd, char *name, char *mode) if (!options_rfc_enabled) { printf("Got OACK while options are not enabled!\n"); send_error(peer, EBADOP); - return; + return -1; } parse_options(peer, rp->th_stuff, n + 2); @@ -154,29 +154,29 @@ xmitfile(int peer, char *port, int fd, char *name, char *mode) if (read_init(fd, NULL, mode) < 0) { warn("read_init()"); - return; + return -1; } block = 1; - tftp_send(peer, &block, &tftp_stats); + if (tftp_send(peer, &block, &tftp_stats) != 0) + ret = -1; read_close(); if (tftp_stats.amount > 0) printstats("Sent", verbose, &tftp_stats); - - txrx_error = 1; + return ret; } /* * Receive a file. */ -void +int recvfile(int peer, char *port, int fd, char *name, char *mode) { struct tftphdr *rp; uint16_t block; char recvbuffer[MAXPKTSIZE]; - int n, i; + int n, i, ret = 0; struct tftp_stats tftp_stats; stats_init(&tftp_stats); @@ -202,7 +202,7 @@ recvfile(int peer, char *port, int fd, char *name, char *mode) n = send_rrq(peer, name, mode); if (n > 0) { printf("Cannot send RRQ packet\n"); - return; + return -1; } /* @@ -231,16 +231,16 @@ recvfile(int peer, char *port, int fd, char *name, char *mode) } if (i == 12) { printf("Transfer timed out.\n"); - return; + return -1; } if (rp->th_opcode == ERROR) { tftp_log(LOG_ERR, "Error code %d: %s", rp->th_code, rp->th_msg); - return; + return -1; } if (write_init(fd, NULL, mode) < 0) { warn("write_init"); - return; + return -1; } /* @@ -251,7 +251,7 @@ recvfile(int peer, char *port, int fd, char *name, char *mode) if (!options_rfc_enabled) { printf("Got OACK while options are not enabled!\n"); send_error(peer, EBADOP); - return; + return -1; } parse_options(peer, rp->th_stuff, n + 2); @@ -259,16 +259,18 @@ recvfile(int peer, char *port, int fd, char *name, char *mode) n = send_ack(peer, 0); if (n > 0) { printf("Cannot send ACK on OACK.\n"); - return; + return -1; } block = 0; - tftp_receive(peer, &block, &tftp_stats, NULL, 0); + if (tftp_receive(peer, &block, &tftp_stats, NULL, 0) != 0) + ret = -1; } else { block = 1; - tftp_receive(peer, &block, &tftp_stats, rp, n); + if (tftp_receive(peer, &block, &tftp_stats, rp, n) != 0) + ret = -1; } if (tftp_stats.amount > 0) printstats("Received", verbose, &tftp_stats); - return; + return ret; } diff --git a/usr.bin/tftp/tftp.h b/usr.bin/tftp/tftp.h index 26e5652d0fdd..680ea2ea4fb6 100644 --- a/usr.bin/tftp/tftp.h +++ b/usr.bin/tftp/tftp.h @@ -32,9 +32,8 @@ * $FreeBSD$ */ -void recvfile(int peer, char *port, int fd, char *name, char *mode); -void xmitfile(int peer, char *port, int fd, char *name, char *mode); +int recvfile(int peer, char *port, int fd, char *name, char *mode); +int xmitfile(int peer, char *port, int fd, char *name, char *mode); extern int verbose; extern int maxtimeout; -extern volatile int txrx_error; From nobody Fri Mar 10 13:29:19 2023 X-Original-To: dev-commits-src-main@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 4PY6N02rwpz3xX9G; Fri, 10 Mar 2023 13:29: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 4PY6N001sjz3R9x; Fri, 10 Mar 2023 13:29:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454960; 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=a/Tqvx1isusz4JXd5gQrW6OUVorrRYvZ8TcPy8Q6dFM=; b=TOFVW59clPE5o3R+wRMxmjTQm/LFJdQfKRupkipB4WXBrsUOOoA+E1ZZJWxTZ4OryysZhA 3UsdNHfF1dN21S9zoJdqYJtDM9RoOgiJv2/qj8LNWqPbJw/YRdG+laDsUdeA4ZK+i/qwdN 64Y7l8MUs9Rcf0g4JtNpT3uuZjs6ffz9dstVeqFVHyGdCWy1B+wW1ARlIuGbsq6ic5d/KB TJX2g7DkY+NE9BmiprwSzs8P+N5Nfc3CstcAQeOAHsMlefyNXOfSDgl8ZFC0CqKvPv6wx0 6xHTkoSQ6sL65HlRWZUet78L3e2EqrJVY+57rGoOrblbp14M/vpLfeTWNheaRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454960; 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=a/Tqvx1isusz4JXd5gQrW6OUVorrRYvZ8TcPy8Q6dFM=; b=n4AkEzXEJeC91+TXwQzJIL5mGyEjeNLEZmfzCGmsrq9WRF2YQyYky0RrOvga7tHE9tDa7l KkMhJmBe5gCdz7dhmVAncLq6JNTrZHbfmE2oQNst/QRklrlTbcWl9CjcYDj81PpCbwBPIZ ccBoMHGQcnEZTDFVup5rKxaQy1GGTcuAV0z0IK4EDNWi8hsmUIFp7UyGZON4AqXGhyo0ST SIy1V8B/EYKA0bPe5CTxMkTsdndaBmroeyqRzxXtA5hMMJ/MW9aVjIBtKUtYT3Xr5NPcsp vjuy7AJhOLcxkQSczTB5Q/NNl5r5e85gLn3B0dDutAKVUBbVEBA6uBUdac9X9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678454960; a=rsa-sha256; cv=none; b=VatfwM8z1Mig3Hhxwr78ncWgce6hQwl5PwRB3LUPpe5BdM1OzFvvk2c5t6WBz3bTR7huAA rAfwJhvZJV097q7bIaMLRIS8f6O5G60rHE1UTr9jvzg1baCbaaHehXtB7YFvBpK9KjF3NI KeRBOlYsGhfcZBHb7rDwRYDcUmPIJYAuwcQyjSvNvTDya4oGl+oWYRne8wXusN2joYM4KF 1DpNCpkiJc3SgVJf9O5OgZpsARNOz7aqrBEsowThrsof+BqFOQWpJM8kXrH6RB1rTEK4TX yLZa34wcB4/0G3AZqYx6j/V0qSqGR+h4NuYffDmiVjQta60y5/CvOPIxuRQPEw== 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 4PY6Mz6Ffbzqfp; Fri, 10 Mar 2023 13:29:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32ADTJs4090105; Fri, 10 Mar 2023 13:29:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32ADTJvg090104; Fri, 10 Mar 2023 13:29:19 GMT (envelope-from git) Date: Fri, 10 Mar 2023 13:29:19 GMT Message-Id: <202303101329.32ADTJvg090104@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 9f6f64941c02 - main - tftpd: Make the -d option behave as documented. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9f6f64941c02596b01367fd99abdd2c91ba0fe79 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=9f6f64941c02596b01367fd99abdd2c91ba0fe79 commit 9f6f64941c02596b01367fd99abdd2c91ba0fe79 Author: Dag-Erling Smørgrav AuthorDate: 2023-03-10 13:24:32 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-10 13:25:16 +0000 tftpd: Make the -d option behave as documented. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D38965 --- libexec/tftpd/tftpd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libexec/tftpd/tftpd.c b/libexec/tftpd/tftpd.c index c592a592bf7f..4b8a3024fe5a 100644 --- a/libexec/tftpd/tftpd.c +++ b/libexec/tftpd/tftpd.c @@ -140,7 +140,7 @@ main(int argc, char *argv[]) acting_as_client = 0; tftp_openlog("tftpd", LOG_PID | LOG_NDELAY, LOG_FTP); - while ((ch = getopt(argc, argv, "cCd:F:lnoOp:s:u:U:wW")) != -1) { + while ((ch = getopt(argc, argv, "cCd::F:lnoOp:s:u:U:wW")) != -1) { switch (ch) { case 'c': ipchroot = 1; @@ -149,7 +149,9 @@ main(int argc, char *argv[]) ipchroot = 2; break; case 'd': - if (atoi(optarg) != 0) + if (optarg == NULL) + debug++; + else if (atoi(optarg) != 0) debug += atoi(optarg); else debug |= debug_finds(optarg); From nobody Fri Mar 10 13:29:20 2023 X-Original-To: dev-commits-src-main@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 4PY6N11Dl5z3xXHs; Fri, 10 Mar 2023 13:29: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 4PY6N10V4Rz3RFC; Fri, 10 Mar 2023 13:29:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454961; 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=0TkpEUPYgnCcYVNGONk6OctBDu9RPltKo+al+BwbpxM=; b=Qwb9Jgom0ijcHSUeVAr9k5z9SfeFTKVi2rYaphkReiQHIAB8mMMNNSAVTEgghyXxlhmwb8 epCsPxdzMtX1Muxax1U1D+tA3r+c/eVcr9WIhGMoi2P9SYMO9emAPf7AzBl8PGVQGHD4gk Wd5z9Mf5aM7BTJD8tfNLpCE7sW0kktInBjKiEqUTm7bryEAVn0Ysu/N2hWfbC6o2XpDLd3 nbUrIdwYnPOgOyY42x2Pk/YcRb7RGAxDCVS5HsfmhcthkpBFPiTW0kuRcR2YesUnflZ7Ra 8XxMb9onJ1hLke40o1NTw7bk3/lQDV/vUfMKYeQBz0R8lNZiHD+awEZI/KGJNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454961; 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=0TkpEUPYgnCcYVNGONk6OctBDu9RPltKo+al+BwbpxM=; b=K5SX1pvqvh5TrmhI/HHf+ue9m4At0/ySXdLNYIOBslEUvpUhlQSMoPRuAw525Ot8nRIzBl 8PpUYV4IAmGQoQ72gMQPNMKr/SS/9PRg30Z7T70sPVYnBE2IYB4zRoT+pRX8WICJNOVD6x QdI+CeGmERYgtt18rt0Gx1oYR9voitgNfedp4r2VjDq+lnryGNj/cFeemZKZbs57o1xqUz zsiihsjAj6vlu6e8/G0hXWU1Y72AiXPbf4BbunDmWaYYCqeHBaqH3jnHQLpQc/GmPFLFjn t560Xt6kpxNVSe/WGuGJRu4qgU3oswkvVa66wqVc6DUw/9hFHIVvv1r5iY1IDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678454961; a=rsa-sha256; cv=none; b=ZqkHrtUH88AamY9NTxLZLSHsifZ/Cwo73b4yHfcJIIPPD3q0oIdRvPvbXWdArU//sYMnMc RFWXtXriunRyQBJSqsSUbbjKbwe124tG5UveTgoikcbTE3YwB3deJpFCSOb2K5EdFTx1+w j66Kbti/y3xhHMz5NQ9Hxy2I+22KgtCn9mhoQ/HK9J+g7jHIzKdWxVR25VvLUAuBk/4+Fu dRzG9Djhs1d/KiYpq2Iff41HUamJMFEV+EMkt7LOw8J+GrBtpUe4tUj2fegfEz9wxjQnb4 MG/nRcgpvQ2hlOztcLExfAFA63WXT3qOYk2DlMNhl5ZmJNOnBE6BdNGWS+nmww== 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 4PY6N06ZyzzqSV; Fri, 10 Mar 2023 13:29:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32ADTKRp090129; Fri, 10 Mar 2023 13:29:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32ADTKWl090128; Fri, 10 Mar 2023 13:29:20 GMT (envelope-from git) Date: Fri, 10 Mar 2023 13:29:20 GMT Message-Id: <202303101329.32ADTKWl090128@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: e3b4cb1b32c0 - main - tftpd: Use poll() instead of alarm() + setjmp(). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e3b4cb1b32c05ec668b16fe4e858e78b61fe5805 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e3b4cb1b32c05ec668b16fe4e858e78b61fe5805 commit e3b4cb1b32c05ec668b16fe4e858e78b61fe5805 Author: Dag-Erling Smørgrav AuthorDate: 2023-03-10 13:24:36 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-10 13:25:16 +0000 tftpd: Use poll() instead of alarm() + setjmp(). While there, don't log an error when timing out waiting for a possible retransmit after a successful transfer. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D38966 --- libexec/tftpd/tftp-io.c | 38 ++++++++++---------------------------- libexec/tftpd/tftp-transfer.c | 2 +- 2 files changed, 11 insertions(+), 29 deletions(-) diff --git a/libexec/tftpd/tftp-io.c b/libexec/tftpd/tftp-io.c index 4504946e910f..a39b7cfe1fa3 100644 --- a/libexec/tftpd/tftp-io.c +++ b/libexec/tftpd/tftp-io.c @@ -38,8 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include +#include #include #include #include @@ -377,27 +376,19 @@ send_data(int peer, uint16_t block, char *data, int size) /* * Receive a packet + * + * If timeout is negative, no error will be logged on timeout. */ -static jmp_buf timeoutbuf; - -static void -timeout(int sig __unused) -{ - - /* tftp_log(LOG_DEBUG, "Timeout\n"); Inside a signal handler... */ - longjmp(timeoutbuf, 1); -} - int receive_packet(int peer, char *data, int size, struct sockaddr_storage *from, - int thistimeout) + int timeout) { + struct pollfd pfd; struct tftphdr *pkt; struct sockaddr_storage from_local; struct sockaddr_storage *pfrom; socklen_t fromlen; int n; - static int timed_out; if (debug & DEBUG_PACKETS) tftp_log(LOG_DEBUG, @@ -405,13 +396,11 @@ receive_packet(int peer, char *data, int size, struct sockaddr_storage *from, pkt = (struct tftphdr *)data; - signal(SIGALRM, timeout); - timed_out = setjmp(timeoutbuf); - alarm(thistimeout); - - if (timed_out != 0) { - tftp_log(LOG_ERR, "receive_packet: timeout"); - alarm(0); + pfd.fd = peer; + pfd.events = POLLIN; + if (poll(&pfd, 1, 1000 * (timeout < 0 ? -timeout : timeout)) < 1) { + if (timeout > 0) + tftp_log(LOG_ERR, "receive_packet: timeout"); return (RP_TIMEOUT); } @@ -419,15 +408,8 @@ receive_packet(int peer, char *data, int size, struct sockaddr_storage *from, fromlen = sizeof(*pfrom); n = recvfrom(peer, data, size, 0, (struct sockaddr *)pfrom, &fromlen); - alarm(0); - DROPPACKETn("receive_packet", RP_TIMEOUT); - if (n < 0) { - tftp_log(LOG_ERR, "receive_packet: timeout"); - return (RP_TIMEOUT); - } - if (n < 0) { /* No idea what could have happened if it isn't a timeout */ tftp_log(LOG_ERR, "receive_packet: %s", strerror(errno)); diff --git a/libexec/tftpd/tftp-transfer.c b/libexec/tftpd/tftp-transfer.c index 91f87a1159a4..1949d00657b6 100644 --- a/libexec/tftpd/tftp-transfer.c +++ b/libexec/tftpd/tftp-transfer.c @@ -436,7 +436,7 @@ send_ack: for (i = 0; ; i++) { n_data = receive_packet(peer, (char *)rp, pktsize, - NULL, timeoutpacket); + NULL, -timeoutpacket); if (n_data <= 0) break; if (n_data > 0 && From nobody Fri Mar 10 13:29:21 2023 X-Original-To: dev-commits-src-main@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 4PY6N220djz3xX6X; Fri, 10 Mar 2023 13:29:22 +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 4PY6N21XQxz3RJW; Fri, 10 Mar 2023 13:29:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454962; 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=uMHVVVPyuFwixkHvMnK2Lwh4+MAcbcxI2XCZF64N+Jg=; b=tuB67LEa9py39il5/kW0mXt8h/+iAmAeqgMt4XFxnhxHl/zb8Ss2S7N4nFF7Lvv7JPHsbe yBAWnNwWhKBpmdiYvFORbOZsW+c2oKIHEJZpVLWeXsraY2LHf5osYoiwjYLyx7zPozxaXW PkAXQ6won5oxestKuPhzIovjtmoNUjRRs4oLR7V1FZcfdwY29hBvFWcbdYs8F3jgcgJmlc q5IEWcC8/tA1w1bRpyBElQYG+pQWmpQbVX72ue28tbeT1goM61p9UvkpzeWQ6Lf6NOOhy9 goRfY+wEY5HTiW/igZiXnLD0jpJXrcXZlg2XahFZgn9tfbgEFyPRCZwS4RqoBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454962; 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=uMHVVVPyuFwixkHvMnK2Lwh4+MAcbcxI2XCZF64N+Jg=; b=DZzCgrRCoC351sfvPhjHDHH7NvwS/tVrglOysw3BKVY1WGOwNMF2sgBVziD3NvQ3vIglBh NnyXd+vTuFNOzgl4ADKvaMZL24YDNq+fcKLX6DOTYs5alyDWpYT4lxA5cAeWhFbrXfIZFo Tifi3p4LlxxqwMl4W5g+RHs4Yn6yHANvtjXVP8YOw/zsYtNAu9u3x7gTfqs1LJleoZKrCD S4ySxz6OFmQ8ssKeO4aVgfRrcHtNvTYCbnzJaVnLn+s3QHUrrNZ9W/xhQ+oR0wOLNruMDt Hi/yFOAZdlL0QvUGNvBm8nBBhQsHDQMxIJA/rNmo5IwMUnoC74I4885GwpJbQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678454962; a=rsa-sha256; cv=none; b=GsHfU/DBlrzmr2z0/Kx8oXlaxRHdu8NnCj8SBrF3PnRjxjAQOr+k+CJ2172wiTzY9Hmxen 0sXgKV7mRT264AQGvT7CNEBJG6QgcVTzbxdO6sCb5wA0PoNTP4rckacmWljoFK22FCaBva ZfK3J1h3yRhMGM/4y+KVDeXAG7nz4dy0NT29oDApMy81vf85RPn26lbh+8ZTuSktM48uN9 4sc7rex/yF9LPGTaKLTLYjE0GmXL3uaq1f1DaNykaKR9I5ji0Zw/nox8Q2ZEHlleyhrheh nEKJ6zrhaoo1mB/mGy/LP0jhZ+p8chuMjXZREXTBc8NuRBEpI9uMQ0auTTXd/g== 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 4PY6N20cHWzqSW; Fri, 10 Mar 2023 13:29:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32ADTLK4090153; Fri, 10 Mar 2023 13:29:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32ADTLbA090152; Fri, 10 Mar 2023 13:29:21 GMT (envelope-from git) Date: Fri, 10 Mar 2023 13:29:21 GMT Message-Id: <202303101329.32ADTLbA090152@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: b4736c90adb8 - main - tftpd: Don't consume arbitrary requests when failing to fork. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b4736c90adb84032aaf1e3bcb8988916a82ed5de Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b4736c90adb84032aaf1e3bcb8988916a82ed5de commit b4736c90adb84032aaf1e3bcb8988916a82ed5de Author: Dag-Erling Smørgrav AuthorDate: 2023-03-10 13:24:44 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-10 13:25:16 +0000 tftpd: Don't consume arbitrary requests when failing to fork. We've already consumed one request, which is sufficient to prevent inetd from endlessly restarting us in this particular and extremely unlikely case. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D38967 --- libexec/tftpd/tftpd.c | 52 ++++++++++++--------------------------------------- 1 file changed, 12 insertions(+), 40 deletions(-) diff --git a/libexec/tftpd/tftpd.c b/libexec/tftpd/tftpd.c index 4b8a3024fe5a..8e3d2e13f320 100644 --- a/libexec/tftpd/tftpd.c +++ b/libexec/tftpd/tftpd.c @@ -134,7 +134,8 @@ main(int argc, char *argv[]) struct passwd *nobody; const char *chuser = "nobody"; char recvbuffer[MAXPKTSIZE]; - int allow_ro = 1, allow_wo = 1; + int allow_ro = 1, allow_wo = 1, on = 1; + pid_t pid; tzset(); /* syslog in localtime */ acting_as_client = 0; @@ -222,12 +223,9 @@ main(int argc, char *argv[]) umask(mask); - { - int on = 1; - if (ioctl(0, FIONBIO, &on) < 0) { - tftp_log(LOG_ERR, "ioctl(FIONBIO): %s", strerror(errno)); - exit(1); - } + if (ioctl(0, FIONBIO, &on) < 0) { + tftp_log(LOG_ERR, "ioctl(FIONBIO): %s", strerror(errno)); + exit(1); } /* Find out who we are talking to and what we are going to do */ @@ -255,40 +253,14 @@ main(int argc, char *argv[]) * break before doing the above "recvfrom", inetd would * spawn endless instances, clogging the system. */ - { - int i, pid; - - for (i = 1; i < 20; i++) { - pid = fork(); - if (pid < 0) { - sleep(i); - /* - * flush out to most recently sent request. - * - * This may drop some request, but those - * will be resent by the clients when - * they timeout. The positive effect of - * this flush is to (try to) prevent more - * than one tftpd being started up to service - * a single request from a single client. - */ - peerlen = sizeof peer_sock; - i = recvfrom(0, recvbuffer, MAXPKTSIZE, 0, - (struct sockaddr *)&peer_sock, &peerlen); - if (i > 0) { - n = i; - } - } else { - break; - } - } - if (pid < 0) { - tftp_log(LOG_ERR, "fork: %s", strerror(errno)); - exit(1); - } else if (pid != 0) { - exit(0); - } + pid = fork(); + if (pid < 0) { + tftp_log(LOG_ERR, "fork: %s", strerror(errno)); + exit(1); + } else if (pid != 0) { + exit(0); } + /* child */ #ifdef LIBWRAP /* From nobody Fri Mar 10 13:29:23 2023 X-Original-To: dev-commits-src-main@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 4PY6N32dsmz3xX9Y; Fri, 10 Mar 2023 13:29: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 4PY6N329ZYz3hCQ; Fri, 10 Mar 2023 13:29:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454963; 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=cfbsxs7NcqV7elRf+GPpJgLQ6bW2bFhBKDh7zMF4lfg=; b=wowPEQC+E8Y9NZ7aPzeRuenS/v8hR0BuQgKYLz8XHlbJT+k+kp1Zgx9l3i4Yvx0I2WdDqu uxzyDFtzlJigETUXYPCZxRFdnK72WkoC7I7XZqvWtlvi/DdPedQwB6bw5d1OA9rXe4iwZv 5lQD0SRm+CNyImZYLeS6DYbXRU86unF1ZqaFnvrUxkeysQg6jDS9efNLN9T1aKtr5TGjbA 0EQRtjCqXGMJu6ownPJcKp5nRoSjMfnL+UQ90U5OoErRiqE0y4kYC7xrKjQiVolSAcVKuc Wnv6MiL6wCVWJIEF2i7HQbZ3nIwaIFHbTAX4iinzYPAZEDI04STkzHqAkoUvGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454963; 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=cfbsxs7NcqV7elRf+GPpJgLQ6bW2bFhBKDh7zMF4lfg=; b=RSfa1C2qJITk8wkw+3W47XtlUscfjOwd0NOgJWuwkja9IFLONE3ZLKzLrP1980CrYEDD2m 1SE3w64ZTLTSdVyme8MRBAppupkVex3uYdHph5zY6NEbcU/2bSA0pIfRb0Wk6tq+aVCXfx UVcEgYnLLrFZI2OgRQTt8kHxCpn5R3guvgWmXicodlHgs3TTz1pxpNEZKdagyGKFTjmLoO f2vPQOoU0Li9tkMO/22tLeqxPqQFy0ldxkvxY1Bi60sHFBYET+kZi248AbXaUCWKmWtCSE 3t/x2mYQu1l5wnPBu2YxIkbqHSjl67ZbvC6riu7Wv5C+CCWyptMzft7mn47Rmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678454963; a=rsa-sha256; cv=none; b=Y7MmGVkvX57FxUXbSy/6etKzB7JGtV0930LMPpGqvY8fRjYA+qQ//d36omL7lTiaG+6nW7 jPcupF7caJxyxF7+i7/zN9xIUiOOcumpCBUzudTM+4XwgqlCPrKwzuZ9bYZol/Zf9i1keu bMNZ36Acr7Jq4206SLC3stwbXpb2Ba3zU58TBL7uvZoWQHh5hTnN4E0bVG9m1TKXaLCYdr vV9ilRSvL1cZCQHLq81QidoztpzHLZlwxoNAC0pvHUJ30XalLb+EqmJNoEA5wsvcI+9IjL 5DlPKkabgZ0JNHFvdpAcwC0sG50/bi2j/YzNs7nVcWPUnKSY0wDM901+kQgLwg== 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 4PY6N31HJ2zqfq; Fri, 10 Mar 2023 13:29:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32ADTNRe090178; Fri, 10 Mar 2023 13:29:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32ADTN5w090177; Fri, 10 Mar 2023 13:29:23 GMT (envelope-from git) Date: Fri, 10 Mar 2023 13:29:23 GMT Message-Id: <202303101329.32ADTN5w090177@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 77e83935b7ef - main - tftpd: Don't forget to close stderr on startup. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 77e83935b7efb0d881fdb77117eb992e807ed9d7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=77e83935b7efb0d881fdb77117eb992e807ed9d7 commit 77e83935b7efb0d881fdb77117eb992e807ed9d7 Author: Dag-Erling Smørgrav AuthorDate: 2023-03-10 13:24:50 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-10 13:25:16 +0000 tftpd: Don't forget to close stderr on startup. Just like stdin and stdout, stderr is a copy of the listen socket inherited from inetd. We need to close it so inetd can process further requests, be restarted, etc. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D38968 --- libexec/tftpd/tftpd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libexec/tftpd/tftpd.c b/libexec/tftpd/tftpd.c index 8e3d2e13f320..b25e8b0c762f 100644 --- a/libexec/tftpd/tftpd.c +++ b/libexec/tftpd/tftpd.c @@ -381,8 +381,9 @@ main(int argc, char *argv[]) me_sock.ss_family = peer_sock.ss_family; me_sock.ss_len = peer_sock.ss_len; } - close(0); - close(1); + close(STDIN_FILENO); + close(STDOUT_FILENO); + close(STDERR_FILENO); peer = socket(peer_sock.ss_family, SOCK_DGRAM, 0); if (peer < 0) { tftp_log(LOG_ERR, "socket: %s", strerror(errno)); From nobody Fri Mar 10 13:29:24 2023 X-Original-To: dev-commits-src-main@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 4PY6N45d0kz3xXR9; Fri, 10 Mar 2023 13:29: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 4PY6N43YWnz3hCn; Fri, 10 Mar 2023 13:29:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454964; 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=wgX1TCo8+6cUXkVIyD82HPeb4yLfNFFNhzI/OOc+NoM=; b=jq+kG+yD0eqG9os1IvC1uqxH5DdqPQz1oFj3M1r+J8PzkU7yjfGwBAH2MU4fClwDwUOXKw WTz+/OAduHEunfcnlRtAM1UaCR4qu8Q4kDCF/EZ8BeeUT025sXfVSLdeGFB3hrXqmuu61R znm561jPCpwMixzQ1u5dMtMpAxgXooFGgRiNIjUWVz5Y3VnYmXqdC63WTOqjrmzUh43g7S AsU4INXngxcQJlyRiBINd2/AiNgKbbdgbKYT/IlrDGNdixfkYMOYzgx+MLyhoOETihFOaQ u6Go4vI3XuRpWntMWYCy/uoCoLIsdXiqU4d0KgBl70dl7L2C5LyHyaz/hQ6HIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678454964; 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=wgX1TCo8+6cUXkVIyD82HPeb4yLfNFFNhzI/OOc+NoM=; b=E9EwEhSzBsHAUhO2K6RHH9E4dnR0vPGKhOgduJMfBHb24LmVsQbcMaIkJIBpAvmT/3Td4V n2hGXYRtEU42w3E/LKAOuQRaKyb+MKfhqQ2ZQ1fiVledopGKjMq8cN2gxOT3MeUSJ0cMJV DTjbQLh5mvFQakRGHG6MgwBDKwNQ1RJlGUfZ3hl/I/twYg3NAdufnRyWXASVKJTF+eokMe n1jRB0rocfh9S/1udI7XuahAmsbWEmMgDGcM7hcEplBlVlezeLyaw3tKaJ3grC9dS2egda 4tyDgujToN4+LebBG+6H6K+EJPI6ATyMp7tJD82qupiXvAeMMejSOzMRqkXU5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678454964; a=rsa-sha256; cv=none; b=q4g/O4+qZxGlO8jlf1UbI0G1xAZT5Lo8IQAJtuB+V9AJb8kADk9TPY37tVKnPX8Be1xg/u ZtE3NM1tx9S7ZwGCN0atoR2S4FBoQzn4olMYvVL3+Bw4cwpvFmO0SNgXcKsAU0zWUFjHxD lpqcoyaD9VgyRCpxNyQLBzoWwC6PmQ3UcA4f+bEvBmP1SzIfTgpfhGmkQtx7zfnx2on7X/ X5e02T24eaf/GmEKmIxgyB8o75yZ3vuvB4l95nAUXAQRNoalUATytUsHyCiNKYMVvX6y/E ScpnTvEB8Qourmari9z+f6v9ber9eW9/fN/BxyEpT0ohT80cQ7Ku+WnnP9vdSg== 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 4PY6N42SfTzqWQ; Fri, 10 Mar 2023 13:29:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32ADTOI5090208; Fri, 10 Mar 2023 13:29:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32ADTOLJ090207; Fri, 10 Mar 2023 13:29:24 GMT (envelope-from git) Date: Fri, 10 Mar 2023 13:29:24 GMT Message-Id: <202303101329.32ADTOLJ090207@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 64c2a712d661 - main - tftp: Add tests. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 64c2a712d661db9be31f02fe97c3b59710290ae3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=64c2a712d661db9be31f02fe97c3b59710290ae3 commit 64c2a712d661db9be31f02fe97c3b59710290ae3 Author: Dag-Erling Smørgrav AuthorDate: 2023-03-10 13:24:56 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-10 13:25:16 +0000 tftp: Add tests. Sponsored by: Klara, Inc. Reviewed by: asomers Differential Revision: https://reviews.freebsd.org/D38969 --- etc/mtree/BSD.tests.dist | 2 + usr.bin/tftp/Makefile | 5 + usr.bin/tftp/tests/Makefile | 10 + usr.bin/tftp/tests/tftp_test.sh | 406 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 423 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index f3420369ad80..c9a13cec193e 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -1110,6 +1110,8 @@ .. tar .. + tftp + .. tr .. truncate diff --git a/usr.bin/tftp/Makefile b/usr.bin/tftp/Makefile index b6ad018e03ac..91df4847c629 100644 --- a/usr.bin/tftp/Makefile +++ b/usr.bin/tftp/Makefile @@ -1,6 +1,8 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 # $FreeBSD$ +.include + .PATH: ${SRCTOP}/libexec/tftpd PROG= tftp @@ -10,4 +12,7 @@ CFLAGS+=-I${SRCTOP}/libexec/tftpd LIBADD= edit +HAS_TESTS= +SUBDIR.${MK_TESTS}= tests + .include diff --git a/usr.bin/tftp/tests/Makefile b/usr.bin/tftp/tests/Makefile new file mode 100644 index 000000000000..ca5d89f92af3 --- /dev/null +++ b/usr.bin/tftp/tests/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +PACKAGE= tests + +ATF_TESTS_SH= tftp_test +BINDIR= ${TESTSDIR} + +TESTS_METADATA.tftp_test+= is_exclusive="true" + +.include diff --git a/usr.bin/tftp/tests/tftp_test.sh b/usr.bin/tftp/tests/tftp_test.sh new file mode 100644 index 000000000000..96e375f51aeb --- /dev/null +++ b/usr.bin/tftp/tests/tftp_test.sh @@ -0,0 +1,406 @@ +# +# Copyright (c) 2023 Klara, Inc. +# +# SPDX-License-Identifier: BSD-2-Clause +# + +tftp_dir="${TMPDIR:-/tmp}/tftp.dir" +inetd_conf="${TMPDIR:-/tmp}/inetd.conf" +inetd_pid="${TMPDIR:-/tmp}/inetd.pid" + +start_tftpd() { + if ! [ -z "$(sockstat -PUDP -p69 -q)" ] ; then + atf_skip "the tftp port is in use" + fi + echo "starting inetd for $(atf_get ident)" >&2 + rm -rf "${tftp_dir}" + mkdir "${tftp_dir}" + cat >"${inetd_conf}" <&2 + # Send SIGTERM to inetd, then SIGKILL until it's gone + local sig=TERM + while pkill -$sig -LF "${inetd_pid}" inetd ; do + echo "waiting for inetd to stop" >&2 + sleep 1 + sig=KILL + done + rm -rf "${tftp_dir}" "${inetd_conf}" "${inetd_pid}" +} + +atf_test_case tftp_get_big cleanup +tftp_get_big_head() { + atf_set "descr" "get command with big file" + atf_set "require.user" "root" +} +tftp_get_big_body() { + start_tftpd + local remote_file="${tftp_dir}/remote.bin" + dd if=/dev/urandom of="${remote_file}" bs=1m count=16 status=none + local local_file="local.bin" + echo "get ${remote_file##*/} ${local_file}" >client-script + atf_check -o match:"Received [0-9]+ bytes" \ + tftp localhost "${remote_file}" + local local_file="${remote_file##*/}" + echo "get localhost:${remote_file##*/}" >client-script + atf_check -o match:"Received [0-9]+ bytes" \ + tftp "${remote_file}" + local local_file="${remote_file##*/}" + echo "get 127.0.0.1:${remote_file##*/}" >client-script + atf_check -o match:"Received [0-9]+ bytes" \ + tftp "${remote_file}" + local local_file="${remote_file##*/}" + echo "get [::1]:${remote_file##*/}" >client-script + atf_check -o match:"Received [0-9]+ bytes" \ + tftp "${remote_file}" + local local_file="${remote_file##*/}" + echo "get ${remote_file##*/}" >client-script + atf_check -o match:"Received [0-9]+ bytes" \ + tftp localhost "${remote_file}" + local local_file="world.txt" + echo "get ${remote_file##*/} ${local_file}" >client-script + atf_check -o match:"Received [0-9]+ bytes" \ + tftp localhost client-script + for f in $(jot -c $n 97) ; do + echo "test file $$/$f/$n" >"${tftp_dir}/${f}.txt" + echo -n " ${f}.txt" >>client-script + rm -f "${f}.txt" + done + echo >>client-script + atf_check -o match:"Received [0-9]+ bytes" \ + tftp localhost "${tftp_dir}/${f}.txt" + rm -f "${f}.txt" + done + echo "get localhost:a.txt b.txt c.txt" >client-script + atf_check -o match:"Received [0-9]+ bytes" \ + tftp localhost client-script + atf_check -o match:"Sent [0-9]+ bytes" \ + tftp localhost "${local_file}" + local remote_file="${tftp_dir}/remote.txt" + truncate -s 0 "${remote_file}" + chown nobody:nogroup "${remote_file}" + chmod 0666 "${remote_file}" + echo "put ${local_file} localhost:${remote_file##*/}" >client-script + atf_check -o match:"Sent [0-9]+ bytes" \ + tftp "${local_file}" + local remote_file="${tftp_dir}/remote.txt" + truncate -s 0 "${remote_file}" + chown nobody:nogroup "${remote_file}" + chmod 0666 "${remote_file}" + echo "put ${local_file} 127.0.0.1:${remote_file##*/}" >client-script + atf_check -o match:"Sent [0-9]+ bytes" \ + tftp "${local_file}" + local remote_file="${tftp_dir}/remote.txt" + truncate -s 0 "${remote_file}" + chown nobody:nogroup "${remote_file}" + chmod 0666 "${remote_file}" + echo "put ${local_file} [::1]:${remote_file##*/}" >client-script + atf_check -o match:"Sent [0-9]+ bytes" \ + tftp "${local_file}" + local remote_file="${tftp_dir}/${local_file}" + truncate -s 0 "${remote_file}" + chown nobody:nogroup "${remote_file}" + chmod 0666 "${remote_file}" + echo "put ${local_file}" >client-script + atf_check -o match:"Sent [0-9]+ bytes" \ + tftp localhost "${local_file}" + local remote_file="${tftp_dir}/remote.txt" + truncate -s 0 "${remote_file}" + chown nobody:nogroup "${remote_file}" + chmod 0666 "${remote_file}" + echo "put ${local_file} ${remote_file##*/}" >client-script + atf_check -o match:"Sent [0-9]+ bytes" \ + tftp localhost client-script + for f in $(jot -c $n 97) ; do + echo "test file $$/$f/$n" >"${f}.txt" + truncate -s 0 "${tftp_dir}/subdir/${f}.txt" + chown nobody:nogroup "${tftp_dir}/subdir/${f}.txt" + chmod 0666 "${tftp_dir}/subdir/${f}.txt" + echo -n " ${f}.txt" >>client-script + done + echo " subdir" >>client-script + atf_check -o match:"Sent [0-9]+ bytes" \ + tftp localhost client-script + for f in a b c ; do + echo "test file $$/$f" >"${f}.txt" + truncate -s 0 "${tftp_dir}/subdir/${f}.txt" + chown nobody:nogroup "${tftp_dir}/subdir/${f}.txt" + chmod 0666 "${tftp_dir}/subdir/${f}.txt" + echo -n " ${f}.txt" >>client-script + done + echo " localhost:subdir" >>client-script + atf_check -o match:"Sent [0-9]+ bytes" \ + tftp To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 1955ad42b3b7 - main - tftpd: Gracefully skip tests if networking is not enabled. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1955ad42b3b71a2083bd6d2aec0d9a10dd78eb21 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=1955ad42b3b71a2083bd6d2aec0d9a10dd78eb21 commit 1955ad42b3b71a2083bd6d2aec0d9a10dd78eb21 Author: Dag-Erling Smørgrav AuthorDate: 2023-03-10 13:25:00 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-03-10 13:25:16 +0000 tftpd: Gracefully skip tests if networking is not enabled. Sponsored by: Klara, Inc. Reviewed by: asomers Differential Revision: https://reviews.freebsd.org/D39012 --- libexec/tftpd/tests/functional.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libexec/tftpd/tests/functional.c b/libexec/tftpd/tests/functional.c index 8c35daf5cd65..36f22ea33294 100644 --- a/libexec/tftpd/tests/functional.c +++ b/libexec/tftpd/tests/functional.c @@ -319,7 +319,13 @@ setup(struct sockaddr_storage *to, uint16_t idx) ATF_REQUIRE_EQ(getcwd(pwd, sizeof(pwd)), pwd); /* Must bind(2) pre-fork so it happens before the client's send(2) */ - ATF_REQUIRE((server_s = socket(protocol, SOCK_DGRAM, 0)) > 0); + server_s = socket(protocol, SOCK_DGRAM, 0); + if (server_s < 0 && errno == EAFNOSUPPORT) { + atf_tc_skip("This test requires IPv%d support", + protocol == PF_INET ? 4 : 6); + } + ATF_REQUIRE_MSG(server_s >= 0, + "socket failed with error %s", strerror(errno)); ATF_REQUIRE_EQ_MSG(bind(server_s, server_addr, len), 0, "bind failed with error %s", strerror(errno)); From nobody Fri Mar 10 14:14:23 2023 X-Original-To: dev-commits-src-main@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 4PY7N01fpBz3xZLX; Fri, 10 Mar 2023 14:14: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 4PY7N015BHz3nQY; Fri, 10 Mar 2023 14:14:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678457664; 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=JuOAAZVVdU7ZccQtvgKlZQrjbAt06DKngPFmThOJMLw=; b=hlaUQISmOluDzofYI691XUI86/PHLNcybs/prfETgSXDSlu1F4a1N7OG14lxu8MOmyLw7r YC4byy9+oDx7p6EcPLaLs8LOP57gGUxMWTX6PuCcTHEk/QRdDrkfjimlJJ9kHaJbBWc0SJ d45eqnrebXyQd1nAwpDiNjRXgHf7gK854M0n2TfefEYz1jYOBVOmCWJzUjnMjSn3WnTJo8 UAjvTTB9Kq6716MGMbMOE6mR19HZnPQSBjJFgIUYCs8iumUJqZe+o84hK0KdrMxpcsYEqT Yk0Fwp/+8vf5h3DVIYh3rhy29mOqw6EqWn/WhWQ9MuxedSkDC1JRtCQYnkCfmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678457664; 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=JuOAAZVVdU7ZccQtvgKlZQrjbAt06DKngPFmThOJMLw=; b=boHexNTsXQVxSoHGSqB45ccYnRVSbGynvqYvrK/NPJyDpv6e61IjkJdjtXEJsRzgPQuCoO kB6wvtWX+0klS/x83IYGhVaZz4hCaF/WfLbue3hctKu5vit7CWmAnpwsTRUrsIfzT2Mp7F dm2Gn94//BsPxlH4b1cwRFUtnHfX5VhzKeG4CinwlxN5tZIdmCNrpke34WDt3/ML6patU2 2GbHjuWCNMR9ct1AWrDE8cZeWNxH45Uo7HJfGAjeLpryDyOV1bC1MfNVMbP7uVt2V8HpiT gADnQI6AlgdTGXqBofQjPpNnuT7+o7RvBrVf0OjCYaFcm85MaqkT7jcLv9Fg7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678457664; a=rsa-sha256; cv=none; b=xvnNHaHiBxtSaDb+KMem6/hkd/xihZYH9/bM4rgnY9ej2SbrlLAPOLnxyl3ofCRNUwEQgV zfim9VZRSxCTcnBQrxo65++dCr5hoaabdibzeSUReS+Q2BAA1C6A7y11ptxJS7Om8rqGOK YVOLBBdE/liR4enb1TrRiKk8e7YP3JHK65s6nKhPc/TMXi+TSLLdVv7W1Wd83+NYLWZ2Jm iYTaSfZFXkUlb93KaNeSFgcJsGmF0uqSl6g3IhGHhHdDou+kJ6buZsb50HmOEC44a6CK0K 5XkD2V0hgsIdw9YKQxmD3kDG5ehKx5AssdlTtZpf20aZo9olwcJGaFA3UHsCKA== 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 4PY7N0074bzrdp; Fri, 10 Mar 2023 14:14:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32AEEN5c072506; Fri, 10 Mar 2023 14:14:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32AEENtt072505; Fri, 10 Mar 2023 14:14:23 GMT (envelope-from git) Date: Fri, 10 Mar 2023 14:14:23 GMT Message-Id: <202303101414.32AEENtt072505@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 9503d2704ca6 - main - opts: Minor cleanup of ZFS options List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9503d2704ca62293aca96642caa7922ec036e9ed Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9503d2704ca62293aca96642caa7922ec036e9ed commit 9503d2704ca62293aca96642caa7922ec036e9ed Author: Warner Losh AuthorDate: 2023-03-10 13:55:11 +0000 Commit: Warner Losh CommitDate: 2023-03-10 14:14:04 +0000 opts: Minor cleanup of ZFS options Remove redundant CPUARCH test: we really just want a plain MACHINE_ARCH here. Second, always turn off LOADER_ZFS when we turn off ZFS. Not 100% required, but we did it some places and not others. There's no current mechanism to say that if X is disabled then X_Y must be too. Sponsored by: Netflix --- share/mk/src.opts.mk | 5 +++-- sys/conf/kern.opts.mk | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 7e477a24c61b..d9030f982f16 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -355,9 +355,9 @@ __DEFAULT_NO_OPTIONS+=OPENMP BROKEN_OPTIONS+= OFED .endif - +# ZFS is broken on 32-bit powerpc, but works on 64-bit .if ${__T} == "powerpc" -BROKEN_OPTIONS+= ZFS +BROKEN_OPTIONS+= ZFS LOADER_ZFS .endif .include @@ -419,6 +419,7 @@ MK_KERBEROS:= no MK_KERBEROS_SUPPORT:= no MK_LDNS:= no MK_PKGBOOTSTRAP:= no +MK_LOADER_ZFS:= no MK_ZFS:= no .endif diff --git a/sys/conf/kern.opts.mk b/sys/conf/kern.opts.mk index c7587b7728d7..dee19a346bec 100644 --- a/sys/conf/kern.opts.mk +++ b/sys/conf/kern.opts.mk @@ -78,7 +78,8 @@ __DEFAULT_NO_OPTIONS = \ BROKEN_OPTIONS+= INIT_ALL_ZERO .endif -.if ${MACHINE_CPUARCH} == "powerpc" && ${MACHINE_ARCH} == "powerpc" +# ZFS is broken on 32-bit powerpc +.if ${MACHINE_ARCH} == "powerpc" BROKEN_OPTIONS+= ZFS .endif From nobody Fri Mar 10 15:56:42 2023 X-Original-To: dev-commits-src-main@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 4PY9f25FCbz3xfDV; Fri, 10 Mar 2023 15:56: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 4PY9f24bjwz3tnP; Fri, 10 Mar 2023 15:56:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678463802; 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=cL3Q+OYaWnLTOUFfdkIdL1lPG2UnGNBcSI15CDwxpyA=; b=VqNcJPkKo2m69stuoeDyoQQUuSa4HcI5I+yQpLaMthGyC+72d7eX5vGh3z0CvMXOWhFiQK 9zafdaJyx2Xh5wO20rnnKO/omBLu7T5N8LySwGNtkfp4UqkkLG0m0jGqmwk7zVryQ7iuV9 CWw5Xg7XcB1yEdwpXYgDrehUcMXMyjQBKHwD2pIX2OAlRNQWbyTjdeuKM6aiH/pgr1vLGt y2LE5PLWeBBsqAGSmukUxY9Qd2lEc64nayPpNg4t1B0HmzJ/ZiZ6yrhWNtYaNODBl8Nh/c mm8U+AUk0MpMeVu3LpRVVTt0xPPvoN1iw/hm1jLK+ERQ+3ItLI6Meisa7PQFiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678463802; 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=cL3Q+OYaWnLTOUFfdkIdL1lPG2UnGNBcSI15CDwxpyA=; b=vejuMajy9KB1KjTdKQ4zUq6mAehkyxNysYn76LKx5Hp87zDwGc1DqYbryWc/+ED/BVmka+ OQBFr2I6lBiTbQYEg3Va3zj68xnA8UugZeyE9ixKyx++Mm+ountOffRCZmQzwFNa+eIH9W 7dVWhDzft90hjUeoOsXoIuN/8GXpHzH1h1p7509QcWncZXdkc9gPW+LVuTNt6pCdKgWYWX VDTUohLXkvRBwO6YejCy8Rr4eRbbC1h5Es3vhSnezMvO5Yp7SsrSUP+f3qsWWMp3tD2qu5 QzYBkQ1upGPUFPlH54FGm9/26Qu34V8r0oWKJEbAwlxmEH6jq6NLgWa3TZNePA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678463802; a=rsa-sha256; cv=none; b=lu6Y5AZwGovZCmAZBENh1xiUF5fHKMrYFtqfhP9GgNA5Smk2k4Km8mLt8+zi15gO6IuY7W aaiM6UHU4O/B9Ai5YjHmXdOIWpl7n2TFK2jxdDo+YQxITGmWlv3q60abgx87R2ji7JIX6y LEDdBc5EEFe2xSS+Ns4hZLNGSOZfDydigKPLGh5QwSEwUDJnQgE/MaBTgTPGFEF5D9mWKh ofmCcXYtMa26qaJMAaSl5wc9K01e+1i4EWEoRxFfzXq8vsGh/c/j0iuTmR9+JbjHR0FaPN zdJye/4EtuCW7wSchHog0V3Vm9e3P7GaMmffftQFS9cvPs+s45J5w0Nm/UJq3g== 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 4PY9f23cdczv1Z; Fri, 10 Mar 2023 15:56:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32AFugiF036218; Fri, 10 Mar 2023 15:56:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32AFugKa036217; Fri, 10 Mar 2023 15:56:42 GMT (envelope-from git) Date: Fri, 10 Mar 2023 15:56:42 GMT Message-Id: <202303101556.32AFugKa036217@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 41cf798e8206 - main - opts: popwerpcspc is also 32-bit List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 41cf798e8206e9c9d15ac4c8d6b01d44f816be43 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=41cf798e8206e9c9d15ac4c8d6b01d44f816be43 commit 41cf798e8206e9c9d15ac4c8d6b01d44f816be43 Author: Warner Losh AuthorDate: 2023-03-10 15:45:05 +0000 Commit: Warner Losh CommitDate: 2023-03-10 15:49:04 +0000 opts: popwerpcspc is also 32-bit Mark ZFS broken here too, add comment about why. Add comments about OFED being disabled on 32-bit arm, add comment about why too. Sponsored by: Netflix --- share/mk/src.opts.mk | 5 +++-- sys/conf/kern.opts.mk | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index d9030f982f16..1b667229fa4c 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -351,12 +351,13 @@ __DEFAULT_YES_OPTIONS+=OPENMP __DEFAULT_NO_OPTIONS+=OPENMP .endif +# Broken on 32-bit arm, kernel module compile errors .if ${__T:Marm*} != "" BROKEN_OPTIONS+= OFED .endif -# ZFS is broken on 32-bit powerpc, but works on 64-bit -.if ${__T} == "powerpc" +# ZFS is broken on 32-bit powerpc (missing atomics), but works on 64-bit +.if ${__T} == "powerpc" || ${__T} == "powerpcspc" BROKEN_OPTIONS+= ZFS LOADER_ZFS .endif diff --git a/sys/conf/kern.opts.mk b/sys/conf/kern.opts.mk index dee19a346bec..8d7bfe771004 100644 --- a/sys/conf/kern.opts.mk +++ b/sys/conf/kern.opts.mk @@ -78,11 +78,12 @@ __DEFAULT_NO_OPTIONS = \ BROKEN_OPTIONS+= INIT_ALL_ZERO .endif -# ZFS is broken on 32-bit powerpc -.if ${MACHINE_ARCH} == "powerpc" +# ZFS is broken on 32-bit powerpc, missing atomics +.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpcspc" BROKEN_OPTIONS+= ZFS .endif +# Broken on 32-bit arm, kernel module compile errors .if ${MACHINE_CPUARCH} == "arm" BROKEN_OPTIONS+= OFED .endif From nobody Fri Mar 10 16:02:47 2023 X-Original-To: dev-commits-src-main@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 4PY9n35Fl7z3xfc9; Fri, 10 Mar 2023 16:02: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 4PY9n34PHyz3vp4; Fri, 10 Mar 2023 16:02:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678464167; 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=TmazKum+QfgpT1pERU6YuLH7LD7OY/zO4bedJ2TFNi8=; b=Jgmo53s4FGgMFMo42ewMb47pW06+dZp6G0+7QjScGDCwkS3xaj9fZbehj3Ge0iSM2QN3q2 qmqzK6Mv9NlMJSpqfahmJEri2Vdy8h0v4nzavE5Vmej9kywEXc+XgafBuh/wTdfu7H6+hE hRo4AZRB7wVemdEphclsAil0x0O8qrTaMPXydOzhgMEUGTpz6j+qWgVT2ep+7CZW/fOnFl kgYJ977/3GH0INzikykvtoj1NPyEJr4SPU9owUeozKTsuB+i3PF2fwI76SnU9GyA7vC+58 g1RLi2WDOpfOP5e+KAl0wVWiT1k8MwkfQCLzW9LlV+OijVaMzi1jiXXhI0ov0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678464167; 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=TmazKum+QfgpT1pERU6YuLH7LD7OY/zO4bedJ2TFNi8=; b=KHaOwed51xCl1Nizqx2ueFV5osH0xHR2I3Lve160RJuDGfrNFC6YlLUTi/KFN/LUcCVVoh QqTIIGT2zDYcfXOdtTC49Lv5KJBvOeG7cELDFkIJL108PckYzOxf+FOpkNEzbpViI5pPg1 QkR8d1BflJ8ihASw361R4cdsVfU6Sdwfn+9cHVZfXvvmgjVszowM0DZ/VXL6J+khMpN1qX 96UVG6IlfQFztQmEDwaxPiRcgEuTgvCAu31mytPHPXxt/ep6iWv+J8SmntwjbIjzdnpwsD nJ9IGZbSyVGUOppvFbakPHO470mapI8J+15sXXXvhM7ZMMw4ljMrMzAw9uXX4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678464167; a=rsa-sha256; cv=none; b=rYbgC+R6NXxkglVMazWsKb1DTyDEpYogrCDQ/IjwFA8KDk9p8szbKnLM+luyRIEQZhjc00 LeRSIPbzfvmE42O3KMqoro0dp8N5eij0PfTbXkq6y0j/gQTjRSLekyH6i0C+33dVhVW/N3 NCC99J9WxksYVmW8NJEifrk9ITLysMZSwbxJFvYOBpuTV8kaesq/yZUWJt1I6jfOEJ5xXh jtYVyV55JGzGAwxzKuYiY8jrL4c9/8ecSbT0+x6m1xVgDgUe3ckKjxGIg+PIecw1c4wO1o kJ4At8xZe41xuon+YLwO5MjK0zvGgZUqaxKpEWcmoo3OPgOL63keDaAjObUtdw== 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 4PY9n33RX8zv2K; Fri, 10 Mar 2023 16:02:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32AG2lRe053088; Fri, 10 Mar 2023 16:02:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32AG2loX053087; Fri, 10 Mar 2023 16:02:47 GMT (envelope-from git) Date: Fri, 10 Mar 2023 16:02:47 GMT Message-Id: <202303101602.32AG2loX053087@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 3916fdd2f2c8 - main - opts: fix silly typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3916fdd2f2c84df7732bdddb9c5f4bcc0aa8572d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3916fdd2f2c84df7732bdddb9c5f4bcc0aa8572d commit 3916fdd2f2c84df7732bdddb9c5f4bcc0aa8572d Author: Warner Losh AuthorDate: 2023-03-10 16:00:38 +0000 Commit: Warner Losh CommitDate: 2023-03-10 16:00:38 +0000 opts: fix silly typo It's powerpcspe not powerpcspc Pointy Hat To: imp Noticed by: jhibbits Fixes: 41cf798e8206 Sponsored by: Netflix --- share/mk/src.opts.mk | 2 +- sys/conf/kern.opts.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 1b667229fa4c..7cd1ef9731fc 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -357,7 +357,7 @@ BROKEN_OPTIONS+= OFED .endif # ZFS is broken on 32-bit powerpc (missing atomics), but works on 64-bit -.if ${__T} == "powerpc" || ${__T} == "powerpcspc" +.if ${__T} == "powerpc" || ${__T} == "powerpcspe" BROKEN_OPTIONS+= ZFS LOADER_ZFS .endif diff --git a/sys/conf/kern.opts.mk b/sys/conf/kern.opts.mk index 8d7bfe771004..25057dcbb8d9 100644 --- a/sys/conf/kern.opts.mk +++ b/sys/conf/kern.opts.mk @@ -79,7 +79,7 @@ BROKEN_OPTIONS+= INIT_ALL_ZERO .endif # ZFS is broken on 32-bit powerpc, missing atomics -.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpcspc" +.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpcspe" BROKEN_OPTIONS+= ZFS .endif From nobody Fri Mar 10 18:45:02 2023 X-Original-To: dev-commits-src-main@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 4PYFNM3KgBz3xp89; Fri, 10 Mar 2023 18:45:07 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PYFNM18rVz4DyB; Fri, 10 Mar 2023 18:45:07 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pf1-x435.google.com with SMTP id fd25so4263993pfb.1; Fri, 10 Mar 2023 10:45:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678473905; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=HX3Gd9abdOqbC60ZGa0FQbWhbAGKsrXM8KMv6Nb88Dg=; b=bPMz0xLVejDgHYY4+7dxJPFtzyiO9cHIaviX7L4l6LfNAqsVDUghlu8CnjZdrBVood I7UmNvtDY/sdLXAEklFrhNK7WnoqkN+zxoH04sSFQp3WrkIUk7wfSmJBrhRUrGh9+tYM z+vYAdGdOPsCvT49SD9x0KqAyD09E7GNkZ2AvMz9xL9ZEt9oqh5rzLWzDtnpOH1e6oNl RFNGtGIA7Yz2rkDozepFfJ8/X+Z2fFRbjaqAPl8usIUhT9nDNTecYGIGlNY+G3w+G80O D0ILykv/MFCC2KOvrCGgP5P7OzfdqlVkBjUBh1skiSRkO9WP1YUXkbv5tsyATv7xSsTw EDQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678473905; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HX3Gd9abdOqbC60ZGa0FQbWhbAGKsrXM8KMv6Nb88Dg=; b=kAOjMkB3gm3bbgeIt5egh6aqWVynZHLrO8gJTxDUeXGKpVvYDFfqzRgPKI0duopx3q HjVPg3bWJek0rriOAYY6Fhu1KmfpUvPE8smAW8tCEB3NG09hY4IrmscrlxMupzB3CTqE bPd09DUDnJlFhALCc5LyRQaVAHdtBh15Y8zwpEBLq1DdY7FUlqEKLuVKB4MOV+MLp3ob Sh+uA2KoC94bKPz+FiHfq9VIHUFUrnnfNr09ATFyBWodNnTggfKAcM6CzgyeCq9Nxvfb Iay/f6fejJ2rAifVCJ6O1jXbSQBDwW5YWxRf49fwvILdXqgGE9jyW6BvwmGK0atTKWmx SJ2g== X-Gm-Message-State: AO0yUKXZlYd6pfTr+fKn3/QirSw6Uk9Tbswe6CZ6LKlhCXxIv2IygC36 z57fdQq6wjiCzaSSf64Ns+Vf74kdzvPjbw== X-Google-Smtp-Source: AK7set926aGM14M5XpB/jp+H6H4anpd2B85PgOpbzFW6BNr/0dX2D6pMWg7CKksUlBztwbi6NACbCg== X-Received: by 2002:aa7:9496:0:b0:5a8:ae97:2273 with SMTP id z22-20020aa79496000000b005a8ae972273mr21506662pfk.25.1678473905007; Fri, 10 Mar 2023 10:45:05 -0800 (PST) Received: from smtpclient.apple (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id t27-20020aa7939b000000b0058bca264253sm136533pfe.126.2023.03.10.10.45.03 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Mar 2023 10:45:04 -0800 (PST) Content-Type: multipart/signed; boundary="Apple-Mail=_255B773E-D6DF-47EC-9AAC-948773DC51AE"; protocol="application/pgp-signature"; micalg=pgp-sha256 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.2\)) Subject: Re: git: e5dd5bfa55dc - main - pkg(7): now that we do use libmd, use it completly From: Enji Cooper In-Reply-To: <202303092031.329KVbCG021742@gitrepo.freebsd.org> Date: Fri, 10 Mar 2023 10:45:02 -0800 Cc: "kevans@freebsd.org" , =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Message-Id: <3051E279-F8C3-4AF8-AD21-A6582F3C57D8@gmail.com> References: <202303092031.329KVbCG021742@gitrepo.freebsd.org> To: Baptiste Daroussin X-Mailer: Apple Mail (2.3696.120.41.1.2) X-Rspamd-Queue-Id: 4PYFNM18rVz4DyB X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_255B773E-D6DF-47EC-9AAC-948773DC51AE Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2023, at 12:31 PM, Baptiste Daroussin = wrote: >=20 > The branch main has been updated by bapt: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3De5dd5bfa55dc82686870330f54793248= 6ba48db2 >=20 > commit e5dd5bfa55dc82686870330f547932486ba48db2 > Author: Baptiste Daroussin > AuthorDate: 2023-03-09 20:29:15 +0000 > Commit: Baptiste Daroussin > CommitDate: 2023-03-09 20:31:30 +0000 >=20 > pkg(7): now that we do use libmd, use it completly >=20 > Use SHA256_Fd and SHA256_Data instead of home made equivalent. > wrap those functions into hash.c to avoid header collition between > openssl and libmd >=20 > Suggested by: kevans Hi bapt@, Thank you for the quick build fix! - The Makefile wasn=E2=80=99t updated to use just libmd or libcrypto =E2=80= =94 it=E2=80=99s linking both today (there are other areas in base where = this is present, though, so it=E2=80=99s less of an issue). - I don=E2=80=99t remember the details 100%, but I vaguely remember = there being an effort in the past to avoid overlinking binaries with = libmd and libcrypto. Some components like ntp for instance go out of = their way to link one implementation or the other, not both. - The libmd library exports interfaces named like the OpenSSL 3 = deprecated interfaces. Not sure if that=E2=80=99s going to cause issues = in the future. - When going to OpenSSL 3, FreeBSD and third-parties will have access to = a FIPS 140-3 certified crypto provider library =E2=80=94 libmd doesn=E2=80= =99t have that same guarantee. It would be good if the entire system was = linked with either libcrypto or libmd so the crypto interface would be = consistent across the board. I=E2=80=99m going to post an email to arch@ soon about the need for the = OpenSSL 1.1 -> OpenSSL 3 import. I think some of these topics should be = brought up as requirements/prerequisites for doing the work or = considerations to make when doing it. What do you think? Cheers, -Enji --Apple-Mail=_255B773E-D6DF-47EC-9AAC-948773DC51AE Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEtvtxN6kOllEF3nmX5JFNMZeDGN4FAmQLeq4ACgkQ5JFNMZeD GN6IUA/+NDQx/zXwHN1K4OF+3DrPA1izjDCKjzcRkQFRZPQ04L9XMh417hjgneqm nKI/MlirAhFKYWHikr1kxqzJpGRg1xB/M4f7elWLah5ULYFzxu+45Jz0TDyzaZa2 nRFfjg8myWJbIueDdJU5dEQalRRZkQBcxbmYprN9R7WY9AssPQXaPLE9N1B49EFT XL8pq+RNE3JkYA2rwQg4ZA1diVoyRdK+UoxeBzjnFtnnAG9NSVHxi4gAjbAKGQs6 svc4XBWTHgD1+isGHsjIXbI3Ndsv5ID6gLJAuIh/BgOiW8psj8PpcbX5b34WBaLR WiW4KO9dcHDw9HY6qAgYxufox/EknikwVEfy0bbM6bhLsfYx8CMGv+thjV+ftibx kI3RijRDW22iahw/RGMJQSqoUUCC8gZJosBMJ09Bz1I+AQ8HSHHAWaW9dYCSuOLX E9b/M/KVlST+3rg2E6M7+JiMRvJKUhUA2x/3fTagw2k4YV63zxZ+6UX0n+ZvvkUi XGUSk08iu/D1zdkvnafd3akWym2QL+pppyhQ7yWS1a/J/iuImpmB+F+lHmW5pjdO h5AQ3E+lCaF8IVA6yDE+Wpwr0vKdYT7D5fISI7Rf7Vy0qPDJHnIS0lPJ+SvYt7/k JBiGWIpiKzY04XPPSinecG0C9wdV37skISucZvlMY0C1JQ1pIew= =3MNl -----END PGP SIGNATURE----- --Apple-Mail=_255B773E-D6DF-47EC-9AAC-948773DC51AE-- From nobody Fri Mar 10 22:07:43 2023 X-Original-To: dev-commits-src-main@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 4PYKt81hX9z3y0GG; Fri, 10 Mar 2023 22:07: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 4PYKt80Vkfz4VgZ; Fri, 10 Mar 2023 22:07:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678486064; 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=bXH/IJQ1BLtfSpHQllFMvaTGZul5iMo7B6gSt/76e94=; b=UcMPlyd/1TV9rogiBFMsAxGDgXExrBbZm2q8mWHvWKNUWEwrg82nAFtordMRHm5Ez5mwMZ ip9UkM91YLeV+YLRWU/zAbWnqerOoGFASUx5W3vA8r/3/aI/inY6pOHhf2ileUyVqyDbKb pCwXCDaVF5iyXvdIWSGazmOPIPdVNCZ6EKnQQqGJ7MZ9UcG41G3TIwqAVruoBw66j626fT sKMKERDxzwNcVACsjpIHEBgnOwFf729O1BuB/QRQZ1jRZGh5avSJ7ftGWmjogAP31kGhSv lsofFJxcRLOYhtfxoriFNjfi7c5g0SK62HGybs56bZPlFdd7OX2Qr46nZwNYtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678486064; 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=bXH/IJQ1BLtfSpHQllFMvaTGZul5iMo7B6gSt/76e94=; b=G//u9YRO7BY1vsAGxmkpKmh7r/odLLdxfPqRsCA8lweeq9roz0A9w7sAQhSm3TWQ5OdoFR 0WDkKaYHPz8/2YqYEYmgVU9PeEQSGt+jEqWc1pWijIIIFBOOugw+W6pBB+1OMYfN2tprJe Z1imYgvkc7C11gfc4nKuVtNWAv0TR6Fui7C2CkS4/e30fmSMEn1YP3zg2tjYOfYRyM8SL1 3vGFAyJlDrg5w6oKN8onsBLJfC4NgHfRmdmLPEMq+v86uQqfH1gCWVnjCRLIlyt8r9PL2/ 5wh90ZQ3IXQSymArHV1G5kZdbWXi0hqbIqEuML1GQYfesnVMMxYROwmz0oqN1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678486064; a=rsa-sha256; cv=none; b=JdHTchTkI39qasCkYl/hRAqpWjw0R3utgo2B1k8PPFOqJoHmoqFlk4OX7vgvIx5J9zC9we FnwnX6nAy10Z8Mct5eFYpyWUmnGD30YaXv9aj7mPsYug+DhlGift+EpOZh2xA9RG8Lr99w 2aYmlWbJ2bekf7/w0R4M35nzY6Oqbpma5zcLCX94VUc9yIBTEUUhS56xeMoWMoWaSg2E0b WdOsdVDEzU5y5fDKe5PodYO/KUJrjMkcP+W3j0b6ombkwJp+n/OXCMGMlVbJJd0diDD3iS 49ZJo0EwyqBj+obIcS+D9uwGNvsy+uwMvjNgplKYEy4JOIV6V9VJa+VaCsRNcw== 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 4PYKt76gg1z15F1; Fri, 10 Mar 2023 22:07:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32AM7hG5044836; Fri, 10 Mar 2023 22:07:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32AM7hGH044835; Fri, 10 Mar 2023 22:07:43 GMT (envelope-from git) Date: Fri, 10 Mar 2023 22:07:43 GMT Message-Id: <202303102207.32AM7hGH044835@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 478de7f8e258 - main - netbsd-tests: Remove some pointless sleeps from message queue tests List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 478de7f8e25849ce0b3a37b4baaf9c69e0b34072 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=478de7f8e25849ce0b3a37b4baaf9c69e0b34072 commit 478de7f8e25849ce0b3a37b4baaf9c69e0b34072 Author: Mark Johnston AuthorDate: 2023-03-10 22:06:46 +0000 Commit: Mark Johnston CommitDate: 2023-03-10 22:06:46 +0000 netbsd-tests: Remove some pointless sleeps from message queue tests - In the msgctl tests, there is no point in sleeping after a fork(). Just block immediately in wait(). - In non-blocking send/recv tests, just wait for the child to exit once it's reached a message limit. If a bug prevents the child from exiting promptly, the test will time out. MFC after: 1 week --- contrib/netbsd-tests/lib/libc/sys/t_msgctl.c | 2 -- contrib/netbsd-tests/lib/libc/sys/t_msgrcv.c | 2 -- contrib/netbsd-tests/lib/libc/sys/t_msgsnd.c | 2 -- 3 files changed, 6 deletions(-) diff --git a/contrib/netbsd-tests/lib/libc/sys/t_msgctl.c b/contrib/netbsd-tests/lib/libc/sys/t_msgctl.c index 4c145cc89047..098ee91373bf 100644 --- a/contrib/netbsd-tests/lib/libc/sys/t_msgctl.c +++ b/contrib/netbsd-tests/lib/libc/sys/t_msgctl.c @@ -212,7 +212,6 @@ ATF_TC_BODY(msgctl_pid, tc) _exit(EXIT_SUCCESS); } - (void)sleep(1); (void)wait(&sta); (void)memset(&msgds, 0, sizeof(struct msqid_ds)); @@ -232,7 +231,6 @@ ATF_TC_BODY(msgctl_pid, tc) _exit(EXIT_SUCCESS); } - (void)sleep(1); (void)wait(&sta); (void)memset(&msgds, 0, sizeof(struct msqid_ds)); diff --git a/contrib/netbsd-tests/lib/libc/sys/t_msgrcv.c b/contrib/netbsd-tests/lib/libc/sys/t_msgrcv.c index 522ceb82cd38..1bbf6e855acc 100644 --- a/contrib/netbsd-tests/lib/libc/sys/t_msgrcv.c +++ b/contrib/netbsd-tests/lib/libc/sys/t_msgrcv.c @@ -275,8 +275,6 @@ ATF_TC_BODY(msgrcv_nonblock, tc) _exit(EXIT_SUCCESS); } - (void)sleep(2); - (void)kill(pid, SIGKILL); (void)wait(&sta); if (WIFSIGNALED(sta) != 0 || WTERMSIG(sta) == SIGKILL) diff --git a/contrib/netbsd-tests/lib/libc/sys/t_msgsnd.c b/contrib/netbsd-tests/lib/libc/sys/t_msgsnd.c index 562602a28a79..0251b42ff3d4 100644 --- a/contrib/netbsd-tests/lib/libc/sys/t_msgsnd.c +++ b/contrib/netbsd-tests/lib/libc/sys/t_msgsnd.c @@ -265,8 +265,6 @@ ATF_TC_BODY(msgsnd_nonblock, tc) } } - (void)sleep(2); - (void)kill(pid, SIGKILL); (void)wait(&sta); if (WIFEXITED(sta) == 0 || WIFSIGNALED(sta) != 0) From nobody Fri Mar 10 22:07:44 2023 X-Original-To: dev-commits-src-main@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 4PYKt932spz3y0yB; Fri, 10 Mar 2023 22:07: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 4PYKt91wxnz4VpB; Fri, 10 Mar 2023 22:07:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678486065; 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=1jor9tr5diWYhm8ON9TzTGs7FRhSooHRRsbAsLkwEbM=; b=n6WVdSSNsG6hBp1JBOzkqs2hrr1VScYZkDcry3UJijgXwlcJUDJCMkj46FhXODfw9wCZvU 4eNjCgK3qnp5O00pEUBrGvhiHiWXn7iFUop7rZLzn2PHXzVpEkufLmqYFg+WtafmAPfeuQ 8miPoFx3xTmUQjovkfqndWy60x9bDSCHRuqskczf1JjlJ+UGc6DQyYCMqYZxeYXAXeKz7j J2v0V+eQC65pXxfxonun7vxUktX3zRZhbNpOIAFI0fyt8EVvKNagSTS5zbX68o3//Cpn5+ llJlbvWg1CabOcXMnYyWtMUFWEFPFSEgd7nnTQOvNp5mDG8qLqNmW74mmWLQ8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678486065; 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=1jor9tr5diWYhm8ON9TzTGs7FRhSooHRRsbAsLkwEbM=; b=m40bA7WaZido5hq685Gg1V2csdJD7clsbGSp+R7fpMuHGMY+UT6Dwuis5HvCQ37gFwWRP0 09DkFupQ8khfrWxycCdv/11HjAgevo3cGDMQ7OqAspKpqI/HSDz1zca3y++DTnLLikeZZ/ N7zYltHc8I4UgkSQk39+nfjoT5/snGQ+iAxrHMFetjjcGTLq0MSjVfkU7lg2IzjeBTrorS BZwD1SfTZ0fMlhSLjQnDChTQ3IBMx7A909HPSBsEswEvpKJArVwR7TRmmoekukxLZ8RY0H 1w4jFC1GQxdR0aNf+9iKOARgxlMRg10vdmi/2T6a95IiJCqHXgjlvJI93Cu4JQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678486065; a=rsa-sha256; cv=none; b=mqs7sJ52p7ZgM6eUMgLzeLR7WSivB77CtBlhm05F5QLvaiwSaEdBJHXRHknJaABBL2t2Z/ 3dcHehcXEX1w1q7PYP5rsyEsPlpyxyrovDVkRbqLpPweu2Qcm4jE8L7vfBbmcuDsOrkQbC CiUxbu3YhqeKNfn0CMRRxH9S9pgeVtYDmUnN3dw0qAoaLMTUtNoCl6TChqpW3fwapCJXms zG8ZdEEjcT8O9Z/Ea2XcO6TqqExRfmdNgivDA0qLUvJcBfIBnV3I2gGs25jUu+VDgxBytd irPBGA9I3zZV2Ild9P5RvDHAsF2QMhmw6Okb+E7oR2msWYjKvkgXwy3Lf2ot9w== 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 4PYKt90LVjz14RK; Fri, 10 Mar 2023 22:07:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32AM7iel044856; Fri, 10 Mar 2023 22:07:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32AM7iFl044855; Fri, 10 Mar 2023 22:07:44 GMT (envelope-from git) Date: Fri, 10 Mar 2023 22:07:44 GMT Message-Id: <202303102207.32AM7iFl044855@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: e1ccf64b884a - main - netbsd-tests: Serialize message queue tests List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: e1ccf64b884a1a47c48a2fb7d71e7eb18347c6d6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e1ccf64b884a1a47c48a2fb7d71e7eb18347c6d6 commit e1ccf64b884a1a47c48a2fb7d71e7eb18347c6d6 Author: Mark Johnston AuthorDate: 2023-03-10 22:07:06 +0000 Commit: Mark Johnston CommitDate: 2023-03-10 22:07:06 +0000 netbsd-tests: Serialize message queue tests They can fail when run in parallel since they all share a global queue key. MFC after: 1 week --- lib/libc/tests/sys/Makefile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/libc/tests/sys/Makefile b/lib/libc/tests/sys/Makefile index e4a1bf30a8f9..188196911666 100644 --- a/lib/libc/tests/sys/Makefile +++ b/lib/libc/tests/sys/Makefile @@ -74,6 +74,13 @@ NETBSD_ATF_TESTS_C+= write_test LIBADD.getpid_test+= pthread LIBADD.timer_create_test+= rt +# Message queue IPC tests need to be executed serially since they variously +# use global keys and exhaust global IPC limits. +TEST_METADATA.msgctl_test+= is_exclusive="true" +TEST_METADATA.msgget_test+= is_exclusive="true" +TEST_METADATA.msgsnd_test+= is_exclusive="true" +TEST_METADATA.msgrcv_test+= is_exclusive="true" + .include "../Makefile.netbsd-tests" SRCS.mlock_test+= mlock_helper.c From nobody Fri Mar 10 23:31:00 2023 X-Original-To: dev-commits-src-main@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 4PYMkF0Dtzz3wqrf; Fri, 10 Mar 2023 23:31: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 4PYMkD6wSrz4cRj; Fri, 10 Mar 2023 23:31:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678491061; 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=zGG2BEloVI+RSj7BPgeYoZvxJJGOpTM0cg6T5AlBkEk=; b=fptfcEhheD5VpGN0bzDWUq6m81VC/nsJjRxJzb4NXW124kkC+DyTLxXx+DU1TGTmRe2Lic 6gMQ4y8CVu7HTacFHcCJhSd2a5crRd9C8BG5vIWPn5vap/E6407fFGOhI4USQCsNo39vF2 PNVTMiqPnqZKQjIhyOxZ3qng1yC9BR49+/2Q0mNif5FHK7CLZYT8wO6Cx5pQOL5qE8hcPc L8Gyo6K5eZIYsatIQDu81IO87fG9+z9NC34+hx7xaG8wScVPEVKA2jWWxZX/KTR6Tq8l72 RnOsR7+EFv/XY4ImK6zzjxTGRDK35SkHR9AUfVnUHej5IZ9CvrPCDrQJ2hnamQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678491061; 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=zGG2BEloVI+RSj7BPgeYoZvxJJGOpTM0cg6T5AlBkEk=; b=GACieKlA0fR4Bl8Zucl8DPD3kRUOGhDSF1pRm2A19G6DXBJFDMmuPD5fN1/WaiTtfWUwLd LVe+14H+V8W4G3eEfxt3TotAfGQO94iznDAw/9sTl91yuK0ljAmBBNgEdnLqkRG6+VBhcE KPwKjJcoSPgbVgkEM55+bB6p/yUZ+LJbCBai7PhI52lJX45y0fQuVbdizxw5jSSOXn7RxW 4NtXx6W0yFUopODBP88rtxX+knC3e5SZql8p4ggDiILnSl74bDcZ3D8nYG1nd7vHMXUQI/ ilNkYNTY5BMl1JKMv6x7WxCyL+WCUjj/wW8uBXGzXQL7iW9Sy8OYyhH2QWSRow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678491061; a=rsa-sha256; cv=none; b=lchB5rI74sPLXPIQak8t8Lyo8KoXzYg85g9LLylUyFG60TP4NftPGiHIsW86jtcvJv6w9q ahjo9kC7Fcvjl3rRAoBWHzTaTN3B3tGnXk7FIICtFwYJwH8uUMDwGVohp8YQUc44jTEEPO ROcIids7Hpi6apil0Xf3++0JsjaTNnXqKIkW2wxQvLqnlFWDzbtzUvzsvsqRHk38U1KMUO z3yFzrCfGWCbmO1+OWgHs57Gq37WeEReZDjBKXBAxSiJwqvwHfT4FpCnkpVDpo/B2+CV1W kWBAkataNQu2enIWHbeIdAEsr7CmufZtyx1npGqtJOY3dOVWprD4eb7DxjmEBg== 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 4PYMkD5zCfz178v; Fri, 10 Mar 2023 23:31:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32ANV0DK084555; Fri, 10 Mar 2023 23:31:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32ANV0t5084554; Fri, 10 Mar 2023 23:31:00 GMT (envelope-from git) Date: Fri, 10 Mar 2023 23:31:00 GMT Message-Id: <202303102331.32ANV0t5084554@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 44b31d37ad2b - main - qat: Reconnect qat.4 to the build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 44b31d37ad2bf02dbfe511f986c4c053191ddeca Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=44b31d37ad2bf02dbfe511f986c4c053191ddeca commit 44b31d37ad2bf02dbfe511f986c4c053191ddeca Author: Mark Johnston AuthorDate: 2023-03-10 23:30:08 +0000 Commit: Mark Johnston CommitDate: 2023-03-10 23:30:50 +0000 qat: Reconnect qat.4 to the build It was disconnected when the new QAT driver was imported, and never reconnected. --- share/man/man4/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index e1ae2a1b1904..8ceda540093b 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -452,6 +452,7 @@ MAN= aac.4 \ pty.4 \ puc.4 \ pwmc.4 \ + ${_qat.4} \ ${_qat_c2xxx.4} \ ${_qlxge.4} \ ${_qlxgb.4} \ @@ -837,6 +838,7 @@ _nvme.4= nvme.4 _nvram.4= nvram.4 _padlock.4= padlock.4 _pchtherm.4= pchtherm.4 +_qat.4= qat.4 _qat_c2xxx.4= qat_c2xxx.4 _rr232x.4= rr232x.4 _speaker.4= speaker.4 From nobody Sat Mar 11 11:08:41 2023 X-Original-To: dev-commits-src-main@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 4PYgCF55Zfz3xWGx; Sat, 11 Mar 2023 11:08: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 4PYgCF4B3Qz4DTr; Sat, 11 Mar 2023 11:08:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678532921; 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=Q4zh9ao6G9WurUV9xF9dWeSfT2QJ5aFqu+Qk5d1dVLU=; b=f8fzOe2qvc6uDpwSlPug6qUqIW9Rr/UB13A8fZBp3sEUG6k+Iex7XcRgd2isNIPPJpMyWf HD78KzK/MXXzJP1hLXOwgC8gFezVNT+Tx2kEZvEq6Tzc3Py5WWk2azfv5fFIhlP0zTNS4p pY4y9F6VTAW7klnaERwPj5OJpYPxfYvzdpJg/QIJ5OU75vGULNvR81xWMNMfBc12Q2tyVJ zssGOuy9l5KRg8FsWq6aTDJR9RSpQOfmBaT8aVtdiiHY41CPZvMzj5Dow3XpV3kEV8Ay1Z 7fvnz4rfV2z5/cOjEhEd1w3B7zPNxnOsnChzGhLi+nYL+AKw60M1HC7a4I+vkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678532921; 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=Q4zh9ao6G9WurUV9xF9dWeSfT2QJ5aFqu+Qk5d1dVLU=; b=gSCtbq2wdDlESi8TmS2CIVxjIFWm71lbmgIYnvf8/lLNmWGm1KGUj1IZ3g709Ojz1PR35i 8YE/lY3QysNmx3UDpJoP3VB4r/D/3fgzJtRNkxoWiD7Kefask5fyQ6zfvpWG2t7rRuz1qX x9N7HFIccSL94v2jAt6cHWx8pllLjyjmapPmPqhNbxs4xYHadjnUbMdikxHGGlJx+o1Ml2 cMDhHTBiGrzxjmCrQr4xQJNkde5p2nW7k3nSnhM1Ykpfml0cIgJPRGC6wzcPki3ygVy7eh v85oE5CT/nOtkYtiQyGg9nvZbgrwBeVimJQ0Pc9oQxrdmwDtzM360w2Zc44TKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678532921; a=rsa-sha256; cv=none; b=gYtX/lRF4OJHddXc8/lFIns9WOrD9u54CDzVZdofzW954fGyq/r8jy/av/Q79WCavy/RH8 Oy+kbgQMat/S6GiP8T1Ihy1oxmMX3UpFRc4L8qhOdZG590uDETCVn3JXS9PLDkgufsBVy8 skQRs8IkMivLerJIyPujxhKrfw9HcqGImwrag8htn67B+9GoYKWtgePl+fsM7aQd6R+fLT oL1r7HbUf7ohNe01yINbStq0ZCybyHsEVJ5TQ+oNnytTwkuphUkMrFuIb7/f5DIF20Grwb XpLu9TxpKJ6W3gcse/nJcRKP2R4NYMBN2JIsyrdJ0EISsjherBGQu69Qb5l6+w== 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 4PYgCF38LyzSXN; Sat, 11 Mar 2023 11:08:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BB8f8u028677; Sat, 11 Mar 2023 11:08:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BB8fbj028676; Sat, 11 Mar 2023 11:08:41 GMT (envelope-from git) Date: Sat, 11 Mar 2023 11:08:41 GMT Message-Id: <202303111108.32BB8fbj028676@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 73b951cd3914 - main - vm: move up object lock asserts in fault functions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 73b951cd39148accf768d01344a752c377ea4475 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=73b951cd39148accf768d01344a752c377ea4475 commit 73b951cd39148accf768d01344a752c377ea4475 Author: Mateusz Guzik AuthorDate: 2022-08-07 13:05:47 +0000 Commit: Mateusz Guzik CommitDate: 2023-03-11 11:08:21 +0000 vm: move up object lock asserts in fault functions No functional changes. Reviewed by: kib Reviewed by: markj Tested by: pho Differential Revision: https://reviews.freebsd.org/D38964 --- sys/vm/vm_fault.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 336cee7ca972..2afe5a19d2d7 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1047,6 +1047,8 @@ vm_fault_next(struct faultstate *fs) { vm_object_t next_object; + VM_OBJECT_ASSERT_WLOCKED(fs->object); + /* * The requested page does not exist at this object/ * offset. Remove the invalid page from the object, @@ -1067,7 +1069,6 @@ vm_fault_next(struct faultstate *fs) * Move on to the next object. Lock the next object before * unlocking the current one. */ - VM_OBJECT_ASSERT_WLOCKED(fs->object); next_object = fs->object->backing_object; if (next_object == NULL) return (false); @@ -1382,6 +1383,8 @@ vm_fault_object(struct faultstate *fs, int *behindp, int *aheadp) enum fault_status res; bool dead; + VM_OBJECT_ASSERT_WLOCKED(fs->object); + /* * If the object is marked for imminent termination, we retry * here, since the collapse pass has raced with us. Otherwise, @@ -1416,7 +1419,6 @@ vm_fault_object(struct faultstate *fs, int *behindp, int *aheadp) return (FAULT_SOFT); } } - VM_OBJECT_ASSERT_WLOCKED(fs->object); /* * Page is not resident. If the pager might contain the page From nobody Sat Mar 11 11:08:42 2023 X-Original-To: dev-commits-src-main@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 4PYgCG6vjfz3xWKg; Sat, 11 Mar 2023 11:08: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 4PYgCG66Nbz4DS6; Sat, 11 Mar 2023 11:08:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678532922; 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=RxAIBpA1ekF3YGPv17gg/r2r+YIbFl/0fmp5S2hlovI=; b=hh6iBpFC85v8QYp66NMKfM+lTjjmRIMEqkbRYTX5VU6M19FDmuPwXgOChX7ZAKQzbpCdm3 7wgc2mxySYz0BxqRoOD4J1tApIFBg9p4lcWQIVbtqX1rVkP6l/uXT6m7NAZyXZNr2CBQWp dptbip//ZXgwllMCKkJ37iAbrosJhzPmHsJyt0ntJZ6Jac0g7O4ts4t/ZD4kmb8xnlU0lI LnUYZlXNRunH+eqhYa/yr/W3LJADgepB8lMQ/AsRfgd0Srnjm77tBpZLYhtRlCwvWWuqt+ mayiQKSsNP6hcd/ea1T1njF2ZGt1kLYBjCvT9oWFPpkfpAnCSRlhFVRDqbkGKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678532922; 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=RxAIBpA1ekF3YGPv17gg/r2r+YIbFl/0fmp5S2hlovI=; b=mBbUhqlZQO3yzG9QqeeVR+znf3PUuPDoGbPYGsMCpmEuUGYYKmXqhgyitqckTIf+57iZZa EKauadkUTl6wOTTX2EUHOCiB9g7s/4aJUmShO80tWOfl1K3SYfOBSsfNVPIfdhD1aQnIh3 qniD84MNj2KoYdfwodKqD89MTaqrEsOOkDq6fxk+5sQwCWh0Vkpz4UghyQ6lGjTkyY3Brx bQFf5nzvBMt5LbydFbD51nhAmLqlkblyhEbH1oggkPFS0zE+0NRiKbeBO8T9FCozy/XClv RfcHXpCjbTaUysaz/V8vsglnsinYhSMAzzLWMYirIIJ/v8Ec8Y1sMJ7hWRFSUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678532922; a=rsa-sha256; cv=none; b=MIDsdoz4yCSvw74dgYaEQH4Akdm9QPAfwOrfVwRj2EkKt1NjlKq7FSwdXAhP1Yc9y+/NiQ 5PZbsIQvAJ4XDBdbadtnqaWAuY5wReBe27HSZbB0UG4kN5+TuhU1W8U3E3kiqmkpkgaK31 HyOP1MPDokb/uxyNwLBjXEZq5cyEmDw+z9kZ9fpxTb+uAw9m0eGSIRPSK/zXEbpDI40S15 s5GUsoq6rdcigfd/Aa9zUX4T7tH9vZJxQ8PnCLhNXkAMXEARDXziX7he/JYdSocuPE9ZK3 DXCKTOBN/FnCL1tNtcaQLwo83O8VBZJ7kL69c+rQFSFevg2AIfpGLFm4oYksZg== 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 4PYgCG45M6zS24; Sat, 11 Mar 2023 11:08:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BB8gv5028696; Sat, 11 Mar 2023 11:08:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BB8g9G028695; Sat, 11 Mar 2023 11:08:42 GMT (envelope-from git) Date: Sat, 11 Mar 2023 11:08:42 GMT Message-Id: <202303111108.32BB8g9G028695@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: bdfd1adc9908 - main - vm: add VM_OBJECT_UNLOCK List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bdfd1adc9908db7e346002769589bbadc29d344d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=bdfd1adc9908db7e346002769589bbadc29d344d commit bdfd1adc9908db7e346002769589bbadc29d344d Author: Mateusz Guzik AuthorDate: 2023-03-07 20:47:44 +0000 Commit: Mateusz Guzik CommitDate: 2023-03-11 11:08:21 +0000 vm: add VM_OBJECT_UNLOCK Reviewed by: kib Reviewed by: markj Tested by: pho Differential Revision: https://reviews.freebsd.org/D38964 --- sys/vm/vm_object.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index 78e7785e513e..0f05d2936cf4 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -267,6 +267,8 @@ extern struct vm_object kernel_object_store; rw_wowned(&(object)->lock) #define VM_OBJECT_WUNLOCK(object) \ rw_wunlock(&(object)->lock) +#define VM_OBJECT_UNLOCK(object) \ + rw_unlock(&(object)->lock) #define VM_OBJECT_DROP(object) \ lock_class_rw.lc_unlock(&(object)->lock.lock_object) #define VM_OBJECT_PICKUP(object, state) \ From nobody Sat Mar 11 11:08:43 2023 X-Original-To: dev-commits-src-main@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 4PYgCJ2c90z3xW3c; Sat, 11 Mar 2023 11:08: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 4PYgCH66Prz4DSN; Sat, 11 Mar 2023 11:08:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678532923; 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=udlU7oUG8UUUfiB6Ee4Y/3gVUuQb/0yD5wvP8dYrCbI=; b=K1JnExxqa6BY9FMZl4Trd3A4es8TOv2KAJk4fFKUGu1eG5tQCriy41jknSZ1lN1gm6o1y4 e5Oaoz1mJCTA3zhwKyKZPbBOZfsBX4aWtvBG4EzKmeTjFZT4TTBcRb5SVrAMCR4FMH/OIr JlE2nSbauc/cc6HEgCPrKugVjpH3+naUMMLGPCYi/w/bSCIunVOv5vnxmTIQlypN4ksEsp 1Qa9x7/cqtHNGmqE/Xxj4qXvgxEw78zWR7RCWYDf8uncSEumkfsYYU9fYpQ93HIQQ6xFC6 KVtLE00H1DhxAEWK7FDsu4sCAywaxo7eLtFmjEKj7UlKc0gskV8Mnif66B7oJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678532923; 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=udlU7oUG8UUUfiB6Ee4Y/3gVUuQb/0yD5wvP8dYrCbI=; b=Y4LhKEVwRd5fPSzveONvly8xCXWNR/CAm1Tk0Ci3XhRPTuJsMQw9Wi9556gBTWumBWtlO4 RNCOq/0TL0W7FFCgBIuGKpxBN46gCQmmpVqETLK1tCGl9WQhFvxkrH0VaTZ+c1lEfFr0Jy nUnuhViCspqaoLGa6SCTIWNKFxamnxAaii6S7+CFmwanuA+qm8+eToMj4ZkjTVGFYHMCIA 6snSDHj4+bicMH7aAPwbuz4lErK7tq85+Bi0XbWLdZtAN3O5a1jVEw36uOIYwrmuucrxP9 H9yL/Krh+w5/t4DU2gyWq0VWDdw8+rioHzudmGXbsbCRF3qtXE+1cUqcneAdkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678532923; a=rsa-sha256; cv=none; b=mtWbjThRGESEji3YFGDDinUILeXuh5Dos4/57OlLlRh+ubmOJazvn3voULfUi00mXvD9NL 3GB6aChlp4x5rg9PuUMUC+ly+Fc8rcptBZgRIKGHfWg59A0F82tenaBZIspyZa44RLd88b jdlGlwlNtAWNeM2rMyBy8Iluf1r4ewICmF74DorbJzFVmIzox+xdraPBSZCgNI5ewK3AcB wT20UmUntoqCP0w3KkYUOMXRgMq9IPJmFvhdCszLBdrZTPdB0d5xkuvrd1+aBP+7QvWlh1 InbbbW3d2P3oTkUQ4EXbjhpekU2WyppCcHXNHbkv057TQ8hQAejotkT2g+ER/w== 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 4PYgCH51lqzSV8; Sat, 11 Mar 2023 11:08:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BB8h6j028715; Sat, 11 Mar 2023 11:08:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BB8hD0028714; Sat, 11 Mar 2023 11:08:43 GMT (envelope-from git) Date: Sat, 11 Mar 2023 11:08:43 GMT Message-Id: <202303111108.32BB8hD0028714@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: fdb1dbb1cc06 - main - vm: read-locked fault handling for backing objects List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fdb1dbb1cc0608edd54451050fa56b84a303c8a6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=fdb1dbb1cc0608edd54451050fa56b84a303c8a6 commit fdb1dbb1cc0608edd54451050fa56b84a303c8a6 Author: Mateusz Guzik AuthorDate: 2023-03-07 20:56:54 +0000 Commit: Mateusz Guzik CommitDate: 2023-03-11 11:08:21 +0000 vm: read-locked fault handling for backing objects This is almost the simplest patch which manages to avoid write locking for backing objects, as a result mostly fixing vm object contention problems. What is not fixed: 1. cacheline ping pong due to read-locks 2. cacheline ping pong due to pip 3. cacheling ping pong due to object busying 4. write locking on first object On top of it the use of VM_OBJECT_UNLOCK instead of explicitly tracking the state is slower multithreaded that it needs to be, done for simplicity for the time being. Sample lock profiling results doing -j 104 buildkernel on tmpfs: before: 71446200 (rw:vmobject) 14689706 (sx:vm map (user)) 4166251 (rw:pmap pv list) 2799924 (spin mutex:turnstile chain) after: 19940411 (rw:vmobject) 8166012 (rw:pmap pv list) 6017608 (sx:vm map (user)) 1151416 (sleep mutex:pipe mutex) Reviewed by: kib Reviewed by: markj Tested by: pho Differential Revision: https://reviews.freebsd.org/D38964 --- sys/vm/vm_fault.c | 81 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 67 insertions(+), 14 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 2afe5a19d2d7..5df667052615 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -132,6 +132,7 @@ struct faultstate { struct timeval oom_start_time; bool oom_started; int nera; + bool can_read_lock; /* Page reference for cow. */ vm_page_t m_cow; @@ -170,6 +171,12 @@ enum fault_status { FAULT_PROTECTION_FAILURE, /* Invalid access. */ }; +enum fault_next_status { + FAULT_NEXT_GOTOBJ = 1, + FAULT_NEXT_NOOBJ, + FAULT_NEXT_RESTART, +}; + static void vm_fault_dontneed(const struct faultstate *fs, vm_offset_t vaddr, int ahead); static void vm_fault_prefault(const struct faultstate *fs, vm_offset_t addra, @@ -278,7 +285,7 @@ static void unlock_and_deallocate(struct faultstate *fs) { - VM_OBJECT_WUNLOCK(fs->object); + VM_OBJECT_UNLOCK(fs->object); fault_deallocate(fs); } @@ -736,6 +743,26 @@ vm_fault_trap(vm_map_t map, vm_offset_t vaddr, vm_prot_t fault_type, return (result); } +static bool +vm_fault_object_ensure_wlocked(struct faultstate *fs) +{ + if (fs->object == fs->first_object) + VM_OBJECT_ASSERT_WLOCKED(fs->object); + + if (!fs->can_read_lock) { + VM_OBJECT_ASSERT_WLOCKED(fs->object); + return (true); + } + + if (VM_OBJECT_WOWNED(fs->object)) + return (true); + + if (VM_OBJECT_TRYUPGRADE(fs->object)) + return (true); + + return (false); +} + static enum fault_status vm_fault_lock_vnode(struct faultstate *fs, bool objlocked) { @@ -1042,12 +1069,15 @@ vm_fault_cow(struct faultstate *fs) curthread->td_cow++; } -static bool +static enum fault_next_status vm_fault_next(struct faultstate *fs) { vm_object_t next_object; - VM_OBJECT_ASSERT_WLOCKED(fs->object); + if (fs->object == fs->first_object || !fs->can_read_lock) + VM_OBJECT_ASSERT_WLOCKED(fs->object); + else + VM_OBJECT_ASSERT_LOCKED(fs->object); /* * The requested page does not exist at this object/ @@ -1062,8 +1092,14 @@ vm_fault_next(struct faultstate *fs) if (fs->object == fs->first_object) { fs->first_m = fs->m; fs->m = NULL; - } else + } else { + if (!vm_fault_object_ensure_wlocked(fs)) { + fs->can_read_lock = false; + unlock_and_deallocate(fs); + return (FAULT_NEXT_RESTART); + } fault_page_free(&fs->m); + } /* * Move on to the next object. Lock the next object before @@ -1071,18 +1107,21 @@ vm_fault_next(struct faultstate *fs) */ next_object = fs->object->backing_object; if (next_object == NULL) - return (false); + return (FAULT_NEXT_NOOBJ); MPASS(fs->first_m != NULL); KASSERT(fs->object != next_object, ("object loop %p", next_object)); - VM_OBJECT_WLOCK(next_object); + if (fs->can_read_lock) + VM_OBJECT_RLOCK(next_object); + else + VM_OBJECT_WLOCK(next_object); vm_object_pip_add(next_object, 1); if (fs->object != fs->first_object) vm_object_pip_wakeup(fs->object); fs->pindex += OFF_TO_IDX(fs->object->backing_object_offset); - VM_OBJECT_WUNLOCK(fs->object); + VM_OBJECT_UNLOCK(fs->object); fs->object = next_object; - return (true); + return (FAULT_NEXT_GOTOBJ); } static void @@ -1364,7 +1403,7 @@ vm_fault_busy_sleep(struct faultstate *fs) unlock_map(fs); if (fs->m != vm_page_lookup(fs->object, fs->pindex) || !vm_page_busy_sleep(fs->m, "vmpfw", 0)) - VM_OBJECT_WUNLOCK(fs->object); + VM_OBJECT_UNLOCK(fs->object); VM_CNT_INC(v_intrans); vm_object_deallocate(fs->first_object); } @@ -1383,7 +1422,10 @@ vm_fault_object(struct faultstate *fs, int *behindp, int *aheadp) enum fault_status res; bool dead; - VM_OBJECT_ASSERT_WLOCKED(fs->object); + if (fs->object == fs->first_object || !fs->can_read_lock) + VM_OBJECT_ASSERT_WLOCKED(fs->object); + else + VM_OBJECT_ASSERT_LOCKED(fs->object); /* * If the object is marked for imminent termination, we retry @@ -1415,7 +1457,7 @@ vm_fault_object(struct faultstate *fs, int *behindp, int *aheadp) * done. */ if (vm_page_all_valid(fs->m)) { - VM_OBJECT_WUNLOCK(fs->object); + VM_OBJECT_UNLOCK(fs->object); return (FAULT_SOFT); } } @@ -1427,6 +1469,11 @@ vm_fault_object(struct faultstate *fs, int *behindp, int *aheadp) */ if (fs->m == NULL && (fault_object_needs_getpages(fs->object) || fs->object == fs->first_object)) { + if (!vm_fault_object_ensure_wlocked(fs)) { + fs->can_read_lock = false; + unlock_and_deallocate(fs); + return (FAULT_RESTART); + } res = vm_fault_allocate(fs); if (res != FAULT_CONTINUE) return (res); @@ -1448,7 +1495,7 @@ vm_fault_object(struct faultstate *fs, int *behindp, int *aheadp) * prevents simultaneous faults and collapses while * the object lock is dropped. */ - VM_OBJECT_WUNLOCK(fs->object); + VM_OBJECT_UNLOCK(fs->object); res = vm_fault_getpages(fs, behindp, aheadp); if (res == FAULT_CONTINUE) VM_OBJECT_WLOCK(fs->object); @@ -1465,6 +1512,7 @@ vm_fault(vm_map_t map, vm_offset_t vaddr, vm_prot_t fault_type, struct faultstate fs; int ahead, behind, faultcount, rv; enum fault_status res; + enum fault_next_status res_next; bool hardfault; VM_CNT_INC(v_vm_faults); @@ -1480,6 +1528,7 @@ vm_fault(vm_map_t map, vm_offset_t vaddr, vm_prot_t fault_type, fs.lookup_still_valid = false; fs.oom_started = false; fs.nera = -1; + fs.can_read_lock = true; faultcount = 0; hardfault = false; @@ -1590,15 +1639,19 @@ RetryFault: * traverse into a backing object or zero fill if none is * found. */ - if (vm_fault_next(&fs)) + res_next = vm_fault_next(&fs); + if (res_next == FAULT_NEXT_RESTART) + goto RetryFault; + else if (res_next == FAULT_NEXT_GOTOBJ) continue; + MPASS(res_next == FAULT_NEXT_NOOBJ); if ((fs.fault_flags & VM_FAULT_NOFILL) != 0) { if (fs.first_object == fs.object) fault_page_free(&fs.first_m); unlock_and_deallocate(&fs); return (KERN_OUT_OF_BOUNDS); } - VM_OBJECT_WUNLOCK(fs.object); + VM_OBJECT_UNLOCK(fs.object); vm_fault_zerofill(&fs); /* Don't try to prefault neighboring pages. */ faultcount = 1; From nobody Sat Mar 11 14:57:50 2023 X-Original-To: dev-commits-src-main@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 4PYmHf5Sx0z3xk9p; Sat, 11 Mar 2023 14:57: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 4PYmHf4pQcz3GPC; Sat, 11 Mar 2023 14:57:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678546670; 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=7kIKbhSQhxKQL2vJ9xbn/Y5KFzID9QG9CCIstMxZHes=; b=vC93eGOm3siXlA6ojKc4xwXLU45tkpL9rBCmDvLIJeGwNUJzpta7PtYrH7qyho6sTv8X+i JZ4vH2ktqnHm1cu1LpgbA51a5CPjvm/c+jRt7RWQ1RAib68EUmKfrVhCairNPuJ6tPb/Tp i/WqKRJYlim7GUDhYEfObMGF1VMX1ljLrbyxmOLSH4QQ4NzEeMnDI+ILGjD+ELKBb0qHEy wEfDg7F/VR5xftgI9VAvGGjSHQXlpsq6cZH+Y8yMZCT/xb34a6jyywdyUa50qe6iCx2i7x Xw4jAlghlR09EJHWbxBUVjGEuabI+Ql8ablJoMTkseZD4qVc/yoMEUjdH1mbFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678546670; 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=7kIKbhSQhxKQL2vJ9xbn/Y5KFzID9QG9CCIstMxZHes=; b=fSySdFTm3ciT2F2W2zQE061kAmZcQSFREMrH92//LvWz9aQjQnU/rQa86sMYHPR2RsrCwp AHl7OXxbB8uGDllT7Gxl5ElQ35gSpcztFmyVC2jTHFky2geX5yfy8ITwrBZkiaq8Rx0jat 6NdcIV1VgCseVHcjO4GDXFyN6CGVlkcowetwu0gh4fAc7w9DyGOsAaaBeo/sGUtLVD2yqc wg6wj+qjyQ44jECuomTAzPrnY9dRU1uGPpntJVuzZMKyIM8J6zZEdjr04db7S3N1kkeBVj 7ZetDTOiH0qgp63wuuJz7pJrlRz8eMtlQeQep52re/CuD2q0pPBKcqUiNxrNlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678546670; a=rsa-sha256; cv=none; b=PYy6ffjDgnlj8WFsq4ni0AD/HeSKSXmOkuZ5j5mwYSavoD1Yom7ELQN9OHTs3Uo97zEJ6T KNEgb0Mf0YewLA62BsczZ5bIhiIlX1NUTZ/O7kcQv1aAZz/DrcGESRkcoovsREK/DuvpiO DijJQqCMHNl6TkL4vQtPg+aKnf0W8MiVXQ0drGizkHte8oLOvuh6dsmhKtoeUJoaPYzuoi rfIZ4IFwyAaCJ+iira0qR1wkiwu1OcicH0MQGuUgbHEH7UNw9WOPCmd1vSSf1b5mXY55mq ndQNq9zp6D7qeWfSTfeZtvMdark8P1sOQZ9WwK5qNsDvfTFSHVlpS/1QzFMl1w== 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 4PYmHf3bh4zYt4; Sat, 11 Mar 2023 14:57:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BEvonn006170; Sat, 11 Mar 2023 14:57:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BEvorS006169; Sat, 11 Mar 2023 14:57:50 GMT (envelope-from git) Date: Sat, 11 Mar 2023 14:57:50 GMT Message-Id: <202303111457.32BEvorS006169@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ceri Davies Subject: git: effb053522e8 - main - rc.conf.5: dhclient came from OpenBSD, but now isn't the OpenBSD client List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ceri X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: effb053522e82446923ba8f4887e6598dd17dd5d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ceri: URL: https://cgit.FreeBSD.org/src/commit/?id=effb053522e82446923ba8f4887e6598dd17dd5d commit effb053522e82446923ba8f4887e6598dd17dd5d Author: Ceri Davies AuthorDate: 2023-03-11 14:54:11 +0000 Commit: Ceri Davies CommitDate: 2023-03-11 14:54:11 +0000 rc.conf.5: dhclient came from OpenBSD, but now isn't the OpenBSD client --- share/man/man5/rc.conf.5 | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 476c8d90073d..e80b9ca71999 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 9, 2023 +.Dd March 11, 2023 .Dt RC.CONF 5 .Os .Sh NAME @@ -564,18 +564,12 @@ file, default .Pa /etc/machine-id . .It Va dhclient_program .Pq Vt str -Path to the DHCP client program -.Pa ( /sbin/dhclient , -the -.Ox -DHCP client, -is the default). +Path to the DHCP client program, defaulting to +.Pa /sbin/dhclient . .It Va dhclient_flags .Pq Vt str Additional flags to pass to the DHCP client program. -For the -.Ox -DHCP client, see the +See the .Xr dhclient 8 manpage for a description of the command line options available. .It Va dhclient_flags_ Ns Aq Ar iface From nobody Sat Mar 11 14:57:51 2023 X-Original-To: dev-commits-src-main@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 4PYmHg5LPlz3xkNV; Sat, 11 Mar 2023 14:57:51 +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 4PYmHg4r53z3GWG; Sat, 11 Mar 2023 14:57:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678546671; 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=9npNcFTMHqFppC161+Yiruf1iVHT2ArVazi3wMiHO/c=; b=X2NE1YVqdbAvZ4a7TOzmAmvFnnVgjdvjDClkHM/Fl+zgQHw3aVA4ot2AemxrnKG88iRaCT Q+gKoI7NINS7Lvg7XyABjwBD+d7ScK2u87KVWyNfy40YZvFvz07uv+fvXdkSAZ4/TfjTwM irTFF7k/7k5yOkOtFhbgf50eBRdm0pO6SsXtqkGfKUOwEP7fB43cvR0fXN0xlYR6QAnnIi kwe2iE0yTpK5XiogLi6y496q7d1jzqKsvO/md6Rjo2F8l2LTG9qZq8DlDJo9Kiyr2sWFou pLCC1tzxTFGGoxX8u+iHUivhPxGtFgH/TCrSD/XKfP1R3DLxryqPUF9rixPgNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678546671; 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=9npNcFTMHqFppC161+Yiruf1iVHT2ArVazi3wMiHO/c=; b=KUgmaD4TeHEeZM283d5KTCyvapeA8uF3cgnFC1vTQBwk7Jx1x/9n+BDoTEUYV4yQOMQLuC A3/Y7uOqMMA1EjDf6Ndrn/Z5pYEEeOkvEnDy3Ova6f8EDxnt5Rd8SH2VF11R6efPvTKtsQ ynPH34SKbP3Ybd9hrfphlOl9wTK+5eOov1cB57YK0YuYmISMtXagUkY/j6Jj33wT+Bg/SA I5ps+LmCa5QTHuPp/dp2P19xUS0E4aQLuowpIiXsRVfS3TiZlYxf+ExOAfUWCMG1NWSTWU 4fVNVRN7X7Hbx9Mran4x9gaICtqW+qLHBScZItDrkqvr+L8ZOO8jG1xgtGDmDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678546671; a=rsa-sha256; cv=none; b=Sw+Xq2EX01Ceyv/tXbC3ujxwW5a85+yW+qHxoW1LIz1gMHplGNYQdrqg1+Db4EauQgGkWT 2eOoMn0DlPbwcdB5boBYTpPH8MKe9BI5KPJMphI07oRUuySylzYWs9DxRSx8yRlUfiMuzP /0mwOzFrzmeNcrzrSFHqcjtViplY3I+8qi0zl+2DYkjN49R2NH+XknhUeaZJ6RIExRXAJv LqtNlbrK1tBUTQrHbZo5mnBzjjkp/Rr5O1KK92UY7WaP2nTq9kIzUMa1mL/1obDH53DNrL qxXq1HWvXSk+byL3/6D0i0QjgrRBEdvsLTugM8WXIeCLj9eMo7OfpWlDVoe5Gg== 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 4PYmHg3kZNzZ9J; Sat, 11 Mar 2023 14:57:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BEvpFM006191; Sat, 11 Mar 2023 14:57:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BEvpVT006190; Sat, 11 Mar 2023 14:57:51 GMT (envelope-from git) Date: Sat, 11 Mar 2023 14:57:51 GMT Message-Id: <202303111457.32BEvpVT006190@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ceri Davies Subject: git: 682bd8ecaac9 - main - rc.conf.5: fix typo of route6d that I introduced while nitpicking List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ceri X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 682bd8ecaac92e598704b9a18bd96d215339dd82 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ceri: URL: https://cgit.FreeBSD.org/src/commit/?id=682bd8ecaac92e598704b9a18bd96d215339dd82 commit 682bd8ecaac92e598704b9a18bd96d215339dd82 Author: Ceri Davies AuthorDate: 2023-03-11 14:56:40 +0000 Commit: Ceri Davies CommitDate: 2023-03-11 14:56:40 +0000 rc.conf.5: fix typo of route6d that I introduced while nitpicking --- share/man/man5/rc.conf.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index e80b9ca71999..067dac210dce 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -5001,7 +5001,7 @@ these are the flags to pass to the .Xr rcorder 8 , .Xr rfcomm_pppd 8 , .Xr route 8 , -.Xr rout6ed 8 , +.Xr route6d 8 , .Xr routed 8 , .Xr rpc.lockd 8 , .Xr rpc.statd 8 , From nobody Sat Mar 11 16:43:23 2023 X-Original-To: dev-commits-src-main@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 4PYpdR6PcSz3xqPG; Sat, 11 Mar 2023 16:43: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 4PYpdR5dTJz3QVl; Sat, 11 Mar 2023 16:43:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678553003; 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=v4MjbYJzdS3VQvitt9BNe46wX5caqtn7KKyjdSoMVxU=; b=RRRATddaDbMejlKCO6P0CAtf5QT/AjPDsCDlrPxcvt0+JbHfF6rbwkJsD0gCcM7V8h+48p S4a9zjMRMzL9FSq5ogZ7P7aTzhVJQ4wQJdrGilAlloKWHPDgD+FY7szUB/eGf6h88FFSxG 48I2Sr2IxcWnGFjFATiouzK+iGnFhPd5qs+pALqOJmuGeZ2lR8oconG9ixC3Kjxitu2xVP +3dcW5jyjJCBJ3wKrQrQTaEIFOVhVOESXp22mss4H7T32fDD0ydX3KT2//YyknayU3OqOk BwlW7j2kDRyR3CO2aTC3h4gX6P9kzHEuf/6bjit7Ml8CPrtinqKeEmiK1mQh+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678553003; 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=v4MjbYJzdS3VQvitt9BNe46wX5caqtn7KKyjdSoMVxU=; b=njXN4cQ9+yECkPclm19y/LYnn2BTjzkRxFzslv3/f005UmBnNWmlfXeX3vw/NphZSKo2ke /i4QNoeXnfUXAHMjmn03OCWhKymvayfxkM8vxwepBwqdM7TAqAtJ2O3yqybGxgu+bLTo8l IBsoYvfImlj0zJHLRMS2P3JIiab7B92o+xN7NwLpboj8PwE2K0yy2u5No/stE2m/HYpYNM MXJ7z6y2MWpHRPhPQnVyRajoBe/ZSvbpTD8Be7eojq/RzUg36NMq1ZVSrVfSeuesdlXMx0 jPUUoRQ7sMi+eWo0bcb/z7g6VfBnYKVSBw9EOOLom7ww+G6LF7S8TGf4XyspiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678553003; a=rsa-sha256; cv=none; b=nSdnKlJbzkqu/L5zk6teKnPYWQvBEwp3m/4wL8Y51JUeD2TDdh5Wa3Y8ZTl7JyPLnorGph /AyKywvDhWC6B7cGX9aN0qtTfnqm3lGBy4Gcxfeg7MfRmzdKXNTyrkr0mnlUfgbtQh8HaN TgSw1uuM6vE9UrgOq2EmyVhsQuPSC0fe18n0QBNZW4Rsjwbenq2QTPGMAyxeAFOuTcY2m9 TtgDPkn8nIcIQBd0r/ndBmUYPsxpJnb7HWg2hyyT5JNkwT31RI3hkfftyCmReQWLd2twlf dpNd47KJOY/wYX7PALNYkb2WXU3iOUjwpjAMeCjHwCNk1oHMQQBUcSXjBbL3DA== 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 4PYpdR4PDgzd8p; Sat, 11 Mar 2023 16:43:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BGhNkh087279; Sat, 11 Mar 2023 16:43:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BGhNbC087278; Sat, 11 Mar 2023 16:43:23 GMT (envelope-from git) Date: Sat, 11 Mar 2023 16:43:23 GMT Message-Id: <202303111643.32BGhNbC087278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 1510005c94b8 - main - dtsec: Complete mechanical conversion to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1510005c94b81671545128b9b6c3357df859dc54 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=1510005c94b81671545128b9b6c3357df859dc54 commit 1510005c94b81671545128b9b6c3357df859dc54 Author: Justin Hibbits AuthorDate: 2023-03-07 20:41:38 +0000 Commit: Justin Hibbits CommitDate: 2023-03-11 16:34:42 +0000 dtsec: Complete mechanical conversion to IfAPI Some changes were missed in 0083fc5c76. Sponsored by: Juniper Networks, Inc. --- sys/dev/dpaa/if_dtsec.c | 8 ++++---- sys/dev/dpaa/if_dtsec_im.c | 8 ++++---- sys/dev/dpaa/if_dtsec_rm.c | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/dev/dpaa/if_dtsec.c b/sys/dev/dpaa/if_dtsec.c index cc34c2cbb416..877611c6cebe 100644 --- a/sys/dev/dpaa/if_dtsec.c +++ b/sys/dev/dpaa/if_dtsec.c @@ -359,7 +359,7 @@ dtsec_if_enable_locked(struct dtsec_softc *sc) if (error != E_OK) return (EIO); - sc->sc_ifnet->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(sc->sc_ifnet, IFF_DRV_RUNNING, 0); /* Refresh link state */ dtsec_miibus_statchg(sc->sc_dev); @@ -386,7 +386,7 @@ dtsec_if_disable_locked(struct dtsec_softc *sc) if (error != E_OK) return (EIO); - sc->sc_ifnet->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->sc_ifnet, 0, IFF_DRV_RUNNING); return (0); } @@ -415,7 +415,7 @@ dtsec_if_ioctl(if_t ifp, u_long command, caddr_t data) case SIOCSIFFLAGS: DTSEC_LOCK(sc); - if (sc->sc_ifnet->if_flags & IFF_UP) + if (if_getflags(sc->sc_ifnet) & IFF_UP) error = dtsec_if_enable_locked(sc); else error = dtsec_if_disable_locked(sc); @@ -482,7 +482,7 @@ dtsec_if_init_locked(struct dtsec_softc *sc) if (sc->sc_mii) callout_reset(&sc->sc_tick_callout, hz, dtsec_if_tick, sc); - if (sc->sc_ifnet->if_flags & IFF_UP) { + if (if_getflags(sc->sc_ifnet) & IFF_UP) { error = dtsec_if_enable_locked(sc); if (error != 0) goto err; diff --git a/sys/dev/dpaa/if_dtsec_im.c b/sys/dev/dpaa/if_dtsec_im.c index cae0499c282b..2b25b935b657 100644 --- a/sys/dev/dpaa/if_dtsec_im.c +++ b/sys/dev/dpaa/if_dtsec_im.c @@ -77,7 +77,7 @@ dtsec_im_fm_port_rx_callback(t_Handle app, uint8_t *data, uint16_t length, m = m_devget(data, length, 0, sc->sc_ifnet, NULL); if (m) - (*sc->sc_ifnet->if_input)(sc->sc_ifnet, m); + if_input(sc->sc_ifnet, m); XX_FreeSmart(data); @@ -234,11 +234,11 @@ dtsec_im_if_start_locked(struct dtsec_softc *sc) if ((sc->sc_mii->mii_media_status & IFM_ACTIVE) == 0) return; - if ((sc->sc_ifnet->if_drv_flags & IFF_DRV_RUNNING) != IFF_DRV_RUNNING) + if ((if_getdrvflags(sc->sc_ifnet) & IFF_DRV_RUNNING) != IFF_DRV_RUNNING) return; - while (!IFQ_DRV_IS_EMPTY(&sc->sc_ifnet->if_snd)) { - IFQ_DRV_DEQUEUE(&sc->sc_ifnet->if_snd, m); + while (!if_sendq_empty(sc->sc_ifnet)) { + m = if_dequeue(sc->sc_ifnet); if (m == NULL) break; diff --git a/sys/dev/dpaa/if_dtsec_rm.c b/sys/dev/dpaa/if_dtsec_rm.c index d42973915b6b..73e75de65174 100644 --- a/sys/dev/dpaa/if_dtsec_rm.c +++ b/sys/dev/dpaa/if_dtsec_rm.c @@ -389,7 +389,7 @@ dtsec_rm_fqr_rx_callback(t_Handle app, t_Handle fqr, t_Handle portal, m->m_len = DPAA_FD_GET_LENGTH(frame); m_fixhdr(m); - (*sc->sc_ifnet->if_input)(sc->sc_ifnet, m); + if_input(sc->sc_ifnet, m); return (e_RX_STORE_RESPONSE_CONTINUE); @@ -555,10 +555,10 @@ dtsec_rm_if_start_locked(struct dtsec_softc *sc) if ((sc->sc_mii->mii_media_status & IFM_ACTIVE) == 0) return; - if ((sc->sc_ifnet->if_drv_flags & IFF_DRV_RUNNING) != IFF_DRV_RUNNING) + if ((if_getdrvflags(sc->sc_ifnet) & IFF_DRV_RUNNING) != IFF_DRV_RUNNING) return; - while (!IFQ_DRV_IS_EMPTY(&sc->sc_ifnet->if_snd)) { + while (!if_sendq_empty(sc->sc_ifnet)) { /* Check length of the TX queue */ qlen = qman_fqr_get_counter(sc->sc_tx_fqr, 0, e_QM_FQR_COUNTERS_FRAME); @@ -572,7 +572,7 @@ dtsec_rm_if_start_locked(struct dtsec_softc *sc) if (fi == NULL) return; - IFQ_DRV_DEQUEUE(&sc->sc_ifnet->if_snd, m0); + m0 = if_dequeue(sc->sc_ifnet); if (m0 == NULL) { dtsec_rm_fi_free(sc, fi); return; From nobody Sat Mar 11 16:43:24 2023 X-Original-To: dev-commits-src-main@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 4PYpdS6yxsz3xqJN; Sat, 11 Mar 2023 16:43: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 4PYpdS655tz3Qy9; Sat, 11 Mar 2023 16:43:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678553004; 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=YEbtBrz6EfdHqy9PLH4fC2iyRlf0yELaPkBsMJIDDIc=; b=DyGFzg0VlWC87yARf7fkvc4g43qbSYGUxlHvhX4UkdH0Eo7FNlOdP5Mk96X5dAD8vqeHU/ JHEqUrwwQJ6Ufy/WwiQibToimvX7759BG/Rhix+OBwsq+4mrRTOMly5oZ0DseNLrnSmSje 8D4y50LaUldSTcB35oJ0d0sBq+yUh26HoiV3QX3RrCoVEYyWv9kP0pNzW1eCUUz3ftRETv eESSeLIGsJZv9q1ORCWBv+I+7xrSidr1zrO5F8n0g2QZSNRas9nsz3KM53QYzHdXeXZsTu G0WIGq0GPER9shQGkCYffMLNW6Nbv3WA0tWsmpEVwE2exAji+qDq0NtwrgZoug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678553004; 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=YEbtBrz6EfdHqy9PLH4fC2iyRlf0yELaPkBsMJIDDIc=; b=ltuk/Trv5nOcVSmLDowJgTI5qJHqMAAYd3xq9fR5IW9nU5QVD44TANcOrVW2gkHYL80XyD 1Tpidoz4vSvGGv5jdnXo3hHU4JR8mu4UYsol8tYcXr3mL12ZAI1ssjX0Ib83k/Bh4L7YJZ 9zwGk8eVtGIyDjau2VpbfU/FwKQMRyN6ZNkg740YGzwND1wkq8fNb9vcM3y2q1aLIYZb+X Rg6ITUD/jT+yBsAaLm1aj1HQlYgwU0VPUfVaQU8MSh6twMe5KCJSPUtTtXxHt6Vn1ax9IP mJ6kcCYgxKDr1/dp/v23x2m55Y+0Bjr84hr/bf+iHiV4CW3PnqtzYdFPCFEGUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678553004; a=rsa-sha256; cv=none; b=QHaqNqdoRBDKIUrbSTZLN57OAiIZIT49zmypXPr6juMnRdd+Aqi3p7m7JcMqSLxkHarrYz QLeR5qlFjkwLCx+HRVnLb9qFjg+52marBzF6iMKQhqTINYVqdOp6BVBWl47NZJaROVJOIe Vb0jywvJYRwr9R/K2/yFOz5tyXp91bEySX8DRf4JOOrg4Fd1dhzXeIZeG/0paOC5M/gVxQ 40oJWGY0tIgJKkFMn+EYO7mtvQ8aVPEScDSdbrA8gr+cG8gbeK08CUmpIWRLDRvcQE/0ut 2VbCabLJa4jaA67wNE4lSaPP0ehB9IhF7jZx+tMlbhHea65IAfl9k27vn25z3Q== 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 4PYpdS578Qzcvt; Sat, 11 Mar 2023 16:43:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BGhOOk087305; Sat, 11 Mar 2023 16:43:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BGhOlv087304; Sat, 11 Mar 2023 16:43:24 GMT (envelope-from git) Date: Sat, 11 Mar 2023 16:43:24 GMT Message-Id: <202303111643.32BGhOlv087304@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 3caaaa56bbba - main - phyp_llan: Mechanically convert to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3caaaa56bbbafbf74b1a65acdd2c71ab1178cd95 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=3caaaa56bbbafbf74b1a65acdd2c71ab1178cd95 commit 3caaaa56bbbafbf74b1a65acdd2c71ab1178cd95 Author: Justin Hibbits AuthorDate: 2023-03-11 16:25:25 +0000 Commit: Justin Hibbits CommitDate: 2023-03-11 16:35:27 +0000 phyp_llan: Mechanically convert to IfAPI Sponsored by: Juniper Networks, Inc. --- sys/powerpc/pseries/phyp_llan.c | 44 ++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/sys/powerpc/pseries/phyp_llan.c b/sys/powerpc/pseries/phyp_llan.c index accb8406f043..c1acca603d1a 100644 --- a/sys/powerpc/pseries/phyp_llan.c +++ b/sys/powerpc/pseries/phyp_llan.c @@ -224,26 +224,25 @@ llan_attach(device_t dev) /* Attach to network stack */ sc->ifp = if_alloc(IFT_ETHER); - sc->ifp->if_softc = sc; + if_setsoftc(sc->ifp, sc); if_initname(sc->ifp, device_get_name(dev), device_get_unit(dev)); - sc->ifp->if_mtu = ETHERMTU; /* XXX max-frame-size from OF? */ - sc->ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - sc->ifp->if_hwassist = 0; /* XXX: ibm,illan-options */ - sc->ifp->if_capabilities = 0; - sc->ifp->if_capenable = 0; - sc->ifp->if_start = llan_start; - sc->ifp->if_ioctl = llan_ioctl; - sc->ifp->if_init = llan_init; + if_setmtu(sc->ifp, ETHERMTU); /* XXX max-frame-size from OF? */ + if_setflags(sc->ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_sethwassist(sc->ifp, 0); /* XXX: ibm,illan-options */ + if_setcapabilities(sc->ifp, 0); + if_setcapenable(sc->ifp, 0); + if_setstartfn(sc->ifp, llan_start); + if_setioctlfn(sc->ifp, llan_ioctl); + if_setinitfn(sc->ifp, llan_init); ifmedia_init(&sc->media, IFM_IMASK, llan_media_change, llan_media_status); ifmedia_add(&sc->media, IFM_ETHER | IFM_AUTO, 0, NULL); ifmedia_set(&sc->media, IFM_ETHER | IFM_AUTO); - IFQ_SET_MAXLEN(&sc->ifp->if_snd, LLAN_MAX_TX_PACKETS); - sc->ifp->if_snd.ifq_drv_maxlen = LLAN_MAX_TX_PACKETS; - IFQ_SET_READY(&sc->ifp->if_snd); + if_setsendqlen(sc->ifp, LLAN_MAX_RX_PACKETS); + if_setsendqready(sc->ifp); ether_ifattach(sc->ifp, &sc->mac_address[2]); @@ -256,7 +255,7 @@ llan_attach(device_t dev) static int llan_media_change(struct ifnet *ifp) { - struct llan_softc *sc = ifp->if_softc; + struct llan_softc *sc = if_getsoftc(ifp); if (IFM_TYPE(sc->media.ifm_media) != IFM_ETHER) return (EINVAL); @@ -315,8 +314,7 @@ llan_init(void *xsc) phyp_hcall(H_VIO_SIGNAL, sc->unit, 1); /* Enable interrupts */ /* Tell stack we're up */ - sc->ifp->if_drv_flags |= IFF_DRV_RUNNING; - sc->ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(sc->ifp, IFF_DRV_RUNNING, IFF_DRV_OACTIVE); mtx_unlock(&sc->io_lock); @@ -412,7 +410,7 @@ restart: } mtx_unlock(&sc->io_lock); - (*sc->ifp->if_input)(sc->ifp, m); + if_input(sc->ifp, m); mtx_lock(&sc->io_lock); } @@ -462,18 +460,18 @@ llan_send_packet(void *xsc, bus_dma_segment_t *segs, int nsegs, static void llan_start_locked(struct ifnet *ifp) { - struct llan_softc *sc = ifp->if_softc; + struct llan_softc *sc = if_getsoftc(ifp); int nsegs; struct mbuf *mb_head, *m; mtx_assert(&sc->io_lock, MA_OWNED); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) return; - while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, mb_head); + while (!if_sendq_empty(ifp)) { + mb_head = if_dequeue(ifp); if (mb_head == NULL) break; @@ -500,7 +498,7 @@ llan_start_locked(struct ifnet *ifp) static void llan_start(struct ifnet *ifp) { - struct llan_softc *sc = ifp->if_softc; + struct llan_softc *sc = if_getsoftc(ifp); mtx_lock(&sc->io_lock); llan_start_locked(ifp); @@ -537,13 +535,13 @@ static int llan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) { int err = 0; - struct llan_softc *sc = ifp->if_softc; + struct llan_softc *sc = if_getsoftc(ifp); switch (cmd) { case SIOCADDMULTI: case SIOCDELMULTI: mtx_lock(&sc->io_lock); - if ((sc->ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(sc->ifp) & IFF_DRV_RUNNING) != 0) llan_set_multicast(sc); mtx_unlock(&sc->io_lock); break; From nobody Sat Mar 11 16:43:25 2023 X-Original-To: dev-commits-src-main@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 4PYpdV0wqpz3xq4r; Sat, 11 Mar 2023 16:43:26 +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 4PYpdT6vl9z3R22; Sat, 11 Mar 2023 16:43:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678553006; 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=Z/054ed6YI1uQObF5dnTUc6QqvYqOTymlVAxGGtJGw4=; b=xJVU0QwNO8YLxVECJHhVOOR+5NeV4h9etVOThyV8kzRFhpPInjaczwOUgnd/v72aLHLAFt 8wXlYVdfcJ73RlwzzyX7/T4Zg93icVQtV101qJhomqjAd4T2AzRRUg1KHMbFk6+m0V3hqD nskNNRguHjq+5GqnBr9P5CwgzprDXnjgWrHUs5sCN37GrOKk4PTbyA53muuiinAZvnYKqV 2S4ylS9+yttaPxKy1CNMfxMSUnbsqOwr9KBLuj9T88E68j8zeGCrf0IKL9WEtYRvqZEvs+ oFEqv9O5sBHaYumxtoSi7YfniXi1JEGk6oChx/mA/7DJxL9i5rSfDneL4BCA6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678553006; 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=Z/054ed6YI1uQObF5dnTUc6QqvYqOTymlVAxGGtJGw4=; b=mgArgKEA9JKSw3lHV1rsZF6Yg81aDv9DAU6k+3j/LDVrBZ6F2EZFe1jeXpaNsTNE8vgjau szf8/HdhSHG4z/EVGO2NW4+xY1ofKjtpSBX+e9f2+H7hU2BF8YJE5QP+HFbrgVEPfbQIiQ ebkEhLmwdl2zu3mgb1+so9OsXQzMLN4DUOZTVAOcTfWZU50jHDb8TBoUGADqZRAUEi6lem jwnESPzYTKIRlnftoGlUeYYk6Vg+NeZ1wQpz+vt6HxdUdTJXHAniFjWRmkqFZTUu7UK/1k K5IF1mfNSU7X4cB2W3NECTVT7Oyyv7haq6DbV+EqvU1k20pjYb5iBFyBFqPgbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678553006; a=rsa-sha256; cv=none; b=G4PaRIfhR5j8KgeJWVCyo2XzYA8V9OzB79ERkkoBCsAXt66hS9Jogd2JjXy6WJoeWocf01 vhsJbKuVLJyAj4Ih/mVEEyUtUWcycN/bwIjObNoMnXZ5LCUpnUfimcsggCAJfEiKDxX1ve Bk2sUi+sr3rY/bipmLNa0N82W4ELL2Q5Ezt/Nz/lDmgruM6n6ZlUAh8mcC0wo/+I/nmB1w /lcx92RRbJ7ivSngupmpcMKJalGQ6z12WbkZV05HYTYDftW6+GUldKIDNA9ZIksDe+ufJo NRekO83tGHUxctleJr1XGx6or73GbSJ65JYRO8VB5uIR7dds6+I3yBd56lczMA== 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 4PYpdT60GVzcvv; Sat, 11 Mar 2023 16:43:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BGhPjE087324; Sat, 11 Mar 2023 16:43:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BGhPFN087323; Sat, 11 Mar 2023 16:43:25 GMT (envelope-from git) Date: Sat, 11 Mar 2023 16:43:25 GMT Message-Id: <202303111643.32BGhPFN087323@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 635ecbf47015 - main - dtrace/powerpc: Adjust AFRAMES for fbt and profile List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 635ecbf47015c259226cb47a3de8fc00c9ed5924 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=635ecbf47015c259226cb47a3de8fc00c9ed5924 commit 635ecbf47015c259226cb47a3de8fc00c9ed5924 Author: Justin Hibbits AuthorDate: 2023-03-11 16:23:38 +0000 Commit: Justin Hibbits CommitDate: 2023-03-11 16:35:27 +0000 dtrace/powerpc: Adjust AFRAMES for fbt and profile FBT_AFRAMES was skipping over too many frames, while PROFILE_AFRAMES was skipping over too few. Adjust them empirically. --- sys/cddl/dev/fbt/powerpc/fbt_isa.c | 2 +- sys/cddl/dev/profile/profile.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/cddl/dev/fbt/powerpc/fbt_isa.c b/sys/cddl/dev/fbt/powerpc/fbt_isa.c index 0da74c9cf076..eb7feceb269d 100644 --- a/sys/cddl/dev/fbt/powerpc/fbt_isa.c +++ b/sys/cddl/dev/fbt/powerpc/fbt_isa.c @@ -48,7 +48,7 @@ #define FBT_ENTRY "entry" #define FBT_RETURN "return" -#define FBT_AFRAMES 7 +#define FBT_AFRAMES 5 int fbt_invop(uintptr_t addr, struct trapframe *frame, uintptr_t rval) diff --git a/sys/cddl/dev/profile/profile.c b/sys/cddl/dev/profile/profile.c index 57793d116283..439a62f4b9da 100644 --- a/sys/cddl/dev/profile/profile.c +++ b/sys/cddl/dev/profile/profile.c @@ -101,7 +101,7 @@ /* * This value is bogus just to make module compilable on powerpc */ -#define PROF_ARTIFICIAL_FRAMES 3 +#define PROF_ARTIFICIAL_FRAMES 8 #endif struct profile_probe_percpu; From nobody Sat Mar 11 16:43:26 2023 X-Original-To: dev-commits-src-main@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 4PYpdW2jtLz3xqJT; Sat, 11 Mar 2023 16:43:27 +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 4PYpdW0Tzlz3QpS; Sat, 11 Mar 2023 16:43:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678553007; 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=jSewGXPmO/AYoaMNI9uP/8VhulJBoHsAYHP2g3w4p4k=; b=XxW0h8ebNtbAnbfxZZixZtKCDz0d0hufVU62e7w36IH9jrgvszhyA3eHFbxPz9hAYQP/Y5 uF8yxL+MgzVboNYoXSM2HKx8vePOpIvkeFKYOmgu4M8Go1DnlgpgdDYOMg9O0rav4AE3US wZQeeo457ey0iUrc2m4U+freyDiYo5Cal2m40RjRyDlIYuPsQXV90VrGs4DjCUJl6uPRvH E8CZOxIDI84kgFxVo35JGEFoHQr8sLUwPPNIU6RtcN3HWRmhynnQuQIBkVxG/Fs2DVi5fL gJh9sAbpIEz1Kl2OQF2N3Xv6IVP/QolQmEav92rADA4H4CuV1dzyoLMUFw3sCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678553007; 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=jSewGXPmO/AYoaMNI9uP/8VhulJBoHsAYHP2g3w4p4k=; b=vd0Pa9dvfotgcUsQJuDL6TiYjInhVNUOZpM6slI+imroNZdez/Q4n+XC/k4bTSGNdJXLHr BsKr/LLc5qpdB9un8d4feo+c4JE2ajYottDtSHlG7gAA/PFQV2mjO4OWTotfhGOa4wiklR 0QDWpPe916JHgStekat/dHnjRgwcGuxCqX+t7cnlDk4ovqwF34w1ouhNPMRlxKd/vfKkSH BAEKFMPa8kDPDspTsJSG0uo0jLhbXnfVOGza7XczAczcc+eYPsS42R55r12b8Ax6VXU7RQ 3w1XR2tJjqDTvAnnTNE23xATtBuRxrYEJiMPAWt3BpxJa73xbMwqKLhrMZ0aYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678553007; a=rsa-sha256; cv=none; b=ikcjWwyWD5gWuoLMBnVPJIZW0jmc5jVaeFwZAcMjSunq+fkTmCC2gRMmhRGtN4bl+FrGbB chPS1kDgqimjkx8+CzmIzt8TfyhYiVUTC94oAOLMBMBz3qJzoCPcNLJfid7aFlVCSAvnpP FoAHmHV9s28/rz7JBT5lyzNiX5Tjvnvl5wZemXhprKovRezJtUjMUsihjSYjE4OonAv6JB qGXmF8htcA65GZ82xIs2R/LHBalDHtkk+rApx6QIsi/03Idw2ioTrw3cRUPanT/Jg5GI6j 2+6RhtkCke3Jj1bSzsbD5VWAxkJm6I078o4bVzd7jqXZPpnxwlOT53D84FJ40g== 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 4PYpdV6jKHzcG7; Sat, 11 Mar 2023 16:43:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BGhQwg087343; Sat, 11 Mar 2023 16:43:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BGhQ0q087342; Sat, 11 Mar 2023 16:43:26 GMT (envelope-from git) Date: Sat, 11 Mar 2023 16:43:26 GMT Message-Id: <202303111643.32BGhQ0q087342@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 3e1155ade1ba - main - dtrace/powerpc: "Fix" stack traces across trap frames List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3e1155ade1baab51458374efd0295bdf6db455fc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=3e1155ade1baab51458374efd0295bdf6db455fc commit 3e1155ade1baab51458374efd0295bdf6db455fc Author: Justin Hibbits AuthorDate: 2023-03-11 16:30:00 +0000 Commit: Justin Hibbits CommitDate: 2023-03-11 16:35:27 +0000 dtrace/powerpc: "Fix" stack traces across trap frames In function boundary tracing the link register is not yet saved to the save stack location, so the save point contains whatever the previous 'lr' save was, or even garbage, at the time the trap is taken. Address this by explicitly loading the link register from the trap frame instead of the stack, and propagate that out. --- sys/cddl/dev/dtrace/powerpc/dtrace_isa.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c b/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c index cce1c907b5d8..2139be1ccec7 100644 --- a/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c @@ -97,15 +97,18 @@ dtrace_sp_inkernel(uintptr_t sp) } static __inline void -dtrace_next_sp_pc(uintptr_t sp, uintptr_t *nsp, uintptr_t *pc) +dtrace_next_sp_pc(uintptr_t sp, uintptr_t *nsp, uintptr_t *pc, uintptr_t *lr) { vm_offset_t callpc; struct trapframe *frame; + if (lr != 0 && *lr != 0) + callpc = *lr; + else #ifdef __powerpc64__ - callpc = *(vm_offset_t *)(sp + RETURN_OFFSET64); + callpc = *(vm_offset_t *)(sp + RETURN_OFFSET64); #else - callpc = *(vm_offset_t *)(sp + RETURN_OFFSET); + callpc = *(vm_offset_t *)(sp + RETURN_OFFSET); #endif /* @@ -121,6 +124,8 @@ dtrace_next_sp_pc(uintptr_t sp, uintptr_t *nsp, uintptr_t *pc) *nsp = frame->fixreg[1]; if (pc != NULL) *pc = frame->srr0; + if (lr != NULL) + *lr = frame->lr; return; } @@ -128,6 +133,9 @@ dtrace_next_sp_pc(uintptr_t sp, uintptr_t *nsp, uintptr_t *pc) *nsp = *(uintptr_t *)sp; if (pc != NULL) *pc = callpc; + /* lr is only valid for trap frames */ + if (lr != NULL) + *lr = 0; } void @@ -135,7 +143,7 @@ dtrace_getpcstack(pc_t *pcstack, int pcstack_limit, int aframes, uint32_t *intrpc) { int depth = 0; - uintptr_t osp, sp; + uintptr_t osp, sp, lr = 0; vm_offset_t callpc; pc_t caller = (pc_t) solaris_cpu[curcpu].cpu_dtrace_caller; @@ -154,7 +162,8 @@ dtrace_getpcstack(pc_t *pcstack, int pcstack_limit, int aframes, if (!dtrace_sp_inkernel(sp)) break; osp = sp; - dtrace_next_sp_pc(osp, &sp, &callpc); + dtrace_next_sp_pc(osp, &sp, &callpc, &lr); + //printf("sp: %#lx, pc: %#lx, lr: %#lx\n", sp, callpc, lr); if (aframes > 0) { aframes--; @@ -513,7 +522,7 @@ dtrace_getstackdepth(int aframes) depth++; osp = sp; - dtrace_next_sp_pc(sp, &sp, NULL); + dtrace_next_sp_pc(sp, &sp, NULL, NULL); } if (depth < aframes) return (0); From nobody Sat Mar 11 17:19:46 2023 X-Original-To: dev-commits-src-main@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 4PYqRQ5DWrz3xs9s; Sat, 11 Mar 2023 17:19: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 4PYqRQ4h3gz3nDT; Sat, 11 Mar 2023 17:19:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678555186; 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=8/6GE4HV1SaNhi4fYLi3ys3SKRpHj+Pq5LqmxVBKX+g=; b=o66OBMRtmaYFrPx8ov8kH1ECzWITGJZGihrrKEyVB4gZ4ddlLkJ+QSI3aJOBeF2RDZMOca VsiQnCQJs7P88nKzZ95D/rbxaIt8ueKw2/yDATklBYy5LoghdE5RqDPD5/jEmDnDEliXmw hUQEdhxZBc6ugII4I1kvUeifMvovJqbdG/RGzvaSMdi4efdb1TS7REqbo/iHo5CujD0skD omY3bmBDwSbVq/Xj7hq12cwGCD+39emdX872uGza6wKRugsQR2xG4GqPrzdaN8rfGcOtuf Uux0hFahwnsm7FvwefSMZ1By5T+dwTfNT/POySkXJJEZvJv9wiZsglG0HWmkIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678555186; 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=8/6GE4HV1SaNhi4fYLi3ys3SKRpHj+Pq5LqmxVBKX+g=; b=S7qEi9VNLpfVG7fYK7v8oMMYr44yfNqs4sJMavrA1uy9uNJstGsZdn9ukk1/KgoFE7MYl7 yAPfqbs0VVMGsVNQQt0jm6wD2E3UfL5QY+3b+UXaxewNUA/cqzJhE/vgInpCLMRWdF5lRm b8/vsznHrBHQ57OWs0iDIvwFRnn0Hof8XkP2X1wV2oz2kdBgdOz4283IFwQVDXd3iJ1WLH 0rDL86T4TVnLo1D+V9D5QrZuG1b0BjYz/Hphgj3HeoqmDoAvUS4ZGf9p5+pR9CrTkzJyuE d5WXh1jHqHF33TfUZ8h8af+5N50o+QKZ616OY6AhvruRvnWO66U4OnPYLTdCUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678555186; a=rsa-sha256; cv=none; b=Y4J9x8jqkSt7JyU24nJ9o8/P2Fuk3600k2tciFPHJjvh9JDXVaOO367gBkvRZil0so6CLM 2jGUbVENE7HKfz3H7p7bF5Qpc+cId4k0LKJ+eySx2SD21khhkJGXvyEVdY/mTehdKY2xPq zZQAorKBxTweMUT+ydE99vvE+buoaai8jrtA9umiaxw2+7OIGuqJb+f83Z4+x66t4/iHzv uiML9ilBABMcfoUL/fksdESTmOhpxRHeACkW/XIsC7OEWgwS21ydMQJ7BDBEj7YsIV8prf GPBkmI5mnFaL3hmgn9drIbu4MIMTtr5FJPv/HAfeZM9RXMWePBQA+WcHdb1TIw== 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 4PYqRQ3jcQzdlL; Sat, 11 Mar 2023 17:19:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BHJkv5038560; Sat, 11 Mar 2023 17:19:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BHJkU2038559; Sat, 11 Mar 2023 17:19:46 GMT (envelope-from git) Date: Sat, 11 Mar 2023 17:19:46 GMT Message-Id: <202303111719.32BHJkU2038559@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vincenzo Maffione Subject: git: 22bf2a479f68 - main - netmap: get rid of WNA() macro List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vmaffione X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 22bf2a479f68d5a5b8c002a9103d95f3c7547067 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by vmaffione: URL: https://cgit.FreeBSD.org/src/commit/?id=22bf2a479f68d5a5b8c002a9103d95f3c7547067 commit 22bf2a479f68d5a5b8c002a9103d95f3c7547067 Author: Vincenzo Maffione AuthorDate: 2023-03-11 17:19:01 +0000 Commit: Vincenzo Maffione CommitDate: 2023-03-11 17:19:40 +0000 netmap: get rid of WNA() macro MFC after: 7 days --- sys/dev/netmap/netmap_generic.c | 4 ---- sys/dev/netmap/netmap_kern.h | 9 ++++----- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/sys/dev/netmap/netmap_generic.c b/sys/dev/netmap/netmap_generic.c index 038d6efc33f5..77c56c74df65 100644 --- a/sys/dev/netmap/netmap_generic.c +++ b/sys/dev/netmap/netmap_generic.c @@ -1034,10 +1034,6 @@ generic_netmap_dtor(struct netmap_adapter *na) nm_prinf("Native netmap adapter for %s restored", prev_na->name); } NM_RESTORE_NA(ifp, prev_na); - /* - * netmap_detach_common(), that it's called after this function, - * overrides WNA(ifp) if na->ifp is not NULL. - */ na->ifp = NULL; nm_prinf("Emulated netmap adapter for %s destroyed", na->name); } diff --git a/sys/dev/netmap/netmap_kern.h b/sys/dev/netmap/netmap_kern.h index b4c7e4c83f6b..c34733f912fd 100644 --- a/sys/dev/netmap/netmap_kern.h +++ b/sys/dev/netmap/netmap_kern.h @@ -110,8 +110,6 @@ #define NM_ATOMIC_TEST_AND_SET(p) (!atomic_cmpset_acq_int((p), 0, 1)) #define NM_ATOMIC_CLEAR(p) atomic_store_rel_int((p), 0) -#define WNA(_ifp) if_getnetmapadapter(_ifp) - struct netmap_adapter *netmap_getna(if_t ifp); #define MBUF_REFCNT(m) ((m)->m_ext.ext_count) @@ -1690,13 +1688,14 @@ extern int netmap_generic_txqdisc; /* * NA returns a pointer to the struct netmap adapter from the ifp. - * WNA is os-specific and must be defined in glue code. + * The if_getnetmapadapter() and if_setnetmapadapter() helpers are + * os-specific and must be defined in glue code. */ -#define NA(_ifp) ((struct netmap_adapter *)WNA(_ifp)) +#define NA(_ifp) (if_getnetmapadapter(_ifp)) /* * we provide a default implementation of NM_ATTACH_NA/NM_DETACH_NA - * based on the WNA field. + * based on the if_setnetmapadapter() setter function. * Glue code may override this by defining its own NM_ATTACH_NA */ #ifndef NM_ATTACH_NA From nobody Sat Mar 11 21:09:04 2023 X-Original-To: dev-commits-src-main@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 4PYwX10KZgz3wrpd; Sat, 11 Mar 2023 21:09:05 +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 4PYwX05btxz46VZ; Sat, 11 Mar 2023 21:09:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678568944; 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=c+kYF2BiiCR0c8s2/QWo+pMHJXTfK2UB2fuZR5dDIEA=; b=UR43zsNpS9pQs4uRd/pdTkCOpFYF++3cncKo+Wno7E83k3oL7cXkjE78/Sf94IXkeQrMgs uwxeBYbKUwNDww3Zg+nYw3OtUlYkrJqzMIwTVAxNE5RzbU6reLm2Of0lW3nAYVQF3Ub2Xr IfwMIZjpJKQpUbNf42daRmaoASvbPjGkLuLKfilFO7Vh5i8LD1YnNnwWBk083B4mhJXqC+ 87B7tkhqLrs/uc+XBJPZb5W+/AxGDGWT9b8x7+qtcdthymBX81Hi++QF3l/YH2hY+atbHn l+VHR4pV/xn6lo0g49tvU3n1pataY+9YKj3DTw42FnOaFoy9PjudjEM6MG8qqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678568944; 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=c+kYF2BiiCR0c8s2/QWo+pMHJXTfK2UB2fuZR5dDIEA=; b=q2BMGwPb8oHghMdJalURy/0P6AK9kS1crGLUnrWy7p3tlzWVCYSwMwpwYE0YcfGFdDkcip EvhFElT3XAWRu7o/slylpFlKlZFu7lJQo2NFTOae+2dYZl91vDazekvY/eT742lECtiSIE e9xlYs8Rx4WNFcfDxj94Q44aABHnQt0YJohtxV7HKrNkjmNBks0cGxO+t8LfAdju3o/e1G RAg+RxCMZuH9Zz7tLo0stn0L5LPjgTRTGqngBHP5MbgAlxvreKqWCOGRHds34ePoBU3D5O uDZFEEYKsraADOoENiFsKXdIPL/hC634C8/4tMtrmqtT7xZz2IUYHvrP2dfxeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678568944; a=rsa-sha256; cv=none; b=BqtS5ASkmkgVHI5irx12QPr8AIzRwlWV9bMWvVu8lwcIF3VOutDB49+SWp8n0LwGZ+lxht jpEgWnBLgTvSs0+cozbv88iMQklHcN5flqjAlD9yfHYgHPgIIcG9fkGy2rn5bk94X4jsby p4gQzma+gjRkLrRIIKVurrJQEBkFNpJGI21LPC0+tofifC+DSfRszXAJJBG4TcxL8WvXp/ l2ApY2xc7w4NYaNX8/chqM5WsoQB4s29f62cUjPROSep/y8vJwu0UgKv2dFJm2eCx2XNAR c/DMB+KcYeQIgbqQhGBQlt4APiG4YcoSWF2UeetUv3hRwYK0Ba5e2ViGOY48kA== 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 4PYwX04hchzkts; Sat, 11 Mar 2023 21:09:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BL94SY017160; Sat, 11 Mar 2023 21:09:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BL94Qj017159; Sat, 11 Mar 2023 21:09:04 GMT (envelope-from git) Date: Sat, 11 Mar 2023 21:09:04 GMT Message-Id: <202303112109.32BL94Qj017159@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Konovalov Subject: git: 1a791448272a - main - rc.conf.5: a stray whitespace removed List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: maxim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1a791448272a61e3435feba0ede5e93738f2ba7c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=1a791448272a61e3435feba0ede5e93738f2ba7c commit 1a791448272a61e3435feba0ede5e93738f2ba7c Author: Maxim Konovalov AuthorDate: 2023-03-11 21:08:04 +0000 Commit: Maxim Konovalov CommitDate: 2023-03-11 21:08:04 +0000 rc.conf.5: a stray whitespace removed PR: 270124 --- share/man/man5/rc.conf.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 067dac210dce..fc4e1dbae895 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -83,7 +83,7 @@ directory or directories (where .Ao Ar dir Ac is each entry specified in - .Va local_startup , +.Va local_startup , but with any trailing .Pa /rc.d stripped), From nobody Sat Mar 11 21:59:49 2023 X-Original-To: dev-commits-src-main@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 4PYxfZ0ZJpz3ww5V; Sat, 11 Mar 2023 21:59: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 4PYxfY6dZXz4Cs1; Sat, 11 Mar 2023 21:59:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678571989; 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=tqpEPLLsx6rbxWgJm1yHO4Z4te8NZmkrbOk0ahSrm7A=; b=SLKB/HJb9UnmsHsAiqZdKUwTTT1SKZMfWFweCw3DdKH5Za/bgrbXA1Ybv+qPWyMUf82fsE UT1Mkf3YyQ6uWgHL2Gn5P4X0rnarfoqpTSXAleGy/krEhimZWX4Nj/AeHsfDgCVPh61uLN XPwS8sl9PhRsC4czC1/AAFh1FKSasyEIJvIqyRuu0TwTcke8s8oOvzyZHa3GxSOermDLSD RmSitlRbT6ILbHzVDCGGdSnVt9iihnTu6I+i22BLmPIArjy8twmMak+Mz2py9bMcoXe6Ey BkeI8UMdzFOMmaSCuVjZQPcsAb7hkqfAy9p59ygXDvMvkSM7RswwtDRWVxUxPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678571989; 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=tqpEPLLsx6rbxWgJm1yHO4Z4te8NZmkrbOk0ahSrm7A=; b=EeBVmrDSKqi4TFTfy9Yj1HC0I9J/aDfqys88cvx7WZDTYiFsMNpgA1GSpvHAwPdUNYp8sr pKH0o7N7avgCehWlVLSEqObzZR1z4VQANAbjt8P9H/YoVh8uWqT8rjKXmDtLZL0HAzBRir mINeLz9lMuyUyx4mWyLmr5ejmFPHvr7qraHrAGEsdBt9kKry2/fQff+kFCL6cvGTgY5fFf 3fcjOTNiSVnd5bdvmtXwodbcUM4/+AvIahf0IqFtlfMjuRbppDY7vU/TBzpWmEMJZ2WnHf NBe0XJzgRrg87t9cJVlOMFy2NzMdWTRE4/mkRBAhB6DIcWYI7YBqcPMsxfP5Hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678571989; a=rsa-sha256; cv=none; b=SoOnnROgCU0OCCqiYGbdf2hp7hxT+j4aWmgyYKXircZGx+DIDuEYPY0iZaCQb1p519sao4 1mamOtq1Yl8fy2sjxx6XqYguIaL5iPeDx10li2+/mBEeNeMtWSHqNb4vETBFlJiBJURWFW 0airEUiZ8aPWj1xWOIvGG7Qkpb9UIGqfviSpuXO4lKIFkIUf3yCJUaDL46O8oxTC9TTa2/ 8HH/Wm9mIzCxTDddCm2juiwLKekhqSs6345/7sy/ziOyy4xweHiYRxRR/MIlx5QfEkZjvv PqleIojTXBvLRG2jIsyvhOoM0UQ9s0z7nXiFoGLfMrcMXeDDSg5FfOl9QhZwbg== 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 4PYxfY5j12zm6k; Sat, 11 Mar 2023 21:59:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BLxna9098196; Sat, 11 Mar 2023 21:59:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BLxnp3098195; Sat, 11 Mar 2023 21:59:49 GMT (envelope-from git) Date: Sat, 11 Mar 2023 21:59:49 GMT Message-Id: <202303112159.32BLxnp3098195@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 3c3a434f8ee8 - main - vm: avoid lock upgrade if possible in vm_fault_next List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3c3a434f8ee867e6e4a69de07bf0811f2ae0c46e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=3c3a434f8ee867e6e4a69de07bf0811f2ae0c46e commit 3c3a434f8ee867e6e4a69de07bf0811f2ae0c46e Author: Mateusz Guzik AuthorDate: 2023-03-11 20:57:24 +0000 Commit: Mateusz Guzik CommitDate: 2023-03-11 21:52:01 +0000 vm: avoid lock upgrade if possible in vm_fault_next In my tests during buildkernel fs->m was always NULL at that stage. Note the change has no impact on vm obj contention during said workload. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D39027 --- sys/vm/vm_fault.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 5df667052615..fadd7dbd2fd5 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1092,7 +1092,7 @@ vm_fault_next(struct faultstate *fs) if (fs->object == fs->first_object) { fs->first_m = fs->m; fs->m = NULL; - } else { + } else if (fs->m != NULL) { if (!vm_fault_object_ensure_wlocked(fs)) { fs->can_read_lock = false; unlock_and_deallocate(fs); From nobody Sat Mar 11 22:51:16 2023 X-Original-To: dev-commits-src-main@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 4PYynw5xYgz3wyrX; Sat, 11 Mar 2023 22:51: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 4PYynw5ltHz4HQ8; Sat, 11 Mar 2023 22:51:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678575076; 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=KHfliLPaG5PmEv98HBsw1GcHRJ3Pv5xNEYxdGwjGhVc=; b=c9GWNBNnn1o7MA1rD6X762RG95DhRYYMvALi2scu9WjA3xWOOHLC7fWih3/1gfWgHqCxUo +wTXW/8A1e1EDrQSe46yMaIYfe12xfjZyI74oxW15d/BSCAKMNfP7SxGqsLLsBvPN4qaW/ vJa1jOtu1U1WC5Toa4zEZvDGqBuHwBe3Uv1k2afFEBD0B/fsxlWCDZjNrtVHbznjE/yY3D oXcEVWCUxxpZ0LWxFcnkgJ6FFLGzuOlwoIjZ/HptfNCLmxWdE0HxOllTCOParFS/71raAJ C/qfJrUzkp0vMe9CLORhVnAhJlfESHyYPRUkl1V5OUQpkOEdiBjokSQxK+g4RA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678575076; 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=KHfliLPaG5PmEv98HBsw1GcHRJ3Pv5xNEYxdGwjGhVc=; b=Nu5cRZ2yszG+kU1Vwic3UNBdv+MYyJ3z7MRVcLkgQ+IXzZE+8aL8N7Iv38ORoKFUahGdUY OJ0GNIPQ4kJ9BRMyf2uAWo1h79Mhn1SLlqS9J3I5hOHdKgEiyHbvhyp3HgA4TjOiZ0n/zf +yZKudSVSnWzJfpYQ3jC838e2PHxzKEJpLQZc+Mk0Q3OFaEfr+IH48HbvfqYzdaeu08ZWc BodZiaMkXfWtm9DNgf9cf4oq+TttiGBF2Vfut6Nbamk/WYRPKHWGhIHPiECZfKSkH13t8i oDy+R6jC/Y+a+MqnNeqHQoNEQhyfhBuC56YmGK+pqnh1SyAJZ9tFGMHVCidnlw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678575076; a=rsa-sha256; cv=none; b=TsSyCoqluQgm6/geRsZhcXJvr1eNx4CvkgjiDNz+Rx3wqlPwPxDShnn8XLq2pyN4cR7Dyv OOKnkUXZL1JAHnibr9oBVuwM2gVHAC+dXul3lNE4BMH3Dlm6EBMgDkef7hUxvOzHpUSkJe WzeH4Lav6rzp3putYMwa7n8Br9tG2fj8fg7r3PCzzj7oMZDNQNK+/epsvGLf/VqfEW4+NT bFmvYzE2/QEoGthLURQo8KvjbEgub41iYFxxGdy+1jKXhIl8kwlPT8H4L8hPB8ADzb4Wnk U+fJ/4kJTYs93eWkasVOXo/YUTdPg9gHNFaFuhpGB8rCkkyT+QmyKG5OZgNylg== 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 4PYynw4jYtznsv; Sat, 11 Mar 2023 22:51:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BMpGA5090382; Sat, 11 Mar 2023 22:51:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BMpGnE090381; Sat, 11 Mar 2023 22:51:16 GMT (envelope-from git) Date: Sat, 11 Mar 2023 22:51:16 GMT Message-Id: <202303112251.32BMpGnE090381@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 51015e6d0f57 - main - csu: move common code to libc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 51015e6d0f570239b0c2088dc6cf2b018928375d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=51015e6d0f570239b0c2088dc6cf2b018928375d commit 51015e6d0f570239b0c2088dc6cf2b018928375d Author: Konstantin Belousov AuthorDate: 2022-10-30 23:47:44 +0000 Commit: Konstantin Belousov CommitDate: 2023-03-11 22:50:03 +0000 csu: move common code to libc Why? Most trivial point, it shaves around 600 bytes from the dynamic binaries on amd64. Less trivial, the removed code is no longer part of the ABI, and we can ship updates to it with libc updates. Right now most of the csu is linked into the binaries and require us to do somewhat tricky ABI compat when it needs to change. For instance, the init_array change would be much simpler and does not require note tagging if we have init calling code in libc. This could be improved more, by splitting dynamic and static initialization. For instance, &_DYNAMIC tests can be removed then. Such change, nonetheless, would require building libc three times. I left this for later, after this change stabilizes, if ever. Reviewed by: markj Discussed with: jrtc27 (some objections, see the review), imp Tested by: markj (aarch64) Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D37220 --- lib/csu/aarch64/Makefile | 1 - lib/csu/aarch64/crt1_c.c | 33 +++------------ lib/csu/amd64/Makefile | 2 +- lib/csu/amd64/crt1_c.c | 30 +++----------- lib/csu/arm/Makefile | 2 - lib/csu/arm/crt1_c.c | 31 ++++---------- lib/csu/common/csu_common.h | 50 ++++++++++++++++++++++ lib/csu/i386/Makefile | 1 - lib/csu/i386/crt1_c.c | 30 +++----------- lib/csu/powerpc/Makefile | 1 - lib/csu/powerpc/crt1_c.c | 28 +++---------- lib/csu/powerpc64/Makefile | 2 +- lib/csu/powerpc64/crt1_c.c | 61 +++------------------------ lib/csu/riscv/Makefile | 2 - lib/csu/riscv/crt1_c.c | 29 +++---------- lib/libc/Makefile | 1 + lib/libc/csu/Makefile.inc | 10 +++++ lib/libc/csu/Symbol.map | 4 ++ lib/libc/csu/aarch64/Makefile.inc | 4 ++ lib/{ => libc}/csu/aarch64/reloc.c | 0 lib/libc/csu/amd64/Makefile.inc | 4 ++ lib/{ => libc}/csu/amd64/reloc.c | 0 lib/libc/csu/arm/Makefile.inc | 4 ++ lib/libc/csu/i386/Makefile.inc | 4 ++ lib/{ => libc}/csu/i386/reloc.c | 0 lib/{csu/common => libc/csu}/ignore_init.c | 66 +++++++++++++++++++++++++----- lib/libc/csu/powerpc/Makefile.inc | 4 ++ lib/libc/csu/powerpc64/Makefile.inc | 4 ++ lib/{ => libc}/csu/powerpc64/reloc.c | 26 ++++++++++++ lib/libc/csu/riscv/Makefile.inc | 4 ++ lib/libc/include/libc_private.h | 6 +++ 31 files changed, 220 insertions(+), 224 deletions(-) diff --git a/lib/csu/aarch64/Makefile b/lib/csu/aarch64/Makefile index e4c9029fcacc..d8d0d3fd8f99 100644 --- a/lib/csu/aarch64/Makefile +++ b/lib/csu/aarch64/Makefile @@ -3,7 +3,6 @@ .PATH: ${.CURDIR:H}/common CFLAGS+= -I${.CURDIR} -CFLAGS+= -DCRT_IRELOC_RELA CRT1OBJS+= crt1_s.o diff --git a/lib/csu/aarch64/crt1_c.c b/lib/csu/aarch64/crt1_c.c index 9b3ffbff22d0..7f4fea37ba1a 100644 --- a/lib/csu/aarch64/crt1_c.c +++ b/lib/csu/aarch64/crt1_c.c @@ -32,42 +32,19 @@ #include __FBSDID("$FreeBSD$"); -#include - #include "libc_private.h" -#include "ignore_init.c" - -#ifdef GCRT -extern void _mcleanup(void); -extern void monstartup(void *, void *); -extern int eprol; -extern int etext; -#endif - -extern long * _end; +#include "csu_common.h" -void __start(int, char **, char **, void (*)(void)); +void __start(int, char **, char **, void (*)(void)) __dead2; /* The entry function. */ void __start(int argc, char *argv[], char *env[], void (*cleanup)(void)) { - - handle_argv(argc, argv, env); - - if (&_DYNAMIC != NULL) - atexit(cleanup); - else { - process_irelocs(); - _init_tls(); - } - #ifdef GCRT - atexit(_mcleanup); - monstartup(&eprol, &etext); + __libc_start1_gcrt(argc, argv, env, cleanup, main, &eprol, &etext); __asm__("eprol:"); +#else + __libc_start1(argc, argv, env, cleanup, main); #endif - - handle_static_init(argc, argv, env); - exit(main(argc, argv, env)); } diff --git a/lib/csu/amd64/Makefile b/lib/csu/amd64/Makefile index 19610749b59c..9f3afb4cc1a0 100644 --- a/lib/csu/amd64/Makefile +++ b/lib/csu/amd64/Makefile @@ -3,6 +3,6 @@ .PATH: ${.CURDIR:H}/common CFLAGS+= -I${.CURDIR} -CFLAGS+= -fno-omit-frame-pointer -DCRT_IRELOC_RELA +CFLAGS+= -fno-omit-frame-pointer .include diff --git a/lib/csu/amd64/crt1_c.c b/lib/csu/amd64/crt1_c.c index f1c99de9ffe0..a7b3213e4b9b 100644 --- a/lib/csu/amd64/crt1_c.c +++ b/lib/csu/amd64/crt1_c.c @@ -29,19 +29,10 @@ #include __FBSDID("$FreeBSD$"); -#include - #include "libc_private.h" -#include "ignore_init.c" - -#ifdef GCRT -extern void _mcleanup(void); -extern void monstartup(void *, void *); -extern int eprol; -extern int etext; -#endif +#include "csu_common.h" -void _start(char **, void (*)(void)); +void _start(char **, void (*)(void)) __dead2; /* The entry function. */ void @@ -54,21 +45,10 @@ _start(char **ap, void (*cleanup)(void)) argc = *(long *)(void *)ap; argv = ap + 1; env = ap + 2 + argc; - handle_argv(argc, argv, env); - - if (&_DYNAMIC != NULL) { - atexit(cleanup); - } else { - process_irelocs(); - _init_tls(); - } - #ifdef GCRT - atexit(_mcleanup); - monstartup(&eprol, &etext); + __libc_start1_gcrt(argc, argv, env, cleanup, main, &eprol, &etext); __asm__("eprol:"); +#else + __libc_start1(argc, argv, env, cleanup, main); #endif - - handle_static_init(argc, argv, env); - exit(main(argc, argv, env)); } diff --git a/lib/csu/arm/Makefile b/lib/csu/arm/Makefile index 666bf569b786..a39afde66300 100644 --- a/lib/csu/arm/Makefile +++ b/lib/csu/arm/Makefile @@ -2,8 +2,6 @@ .PATH: ${.CURDIR:H}/common -CFLAGS+= -DCRT_IRELOC_SUPPRESS - CRT1OBJS+= crt1_s.o .include diff --git a/lib/csu/arm/crt1_c.c b/lib/csu/arm/crt1_c.c index 9725f173ff78..8a4abf491bb3 100644 --- a/lib/csu/arm/crt1_c.c +++ b/lib/csu/arm/crt1_c.c @@ -46,50 +46,33 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include "libc_private.h" -#include "ignore_init.c" +#include "csu_common.h" struct Struct_Obj_Entry; struct ps_strings; -extern void _start(int, char **, char **, const struct Struct_Obj_Entry *, - void (*)(void), struct ps_strings *); - -#ifdef GCRT -extern void _mcleanup(void); -extern void monstartup(void *, void *); -extern int eprol; -extern int etext; -#endif +void _start(int, char **, char **, const struct Struct_Obj_Entry *, + void (*)(void), struct ps_strings *) __dead2; struct ps_strings *__ps_strings; void __start(int, char **, char **, struct ps_strings *, - const struct Struct_Obj_Entry *, void (*)(void)); + const struct Struct_Obj_Entry *, void (*)(void)) __dead2; -/* ARGSUSED */ void __start(int argc, char **argv, char **env, struct ps_strings *ps_strings, const struct Struct_Obj_Entry *obj __unused, void (*cleanup)(void)) { - - handle_argv(argc, argv, env); - if (ps_strings != (struct ps_strings *)0) __ps_strings = ps_strings; - if (&_DYNAMIC != NULL) - atexit(cleanup); - else - _init_tls(); #ifdef GCRT - atexit(_mcleanup); - monstartup(&eprol, &etext); + __libc_start1_gcrt(argc, argv, env, cleanup, main, &eprol, &etext); +#else + __libc_start1(argc, argv, env, cleanup, main); #endif - handle_static_init(argc, argv, env); - exit(main(argc, argv, env)); } #ifdef GCRT diff --git a/lib/csu/common/csu_common.h b/lib/csu/common/csu_common.h new file mode 100644 index 000000000000..76f192f72885 --- /dev/null +++ b/lib/csu/common/csu_common.h @@ -0,0 +1,50 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright 1996-1998 John D. Polstra. + * All rights reserved. + * + * 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 ``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 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. + */ + +#ifdef _CSU_COMMON_H_ + +/* + * This file includes both definitions and declarations, it can be + * included only into one compilation unit for csu objects. We cannot + * practically check this, but at least guard against + * double-inclusion. + */ +#error "Include this file only once" +#else +#define _CSU_COMMON_H_ + +char **environ; +const char *__progname = ""; + +#ifdef GCRT +extern int eprol; +extern int etext; +#endif + +int main(int, char **, char **); + +#endif /* _CSU_COMMON_H_ */ diff --git a/lib/csu/i386/Makefile b/lib/csu/i386/Makefile index cfa7b4d5b399..d8d0d3fd8f99 100644 --- a/lib/csu/i386/Makefile +++ b/lib/csu/i386/Makefile @@ -3,7 +3,6 @@ .PATH: ${.CURDIR:H}/common CFLAGS+= -I${.CURDIR} -CFLAGS+= -DCRT_IRELOC_REL CRT1OBJS+= crt1_s.o diff --git a/lib/csu/i386/crt1_c.c b/lib/csu/i386/crt1_c.c index b39134824f7e..d49c763749a3 100644 --- a/lib/csu/i386/crt1_c.c +++ b/lib/csu/i386/crt1_c.c @@ -29,20 +29,10 @@ #include __FBSDID("$FreeBSD$"); -#include - #include "libc_private.h" -#include "ignore_init.c" - -extern void _start(char *, ...); - -#ifdef GCRT -extern void _mcleanup(void); -extern void monstartup(void *, void *); -extern int eprol; -extern int etext; -#endif +#include "csu_common.h" +void _start(char *, ...); void _start1(void (*)(void), int, char *[]) __dead2; /* The entry function, C part. */ @@ -52,22 +42,12 @@ _start1(void (*cleanup)(void), int argc, char *argv[]) char **env; env = argv + argc + 1; - handle_argv(argc, argv, env); - if (&_DYNAMIC != NULL) { - atexit(cleanup); - } else { - process_irelocs(); - _init_tls(); - } - #ifdef GCRT - atexit(_mcleanup); - monstartup(&eprol, &etext); + __libc_start1_gcrt(argc, argv, env, cleanup, main, &eprol, &etext); __asm__("eprol:"); +#else + __libc_start1(argc, argv, env, cleanup, main); #endif - - handle_static_init(argc, argv, env); - exit(main(argc, argv, env)); } __asm(".hidden _start1"); diff --git a/lib/csu/powerpc/Makefile b/lib/csu/powerpc/Makefile index 44be804c7c3f..a4d7846b8574 100644 --- a/lib/csu/powerpc/Makefile +++ b/lib/csu/powerpc/Makefile @@ -3,6 +3,5 @@ .PATH: ${.CURDIR:H}/common OBJS+= crtsavres.o -CFLAGS+= -DCRT_IRELOC_SUPPRESS .include diff --git a/lib/csu/powerpc/crt1_c.c b/lib/csu/powerpc/crt1_c.c index 8ad291bb4f4d..72fc7040e237 100644 --- a/lib/csu/powerpc/crt1_c.c +++ b/lib/csu/powerpc/crt1_c.c @@ -47,22 +47,15 @@ __FBSDID("$FreeBSD$"); #include #include "libc_private.h" -#include "ignore_init.c" +#include "csu_common.h" struct Struct_Obj_Entry; struct ps_strings; -#ifdef GCRT -extern void _mcleanup(void); -extern void monstartup(void *, void *); -extern int eprol; -extern int etext; -#endif - struct ps_strings *__ps_strings; void _start(int, char **, char **, const struct Struct_Obj_Entry *, - void (*)(void), struct ps_strings *); + void (*)(void), struct ps_strings *) __dead2; /* The entry function. */ /* @@ -75,25 +68,14 @@ _start(int argc, char **argv, char **env, const struct Struct_Obj_Entry *obj __unused, void (*cleanup)(void), struct ps_strings *ps_strings) { - - - handle_argv(argc, argv, env); - if (ps_strings != (struct ps_strings *)0) __ps_strings = ps_strings; - if (&_DYNAMIC != NULL) - atexit(cleanup); - else - _init_tls(); - #ifdef GCRT - atexit(_mcleanup); - monstartup(&eprol, &etext); + __libc_start1_gcrt(argc, argv, env, cleanup, main, &eprol, &etext); +#else + __libc_start1(argc, argv, env, cleanup, main); #endif - - handle_static_init(argc, argv, env); - exit(main(argc, argv, env)); } #ifdef GCRT diff --git a/lib/csu/powerpc64/Makefile b/lib/csu/powerpc64/Makefile index 564e8dfbf288..0101b516a055 100644 --- a/lib/csu/powerpc64/Makefile +++ b/lib/csu/powerpc64/Makefile @@ -4,7 +4,7 @@ OBJS+= crtsavres.o CFLAGS+= -I${.CURDIR} \ - -mlongcall -DCRT_IRELOC_RELA + -mlongcall CLEANFILES+= crtsavres.S diff --git a/lib/csu/powerpc64/crt1_c.c b/lib/csu/powerpc64/crt1_c.c index c9115be75fba..c7b9e89a23a8 100644 --- a/lib/csu/powerpc64/crt1_c.c +++ b/lib/csu/powerpc64/crt1_c.c @@ -44,87 +44,38 @@ #include __FBSDID("$FreeBSD$"); -#include #include #include -static uint32_t cpu_features; -static uint32_t cpu_features2; - #include "libc_private.h" -#include "ignore_init.c" +#include "csu_common.h" struct Struct_Obj_Entry; struct ps_strings; -extern void _start(int, char **, char **, const struct Struct_Obj_Entry *, - void (*)(void), struct ps_strings *); - -#ifdef GCRT -extern void _mcleanup(void); -extern void monstartup(void *, void *); -extern int eprol; -extern int etext; -#endif +void _start(int, char **, char **, const struct Struct_Obj_Entry *, + void (*)(void), struct ps_strings *) __dead2; struct ps_strings *__ps_strings; -static void -init_cpu_features(char **env) -{ - const Elf_Auxinfo *aux; - - /* Find the auxiliary vector on the stack. */ - while (*env++ != 0) /* Skip over environment, and NULL terminator */ - ; - aux = (const Elf_Auxinfo *)env; - - /* Digest the auxiliary vector. */ - for (; aux->a_type != AT_NULL; aux++) { - switch (aux->a_type) { - case AT_HWCAP: - cpu_features = (uint32_t)aux->a_un.a_val; - break; - case AT_HWCAP2: - cpu_features2 = (uint32_t)aux->a_un.a_val; - break; - } - } -} - - /* The entry function. */ /* * First 5 arguments are specified by the PowerPC SVR4 ABI. * The last argument, ps_strings, is a BSD extension. */ -/* ARGSUSED */ void _start(int argc, char **argv, char **env, const struct Struct_Obj_Entry *obj __unused, void (*cleanup)(void), struct ps_strings *ps_strings) { - - handle_argv(argc, argv, env); - if (ps_strings != (struct ps_strings *)0) __ps_strings = ps_strings; - if (&_DYNAMIC != NULL) - atexit(cleanup); - else { - init_cpu_features(env); - process_irelocs(); - _init_tls(); - } - #ifdef GCRT - atexit(_mcleanup); - monstartup(&eprol, &etext); + __libc_start1_gcrt(argc, argv, env, cleanup, main, &eprol, &etext); +#else + __libc_start1(argc, argv, env, cleanup, main); #endif - - handle_static_init(argc, argv, env); - exit(main(argc, argv, env)); } #ifdef GCRT diff --git a/lib/csu/riscv/Makefile b/lib/csu/riscv/Makefile index 666bf569b786..a39afde66300 100644 --- a/lib/csu/riscv/Makefile +++ b/lib/csu/riscv/Makefile @@ -2,8 +2,6 @@ .PATH: ${.CURDIR:H}/common -CFLAGS+= -DCRT_IRELOC_SUPPRESS - CRT1OBJS+= crt1_s.o .include diff --git a/lib/csu/riscv/crt1_c.c b/lib/csu/riscv/crt1_c.c index 11519e46c7f3..e08359e388f8 100644 --- a/lib/csu/riscv/crt1_c.c +++ b/lib/csu/riscv/crt1_c.c @@ -36,37 +36,18 @@ #include __FBSDID("$FreeBSD$"); -#include - #include "libc_private.h" -#include "ignore_init.c" - -#ifdef GCRT -extern void _mcleanup(void); -extern void monstartup(void *, void *); -extern int eprol; -extern int etext; -#endif +#include "csu_common.h" -void __start(int argc, char **argv, char **env, void (*cleanup)(void)); +void __start(int argc, char **argv, char **env, void (*cleanup)(void)) __dead2; void __start(int argc, char **argv, char **env, void (*cleanup)(void)) { - - handle_argv(argc, argv, env); - - if (&_DYNAMIC != NULL) - atexit(cleanup); - else - _init_tls(); - #ifdef GCRT - atexit(_mcleanup); - monstartup(&eprol, &etext); + __libc_start1_gcrt(argc, argv, env, cleanup, main, &eprol, &etext); __asm__("eprol:"); +#else + __libc_start1(argc, argv, env, cleanup, main); #endif - - handle_static_init(argc, argv, env); - exit(main(argc, argv, env)); } diff --git a/lib/libc/Makefile b/lib/libc/Makefile index 2ca5458d1437..2c6f2da361b3 100644 --- a/lib/libc/Makefile +++ b/lib/libc/Makefile @@ -93,6 +93,7 @@ MIASM= NOASM= .include "${LIBC_SRCTOP}/${LIBC_ARCH}/Makefile.inc" +.include "${LIBC_SRCTOP}/csu/Makefile.inc" .include "${LIBC_SRCTOP}/db/Makefile.inc" .include "${LIBC_SRCTOP}/compat-43/Makefile.inc" .include "${LIBC_SRCTOP}/gdtoa/Makefile.inc" diff --git a/lib/libc/csu/Makefile.inc b/lib/libc/csu/Makefile.inc new file mode 100644 index 000000000000..453303bea608 --- /dev/null +++ b/lib/libc/csu/Makefile.inc @@ -0,0 +1,10 @@ +# + +.PATH: ${LIBC_SRCTOP}/csu +.include "${LIBC_SRCTOP}/csu/${LIBC_ARCH}/Makefile.inc" + +SRCS+= \ + ignore_init.c + +CFLAGS+= -I${LIBC_SRCTOP}/csu/${LIBC_ARCH} +SYM_MAPS+=${LIBC_SRCTOP}/csu/Symbol.map diff --git a/lib/libc/csu/Symbol.map b/lib/libc/csu/Symbol.map new file mode 100644 index 000000000000..7fc09add5e45 --- /dev/null +++ b/lib/libc/csu/Symbol.map @@ -0,0 +1,4 @@ +FBSD_1.7 { + __libc_start1; + __libc_start1_gcrt; +}; diff --git a/lib/libc/csu/aarch64/Makefile.inc b/lib/libc/csu/aarch64/Makefile.inc new file mode 100644 index 000000000000..b3420a638164 --- /dev/null +++ b/lib/libc/csu/aarch64/Makefile.inc @@ -0,0 +1,4 @@ +# + +CFLAGS+= -DCRT_IRELOC_RELA \ + -DINIT_IRELOCS="" diff --git a/lib/csu/aarch64/reloc.c b/lib/libc/csu/aarch64/reloc.c similarity index 100% rename from lib/csu/aarch64/reloc.c rename to lib/libc/csu/aarch64/reloc.c diff --git a/lib/libc/csu/amd64/Makefile.inc b/lib/libc/csu/amd64/Makefile.inc new file mode 100644 index 000000000000..b3420a638164 --- /dev/null +++ b/lib/libc/csu/amd64/Makefile.inc @@ -0,0 +1,4 @@ +# + +CFLAGS+= -DCRT_IRELOC_RELA \ + -DINIT_IRELOCS="" diff --git a/lib/csu/amd64/reloc.c b/lib/libc/csu/amd64/reloc.c similarity index 100% rename from lib/csu/amd64/reloc.c rename to lib/libc/csu/amd64/reloc.c diff --git a/lib/libc/csu/arm/Makefile.inc b/lib/libc/csu/arm/Makefile.inc new file mode 100644 index 000000000000..2534e6579f38 --- /dev/null +++ b/lib/libc/csu/arm/Makefile.inc @@ -0,0 +1,4 @@ +# + +CFLAGS+= -DCRT_IRELOC_SUPPRESS \ + -DINIT_IRELOCS="" diff --git a/lib/libc/csu/i386/Makefile.inc b/lib/libc/csu/i386/Makefile.inc new file mode 100644 index 000000000000..ac0984df2349 --- /dev/null +++ b/lib/libc/csu/i386/Makefile.inc @@ -0,0 +1,4 @@ +# + +CFLAGS+= -DCRT_IRELOC_REL \ + -DINIT_IRELOCS="" diff --git a/lib/csu/i386/reloc.c b/lib/libc/csu/i386/reloc.c similarity index 100% rename from lib/csu/i386/reloc.c rename to lib/libc/csu/i386/reloc.c diff --git a/lib/csu/common/ignore_init.c b/lib/libc/csu/ignore_init.c similarity index 77% rename from lib/csu/common/ignore_init.c rename to lib/libc/csu/ignore_init.c index 2cdb869c4a87..60c45d7e735f 100644 --- a/lib/csu/common/ignore_init.c +++ b/lib/libc/csu/ignore_init.c @@ -2,7 +2,7 @@ * SPDX-License-Identifier: BSD-1-Clause * * Copyright 2012 Konstantin Belousov - * Copyright (c) 2018 The FreeBSD Foundation + * Copyright (c) 2018, 2023 The FreeBSD Foundation * * Parts of this software was developed by Konstantin Belousov * under sponsorship from the FreeBSD Foundation. @@ -25,14 +25,11 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include -__FBSDID("$FreeBSD$"); - #include #include #include - -extern int main(int, char **, char **); +#include +#include "libc_private.h" extern void (*__preinit_array_start[])(int, char **, char **) __hidden; extern void (*__preinit_array_end[])(int, char **, char **) __hidden; @@ -79,9 +76,6 @@ process_irelocs(void) #error "Define platform reloc type" #endif -char **environ; -const char *__progname = ""; - static void finalizer(void) { @@ -97,7 +91,7 @@ finalizer(void) _fini(); } -static inline void +static void handle_static_init(int argc, char **argv, char **env) { void (*fn)(int, char **, char **); @@ -123,7 +117,9 @@ handle_static_init(int argc, char **argv, char **env) } } -static inline void +extern char **environ; + +static void handle_argv(int argc, char *argv[], char **env) { const char *s; @@ -138,3 +134,51 @@ handle_argv(int argc, char *argv[], char **env) } } } + +void +__libc_start1(int argc, char *argv[], char *env[], void (*cleanup)(void), + int (*mainX)(int, char *[], char *[])) +{ + handle_argv(argc, argv, env); + + if (&_DYNAMIC != NULL) { + atexit(cleanup); + } else { +#ifndef CRT_IRELOC_SUPPRESS + INIT_IRELOCS; + process_irelocs(); +#endif + _init_tls(); + } + + handle_static_init(argc, argv, env); + exit(mainX(argc, argv, env)); +} + +/* XXXKIB _mcleanup and monstartup defs */ +extern void _mcleanup(void); +extern void monstartup(void *, void *); + +void +__libc_start1_gcrt(int argc, char *argv[], char *env[], + void (*cleanup)(void), int (*mainX)(int, char *[], char *[]), + int *eprolp, int *etextp) +{ + handle_argv(argc, argv, env); + + if (&_DYNAMIC != NULL) { + atexit(cleanup); + } else { +#ifndef CRT_IRELOC_SUPPRESS + INIT_IRELOCS; + process_irelocs(); +#endif + _init_tls(); + } + + atexit(_mcleanup); + monstartup(eprolp, etextp); + + handle_static_init(argc, argv, env); + exit(mainX(argc, argv, env)); +} diff --git a/lib/libc/csu/powerpc/Makefile.inc b/lib/libc/csu/powerpc/Makefile.inc new file mode 100644 index 000000000000..2534e6579f38 --- /dev/null +++ b/lib/libc/csu/powerpc/Makefile.inc @@ -0,0 +1,4 @@ +# + +CFLAGS+= -DCRT_IRELOC_SUPPRESS \ + -DINIT_IRELOCS="" diff --git a/lib/libc/csu/powerpc64/Makefile.inc b/lib/libc/csu/powerpc64/Makefile.inc new file mode 100644 index 000000000000..5d59d40eb393 --- /dev/null +++ b/lib/libc/csu/powerpc64/Makefile.inc @@ -0,0 +1,4 @@ +# + +CFLAGS+= -DCRT_IRELOC_RELA \ + -DINIT_IRELOCS="init_cpu_features(env)" diff --git a/lib/csu/powerpc64/reloc.c b/lib/libc/csu/powerpc64/reloc.c similarity index 74% rename from lib/csu/powerpc64/reloc.c rename to lib/libc/csu/powerpc64/reloc.c index afa3f2fbec18..5ba191d07cd9 100644 --- a/lib/csu/powerpc64/reloc.c +++ b/lib/libc/csu/powerpc64/reloc.c @@ -23,6 +23,32 @@ #include __FBSDID("$FreeBSD$"); +static uint32_t cpu_features; +static uint32_t cpu_features2; + +static void +init_cpu_features(char **env) +{ + const Elf_Auxinfo *aux; + + /* Find the auxiliary vector on the stack. */ + while (*env++ != 0) /* Skip over environment, and NULL terminator */ + ; + aux = (const Elf_Auxinfo *)env; + + /* Digest the auxiliary vector. */ + for (; aux->a_type != AT_NULL; aux++) { + switch (aux->a_type) { + case AT_HWCAP: + cpu_features = (uint32_t)aux->a_un.a_val; + break; + case AT_HWCAP2: + cpu_features2 = (uint32_t)aux->a_un.a_val; + break; + } + } +} + static void crt1_handle_rela(const Elf_Rela *r) { diff --git a/lib/libc/csu/riscv/Makefile.inc b/lib/libc/csu/riscv/Makefile.inc new file mode 100644 index 000000000000..2534e6579f38 --- /dev/null +++ b/lib/libc/csu/riscv/Makefile.inc @@ -0,0 +1,4 @@ +# + +CFLAGS+= -DCRT_IRELOC_SUPPRESS \ + -DINIT_IRELOCS="" diff --git a/lib/libc/include/libc_private.h b/lib/libc/include/libc_private.h index 0a8e531e0c3c..67750d354f22 100644 --- a/lib/libc/include/libc_private.h +++ b/lib/libc/include/libc_private.h @@ -255,6 +255,12 @@ enum { int _yp_check(char **); #endif +void __libc_start1(int, char *[], char *[], + void (*)(void), int (*)(int, char *[], char *[])) __dead2; +void __libc_start1_gcrt(int, char *[], char *[], + void (*)(void), int (*)(int, char *[], char *[]), + int *, int *) __dead2; + /* * Initialise TLS for static programs */ From nobody Sat Mar 11 22:51:17 2023 X-Original-To: dev-commits-src-main@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 4PYynx737Fz3wyp2; Sat, 11 Mar 2023 22:51: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 4PYynx6Q0Hz4HY3; Sat, 11 Mar 2023 22:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678575077; 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=wgD86nDcGjS4T/9hXbTCwAw18muH4PT/k8HWrYLU3pI=; b=LBViA6tDuiPXfQXKjUXvRgiyrNV9dg5a8wrS3+TK07jGNJSNfh0PalEAxgmIem7HsG2GC4 zJPR0QV6IJjm4sWnL9mHNrfL+fUYa5JeYZXpi8myVN8YQvJ0CEhM2fza5PP/q5L/DdTLFD yrZk2VGkEpY6ekH0pSFaXJv/lGOdmo4+zF6g7NMWjd+DwBT8nKWkKQeqqg5fHMJ7NnFuSO 6gVgCn9Hx+qccJ/xRhy4RM6DONHSxZBQWKtiJ+uz0LsNGzUnNLB1KfivS7hxLnFnhi9/uB rHR+oqjO6+1Jj46OwpLLDkGjDGy7rsM0XFxuw30lc+njdFxoheJP/CPDaBOoYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678575077; 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=wgD86nDcGjS4T/9hXbTCwAw18muH4PT/k8HWrYLU3pI=; b=dWC0dgisKofk4m4RUCEbRqs1VCj0e2gFuVnzMLBwsRhFQjQovEhuB8rzsmT/ko5s0l0iaE EhrbWwtVW1GDFe4bcQpFJ5FGqfFTNC/ud8okURR4QoC98odiY/4hJ1NuN2MWzeeCqKj56o wGOvsv4k9IwmBPo8wXgXVZsRUnWbyh7AC3zgpmQ/RqhK7291DH6w4aaDR2zHtI/0ap6Mq2 SsYrx7N336P1GyZ70wZRuFIaBloOUGFPACI4s2iK6qJNvrqYcegKzOlVCH2iHqt1fuuUTq NZjNlwWA3ccF8WxBUe/HKJAOQcVPfhBYLGVuV669fnykLTQeY2MdHqPL67Vg6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678575077; a=rsa-sha256; cv=none; b=CR/6/hPzydpo/eVr4dyw+XvnzKRhi0KkN7YmYt2Ayps8n10rz9HiZnKqy8tuosFsXyBRgD qGfDjAwN1mNg4E9rEZQpVwFz+nszJSIs2wH8dgUcUwoUS3WC4C8PObkPb/bLse5M1o0JXN zuI7DusVUdHDyOodWDXh4Mo/1As2bYbfdq78/gXvF/aS/dAzv2v8jC8CPljSxsk3mBQFWF 1SGK7AU7Zu/GpXqNTEc6EH7PBsurXFHn5s0EpvZTLTy5C6ia7m8kJrwLrViCAXOrkCsHgZ 2EU89kYDPPickSAPSlHsraSIrqpFwdo7Lebt6nyNOPBbFKUNN6z9AVi5ivscpQ== 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 4PYynx5M7pznXL; Sat, 11 Mar 2023 22:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BMpHb1090401; Sat, 11 Mar 2023 22:51:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BMpHoF090400; Sat, 11 Mar 2023 22:51:17 GMT (envelope-from git) Date: Sat, 11 Mar 2023 22:51:17 GMT Message-Id: <202303112251.32BMpHoF090400@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 0303938539f3 - main - x86: microoptimize static PIE startup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 0303938539f3f12da65128fc67f883efe82dc125 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0303938539f3f12da65128fc67f883efe82dc125 commit 0303938539f3f12da65128fc67f883efe82dc125 Author: Konstantin Belousov AuthorDate: 2022-11-01 01:42:50 +0000 Commit: Konstantin Belousov CommitDate: 2023-03-11 22:50:04 +0000 x86: microoptimize static PIE startup Do not call CPUID on each ireloc, instead call it once and cache results, similar to how it is done on powerpc64. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D37220 --- lib/libc/csu/amd64/Makefile.inc | 2 +- lib/libc/csu/amd64/reloc.c | 14 ++++++++++---- lib/libc/csu/i386/Makefile.inc | 2 +- lib/libc/csu/i386/reloc.c | 14 ++++++++++---- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/lib/libc/csu/amd64/Makefile.inc b/lib/libc/csu/amd64/Makefile.inc index b3420a638164..f14033217580 100644 --- a/lib/libc/csu/amd64/Makefile.inc +++ b/lib/libc/csu/amd64/Makefile.inc @@ -1,4 +1,4 @@ # CFLAGS+= -DCRT_IRELOC_RELA \ - -DINIT_IRELOCS="" + -DINIT_IRELOCS="init_cpu_features()" diff --git a/lib/libc/csu/amd64/reloc.c b/lib/libc/csu/amd64/reloc.c index adb52e42a32c..0a5a24929954 100644 --- a/lib/libc/csu/amd64/reloc.c +++ b/lib/libc/csu/amd64/reloc.c @@ -29,13 +29,13 @@ __FBSDID("$FreeBSD$"); #include #include +static uint32_t cpu_feature, cpu_feature2; +static uint32_t cpu_stdext_feature, cpu_stdext_feature2; + static void -crt1_handle_rela(const Elf_Rela *r) +init_cpu_features(void) { - Elf_Addr *ptr, *where, target; u_int p[4]; - uint32_t cpu_feature, cpu_feature2; - uint32_t cpu_stdext_feature, cpu_stdext_feature2; do_cpuid(1, p); cpu_feature = p[3]; @@ -49,6 +49,12 @@ crt1_handle_rela(const Elf_Rela *r) cpu_stdext_feature = 0; cpu_stdext_feature2 = 0; } +} + +static void +crt1_handle_rela(const Elf_Rela *r) +{ + Elf_Addr *ptr, *where, target; switch (ELF_R_TYPE(r->r_info)) { case R_X86_64_IRELATIVE: diff --git a/lib/libc/csu/i386/Makefile.inc b/lib/libc/csu/i386/Makefile.inc index ac0984df2349..f3f8c2b176ce 100644 --- a/lib/libc/csu/i386/Makefile.inc +++ b/lib/libc/csu/i386/Makefile.inc @@ -1,4 +1,4 @@ # CFLAGS+= -DCRT_IRELOC_REL \ - -DINIT_IRELOCS="" + -DINIT_IRELOCS="init_cpu_features()" diff --git a/lib/libc/csu/i386/reloc.c b/lib/libc/csu/i386/reloc.c index 13438035841d..f99b1089cf47 100644 --- a/lib/libc/csu/i386/reloc.c +++ b/lib/libc/csu/i386/reloc.c @@ -29,13 +29,13 @@ __FBSDID("$FreeBSD$"); #include #include +static uint32_t cpu_feature, cpu_feature2; +static uint32_t cpu_stdext_feature, cpu_stdext_feature2; + static void -crt1_handle_rel(const Elf_Rel *r) +init_cpu_features(void) { - Elf_Addr *where, target; u_int cpuid_supported, p[4]; - uint32_t cpu_feature, cpu_feature2; - uint32_t cpu_stdext_feature, cpu_stdext_feature2; __asm __volatile( " pushfl\n" @@ -72,6 +72,12 @@ crt1_handle_rel(const Elf_Rel *r) cpu_stdext_feature = 0; cpu_stdext_feature2 = 0; } +} + +static void +crt1_handle_rel(const Elf_Rel *r) +{ + Elf_Addr *where, target; switch (ELF_R_TYPE(r->r_info)) { case R_386_IRELATIVE: From nobody Sat Mar 11 22:51:18 2023 X-Original-To: dev-commits-src-main@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 4PYynz2vVYz3wydM; Sat, 11 Mar 2023 22:51:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PYynz04Kzz4Hh1; Sat, 11 Mar 2023 22:51:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678575079; 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=deRXn73oulArjP8zpV0+7q96zpQemzy6ENlN5Wcuj1s=; b=pusCBES47FMSW0VLIjhkAnjNidrAYw3TSwfArbjUiSMZg1/BwNXCBd48PcXVs5k+o99xjK hvMa7HUr5daYaIDVK75TGZ7s2ILiUJ/O346lqWQ0jg2+qzsWuJmYC813K4AumrrwGBaWu8 r4qgxppdV1I9pBEnTAtdq78uoIl7I+6hg1DP2kkIXmUPK9DmCzNY8FMMPFRsg17GZvaoDq UX7J/hHPSev96bT6xmNldtfR2g7a7scdQUDNaDmxZLD9sHoN7ZRgShDmpvVcZ+nyXY9f7w PQEd9K9J59wfgZtdafA5bytSMpF/NYjz3/p1YV4p9Jx5OJesZ7avn3dJpHI+Vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678575079; 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=deRXn73oulArjP8zpV0+7q96zpQemzy6ENlN5Wcuj1s=; b=B7jO4OvmU62BGtsGqzvj/Gcw9g1is2daaCrY9pfBNtf3cCP0nfsIRK1AATTgbS/CWiEds3 lp+c1cBo/0WMaSbCtEoqKhqac5KUSMLGBxq/XBE1J4K8iBWxvInS8QGeeoOf6oNwyq+n/r vmQso8FwB97KyhLqanzSjEqilRwsg0TNOEuY/D85u01vtWbFTtlj2jUEgMp8KrDR3rMX3/ IQAc2sNTH9dRzO7ssPK3u5v3IbiRhbvIxqi1UNoOUY2WcqP5FRiIPP+sNDpVPBYha2D79l Wwg/Z0ne6Gk5/8F0BW9GzeiL5ZqQzgMzJfYX3dyGd4iK5BvtKZ2qMBtxY/NJyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678575079; a=rsa-sha256; cv=none; b=MaPvLUyf8QqdnkWZKLLv5HBkUp+QaRPpHlOvrEmXCZ43+CKxUiC5l+sKweOctm0uz9GzDF QFV2pedrwVY7bP3WTEjmNG0dXe5jUz5toU1gBMrK/+PCNk2QcAvohWDjrmn4oaK3z8RciL 5wrOq/HBM0UoeXRd5CHAsA5kIpnzf8cwtIiA1Dz7GRclbrHBQQaZURiq0wJeZkByXpbO+H 5VN2mHTPFifToASa2tsCVggm7xtFj2kf20x6o2/ssXLbs95rcmVhNM4sVza3xXGktT/6Ff +ZGsdyY8jRcGpNoUOZP+f+E4q4ru3WgDtkH17RXJjvN0hluw1Z5G1ozflZjHcg== 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 4PYyny6HmfznCs; Sat, 11 Mar 2023 22:51:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32BMpImE090426; Sat, 11 Mar 2023 22:51:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32BMpIQK090425; Sat, 11 Mar 2023 22:51:18 GMT (envelope-from git) Date: Sat, 11 Mar 2023 22:51:18 GMT Message-Id: <202303112251.32BMpIQK090425@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 0c6f0c0db75e - main - libc: move declaration of 'char **environ' to common private header List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 0c6f0c0db75ea5a1e89a68a163fc555bdd7d00f5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0c6f0c0db75ea5a1e89a68a163fc555bdd7d00f5 commit 0c6f0c0db75ea5a1e89a68a163fc555bdd7d00f5 Author: Konstantin Belousov AuthorDate: 2022-11-06 04:08:36 +0000 Commit: Konstantin Belousov CommitDate: 2023-03-11 22:50:04 +0000 libc: move declaration of 'char **environ' to common private header Suggested by: imp Reviewed by: markj Tested by: markj (aarch64) Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D37220 --- lib/libc/csu/ignore_init.c | 2 -- lib/libc/gen/auxv.c | 1 - lib/libc/gen/exec.c | 2 -- lib/libc/gen/popen.c | 2 -- lib/libc/gen/posix_spawn.c | 2 -- lib/libc/gen/tls.c | 2 -- lib/libc/include/libc_private.h | 2 ++ lib/libc/stdlib/getenv.c | 3 +-- 8 files changed, 3 insertions(+), 13 deletions(-) diff --git a/lib/libc/csu/ignore_init.c b/lib/libc/csu/ignore_init.c index 60c45d7e735f..346409e3f370 100644 --- a/lib/libc/csu/ignore_init.c +++ b/lib/libc/csu/ignore_init.c @@ -117,8 +117,6 @@ handle_static_init(int argc, char **argv, char **env) } } -extern char **environ; - static void handle_argv(int argc, char *argv[], char **env) { diff --git a/lib/libc/gen/auxv.c b/lib/libc/gen/auxv.c index 2f043f8814cf..29b3d6929144 100644 --- a/lib/libc/gen/auxv.c +++ b/lib/libc/gen/auxv.c @@ -39,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include "un-namespace.h" #include "libc_private.h" -extern char **environ; extern int _DYNAMIC; #pragma weak _DYNAMIC diff --git a/lib/libc/gen/exec.c b/lib/libc/gen/exec.c index 2c703bb4e73e..f1d69e147719 100644 --- a/lib/libc/gen/exec.c +++ b/lib/libc/gen/exec.c @@ -47,8 +47,6 @@ __FBSDID("$FreeBSD$"); #include "un-namespace.h" #include "libc_private.h" -extern char **environ; - static const char execvPe_err_preamble[] = "execvP: "; static const char execvPe_err_trailer[] = ": path too long\n"; diff --git a/lib/libc/gen/popen.c b/lib/libc/gen/popen.c index c5373077f3ae..f0b1a61c2803 100644 --- a/lib/libc/gen/popen.c +++ b/lib/libc/gen/popen.c @@ -53,8 +53,6 @@ __FBSDID("$FreeBSD$"); #include "un-namespace.h" #include "libc_private.h" -extern char **environ; - struct pid { SLIST_ENTRY(pid) next; FILE *fp; diff --git a/lib/libc/gen/posix_spawn.c b/lib/libc/gen/posix_spawn.c index 909db9a60a02..7dc0ade5b309 100644 --- a/lib/libc/gen/posix_spawn.c +++ b/lib/libc/gen/posix_spawn.c @@ -45,8 +45,6 @@ __FBSDID("$FreeBSD$"); #include "un-namespace.h" #include "libc_private.h" -extern char **environ; - struct __posix_spawnattr { short sa_flags; pid_t sa_pgroup; diff --git a/lib/libc/gen/tls.c b/lib/libc/gen/tls.c index 5ceaf439d839..c0ed0126db6a 100644 --- a/lib/libc/gen/tls.c +++ b/lib/libc/gen/tls.c @@ -401,8 +401,6 @@ __libc_free_tls(void *tcb __unused, size_t tcbsize __unused, #endif /* PIC */ -extern char **environ; - void _init_tls(void) { diff --git a/lib/libc/include/libc_private.h b/lib/libc/include/libc_private.h index 67750d354f22..228eb5c0945f 100644 --- a/lib/libc/include/libc_private.h +++ b/lib/libc/include/libc_private.h @@ -39,6 +39,8 @@ #include #include +extern char **environ; + /* * The kernel doesn't expose PID_MAX to the user space. Save it here * to allow to run a newer world on a pre-1400079 kernel. diff --git a/lib/libc/stdlib/getenv.c b/lib/libc/stdlib/getenv.c index ed0c9efcba6d..7ca27ab710c4 100644 --- a/lib/libc/stdlib/getenv.c +++ b/lib/libc/stdlib/getenv.c @@ -39,7 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include #include "un-namespace.h" - +#include "libc_private.h" static const char CorruptEnvFindMsg[] = "environment corrupt; unable to find "; static const char CorruptEnvValueMsg[] = @@ -56,7 +56,6 @@ static const char CorruptEnvValueMsg[] = * intEnviron: Internally-built environ. Exposed via environ during * (re)builds of the environment. */ -extern char **environ; static char **origEnviron; static char **intEnviron = NULL; static int environSize = 0;