From nobody Sun Apr 23 01:00:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3qgJ5w9Jz46Z1q; Sun, 23 Apr 2023 01:00: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 4Q3qgJ5RLtz3R2M; Sun, 23 Apr 2023 01:00:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682211612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y4FR4bRm36aqLFEhjzk/LUmYesrFxlXTlnOJs2qOQ8U=; b=ccM7c6joCedigdR3P1SUDxPu1kE1BopsFws13UM+llwjVZcEXhtjJpcVoNKavwppL4+7bK OCx1ptpom1aqVMCwquLecCYBiMRhD9N45k3jGWyyPBZKJFuvFmGs/+3+ZMMw4krphld5kv b3hinDTuVMAuh2D/FlFRctXtZlOw3/IDMR6tkaVUzbV3bY3Ei2rBDJ/METUlChSJUOcgOM QGRkobUlePh38z9lkWia5xx06S5peqSRcVbw10KoqZ/YncVcwcxYrKvBqEkj8SKP+boNZd 7V9IvFKVNwRSbeujc5ZakkpgsYzqcAZv8Imh0rfvUcDpBfIXyhuR8NGvf086rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682211612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y4FR4bRm36aqLFEhjzk/LUmYesrFxlXTlnOJs2qOQ8U=; b=gM0QcK6CZTGwhikcEuCPv9QjCmtPtBubHU2aMzfp+cymun+CMJJ0I1IGHA2Z2bu9FruhJl I0btp02ZAMifAMIps8n6Al8IvB8L2qLYGCKY7Ns6zp++e3lNk4QsV6YoQGPJPoHUpAIpDA VETNlfdxLhrKPHh7ZTwdjSGbnRD8yzyONoatO5GqgugP4PfKKHQv4CoNXqk1AFhCERPcb/ yDv2iUluli/3x53ug2HTR3N4GZE6JeDrDaroKSgqbQ7ZR4daZu+nhF/JSrB9Rzo8OsJnSG DQHFg+Y5ophVUduUMyT1WSAkkoby6J4AgRTA936L+0Ozlg9QCDuN2O0CeJnPBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682211612; a=rsa-sha256; cv=none; b=gmfGFGrA6E1jeLH/VTuiFUlwdXIwht5J73AA0aFLrTuuBoU0DX1uQi2WSIkpKcCImHkKo1 s7IHx7Ef65uOGWo35+HmFZOpHAV3VNHJ7cssA0boggmVTwhZyoqmEofKo7WqtB1noKiKI9 Z5rxCmjwsOjWuzaeBHOTWT+u6I2gLJKqrDVcOE/2d1uFrm+rA4frV2IC12PI+nc5QBpGUi 6hokcLbH2A2M0xnDXr6SzmKRVmhOeRk8oq6F+6B95mhveU/elRZH43GhFXGxUaNmUQYoVs jwlFDDSLtXiN+R1Wxmva+6XmYMfVOEYZOyeaB4JKc8WujiIRzDTcTQN+g2HjRw== 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 4Q3qgJ4XjyzNWY; Sun, 23 Apr 2023 01:00: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 33N10CEe050121; Sun, 23 Apr 2023 01:00:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N10CmC050117; Sun, 23 Apr 2023 01:00:12 GMT (envelope-from git) Date: Sun, 23 Apr 2023 01:00:12 GMT Message-Id: <202304230100.33N10CmC050117@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 3483454556d0 - main - local.meta.sys.mk skip OBJTOP for host List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3483454556d0e252c9e7c89d35bffe9addeef2ae Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=3483454556d0e252c9e7c89d35bffe9addeef2ae commit 3483454556d0e252c9e7c89d35bffe9addeef2ae Author: Simon J. Gerraty AuthorDate: 2023-04-23 00:59:12 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-23 00:59:12 +0000 local.meta.sys.mk skip OBJTOP for host It was already done by local.meta.sys.env.mk --- share/mk/local.meta.sys.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/mk/local.meta.sys.mk b/share/mk/local.meta.sys.mk index 7747329694ff..bcf25e2e5cd4 100644 --- a/share/mk/local.meta.sys.mk +++ b/share/mk/local.meta.sys.mk @@ -10,7 +10,9 @@ MK_INSTALL_AS_USER= yes # to be consistent with src/Makefile just concatenate with '.'s TARGET_OBJ_SPEC:= ${TARGET_SPEC:S;,;.;g} +.if ${MACHINE} != "host" OBJTOP:= ${OBJROOT}${TARGET_OBJ_SPEC} +.endif .if defined(MAKEOBJDIR) .if ${MAKEOBJDIR:M/*} == "" From nobody Sun Apr 23 01:01:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3qj65g8hz46ZYD; Sun, 23 Apr 2023 01:01: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 4Q3qj65BDQz3jMy; Sun, 23 Apr 2023 01:01:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682211706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lwVmd72cP0D4Dw/lJ5CUghu6ux2YES7+SwRQvOaVjbM=; b=iqAcpezt/2Azoc2U5P0PByLVzzUd7m3IMl+Jvv5MbfoqldFjtpHPof6K2+UFDwimT73IFB G1myN2Ui83sw1argEpZ1AGf5X/usxvlAEO/crz9QHl/XhT3OulNgs7gqTLXdE/V23AdW7+ ApYRnQgV3cWwL4zPcDOKVmkbKzalfShrv+6w+nrnzEZl0Pxs03q7jjNBED2wJHhbLQAHkK KblpYT1ib6ekhAxJK2XcqVoMRNLuPY2YlZp8PbqzVYF69PfVEIVivPcFfRe0r+5RsrxRkg kAg5fFVFHE+1wLDYU0y67DKR5/X8t31UVNbMxAjfBr/DVVnKF6V9zrqihbGqkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682211706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lwVmd72cP0D4Dw/lJ5CUghu6ux2YES7+SwRQvOaVjbM=; b=HbSfNyYN968IAXjgYnNecjIH8whZrUKmJv5kl6xvFZlOmSDa9nnJhmjsP/UjSg34Uxnws9 Hs3rlwXPRuQKqUYdeYdEK5KiYVXfbQ4h3gJPkSK60cLiT96v45zUTMDNa1/DaKOoQln+bc CqeEPicSo3dVfRA45pXH/Gchg8QVOi43Lh7+6dT3YZs5iJ1EJiFgpo/uis3xBYlFcVIaC7 pEdV/uigq5hpaqeAE9ldqPjUXV+u/p8ALlFqevetX+kUgNvu3gPQLSw+7NQxteyNn4AIvB iEZbSKZWTnbkPB1PPZqtFwcH1d6V6QcLcltalUvuxBHjsuOI9qLojpKCCG5I+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682211706; a=rsa-sha256; cv=none; b=dJ73q7WGP69N6JhatLefh2TUNX2zFsvd2oNfNwykJjaOdda0TQV1UPQQks4czv96K7Jo29 Vjg8ZIxKQSSd9auN1JcxfOmcKuHytBKosZLi8n/+NfzDpRdCVePjAtURPe3yynurs89Eu/ +YdetQBogd6L6ARB3ct7VVhRoAzibTOU8qFRtra9rg5NCaHou9Zxwxqkg6hFLVhbr0pH9a td7tvSHzbn3LT05odoJyTc3EHXwr0tUfEA0xQWmg21F7EJtsMzG21xX6YHO1TDaAX7zdKy IAMeO5WlL++dOWNBPeff3SoTFHLR0JF9Dyrq1obr5WJYI9GW6p1WYWq03N1Gzw== 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 4Q3qj64GLtzNWv; Sun, 23 Apr 2023 01:01: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 33N11kpd058699; Sun, 23 Apr 2023 01:01:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N11kAB058696; Sun, 23 Apr 2023 01:01:46 GMT (envelope-from git) Date: Sun, 23 Apr 2023 01:01:46 GMT Message-Id: <202304230101.33N11kAB058696@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: fb30bb0d4d0e - main - dirdeps.mk ensure M_dep_qual_fixes is applied List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb30bb0d4d0ed3beb27116761ac0c941607e3906 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=fb30bb0d4d0ed3beb27116761ac0c941607e3906 commit fb30bb0d4d0ed3beb27116761ac0c941607e3906 Author: Simon J. Gerraty AuthorDate: 2023-04-23 01:00:45 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-23 01:00:45 +0000 dirdeps.mk ensure M_dep_qual_fixes is applied --- share/mk/dirdeps.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/mk/dirdeps.mk b/share/mk/dirdeps.mk index 90ef5f55c790..6fedd00310e9 100644 --- a/share/mk/dirdeps.mk +++ b/share/mk/dirdeps.mk @@ -1,4 +1,4 @@ -# $Id: dirdeps.mk,v 1.156 2023/04/18 18:39:09 sjg Exp $ +# $Id: dirdeps.mk,v 1.157 2023/04/22 21:07:51 sjg Exp $ # SPDX-License-Identifier: BSD-2-Clause # @@ -645,9 +645,9 @@ _dm := ${DEP_MACHINE} # apply the same filtering that we do when qualifying DIRDEPS. # M_dep_qual_fixes expects .${MACHINE}* so add (and remove) '.' # Again we expect that any already qualified machines are fully qualified. -_machines := ${_machines:M*,*} ${_machines:N*,*:@DEP_MACHINE@${DEP_TARGET_SPEC}@:S,^,.,:${M_dep_qual_fixes:ts:}:O:u:S,^.,,} +_machines := ${_machines:M*,*} ${_machines:N*,*:@DEP_MACHINE@${DEP_TARGET_SPEC}@:S,^,.,:S,^.,,} DEP_MACHINE := ${_dm} -_machines := ${_machines:O:u} +_machines := ${_machines:${M_dep_qual_fixes:ts:}:O:u} .endif # reset each time through From nobody Sun Apr 23 01:12:43 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3qxn0JWZz46bRx; Sun, 23 Apr 2023 01:12: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 4Q3qxm00Ptz40Wv; Sun, 23 Apr 2023 01:12:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682212364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nt7oX48ZVaVMwqzC3tkfWQUmkw91gm5VqdvYvs3yL8g=; b=pS8Er23uv75mPiiY8ixwnjpEnKz2cZjyZjkyy/4iB94+Vx++mIWimzX71pyk/+V/hOoudN YRPW1IhP31mkrmq/AevZg0iupks+MYh4H0mD6gf+VJMzH/LbFuwfCwiAmFdPi8pTgoSkyb b0znj8fMZTYJs9TU+Nck1muC/7cyz7XuJ5uheQzO83CTgday4ITfWsYnf5Qn8hf7jr/f6u z/cGSJt1R5Oy1fJtXRz6BRdQKjnbWEAl/Ns9SwUXWsT94TGjtVaDCvH+lzcOs0jZdHR6vz aA3DUMMFjX5NxE1yCVbNAe7k6HOa+UAkVXuZ34kGk64gTLfs9vUBC1d7FpItGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682212364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nt7oX48ZVaVMwqzC3tkfWQUmkw91gm5VqdvYvs3yL8g=; b=QsrZ4bEmC8GyOxDxvdBK8MAWbcXNH3LXgUXQM3NsypT5cJEBA8rssPi2p2JllEZouLjpM4 xQBlnPOcYqAUkZYN5QzK9qCqA37BWcdeA1xFxOjazKIDvg1mhlK5q2twGI6nAfMQK7ftxR aA8SggTTMbUVThzQMqJeL2INsaqFJATLUUiqX8HWxEEbz6AdKaZ/5jq9/7MVx7okkerkSF 8XsGi8h518MRYjHu/yMWLq138Iddvbe5Kayutalx/byP7T0sSWDJ6hJpG5wbWJVQZwFJbt YFSeSUgGNTAoMlQS32oVl8m9UJl7n3Lg6yfKtldgteDKKwRLDxjpGOY4C8sf3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682212364; a=rsa-sha256; cv=none; b=cPqoQUhC9DU98VAzNk//WXhztxyxkUD9DJy7oHk1328PDEsB+MPgn0JgVsqS0/MCKJ/kcT oqJQc7ivz15tDrLeITGuqpdIVRp5kRpOA0Kv+XRxhP2fCC2STOGx5q4/nA0AiLIVDMASp8 0sVcBy5uP53AUXWZZOpacXGBLzO5qURA/DXmomE0rs1QDndzSHeaW9fNIpmufaiosXBW/p 55TiK61DA4iu3S9SI/rELvOgjXaK2IyNYOsk+iX7bl7MAlTpl/6yuNpN740e5ajZgJYYlm zGZQu2lS1fAFyPZctew7/bgWnXcpg513YF647Y703JTtHuEHe8BjI6hF4OS2VA== 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 4Q3qxl63wRzPPW; Sun, 23 Apr 2023 01:12: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 33N1ChIs076101; Sun, 23 Apr 2023 01:12:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N1ChPx076100; Sun, 23 Apr 2023 01:12:43 GMT (envelope-from git) Date: Sun, 23 Apr 2023 01:12:43 GMT Message-Id: <202304230112.33N1ChPx076100@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: df53ae0fdd98 - main - Remove portsnap(8) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df53ae0fdd98e9452095ac2fdaf95fcfac8c9c7f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=df53ae0fdd98e9452095ac2fdaf95fcfac8c9c7f commit df53ae0fdd98e9452095ac2fdaf95fcfac8c9c7f Author: Colin Percival AuthorDate: 2023-04-23 01:07:14 +0000 Commit: Colin Percival CommitDate: 2023-04-23 01:12:37 +0000 Remove portsnap(8) Rather than having a tool in the FreeBSD base system for obtaining the FreeBSD ports tree, users are encouraged to `pkg install git` and then `git clone https://git.FreeBSD.org/ports.git /usr/ports`. The portsnap servers will continue operating until FreeBSD 13 reaches its End-of-Life, and portsnap is available from the ports tree as ports-mgmt/portsnap. Requested by: portmgr Relnotes: yes Differential Revision: https://reviews.freebsd.org/D39563 X-MFC: no --- ObsoleteFiles.inc | 7 + UPDATING | 4 + libexec/Makefile | 2 +- share/examples/etc/README.examples | 5 +- share/man/man5/Makefile | 3 +- share/man/man5/portsnap.conf.5 | 147 ---- share/man/man5/src.conf.5 | 4 - share/mk/src.opts.mk | 1 - targets/pseudo/userland/Makefile.depend | 3 - tools/build/mk/OptionalObsoleteFiles.inc | 10 +- tools/build/options/WITHOUT_PORTSNAP | 4 - usr.sbin/Makefile | 1 - usr.sbin/portsnap/Makefile | 5 - usr.sbin/portsnap/Makefile.inc | 5 - usr.sbin/portsnap/make_index/Makefile | 8 - usr.sbin/portsnap/make_index/Makefile.depend | 16 - usr.sbin/portsnap/make_index/make_index.c | 515 ------------ usr.sbin/portsnap/portsnap/Makefile | 7 - usr.sbin/portsnap/portsnap/Makefile.depend | 11 - usr.sbin/portsnap/portsnap/portsnap.8 | 288 ------- usr.sbin/portsnap/portsnap/portsnap.conf | 36 - usr.sbin/portsnap/portsnap/portsnap.sh | 1156 -------------------------- 22 files changed, 16 insertions(+), 2222 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 3b3141d15629..6e7c5205a2bf 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,13 @@ # xargs -n1 | sort | uniq -d; # done +# 20230420: portsnap.8 removed +OLD_FILES+=etc/portsnap.conf +OLD_FILES+=usr/libexec/make_index +OLD_FILES+=usr/sbin/portsnap +OLD_FILES+=usr/share/examples/etc/portsnap.conf +OLD_FILES+=usr/share/man/man8/portsnap.8.gz + # 20230331: libpcap updated to 1.10.3 OLD_FILES+=usr/include/fmtutils.h diff --git a/UPDATING b/UPDATING index 70e5a58352af..17d80334c794 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 14.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20230422: + Remove portsnap(8). Users are encouraged to obtain the ports tree + using git instead. + 20230420: Add jobs.mk to save typing. Enables -j${JOB_MAX} and logging eg. diff --git a/libexec/Makefile b/libexec/Makefile index 057bad07de5b..a890115fd15a 100644 --- a/libexec/Makefile +++ b/libexec/Makefile @@ -49,7 +49,7 @@ SUBDIR+= bootpd SUBDIR+= fingerd .endif -.if ${MK_FREEBSD_UPDATE} != "no" || ${MK_PORTSNAP} != "no" +.if ${MK_FREEBSD_UPDATE} != "no" _phttpget= phttpget .endif diff --git a/share/examples/etc/README.examples b/share/examples/etc/README.examples index 3d284f31fdea..606b2b40d60c 100644 --- a/share/examples/etc/README.examples +++ b/share/examples/etc/README.examples @@ -44,12 +44,11 @@ nsmb.conf - smbfs lookups configuration file pf.conf - pf(4) example configuration file pf.os - SYN fingerprint database phones - phone number database for tip(1) -portsnap.conf - portsnap(8) configuration file printcap - configuration file for lpr(1) profile - system-wide .profile for sh(1) protocols - see protocols(5) rc - system startup script (see init(8)) -rc.bsdextended - startup policy for the mac_bsdextended(4) security module. +rc.bsdextended - startup policy for the mac_bsdextended(4) security module. rc.firewall - ipfw(8) setup script with basic rulesets rc.initdiskless - configuration file to boot a diskless machine rc.resume - sample run command file for APM Resume Event @@ -65,7 +64,7 @@ snmpd.config - example configuration file for bsnmpd(1) sysctl.conf - configuration file for sysctl(8) syslog.conf - configuration file for syslogd(8) ttys - defines port configuration for init(8) -defaults/bluetooth.device.conf - +defaults/bluetooth.device.conf - defaults/devfs.rules - default configuration rules for devfs(8) defaults/periodic.conf - default configuration file for periodic(8) defaults/rc.conf - default system configuration info (see rc.conf(5)) diff --git a/share/man/man5/Makefile b/share/man/man5/Makefile index f6e91e4ed00b..731c79fe0f97 100644 --- a/share/man/man5/Makefile +++ b/share/man/man5/Makefile @@ -53,7 +53,6 @@ MAN= acct.5 \ periodic.conf.5 \ phones.5 \ portindex.5 \ - portsnap.conf.5 \ procfs.5 \ protocols.5 \ quota.user.5 \ @@ -103,7 +102,7 @@ MAN+= freebsd-update.conf.5 .endif .if ${MK_HESIOD} != "no" -MAN+= hesiod.conf.5 +MAN+= hesiod.conf.5 .endif .if ${MK_PF} != "no" diff --git a/share/man/man5/portsnap.conf.5 b/share/man/man5/portsnap.conf.5 deleted file mode 100644 index cef4c24815bf..000000000000 --- a/share/man/man5/portsnap.conf.5 +++ /dev/null @@ -1,147 +0,0 @@ -.\"- -.\" Copyright 2004-2005 Colin Percival -.\" All rights reserved -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted providing 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$ -.\" -.Dd January 30, 2005 -.Dt PORTSNAP.CONF 5 -.Os FreeBSD -.Sh NAME -.Nm portsnap.conf -.Nd configuration file for -.Xr portsnap 8 -.Sh DESCRIPTION -The -.Nm -file controls where -.Xr portsnap 8 -fetches ports tree snapshots from, -which RSA key should be trusted to sign the updates, and what -directories should hold the compressed and live ports trees. -.Pp -A line of the form -.Dl SERVERNAME=portsnap.example.com -specifies the source from which snapshots should be fetched. -This is equivalent to the -.Fl s Ar server -option to -.Xr portsnap 8 , -and will be ignored if the command-line -option is used. -.Pp -A line of the form -.Dl KEYPRINT=0123456789abc ... 456789abcdef -(64 characters in total) -specifies the SHA-256 hash of the OpenSSL public key file -belonging to an RSA keypair which is trusted to sign updates. -This is equivalent to the -.Fl k Ar KEY -option to -.Xr portsnap 8 , -and will be ignored if the command-line -option is used. -.Pp -A line of the form -.Dl WORKDIR=/path/to/workdir -specifies the directory in which portsnap should maintain its compressed -snapshot of the ports tree. -This is equivalent to the -.Fl d Ar workdir -option to -.Xr portsnap 8 , -and will be ignored if the command-line option -is used. -.Pp -A line of the form -.Dl PORTSDIR=/path/to/portstree -specifies the directory in which portsnap will create the live ports -tree from its compressed snapshot via the -.Cm extract -and -.Cm update -commands. -This is equivalent to the -.Fl p Ar portsdir -option to -.Xr portsnap 8 , -and will be ignored if the command-line option -is used. -.Pp -If more than one line of any of the above forms is included in -.Nm -then only the last one will take effect. -.Pp -A line of the form -.Dl INDEX INDEXFILE DESCRIBEFILE -will instruct -.Xr portsnap 8 -that the specified INDEX file is generated from the specified -describe file distributed by the portsnap server. -.Pp -Finally, a line of the form -.Dl REFUSE foo bar -will instruct -.Xr portsnap 8 -to ignore parts of the ports tree with paths starting with -.Ar foo -or -.Ar bar , -which are interpreted as extended regular expressions by -.Xr egrep 1 . -This will result in those parts of the tree not being updated -in the compressed snapshot when the -.Cm fetch -and -.Cm cron -commands are used and not being extracted when the -.Cm extract -command is used (unless a specific -.Ar path -is passed to -.Xr portsnap 8 ) , -and if those parts of the ports tree are present they -will not be updated when the -.Cm update -command is used. -Unlike the other options, the parameters in REFUSE lines -accumulate and all such lines are considered. -.Bf Em -Note that operating with an incomplete ports tree is not -supported and may cause unexpected results. -.Ef -.Pp -Any lines not of the above forms will be ignored. -.Sh FILES -.Bl -tag -width "/etc/portsnap.conf" -.It Pa /etc/portsnap.conf -Default location of the portsnap configuration file. -.El -.Sh SEE ALSO -.Xr egrep 1 , -.Xr fetch 1 , -.Xr sha256 1 , -.Xr portsnap 8 -.Sh AUTHORS -.An Colin Percival Aq Mt cperciva@FreeBSD.org diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 9029732f0fe8..8cabfb16462b 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1437,10 +1437,6 @@ bootstrap tool. Do not build .Xr pmccontrol 8 and related programs. -.It Va WITHOUT_PORTSNAP -Do not build or install -.Xr portsnap 8 -and related files. .It Va WITHOUT_PPP Do not build .Xr ppp 8 diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index d6f6650effd5..8f56f757b60b 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -155,7 +155,6 @@ __DEFAULT_YES_OPTIONS = \ PF \ PKGBOOTSTRAP \ PMC \ - PORTSNAP \ PPP \ QUOTAS \ RADIUS_SUPPORT \ diff --git a/targets/pseudo/userland/Makefile.depend b/targets/pseudo/userland/Makefile.depend index 19e3d754cffa..b933b54dd26c 100644 --- a/targets/pseudo/userland/Makefile.depend +++ b/targets/pseudo/userland/Makefile.depend @@ -645,9 +645,6 @@ DIRDEPS+= \ usr.sbin/pmccontrol \ usr.sbin/pmcstat \ usr.sbin/pmcstudy \ - usr.sbin/portsnap/make_index \ - usr.sbin/portsnap/phttpget \ - usr.sbin/portsnap/portsnap \ usr.sbin/powerd \ usr.sbin/ppp \ usr.sbin/pppctl \ diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 0d19eab23c8e..9c7e40ee563a 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -2025,7 +2025,7 @@ OLD_FILES+=usr/share/man/man5/freebsd-update.conf.5.gz OLD_FILES+=usr/share/man/man8/freebsd-update.8.gz .endif -.if ${MK_FREEBSD_UPDATE} == no && ${MK_PORTSNAP} == no +.if ${MK_FREEBSD_UPDATE} == no OLD_FILES+=usr/libexec/phttpget OLD_FILES+=usr/share/man/man8/phttpget.8.gz .endif @@ -6843,14 +6843,6 @@ OLD_FILES+=usr/share/man/man8/pmcstat.8.gz OLD_FILES+=usr/share/man/man8/pmcstudy.8.gz .endif -.if ${MK_PORTSNAP} == no -OLD_FILES+=etc/portsnap.conf -OLD_FILES+=usr/libexec/make_index -OLD_FILES+=usr/sbin/portsnap -OLD_FILES+=usr/share/examples/etc/portsnap.conf -OLD_FILES+=usr/share/man/man8/portsnap.8.gz -.endif - .if ${MK_PPP} == no OLD_FILES+=etc/newsyslog.conf.d/ppp.conf OLD_FILES+=etc/ppp/ppp.conf diff --git a/tools/build/options/WITHOUT_PORTSNAP b/tools/build/options/WITHOUT_PORTSNAP deleted file mode 100644 index 8b023fd65251..000000000000 --- a/tools/build/options/WITHOUT_PORTSNAP +++ /dev/null @@ -1,4 +0,0 @@ -.\" $FreeBSD$ -Do not build or install -.Xr portsnap 8 -and related files. diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile index e2f382303d6e..9fa1dc05a1cc 100644 --- a/usr.sbin/Makefile +++ b/usr.sbin/Makefile @@ -187,7 +187,6 @@ SUBDIR.${MK_OPENSSL_KTLS}+= rpc.tlsservd SUBDIR.${MK_PF}+= ftp-proxy SUBDIR.${MK_PKGBOOTSTRAP}+= pkg SUBDIR.${MK_PMC}+= pmc pmcannotate pmccontrol pmcstat pmcstudy -SUBDIR.${MK_PORTSNAP}+= portsnap SUBDIR.${MK_PPP}+= ppp SUBDIR.${MK_QUOTAS}+= edquota SUBDIR.${MK_QUOTAS}+= quotaon diff --git a/usr.sbin/portsnap/Makefile b/usr.sbin/portsnap/Makefile deleted file mode 100644 index 169befd6e726..000000000000 --- a/usr.sbin/portsnap/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -SUBDIR= portsnap make_index - -.include diff --git a/usr.sbin/portsnap/Makefile.inc b/usr.sbin/portsnap/Makefile.inc deleted file mode 100644 index 5f6527edb373..000000000000 --- a/usr.sbin/portsnap/Makefile.inc +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -LIBEXECDIR?= /usr/libexec - -.include "../Makefile.inc" diff --git a/usr.sbin/portsnap/make_index/Makefile b/usr.sbin/portsnap/make_index/Makefile deleted file mode 100644 index 92e91450e4fd..000000000000 --- a/usr.sbin/portsnap/make_index/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ - -PROG= make_index -MAN= - -BINDIR= ${LIBEXECDIR} - -.include diff --git a/usr.sbin/portsnap/make_index/Makefile.depend b/usr.sbin/portsnap/make_index/Makefile.depend deleted file mode 100644 index 8d409f5263ac..000000000000 --- a/usr.sbin/portsnap/make_index/Makefile.depend +++ /dev/null @@ -1,16 +0,0 @@ -# $FreeBSD$ -# Autogenerated - do NOT edit! - -DIRDEPS = \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/libc \ - lib/libcompiler_rt \ - - -.include - -.if ${DEP_RELDIR} == ${_DEP_RELDIR} -# local dependencies - needed for -jN in clean tree -.endif diff --git a/usr.sbin/portsnap/make_index/make_index.c b/usr.sbin/portsnap/make_index/make_index.c deleted file mode 100644 index 642404b63605..000000000000 --- a/usr.sbin/portsnap/make_index/make_index.c +++ /dev/null @@ -1,515 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright 2005 Colin Percival - * All rights reserved - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted providing 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. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include - -struct port; - -typedef union { - char * name; - struct port * p; -} DEP; - -typedef struct port { - char * pkgname; - char * portdir; - char * prefix; - char * comment; - char * pkgdescr; - char * maintainer; - char * categories; - size_t n_edep; - DEP * edep; - size_t n_pdep; - DEP * pdep; - size_t n_fdep; - DEP * fdep; - size_t n_bdep; - DEP * bdep; - size_t n_rdep; - DEP * rdep; - char * www; - int recursed; -} PORT; - -static void usage(void); -static char * strdup2(const char *str); -static DEP * makelist(char * str, size_t * n); -static PORT * portify(char * line); -static int portcompare(char * a, char * b); -static void heapifyports(PORT **pp, size_t size, size_t pos); -static PORT * findport(PORT ** pp, size_t st, size_t en, char * name, char * from); -static void translateport(PORT ** pp, size_t pplen, PORT * p); -static DEP * recurse_one(DEP * d, size_t * nd); -static void recurse(PORT * p); -static void heapifypkgs(DEP * d, size_t size, size_t pos); -static void sortpkgs(DEP * d, size_t nd); -static void printport(PORT * p); - -static void -usage(void) -{ - - fprintf(stderr, "usage: make_index file\n"); - exit(1); - /* NOTREACHED */ -} - -static char * -strdup2(const char *str) -{ - char * r; - - r = strdup(str); - if (r == NULL) - err(1, "strdup"); - return r; -} - -/* Take a space-separated list and return an array of (char *) */ -static DEP * -makelist(char * str, size_t * n) -{ - DEP * d; - size_t i; - - /* No depends at all? */ - if (str[0] == 0) { - *n = 0; - return NULL; - } - - /* Count the number of fields */ - *n = 1; - for (i = 0; str[i] != 0; i++) - if (str[i] == ' ') - (*n)++; - - /* Allocate and fill an array */ - d = malloc(*n * sizeof(DEP)); - if (d == NULL) - err(1, "malloc(DEP)"); - for (i = 0; i < *n; i++) { - d[i].name = strdup2(strsep(&str, " ")); - - /* Strip trailing slashes */ - if (d[i].name[strlen(d[i].name) - 1] == '/') - d[i].name[strlen(d[i].name) - 1] = 0; - } - - return d; -} - -/* Take a port's describe line and split it into fields */ -static PORT * -portify(char * line) -{ - PORT * p; - size_t i, n; - - /* Verify that line has the right number of fields */ - for (n = i = 0; line[i] != 0; i++) - if (line[i] == '|') - n++; - if (n != 12) - errx(1, "Port describe line is corrupt:\n%s\n", line); - - p = malloc(sizeof(PORT)); - if (p == NULL) - err(1, "malloc(PORT)"); - - p->pkgname = strdup2(strsep(&line, "|")); - p->portdir = strdup2(strsep(&line, "|")); - p->prefix = strdup2(strsep(&line, "|")); - p->comment = strdup2(strsep(&line, "|")); - p->pkgdescr = strdup2(strsep(&line, "|")); - p->maintainer = strdup2(strsep(&line, "|")); - p->categories = strdup2(strsep(&line, "|")); - p->edep = makelist(strsep(&line, "|"), &p->n_edep); - p->pdep = makelist(strsep(&line, "|"), &p->n_pdep); - p->fdep = makelist(strsep(&line, "|"), &p->n_fdep); - p->bdep = makelist(strsep(&line, "|"), &p->n_bdep); - p->rdep = makelist(strsep(&line, "|"), &p->n_rdep); - p->www = strdup2(strsep(&line, "|")); - - p->recursed = 0; - - /* - * line will now be equal to NULL -- we counted the field - * separators at the top of the function. - */ - - return p; -} - -/* Returns -1, 0, or 1 based on a comparison of the portdir strings */ -static int -portcompare(char * a, char * b) -{ - size_t i; - - /* Find first non-matching position */ - for (i = 0; ; i++) { - if (a[i] != b[i]) - break; - if (a[i] == 0) /* End of strings */ - return 0; - } - - /* One string is a prefix of the other */ - if (a[i] == 0) - return -1; - if (b[i] == 0) - return 1; - - /* One string has a category which is a prefix of the other */ - if (a[i] == '/') - return -1; - if (b[i] == '/') - return 1; - - /* The two strings are simply different */ - if (a[i] < b[i]) - return -1; - else - return 1; -} - -/* Heapify (PORT *) number pos in a pseudo-heap pp[0]..pp[size - 1] */ -static void -heapifyports(PORT **pp, size_t size, size_t pos) -{ - size_t i = pos; - PORT * tmp; - -top: - /* Find the largest value out of {pos, 2*pos+1, 2*pos+2} */ - if ((2 * pos + 1 < size) && - (portcompare(pp[i]->portdir, pp[2 * pos + 1]->portdir) < 0)) - i = 2 * pos + 1; - if ((2 * pos + 2 < size) && - (portcompare(pp[i]->portdir, pp[2 * pos + 2]->portdir) < 0)) - i = 2 * pos + 2; - - /* If necessary, swap elements and iterate down the tree. */ - if (i != pos) { - tmp = pp[pos]; - pp[pos] = pp[i]; - pp[i] = tmp; - pos = i; - goto top; - } -} - -/* Translate a port directory name into a (PORT *), and free the name */ -static PORT * -findport(PORT ** pp, size_t st, size_t en, char * name, char * from) -{ - size_t mid; - int r; - - if (st == en) - errx(1, "%s: no entry for %s", from, name); - - mid = (st + en) / 2; - r = portcompare(pp[mid]->portdir, name); - - if (r == 0) { - free(name); - return pp[mid]; - } else if (r < 0) - return findport(pp, mid + 1, en, name, from); - else - return findport(pp, st, mid, name, from); -} - -/* Translate all depends from names into PORT *s */ -static void -translateport(PORT ** pp, size_t pplen, PORT * p) -{ - size_t i; - - for (i = 0; i < p->n_edep; i++) - p->edep[i].p = findport(pp, 0, pplen, p->edep[i].name, p->portdir); - for (i = 0; i < p->n_pdep; i++) - p->pdep[i].p = findport(pp, 0, pplen, p->pdep[i].name, p->portdir); - for (i = 0; i < p->n_fdep; i++) - p->fdep[i].p = findport(pp, 0, pplen, p->fdep[i].name, p->portdir); - for (i = 0; i < p->n_bdep; i++) - p->bdep[i].p = findport(pp, 0, pplen, p->bdep[i].name, p->portdir); - for (i = 0; i < p->n_rdep; i++) - p->rdep[i].p = findport(pp, 0, pplen, p->rdep[i].name, p->portdir); -} - -/* Recurse on one specific depends list */ -static DEP * -recurse_one(DEP * d, size_t * nd) -{ - size_t i, j, k, n, N; - - N = n = *nd; - for (i = 0; i < n; i++) { - recurse(d[i].p); - for (j = 0; j < d[i].p->n_rdep; j++) { - for (k = 0; k < N; k++) { - if (d[i].p->rdep[j].p == d[k].p) - break; - } - if (k == N) { - N++; - if (N >= *nd) { - *nd += *nd; - d = realloc(d, *nd * sizeof(DEP)); - if (d == NULL) - err(1, "realloc(d)"); - } - d[k].p = d[i].p->rdep[j].p; - } - } - } - *nd = N; - - return d; -} - -/* Recurse on the depends lists */ -static void -recurse(PORT * p) -{ - switch (p->recursed) { - case 0: - /* First time we've seen this port */ - p->recursed = 1; - break; - case 1: - /* We're in the middle of recursing this port */ - errx(1, "Circular dependency loop found: %s" - " depends upon itself.\n", p->pkgname); - case 2: - /* This port has already been recursed */ - return; - } - - p->edep = recurse_one(p->edep, &p->n_edep); - p->pdep = recurse_one(p->pdep, &p->n_pdep); - p->fdep = recurse_one(p->fdep, &p->n_fdep); - p->bdep = recurse_one(p->bdep, &p->n_bdep); - p->rdep = recurse_one(p->rdep, &p->n_rdep); - - /* Finished recursing on this port */ - p->recursed = 2; -} - -/* Heapify an element in a package list */ -static void -heapifypkgs(DEP * d, size_t size, size_t pos) -{ - size_t i = pos; - PORT * tmp; - -top: - /* Find the largest value out of {pos, 2*pos+1, 2*pos+2} */ - if ((2 * pos + 1 < size) && - (strcmp(d[i].p->pkgname, d[2 * pos + 1].p->pkgname) < 0)) - i = 2 * pos + 1; - if ((2 * pos + 2 < size) && - (strcmp(d[i].p->pkgname, d[2 * pos + 2].p->pkgname) < 0)) - i = 2 * pos + 2; - - /* If necessary, swap elements and iterate down the tree. */ - if (i != pos) { - tmp = d[pos].p; - d[pos].p = d[i].p; - d[i].p = tmp; - pos = i; - goto top; - } -} - -/* Sort a list of dependent packages in alphabetical order */ -static void -sortpkgs(DEP * d, size_t nd) -{ - size_t i; - PORT * tmp; - - if (nd == 0) - return; - - for (i = nd; i > 0; i--) - heapifypkgs(d, nd, i - 1); /* Build a heap */ - for (i = nd - 1; i > 0; i--) { - tmp = d[0].p; /* Extract elements */ - d[0].p = d[i].p; - d[i].p = tmp; - heapifypkgs(d, i, 0); /* And re-heapify */ - } -} - -/* Output an index line for the given port. */ -static void -printport(PORT * p) -{ - size_t i; - - sortpkgs(p->edep, p->n_edep); - sortpkgs(p->pdep, p->n_pdep); - sortpkgs(p->fdep, p->n_fdep); - sortpkgs(p->bdep, p->n_bdep); - sortpkgs(p->rdep, p->n_rdep); - - printf("%s|%s|%s|%s|%s|%s|%s|", - p->pkgname, p->portdir, p->prefix, p->comment, p->pkgdescr, - p->maintainer, p->categories); - for (i = 0; i < p->n_bdep; i++) - printf("%s%s", i ? " " : "", p->bdep[i].p->pkgname); - printf("|"); - for (i = 0; i < p->n_rdep; i++) - printf("%s%s", i ? " " : "", p->rdep[i].p->pkgname); - printf("|"); - printf("%s|", p->www); - for (i = 0; i < p->n_edep; i++) - printf("%s%s", i ? " " : "", p->edep[i].p->pkgname); - printf("|"); - for (i = 0; i < p->n_pdep; i++) - printf("%s%s", i ? " " : "", p->pdep[i].p->pkgname); - printf("|"); - for (i = 0; i < p->n_fdep; i++) - printf("%s%s", i ? " " : "", p->fdep[i].p->pkgname); - printf("\n"); -} - -/* - * Algorithm: - * 1. Suck in all the data, splitting into fields. - * 1a. If there are no ports, there is no INDEX. - * 2. Sort the ports according to port directory. - * 3. Using a binary search, translate each dependency from a - * port directory name into a pointer to a port. - * 4. Recursively follow dependencies, expanding the lists of - * pointers as needed (using realloc). - * 5. Iterate through the ports, printing them out (remembering - * to list the dependent ports in alphabetical order). - */ - -int -main(int argc, char *argv[]) -{ - FILE * f; - char * line; - size_t linelen; - PORT ** pp; /* Array of pointers to PORTs */ - PORT * tmp; - size_t pplen; /* Allocated size of array */ - size_t i; - - if (argc != 2) - usage(); - if ((f = fopen(argv[1], "r")) == NULL) - err(1, "fopen(%s)", argv[1]); - - pplen = 1024; - if ((pp = malloc(pplen * sizeof(PORT *))) == NULL) - err(1, "malloc(pp)"); - - /* - * 1. Suck in all the data, splitting into fields. - */ - for(i = 0; (line = fgetln(f, &linelen)) != NULL; i++) { - if (line[linelen - 1] != '\n') - errx(1, "Unterminated line encountered"); - line[linelen - 1] = 0; - - /* Enlarge array if needed */ - if (i >= pplen) { - pplen *= 2; - if ((pp = realloc(pp, pplen * sizeof(PORT *))) == NULL) - err(1, "realloc(pp)"); - } - - pp[i] = portify(line); - } - /* Reallocate to the correct size */ - pplen = i; - if ((pp = realloc(pp, pplen * sizeof(PORT *))) == NULL) - err(1, "realloc(pp)"); - - /* Make sure we actually reached the EOF */ - if (!feof(f)) - err(1, "fgetln(%s)", argv[1]); - /* Close the describes file */ - if (fclose(f) != 0) - err(1, "fclose(%s)", argv[1]); - - /* - * 1a. If there are no ports, there is no INDEX. - */ - if (pplen == 0) - return 0; - - /* - * 2. Sort the ports according to port directory. - */ - for (i = pplen; i > 0; i--) - heapifyports(pp, pplen, i - 1); /* Build a heap */ - for (i = pplen - 1; i > 0; i--) { - tmp = pp[0]; /* Extract elements */ - pp[0] = pp[i]; - pp[i] = tmp; - heapifyports(pp, i, 0); /* And re-heapify */ - } - - /* - * 3. Using a binary search, translate each dependency from a - * port directory name into a pointer to a port. - */ - for (i = 0; i < pplen; i++) - translateport(pp, pplen, pp[i]); - - /* - * 4. Recursively follow dependencies, expanding the lists of - * pointers as needed (using realloc). - */ - for (i = 0; i < pplen; i++) - recurse(pp[i]); - - /* - * 5. Iterate through the ports, printing them out (remembering - * to list the dependent ports in alphabetical order). - */ - for (i = 0; i < pplen; i++) - printport(pp[i]); - - return 0; -} diff --git a/usr.sbin/portsnap/portsnap/Makefile b/usr.sbin/portsnap/portsnap/Makefile deleted file mode 100644 index 6acd3f523751..000000000000 --- a/usr.sbin/portsnap/portsnap/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -CONFS= portsnap.conf -SCRIPTS=portsnap.sh -MAN= portsnap.8 - -.include diff --git a/usr.sbin/portsnap/portsnap/Makefile.depend b/usr.sbin/portsnap/portsnap/Makefile.depend deleted file mode 100644 index f80275d86ab1..000000000000 --- a/usr.sbin/portsnap/portsnap/Makefile.depend +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ -# Autogenerated - do NOT edit! *** 1507 LINES SKIPPED *** From nobody Sun Apr 23 01:16:34 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3r2C0QTRz46bMv; Sun, 23 Apr 2023 01:16: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 4Q3r2B6bzHz45D5; Sun, 23 Apr 2023 01:16:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682212594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FtQoTbMPrVcnzNdg3EYqR20ZS7m/Ug1FTxxEZA2Ypkc=; b=F+Uoqz02DAmVMA6JgsPsh7uE6rkX5abFhif5KDuvA38EbOBBCkCqK0gQZeTTYHXqs1rAAb njPNW/aQPdiU2OjhwlRUR/0xHoxKSQfb6P2Xd30/T28F3uuO65ZRkroYBP72dLIXFC5qJF UTfgUzgjL1YhzZaej7CTaJUwxRcBGgUVob0mG44BUlqDeeo0WctCuMNOGxJkNYvQ2+oQgx 1oueJ4OKrBttL0IfBs7S3nQtDTBi4KPAQDdUEp3uX7Qd6muqTGxZvCzpMTKHlFEdA8QqMJ QrnRDnFfO1+p6bvGPx+YxbGx9cu+4jjQQaIdpQfJan5gC9MPexUNbo3JxXXGFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682212594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FtQoTbMPrVcnzNdg3EYqR20ZS7m/Ug1FTxxEZA2Ypkc=; b=wDdpONe5oM7TJujmE0svqUvxgtOOGCQr5psqwgRhYVR+T+TnzDKraJagmLrAp7JmtSXn3y T2kaH9+Xe0TobOobMmPXuPsZERlWEUh1pPZfSeZKWgEMhShmhonXlXABRDEe9uYLkYJV3U P4A2gu7Det8wtspQx4jiRBZUxtFKG0FQ4inKf/CEzLkmBwipk9SZGmctxL9wEJB1xxlkGB 5D+7aIQKqWNyX3LN3S0TYahidiAIi1n73gI6vdSoPgzF46evx5eQEYOCBl0CfAwhNAmywk mEtD76SwEW+TlhZ9moEaReUz5EPj/BD3v3wapuMGaJ2V7NLp/gWVEBbNpy06/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682212594; a=rsa-sha256; cv=none; b=y0esLfwHB1cx6iRu1zTpsozAdDxw61qIOFLDpubj3MEJxlXMOcyAaqhOWVxLPtzB/K/GA7 ZiwJdLlBOTlEpHEj69icX81uNO6G8oFrMRIwSsi4oBh5j0qtjhJLDMJMkZ8GWZC172r5TD RQfGEBQufy2jNHow+ulMznv2QMuisJYpPT32b9T+4H+teABQqjoKc50YL3wlhI1NHySqI8 wmxL9DTri6gJZmZFgBwsBoqntbUE4j9PQAli+VOVLBpFvq89JfohiDIVngGhW+hsyhjL+O FuUrIfNkdTuMoVvjMWJH06a6jz92U3Cv/+OQCQyutY+C5hBLu8UWkTNZv8Dtqg== 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 4Q3r2B5hCMzNqF; Sun, 23 Apr 2023 01:16: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 33N1GYmb076719; Sun, 23 Apr 2023 01:16:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N1GYYV076718; Sun, 23 Apr 2023 01:16:34 GMT (envelope-from git) Date: Sun, 23 Apr 2023 01:16:34 GMT Message-Id: <202304230116.33N1GYYV076718@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 04989ef426f9 - main - bmake 20230123 gives us .SYSPATH List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04989ef426f911e0d7f674f66a080a0af3376b1d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=04989ef426f911e0d7f674f66a080a0af3376b1d commit 04989ef426f911e0d7f674f66a080a0af3376b1d Author: Simon J. Gerraty AuthorDate: 2023-04-23 01:15:31 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-23 01:15:31 +0000 bmake 20230123 gives us .SYSPATH No need to faff about trying to work out where bmake is looking - it tells you. --- share/mk/bsd.symver.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/share/mk/bsd.symver.mk b/share/mk/bsd.symver.mk index a7bffad5ceae..1969097b7089 100644 --- a/share/mk/bsd.symver.mk +++ b/share/mk/bsd.symver.mk @@ -14,6 +14,9 @@ VERSION_MAP?= Version.map CLEANFILES+= ${VERSION_MAP} +.if ${MAKE_VERSION} >= 20230123 +_mpath= ${.SYSPATH} +.else # Compute the make's -m path. _mpath= _oarg= @@ -24,6 +27,7 @@ _mpath+= ${_arg} _oarg= ${_arg} .endfor _mpath+= /usr/share/mk +.endif # Look up ${VERSION_GEN} in ${_mpath}. _vgen= From nobody Sun Apr 23 04:48:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3wkb4mSJz46pZT; Sun, 23 Apr 2023 04:48:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q3wkb4H1xz3CjH; Sun, 23 Apr 2023 04:48:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682225303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e8W8tIn0g6FoCqS67v5PtLtm3Trss6YSsdSbwtZfP/U=; b=rsWtC+uLCXRdwrxMUx59/omPCgY4fcnIXpUEBq6jww3LxuOxbRkl4y0If4oMhQnPC1uUkf lDB69JFKRIk8CQjZvd7Oespqvvb/I8uWy7BOmwYnAdzhp9xq39BUy47T35HFnN3q9yediL yVnHYyOasa+srwJ5fuDNXyIOlll7m9F2tTCglbk8pAhkGgCU/fiOxigukBLDZJXWFF83Mz DD4NjCj/Us1ovgygPl4CAXHEH/HMbSd48ViLdKAtle6KxXJRTiEgAddjZcGwMz+goCuuL9 usvB5yjlVgHSMHgnsG4l8uKtt5a7gU9pewGBw46MWfRNe7hF1jv+pGZbkxbdGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682225303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e8W8tIn0g6FoCqS67v5PtLtm3Trss6YSsdSbwtZfP/U=; b=ObZnmbkxpd7P7u+7cfbsfQL3vyvdVC3hgRApEjOiRmrLDV0Nx0DofwNvPCaq4/Ddj0d+z5 xlh2eARiAVsvIFBGUmY2YOY+Pbk0QAtMH1zge3dRHRr2OvmrJ5qljv9w6TsggsTwceMs7l coOsxgzwCK9HgYAXkISFkc6n7KlZQ+PdV7280X5Yn46L9of+K+58StNhrwWIhuSMih0x+G DnNc5sxScWu/Soux3qr/rGnlQSbF2nKRbNbgTAc5VAfaGLgKKtlCBl7K8asN7N/iZoz60q qEH0w7OhWjbAkDDuTpopPAbebrqvYtzyWR42QqFfH5xgWFk6/9Y5R18Uy1a6ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682225303; a=rsa-sha256; cv=none; b=jvv2RqD8V4h0ZouVMq8RbAW0p+xov/XJwSnStzDZfLU77isfP8rj4iwik6a+pTsQ6pLrPj v2Jv/XHzIU3XcLTXVwHGvrlrURy3xpI6OAyj7jsELlodXLCp5IaqkKuhQW8YWl7yly4pqx BS8TbfLBw+ycYyFweWa0veUfbuRvnoOFOSGRExre/6xn7AK2iZudIeDaoTl4zvfNGprHKj oKPbpq7fHAl4V+k6IBJh+xofTd/WgUZVfk7PWgMel4BJmc/Dk0pAlDQnWzzjiCnvQkyjU0 Rx7Cce02y+alltXPH5wdZNcXZ+o1FVtOW8xKpOhG/mDIniimtVOprmhI+LyZXA== 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 4Q3wkb3PCVzVwq; Sun, 23 Apr 2023 04:48: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 33N4mNam022706; Sun, 23 Apr 2023 04:48:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N4mNZg022705; Sun, 23 Apr 2023 04:48:23 GMT (envelope-from git) Date: Sun, 23 Apr 2023 04:48:23 GMT Message-Id: <202304230448.33N4mNZg022705@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: c373e1d6adbc - main - if_stf: Delete unreachable code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c373e1d6adbc3785e8f1072cdc4a062733baa514 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=c373e1d6adbc3785e8f1072cdc4a062733baa514 commit c373e1d6adbc3785e8f1072cdc4a062733baa514 Author: Zhenlei Huang AuthorDate: 2023-04-23 04:47:57 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-23 04:47:57 +0000 if_stf: Delete unreachable code As the flag M_WAITOK is passed to ip_encap_attach(), then the function will never return NULL, and the following code within NULL check branch will be unreachable. No functional change intended. Reviewed by: kp Fixes: 6d8fdfa9d5e7d Rework IP encapsulation handling code MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39746 --- sys/net/if_stf.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/net/if_stf.c b/sys/net/if_stf.c index afc7b446fca7..5cb9a9d5c6dc 100644 --- a/sys/net/if_stf.c +++ b/sys/net/if_stf.c @@ -295,12 +295,6 @@ stf_clone_create(struct if_clone *ifc, char *name, size_t len, ifp->if_dunit = IF_DUNIT_NONE; sc->encap_cookie = ip_encap_attach(&ipv4_encap_cfg, sc, M_WAITOK); - if (sc->encap_cookie == NULL) { - if_printf(ifp, "attach failed\n"); - free(sc, M_STF); - ifc_free_unit(ifc, unit); - return (ENOMEM); - } ifp->if_mtu = IPV6_MMTU; ifp->if_ioctl = stf_ioctl; From nobody Sun Apr 23 04:48:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3wkd03Pfz46pZW; Sun, 23 Apr 2023 04:48:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q3wkc5lgMz3Ccc; Sun, 23 Apr 2023 04:48:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682225304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LdOiiZBIs77aQ/u/caix1tSzHwAEYg+LoQbva+347jk=; b=CAJsW+9+DNNSHQj03DIsdY7ClgebLjNXEie1JdjQqWY9U3BDXVV/HWgbw9lGD4+EjX38ox wxxFfk4Ww6aDNpkpYPJwTB2aLHsw4gGYU98KFTK04vzDt9Bh6H+Cm+GbbHNUkG+Se5rwds lpE6AxLpvPY8ZoJZvRHjrvrS9UL1/DwXgrCXJbPy/HMpdXc9w7y2HI+DGNEr0GaH6f3mJd ARBBShC64UnRRcBeCgA6xW83Q+pmYxU3L3dQ9xQa7H6pjpuBX921eHvQgw7IlgQspFYRu4 jT6Cbhh/R2590W08wRFbCUMEo50zCMUmCkuAP9CVi+iaR8SsrxkdgDAkWx9YzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682225304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LdOiiZBIs77aQ/u/caix1tSzHwAEYg+LoQbva+347jk=; b=TMYs6veiz31plrvqOZRh3GF/Ll7Jp/GeL4wBtrl/xgIyarxYUk/6qLN1kgSdNvSMavkpoc o5NXCCXhsJ4WC5Qt1w9HTrb4KHQ9Ggts6y3jUIgkMWrQHXSPfo/+mvolNNP7n3Tj3oVgcL O0Dd4t4hoa+IEmodeC2gua988ad4gR5+Ty9nh8yOiKYn7JTDCEnWpiJcHx1AbYXg2nArgz HvTH96BPad+JW8XGCixipJ6DVvv84coCuHiY5FcvACVpTDEmvEKj1CvhYuUQQC03Vy3V/z Fju7ByeSu7SLadNC0xqvo/6KEmGS2ls4NNkADOv+t/WSnPrlss6QS+YFIdrG/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682225304; a=rsa-sha256; cv=none; b=VP7lh61FitgPPkpxTJqi5ExTaobZxQwePXqwgxQ0WEG1Ua3LqdFISXzh6Ba6oAPOF0lDyf AIQoitaE37VAh1iAY64nECYS14DGjVWNueKeXhUqspf5hSBLEDui7UC+cXnB5KqPXeTzuz mxDb8r5BoPObxZDn6TRdjS/xkFj7UHNE46jsYtoFBgX0sfCIJwMXvY8oUrYhLfRRFCKEqZ hu8dpaTpl2lpw63XPnuUCyA3pJRuCTF/gCO6MgrfzF2vUGHNEAGANZcMvSuSoeoUaSafJl fA4HNMpbTFE3gSWA7Y6N+85loy7+yLkuYc5mB4jn2utbOofZbkkxRHKt2wgIjA== 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 4Q3wkc3z6FzVrF; Sun, 23 Apr 2023 04:48: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 33N4mOVO022731; Sun, 23 Apr 2023 04:48:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N4mOTi022730; Sun, 23 Apr 2023 04:48:24 GMT (envelope-from git) Date: Sun, 23 Apr 2023 04:48:24 GMT Message-Id: <202304230448.33N4mOTi022730@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: b658c0fce10a - main - ip_mroute: Delete unreachable code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b658c0fce10a06493dc468fc9f6699120473e17b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=b658c0fce10a06493dc468fc9f6699120473e17b commit b658c0fce10a06493dc468fc9f6699120473e17b Author: Zhenlei Huang AuthorDate: 2023-04-23 04:47:57 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-23 04:47:57 +0000 ip_mroute: Delete unreachable code As the flag M_WAITOK is passed to ip_encap_attach(), then the function will never return NULL, and the following code within NULL check branch will be unreachable. No functional change intended. Reviewed by: kp Fixes: 6d8fdfa9d5e7d Rework IP encapsulation handling code MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39746 --- sys/netinet/ip_mroute.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index 15abe168e5c2..ac5e1c5f09c6 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -2821,11 +2821,6 @@ ip_mroute_modevent(module_t mod, int type, void *unused) &pim_squelch_wholepkt); pim_encap_cookie = ip_encap_attach(&ipv4_encap_cfg, NULL, M_WAITOK); - if (pim_encap_cookie == NULL) { - printf("ip_mroute: unable to attach pim encap\n"); - MRW_LOCK_DESTROY(); - return (EINVAL); - } ip_mcast_src = X_ip_mcast_src; ip_mforward = X_ip_mforward; From nobody Sun Apr 23 05:16:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3xLV625wz46qsp; Sun, 23 Apr 2023 05:16: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 4Q3xLV4jDtz4Br4; Sun, 23 Apr 2023 05:16:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682226962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T4nYHfHdVyyCZPhsRBPODRCAc5Ogg7U7idSFtIDxMuI=; b=XxDO9/Y4KI/A5X+b10sGcDEZogRsNP5zZi8tXM00w0iZ25s4lIaSp54VLx7FwE5fPDBO7W 0yW6F+ld7B+hy2gImV29wjrnYYnBsKp21GR2U+Ki7KKZYp1L3KJZByHAua0dMksxu6hxlw NK3ueJX80pPEPWoUINkuNbKJAT9VB1AggRAamm6n7PFzj9b6kEoHNrIsP4Z07ij7rMETPS UmJ4N5t3xPP327L1V3NkNeHm4vNrsyZ4JNqQZ/BFLt5lkz05MT2dUTzfTS6FwlSn4xjgqe w2+ocltfc6a9Cim4oincMgpDaQEGofddC+TzbmfhnCEBzlcbEbjKHd/rNTDjww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682226962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T4nYHfHdVyyCZPhsRBPODRCAc5Ogg7U7idSFtIDxMuI=; b=DbsUTG5Nd2bevttFFbe25js7iCdFBjePNienzx0XuJXP38sLizhd/i7jbB1X3hJ1NNJUVp TrMGaXAg79R57s7AANyLrpLIPG1ca9ZkO0cR2PQFIKqqoV80B7wjVUXeQGjPxtC039iKCF LOu7X5/UfpOyAKjQm2UjNXF+ksM2oim/qMYe9gCkYad5RW481910js/LO/XIIwezlMUE3e 1tS9GopZ//YnVuSXD/HEmwyeJ9QP92uVXcC5RJdXsasEy5W1cwxCmdOiqjuNcxF572wAkO 73J8tcdKWQ4uJuCECqrDE/g84PBRCncDus1a/eLoGXmdLAaewp1zcGmPrXc5kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682226962; a=rsa-sha256; cv=none; b=fDO77vhCXDID4J5VHiB5qeOD7pYEV+6db3gx+RKV/pY1VLn/+2K/2TVBxGITS75pCPP7w4 QfyqLsjQzRPzpcRKJq9XIrXuGYuDzbQSCFlQjpqtTySbA/StVK6ASzqXCROCbYZKV2LRSh thlUZ/ckh6y4rMtCaiT+d++Z3f908wmqvOdz/wLTgA8HgSOSpGvNB0uKdLpG1DG+RaZmUC 8WiChRdJ1NYvPwAqRkWN2eaOrmvSGDEL19tNmL4gQiP0j7tX9q4nOUVvMhaLfhLgfVbBS8 +LvhZ6rFV/WMzwcc1VAegxQL1qXF5avK/psNvPKf/cQZtoZedDcbxQrOmF7FDw== 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 4Q3xLV3hqjzVf8; Sun, 23 Apr 2023 05:16: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 33N5G20Y071983; Sun, 23 Apr 2023 05:16:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N5G2fp071982; Sun, 23 Apr 2023 05:16:02 GMT (envelope-from git) Date: Sun, 23 Apr 2023 05:16:02 GMT Message-Id: <202304230516.33N5G2fp071982@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: f8bab2c0fe49 - stable/13 - stand: Remove a double word in a source code comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f8bab2c0fe498444b4dc95fb82545e2876312766 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=f8bab2c0fe498444b4dc95fb82545e2876312766 commit f8bab2c0fe498444b4dc95fb82545e2876312766 Author: Gordon Bergling AuthorDate: 2023-04-20 09:11:18 +0000 Commit: Gordon Bergling CommitDate: 2023-04-23 05:14:54 +0000 stand: Remove a double word in a source code comment - s/value value/value/ (cherry picked from commit 66095010d1f4e5ff4a7bc39020106103887a470e) --- stand/libsa/zfs/zfsimpl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libsa/zfs/zfsimpl.c b/stand/libsa/zfs/zfsimpl.c index 865294dafed4..40ac3fc6622f 100644 --- a/stand/libsa/zfs/zfsimpl.c +++ b/stand/libsa/zfs/zfsimpl.c @@ -446,7 +446,7 @@ vdev_indirect_mapping_entry(vdev_indirect_mapping_t *vim, uint64_t index) * * It's possible that the given offset will not be in the mapping table * (i.e. no mapping entries contain this offset), in which case, the - * return value value depends on the "next_if_missing" parameter. + * return value depends on the "next_if_missing" parameter. * * If the offset is not found in the table and "next_if_missing" is * B_FALSE, then NULL will always be returned. The behavior is intended From nobody Sun Apr 23 05:16:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3xLW6XDyz46qnV; Sun, 23 Apr 2023 05:16: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 4Q3xLW59HXz4BrJ; Sun, 23 Apr 2023 05:16:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682226963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MEulfGbmGUm+vgAGSRAGzNfE4sDR9sZ6wWHGolma8O4=; b=mvsQElU2nZ7OqjIrIp9ZZ3aiAwDpn6srlOIb8VqL10oTOEo+ep4TikYRZwQVzdJf4w7Oag JIE3QZH5NZG9DEKvulgumznhirJOxMwJVKP8Or7Hs1wLW3dUaNOYOdKV/PhvFWdcrm3VKO 1HFXtSKGU6YLqxgbjtr1/XDdcz8A8OQrCVWUyHoQMH61AGxQxvIwPazoHWsdQfifEArOIT 82UdB4pdTUBmuTWaF6duCHgXUEXd2HyKxnKelVu76Us0uLGHhI4GvKR21F1+5Gybpoe/V5 5udR5VRELN76Y1ZYc2i06J1JKlbeTlhZq/UkRC9l9d7x2gC/Iyk/sSW64Xgd5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682226963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MEulfGbmGUm+vgAGSRAGzNfE4sDR9sZ6wWHGolma8O4=; b=ePHUs8axx1ropvIjOF6I5xZLnDArHVAGiJkeJatHY+2V1SXmZVwbNY40376l5MGqrIsdoU h8bc20lTIZe+EqNnRGjLkW8+wjBJpRQfY0P7L81C/MPE4jylUZI7Mi2/wrdNe7GEPSXs3h 0KSI+9rtn8bM25iTSiaw9mpb9GUtYK4O1KC2W1vwbGRDgYH5mxH/veEWXV8vcYKRGAUErh n82P7Li2q8ZzeuN7bYSnXyxdwqCbCagl278dm+9/06s/2KSQhW7ZgaO9FLb0vdy5UJXSN3 gOSPRo1tYkSDQygN0S1aaLpMZgdYtnxVlPePOTrzgnAv0xGzuzaL6P922MXS4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682226963; a=rsa-sha256; cv=none; b=GJuEotJwCSKtyrSs1dnd7S8sxtoE2tPg0FI5rZmmozqK2GZMrBwYpODYTa/Fb0smQnI1GH 36eGADWSWKpfV5/I7PBPYpzMW2tS2TU2naeFeOOYX2jNa99O1qY5BfFg69bvali+iFiCPg q37I3yQDMRuTNbsNVSUSI/FgfkDK3OnE0fxvtbEGxSAe7BNFfS/QRkY2hIMOJI56xVNnO2 bXyMB5/u6vb6xqccy3xp83UalLLzEjIdZFCDK1jh4TgcUyhb1+s3DqvgAf1pnjEx39MVJe Ihp/GTcGBcdC8Qjx+gfg9hWzZ3AIZfi8umDSKb6krq2jP81JHOW3Ck8KRGlaxw== 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 4Q3xLW44YlzWHp; Sun, 23 Apr 2023 05:16: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 33N5G3gw072009; Sun, 23 Apr 2023 05:16:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N5G3OX072008; Sun, 23 Apr 2023 05:16:03 GMT (envelope-from git) Date: Sun, 23 Apr 2023 05:16:03 GMT Message-Id: <202304230516.33N5G3OX072008@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 22ded21f15a3 - stable/13 - last(1): Remove double words in source code comments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 22ded21f15a350e8aa3350c6be5b5a09108e2ccc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=22ded21f15a350e8aa3350c6be5b5a09108e2ccc commit 22ded21f15a350e8aa3350c6be5b5a09108e2ccc Author: Gordon Bergling AuthorDate: 2023-04-18 05:12:45 +0000 Commit: Gordon Bergling CommitDate: 2023-04-23 05:15:36 +0000 last(1): Remove double words in source code comments - s/on on/on/ - s/we we/we/ (cherry picked from commit 1190b82c2294762c77099fc52835d5d07b57e7a3) --- usr.bin/last/last.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/last/last.c b/usr.bin/last/last.c index d197afe7eb0b..cc50bb924931 100644 --- a/usr.bin/last/last.c +++ b/usr.bin/last/last.c @@ -319,7 +319,7 @@ doentry(struct utmpx *bp) "crash" : "shutdown"; /* * if we're in snapshot mode, we want to exit if this - * shutdown/reboot appears while we we are tracking the + * shutdown/reboot appears while we are tracking the * active range */ if (snaptime && snapfound) From nobody Sun Apr 23 05:16:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3xLY3DrZz46qbX; Sun, 23 Apr 2023 05:16: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 4Q3xLY14T8z4CRl; Sun, 23 Apr 2023 05:16:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682226965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gffuie3qNWpQStZSXYBDvg0fbpU2v5qetFgnAiHUH8w=; b=ovJJi/i1sstqEjUINdyFfgUFVlhMy7WKmOnFuzeXumt6SZi6D+MB+DE1AZwKBS5pW6Ivxr P9/hnRLAIQOzA9i/ID4a1NESuPrDCkMvOffbNU121SoPKHXzMLmIsmYkecLwCGe07ooNEq lTIBIv2ROArhxiMTRzRQnM3iRWtrsXIPTqDX9gkyiSysfOE//WEUotZYfU02IpoikShFGS qe8BN1CRPJ66vZUXypCUsSMo+ikg7FoCrjLi9UfOarsLdYR2MQHERwYs/tLm+ZC/XuB9Ar WEKzgHRc5zErSHm/0ZE8f7SU3Px7Y4J9q8G/Prt9sFuHY6PFGHMEbYjrE6jurw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682226965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gffuie3qNWpQStZSXYBDvg0fbpU2v5qetFgnAiHUH8w=; b=lhKSPi7C/p2BCP016vmvgod3mUs/LMIzuIXY4XjW0IGM9WaZhFsZVELZ1gnpsYmupUQBJ7 yHAHzX23R6xAarXl+BE+j5IaLTBsZbCWLyodu7OHZXvgBLfpjWRku4HSuoVxKvQQ5pY2FC 2KY4MbuAU6piqcA3vnulkpYNH7KC8Hz6ZJBh2y3Dr+TlQjmkQ2Ds4pawthsI5ATduJTIXa Efg2QvrzSJWYFt6C57Tk0JwnAeJv9FPeuhIqaDwQ5crvJdfUyPiian73jbSmonSnPjaIKb IA0yKyzITxUC8gBLkSGH+smvNJ0+bHgO9zlMARSmSzaFKNycoeggUp8S2V4Hww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682226965; a=rsa-sha256; cv=none; b=AMBQ8yNY53bLTbgXNnw+3rFxaqwIqVS4omSJbFWv6t4usSFPck7qI1Ysi8oqb82M3b2yw9 8ppy9ynaCCp02Dwvj9EFzIImB/jgLgkyakRE73vJexsRAaRyDvHyG95PSb6WjEA/h8MkgL Ks1v5d8CnXXg9qV80vXn1FnU4a2MthHX5c6Rf6YSS4zo/WmtG/pgnevXe2XtmLpFRXOE0t YKiS4obnADp2Rlf2nHZ4c8YYtHfm+0ulyvaJg5ffhjkB912So1U8j24Zi3wlK0dmJrhXWe IbcLsth2JBkIPPXi2buqDf1fuPi+k36Nvszq3zd5fdU6Hfxybf/jk3gLxXlbjA== 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 4Q3xLX5JDpzWkb; Sun, 23 Apr 2023 05:16: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 33N5G4Im072029; Sun, 23 Apr 2023 05:16:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N5G4cw072028; Sun, 23 Apr 2023 05:16:04 GMT (envelope-from git) Date: Sun, 23 Apr 2023 05:16:04 GMT Message-Id: <202304230516.33N5G4cw072028@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 73dafc6b2176 - stable/13 - net80211: Remove double words in source code comments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 73dafc6b2176711ea2048a502057e5a48c194db0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=73dafc6b2176711ea2048a502057e5a48c194db0 commit 73dafc6b2176711ea2048a502057e5a48c194db0 Author: Gordon Bergling AuthorDate: 2023-04-18 05:11:43 +0000 Commit: Gordon Bergling CommitDate: 2023-04-23 05:15:53 +0000 net80211: Remove double words in source code comments - s/we we/we/ (cherry picked from commit 93e491481686bb392b36a01e1569069846cf5f7e) --- sys/net80211/ieee80211_node.c | 4 ++-- sys/net80211/ieee80211_proto.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index bc8a240811de..341d77a48f5a 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -1688,7 +1688,7 @@ ieee80211_find_vap_node(struct ieee80211_node_table *nt, /* * Fake up a node; this handles node discovery in adhoc mode. - * Note that for the driver's benefit we we treat this like + * Note that for the driver's benefit we treat this like * an association so the driver has an opportunity to setup * it's private state. */ @@ -1895,7 +1895,7 @@ ieee80211_init_neighbor(struct ieee80211_node *ni, /* * Do node discovery in adhoc mode on receipt of a beacon * or probe response frame. Note that for the driver's - * benefit we we treat this like an association so the + * benefit we treat this like an association so the * driver has an opportunity to setup it's private state. */ struct ieee80211_node * diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index 0e485590abd0..b504f0fe98af 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -1687,7 +1687,7 @@ ieee80211_wme_updateparams_locked(struct ieee80211vap *vap) do_aggrmode = 1; /* - * IBSS? Only if we we have WME enabled. + * IBSS? Only if we have WME enabled. */ else if ((vap->iv_opmode == IEEE80211_M_IBSS) && (vap->iv_flags & IEEE80211_F_WME)) From nobody Sun Apr 23 05:16:56 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3xMX3SKfz46r6g; Sun, 23 Apr 2023 05:16: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 4Q3xMX2x0dz4Dvr; Sun, 23 Apr 2023 05:16:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682227016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V9L5+xnVI538kq0uVu+Wcv0UOyfmawfm0yMH09kLRBk=; b=UZNn6roR6b2deAvvu3hZhOs3ePVpCHXj1LOwCNpzWGGbdPNCbUO2/S/+v4ezz6TLnh2JD3 IchrpZQCFdLvmWIDWd9rsU3WbaDIS9MjggIUYVYV1aNCL1oauqd+TrUdM+5r8hFo+dta8k E5JjxUso/m0RtIPpfXWODn4v5jdGaxNKIkf/e3PdT8ASEZMLR4PW6Br+TKOZMF/ROGHAXC IHLVOTRC2vn2TkvYOVXoxRfHpwU86Gmt9+sNeeynr5onSDbr2bRzwsIx1Jnua/zl2DOEGV 25I8yZ0j2lINwgMAi/9tXe+IJVNYjEJCL1Z9r39/A6QJbB8gfCXpllqkR3nqmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682227016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V9L5+xnVI538kq0uVu+Wcv0UOyfmawfm0yMH09kLRBk=; b=xhhhqmedxHowrcuselFQ4vcnfta9hOcANIaYuo5Jfcqb+ynjbmuI/kn+vPw+D+DwVqhAHy Xuy6b1SQB1tBG+kMmRudth/4D2kGs2jJScpr6RCkl4dEAtlY1ZHb4pcwRdi569UlpC+13n tu0uCN2enpz0mZisQV5coMUuhR93SNGExtmZ6yxivKHMaVbm6+1h5HOCiFWK8hkV+RqW6h 6tDaZmlvVZddVQWyIGSBDIRC42QeY+ulibIQZ66emLTHu4VeGlt8GF6SZbhEbUDUz86Ton m2wuoIvzbLkEgJdKPxXA52cDx5Hpg27QhBI12kd1eLCZ2dadgVpjPFoVtOTKOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682227016; a=rsa-sha256; cv=none; b=Tnfq2ttC11A8h4tDXlVVewE0OEIiNnWyNrM7emvjp5gquki/WzUt7TW0l1LavThNSQWvrm LpYpzNEnuOLwhYJGgvJYTxKQOJi23j7nOnkzeGtmZ9ShLSr0WG6yvZWhZPxwPEvtsHFyK2 bN9/DpJwJ1Sm/j95pN/1gq9MWPnO8ZiFMBU1+9zwWMvSWjxS6jbZmRM7w6GiOABqsKNPHk 15CIXuicdMIQdTmp7WdeK6WBuJrhix73Zm0c1HAPpQyV7HXaHYU1abR8L2zx4STU1+OWSn 0TyjYsp/tiRFO3mOmuXXojZAA8fvDQdSghCPh3hK6OHpdOcZETqCNa4bYFFP9A== 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 4Q3xMX20pQzWbX; Sun, 23 Apr 2023 05:16: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 33N5GuqX072249; Sun, 23 Apr 2023 05:16:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N5GuqK072248; Sun, 23 Apr 2023 05:16:56 GMT (envelope-from git) Date: Sun, 23 Apr 2023 05:16:56 GMT Message-Id: <202304230516.33N5GuqK072248@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 7e61ff285f50 - stable/12 - stand: Remove a double word in a source code comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 7e61ff285f501c24be378cbd1e7dd1a343b6acab Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=7e61ff285f501c24be378cbd1e7dd1a343b6acab commit 7e61ff285f501c24be378cbd1e7dd1a343b6acab Author: Gordon Bergling AuthorDate: 2023-04-20 09:11:18 +0000 Commit: Gordon Bergling CommitDate: 2023-04-23 05:16:27 +0000 stand: Remove a double word in a source code comment - s/value value/value/ (cherry picked from commit 66095010d1f4e5ff4a7bc39020106103887a470e) --- stand/libsa/zfs/zfsimpl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libsa/zfs/zfsimpl.c b/stand/libsa/zfs/zfsimpl.c index 33f23f88f13a..b926e7a2c4e4 100644 --- a/stand/libsa/zfs/zfsimpl.c +++ b/stand/libsa/zfs/zfsimpl.c @@ -424,7 +424,7 @@ vdev_indirect_mapping_entry(vdev_indirect_mapping_t *vim, uint64_t index) * * It's possible that the given offset will not be in the mapping table * (i.e. no mapping entries contain this offset), in which case, the - * return value value depends on the "next_if_missing" parameter. + * return value depends on the "next_if_missing" parameter. * * If the offset is not found in the table and "next_if_missing" is * B_FALSE, then NULL will always be returned. The behavior is intended From nobody Sun Apr 23 05:16:57 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3xMY4rjHz46rBy; Sun, 23 Apr 2023 05:16: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 4Q3xMY3z63z4Dss; Sun, 23 Apr 2023 05:16:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682227017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F7ZJxmFBWn2MeD2DHysFY0ZPaKhN0yQaZHPTkpAZ0mM=; b=bsq0LG5y9kfZ7Ew8oQZukYAs8T2Q+CHUwVNpdK2zi/7A2utEMQwb0Zdqdp4SZRxjpqKr7H jJCpkP5F9mniepFWBINFGt+2HmwrGIc5NoUIE63nhuqGzuSNjGE5j606kxB8MbXh1IVaKV yCt3w6yOh4Z5mBulaHj6Z0XndH/DD6qNt8wWpuv1Bq82Qi8GxZiWzH3wDYirB/Et49FNQT PQuBawaecehmiNsQ+IcmzEYX/phSuZ5WU1njOslszX6Bn8sTLphXxWcr+C9QP9YJVmrWe9 z0bEfoEqJSrrcZa7+MknwS0gLUofwvQ4Oa9qWV8ct1Zm4sxEVd1qjDQhoSpnMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682227017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F7ZJxmFBWn2MeD2DHysFY0ZPaKhN0yQaZHPTkpAZ0mM=; b=OiUifRlMNPh9mitTEVf1Uh7tE5GjYM+XIJzwfWJ/gBiRhfyNZSLLa4dv70jAJQVFvOnXjs Aiv9OKfp/hJ3EG4SFg29olSpWIm17pGmfzv46iShiVwvkGcggOcMGRtGm6n52XJeXLC67C yu9jFJ9JYQY4AmuIUqaYhN2H5pkyMlll3jwOYJdNZ01dugFWPIZgsu3vXGlUU+mX6biXA/ y8TY45FwG53Yu1t3TK7xP2Z5U1lRydhufqxUiTXZ2rVMX+1Nsi1c2DzON+l0l53O9qGmi4 w+c/pF0DzG999Lq9lQF5U9Ix/USbCLP+len1kYBcjzVtkHzQQ+tHegNLlXGCVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682227017; a=rsa-sha256; cv=none; b=NNsZsNSkWCXLlS1rnV68vCgKgeLziMYoHDLZvEz6TZGwMPheihnl7IOQKdM3R/xlZ5tMQU Az2KylHeptcBYsBa/jJQeJlCcPkGKKnEk65kLhmNsi62MgiqmyJ1pg9wJXliOhhytCYFHs ECUL1i/bZ7DhKbbMzvuNWOmzilNkV5Q1DtTskUJBhFX2fViNStI5HBbII4NH3aDtH2oeTp mKbxDvnM8w/Vw/dpOyZOMON6fSRVlVslYHg2O1niUYir8sWYjNpwV0+AzdISyHnm7z05yj cYJ5RBP5LFPDDBm/8voTRMAerEpZNIWLjDx/pc75b1ERl1/91JoihL+dxnVEXQ== 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 4Q3xMY2yRszWRs; Sun, 23 Apr 2023 05:16: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 33N5GvDX072268; Sun, 23 Apr 2023 05:16:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N5Gv9T072267; Sun, 23 Apr 2023 05:16:57 GMT (envelope-from git) Date: Sun, 23 Apr 2023 05:16:57 GMT Message-Id: <202304230516.33N5Gv9T072267@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 576efbba8693 - stable/12 - last(1): Remove double words in source code comments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 576efbba8693c7cbdcf8f1f7cb661ec62c4ffd53 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=576efbba8693c7cbdcf8f1f7cb661ec62c4ffd53 commit 576efbba8693c7cbdcf8f1f7cb661ec62c4ffd53 Author: Gordon Bergling AuthorDate: 2023-04-18 05:12:45 +0000 Commit: Gordon Bergling CommitDate: 2023-04-23 05:16:38 +0000 last(1): Remove double words in source code comments - s/on on/on/ - s/we we/we/ (cherry picked from commit 1190b82c2294762c77099fc52835d5d07b57e7a3) --- usr.bin/last/last.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/last/last.c b/usr.bin/last/last.c index d197afe7eb0b..cc50bb924931 100644 --- a/usr.bin/last/last.c +++ b/usr.bin/last/last.c @@ -319,7 +319,7 @@ doentry(struct utmpx *bp) "crash" : "shutdown"; /* * if we're in snapshot mode, we want to exit if this - * shutdown/reboot appears while we we are tracking the + * shutdown/reboot appears while we are tracking the * active range */ if (snaptime && snapfound) From nobody Sun Apr 23 05:16:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3xMZ6v5Kz46qhB; Sun, 23 Apr 2023 05:16: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 4Q3xMZ4j4Hz4FCx; Sun, 23 Apr 2023 05:16:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682227018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4GoE/kK285mb4JvA3oTH4FWq3+JtW8KZSbiHm6L32yY=; b=DfjCRM4Tu7PlNBExxNxzmnEseDC+3Ejla+ty3my5s3A1Nv0aGaaS1OhTg7x3XMTWpJ94lx bPaeawsh4Eyo2UIfGj+dfKU/R4W18KaiFaufMxQzlRxYw/1Kvxk0lkcpFNkDbLhkE9QyNa /jW672oH8WvOmcNTVqTod0V/53M717Pw7UCsJq9Yn0r9OfKIWMz6afJxa4pRUdnIAjv6ye 4ScBouS7Vruhns2q/GJCk76t3VeWS91g5p9p/2curI5jJXwMU1CwNmcbBdp6vZ8NS3ZK4/ GkYSbGA2dTg/g9DYU2IYYz1auwcbdOTbMY3bDGMkpWqVZegyfhOqd8gR2GIJig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682227018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4GoE/kK285mb4JvA3oTH4FWq3+JtW8KZSbiHm6L32yY=; b=tyiIQZJLXxwD9sX8I0dK84rgMjjttHZCYVdNeJJNFnJRae9QQthjizFJCkSrZk1RTRCcV+ WoQ8Ub8wqmzDUvlJTxZDjRhqNu/qsam5KrqglSEGHxGrzri2fkqOtGKZZUmSk/cV8IRlag ynA5QQhkzfmHES8YxgKKfn9P25gRnJ6ah5I00kpF9oqpKveKs6TcAU8zmIuQgf6GbL659p 5HNLKlA/ZvUfLohy5v4Uq1Tsqtv/w+aa7v8aKQytlWlab1tTaKw7Q9hKvOyGkqmhT+0snL m9ZE08DgWJMjzSuIWh695qLwCCbPoby+7iQZpFVfIMBRun489rpRRoIAcNDgzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682227018; a=rsa-sha256; cv=none; b=k0APBMn/nheJthJctFCtyMNv0z6uHT8Tp1UyL3wk/7CoBvrrZTAJOCeZuBSTmBhJX6mzUc FaEQg3F+ZGYMkyHhTe7tFULkamXEjoNQO/IVHro7fQfU+9bgjQ6dw4yGNtiUgwE+g+knUA ngeJGV1DqWbt57dUZB9xQST04VTX63c7AiIQOpN+MrsnwmTfJ7G0Am+sQjTpENugWLNCHC x7Z0Eh77xXstzYh9IZXWAo2TRJJUrhIhYXTVxenIdu/3GWc8f125fsm0XTnBrmS/NNy9kf 0UY7Mfcb5nvrwBPDIQrSADVzwVQNVGOtYLOgrsZotDVI/McaeGD+hp/Hn9iVEw== 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 4Q3xMZ3gK1zWds; Sun, 23 Apr 2023 05:16: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 33N5GwKp072287; Sun, 23 Apr 2023 05:16:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N5Gwp5072286; Sun, 23 Apr 2023 05:16:58 GMT (envelope-from git) Date: Sun, 23 Apr 2023 05:16:58 GMT Message-Id: <202304230516.33N5Gwp5072286@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 1511a4136c11 - stable/12 - net80211: Remove double words in source code comments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 1511a4136c1149054c8401de2d662b35be315de3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=1511a4136c1149054c8401de2d662b35be315de3 commit 1511a4136c1149054c8401de2d662b35be315de3 Author: Gordon Bergling AuthorDate: 2023-04-18 05:11:43 +0000 Commit: Gordon Bergling CommitDate: 2023-04-23 05:16:47 +0000 net80211: Remove double words in source code comments - s/we we/we/ (cherry picked from commit 93e491481686bb392b36a01e1569069846cf5f7e) --- sys/net80211/ieee80211_node.c | 4 ++-- sys/net80211/ieee80211_proto.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 36dfea039df1..9ae9eb623ed8 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -1678,7 +1678,7 @@ ieee80211_find_vap_node(struct ieee80211_node_table *nt, /* * Fake up a node; this handles node discovery in adhoc mode. - * Note that for the driver's benefit we we treat this like + * Note that for the driver's benefit we treat this like * an association so the driver has an opportunity to setup * it's private state. */ @@ -1886,7 +1886,7 @@ ieee80211_init_neighbor(struct ieee80211_node *ni, /* * Do node discovery in adhoc mode on receipt of a beacon * or probe response frame. Note that for the driver's - * benefit we we treat this like an association so the + * benefit we treat this like an association so the * driver has an opportunity to setup it's private state. */ struct ieee80211_node * diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index c7a2c8cdcea5..2afcfb964894 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -1674,7 +1674,7 @@ ieee80211_wme_updateparams_locked(struct ieee80211vap *vap) do_aggrmode = 1; /* - * IBSS? Only if we we have WME enabled. + * IBSS? Only if we have WME enabled. */ else if ((vap->iv_opmode == IEEE80211_M_IBSS) && (vap->iv_flags & IEEE80211_F_WME)) From nobody Sun Apr 23 06:12:18 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3ybS4d4fz46vRj; Sun, 23 Apr 2023 06:12:20 +0000 (UTC) (envelope-from pstef@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.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 "freefall.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q3ybQ3vqFz4P7v; Sun, 23 Apr 2023 06:12:18 +0000 (UTC) (envelope-from pstef@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682230338; 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=ov4Uy01H+9/A/VnabY+dvLWV098kCvDiTj5/zl96HLs=; b=s9Tf4i3PrkI+6c1eThTSTDDglzxqWoDdaxt0sciJlZDRcQx35qC0WYAl1s8/qS2JYzkDuy +yds69IKF7aReduBz8vb9bOGpHb/SCmf4YU3IaaHtgl96Dz915JP+HxwgMxHapRhI4V6/z emV0IVx7BZ1rdrVVTtrPqACk26q0+ocZcSEdPN9YaAdqR9/8kDvndYg/tIbT3V0cd4LC4p Da2vHMUsNmAZJ6UouZJH7BmtiXgnqR6QO2EUOugHRJq/1H3XzsM/S0cvF6nd581JMGPKTX bMcsBqSi1ZDFOjT1DNw3ingF0L3RNdWtb4Z/6umkaeB1LTnD/kBkw30c5MYJgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682230338; 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=ov4Uy01H+9/A/VnabY+dvLWV098kCvDiTj5/zl96HLs=; b=UfJZ3uMd1wJtgz1/8vIRoXf0IKXYLtgDj15dCRVQVNsT/5QHmcrqOLx7eIWUp/Om2DmTKX gg9mRNQmDedk2WQVR8ZsVT1GE3j0GfG7UCk1dCS/0XnbNKK0nx2Lh/dZogwFLOLF2bmm6+ CbgYeKnTd60zmvB11ixyIskFKJE6ykfmWLaaa92BoB68UsWpOUhaxmRo2Qw0n/edYbdcGo 7DSo7E9DvsjGcOteBX0J4JusKEPVmGliN4bcgwWCweXVSziyX3RrhILdzqI5wCsHAXj3/D vIfyiuCFQwMAmmZDNbtL3ZUWThYHK5w/NdsNELyNe8f/t2QOq8Pr/D4kV2HotA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682230338; a=rsa-sha256; cv=none; b=no2WhmJ9qNM2IDF3feOKaknriyhoaRwo9syGF7LWlo+TBdGUAzJRSaIfezC7aEThKld/o7 jebLPd2HEYx7747yn6nSTDl0rRUj5s3bEsM6wUuByDGoEZ2JUwayLRcJsZFtrq3bLYOBq5 sST8SEn3ROCkLlB1rHfHlS/kAGQUDDZiye3UmYsQy+h4VNuxPjWN3BoDffH59/UjQM0KDc 8QS+aseWKf5IIu6DSVI6pfpxQop5cIWcj6s9F5lCuVly+HTgnI1Mzo5R4TJHHyRuKGpuKd Jf+GMHScRUl+KvVdwtJBXmYeeSGUOQvvmBuiXg1iUol89+oXnP9kEuLlB/WUBg== Received: by freefall.freebsd.org (Postfix, from userid 1403) id 77072B6AE; Sun, 23 Apr 2023 06:12:18 +0000 (UTC) Date: Sun, 23 Apr 2023 06:12:18 +0000 From: "Piotr P. Stefaniak" To: Colin Percival Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: df53ae0fdd98 - main - Remove portsnap(8) Message-ID: References: <202304230112.33N1ChPx076100@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <202304230112.33N1ChPx076100@gitrepo.freebsd.org> X-ThisMailContainsUnwantedMimeParts: N On 2023-04-23 01:12:43, Colin Percival wrote: > Remove portsnap(8) > > Rather than having a tool in the FreeBSD base system for obtaining > the FreeBSD ports tree, users are encouraged to `pkg install git` > and then `git clone https://git.FreeBSD.org/ports.git /usr/ports`. With my 64 KB/s downlink a shallow copy of just the main branch takes almost 4 hours. What's worse, git has no way of resuming an interrupted download. I don't remember if gitup is better in that regard. What I usually do with repos like this is I clone it from a well connected remote machine, archive just the .git directory, copy that using rsync or sftp and finally do `git reset --hard`. It would be nice to be able to just rsync worktrees of our repositories from a public source. Piotr From nobody Sun Apr 23 06:17:25 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3yjL02gDz46vg1; Sun, 23 Apr 2023 06:17: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 4Q3yjK45fvz3Htx; Sun, 23 Apr 2023 06:17:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682230645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jf97I75oW6IrSTRxIXvcrbjPKM4yGZ8WC2AZGhFWZtY=; b=Dp9HNvRLCR0716SPXwIWfAWqXzddlSs6Lb33B+B+3yRX0MeEqrAvo2dcfMEYQ0MTnu9FwR fYK6vtCu515WFPBvTuygTCWolXKFWjbPnMHdDIJgyLajmLixi9dlazUHqKYS0DpTCe/TKA u2B4rPOcD62viNBpQvai07HJKX1KkCL+M3IYeCu8pxf873n0S2M+yPQLdA/TH8B4/6FFfd fywrvOEm/1aaAIOz5KGbHHwqToUvl1qaDrZj95/zXis6T2xBB9oNotkjfk2K5nicqrjFSQ bd0/ct/T6zGZdOafWFExVS4T+2fbr3a6cj/KitSDgljEEtZOLEfaYqIa2jGcBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682230645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jf97I75oW6IrSTRxIXvcrbjPKM4yGZ8WC2AZGhFWZtY=; b=C2nl7/jSHXGV5Bvwf38pDlxVEcYSWV4+3ZESSNW6vdesNS3e5YLzXrK2mcnmf5WnymsuW+ yBft5EdoTj1PJqDF/J1ZuG9M4XFKXHwkSWFWLQNB/r82VtrkUz9zPEw0PelNEYXbag1dx6 y6krVHa8ViVBxGijtkqzo+Yvl18Gb6G0C3IK8pOWP+inHD41OIkhX1Dye346bhTmqnnRkH a2I1h7+NsHpSlLLajyaWtmsLQ2qv4CIihyqXHvlNHOECxd+dIUZGlPrkOL/Un9/SvuejLa It3ZtShNgGukQrQuBJ+S4rQY+zl6Qy2MK0IATHGtewov12umsmhECHgq+7C3LA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682230645; a=rsa-sha256; cv=none; b=ZwOkIRGueyH3/EV8Mu/AZudRqE11ZeeG8fZYoYqtlTW2OJhcM63Adq/SdvE6Z7ldnp/JCH JzN17C3s8+ae7yD4zN2rnbndz0VaXaoCDyDuSFKFGs4E0yms8qr/MjGodjS8zSgLbrYTFg nLVAadaPUCW0JWQPmf3mP+NBgB40QBofaIdPLmtNgh40GykmyuMNogXN644B/vu7emFL9W PE7wHJ5JSwdHic5qL5G/d9ZDZcOLdwEKcg7aTWWcyKXcFBn+hiYN0j0yzDaW1TeGsSDiNI 7kY9TJnlhmpFrO+4jRLcy0yA4DEUpLafiqfh582u2dbprD3f/Yb9wTbEhdanvw== 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 4Q3yjK2qyvzXtk; Sun, 23 Apr 2023 06:17: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 33N6HP3i071421; Sun, 23 Apr 2023 06:17:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N6HPII071420; Sun, 23 Apr 2023 06:17:25 GMT (envelope-from git) Date: Sun, 23 Apr 2023 06:17:25 GMT Message-Id: <202304230617.33N6HPII071420@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: d7e3299f607f - main - Ensure good exit status from type List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d7e3299f607fc2c58ec1f701c57402d39273b832 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=d7e3299f607fc2c58ec1f701c57402d39273b832 commit d7e3299f607fc2c58ec1f701c57402d39273b832 Author: Simon J. Gerraty AuthorDate: 2023-04-23 06:15:05 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-23 06:15:05 +0000 Ensure good exit status from type When looking to see if nproc is available we do not want warnings about 'type nproc' having bad exit. --- share/mk/local.sys.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/mk/local.sys.mk b/share/mk/local.sys.mk index 1aac5014b737..abcbf396c6b4 100644 --- a/share/mk/local.sys.mk +++ b/share/mk/local.sys.mk @@ -62,7 +62,7 @@ _PREMK_LIBDIR:= ${LIBDIR} .if make(*-jobs) && empty(JOB_MAX) # provide a reasonable? default for JOB_MAX based on ncpu JOB_MAX_FACTOR?= 1.33 -NPROC?= ${(type nproc) 2> /dev/null:L:sh:M/*:[1]} +NPROC?= ${(type nproc || true) 2> /dev/null:L:sh:M/*:[1]} NPROC:= ${NPROC} .if !empty(NPROC) ncpu!= ${NPROC} From nobody Sun Apr 23 06:24:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3ysd41Bhz46w3t; Sun, 23 Apr 2023 06:24: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 4Q3ysc6Yg0z3jgq; Sun, 23 Apr 2023 06:24:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682231076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rlZuSSJGHL6LDzq9Xn4He26TuPLFypOZhsuRYGHbvfw=; b=rpRUZfaHtDqGMxEYghNCAtzkr9bs4mR/4ItGPV+9zPzdCR50909OTt5mUNZLN0I5ZnKoJs G9vlwwWfsdCA4DfqNUyqVMz7sIBNjnNZow3UxjjrsTGXhBC/wjpDL+2vS08hb1nMTt8Ug6 z6g2PFMRI/VglT8kyy1TcXjeHf5ueUUga4RT2UEBYBd4sg8iSy7+5QRrYDRVSkpQt4g0wu aOuxTZ1xiV1bEQ1bIGpeKTVCZE18hcpHCQWoIjWftrEYinkmH1zIh83lr9OSxy905aOkva xz1RRh5PxdrX3veFzdGH6aCo53eR2nzsqwlguEB4U1cJiXoOVvjZvZRX5D52Gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682231076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rlZuSSJGHL6LDzq9Xn4He26TuPLFypOZhsuRYGHbvfw=; b=BM8ZgvIl6mu9ealS+QFU2xlaL+R3MH6Ow9M4vn3f/7pLPwiB9H5JkhFDzATGP5FYJuNMoQ etfjFj3lrCGjkS/Zts3JWHSf8WBIIHZxcqTkHQtX+UO9iIIWQ+62Guzk+9IVBtICoQTl52 1PA+PimkGxxNlX9Y8e/KsiHKfp9lE0f8GtX/f1yVNFbL+w+IiCVCZAoPvOM88hmXAIYVEi wd6tYzigrQoel9kav3EdQu7w6LgVXVi9U2I4udaVh3PLXbqDyLBVyITrwD9fc42Zank3pW 1j/JsI2GqwiEMY1MIhDzT2TcIQBp/vq+8SMZ+flwOZh56P+fNHAU+cvCBX4v5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682231076; a=rsa-sha256; cv=none; b=UDlhh9YxANkItBlKt1CM72I0BUAj0NMhXCyAekPALVye2SMo00FoKjYvKHSDrwow9Q2wcJ SVQcZ4iR3t2bvIX+/2iqPe/8NNhyPumg54VYcDh0wp25rD0xe/SoAF9FQztORsRDsCYtKD 81DmHBXuPxEIpFSWaW6yDjxwFBZEHsgTigoDX5RCJC5Svep8coSfu1e7CUxK1RksVw0sPo CZvS2XbmwEQxLyP40Q65r4pdqytZjk+7a+YxrfCTSn8EcrZqzzcDyQ63wpE1b9uG1GQl/2 wuYsy5YxRtdL3OYRzydHxlW5NcuveEpDSrvMYFNZDi0x0VtPCcWfXIOxEu+Shg== 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 4Q3ysc3yrSzY3s; Sun, 23 Apr 2023 06:24: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 33N6OaHH086905; Sun, 23 Apr 2023 06:24:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N6Oahb086904; Sun, 23 Apr 2023 06:24:36 GMT (envelope-from git) Date: Sun, 23 Apr 2023 06:24:36 GMT Message-Id: <202304230624.33N6Oahb086904@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: c34e421db383 - stable/13 - procctl: add state flags to PROC_REAP_GETPIDS reports List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c34e421db38321678ee3298d3a4c209130e7910c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c34e421db38321678ee3298d3a4c209130e7910c commit c34e421db38321678ee3298d3a4c209130e7910c Author: Val Packett AuthorDate: 2023-04-15 17:59:30 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-23 06:23:31 +0000 procctl: add state flags to PROC_REAP_GETPIDS reports (cherry picked from commit 77f0e198d9134b6ca2650d3a84d7db2d786ec0c0) --- lib/libc/sys/procctl.2 | 10 ++++++++-- sys/kern/kern_procctl.c | 6 ++++++ sys/sys/procctl.h | 3 +++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/libc/sys/procctl.2 b/lib/libc/sys/procctl.2 index 02979e934451..89e4f2d33c64 100644 --- a/lib/libc/sys/procctl.2 +++ b/lib/libc/sys/procctl.2 @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 2, 2021 +.Dd April 15, 2023 .Dt PROCCTL 2 .Os .Sh NAME @@ -302,7 +302,7 @@ of the process. The .Fa pi_flags field returns the following flags, further describing the descendant: -.Bl -tag -width REAPER_PIDINFO_REAPER +.Bl -tag -width REAPER_PIDINFO_EXITING .It Dv REAPER_PIDINFO_VALID Set to indicate that the .Vt procctl_reaper_pidinfo @@ -320,6 +320,12 @@ field identifies the direct child of the reaper. .It Dv REAPER_PIDINFO_REAPER The reported process is itself a reaper. The descendants of the subordinate reaper are not reported. +.It Dv REAPER_PIDINFO_ZOMBIE +The reported process is in the zombie state, ready to be reaped. +.It Dv REAPER_PIDINFO_STOPPED +The reported process is stopped by a SIGSTOP/SIGTSTP signal. +.It Dv REAPER_PIDINFO_EXITING +The reported process is in the process of exiting (but not yet a zombie). .El .It Dv PROC_REAP_KILL Request to deliver a signal to some subset of the descendants of the reaper. diff --git a/sys/kern/kern_procctl.c b/sys/kern/kern_procctl.c index 9d48b04dde48..a4f675c2938e 100644 --- a/sys/kern/kern_procctl.c +++ b/sys/kern/kern_procctl.c @@ -234,6 +234,12 @@ reap_getpids(struct thread *td, struct proc *p, void *data) pip->pi_flags |= REAPER_PIDINFO_CHILD; if ((p2->p_treeflag & P_TREE_REAPER) != 0) pip->pi_flags |= REAPER_PIDINFO_REAPER; + if ((p2->p_flag & P_STOPPED) != 0) + pip->pi_flags |= REAPER_PIDINFO_STOPPED; + if (p2->p_state == PRS_ZOMBIE) + pip->pi_flags |= REAPER_PIDINFO_ZOMBIE; + else if ((p2->p_flag & P_WEXIT) != 0) + pip->pi_flags |= REAPER_PIDINFO_EXITING; i++; } sx_sunlock(&proctree_lock); diff --git a/sys/sys/procctl.h b/sys/sys/procctl.h index 0fcb62e94bb9..2d4b19325bbf 100644 --- a/sys/sys/procctl.h +++ b/sys/sys/procctl.h @@ -102,6 +102,9 @@ struct procctl_reaper_pidinfo { #define REAPER_PIDINFO_VALID 0x00000001 #define REAPER_PIDINFO_CHILD 0x00000002 #define REAPER_PIDINFO_REAPER 0x00000004 +#define REAPER_PIDINFO_ZOMBIE 0x00000008 +#define REAPER_PIDINFO_STOPPED 0x00000010 +#define REAPER_PIDINFO_EXITING 0x00000020 struct procctl_reaper_pids { u_int rp_count; From nobody Sun Apr 23 07:23:40 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q409m6nGYz470HJ for ; Sun, 23 Apr 2023 07:23: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 4Q409m6L6Gz47pR; Sun, 23 Apr 2023 07:23:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682234620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hyfKwDZb4HMnae2Ce+v6j6wAt/QV+X0lvZKC8flDhAk=; b=SDmUcDP+GGW9VEzXWv+3R8ZwvL0AUSKjuqm0z7QjRAdGJ6Qusan0BSuMFfYt9xehTKTF6q KBFQTvgMhUkxXiB7d2dqSUSFdU9xubma1vQLi41732CH9TOBM0fFL66Q8ykrYrMnSLi6P/ 4uPYIAsTFr/J1QfDP7/VlLEi2s/H+qZtFWfSZVl7VpXfhwvF+Z91gDg4V08hzSujXVJKXi JX2CIGOi90NuhcEIUVZuW++GvlCzk7VxXZfSAVnVhhow+gczg4g6JXcb6UDX08vSercYFq ST2+qbrz+cLca+G1lVqr4m8al0jEYJKAPpOuJH4u4McCgphxB7gNv79atTnRHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682234620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hyfKwDZb4HMnae2Ce+v6j6wAt/QV+X0lvZKC8flDhAk=; b=ozIcQAg6phhIhpRJgO6ogDumRWl9MiHJT4CTH0ImMgWgGD5S76yNuf7Hi1J7Hyr28NEMDO cEeLp973zR9pnxmg/aPHzdEhSIm2Je9MlLjAXdRg7kUXKZe1yOo55lIN6088ywG9ZwkFIT XTyBU4HGWKq+D4EaMuhrjTVsSFb2myusgssObH3E3p1CpMZiWmsMYtFpBIKRQOHIUWjqeO ivx2zg7AZtoyxgfQK+pF2R6uN7cC/ccZ+Ef0cJJvc/3eC7TpWlIyq09PRb3znHVRq/GVeY SAqMUdQtRTezTXkd20kT2T+kg9BqjGK7yNQDv+C98mA8fzyIs2/03HP7wa08KQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682234620; a=rsa-sha256; cv=none; b=n6+wM/tXUJIJU0mwJlP8mOaJuCpY80HHCbYpFSlkjjev7rHiaFYjkgvz+GAm7uQat7eBx+ 6FExB3mTONSXsvg3yEtEzGv3yVD49tZPKLHh6TEJTT3evTs3y7bTkhwdD4zkKWCFiwrUCs tS4Xyl0JbGqvA5ArqtTwg1hzsXP2SOyh5hb1fcjWXwnK3rG/LFKNmB0Kl/NiPz39rwfE7i 7fzhaD2dfuGHVRgMuDJvVnoENL/dsuVoDe1URsIDVui1NFLcPhVGJTKBPfLrHteubEiLbE nG58jTtpOvdn7SOp/1aiqEArE2pd6/F3aIqNlyIGe6VVVMcYRizFeLEaklWMow== 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 4Q409m5MsczZb0; Sun, 23 Apr 2023 07:23: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 33N7NeC6085731; Sun, 23 Apr 2023 07:23:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N7NeRk085730; Sun, 23 Apr 2023 07:23:40 GMT (envelope-from git) Date: Sun, 23 Apr 2023 07:23:40 GMT Message-Id: <202304230723.33N7NeRk085730@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Martin Matuska Subject: git: 33003ecc93ef..e25f9131d679 - vendor/openzfs/zfs-2.1-release - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/vendor/openzfs/zfs-2.1-release X-Git-Reftype: branch X-Git-Commit: e25f9131d679692704c11dc0c1df6d4585b70c35 X-Git-Oldrev: 33003ecc93ef532e41255a6f91c585b26f871ec0 X-Git-Newrev: e25f9131d679692704c11dc0c1df6d4585b70c35 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch vendor/openzfs/zfs-2.1-release has been updated by mm: URL: https://cgit.FreeBSD.org/src/log/?id=33003ecc93ef..e25f9131d679 18edf7a3bad2 contrib: dracut: fix race with root=zfs:dset when necessities required a969b1b22c03 Revert "ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced()" 4e49d8ed2789 Values printed by zpool-iostat(8) should be right-aligned e25f9131d679 Tag zfs-2.1.11 From nobody Sun Apr 23 08:22:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q41Tf3yDBz473K0; Sun, 23 Apr 2023 08:22: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 4Q41Tf320sz3lCX; Sun, 23 Apr 2023 08:22:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682238150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hjSP/4oSraEBXUnoGz/8kgm+QEaWDg3d8xuIIXyn6dA=; b=oj8P98qJlFjCpw8/43euovBwNkBO4ZlUQf1VhH+jZtzUaMJfYhRbIJujHProyPQk1wUtMO vl1dIqCWhqutHL7q6Q4YAMcEJeLp6qmuuit31yoP/xAFVy5vAFqoPUOz+CYtt5Ow1dFNIa qzHXl8aBQoUo+C1S3HUoRnbB3lnFZWrjYNrlOkrktd4+DLTonx9r1hXrFha4Gvs61iZT5V g2Fsw5hsDRKVLCl7lXhsOOcP2IxKUQvi4kvLHuG/NDhL9tTYRpTF1gzG+YDFESWzxqjIAS RnkDjNciF25uN3AZJBKYuOSyF7ZIIDoziYAkuCmUL+XiEgSu8Vos10XsJTB8+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682238150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hjSP/4oSraEBXUnoGz/8kgm+QEaWDg3d8xuIIXyn6dA=; b=HeQ2xVH0F4rLinsCUShAvwpA5TkxjAeuNvCHe9Y9ThUeGyetugT2SXgauKj0yeKHaSUeJ5 Dd5yOISYT37b8jt5miye5zhNwkNuAVNyUDANsbyIqsH9SRxjoSZpjODV+MPG9/rmSAzfCO p0HyjiuZFk0cvIS45OQYuF5oUuGsVHY6+tm8oTMja2lfh4eUSyWI7mYeCI/u858fVs1ulO ZgkiVkuaBo13fqPjnFtGTRWz0xKmocZEg4ZEP20pbOuSoVa8SHAdlD9aWygourh6Y/dy5m qjwBPc6maD3jsFlgH0WHX/reAUyv923TYo3QeYWZ7TlhqptSWluP3KV/5i/zbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682238150; a=rsa-sha256; cv=none; b=couKTQr9SsKC0w18vFoRZJxy0LSulkP1nZ92SvQ+6HVCk388z74eClXhtYNYx2o16o6PqD SFYrZC43oDfOTAF+PnR4MdSTaPBccaO/BTXWtxrCNw7abiDwd4NvyuYIrCrXKRzYGlhoNb QFR5k9nkNMHdD+H0IEsZetaOZwF5sWZnak7kMgxQ9HnxGaUDZHodnPlLlqL6EOP32qIAmO qohQmcVVbZYUJnEU+wgwZwNuHfg8gRCfcjChsWnd7wRtySqkux/AvBoH+qf5t9SG6HgBJz z0gwgKa/Z3D0p4cmRZkNPa4gnDNTpdoXQY87vQ7eHud5WHKTDNtZrbyID5asXg== 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 4Q41Tf20tczcFK; Sun, 23 Apr 2023 08:22: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 33N8MUMS083336; Sun, 23 Apr 2023 08:22:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N8MU98083335; Sun, 23 Apr 2023 08:22:30 GMT (envelope-from git) Date: Sun, 23 Apr 2023 08:22:30 GMT Message-Id: <202304230822.33N8MU98083335@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Yuri Pankov Subject: git: f70719fcbd30 - main - libcasper: remove leftover debug directory List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuripv X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f70719fcbd301275c3712f42f932dc4290f29eed Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by yuripv: URL: https://cgit.FreeBSD.org/src/commit/?id=f70719fcbd301275c3712f42f932dc4290f29eed commit f70719fcbd301275c3712f42f932dc4290f29eed Author: Yuri Pankov AuthorDate: 2023-04-23 07:49:49 +0000 Commit: Yuri Pankov CommitDate: 2023-04-23 07:50:50 +0000 libcasper: remove leftover debug directory Reviewed by: mjg Differential Revision: https://reviews.freebsd.org/D39756 --- etc/mtree/BSD.debug.dist | 2 -- 1 file changed, 2 deletions(-) diff --git a/etc/mtree/BSD.debug.dist b/etc/mtree/BSD.debug.dist index 1d9c926432dd..3eb5a36d13df 100644 --- a/etc/mtree/BSD.debug.dist +++ b/etc/mtree/BSD.debug.dist @@ -15,8 +15,6 @@ .. .. lib - casper - .. geom .. nvmecontrol From nobody Sun Apr 23 09:31:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q430l3FSXz47716; Sun, 23 Apr 2023 09:31: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 4Q430k6gFvz3Dfk; Sun, 23 Apr 2023 09:31:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682242262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bSxhd/NF/jUFVk1cdvhZ6a+/Ib1oHk1o+XOIept6m9I=; b=Ysl2f/BKsWH7ArnBRW49b/C5Elu8NdTwvLrfrNtUwnpP3jiZBCg3wdG3pJJRAxnEoWA/bB YaelxdnLrXCu/PezgXcs/LnUlSkrutEsOtTgHItzmi7LZwYd3KQV4oY/wLKr0jO7AdmDZ6 V9yAqCRutNNRvTbDKSQfZivYE0ip+7H1BP9YmIwBcZASjgxP3QRrspr4kd3vJRAwsP+12r SPLJ8IXsr1tG4wVwlJ9JsWfyErxvXorj3zstDwf4tUkWVciSCoymh0wpHaQrMzIRImI9c5 AyD8M3J/usVhIud0cwvXx8alj9yEuxNbyG0oskCsrw4dbGkRjesTTmtsXybjzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682242262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bSxhd/NF/jUFVk1cdvhZ6a+/Ib1oHk1o+XOIept6m9I=; b=L84/MnzJxASquKEpuW/k9aGz1PXpXfZIymmgBg67ax3hHGfEy2D012TeUewuCh/MlbnVdJ /cuEobEAkKYVU7zQYmFy4b7ZJx2ipcQWxHkBH42B3KUl+QfeylXyBkJy7MCsOzewO+cvV3 +FHtHwO0cRei4mbXkgZuIGZB5b25YI8cUDVAbUsA0Nwb1Ok1b2nwcM55tkgH8YTLK20CgT iKOxrL30Mpx0769fDBMmZx+ls8D3SRV2BpeRZN8ZFrRqaHqk1jpAoplkhbVii+sqCTk5Bl osgbmcDXeS0UXI0qUAxH+YpWzYusgKoZqIFzYP6fgt92qY/glVDtSz8qqNhxfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682242262; a=rsa-sha256; cv=none; b=ypm6d0lY55wXTAxI/YlvT5CK/K0zgDdjnZSbHkq3+bWMPDJ18oaGo10HThPtBvDk9lH5KD RKwlj7nZSKkgJZxIxaVb5+laQ9TxGLn5PTRV7McGpBPaQGcKeS3pIc9wSdx9Np0voEIlL7 WrVhYvgN9eKEDC1U1/M42y5QggroUcKtg4joGkQBCS16dgp1sAhma+6f9XZ5YhRAJqSKuf jCj5MlNRiDBRHRQDLB4AWfxzhwrSXT88LZnqj831bUL3nCmJrdhJRK5DOP1nu8jggJSCW5 CUZO5Z7u+m4aUNOhKKD8Nxp/Ng+n34vUW1XUQLsBi1ydJoboZIfQPIHMArdgmg== 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 4Q430k5mMyzdjL; Sun, 23 Apr 2023 09:31: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 33N9V2FC099498; Sun, 23 Apr 2023 09:31:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N9V26G099497; Sun, 23 Apr 2023 09:31:02 GMT (envelope-from git) Date: Sun, 23 Apr 2023 09:31:02 GMT Message-Id: <202304230931.33N9V26G099497@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Yuri Pankov Subject: git: 336c4682b6f3 - main - tzsetup: add baseline file to control parsed zonetab contents List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuripv X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 336c4682b6f3d181daf9fc7a8c9386c8c06ce996 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by yuripv: URL: https://cgit.FreeBSD.org/src/commit/?id=336c4682b6f3d181daf9fc7a8c9386c8c06ce996 commit 336c4682b6f3d181daf9fc7a8c9386c8c06ce996 Author: Yuri Pankov AuthorDate: 2023-04-23 08:31:53 +0000 Commit: Yuri Pankov CommitDate: 2023-04-23 08:32:02 +0000 tzsetup: add baseline file to control parsed zonetab contents Introduce undocumented option -d to dump parsed zonetab file contents and add a "baseline" target along with instructions on updating it. Reviewed by: philip Differential Revision: https://reviews.freebsd.org/D39634 --- share/zoneinfo/Makefile | 6 + usr.sbin/tzsetup/Makefile | 6 + usr.sbin/tzsetup/baseline | 670 +++++++++++++++++++++++++++++++++++++++++++++ usr.sbin/tzsetup/tzsetup.c | 53 +++- 4 files changed, 733 insertions(+), 2 deletions(-) diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile index 2e8e0cd53cd2..8a92558a9d25 100644 --- a/share/zoneinfo/Makefile +++ b/share/zoneinfo/Makefile @@ -29,6 +29,12 @@ # (write a meaningful commit message) # $ git push freebsd HEAD:stable/12 # +# +# If there are changes to zone1970.tab, update the baseline file by running +# `make baseline` in usr.sbin/tzsetup to check if tzsetup is able to parse new +# contents (if not, report/fix tzsetup). Check that update does not +# introduce breaking/unexpected changes to continents/countries/zones, +# and commit the updated baseline file. .include diff --git a/usr.sbin/tzsetup/Makefile b/usr.sbin/tzsetup/Makefile index adef619b6596..59089f7208b2 100644 --- a/usr.sbin/tzsetup/Makefile +++ b/usr.sbin/tzsetup/Makefile @@ -13,4 +13,10 @@ CFLAGS+= -I${SRCTOP}/contrib/bsddialog/lib -DHAVE_BSDDIALOG LIBADD= bsddialog .endif +ZONETAB= ${SRCTOP}/contrib/tzdata/zone1970.tab +baseline: ${PROG} ${ZONETAB} + ${.OBJDIR}/${PROG} -d ${ZONETAB} > ${.CURDIR}/baseline + +.PHONY: baseline + .include diff --git a/usr.sbin/tzsetup/baseline b/usr.sbin/tzsetup/baseline new file mode 100644 index 000000000000..79a7f2a869b6 --- /dev/null +++ b/usr.sbin/tzsetup/baseline @@ -0,0 +1,670 @@ +AF:Afghanistan + Asia:Asia/Kabul +AL:Albania + Europe:Europe/Tirane +DZ:Algeria + Africa:Africa/Algiers +AS:American Samoa + Pacific:Pacific/Pago_Pago +AD:Andorra + Europe:Europe/Andorra +AO:Angola + Africa:Africa/Lagos +AI:Anguilla + America:America/Puerto_Rico +AQ:Antarctica + Antarctica:Antarctica/Casey + Antarctica:Antarctica/Davis + Antarctica:Antarctica/Mawson + Antarctica:Antarctica/Palmer + Antarctica:Antarctica/Rothera + Antarctica:Antarctica/Troll + Asia:Asia/Urumqi + Pacific:Pacific/Auckland + Pacific:Pacific/Port_Moresby + Asia:Asia/Riyadh +AG:Antigua and Barbuda + America:America/Puerto_Rico +AR:Argentina + America:America/Argentina/Buenos_Aires + America:America/Argentina/Cordoba + America:America/Argentina/Salta + America:America/Argentina/Jujuy + America:America/Argentina/Tucuman + America:America/Argentina/Catamarca + America:America/Argentina/La_Rioja + America:America/Argentina/San_Juan + America:America/Argentina/Mendoza + America:America/Argentina/San_Luis + America:America/Argentina/Rio_Gallegos + America:America/Argentina/Ushuaia +AM:Armenia + Asia:Asia/Yerevan +AW:Aruba + America:America/Puerto_Rico +AU:Australia + Australia:Australia/Lord_Howe + Antarctica:Antarctica/Macquarie + Australia:Australia/Hobart + Australia:Australia/Melbourne + Australia:Australia/Sydney + Australia:Australia/Broken_Hill + Australia:Australia/Brisbane + Australia:Australia/Lindeman + Australia:Australia/Adelaide + Australia:Australia/Darwin + Australia:Australia/Perth + Australia:Australia/Eucla +AT:Austria + Europe:Europe/Vienna +AZ:Azerbaijan + Asia:Asia/Baku +BS:Bahamas + America:America/Toronto +BH:Bahrain + Asia:Asia/Qatar +BD:Bangladesh + Asia:Asia/Dhaka +BB:Barbados + America:America/Barbados +BY:Belarus + Europe:Europe/Minsk +BE:Belgium + Europe:Europe/Brussels +BZ:Belize + America:America/Belize +BJ:Benin + Africa:Africa/Lagos +BM:Bermuda + Atlantic:Atlantic/Bermuda +BT:Bhutan + Asia:Asia/Thimphu +BO:Bolivia, Plurinational State of + America:America/La_Paz +BQ:Bonaire, Sint Eustatius and Saba + America:America/Puerto_Rico +BA:Bosnia and Herzegovina + Europe:Europe/Belgrade +BW:Botswana + Africa:Africa/Maputo +BV:Bouvet Island +BR:Brazil + America:America/Noronha + America:America/Belem + America:America/Fortaleza + America:America/Recife + America:America/Araguaina + America:America/Maceio + America:America/Bahia + America:America/Sao_Paulo + America:America/Campo_Grande + America:America/Cuiaba + America:America/Santarem + America:America/Porto_Velho + America:America/Boa_Vista + America:America/Manaus + America:America/Eirunepe + America:America/Rio_Branco +IO:British Indian Ocean Territory + Indian:Indian/Chagos +BN:Brunei Darussalam + Asia:Asia/Kuching +BG:Bulgaria + Europe:Europe/Sofia +BF:Burkina Faso + Africa:Africa/Abidjan +BI:Burundi + Africa:Africa/Maputo +CV:Cabo Verde + Atlantic:Atlantic/Cape_Verde +KH:Cambodia + Asia:Asia/Bangkok +CM:Cameroon + Africa:Africa/Lagos +CA:Canada + America:America/St_Johns + America:America/Halifax + America:America/Glace_Bay + America:America/Moncton + America:America/Goose_Bay + America:America/Toronto + America:America/Iqaluit + America:America/Winnipeg + America:America/Resolute + America:America/Rankin_Inlet + America:America/Regina + America:America/Swift_Current + America:America/Edmonton + America:America/Cambridge_Bay + America:America/Inuvik + America:America/Dawson_Creek + America:America/Fort_Nelson + America:America/Whitehorse + America:America/Dawson + America:America/Vancouver + America:America/Panama + America:America/Puerto_Rico + America:America/Phoenix +KY:Cayman Islands + America:America/Panama +CF:Central African Republic + Africa:Africa/Lagos +TD:Chad + Africa:Africa/Ndjamena +CL:Chile + America:America/Santiago + America:America/Punta_Arenas + Pacific:Pacific/Easter +CN:China + Asia:Asia/Shanghai + Asia:Asia/Urumqi +CX:Christmas Island + Asia:Asia/Bangkok +CC:Cocos (Keeling) Islands + Asia:Asia/Yangon +CO:Colombia + America:America/Bogota +KM:Comoros + Africa:Africa/Nairobi +CG:Congo + Africa:Africa/Lagos +CD:Congo, Democratic Republic of the + Africa:Africa/Maputo + Africa:Africa/Lagos +CK:Cook Islands + Pacific:Pacific/Rarotonga +CR:Costa Rica + America:America/Costa_Rica +HR:Croatia + Europe:Europe/Belgrade +CU:Cuba + America:America/Havana +CW:Curaçao + America:America/Puerto_Rico +CY:Cyprus + Asia:Asia/Nicosia + Asia:Asia/Famagusta +CZ:Czech Republic + Europe:Europe/Prague +CI:Côte d'Ivoire + Africa:Africa/Abidjan +DK:Denmark + Europe:Europe/Berlin +DJ:Djibouti + Africa:Africa/Nairobi +DM:Dominica + America:America/Puerto_Rico +DO:Dominican Republic + America:America/Santo_Domingo +EC:Ecuador + America:America/Guayaquil + Pacific:Pacific/Galapagos +EG:Egypt + Africa:Africa/Cairo +SV:El Salvador + America:America/El_Salvador +GQ:Equatorial Guinea + Africa:Africa/Lagos +ER:Eritrea + Africa:Africa/Nairobi +EE:Estonia + Europe:Europe/Tallinn +SZ:Eswatini + Africa:Africa/Johannesburg +ET:Ethiopia + Africa:Africa/Nairobi +FK:Falkland Islands (Malvinas) + Atlantic:Atlantic/Stanley +FO:Faroe Islands + Atlantic:Atlantic/Faroe +FJ:Fiji + Pacific:Pacific/Fiji +FI:Finland + Europe:Europe/Helsinki +FR:France + Europe:Europe/Paris +GF:French Guiana + America:America/Cayenne +PF:French Polynesia + Pacific:Pacific/Tahiti + Pacific:Pacific/Marquesas + Pacific:Pacific/Gambier +TF:French Southern Territories + Asia:Asia/Dubai + Indian:Indian/Maldives +GA:Gabon + Africa:Africa/Lagos +GM:Gambia + Africa:Africa/Abidjan +GE:Georgia + Asia:Asia/Tbilisi +DE:Germany + Europe:Europe/Zurich + Europe:Europe/Berlin +GH:Ghana + Africa:Africa/Abidjan +GI:Gibraltar + Europe:Europe/Gibraltar +GR:Greece + Europe:Europe/Athens +GL:Greenland + America:America/Nuuk + America:America/Danmarkshavn + America:America/Scoresbysund + America:America/Thule +GD:Grenada + America:America/Puerto_Rico +GP:Guadeloupe + America:America/Puerto_Rico +GU:Guam + Pacific:Pacific/Guam +GT:Guatemala + America:America/Guatemala +GG:Guernsey + Europe:Europe/London +GN:Guinea + Africa:Africa/Abidjan +GW:Guinea-Bissau + Africa:Africa/Bissau +GY:Guyana + America:America/Guyana +HT:Haiti + America:America/Port-au-Prince +HM:Heard Island and McDonald Islands +VA:Holy See + Europe:Europe/Rome +HN:Honduras + America:America/Tegucigalpa +HK:Hong Kong + Asia:Asia/Hong_Kong +HU:Hungary + Europe:Europe/Budapest +IS:Iceland + Africa:Africa/Abidjan +IN:India + Asia:Asia/Kolkata +ID:Indonesia + Asia:Asia/Jakarta + Asia:Asia/Pontianak + Asia:Asia/Makassar + Asia:Asia/Jayapura +IR:Iran (Islamic Republic of) + Asia:Asia/Tehran +IQ:Iraq + Asia:Asia/Baghdad +IE:Ireland + Europe:Europe/Dublin +IM:Isle of Man + Europe:Europe/London +IL:Israel + Asia:Asia/Jerusalem +IT:Italy + Europe:Europe/Rome +JM:Jamaica + America:America/Jamaica +JP:Japan + Asia:Asia/Tokyo +JE:Jersey + Europe:Europe/London +JO:Jordan + Asia:Asia/Amman +KZ:Kazakhstan + Asia:Asia/Almaty + Asia:Asia/Qyzylorda + Asia:Asia/Qostanay + Asia:Asia/Aqtobe + Asia:Asia/Aqtau + Asia:Asia/Atyrau + Asia:Asia/Oral +KE:Kenya + Africa:Africa/Nairobi +KI:Kiribati + Pacific:Pacific/Tarawa + Pacific:Pacific/Kanton + Pacific:Pacific/Kiritimati +KP:Korea (Democratic People's Republic of) + Asia:Asia/Pyongyang +KR:Korea (Republic of) + Asia:Asia/Seoul +KW:Kuwait + Asia:Asia/Riyadh +KG:Kyrgyzstan + Asia:Asia/Bishkek +LA:Lao People's Democratic Republic + Asia:Asia/Bangkok +LV:Latvia + Europe:Europe/Riga +LB:Lebanon + Asia:Asia/Beirut +LS:Lesotho + Africa:Africa/Johannesburg +LR:Liberia + Africa:Africa/Monrovia +LY:Libya + Africa:Africa/Tripoli +LI:Liechtenstein + Europe:Europe/Zurich +LT:Lithuania + Europe:Europe/Vilnius +LU:Luxembourg + Europe:Europe/Brussels +MO:Macao + Asia:Asia/Macau +MK:Macedonia (the former Yugoslav Republic of) + Europe:Europe/Belgrade +MG:Madagascar + Africa:Africa/Nairobi +MW:Malawi + Africa:Africa/Maputo +MY:Malaysia + Asia:Asia/Kuching + Asia:Asia/Singapore +MV:Maldives + Indian:Indian/Maldives +ML:Mali + Africa:Africa/Abidjan +MT:Malta + Europe:Europe/Malta +MH:Marshall Islands + Pacific:Pacific/Tarawa + Pacific:Pacific/Kwajalein +MQ:Martinique + America:America/Martinique +MR:Mauritania + Africa:Africa/Abidjan +MU:Mauritius + Indian:Indian/Mauritius +YT:Mayotte + Africa:Africa/Nairobi +MX:Mexico + America:America/Mexico_City + America:America/Cancun + America:America/Merida + America:America/Monterrey + America:America/Matamoros + America:America/Chihuahua + America:America/Ciudad_Juarez + America:America/Ojinaga + America:America/Mazatlan + America:America/Bahia_Banderas + America:America/Hermosillo + America:America/Tijuana +FM:Micronesia (Federated States of) + Pacific:Pacific/Kosrae + Pacific:Pacific/Port_Moresby + Pacific:Pacific/Guadalcanal +MD:Moldova (Republic of) + Europe:Europe/Chisinau +MC:Monaco + Europe:Europe/Paris +MN:Mongolia + Asia:Asia/Ulaanbaatar + Asia:Asia/Hovd + Asia:Asia/Choibalsan +ME:Montenegro + Europe:Europe/Belgrade +MS:Montserrat + America:America/Puerto_Rico +MA:Morocco + Africa:Africa/Casablanca +MZ:Mozambique + Africa:Africa/Maputo +MM:Myanmar + Asia:Asia/Yangon +NA:Namibia + Africa:Africa/Windhoek +NR:Nauru + Pacific:Pacific/Nauru +NP:Nepal + Asia:Asia/Kathmandu +NL:Netherlands + Europe:Europe/Brussels +NC:New Caledonia + Pacific:Pacific/Noumea +NZ:New Zealand + Pacific:Pacific/Auckland + Pacific:Pacific/Chatham +NI:Nicaragua + America:America/Managua +NE:Niger + Africa:Africa/Lagos +NG:Nigeria + Africa:Africa/Lagos +NU:Niue + Pacific:Pacific/Niue +NF:Norfolk Island + Pacific:Pacific/Norfolk +MP:Northern Mariana Islands + Pacific:Pacific/Guam +NO:Norway + Europe:Europe/Berlin +OM:Oman + Asia:Asia/Dubai +PK:Pakistan + Asia:Asia/Karachi +PW:Palau + Pacific:Pacific/Palau +PS:Palestine, State of + Asia:Asia/Gaza + Asia:Asia/Hebron +PA:Panama + America:America/Panama +PG:Papua New Guinea + Pacific:Pacific/Port_Moresby + Pacific:Pacific/Bougainville +PY:Paraguay + America:America/Asuncion +PE:Peru + America:America/Lima +PH:Philippines + Asia:Asia/Manila +PN:Pitcairn + Pacific:Pacific/Pitcairn +PL:Poland + Europe:Europe/Warsaw +PT:Portugal + Europe:Europe/Lisbon + Atlantic:Atlantic/Madeira + Atlantic:Atlantic/Azores +PR:Puerto Rico + America:America/Puerto_Rico +QA:Qatar + Asia:Asia/Qatar +RO:Romania + Europe:Europe/Bucharest +RU:Russian Federation + Europe:Europe/Kaliningrad + Europe:Europe/Moscow + Europe:Europe/Simferopol + Europe:Europe/Kirov + Europe:Europe/Volgograd + Europe:Europe/Astrakhan + Europe:Europe/Saratov + Europe:Europe/Ulyanovsk + Europe:Europe/Samara + Asia:Asia/Yekaterinburg + Asia:Asia/Omsk + Asia:Asia/Novosibirsk + Asia:Asia/Barnaul + Asia:Asia/Tomsk + Asia:Asia/Novokuznetsk + Asia:Asia/Krasnoyarsk + Asia:Asia/Irkutsk + Asia:Asia/Chita + Asia:Asia/Yakutsk + Asia:Asia/Khandyga + Asia:Asia/Vladivostok + Asia:Asia/Ust-Nera + Asia:Asia/Magadan + Asia:Asia/Sakhalin + Asia:Asia/Srednekolymsk + Asia:Asia/Kamchatka + Asia:Asia/Anadyr +RW:Rwanda + Africa:Africa/Maputo +RE:Réunion + Asia:Asia/Dubai +BL:Saint Barthélemy + America:America/Puerto_Rico +SH:Saint Helena Ascension and Tristan da Cunha + Africa:Africa/Abidjan +KN:Saint Kitts and Nevis + America:America/Puerto_Rico +LC:Saint Lucia + America:America/Puerto_Rico +MF:Saint Martin (French part) + America:America/Puerto_Rico +PM:Saint Pierre and Miquelon + America:America/Miquelon +VC:Saint Vincent and the Grenadines + America:America/Puerto_Rico +WS:Samoa + Pacific:Pacific/Apia +SM:San Marino + Europe:Europe/Rome +ST:Sao Tome and Principe + Africa:Africa/Sao_Tome +SA:Saudi Arabia + Asia:Asia/Riyadh +SN:Senegal + Africa:Africa/Abidjan +RS:Serbia + Europe:Europe/Belgrade +SC:Seychelles + Asia:Asia/Dubai +SL:Sierra Leone + Africa:Africa/Abidjan +SG:Singapore + Asia:Asia/Singapore +SX:Sint Maarten (Dutch part) + America:America/Puerto_Rico +SK:Slovakia + Europe:Europe/Prague +SI:Slovenia + Europe:Europe/Belgrade +SB:Solomon Islands + Pacific:Pacific/Guadalcanal +SO:Somalia + Africa:Africa/Nairobi +ZA:South Africa + Africa:Africa/Johannesburg +GS:South Georgia and the South Sandwich Islands + Atlantic:Atlantic/South_Georgia +SS:South Sudan + Africa:Africa/Juba +ES:Spain + Europe:Europe/Madrid + Africa:Africa/Ceuta + Atlantic:Atlantic/Canary +LK:Sri Lanka + Asia:Asia/Colombo +SD:Sudan + Africa:Africa/Khartoum +SR:Suriname + America:America/Paramaribo +SJ:Svalbard and Jan Mayen + Europe:Europe/Berlin +SE:Sweden + Europe:Europe/Berlin +CH:Switzerland + Europe:Europe/Zurich +SY:Syrian Arab Republic + Asia:Asia/Damascus +TW:Taiwan + Asia:Asia/Taipei +TJ:Tajikistan + Asia:Asia/Dushanbe +TZ:Tanzania United Republic of + Africa:Africa/Nairobi +TH:Thailand + Asia:Asia/Bangkok +TL:Timor-Leste + Asia:Asia/Dili +TG:Togo + Africa:Africa/Abidjan +TK:Tokelau + Pacific:Pacific/Fakaofo +TO:Tonga + Pacific:Pacific/Tongatapu +TT:Trinidad and Tobago + America:America/Puerto_Rico +TN:Tunisia + Africa:Africa/Tunis +TR:Turkey + Europe:Europe/Istanbul +TM:Turkmenistan + Asia:Asia/Ashgabat +TC:Turks and Caicos Islands + America:America/Grand_Turk +TV:Tuvalu + Pacific:Pacific/Tarawa +UG:Uganda + Africa:Africa/Nairobi +UA:Ukraine + Europe:Europe/Simferopol + Europe:Europe/Kyiv +AE:United Arab Emirates + Asia:Asia/Dubai +GB:United Kingdom of Great Britain and Northern Ireland + Europe:Europe/London +UM:United States Minor Outlying Islands + Pacific:Pacific/Pago_Pago + Pacific:Pacific/Tarawa +US:United States of America + America:America/New_York + America:America/Detroit + America:America/Kentucky/Louisville + America:America/Kentucky/Monticello + America:America/Indiana/Indianapolis + America:America/Indiana/Vincennes + America:America/Indiana/Winamac + America:America/Indiana/Marengo + America:America/Indiana/Petersburg + America:America/Indiana/Vevay + America:America/Chicago + America:America/Indiana/Tell_City + America:America/Indiana/Knox + America:America/Menominee + America:America/North_Dakota/Center + America:America/North_Dakota/New_Salem + America:America/North_Dakota/Beulah + America:America/Denver + America:America/Boise + America:America/Phoenix + America:America/Los_Angeles + America:America/Anchorage + America:America/Juneau + America:America/Sitka + America:America/Metlakatla + America:America/Yakutat + America:America/Nome + America:America/Adak + Pacific:Pacific/Honolulu +UY:Uruguay + America:America/Montevideo +UZ:Uzbekistan + Asia:Asia/Samarkand + Asia:Asia/Tashkent +VU:Vanuatu + Pacific:Pacific/Efate +VE:Venezuela, Bolivarian Republic of + America:America/Caracas +VN:Viet Nam + Asia:Asia/Bangkok + Asia:Asia/Ho_Chi_Minh +VG:Virgin Islands (British) + America:America/Puerto_Rico +VI:Virgin Islands (U.S.) + America:America/Puerto_Rico +WF:Wallis and Futuna + Pacific:Pacific/Tarawa +EH:Western Sahara + Africa:Africa/El_Aaiun +YE:Yemen + Asia:Asia/Riyadh +ZM:Zambia + Africa:Africa/Maputo +ZW:Zimbabwe + Africa:Africa/Maputo +AX:Åland Islands + Europe:Europe/Helsinki diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c index 310414e69975..76f6a2537de6 100644 --- a/usr.sbin/tzsetup/tzsetup.c +++ b/usr.sbin/tzsetup/tzsetup.c @@ -32,6 +32,11 @@ * files provided in newer tzdata releases. */ +/* + * When making changes to parser code, run baseline target, check that there are + * no unintended changes and commit updated file. + */ + #include __FBSDID("$FreeBSD$"); @@ -244,6 +249,17 @@ find_continent(const char *name) return (0); } +static const char * +find_continent_name(struct continent *cont) +{ + int i; + + for (i = 0; i < NCONTINENTS; i++) + if (cont == continent_names[i].continent) + return (continent_names[i].name); + return ("Unknown"); +} + struct country { char *name; char *tlc; @@ -783,6 +799,27 @@ install_zoneinfo(const char *zoneinfo) return (rv); } +static void +dump_zonetab(void) +{ + struct country *cp; + struct zone *zp; + const char *cont; + + for (cp = countries; cp->name != NULL; cp++) { + printf("%s:%s\n", cp->tlc, cp->name); + if (cp->nzones < 0) { + cont = find_continent_name(cp->continent); + printf(" %s:%s\n", cont, cp->filename); + } else { + TAILQ_FOREACH(zp, &cp->zones, link) { + cont = find_continent_name(zp->continent); + printf(" %s:%s\n", cont, zp->filename); + } + } + } +} + static void usage(void) { @@ -802,7 +839,9 @@ main(int argc, char **argv) int c, rv, skiputc; char vm_guest[16] = ""; size_t len = sizeof(vm_guest); + char *dztpath; + dztpath = NULL; skiputc = 0; #ifdef HAVE_BSDDIALOG @@ -814,11 +853,14 @@ main(int argc, char **argv) strcmp(vm_guest, "none") != 0) skiputc = 1; - while ((c = getopt(argc, argv, "C:nrs")) != -1) { + while ((c = getopt(argc, argv, "C:d:nrs")) != -1) { switch(c) { case 'C': chrootenv = optarg; break; + case 'd': + dztpath = optarg; + break; case 'n': reallydoit = 0; break; @@ -840,7 +882,10 @@ main(int argc, char **argv) usage(); if (chrootenv == NULL) { - strcpy(path_zonetab, _PATH_ZONETAB); + if (dztpath == NULL) + strcpy(path_zonetab, _PATH_ZONETAB); + else + strlcpy(path_zonetab, dztpath, sizeof(path_zonetab)); strcpy(path_iso3166, _PATH_ISO3166); strcpy(path_zoneinfo, _PATH_ZONEINFO); strcpy(path_localtime, _PATH_LOCALTIME); @@ -902,6 +947,10 @@ main(int argc, char **argv) read_iso3166_table(); read_zones(); sort_countries(); + if (dztpath != NULL) { + dump_zonetab(); + return (0); + } make_menus(); bsddialog_initconf(&conf); From nobody Sun Apr 23 09:33:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q433b6FBYz4775R; Sun, 23 Apr 2023 09:33: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 4Q433b14nQz3JVy; Sun, 23 Apr 2023 09:33:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682242411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WRxEdZwPxKh381NLpZbQmkTeuq85acNmiNK9WnXWP8k=; b=SVWHe4QXhwxFdDxpWyLmEy/L3czGLeVQsh1CtIj+0vf1JWbZooPYQFLR7CkiwslIPleNXh ov1F5tAzmicFVY78cxq2TPSeiw6DyWNKiTfLQJZhpHjDpXnoQgZpkaRF3pWcLqCN/yVbAi Ga8uDibro4JQEpgOsKMGG0op71RY0ZMuiCBIsfgrUm1ctKL4iwu4aeC2f7iy5lseDyksDQ cDmPe93uNSk4LuDt/9P09kScKEVhnpO5F3HMEHdHzVXYBgFSm1Ybj4k1m0dxmUESwpslKV PiPtj1IQy5U6KUa18Z9wD9JfYqbfPE/cDdGSwz9GW1Cbaghr4kX1dbZ1rllxEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682242411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WRxEdZwPxKh381NLpZbQmkTeuq85acNmiNK9WnXWP8k=; b=JO/8l9IlBQeAmYtrHUtukid0umc9zcPxa8gUj1VO0u1YzhFLJhiMNAKib+mGdu5wVL2Gvv iH25Q4WVG0XrQonJ99C3pKkAtjzwca47AicGMcxeDRzjovuJ+bp6ziO2HT14e8Mqw4gIb8 wA4BtU90kF6syJjZae5z1ML+A7uuRn0x4Ksv9577WRdPGAengqnOYRjxR2lwQMCe3oS9rZ JSBTSGzuYBEF5890MiKQmKh9x3UjldY2OoISMjoGkGuOpFRgLpsezvJujbWix/LBVzEyDh 9ZTQXfpJbJduN8VwjYdwel7E34z1cofNfDJe6KnPfhHAhZU5DGZJWLBcbD5r8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682242411; a=rsa-sha256; cv=none; b=uekEF86NiRg2p5GKifZ+p8D7X198BTFbMC/nuMVokCm30zmILS+tuloP5nVoPY/+GWKMec navQGdxbfppbmB17Fupmrj9yf2R8J51An58o8UjRA8X69kRyftaqgqyYg5MvK4Jt+Tx9/e nmXffTEsn3rvlrzOe+2SpCdy1//wOY5u2j1DVMclAWNiAWL/+kPdMJDg1DmBJrH9k9CTYW Lwk5+q0BFlKzCnCVoENRj69tHGmCymx56jfjT+adPpTCbfB4kx2d8QRVZMYh0U/lnmBCy3 SFgTielAxo8HBrBca3RP3ZgSnCB40XTQEKMNOeBBoYik/z5nT23/SpSwAYHkAw== 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 4Q433b0B4hzf5w; Sun, 23 Apr 2023 09:33: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 33N9XUZO002807; Sun, 23 Apr 2023 09:33:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N9XUbX002806; Sun, 23 Apr 2023 09:33:30 GMT (envelope-from git) Date: Sun, 23 Apr 2023 09:33:30 GMT Message-Id: <202304230933.33N9XUbX002806@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 4b0899ae6686 - stable/13 - kern.mk: clang >= 16 already infers ELFv2 for powerpc64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4b0899ae6686fad5e1ef6dec6e812c94ffadcca1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=4b0899ae6686fad5e1ef6dec6e812c94ffadcca1 commit 4b0899ae6686fad5e1ef6dec6e812c94ffadcca1 Author: Dimitry Andric AuthorDate: 2023-04-20 19:27:11 +0000 Commit: Dimitry Andric CommitDate: 2023-04-23 09:25:16 +0000 kern.mk: clang >= 16 already infers ELFv2 for powerpc64 There is no need to pass -mabi=elfv2 explicitly anymore, and with clang 16 in fact results in a "unused argument" warning. MFC after: 3 days (cherry picked from commit 42140052765e05c83a3ea797dce3eaad94bc3733) --- sys/conf/kern.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index 4abef91c7805..87e788666efb 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -208,7 +208,8 @@ CFLAGS.gcc+= -mno-spe # Use dot symbols (or, better, the V2 ELF ABI) on powerpc64 to make # DDB happy. ELFv2, if available, has some other efficiency benefits. # -.if ${MACHINE_ARCH:Mpowerpc64*} != "" +.if ${MACHINE_ARCH:Mpowerpc64*} != "" && \ + ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 160000 CFLAGS+= -mabi=elfv2 .endif From nobody Sun Apr 23 09:33:43 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q433r3BWhz477T9; Sun, 23 Apr 2023 09:33: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 4Q433q6ZLSz3KM8; Sun, 23 Apr 2023 09:33:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682242424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gYyEzayVbLcNUGTN3SZoOIVcvK2yJ4xEaVn+Afo3Kpc=; b=wKSWJko8FYAcVWkecH65iUGagovNKu3GvX//XnBM1HMvlfblq1hNhX66VCLA71Lt9qhq2/ slgKCFSoklil96xvDV8dyaOj9B+JgXoEz3325EomDOKF/9GBaHBv02bKLhdgOs5W1PSwKZ lldbIQw88tNqvqTPkX6N1UPoxDXAzmlcfsWv0KiSUDx1KYNH5N79c4xJQxY8bXn19MalX9 wjn35ov6tyk1Dj80uNZKmBJqihn23/LxbvfkcxkY/pMvu6L7XmW6l9gTTEbRbSkyNJTPW7 RjmdeLv7TPsK/3K65fuKGeMAP8sMHAyPKFTLTeme6PIZP9sY+TVn0pRCkEqf3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682242424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gYyEzayVbLcNUGTN3SZoOIVcvK2yJ4xEaVn+Afo3Kpc=; b=a8+vhIkPunibGW2gNaestZfJXNp4CQSPl7H6uHiyDbNLsv1FqM/6jVi2bD0ZzhP4jIDBsu uOH+FkW9QUvvFhB3bONv1xVcZYi42/5mZGFaMTNLS/gRh8gkUA8vyHOMHPUbnUdnhCunAG JNokqR3bRYt5nfOynbSII9gU3q2Aq37Z+R2fdf03gRNqriJNE+WNhJf9ry/HPlKOaPY+pB Jz29Zakiwsap4KthUMDo2+CONzOfVB57HFOEm7940K1ZFL6c/BshSxxFdF70GjNkxClo0m huGLfSQIgsZgrcw5nOu1w3VU5herVK69++AII1QEWh/6CsxW5pxtnG48iSkfYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682242424; a=rsa-sha256; cv=none; b=ZRbj+D1o9+csLScFuG+jIYU5EGKGlh940fnGyFEm+ySo5Cm+XZomCqyIhrFV2dm9FjIiL2 pX9SrIt0W8JoALaNxA5V5Qj7FeznYcx4kPNpuJJEDLDD9pg5sAIT9bqPby2qZMWAO+koQa u0fp6FVwEAbgMDLyUYQClaMqvZIvVdi8IA7B2mlWWelmrFhKIK59a+1JXZjqb8zXh8WWxC Au40NU8UL2pGTpNmNqYSRYssekk36jI14fV5oozHrCH47HqoMMYDnjigmmI7EUHOUaNTJ1 uZfpBP2VEAHMCgfUK/D3u//ZTl+9F9LH5F3RN80qROL40yrwYdBpEh58JWP9gg== 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 4Q433q59zWzdk1; Sun, 23 Apr 2023 09:33: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 33N9Xhgn002951; Sun, 23 Apr 2023 09:33:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N9Xh7j002950; Sun, 23 Apr 2023 09:33:43 GMT (envelope-from git) Date: Sun, 23 Apr 2023 09:33:43 GMT Message-Id: <202304230933.33N9Xh7j002950@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 4c1575e360c5 - stable/12 - kern.mk: clang >= 16 already infers ELFv2 for powerpc64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 4c1575e360c5a3fb048de69762c039de9583b1b2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=4c1575e360c5a3fb048de69762c039de9583b1b2 commit 4c1575e360c5a3fb048de69762c039de9583b1b2 Author: Dimitry Andric AuthorDate: 2023-04-20 19:27:11 +0000 Commit: Dimitry Andric CommitDate: 2023-04-23 09:33:12 +0000 kern.mk: clang >= 16 already infers ELFv2 for powerpc64 There is no need to pass -mabi=elfv2 explicitly anymore, and with clang 16 in fact results in a "unused argument" warning. MFC after: 3 days (cherry picked from commit 42140052765e05c83a3ea797dce3eaad94bc3733) --- sys/conf/kern.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index f1e59f2ce497..bbae4ee22009 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -226,8 +226,10 @@ CFLAGS.gcc+= -mabi=elfv2 .else CFLAGS.gcc+= -mcall-aixdesc .endif +.if ${COMPILER_VERSION} < 160000 CFLAGS.clang+= -mabi=elfv2 .endif +.endif # # For MIPS we also tell gcc to use floating point emulation From nobody Sun Apr 23 10:16:38 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q441S1LrZz47BBH; Sun, 23 Apr 2023 10:16: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 4Q441S0f60z3kYy; Sun, 23 Apr 2023 10:16:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682245004; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vaDDp49ilAHquSazTVwOFpZtOXaTR87pwpOHolGyhyk=; b=lBIQjdDqlvrywF03pDTmsaiFqzNqlEa6ocSQM1gUH2lc6cIi1dAFRpORiya5IQtQwi0Zzw BXx/Y+NuqQRjUeh4iVCluc43aDv9H6eCWwZ5LGVZ90H8EGA/qFosvtOAFj9KZL42nHnbZ/ u5JaybYiH6jLT3Iy4ExJmv0pY3QiAdxh9jvgdbx+/TqhuY7gg5pCK4hX3tms0E9TTbjw3t w/d9rmLHGML0ACvBvstGMtKiGCq6Bo24Iha5Fd34U0+5zsoi5/p0qhs3aOyzimRozn0OgN YxFZyN/TlP4/RInYz2qBKB/Zv91jQ3emH6o/YK1mmjd8TC2oInCBvJ+N+JsUwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682245004; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vaDDp49ilAHquSazTVwOFpZtOXaTR87pwpOHolGyhyk=; b=cHoCavv9pcKjpn7gSD5IvQNsvlWCD9cwULXPLRgToRAB2BMBtr765fUgdZ+g2NPBslgpKe 5SPvsVDgl3TjbADFkEZh+rI/cW28oVoLnlvHE2fn1zY+KjbX9U2D21y+Ey0DvqQXBujk8w Zn6epk0qDhxqaQts6T2O1bMaOk75Rgqk5XOlA9KsySXnbyDq3ppg4UIwCvaPX86LbKS4Di To0wViUFRq4rWN4/O2T0GZroCQi1bkZ4CyhDCxMtXZXyv0/0q1ZGF2pglV3Bj9vQsWSN4Q ac+PnC0Oua2Jf4IiSVtezUBH2PsU23RVUIEdYn+WvYYqk919KVRQcYZfH9c/oQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682245004; a=rsa-sha256; cv=none; b=jsXur9OR7v5H1ncfuw9svFKe4c2A/FYPqJyBh/nuAKtRdozNNUYGmRYNAFT3S3SKpX09Dm /6fv65ES1XEexa+qeB3TePJV4Gvri/gZptmbzQKY8MWDQaa+LKPqRABOYBL01YrOj+73c8 pf2g4qnlyik4QlZU+Rw5kANYQFOvoRQKjibXVvRwBrFYcawrx4PN3fTrLpkgThg1TKl1gS 4/YEjgqerQQhEFn05X0/TIf5QTNfoGwr5IVOikXO8LnyTA405GFfuCJY6D9qJfjAWbSyFQ v/PVx4nL944CGdNJFnQUMvIdG9RPP1zKNWJXxqlh1hkul6QSkaqbQsOB1Ijmxg== 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 4Q441R6rSbzfjd; Sun, 23 Apr 2023 10:16: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 33NAGh2J070391; Sun, 23 Apr 2023 10:16:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NAGcib070375; Sun, 23 Apr 2023 10:16:38 GMT (envelope-from git) Date: Sun, 23 Apr 2023 10:16:38 GMT Message-Id: <202304231016.33NAGcib070375@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: 7005cd440405 - stable/13 - zfs: merge openzfs/zfs@e25f9131d (zfs-2.1-release) into stable/13 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7005cd44040529b55573cff6212fde9e3d845215 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=7005cd44040529b55573cff6212fde9e3d845215 commit 7005cd44040529b55573cff6212fde9e3d845215 Merge: 4b0899ae6686 e25f9131d679 Author: Martin Matuska AuthorDate: 2023-04-23 10:12:49 +0000 Commit: Martin Matuska CommitDate: 2023-04-23 10:12:49 +0000 zfs: merge openzfs/zfs@e25f9131d (zfs-2.1-release) into stable/13 OpenZFS release 2.1.11 Notable upstream pull requeset merges: #13368 ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced() (reverted) #13758 Allow mounting snapshots in .zfs/snapshot as a regular user #13816 Fix a race condition in dsl_dataset_sync() when activating features #14039 Optimize microzaps #14196 Remove atomics from zh_refcount #14198 Switch dnode stats to wmsums #14199 Remove few pointer dereferences in dbuf_read() #14200 Micro-optimize zrl_remove() #14218 Avoid a null pointer dereference in zfs_mount() on FreeBSD #14293 Turn default_bs and default_ibs into ZFS_MODULE_PARAMs #14317 Pack zrlock_t by 8 bytes #14402 Prefetch on deadlists merge #14418 Introduce minimal ZIL block commit delay #14448 Fix console progress reporting for recursive send #14454 Improve arc_read() error reporting #14502 Partially revert f806306ce0 "Activate filesystem features only in syncing context" #14516 System-wide speculative prefetch limit #14523 Move dmu_buf_rele() after dsl_dataset_sync_done() #14563 Optimize the is_l2cacheable functions #14573 Add missing increment to dsl_deadlist_move_bpobj() #14621 Colorize patchset #14639 FreeBSD: Remove extra arc_reduce_target_size() call #14641 Additional limits on hole reporting #14653 Update vdev state for spare vdev #14712 Fix "Add colored output to zfs list" #14761 Revert "ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced()" Obtained from: OpenZFS OpenZFS tag: zfs-2.1.11 OpenZFS commit: e25f9131d679692704c11dc0c1df6d4585b70c35 Relnotes: yes .../.github/workflows/build-dependencies.txt | 57 + .../.github/workflows/checkstyle-dependencies.txt | 2 + .../openzfs/.github/workflows/checkstyle.yaml | 23 +- .../workflows/scripts/reclaim_disk_space.sh | 23 + .../.github/workflows/zfs-tests-functional.yml | 38 +- .../openzfs/.github/workflows/zfs-tests-sanity.yml | 40 +- sys/contrib/openzfs/.github/workflows/zloop.yml | 22 +- sys/contrib/openzfs/META | 4 +- sys/contrib/openzfs/cmd/arc_summary/Makefile.am | 7 +- sys/contrib/openzfs/cmd/arc_summary/arc_summary2 | 1180 -------------------- sys/contrib/openzfs/cmd/arc_summary/arc_summary3 | 14 +- sys/contrib/openzfs/cmd/arcstat/arcstat.in | 2 +- sys/contrib/openzfs/cmd/dbufstat/dbufstat.in | 2 +- sys/contrib/openzfs/cmd/zed/agents/zfs_agents.c | 56 +- sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c | 21 +- sys/contrib/openzfs/cmd/zed/agents/zfs_retire.c | 115 +- sys/contrib/openzfs/cmd/zfs/zfs_main.c | 63 +- sys/contrib/openzfs/cmd/zpool/zpool_main.c | 37 +- sys/contrib/openzfs/cmd/ztest/ztest.c | 2 +- sys/contrib/openzfs/config/always-python.m4 | 25 +- sys/contrib/openzfs/config/always-pyzfs.m4 | 7 +- sys/contrib/openzfs/config/kernel-blkdev.m4 | 55 + .../openzfs/config/kernel-generic_io_acct.m4 | 98 +- sys/contrib/openzfs/config/zfs-build.m4 | 35 +- .../openzfs/contrib/dracut/90zfs/Makefile.am | 1 + .../contrib/dracut/90zfs/module-setup.sh.in | 3 + .../contrib/dracut/90zfs/zfs-env-bootfs.service.in | 15 +- .../contrib/dracut/90zfs/zfs-generator.sh.in | 67 +- .../openzfs/contrib/dracut/90zfs/zfs-lib.sh.in | 2 +- .../90zfs/zfs-nonroot-necessities.service.in | 20 + .../dracut/90zfs/zfs-rollback-bootfs.service.in | 3 +- .../dracut/90zfs/zfs-snapshot-bootfs.service.in | 3 +- .../openzfs/contrib/initramfs/scripts/Makefile.am | 1 + sys/contrib/openzfs/contrib/initramfs/scripts/zfs | 11 +- sys/contrib/openzfs/contrib/pyzfs/setup.py.in | 9 +- sys/contrib/openzfs/include/libzfs.h | 4 + sys/contrib/openzfs/include/libzutil.h | 16 + .../include/os/linux/kernel/linux/blkdev_compat.h | 38 +- .../openzfs/include/os/linux/spl/sys/Makefile.am | 1 + .../openzfs/include/os/linux/spl/sys/misc.h | 29 + sys/contrib/openzfs/include/sys/arc_impl.h | 1 + sys/contrib/openzfs/include/sys/bpobj.h | 1 + sys/contrib/openzfs/include/sys/btree.h | 15 +- sys/contrib/openzfs/include/sys/dnode.h | 35 +- sys/contrib/openzfs/include/sys/fs/zfs.h | 1 + sys/contrib/openzfs/include/sys/spa.h | 2 +- sys/contrib/openzfs/include/sys/vdev.h | 3 + sys/contrib/openzfs/include/sys/vdev_impl.h | 3 + sys/contrib/openzfs/include/sys/zap_impl.h | 11 +- sys/contrib/openzfs/include/sys/zfs_context.h | 1 + sys/contrib/openzfs/include/sys/zfs_znode.h | 4 +- sys/contrib/openzfs/include/sys/zrlock.h | 3 +- sys/contrib/openzfs/lib/libzfs/libzfs.abi | 32 +- sys/contrib/openzfs/lib/libzfs/libzfs_diff.c | 6 +- sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 36 +- sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c | 63 +- sys/contrib/openzfs/lib/libzfs/libzfs_util.c | 15 +- .../openzfs/lib/libzfs_core/libzfs_core.abi | 26 + sys/contrib/openzfs/lib/libzutil/Makefile.am | 1 + .../lib/libzutil/os/linux/zutil_setproctitle.c | 299 +++++ sys/contrib/openzfs/man/man4/zfs.4 | 15 +- sys/contrib/openzfs/man/man7/dracut.zfs.7 | 16 +- sys/contrib/openzfs/man/man8/zfs-send.8 | 24 +- sys/contrib/openzfs/man/man8/zfs.8 | 2 + sys/contrib/openzfs/man/man8/zpool.8 | 2 + sys/contrib/openzfs/module/os/freebsd/zfs/arc_os.c | 2 - .../openzfs/module/os/freebsd/zfs/sysctl_os.c | 8 - .../openzfs/module/os/freebsd/zfs/zvol_os.c | 3 + .../openzfs/module/os/linux/spl/spl-generic.c | 33 + .../openzfs/module/os/linux/zfs/qat_compress.c | 2 +- .../openzfs/module/os/linux/zfs/vdev_disk.c | 24 +- .../openzfs/module/os/linux/zfs/zfs_znode.c | 14 +- sys/contrib/openzfs/module/zfs/arc.c | 24 +- sys/contrib/openzfs/module/zfs/bpobj.c | 65 +- sys/contrib/openzfs/module/zfs/btree.c | 52 +- sys/contrib/openzfs/module/zfs/dbuf.c | 69 +- sys/contrib/openzfs/module/zfs/dmu.c | 32 +- sys/contrib/openzfs/module/zfs/dmu_objset.c | 36 +- sys/contrib/openzfs/module/zfs/dmu_send.c | 1 + sys/contrib/openzfs/module/zfs/dmu_zfetch.c | 29 +- sys/contrib/openzfs/module/zfs/dnode.c | 140 ++- sys/contrib/openzfs/module/zfs/dsl_crypt.c | 3 - sys/contrib/openzfs/module/zfs/dsl_dataset.c | 45 +- sys/contrib/openzfs/module/zfs/dsl_deadlist.c | 71 +- sys/contrib/openzfs/module/zfs/dsl_pool.c | 1 + sys/contrib/openzfs/module/zfs/dsl_scan.c | 15 + sys/contrib/openzfs/module/zfs/spa.c | 27 +- sys/contrib/openzfs/module/zfs/spa_config.c | 16 +- sys/contrib/openzfs/module/zfs/spa_misc.c | 4 +- sys/contrib/openzfs/module/zfs/vdev.c | 59 + sys/contrib/openzfs/module/zfs/zap_leaf.c | 4 +- sys/contrib/openzfs/module/zfs/zap_micro.c | 241 ++-- sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 6 +- sys/contrib/openzfs/module/zfs/zfs_vnops.c | 2 +- sys/contrib/openzfs/module/zfs/zil.c | 36 +- sys/contrib/openzfs/module/zfs/zio.c | 2 +- sys/contrib/openzfs/module/zfs/zrlock.c | 8 +- sys/contrib/openzfs/rpm/generic/zfs-dkms.spec.in | 6 +- sys/contrib/openzfs/rpm/generic/zfs-kmod.spec.in | 11 +- sys/contrib/openzfs/rpm/generic/zfs.spec.in | 81 +- sys/contrib/openzfs/scripts/Makefile.am | 2 +- sys/contrib/openzfs/scripts/zfs-tests.sh | 22 +- sys/contrib/openzfs/tests/Makefile.am | 1 + .../tests/test-runner/bin/test-runner.py.in | 83 +- .../openzfs/tests/test-runner/bin/zts-report.py.in | 10 +- .../openzfs/tests/test-runner/man/test-runner.1 | 2 + .../openzfs/tests/zfs-tests/include/commands.cfg | 2 - .../openzfs/tests/zfs-tests/include/libtest.shlib | 2 +- .../cli_root/zfs_program/zfs_program_json.ksh | 16 +- .../cli_root/zfs_send/zfs_send_006_pos.ksh | 32 +- .../functional/fault/auto_offline_001_pos.ksh | 27 +- .../tests/functional/pyzfs/pyzfs_unittest.ksh.in | 2 +- .../functional/rsend/send_encrypted_files.ksh | 2 +- .../functional/rsend/send_realloc_dnode_size.ksh | 2 +- sys/modules/zfs/zfs_config.h | 19 +- sys/modules/zfs/zfs_gitrev.h | 2 +- 116 files changed, 2194 insertions(+), 1972 deletions(-) diff --cc sys/contrib/openzfs/.github/workflows/build-dependencies.txt index 000000000000,73921865c42a..73921865c42a mode 000000,100644..100644 --- a/sys/contrib/openzfs/.github/workflows/build-dependencies.txt +++ b/sys/contrib/openzfs/.github/workflows/build-dependencies.txt diff --cc sys/contrib/openzfs/.github/workflows/checkstyle-dependencies.txt index 000000000000,cc68905d8d36..cc68905d8d36 mode 000000,100644..100644 --- a/sys/contrib/openzfs/.github/workflows/checkstyle-dependencies.txt +++ b/sys/contrib/openzfs/.github/workflows/checkstyle-dependencies.txt diff --cc sys/contrib/openzfs/.github/workflows/scripts/reclaim_disk_space.sh index 000000000000,ed23ce31d85c..ed23ce31d85c mode 000000,100755..100755 --- a/sys/contrib/openzfs/.github/workflows/scripts/reclaim_disk_space.sh +++ b/sys/contrib/openzfs/.github/workflows/scripts/reclaim_disk_space.sh diff --cc sys/contrib/openzfs/contrib/dracut/90zfs/zfs-nonroot-necessities.service.in index 000000000000,8f420c737c72..8f420c737c72 mode 000000,100644..100644 --- a/sys/contrib/openzfs/contrib/dracut/90zfs/zfs-nonroot-necessities.service.in +++ b/sys/contrib/openzfs/contrib/dracut/90zfs/zfs-nonroot-necessities.service.in diff --cc sys/contrib/openzfs/include/os/linux/spl/sys/misc.h index 000000000000,299fe9c1ab07..299fe9c1ab07 mode 000000,100644..100644 --- a/sys/contrib/openzfs/include/os/linux/spl/sys/misc.h +++ b/sys/contrib/openzfs/include/os/linux/spl/sys/misc.h diff --cc sys/contrib/openzfs/lib/libzutil/os/linux/zutil_setproctitle.c index 000000000000,4a6d12cf70cf..4a6d12cf70cf mode 000000,100644..100644 --- a/sys/contrib/openzfs/lib/libzutil/os/linux/zutil_setproctitle.c +++ b/sys/contrib/openzfs/lib/libzutil/os/linux/zutil_setproctitle.c diff --cc sys/modules/zfs/zfs_config.h index 90c8cd12b042,000000000000..36a8a00a1d44 mode 100644,000000..100644 --- a/sys/modules/zfs/zfs_config.h +++ b/sys/modules/zfs/zfs_config.h @@@ -1,984 -1,0 +1,993 @@@ +/* + * $FreeBSD$ + */ + +/* zfs_config.h. Generated from zfs_config.h.in by configure. */ +/* zfs_config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* #undef ENABLE_NLS */ + +/* bio_end_io_t wants 1 arg */ +/* #undef HAVE_1ARG_BIO_END_IO_T */ + +/* lookup_bdev() wants 1 arg */ +/* #undef HAVE_1ARG_LOOKUP_BDEV */ + +/* submit_bio() wants 1 arg */ +/* #undef HAVE_1ARG_SUBMIT_BIO */ + +/* bdi_setup_and_register() wants 2 args */ +/* #undef HAVE_2ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 2 args */ +/* #undef HAVE_2ARGS_VFS_GETATTR */ + +/* zlib_deflate_workspacesize() wants 2 args */ +/* #undef HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE */ + +/* bdi_setup_and_register() wants 3 args */ +/* #undef HAVE_3ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 3 args */ +/* #undef HAVE_3ARGS_VFS_GETATTR */ + +/* vfs_getattr wants 4 args */ +/* #undef HAVE_4ARGS_VFS_GETATTR */ + +/* kernel has access_ok with 'type' parameter */ +/* #undef HAVE_ACCESS_OK_TYPE */ + +/* posix_acl has refcount_t */ +/* #undef HAVE_ACL_REFCOUNT */ + +/* add_disk() returns int */ +/* #undef HAVE_ADD_DISK_RET */ + +/* Define if host toolchain supports AES */ +#define HAVE_AES 1 + +#ifdef __amd64__ +#ifndef RESCUE +/* Define if host toolchain supports AVX */ +#define HAVE_AVX 1 +#endif + +/* Define if host toolchain supports AVX2 */ +#define HAVE_AVX2 1 + +/* Define if host toolchain supports AVX512BW */ +#define HAVE_AVX512BW 1 + +/* Define if host toolchain supports AVX512CD */ +#define HAVE_AVX512CD 1 + +/* Define if host toolchain supports AVX512DQ */ +#define HAVE_AVX512DQ 1 + +/* Define if host toolchain supports AVX512ER */ +#define HAVE_AVX512ER 1 + +/* Define if host toolchain supports AVX512F */ +#define HAVE_AVX512F 1 + +/* Define if host toolchain supports AVX512IFMA */ +#define HAVE_AVX512IFMA 1 + +/* Define if host toolchain supports AVX512PF */ +#define HAVE_AVX512PF 1 + +/* Define if host toolchain supports AVX512VBMI */ +#define HAVE_AVX512VBMI 1 + +/* Define if host toolchain supports AVX512VL */ +#define HAVE_AVX512VL 1 +#endif + +/* bdevname() is available */ +/* #undef HAVE_BDEVNAME */ + +/* bdev_check_media_change() exists */ +/* #undef HAVE_BDEV_CHECK_MEDIA_CHANGE */ + +/* bdev_*_io_acct() available */ - /* #undef HAVE_BDEV_IO_ACCT */ ++/* #undef HAVE_BDEV_IO_ACCT_63 */ ++ ++/* bdev_*_io_acct() available */ ++/* #undef HAVE_BDEV_IO_ACCT_OLD */ ++ ++/* bdev_kobj() exists */ ++/* #undef HAVE_BDEV_KOBJ */ + +/* bdev_max_discard_sectors() is available */ +/* #undef HAVE_BDEV_MAX_DISCARD_SECTORS */ + +/* bdev_max_secure_erase_sectors() is available */ +/* #undef HAVE_BDEV_MAX_SECURE_ERASE_SECTORS */ + +/* block_device_operations->submit_bio() returns void */ +/* #undef HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID */ + +/* bdev_whole() is available */ +/* #undef HAVE_BDEV_WHOLE */ + +/* bio_alloc() takes 4 arguments */ +/* #undef HAVE_BIO_ALLOC_4ARG */ + +/* bio->bi_bdev->bd_disk exists */ +/* #undef HAVE_BIO_BDEV_DISK */ + +/* bio->bi_opf is defined */ +/* #undef HAVE_BIO_BI_OPF */ + +/* bio->bi_status exists */ +/* #undef HAVE_BIO_BI_STATUS */ + +/* bio has bi_iter */ +/* #undef HAVE_BIO_BVEC_ITER */ + +/* bio_*_io_acct() available */ +/* #undef HAVE_BIO_IO_ACCT */ + +/* bio_max_segs() is implemented */ +/* #undef HAVE_BIO_MAX_SEGS */ + +/* bio_set_dev() is available */ +/* #undef HAVE_BIO_SET_DEV */ + +/* bio_set_dev() GPL-only */ +/* #undef HAVE_BIO_SET_DEV_GPL_ONLY */ + +/* bio_set_dev() is a macro */ +/* #undef HAVE_BIO_SET_DEV_MACRO */ + +/* bio_set_op_attrs is available */ +/* #undef HAVE_BIO_SET_OP_ATTRS */ + +/* blkdev_get_by_path() handles ERESTARTSYS */ +/* #undef HAVE_BLKDEV_GET_ERESTARTSYS */ + +/* blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD */ + +/* blkdev_issue_secure_erase() is available */ +/* #undef HAVE_BLKDEV_ISSUE_SECURE_ERASE */ + +/* blkdev_reread_part() exists */ +/* #undef HAVE_BLKDEV_REREAD_PART */ + +/* blkg_tryget() is available */ +/* #undef HAVE_BLKG_TRYGET */ + +/* blkg_tryget() GPL-only */ +/* #undef HAVE_BLKG_TRYGET_GPL_ONLY */ + +/* blk_alloc_disk() exists */ +/* #undef HAVE_BLK_ALLOC_DISK */ + +/* blk_alloc_queue() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN */ + +/* blk_alloc_queue_rh() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN_RH */ + +/* blk_cleanup_disk() exists */ +/* #undef HAVE_BLK_CLEANUP_DISK */ + +/* blk queue backing_dev_info is dynamic */ +/* #undef HAVE_BLK_QUEUE_BDI_DYNAMIC */ + +/* blk_queue_discard() is available */ +/* #undef HAVE_BLK_QUEUE_DISCARD */ + +/* blk_queue_flag_clear() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_CLEAR */ + +/* blk_queue_flag_set() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_SET */ + +/* blk_queue_flush() is available */ +/* #undef HAVE_BLK_QUEUE_FLUSH */ + +/* blk_queue_flush() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_FLUSH_GPL_ONLY */ + +/* blk_queue_secdiscard() is available */ +/* #undef HAVE_BLK_QUEUE_SECDISCARD */ + +/* blk_queue_secure_erase() is available */ +/* #undef HAVE_BLK_QUEUE_SECURE_ERASE */ + +/* blk_queue_update_readahead() exists */ +/* #undef HAVE_BLK_QUEUE_UPDATE_READAHEAD */ + +/* blk_queue_write_cache() exists */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE */ + +/* blk_queue_write_cache() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE_GPL_ONLY */ + +/* Define if revalidate_disk() in block_device_operations */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK */ + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYCURRENT */ + +/* Define to 1 if you have the Mac OS X function + CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* check_disk_change() exists */ +/* #undef HAVE_CHECK_DISK_CHANGE */ + +/* clear_inode() is available */ +/* #undef HAVE_CLEAR_INODE */ + +/* dentry uses const struct dentry_operations */ +/* #undef HAVE_CONST_DENTRY_OPERATIONS */ + +/* copy_from_iter() is available */ +/* #undef HAVE_COPY_FROM_ITER */ + +/* copy_to_iter() is available */ +/* #undef HAVE_COPY_TO_ITER */ + +/* yes */ +/* #undef HAVE_CPU_HOTPLUG */ + +/* current_time() exists */ +/* #undef HAVE_CURRENT_TIME */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* #undef HAVE_DCGETTEXT */ + +/* DECLARE_EVENT_CLASS() is available */ +/* #undef HAVE_DECLARE_EVENT_CLASS */ + +/* dentry aliases are in d_u member */ +/* #undef HAVE_DENTRY_D_U_ALIASES */ + +/* dequeue_signal() takes 4 arguments */ +/* #undef HAVE_DEQUEUE_SIGNAL_4ARG */ + +/* lookup_bdev() wants dev_t arg */ +/* #undef HAVE_DEVT_LOOKUP_BDEV */ + +/* sops->dirty_inode() wants flags */ +/* #undef HAVE_DIRTY_INODE_WITH_FLAGS */ + +/* disk_*_io_acct() available */ +/* #undef HAVE_DISK_IO_ACCT */ + +/* disk_update_readahead() exists */ +/* #undef HAVE_DISK_UPDATE_READAHEAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* d_make_root() is available */ +/* #undef HAVE_D_MAKE_ROOT */ + +/* d_prune_aliases() is available */ +/* #undef HAVE_D_PRUNE_ALIASES */ + +/* dops->d_revalidate() operation takes nameidata */ +/* #undef HAVE_D_REVALIDATE_NAMEIDATA */ + +/* eops->encode_fh() wants child and parent inodes */ +/* #undef HAVE_ENCODE_FH_WITH_INODE */ + +/* sops->evict_inode() exists */ +/* #undef HAVE_EVICT_INODE */ + +/* FALLOC_FL_ZERO_RANGE is defined */ +/* #undef HAVE_FALLOC_FL_ZERO_RANGE */ + +/* fault_in_iov_iter_readable() is available */ +/* #undef HAVE_FAULT_IN_IOV_ITER_READABLE */ + +/* fops->aio_fsync() exists */ +/* #undef HAVE_FILE_AIO_FSYNC */ + +/* file_dentry() is available */ +/* #undef HAVE_FILE_DENTRY */ + +/* file_inode() is available */ +/* #undef HAVE_FILE_INODE */ + +/* iops->follow_link() cookie */ +/* #undef HAVE_FOLLOW_LINK_COOKIE */ + +/* iops->follow_link() nameidata */ +/* #undef HAVE_FOLLOW_LINK_NAMEIDATA */ + +/* fops->fsync() with range */ +/* #undef HAVE_FSYNC_RANGE */ + +/* fops->fsync() without dentry */ +/* #undef HAVE_FSYNC_WITHOUT_DENTRY */ + +/* generic_fillattr requires struct user_namespace* */ +/* #undef HAVE_GENERIC_FILLATTR_USERNS */ + +/* generic_*_io_acct() 3 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_3ARG */ + +/* generic_*_io_acct() 4 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_4ARG */ + +/* generic_readlink is global */ +/* #undef HAVE_GENERIC_READLINK */ + +/* generic_setxattr() exists */ +/* #undef HAVE_GENERIC_SETXATTR */ + +/* generic_write_checks() takes kiocb */ +/* #undef HAVE_GENERIC_WRITE_CHECKS_KIOCB */ + +/* Define if the GNU gettext() function is already present or preinstalled. */ +/* #undef HAVE_GETTEXT */ + +/* iops->get_acl() exists */ +/* #undef HAVE_GET_ACL */ + +/* iops->get_acl() takes rcu */ +/* #undef HAVE_GET_ACL_RCU */ + +/* has iops->get_inode_acl() */ +/* #undef HAVE_GET_INODE_ACL */ + +/* iops->get_link() cookie */ +/* #undef HAVE_GET_LINK_COOKIE */ + +/* iops->get_link() delayed */ +/* #undef HAVE_GET_LINK_DELAYED */ + +/* group_info->gid exists */ +/* #undef HAVE_GROUP_INFO_GID */ + +/* has_capability() is available */ +/* #undef HAVE_HAS_CAPABILITY */ + +/* Define if you have the iconv() function and it works. */ +#define HAVE_ICONV 1 + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_INFINITE_RECURSION */ + +/* yes */ +/* #undef HAVE_INODE_LOCK_SHARED */ + +/* inode_owner_or_capable() exists */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE */ + +/* inode_owner_or_capable() takes user_ns */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_IDMAPPED */ + +/* inode_set_flags() exists */ +/* #undef HAVE_INODE_SET_FLAGS */ + +/* inode_set_iversion() exists */ +/* #undef HAVE_INODE_SET_IVERSION */ + +/* inode->i_*time's are timespec64 */ +/* #undef HAVE_INODE_TIMESPEC64_TIMES */ + +/* timestamp_truncate() exists */ +/* #undef HAVE_INODE_TIMESTAMP_TRUNCATE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* in_compat_syscall() is available */ +/* #undef HAVE_IN_COMPAT_SYSCALL */ + +/* iops->create() takes struct user_namespace* */ +/* #undef HAVE_IOPS_CREATE_USERNS */ + +/* iops->mkdir() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKDIR_USERNS */ + +/* iops->mknod() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKNOD_USERNS */ + +/* iops->rename() takes struct user_namespace* */ +/* #undef HAVE_IOPS_RENAME_USERNS */ + +/* iops->symlink() takes struct user_namespace* */ +/* #undef HAVE_IOPS_SYMLINK_USERNS */ + +/* iov_iter_advance() is available */ +/* #undef HAVE_IOV_ITER_ADVANCE */ + +/* iov_iter_count() is available */ +/* #undef HAVE_IOV_ITER_COUNT */ + +/* iov_iter_fault_in_readable() is available */ +/* #undef HAVE_IOV_ITER_FAULT_IN_READABLE */ + +/* iov_iter_revert() is available */ +/* #undef HAVE_IOV_ITER_REVERT */ + +/* iov_iter_type() is available */ +/* #undef HAVE_IOV_ITER_TYPE */ + +/* iov_iter types are available */ +/* #undef HAVE_IOV_ITER_TYPES */ + +/* yes */ +/* #undef HAVE_IO_SCHEDULE_TIMEOUT */ + +/* Define to 1 if you have the `issetugid' function. */ +#define HAVE_ISSETUGID 1 + +/* kernel has kernel_fpu_* functions */ +/* #undef HAVE_KERNEL_FPU */ + +/* kernel has asm/fpu/api.h */ +/* #undef HAVE_KERNEL_FPU_API_HEADER */ + +/* kernel fpu internal */ +/* #undef HAVE_KERNEL_FPU_INTERNAL */ + +/* kernel has asm/fpu/internal.h */ +/* #undef HAVE_KERNEL_FPU_INTERNAL_HEADER */ + +/* kernel has asm/fpu/xcr.h */ +/* #undef HAVE_KERNEL_FPU_XCR_HEADER */ + +/* kernel fpu and XSAVE internal */ +/* #undef HAVE_KERNEL_FPU_XSAVE_INTERNAL */ + +/* uncached_acl_sentinel() exists */ +/* #undef HAVE_KERNEL_GET_ACL_HANDLE_CACHE */ + +/* kernel does stack verification */ +/* #undef HAVE_KERNEL_OBJTOOL */ + +/* kernel has linux/objtool.h */ +/* #undef HAVE_KERNEL_OBJTOOL_HEADER */ + +/* kernel_read() take loff_t pointer */ +/* #undef HAVE_KERNEL_READ_PPOS */ + +/* timer_list.function gets a timer_list */ +/* #undef HAVE_KERNEL_TIMER_FUNCTION_TIMER_LIST */ + +/* struct timer_list has a flags member */ +/* #undef HAVE_KERNEL_TIMER_LIST_FLAGS */ + +/* timer_setup() is available */ +/* #undef HAVE_KERNEL_TIMER_SETUP */ + +/* kernel_write() take loff_t pointer */ +/* #undef HAVE_KERNEL_WRITE_PPOS */ + +/* kmem_cache_create_usercopy() exists */ +/* #undef HAVE_KMEM_CACHE_CREATE_USERCOPY */ + +/* kstrtoul() exists */ +/* #undef HAVE_KSTRTOUL */ + +/* ktime_get_coarse_real_ts64() exists */ +/* #undef HAVE_KTIME_GET_COARSE_REAL_TS64 */ + +/* ktime_get_raw_ts64() exists */ +/* #undef HAVE_KTIME_GET_RAW_TS64 */ + +/* kvmalloc exists */ +/* #undef HAVE_KVMALLOC */ + +/* Define if you have [aio] */ +/* #undef HAVE_LIBAIO */ + +/* Define if you have [blkid] */ +/* #undef HAVE_LIBBLKID */ + +/* Define if you have [crypto] */ +#define HAVE_LIBCRYPTO 1 + +/* Define if you have [tirpc] */ +/* #undef HAVE_LIBTIRPC */ + +/* Define if you have [udev] */ +/* #undef HAVE_LIBUDEV */ + +/* Define if you have [uuid] */ +/* #undef HAVE_LIBUUID */ + +/* linux/blk-cgroup.h exists */ +/* #undef HAVE_LINUX_BLK_CGROUP_HEADER */ + +/* lseek_execute() is available */ +/* #undef HAVE_LSEEK_EXECUTE */ + +/* makedev() is declared in sys/mkdev.h */ +/* #undef HAVE_MAKEDEV_IN_MKDEV */ + +/* makedev() is declared in sys/sysmacros.h */ +/* #undef HAVE_MAKEDEV_IN_SYSMACROS */ + +/* Noting that make_request_fn() returns blk_qc_t */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_QC */ + +/* Noting that make_request_fn() returns void */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_VOID */ + +/* iops->mkdir() takes umode_t */ +/* #undef HAVE_MKDIR_UMODE_T */ + +/* Define to 1 if you have the `mlockall' function. */ +#define HAVE_MLOCKALL 1 + +/* lookup_bdev() wants mode arg */ +/* #undef HAVE_MODE_LOOKUP_BDEV */ + +/* Define if host toolchain supports MOVBE */ +#define HAVE_MOVBE 1 + +/* new_sync_read()/new_sync_write() are available */ +/* #undef HAVE_NEW_SYNC_READ */ + +/* folio_wait_bit() exists */ +/* #undef HAVE_PAGEMAP_FOLIO_WAIT_BIT */ + ++/* part_to_dev() exists */ ++/* #undef HAVE_PART_TO_DEV */ ++ +/* iops->getattr() takes a path */ +/* #undef HAVE_PATH_IOPS_GETATTR */ + +/* Define if host toolchain supports PCLMULQDQ */ +#define HAVE_PCLMULQDQ 1 + +/* percpu_counter_add_batch() is defined */ +/* #undef HAVE_PERCPU_COUNTER_ADD_BATCH */ + +/* percpu_counter_init() wants gfp_t */ +/* #undef HAVE_PERCPU_COUNTER_INIT_WITH_GFP */ + +/* posix_acl_chmod() exists */ +/* #undef HAVE_POSIX_ACL_CHMOD */ + +/* posix_acl_from_xattr() needs user_ns */ +/* #undef HAVE_POSIX_ACL_FROM_XATTR_USERNS */ + +/* posix_acl_release() is available */ +/* #undef HAVE_POSIX_ACL_RELEASE */ + +/* posix_acl_release() is GPL-only */ +/* #undef HAVE_POSIX_ACL_RELEASE_GPL_ONLY */ + +/* posix_acl_valid() wants user namespace */ +/* #undef HAVE_POSIX_ACL_VALID_WITH_NS */ + +/* proc_ops structure exists */ +/* #undef HAVE_PROC_OPS_STRUCT */ + +/* iops->put_link() cookie */ +/* #undef HAVE_PUT_LINK_COOKIE */ + +/* iops->put_link() delayed */ +/* #undef HAVE_PUT_LINK_DELAYED */ + +/* iops->put_link() nameidata */ +/* #undef HAVE_PUT_LINK_NAMEIDATA */ + +/* If available, contains the Python version number currently in use. */ +#define HAVE_PYTHON "3.7" + +/* qat is enabled and existed */ +/* #undef HAVE_QAT */ + +/* register_shrinker is vararg */ +/* #undef HAVE_REGISTER_SHRINKER_VARARG */ + +/* iops->rename() wants flags */ +/* #undef HAVE_RENAME_WANTS_FLAGS */ + +/* REQ_DISCARD is defined */ +/* #undef HAVE_REQ_DISCARD */ + +/* REQ_FLUSH is defined */ +/* #undef HAVE_REQ_FLUSH */ + +/* REQ_OP_DISCARD is defined */ +/* #undef HAVE_REQ_OP_DISCARD */ + +/* REQ_OP_FLUSH is defined */ +/* #undef HAVE_REQ_OP_FLUSH */ + +/* REQ_OP_SECURE_ERASE is defined */ +/* #undef HAVE_REQ_OP_SECURE_ERASE */ + +/* REQ_PREFLUSH is defined */ +/* #undef HAVE_REQ_PREFLUSH */ + +/* revalidate_disk() is available */ +/* #undef HAVE_REVALIDATE_DISK */ + +/* revalidate_disk_size() is available */ +/* #undef HAVE_REVALIDATE_DISK_SIZE */ + +/* struct rw_semaphore has member activity */ +/* #undef HAVE_RWSEM_ACTIVITY */ + +/* struct rw_semaphore has atomic_long_t member count */ +/* #undef HAVE_RWSEM_ATOMIC_LONG_COUNT */ + +/* linux/sched/signal.h exists */ +/* #undef HAVE_SCHED_SIGNAL_HEADER */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SECURITY_PAM_MODULES_H 1 + +/* setattr_prepare() is available, doesn't accept user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_NO_USERNS */ + +/* setattr_prepare() accepts user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_USERNS */ + +/* iops->set_acl() exists, takes 3 args */ +/* #undef HAVE_SET_ACL */ + +/* iops->set_acl() takes 4 args */ +/* #undef HAVE_SET_ACL_USERNS */ + +/* iops->set_acl() takes 4 args, arg2 is struct dentry * */ +/* #undef HAVE_SET_ACL_USERNS_DENTRY_ARG2 */ + +/* set_cached_acl() is usable */ +/* #undef HAVE_SET_CACHED_ACL_USABLE */ + +/* set_special_state() exists */ +/* #undef HAVE_SET_SPECIAL_STATE */ + +/* struct shrink_control exists */ +/* #undef HAVE_SHRINK_CONTROL_STRUCT */ + +/* kernel_siginfo_t exists */ +/* #undef HAVE_SIGINFO */ + +/* signal_stop() exists */ +/* #undef HAVE_SIGNAL_STOP */ + +/* new shrinker callback wants 2 args */ +/* #undef HAVE_SINGLE_SHRINKER_CALLBACK */ + +/* cs->count_objects exists */ +/* #undef HAVE_SPLIT_SHRINKER_CALLBACK */ + +#if defined(__amd64__) || defined(__i386__) +/* Define if host toolchain supports SSE */ +#define HAVE_SSE 1 + +/* Define if host toolchain supports SSE2 */ +#define HAVE_SSE2 1 + +/* Define if host toolchain supports SSE3 */ +#define HAVE_SSE3 1 + +/* Define if host toolchain supports SSE4.1 */ +#define HAVE_SSE4_1 1 + +/* Define if host toolchain supports SSE4.2 */ +#define HAVE_SSE4_2 1 + +/* Define if host toolchain supports SSSE3 */ +#define HAVE_SSSE3 1 +#endif + +/* STACK_FRAME_NON_STANDARD is defined */ +/* #undef HAVE_STACK_FRAME_NON_STANDARD */ + +/* standalone exists */ +/* #undef HAVE_STANDALONE_LINUX_STDARG */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strlcat' function. */ +#define HAVE_STRLCAT 1 + +/* Define to 1 if you have the `strlcpy' function. */ +#define HAVE_STRLCPY 1 + +/* submit_bio is member of struct block_device_operations */ +/* #undef HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS */ + +/* super_setup_bdi_name() exits */ +/* #undef HAVE_SUPER_SETUP_BDI_NAME */ + +/* super_block->s_user_ns exists */ +/* #undef HAVE_SUPER_USER_NS */ + +/* struct kobj_type has default_groups */ +/* #undef HAVE_SYSFS_DEFAULT_GROUPS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* i_op->tmpfile() exists */ +/* #undef HAVE_TMPFILE */ + +/* i_op->tmpfile() uses old dentry signature */ +/* #undef HAVE_TMPFILE_DENTRY */ + +/* i_op->tmpfile() has userns */ +/* #undef HAVE_TMPFILE_USERNS */ + +/* totalhigh_pages() exists */ +/* #undef HAVE_TOTALHIGH_PAGES */ + +/* kernel has totalram_pages() */ +/* #undef HAVE_TOTALRAM_PAGES_FUNC */ + +/* Define to 1 if you have the `udev_device_get_is_initialized' function. */ +/* #undef HAVE_UDEV_DEVICE_GET_IS_INITIALIZED */ + +/* kernel has __kernel_fpu_* functions */ +/* #undef HAVE_UNDERSCORE_KERNEL_FPU */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* iops->getattr() takes struct user_namespace* */ +/* #undef HAVE_USERNS_IOPS_GETATTR */ + +/* iops->getattr() takes a vfsmount */ +/* #undef HAVE_VFSMOUNT_IOPS_GETATTR */ + +/* aops->direct_IO() uses iovec */ +/* #undef HAVE_VFS_DIRECT_IO_IOVEC */ + +/* aops->direct_IO() uses iov_iter without rw */ +/* #undef HAVE_VFS_DIRECT_IO_ITER */ + +/* aops->direct_IO() uses iov_iter with offset */ +/* #undef HAVE_VFS_DIRECT_IO_ITER_OFFSET */ + +/* aops->direct_IO() uses iov_iter with rw and offset */ +/* #undef HAVE_VFS_DIRECT_IO_ITER_RW_OFFSET */ + +/* filemap_dirty_folio exists */ +/* #undef HAVE_VFS_FILEMAP_DIRTY_FOLIO */ + +/* All required iov_iter interfaces are available */ +/* #undef HAVE_VFS_IOV_ITER */ + +/* fops->iterate() is available */ +/* #undef HAVE_VFS_ITERATE */ + *** 222 LINES SKIPPED *** From nobody Sun Apr 23 13:23:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q488q40C4z45QgP; Sun, 23 Apr 2023 13:23: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 4Q488q3Xvmz3wdL; Sun, 23 Apr 2023 13:23:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682256203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rjjwnt3vjSsu25tPARPhEF2W0HYH5O4M+p9MZmU4dRM=; b=T0ReRzRCACTgl+m+8kEzzspLtggQdh37ljsGI33PpQ3gmmIctSrznMinya95IHvl5c9NQB 6DEFBq2OCO2BEkkc/hRa77djB8M5AK2nZL/KjgqlT+muGOm3A8xTF3BNFyFFA0KZ8eS33Z lOy0QNIHdbw9zo/fRRMLqye4fdkTMfk5f0nUy5CLrGZivperyx5P42Zg5mW6+R6GOi3uXP OpJPfV1lE7+z4Hlfebli82/cugj6gm9AEEUIMZsU6X9waGqYNzdENDbB1IQTbQ6VK/QTIH LupKosv8ktivek9hfimxy4If3DkxZ5bCjgywd12Jgpc8w6aQl3QWdIZKhJeyaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682256203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rjjwnt3vjSsu25tPARPhEF2W0HYH5O4M+p9MZmU4dRM=; b=tRGBambFVXy5Yza8xQUyK3REHbUf5/lR10NpJhYEBVt56xsA1rG0sRQcULZ9ZNJ5hv7c3p +MmBTpV3OGiE63ojUw8CtJ2G7frJIP3LHOur2/tLFiQz+J9Dh3flyblK5r6M7u4gKal45g jtlSXi5P4d2wtASwGEAYmi9DGROXPyuhEPcprjdEOOxEaNpdFEQzyiYygpPRMiAHYH3jhq BjOy6kJh7uauYn0hAH8V22cPKKg5jedH0rwRiTDpkmuxv5Gq3pqepiyjS52ewXPyXSY/9B lnx54jA6bz9sPN5BclspOEDMwDxJ2SMd1YCBFJlLaCzjzQ0tzBy+L0yZ7vBzhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682256203; a=rsa-sha256; cv=none; b=r9ssr7aHIpGNy2DNVAciQqulenQCMa6bPvOY1Og+Z0zQS9Amtfm539I9eicQ6ImeZXzinD xp/4WKm1ELu1F8wq4FpR8qLpJX+lzubNhHeeimYr05oQjSI/mV9v3PEIOMzftvzo9bTwlC WWfQ6/5LFrFQr4yopwjGNP+szybyskMkdr7AAfxSj5OZswN8CcGWDyhlGJyJzKH7mmZ5qU dalad8nXLnxxR7BsG2yZarVTk9wLwhoWTNEL7esp65QNux8wDWdgEdv6CBNcRbiDdDiZVg qAlLTMOQqdOrUOHVC62YreHhIXR5Y/nc7MHXQnqkEENE0XnOup25Xr2KUfkXng== 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 4Q488q2fdzzlgq; Sun, 23 Apr 2023 13:23: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 33NDNNV2082549; Sun, 23 Apr 2023 13:23:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NDNNHx082548; Sun, 23 Apr 2023 13:23:23 GMT (envelope-from git) Date: Sun, 23 Apr 2023 13:23:23 GMT Message-Id: <202304231323.33NDNNHx082548@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: d14260188752 - main - powerpc: fix a few pmap related functions to return correct types List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d142601887524fc595ed0f5e6a69419727222f0a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=d142601887524fc595ed0f5e6a69419727222f0a commit d142601887524fc595ed0f5e6a69419727222f0a Author: Dimitry Andric AuthorDate: 2023-04-23 13:22:44 +0000 Commit: Dimitry Andric CommitDate: 2023-04-23 13:23:04 +0000 powerpc: fix a few pmap related functions to return correct types While experimenting with changing boolean_t to another type, I noticed that several powerpc pmap related functions returned the wrong type: boolean_t instead of int. Fix several declarations and definitions to match the actual pmap function types: pmap_dev_direct_mapped_t and pmap_ts_referenced_t. MFC after: 3 days --- sys/powerpc/aim/mmu_oea.c | 4 ++-- sys/powerpc/aim/mmu_oea64.c | 4 ++-- sys/powerpc/aim/mmu_radix.c | 8 ++++---- sys/powerpc/booke/pmap.c | 2 +- sys/powerpc/powerpc/pmap_dispatch.c | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index 1478b508c1c8..d646312eff4a 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -320,7 +320,7 @@ vm_paddr_t moea_kextract(vm_offset_t); void moea_kenter_attr(vm_offset_t, vm_paddr_t, vm_memattr_t); void moea_kenter(vm_offset_t, vm_paddr_t); void moea_page_set_memattr(vm_page_t m, vm_memattr_t ma); -boolean_t moea_dev_direct_mapped(vm_paddr_t, vm_size_t); +int moea_dev_direct_mapped(vm_paddr_t, vm_size_t); static void moea_sync_icache(pmap_t, vm_offset_t, vm_size_t); void moea_dumpsys_map(vm_paddr_t pa, size_t sz, void **va); void moea_scan_init(void); @@ -2658,7 +2658,7 @@ moea_bat_mapped(int idx, vm_paddr_t pa, vm_size_t size) return (0); } -boolean_t +int moea_dev_direct_mapped(vm_paddr_t pa, vm_size_t size) { int i; diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c index 48bd03e2a0a4..f3810b830cb9 100644 --- a/sys/powerpc/aim/mmu_oea64.c +++ b/sys/powerpc/aim/mmu_oea64.c @@ -430,7 +430,7 @@ vm_paddr_t moea64_kextract(vm_offset_t); void moea64_page_set_memattr(vm_page_t m, vm_memattr_t ma); void moea64_kenter_attr(vm_offset_t, vm_paddr_t, vm_memattr_t ma); void moea64_kenter(vm_offset_t, vm_paddr_t); -boolean_t moea64_dev_direct_mapped(vm_paddr_t, vm_size_t); +int moea64_dev_direct_mapped(vm_paddr_t, vm_size_t); static void moea64_sync_icache(pmap_t, vm_offset_t, vm_size_t); void moea64_dumpsys_map(vm_paddr_t pa, size_t sz, void **va); @@ -3142,7 +3142,7 @@ moea64_clear_bit(vm_page_t m, u_int64_t ptebit) return (count); } -boolean_t +int moea64_dev_direct_mapped(vm_paddr_t pa, vm_size_t size) { struct pvo_entry *pvo, key; diff --git a/sys/powerpc/aim/mmu_radix.c b/sys/powerpc/aim/mmu_radix.c index c95de527f554..99f8806456be 100644 --- a/sys/powerpc/aim/mmu_radix.c +++ b/sys/powerpc/aim/mmu_radix.c @@ -458,7 +458,7 @@ void mmu_radix_qenter(vm_offset_t, vm_page_t *, int); void mmu_radix_qremove(vm_offset_t, int); vm_offset_t mmu_radix_quick_enter_page(vm_page_t); void mmu_radix_quick_remove_page(vm_offset_t); -boolean_t mmu_radix_ts_referenced(vm_page_t); +int mmu_radix_ts_referenced(vm_page_t); void mmu_radix_release(pmap_t); void mmu_radix_remove(pmap_t, vm_offset_t, vm_offset_t); void mmu_radix_remove_all(vm_page_t); @@ -492,7 +492,7 @@ static void *mmu_radix_mapdev(vm_paddr_t, vm_size_t); static void *mmu_radix_mapdev_attr(vm_paddr_t, vm_size_t, vm_memattr_t); static void mmu_radix_unmapdev(void *, vm_size_t); static void mmu_radix_kenter_attr(vm_offset_t, vm_paddr_t, vm_memattr_t ma); -static boolean_t mmu_radix_dev_direct_mapped(vm_paddr_t, vm_size_t); +static int mmu_radix_dev_direct_mapped(vm_paddr_t, vm_size_t); static void mmu_radix_dumpsys_map(vm_paddr_t pa, size_t sz, void **va); static void mmu_radix_scan_init(void); static void mmu_radix_cpu_bootstrap(int ap); @@ -3845,7 +3845,7 @@ mmu_radix_is_referenced(vm_page_t m) * invalidations are performed before the PV list lock is * released. */ -boolean_t +int mmu_radix_ts_referenced(vm_page_t m) { struct md_page *pvh; @@ -6102,7 +6102,7 @@ mmu_radix_decode_kernel_ptr(vm_offset_t addr, return (0); } -static boolean_t +static int mmu_radix_dev_direct_mapped(vm_paddr_t pa, vm_size_t size) { diff --git a/sys/powerpc/booke/pmap.c b/sys/powerpc/booke/pmap.c index f3b2f16b5f93..bed0b2b4b174 100644 --- a/sys/powerpc/booke/pmap.c +++ b/sys/powerpc/booke/pmap.c @@ -338,7 +338,7 @@ static vm_paddr_t mmu_booke_kextract(vm_offset_t); static void mmu_booke_kenter(vm_offset_t, vm_paddr_t); static void mmu_booke_kenter_attr(vm_offset_t, vm_paddr_t, vm_memattr_t); static void mmu_booke_kremove(vm_offset_t); -static boolean_t mmu_booke_dev_direct_mapped(vm_paddr_t, vm_size_t); +static int mmu_booke_dev_direct_mapped(vm_paddr_t, vm_size_t); static void mmu_booke_sync_icache(pmap_t, vm_offset_t, vm_size_t); static void mmu_booke_dumpsys_map(vm_paddr_t pa, size_t, diff --git a/sys/powerpc/powerpc/pmap_dispatch.c b/sys/powerpc/powerpc/pmap_dispatch.c index 42ff7a6de304..63566d2d11d6 100644 --- a/sys/powerpc/powerpc/pmap_dispatch.c +++ b/sys/powerpc/powerpc/pmap_dispatch.c @@ -150,7 +150,7 @@ DEFINE_PMAP_IFUNC(void, qenter, (vm_offset_t, vm_page_t *, int)); DEFINE_PMAP_IFUNC(void, qremove, (vm_offset_t, int)); DEFINE_PMAP_IFUNC(vm_offset_t, quick_enter_page, (vm_page_t)); DEFINE_PMAP_IFUNC(void, quick_remove_page, (vm_offset_t)); -DEFINE_PMAP_IFUNC(boolean_t, ts_referenced, (vm_page_t)); +DEFINE_PMAP_IFUNC(int, ts_referenced, (vm_page_t)); DEFINE_PMAP_IFUNC(void, release, (pmap_t)); DEFINE_PMAP_IFUNC(void, remove, (pmap_t, vm_offset_t, vm_offset_t)); DEFINE_PMAP_IFUNC(void, remove_all, (vm_page_t)); @@ -179,7 +179,7 @@ DEFINE_PMAP_IFUNC(void, unmapdev, (void *, vm_size_t)); DEFINE_PMAP_IFUNC(int, map_user_ptr, (pmap_t, volatile const void *, void **, size_t, size_t *)); DEFINE_PMAP_IFUNC(int, decode_kernel_ptr, (vm_offset_t, int *, vm_offset_t *)); -DEFINE_PMAP_IFUNC(boolean_t, dev_direct_mapped, (vm_paddr_t, vm_size_t)); +DEFINE_PMAP_IFUNC(int, dev_direct_mapped, (vm_paddr_t, vm_size_t)); DEFINE_PMAP_IFUNC(void, sync_icache, (pmap_t, vm_offset_t, vm_size_t)); DEFINE_PMAP_IFUNC(int, change_attr, (vm_offset_t, vm_size_t, vm_memattr_t)); DEFINE_PMAP_IFUNC(void, page_array_startup, (long)); From nobody Sun Apr 23 13:25:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q48CX32VRz45Qbm; Sun, 23 Apr 2023 13:25: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 4Q48CX2XQsz41sd; Sun, 23 Apr 2023 13:25:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682256344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vjt5u4dxXDH4Tm3EaLbPhATYZSXO2vR47bynn72iF48=; b=YC7dOH3dULRJPGXErtcZ7qXAy5e5mJUJFF+5ZARPpEMItchOrWBNwNcCvXbta3FCjEvLlC xLdp6eSWzYpw8xKoEtigm0e58HFndgK+cBz2DpRIwWuArpN4Epk0jBpF/HmIG3OlegSqb9 wQIr4fPTjXt/nR0NY6oelSAp4IEfa8BcDutM7WS+DoZz92DCBfKCFxc0Dy2Gxo1+RjqHoT Am1NBK8KgWj768j2ry8qf6zhlmTXwNK0hIn8qU+iCtZg2bcll5/fj20IIgchHDjaytdYtx G4YOOv38jkBcdgWB2qUxr0eiJmW6VAP8qKmEE+BFt2gLL5W9DVNPwfzr7MQgEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682256344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vjt5u4dxXDH4Tm3EaLbPhATYZSXO2vR47bynn72iF48=; b=uaLQJFNEkrlPXycQD45nKGGv6grphMiGdrCMU1AV58H+AElguKLs8370N3Qu5nIM8NPNk5 FUksylYyPbeOpmslNOIRYOEq0+zCRprRNSEx5+q58V6GeS8bC66y8yo4nyjCXBQGuNOlF+ qD9Clel1frAjlFJ4NS+YmgT72fkf7QPMFq8uniahGZ6bg7ccf24htXu2youGEyQKNCFr0j wPuPqelMyNUWLbI5yN4iyFc1ZP80O1/Pux4vehKhVULijRr51xPnuqmn7CDHisVdDtjQ+8 pfMKEItWRpOmfSoPJ/ZC5xvLGOIKordDXq/42gde4L86Sh6Sk5zUptRLPxa+XA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682256344; a=rsa-sha256; cv=none; b=gDPlSEnJNJwGAdfc7SFHTdWQ83QXooLdiakUUqfr4YBTSAmcLjHw/hbOVueB4oQADhkYF6 CVya2rzmrCa0qa12VgvKNalAdJ5NN/2C117UJnPiEqUMy0nYMrQD52Kh43opY0ov3s5fnL FY+zlmsAnACFujqkmv4j0Rxo5YjyINlMIa+0LSppJ1eFKgzy7soffeSVWPbahUhZE9az5g xj9JwZm/sPjyL0uwjoyFYfyodsH/F04/SVBewcJqUPQtMB4PXp5m3twqzhbjDD9r9mz8UN yyiQVunzw7Kk408DeIHI7oAbTzOVyk24RAixb0jo2y9rGSoBsBB2ImcNhDn89g== 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 4Q48CX1WbWzlSs; Sun, 23 Apr 2023 13:25: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 33NDPia1082994; Sun, 23 Apr 2023 13:25:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NDPiMD082993; Sun, 23 Apr 2023 13:25:44 GMT (envelope-from git) Date: Sun, 23 Apr 2023 13:25:44 GMT Message-Id: <202304231325.33NDPiMD082993@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: b95fa4203d69 - main - man4: fix some mandoc lint for iwlwifi.4 and rtw88.4 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b95fa4203d698063b02b03647cd00906cd94687a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b95fa4203d698063b02b03647cd00906cd94687a commit b95fa4203d698063b02b03647cd00906cd94687a Author: Bjoern A. Zeeb AuthorDate: 2023-04-23 13:21:46 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-04-23 13:25:24 +0000 man4: fix some mandoc lint for iwlwifi.4 and rtw88.4 Address warnings (but one) from mandoc -T lint for these man pages. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- share/man/man4/iwlwifi.4 | 16 +++++++++------- share/man/man4/rtw88.4 | 10 ++++++---- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/share/man/man4/iwlwifi.4 b/share/man/man4/iwlwifi.4 index 94614b3b15ff..201e1693783e 100644 --- a/share/man/man4/iwlwifi.4 +++ b/share/man/man4/iwlwifi.4 @@ -28,7 +28,7 @@ .\" $FreeBSD$ .\" .Dd June 3, 2022 -.Dt iwlwifi 4 +.Dt IWLWIFI 4 .Os .Sh NAME .Nm iwlwifi @@ -62,10 +62,10 @@ all chipsets supported by the part of that driver. .Pp .Bl -bullet -compact -.% --------------------------------------------------------------------- -.% This list is manually generated from a sysctl and post-processing. -.% Edits will be overwritten on next update. -.% --------------------------------------------------------------------- +.\" --------------------------------------------------------------------- +.\" This list is manually generated from a sysctl and post-processing. +.\" Edits will be overwritten on next update. +.\" --------------------------------------------------------------------- .It Intel(R) Dual Band Wireless AC 7260 .It @@ -180,7 +180,7 @@ Intel(R) Wi-Fi 6E AX231 160MHz Intel(R) TBD Bz device .It Intel(R) Wi-Fi 6 AX204 160MHz -.% --------------------------------------------------------------------- +.\" --------------------------------------------------------------------- .El .Pp .Nm @@ -197,7 +197,9 @@ The driver uses the and .Em linuxkpi compat framework to bridge between the Linux and -native FreeBSD driver code as well as to the native +native +.Fx +driver code as well as to the native .Xr net80211 4 wireless stack. .Pp diff --git a/share/man/man4/rtw88.4 b/share/man/man4/rtw88.4 index 4508ab8ab4f7..b6fad219d8c8 100644 --- a/share/man/man4/rtw88.4 +++ b/share/man/man4/rtw88.4 @@ -24,8 +24,8 @@ .\" .\" $FreeBSD$ .\" -.Dd August 7, 2022 -.Dt rtw88 4 +.Dd April 22, 2023 +.Dt RTW88 4 .Os .Sh NAME .Nm rtw88 @@ -69,7 +69,9 @@ The driver uses the and .Em linuxkpi compat framework to bridge between the Linux and -native FreeBSD driver code as well as to the native +native +.Fx +driver code as well as to the native .Xr net80211 4 wireless stack. .Pp @@ -108,4 +110,4 @@ section above. The .Nm driver first appeared in -.Fx 14.0 . +.Fx 13.2 . From nobody Sun Apr 23 13:30:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q48Jl1NxXz45R8j; Sun, 23 Apr 2023 13:30: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 4Q48Jk4jnQz49L1; Sun, 23 Apr 2023 13:30:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682256614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ToxL9s4lWeTOEpOMzOpkKniO/UUa/oe4UH1wBoVCbEs=; b=tDevoEFear9Lj5ujrmDPSyFEMZxhNa1bn0ms8BLgAxqC9GysED7GmH13llp4N2PTsFUvAO MSV8wl9Rskt1TcTpW11h+WP/Em6LPXFajyD8qyeGdZIt+vYFJW745s1WMD7HWLpZnwIGWF Yxti2dS1pVry00qzyq16s1n9koQH+NSmAJ0PZI33m/cLUkqVVW6441TW3CjeZd8B7PdQFk zWAkvkdWZByPBsxmYlEcTTZhuuCLQEqMGTANHPcG0+avf6biUzltQBJBMYX72H3JPAqD3q 02m9p9YICZWvC2hTicpjx1MlNsjE1SQxz/oyFhShNBOTaSuy9MPsobRXzvl6gA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682256614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ToxL9s4lWeTOEpOMzOpkKniO/UUa/oe4UH1wBoVCbEs=; b=pon/bwoxcIMXGW2vq2Vpc4B5GkNFb509m6vQblCY4W8co67bZe02paNSZ5wBuo/pIDX3P/ qV1/eAeWDYRQBqwmIMHOkqMbz9Dl1i7xMiyTbuG44NfdwOdaF7uT8BH3JXUVYY+kUtH3eE NJ6WUy56J0LduelHWzfpq/SoLftKqtIO00TGfUzX/4pQNY3XfhHtGqBZllOL+x0hGzKvvW sNWjY22lQ89AvVEvj2lx44BxVwwmsbkPV5LNAL0AYD7kMUsHaUnwjq80drvR32z+ikLf23 kOcgW8F6klyVEAPBrfdQorDAAIqyNxw4dMz44k59xdRzZOpMPmWhSZdoBhSClg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682256614; a=rsa-sha256; cv=none; b=ms12LpAANwLKOysUTsBucHhVX7x/REKxY9UT6N0sI+Fc3Bo7RGKimfv5nCsiFeBb6X9WQ+ QZioqzFoNOv6r5KEQYZL2vmvRk5c9/4glHdFKzCpBI7JFMXWNoVStsT0Yl9i3RUEZX0BG2 XmEowIp7ti7caGsuX2pOM8ZL1kppjI3sqNZQ/FsOWa40o2UgjPYgV9I1U+noKSocmDIBh2 PLRuuh+hDlxfitTOezsAg3Vrc8G8l30t6IRTQ76kTbyzAqMmfn74P7+grihzJakYYPPdp+ dmf9dfgcIWEmkadW1/MFou/QQkdqZQkd1zE3Ehvu8Ch0afAF88EwcHYGUtGO+A== 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 4Q48Jk3fD0zlHf; Sun, 23 Apr 2023 13:30: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 33NDUE2L090387; Sun, 23 Apr 2023 13:30:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NDUEt8090380; Sun, 23 Apr 2023 13:30:14 GMT (envelope-from git) Date: Sun, 23 Apr 2023 13:30:14 GMT Message-Id: <202304231330.33NDUEt8090380@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 0e8953b94b74 - main - LinuxKPI: pci.h: always initialize return value List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0e8953b94b7481a53945cbd1e16517773996e16e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=0e8953b94b7481a53945cbd1e16517773996e16e commit 0e8953b94b7481a53945cbd1e16517773996e16e Author: Bjoern A. Zeeb AuthorDate: 2023-04-20 15:59:33 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-04-23 13:29:30 +0000 LinuxKPI: pci.h: always initialize return value In pcie_capability_read_*() always initialize the return value to avoid warnings of uninitialized values in callers. Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39721 --- sys/compat/linuxkpi/common/include/linux/pci.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index 8077a75c4dd9..9b2e9269d4d4 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -1178,6 +1178,7 @@ static bool pcie_capability_reg_implemented(struct pci_dev *dev, int pos) static inline int pcie_capability_read_dword(struct pci_dev *dev, int pos, u32 *dst) { + *dst = 0; if (pos & 3) return -EINVAL; @@ -1190,6 +1191,7 @@ pcie_capability_read_dword(struct pci_dev *dev, int pos, u32 *dst) static inline int pcie_capability_read_word(struct pci_dev *dev, int pos, u16 *dst) { + *dst = 0; if (pos & 3) return -EINVAL; From nobody Sun Apr 23 14:51:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4B723X82z462Ty; Sun, 23 Apr 2023 14:51: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 4Q4B722wnzz4NK2; Sun, 23 Apr 2023 14:51:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682261518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dcX5vD0CU8ffPQM2AJJwAyaBWBlqFP8fTuFg46cKf7I=; b=BuI/LOrO36Cw5YaKUhWzMfOtlJLt7IfumfEwdqSLgh4gwoLtLAjU85Ik2Eote6n+Hsy9hS 7HAxLDZKXeow19upGnXDXO/EeCmDk3x6E+O0/QWSRN/hqguoGwbUr06BM4Fa2lWCR5ltbd 7OHEZMpMZEw+FV3nd6Mxa7syAa1nKRsUN07DUBVLcnp1nU/nnthLH9Ut/77rfIin2H6VZz 6bLtrF0hig8ViB37/xEJpMlpQY4wlZA2olZt2i16a2mFh1nSdOIQh7H7eSEbnr3H10ve9W U6rBZqadqPi4IKONWVQ2CJbNFjHf5C673rR8X6d1Bbk1H00Q19GT0hl47ulYAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682261518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dcX5vD0CU8ffPQM2AJJwAyaBWBlqFP8fTuFg46cKf7I=; b=A4zlLgOqHbpqVypMNH18jXz4E3nbe3KSeeX6R0n273hO6GHeX6TNyigVIxhCD8Zl/sXqBv sEKNmMiH1930sjuLJ5vALET7w6FqBGll3fghN9c8rARTybYd+cYHrUS4hFPKAa8aBk65Uu t7x0toC8k7eDW0IIDLYnscANNhfJVVuHPx/SA27wIuAEF4K2LFB92qboGOseYHJ/zCuqHO wJ5cBPP83Wdl1AiAeDNyc2f80qVMPbIYnWY7U6OMxvm/xkgy7MdQOqpDyyFf9oXipUUEkd DNnto+5/1wI85SGpQ2AI1YgnVHToHRQ/PChvSwjx3BbgxaQ/9c07slGG6jT7gQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682261518; a=rsa-sha256; cv=none; b=XKrm/mJzFEqR4vcuPcmYMYq+yCVzEsEzAt51sRhZC/pNad+65oCUqjE92CzFlvyGtw1v10 xNMr2nryRONOaZfI0vzMMpKOTRu/DwK46rkGDxee62Cy3mNqv2AwwCMlHAByXw4REvtlmg rGIjfrTZSdDgTXbQ9g6csmYEqdTfIUBBGRXJQreDMlofl5C6WEIm8FXNiXeA+c7xw+n+pa NsW07ioVxGJM4q80LjNI7hwWTXhFzIWf4N37HP9z83/ViLa4BpqUjNHcYhKV3qmt0z8Xdm 3X7znQ7rEgiPDMDYHZF1g4bPhId/vTrpWvtkx1UR+jrlnIUU7FKx9ODeUIK76g== 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 4Q4B721L4Hznfx; Sun, 23 Apr 2023 14:51: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 33NEpwqc028149; Sun, 23 Apr 2023 14:51:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NEpwOQ028148; Sun, 23 Apr 2023 14:51:58 GMT (envelope-from git) Date: Sun, 23 Apr 2023 14:51:58 GMT Message-Id: <202304231451.33NEpwOQ028148@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: 390c31c4289e - main - meta.sys.mk: downgrade missing Filemon error to warning List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 390c31c4289e66f1bd9cb2349d6e55fd4dc468f8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=390c31c4289e66f1bd9cb2349d6e55fd4dc468f8 commit 390c31c4289e66f1bd9cb2349d6e55fd4dc468f8 Author: Ed Maste AuthorDate: 2023-04-23 14:48:22 +0000 Commit: Ed Maste CommitDate: 2023-04-23 14:48:22 +0000 meta.sys.mk: downgrade missing Filemon error to warning Cirrus-CI was red because `make makeman` failed with a spurious "filemon is not loaded" error. For now just make it a warning. --- share/mk/meta.sys.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/mk/meta.sys.mk b/share/mk/meta.sys.mk index 1fc58a226cb1..7a74ba2d5d21 100644 --- a/share/mk/meta.sys.mk +++ b/share/mk/meta.sys.mk @@ -188,7 +188,7 @@ META_NOECHO= : UPDATE_DEPENDFILE= NO .export UPDATE_DEPENDFILE .elif ${_filemon:T} == "filemon" && !exists(${_filemon}) -.error ${.newline}ERROR: The filemon module (${_filemon}) is not loaded. +.warning ${.newline}ERROR: The filemon module (${_filemon}) is not loaded. .endif .endif From nobody Sun Apr 23 15:01:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4BL33QyLz46389; Sun, 23 Apr 2023 15:01:31 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.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 "freefall.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4BL32qm2z4cSJ; Sun, 23 Apr 2023 15:01:31 +0000 (UTC) (envelope-from danfe@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682262091; 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=p/DfwQs8CXbDVZNVkpbKnHF1mCK9P+ZqnTdhXuN0/oE=; b=Sv7qizFG5qawsLZ9gp8LDhnL14mUr5x7gk8E4mVG4RA7HqRQpUAqr2ecsC2sLhWZyQ5MVU PnuS7K+PKa+YMDXzl7MVKYLlUz/CF0XHy024Jd729x1HjJGeizpKaZR5q/jC2K00iUuc48 kUNtKULxx21XWbjj+B3HiiJW7nW1wkXJSjgBaYKoYsysOEnH9Ah+cvOQkYSJLoYVcEIazN vakdsiXJ/SgmK6mxC64zO2QOgW+PqYwcSS7ZzDqcWM7o0kcLQtpJ4s7PVydBv7gVitrH1d Kqo2DTh5x0fLC/9zrd3qFzaSzmYzaf99q6EerwkN2oGAk1KQx4FMbe63B8y7Aw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682262091; 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=p/DfwQs8CXbDVZNVkpbKnHF1mCK9P+ZqnTdhXuN0/oE=; b=Ps9qfLcq7wDsq6QC10b8N7wnvZoVHMyaTzd4efro0/tgxy7YKgUqZpxwxCZcbXKdz4QDDD rZ0K86FQ7HBU5bLWhKzsj5yAxWvxw6dKKaHH5/JrlN+cWkksyI+Casr6uXY46JCqaBx2ja eEKQJxND2bpMURY2O4/TzI37obZbVyB6IO+y4zqRUmIOMTrQUV+65roMW7XaR8ZyEjFUox fb0Y78ZMBKKa8Hn3SAq3k7VguCloK3S5TEx/xyaEdJFxI7tX9IRATiPUqgHyQcUX8OYOSO auyRidVfhNmzlO2Mvb93/JFraylx8IFWu96i0PrP7jbf5sLrs06zUcog6l1UZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682262091; a=rsa-sha256; cv=none; b=uFWrAl7H9PkOhIiUuGnPoTmvoWnwjya2+gwIRyK76D95uNcIh0ACl0Sl6IvmtbIPLrFLW0 765JvT2jDvCT9ain1PlyX+jKKeXMV4/gogaIRd3DyRnQEER5VcM+1FI8pkShPefbvD5IUz 8Gd4t/wDUYhRYMn9nP4weYNo7kD1CUD6ItnE9GQHoXsj+Qc+MT5b64i2Sul3uMGWldRT5z rnd1+nE6oi/VQcGpsq/baXo1dBSD00mKnM/Wg8BIjSwENIhVCb6TLb+zfEKQDt0lQWTNMD BE0WyArxxCpPhw3wLoVIEJdZjfhxKVj5ee8wqASoTsGJrtsUESKpkXi3HrDI9g== Received: by freefall.freebsd.org (Postfix, from userid 1033) id 0500B12B7D; Sun, 23 Apr 2023 15:01:02 +0000 (UTC) Date: Sun, 23 Apr 2023 15:01:02 +0000 From: Alexey Dokuchaev To: "Piotr P. Stefaniak" Cc: Colin Percival , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: df53ae0fdd98 - main - Remove portsnap(8) Message-ID: References: <202304230112.33N1ChPx076100@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ThisMailContainsUnwantedMimeParts: N On Sun, Apr 23, 2023 at 06:12:18AM +0000, Piotr P. Stefaniak wrote: > On 2023-04-23 01:12:43, Colin Percival wrote: > > Remove portsnap(8) > > > > Rather than having a tool in the FreeBSD base system for obtaining > > the FreeBSD ports tree, users are encouraged to `pkg install git` > > and then `git clone https://git.FreeBSD.org/ports.git /usr/ports`. > > With my 64 KB/s downlink a shallow copy of just the main branch takes > almost 4 hours. What's worse, git has no way of resuming an interrupted > download. My internet connection is roughly the same, and full "git clone" always fails. However, repeated "git fetch --depth=n ; n++" allowed me to get the ports tree in a few days, eventually. I have to use this trick for any large repo, it migth seem annoying, but it does work. ./danfe From nobody Sun Apr 23 15:20:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4Bm42K1tz464D4; Sun, 23 Apr 2023 15:20:36 +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 4Q4Bm3720Zz3s92; Sun, 23 Apr 2023 15:20:35 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682263236; 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=2/QpuzNWeMVFab63GPx0QOCPeDriduMsdOZl0RNhzkw=; b=LIq8TTwb5Mn2W83UnrcFOs4Czy/x1HdmIKNsBUoDc8jCBQtnZ7C+XYnu1SZp3zRym560cE EswBcDQ51MnfCaWkpHzoBXdm+nrm4/Q7mLyH37mhtK2pPe8QARoChDMHjgywzozQzhL0AS C3AuVwd8Owo7hs4gEA5xvkSNxCxwZoZ0GeRrCZPd7zYmK3Fweb3+9poI7iyaMbE3MwM0Uf hggKMUUACcaxdiDlG4jADe7fb530/zu2ts45XK3PPSyolSScmHV8pVct9ZK+QKMpvMc5V/ UTj7FGBK2HfLirgKN5Pwtp/uiVLsHkDCIn6m47w0v+gsdlGLvyKe8DIkUW0oxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682263236; 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=2/QpuzNWeMVFab63GPx0QOCPeDriduMsdOZl0RNhzkw=; b=vRi6aHpnAvudxLPYM/bpn5wxTc6+hIYz3L2j0fo4TGAXzP1o8Mf+hDLwDOC1gZwo/KpyGO +YPmkmtAAh8YC6kRFRYjFm3lUMxhVZcw8K2fCqR+sgniumHH0iD9CWOi/wgTSFYZH8wO+b ZKLEd9xU1MacXntLZRnZbcwDaMjUtWBHJFnxXpmkVHj7hNkgNAvMam9se2MY87/t+m10Pj KL4tazWIWHM/BRMjoYa3XXwQsaf1lG+zn55t6XWBUIW5dgeN7ZuL05mUSsjfRcbV+hzPum HVQG++LcWDVczbiPGfX/yZHTPxxOFt+sHL6X35ODt2lnPQ+2Mqn8QZbSlZ3JWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682263236; a=rsa-sha256; cv=none; b=DudeXJCAOvwqUeAWP/PknPUhuyCDtsFphOCXsYqFpH6O2A9M1Ajsnt8EEyAIT/Dcae484h 4h/HZRurZncAxNRZqqm0mjS5Uqr1tFOH0/iS7wubzxobM937cwuT8bzgFLMVZEeQVXTOoY OtD8iqlWVrZjqHyeBFUyM44eYxwmQdOHPunMf2Oh7L1LzXMTBsYvF57R92JA6f+jedjk1X Z2mq3NFoqNbdyTEXcx+jGV/Xrcoo9zZaltX6lzIUxnCrzvm5i/Il9QpZsybiO45tjC4vs6 WSp1yVf9E/pDw6Dw3vuX8QZsziZrUJt4b4PDBiikwVr2046gNCX/afds0XQiPg== Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) (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 4Q4Bm35zfyz1CsM; Sun, 23 Apr 2023 15:20:35 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f182.google.com with SMTP id af79cd13be357-74ac861476dso175486185a.3; Sun, 23 Apr 2023 08:20:35 -0700 (PDT) X-Gm-Message-State: AAQBX9eFf7rUyATxDcDw/uhJSxxBjLJW4EjDfdg5JZSGHyUOukiXdmyW Ztd7EZS6BIJ+sCfGLK+QqaByNZm02aEbfXgxMKo= X-Google-Smtp-Source: AKy350YYUmeFrZHED6bvsYdS6UHQGwpkVdVKgx+mpz7LNldv6UoTpEolXeEvA7x6O+D+g/FTqPBiHYMD5W99JODURXw= X-Received: by 2002:a05:6214:234d:b0:537:6416:fc2b with SMTP id hu13-20020a056214234d00b005376416fc2bmr21461062qvb.52.1682263235365; Sun, 23 Apr 2023 08:20:35 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202304230112.33N1ChPx076100@gitrepo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Sun, 23 Apr 2023 10:20:24 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: df53ae0fdd98 - main - Remove portsnap(8) To: Alexey Dokuchaev Cc: "Piotr P. Stefaniak" , Colin Percival , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Cluster Administrators Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N On Sun, Apr 23, 2023 at 10:01=E2=80=AFAM Alexey Dokuchaev wrote: > > On Sun, Apr 23, 2023 at 06:12:18AM +0000, Piotr P. Stefaniak wrote: > > On 2023-04-23 01:12:43, Colin Percival wrote: > > > Remove portsnap(8) > > > > > > Rather than having a tool in the FreeBSD base system for obtaining > > > the FreeBSD ports tree, users are encouraged to `pkg install git` > > > and then `git clone https://git.FreeBSD.org/ports.git /usr/ports`. > > > > With my 64 KB/s downlink a shallow copy of just the main branch takes > > almost 4 hours. What's worse, git has no way of resuming an interrupted > > download. > > My internet connection is roughly the same, and full "git clone" always > fails. However, repeated "git fetch --depth=3Dn ; n++" allowed me to get > the ports tree in a few days, eventually. I have to use this trick for > any large repo, it migth seem annoying, but it does work. > I've mentioned it a couple times on lists, but this seems like a good time to bring it up again: I maintain repo bundles of all of our repositories, at least, on freefall: https://people.freebsd.org/~kevans/bundles/ -- fetch this with whatever hip thing you have that does resumable downloads and clone a repository from it, then adjust the remote to point to the upstream repo and incremental fetch to the current version. One could imagine that clusteradm@ could take this over and make it fetchable via, say, anongit@git.f.o so one can rsync it. I call the script that I use freebsd-bundler, but it largely goes away if they just create the bundles out of the --bare source of truth repos. Thanks, Kyle Evans From nobody Sun Apr 23 15:49:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4CPT5j7fz465qt; Sun, 23 Apr 2023 15:49: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 4Q4CPT5DK7z3jqW; Sun, 23 Apr 2023 15:49:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682264973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D1blPKXnHSchwGP47WAGLi2Tkc0EQ49QC9sji0S6NaQ=; b=rETWt+G3x//k3SMcjVfSK9VSuf4sjvmkZBh9/NBqLj8lP/O4Oo5ol/sKmV7KKHocrvodWC SExzyk3fkgVErmH6CAePg6b7OegpXCyHAaIyVF0ffQWvNe35/FdRQJnj/yktfXmXIvhb3h OkBMpUsE4xKiHqXk9Wi4tfGiICSxkU9bwQpQ8vF8ixcz1mrRXDE0mtrxUR+DTxuHD7kWdV JBZJpNXOcZarPuOoaPTFYNU0BqDuDGIfuoNV3xm//oikvhbrOno4KqlywzTJs92yn9hlM2 EJAJL501k/n4BVC/Bb02D7cLsxEJHQ7HN1ZKBblezH4Hc7EZjWwJ0QWNucF0/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682264973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D1blPKXnHSchwGP47WAGLi2Tkc0EQ49QC9sji0S6NaQ=; b=EdJxS2v05rw82H0TzUrq+PcrlZQvtAdaLmjNGTtqgKazd9TTP/KXqN1sEGvXAwAXGY+Pt7 SR436mLPnghUSgdPHspKm9ULb4bJ1Oi5XChLxotrnlNHHxF+7BPWXowcHo24K14ghJNfjs iTpH/hBcUqofl5qzXX3EFPusNxSioobSLmFVBeh3voZuuI1B+M5hAsQoX1krj676iYnlG2 6zygaiC4CY9KhCG54xuXCcfXGEV76AGZs19oZnd4KUUhNvON63OyyZcu7y/LNXvoDXH0Rm PhalH9FWX9B7OCK4nAdyrTyJuCWAi8UPcneeH6+/zNuoVJtBVVZlL6VZCzs2Tw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682264973; a=rsa-sha256; cv=none; b=boLQ42kpHjwNO9tPZD+08pUxc8J93T10g/8xDY/hGEFe67BxT0vkCIJzCAwx9uZGGNypMv 8WXPhlc+eyMpJ+5tn13LI9K00bWW/3wh/b5Cmm5nnAuUAAVr9GNj1FtfSPoJWNo8iXyYlO c5FP2r89FGlG4EPIJfnJJHca8xM7XGB4Ix5duRmASn0eIuVMLBQpbRi8U28gCl+iHPmv9h gqPQe8HRSVqEKLlpz0DTMnWMCoB+YoHJ6WNUPrnxbpfOR+vYLwDtuFOatT7cjDMr7BqYI9 v2EaO65fSBt5hrIwb/p8mZdI1HynGER7Q6mLa8xc8MsXtLbMkrqOPOv/pIk5dw== 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 4Q4CPT4Kbtzplr; Sun, 23 Apr 2023 15:49: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 33NFnXjw013086; Sun, 23 Apr 2023 15:49:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NFnX6m013085; Sun, 23 Apr 2023 15:49:33 GMT (envelope-from git) Date: Sun, 23 Apr 2023 15:49:33 GMT Message-Id: <202304231549.33NFnX6m013085@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: 66d6fd532282 - main - sctp: use constants from RFC 8260 to improve compliance List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 66d6fd532282fda0cda0ca31d93ff09044f1386a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=66d6fd532282fda0cda0ca31d93ff09044f1386a commit 66d6fd532282fda0cda0ca31d93ff09044f1386a Author: Michael Tuexen AuthorDate: 2023-04-23 15:48:05 +0000 Commit: Michael Tuexen CommitDate: 2023-04-23 15:48:05 +0000 sctp: use constants from RFC 8260 to improve compliance Keep the old constants for backwards compatibility. MFC after: 1 week --- sys/netinet/sctp.h | 23 ++++++++++++++++------- sys/netinet/sctp_ss_functions.c | 10 +++++----- sys/netinet/sctp_usrreq.c | 18 +++++++++--------- 3 files changed, 30 insertions(+), 21 deletions(-) diff --git a/sys/netinet/sctp.h b/sys/netinet/sctp.h index 95dd85c5d8c0..0b3f716ccefd 100644 --- a/sys/netinet/sctp.h +++ b/sys/netinet/sctp.h @@ -192,8 +192,11 @@ struct sctp_paramhdr { /* JRS - Pluggable Congestion Control Socket option */ #define SCTP_PLUGGABLE_CC 0x00001202 /* RS - Pluggable Stream Scheduling Socket option */ -#define SCTP_PLUGGABLE_SS 0x00001203 -#define SCTP_SS_VALUE 0x00001204 +#define SCTP_STREAM_SCHEDULER 0x00001203 +#define SCTP_STREAM_SCHEDULER_VALUE 0x00001204 +/* The next two are for backwards compatibility. */ +#define SCTP_PLUGGABLE_SS SCTP_STREAM_SCHEDULER +#define SCTP_SS_VALUE SCTP_STREAM_SCHEDULER_VALUE #define SCTP_CC_OPTION 0x00001205 /* Options for CC * modules */ /* For I-DATA */ @@ -309,15 +312,21 @@ struct sctp_paramhdr { /* Default simple round-robin */ #define SCTP_SS_DEFAULT 0x00000000 /* Real round-robin */ -#define SCTP_SS_ROUND_ROBIN 0x00000001 +#define SCTP_SS_RR 0x00000001 /* Real round-robin per packet */ -#define SCTP_SS_ROUND_ROBIN_PACKET 0x00000002 +#define SCTP_SS_RR_PKT 0x00000002 /* Priority */ -#define SCTP_SS_PRIORITY 0x00000003 +#define SCTP_SS_PRIO 0x00000003 /* Fair Bandwidth */ -#define SCTP_SS_FAIR_BANDWITH 0x00000004 +#define SCTP_SS_FB 0x00000004 /* First-come, first-serve */ -#define SCTP_SS_FIRST_COME 0x00000005 +#define SCTP_SS_FCFS 0x00000005 +/* The next five are for backwards compatibility. */ +#define SCTP_SS_ROUND_ROBIN SCTP_SS_RR +#define SCTP_SS_ROUND_ROBIN_PACKET SCTP_SS_RR_PKT +#define SCTP_SS_PRIORITY SCTP_SS_PRIO +#define SCTP_SS_FAIR_BANDWITH SCTP_SS_FB +#define SCTP_SS_FIRST_COME SCTP_SS_FCFS /* fragment interleave constants * setting must be one of these or diff --git a/sys/netinet/sctp_ss_functions.c b/sys/netinet/sctp_ss_functions.c index 049c93767125..465a2bc7de5c 100644 --- a/sys/netinet/sctp_ss_functions.c +++ b/sys/netinet/sctp_ss_functions.c @@ -952,7 +952,7 @@ const struct sctp_ss_functions sctp_ss_functions[] = { .sctp_ss_set_value = sctp_ss_default_set_value, .sctp_ss_is_user_msgs_incomplete = sctp_ss_default_is_user_msgs_incomplete }, -/* SCTP_SS_ROUND_ROBIN */ +/* SCTP_SS_RR */ { .sctp_ss_init = sctp_ss_default_init, .sctp_ss_clear = sctp_ss_default_clear, @@ -967,7 +967,7 @@ const struct sctp_ss_functions sctp_ss_functions[] = { .sctp_ss_set_value = sctp_ss_default_set_value, .sctp_ss_is_user_msgs_incomplete = sctp_ss_default_is_user_msgs_incomplete }, -/* SCTP_SS_ROUND_ROBIN_PACKET */ +/* SCTP_SS_RR_PKT */ { .sctp_ss_init = sctp_ss_default_init, .sctp_ss_clear = sctp_ss_default_clear, @@ -982,7 +982,7 @@ const struct sctp_ss_functions sctp_ss_functions[] = { .sctp_ss_set_value = sctp_ss_default_set_value, .sctp_ss_is_user_msgs_incomplete = sctp_ss_default_is_user_msgs_incomplete }, -/* SCTP_SS_PRIORITY */ +/* SCTP_SS_PRIO */ { .sctp_ss_init = sctp_ss_default_init, .sctp_ss_clear = sctp_ss_prio_clear, @@ -997,7 +997,7 @@ const struct sctp_ss_functions sctp_ss_functions[] = { .sctp_ss_set_value = sctp_ss_prio_set_value, .sctp_ss_is_user_msgs_incomplete = sctp_ss_default_is_user_msgs_incomplete }, -/* SCTP_SS_FAIR_BANDWITH */ +/* SCTP_SS_FB */ { .sctp_ss_init = sctp_ss_default_init, .sctp_ss_clear = sctp_ss_fb_clear, @@ -1012,7 +1012,7 @@ const struct sctp_ss_functions sctp_ss_functions[] = { .sctp_ss_set_value = sctp_ss_default_set_value, .sctp_ss_is_user_msgs_incomplete = sctp_ss_default_is_user_msgs_incomplete }, -/* SCTP_SS_FIRST_COME */ +/* SCTP_SS_FCFS */ { .sctp_ss_init = sctp_ss_fcfs_init, .sctp_ss_clear = sctp_ss_fcfs_clear, diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c index 65edfb49a955..6e17545c9a3b 100644 --- a/sys/netinet/sctp_usrreq.c +++ b/sys/netinet/sctp_usrreq.c @@ -1738,7 +1738,7 @@ flags_out: } break; } - case SCTP_PLUGGABLE_SS: + case SCTP_STREAM_SCHEDULER: { struct sctp_assoc_value *av; @@ -1765,7 +1765,7 @@ flags_out: } break; } - case SCTP_SS_VALUE: + case SCTP_STREAM_SCHEDULER_VALUE: { struct sctp_stream_value *av; @@ -4033,17 +4033,17 @@ sctp_setopt(struct socket *so, int optname, void *optval, size_t optsize, } break; } - case SCTP_PLUGGABLE_SS: + case SCTP_STREAM_SCHEDULER: { struct sctp_assoc_value *av; SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize); if ((av->assoc_value != SCTP_SS_DEFAULT) && - (av->assoc_value != SCTP_SS_ROUND_ROBIN) && - (av->assoc_value != SCTP_SS_ROUND_ROBIN_PACKET) && - (av->assoc_value != SCTP_SS_PRIORITY) && - (av->assoc_value != SCTP_SS_FAIR_BANDWITH) && - (av->assoc_value != SCTP_SS_FIRST_COME)) { + (av->assoc_value != SCTP_SS_RR) && + (av->assoc_value != SCTP_SS_RR_PKT) && + (av->assoc_value != SCTP_SS_PRIO) && + (av->assoc_value != SCTP_SS_FB) && + (av->assoc_value != SCTP_SS_FCFS)) { SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); error = EINVAL; break; @@ -4082,7 +4082,7 @@ sctp_setopt(struct socket *so, int optname, void *optval, size_t optsize, } break; } - case SCTP_SS_VALUE: + case SCTP_STREAM_SCHEDULER_VALUE: { struct sctp_stream_value *av; From nobody Sun Apr 23 17:56:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4GCT75ZTz46DpZ; Sun, 23 Apr 2023 17:56: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 4Q4GCS4yXBz42Fy; Sun, 23 Apr 2023 17:56:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682272564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EbODbvRJWxy+Y2UPCXy6HiAXVyaxGG3f5rwHBJqi2fA=; b=WiS9elxFDPrUsd+9oOR97+ng9NYnReGe2xWwUdpjJXpANK1lsCSWhTsvs9y4jpdmoDztsy atg4NHrOfs0DRdSyjcVMN4zALkN8L8CKfDGh8Y/Fq57nnazffuny8obcCLnxCtPnMv3jOK I/T1fCrMThr7f6JErwgFZa5MHoa4cZk1i66XRcvRkpzXMTk+JPHHKCBODeeSH3nSsk4Fe0 XJ62/ot7ud+ayUHOxLsfWpjIvFAr0KKYcXa3XtWyEpgBPs1AnZBvWNgfLgAW1EIXJwtooO RiUSulU9Wo2MoV8syBjK0MkFIGyuukSVv8TOOn31mF+2zDbGwS34arSxbSj+ew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682272564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EbODbvRJWxy+Y2UPCXy6HiAXVyaxGG3f5rwHBJqi2fA=; b=fOGsybri6wlqr4lq1N/9m2/tALOUNEsD8WqrU7bWK95vv7zKk1t0ynCS6q7l5vDMeZrfvX 0yZOpqkUOjvQrfXoSUTLU+XJGKQxAhmcdx60KNvao1vHRRQqOc1Qf15em7mBVQfgYjoCcu rlEcMKQD5QX6q76EvDLk5uKvf8nUMgdGRj+JdE8sO6B3Ng93pJDirwZhNAekpgNebl/zkw 6AZPWgJdIiWDlYSLt1cLq1os/q011G39edEBHW3NwvEWM+xF5ePxEe0P3EKZLMH09avwxn lmJXkZrqwZt2b8BZhvVBL1SRfdzt7THiIyzwFbFu1SelcL+MQ4nTtWH+hS6WrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682272564; a=rsa-sha256; cv=none; b=rId0FClb3uk3Bve+eEezRzqYvI/GckBCnAQGpgT/Sd9FAZqA7EPNrHb89adbgeVr2Qcley RW4Zd6JnOVIwdebVPPIO5M6K1zAXAfi7mAQXVmk5TV+30jRRWZBKPgifb7oc50CsiKlyRL 9NU0mhH14hOp2OLO6CK5viTh2yYl2xcmq099Wuwt89cFKY0MYVliSQkxC7zjLJyTA1qPz9 3DnQX4OqOn0eZJxuVbzLDNwqfr3/nVLdUXJFgmrV8988nwcUETWVSC16DuEfU1Qg6IPmAG f4LmZfot1TJ0Xh99gIkqxoCGjKiY0gDxAiQ9W00k8kYY4k27UfsrXpe7AHIpUw== 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 4Q4GCS3sHFztC7; Sun, 23 Apr 2023 17:56: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 33NHu4o2026399; Sun, 23 Apr 2023 17:56:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NHu4TA026398; Sun, 23 Apr 2023 17:56:04 GMT (envelope-from git) Date: Sun, 23 Apr 2023 17:56:04 GMT Message-Id: <202304231756.33NHu4TA026398@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: 93998d166fb7 - main - inpcb: Fix some bugs in _in_pcbinshash_wild() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 93998d166fb7907a6ae16a08d6831e31f656c97b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=93998d166fb7907a6ae16a08d6831e31f656c97b commit 93998d166fb7907a6ae16a08d6831e31f656c97b Author: Mark Johnston AuthorDate: 2023-04-23 14:36:24 +0000 Commit: Mark Johnston CommitDate: 2023-04-23 17:55:57 +0000 inpcb: Fix some bugs in _in_pcbinshash_wild() - In _in_pcbinshash_wild(), we should avoid returning v6 sockets unless no other matches are available. This preserves pre-existing semantics. - Fix an inverted test: when inserting a non-jailed PCB, we want to search for the first non-jailed PCB in the hash chain. - Test the right PCB when searching for a non-jailed PCB. While here, add a required locking assertion. Fixes: 7b92493ab1d4 ("inpcb: Avoid inp_cred dereferences in SMR-protected lookup") --- sys/netinet/in_pcb.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 4c1ba835a066..9193dfb2372b 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -2506,7 +2506,8 @@ in_pcbjailed(const struct inpcb *inp, unsigned int flag) * in_pcblookup_hash_wild_*() always encounter the highest-ranking PCB first. * * Specifically, keep jailed PCBs in front of non-jailed PCBs, and keep PCBs - * with exact local addresses ahead of wildcard PCBs. + * with exact local addresses ahead of wildcard PCBs. Unbound v4-mapped v6 PCBs + * always appear last no matter whether they are jailed. */ static void _in_pcbinshash_wild(struct inpcbhead *pcbhash, struct inpcb *inp) @@ -2514,14 +2515,26 @@ _in_pcbinshash_wild(struct inpcbhead *pcbhash, struct inpcb *inp) struct inpcb *last; bool bound, injail; + INP_LOCK_ASSERT(inp); INP_HASH_WLOCK_ASSERT(inp->inp_pcbinfo); last = NULL; bound = inp->inp_laddr.s_addr != INADDR_ANY; + if (!bound && (inp->inp_vflag & INP_IPV6PROTO) != 0) { + CK_LIST_FOREACH(last, pcbhash, inp_hash_wild) { + if (CK_LIST_NEXT(last, inp_hash_wild) == NULL) { + CK_LIST_INSERT_AFTER(last, inp, inp_hash_wild); + return; + } + } + CK_LIST_INSERT_HEAD(pcbhash, inp, inp_hash_wild); + return; + } + injail = in_pcbjailed(inp, PR_IP4); if (!injail) { CK_LIST_FOREACH(last, pcbhash, inp_hash_wild) { - if (in_pcbjailed(inp, PR_IP4)) + if (!in_pcbjailed(last, PR_IP4)) break; if (CK_LIST_NEXT(last, inp_hash_wild) == NULL) { CK_LIST_INSERT_AFTER(last, inp, inp_hash_wild); @@ -2559,6 +2572,7 @@ _in6_pcbinshash_wild(struct inpcbhead *pcbhash, struct inpcb *inp) struct inpcb *last; bool bound, injail; + INP_LOCK_ASSERT(inp); INP_HASH_WLOCK_ASSERT(inp->inp_pcbinfo); last = NULL; @@ -2566,7 +2580,7 @@ _in6_pcbinshash_wild(struct inpcbhead *pcbhash, struct inpcb *inp) injail = in_pcbjailed(inp, PR_IP6); if (!injail) { CK_LIST_FOREACH(last, pcbhash, inp_hash_wild) { - if (in_pcbjailed(last, PR_IP6)) + if (!in_pcbjailed(last, PR_IP6)) break; if (CK_LIST_NEXT(last, inp_hash_wild) == NULL) { CK_LIST_INSERT_AFTER(last, inp, inp_hash_wild); From nobody Sun Apr 23 17:56:05 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4GCW17F6z46Dpb; Sun, 23 Apr 2023 17:56:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4GCT5PVZz42G5; Sun, 23 Apr 2023 17:56:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682272565; h=from:from:reply-to:subject:subject: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/Nv0IGFkzxvPCKXO2f0WEUcGlYcuQ0rQPM/axQLbuY=; b=LUKXAk2P1F4UJN4A7UEXDX94Qt68CZvb/WI8zqz3jtdh94mo9i198FNInnSdp4J436S2u0 NSXx8SueFfYfcoLXdDDdfsSuKPXzgwHXYMNwBFDXu5vCGhj+OofgxHzCiUmbxp7ZSNq4DB HVTlJQkhq2kMRZRvgDemGSyptGMOW8ilUkwWluTr2RdavuXLXU4AsHuaFzJXgJbXRvtnUq kU0t3Up5O75CfYevOEgLp5D79pZxzQkRChjtHl6sufOCCHnaEB7HHPC5OFUdLeXWVdhP+j sR4JhDyQdA+KL3B3+wBdmCfMaUXIV97NRmNZyMQoIPJ+yojMtVDBBE3yVMbiyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682272565; h=from:from:reply-to:subject:subject: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/Nv0IGFkzxvPCKXO2f0WEUcGlYcuQ0rQPM/axQLbuY=; b=WGhNWh3z7VlKUIhdQmPPlzThXEJvJ+kLclS/tQnI5D6f6oe7PLGAy+0bEvsI2shiGN3IyY FqjBQ3mPuf//Edwtprsl/R0uJoDUX1cd4yuZZNqNA/6Eu0lRf/F3Pj8Y0lVq0hottLENK+ aclhnu465WULmQk/og5YVtul2DhZ9+mp9/nJVMuSh6Oaen2m7k+6Nk2TEibFpt35paLFLQ g+qSbzlYs5sx7XOoNInkbCAW0G+XrPY7C5hgzjfUmpgDYQ2ddgJQDL+HBZTtaovojMU/IO HHq/AF3exUGXafzNjGyv8FG+JdjiOGH4DDhBHnPBkPg8tzkZE2ctoRFL19nKeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682272565; a=rsa-sha256; cv=none; b=vXNwBlyz1k8o19KQuE1Z5DG+8aT9AstinfMO9aL6UnZvD7Z/kOBxWdisM/yFG71RP1geRN GkkS42DFFhir5I44Fs3+Cy3DOuW9mmw4izaF8EjzZqOFyn6LI3TopaP8th09GUp/Ho+I4l He9EG3RcmH3RO9QWSUdJp4hRu9Pbv+8gbNipSUgaYNdbspbyFSUEZhkFB0WGqgkuiN3nmD jlxYy7p8oq3uYhx7Lnn1uLndh5OuWcrSPzq2aKndbt/th0RpqfsB7I9grVTSNBmL4zTiQA zeDmFScT9rV9yHMm05aYXnkoFN8mD2gtjJeY3C8bsy6gNf3FvuXAcmpSzB0HtA== 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 4Q4GCT4T3KztFD; Sun, 23 Apr 2023 17:56:05 +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 33NHu5wV026425; Sun, 23 Apr 2023 17:56:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NHu5oi026424; Sun, 23 Apr 2023 17:56:05 GMT (envelope-from git) Date: Sun, 23 Apr 2023 17:56:05 GMT Message-Id: <202304231756.33NHu5oi026424@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: 7623cc8f65ab - main - arm64: Implement bus_describe_intr() for nexus List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7623cc8f65ab1b28690d4a6580ae87b7926ed008 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7623cc8f65ab1b28690d4a6580ae87b7926ed008 commit 7623cc8f65ab1b28690d4a6580ae87b7926ed008 Author: Mark Johnston AuthorDate: 2023-04-23 17:30:44 +0000 Commit: Mark Johnston CommitDate: 2023-04-23 17:55:57 +0000 arm64: Implement bus_describe_intr() for nexus Prompted by a compiler warning introduced by e582d4a2b09e ("arm64: nexus code tidy-up"). Reviewed by: mhorne, andrew MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39749 --- sys/arm64/arm64/nexus.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/arm64/arm64/nexus.c b/sys/arm64/arm64/nexus.c index 29680fe5b9c8..9f1f8a3229fa 100644 --- a/sys/arm64/arm64/nexus.c +++ b/sys/arm64/arm64/nexus.c @@ -146,6 +146,7 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_bind_intr, nexus_bind_intr), #endif DEVMETHOD(bus_config_intr, nexus_config_intr), + DEVMETHOD(bus_describe_intr, nexus_describe_intr), DEVMETHOD(bus_setup_intr, nexus_setup_intr), DEVMETHOD(bus_teardown_intr, nexus_teardown_intr), DEVMETHOD(bus_get_bus_tag, nexus_get_bus_tag), @@ -348,6 +349,14 @@ nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih) return (intr_teardown_irq(child, r, ih)); } +static int +nexus_describe_intr(device_t dev, device_t child, struct resource *irq, + void *cookie, const char *descr) +{ + + return (intr_describe_irq(child, irq, cookie, descr)); +} + #ifdef SMP static int nexus_bind_intr(device_t dev, device_t child, struct resource *irq, int cpu) From nobody Sun Apr 23 17:56:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4GCW4X1bz46Dyd; Sun, 23 Apr 2023 17:56:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4GCV6FlMz429b; Sun, 23 Apr 2023 17:56:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682272566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=26hyP49nuuPHtg10FSPEx9cVbOlPcog3n3wZwlB6ndE=; b=TQNGP9YUaOwXQMbX8dNA7Dd5xI0WpFBq2RbrdqkQzTJJV+Pph4xKlAjhWefu9pApxZ16VW Si2zQBShd6zQUgrcxgMqOmteYFm1oiAIoOwmtL+C4IkY0/OxbCtDdeyby4Sp8cSEYeGtmU 06qkBsSk7SeQ6ks581vkyueNEGOXEeL/zsauhcOJOoU4jBGTfDSkTiZUbL9DCwCxBGQ9Hn fEW1IjXYQG/FxyQ7Sa9Eb6RLjnIFmO8lu03vQTqOH41XwBTRiXf1Ul2bIJUujKNbq68Mk2 B+ZJCeWpIc3Qguj8Rk9eCi1wIJoLcx4ZnHIvt7iCbJq/aoPiyz5ZgKM2169cnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682272566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=26hyP49nuuPHtg10FSPEx9cVbOlPcog3n3wZwlB6ndE=; b=UeHiBh8QrYFbRMtTQKiT1/w8WbqvsM39jNoP1GAaqKlL6KW17XfGXEex1xSU1NhLcdl1LX RamjMzUoEc4yRqoiM8NmWAd4c7dr63Y3y39WXrInfFOX1J3Cie77zl5V9+oP1RVOtb+O1N hKoODE4NsIDf2t4KxlwEc+y9QcXZF0Q4dmaeR/kuTs5oV+Vjok2CsqvaHvq4n+dDOOoao5 cD3bzu4crrbjcpgjxNVU3R2A0VsihxFFwBXLstYoeVOb3/lnCdFO+Va4HA2hAAvAZHhfA7 IIu5X3LzKJBHAzmVO+orpuRxcnL3/Ej2EFg4igpmizIkpos63tQq0eHhEMvq6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682272566; a=rsa-sha256; cv=none; b=C3C6NSVVjp/1nXLwjToEZTPUPdxnCCxZWNd1cbgp++jkEY8FqvHLDTr0KuPd4QnnVYAqf5 WFJeprdx67Ya5zIEDNUCMOXjr0aPe0idvg6Piy2u8H6TpeMbuTJJgWk2wW50a5w2rHRAaN wHd0WpOAjifVVrz5BS/0whXXFw/pttYVngyaMf/Dw3OZ+GMtg2dKbVC1/GVRjn6BtUn6ZG xUdy+dih46G5IvMufMSPhA8hpwwJdyetJl4R10UWdnothYdGA4ziRO35Wo0SASjLkhOFWI cfpxSDnraRwzeNTALjc/gEJRFtKW8hmWelaTddB4e774b7xaRZEB3zIS5EkS3A== 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 4Q4GCV5LDXzt9B; Sun, 23 Apr 2023 17:56: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 33NHu6LG026446; Sun, 23 Apr 2023 17:56:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NHu62C026445; Sun, 23 Apr 2023 17:56:06 GMT (envelope-from git) Date: Sun, 23 Apr 2023 17:56:06 GMT Message-Id: <202304231756.33NHu62C026445@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: ff13b9247514 - main - riscv: Implement bus_describe_intr() for nexus List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ff13b924751489efed1c6a42dbca8f236902d6fb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ff13b924751489efed1c6a42dbca8f236902d6fb commit ff13b924751489efed1c6a42dbca8f236902d6fb Author: Mark Johnston AuthorDate: 2023-04-23 17:31:01 +0000 Commit: Mark Johnston CommitDate: 2023-04-23 17:55:57 +0000 riscv: Implement bus_describe_intr() for nexus Reviewed by: mhorne MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39750 --- sys/riscv/riscv/nexus.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/riscv/riscv/nexus.c b/sys/riscv/riscv/nexus.c index 96c4cf4ddca0..4f01ad9c023c 100644 --- a/sys/riscv/riscv/nexus.c +++ b/sys/riscv/riscv/nexus.c @@ -92,6 +92,7 @@ static bus_set_resource_t nexus_set_resource; static bus_release_resource_t nexus_release_resource; static bus_config_intr_t nexus_config_intr; +static bus_describe_intr_t nexus_describe_intr; static bus_setup_intr_t nexus_setup_intr; static bus_teardown_intr_t nexus_teardown_intr; @@ -119,6 +120,7 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_set_resource, nexus_set_resource), DEVMETHOD(bus_release_resource, nexus_release_resource), DEVMETHOD(bus_config_intr, nexus_config_intr), + DEVMETHOD(bus_describe_intr, nexus_describe_intr), DEVMETHOD(bus_setup_intr, nexus_setup_intr), DEVMETHOD(bus_teardown_intr, nexus_teardown_intr), DEVMETHOD(bus_get_bus_tag, nexus_get_bus_tag), @@ -335,6 +337,14 @@ nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih) return (intr_teardown_irq(child, r, ih)); } +static int +nexus_describe_intr(device_t dev, device_t child, struct resource *irq, + void *cookie, const char *descr) +{ + + return (intr_describe_irq(child, irq, cookie, descr)); +} + static bus_space_tag_t nexus_get_bus_tag(device_t bus __unused, device_t child __unused) { From nobody Sun Apr 23 17:56:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4GCX5ZdZz46FCB; Sun, 23 Apr 2023 17:56: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 4Q4GCW6rjTz42Gn; Sun, 23 Apr 2023 17:56:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682272568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8KbV0XCcS32Ki+y633Kco14/1Laf4bKEwEExBF0nkew=; b=E5Zu5Pt7AsYa3tXMB2RRdh5cZ2LjE8Mqxv5zEIAqKGCPPE1qNLq/1OHcWDAZx+aJ7V4GKN Xlo+fiyr2LV8NPLjM1GbpqPv91fJveO0pBmHAIec6wW4JV9oeMuX4ffcF3pKMVHIYL1HO0 44cWItI0lIYb9CZkpb07JlEDLbAhWiJib6H8xNfcae6Dv5F+Azi8JdJrM6aUTyPHOgZ43d YVEkq6x7IuiG7ROlIA/Tw/gUK8CD0fTPfLYJYeHQOeKQ7cGWEJP5VTnARwwUMrginLCaiZ mg9QJiDpKN18VYOw86+nZAahZOB1PNoTpy0ZVVm3ciJLpNAxf0CA0TAeMm5iAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682272568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8KbV0XCcS32Ki+y633Kco14/1Laf4bKEwEExBF0nkew=; b=Sr2O2Y8hUk+Jx9QkBixsPnIVtOlKq4QfVoYXYn8nElsJHmFCClNeXqI/ouD9ODaV92JVXb v2NRHPBcKn8kL9w95gmZSG7UnDSwKV0qr0d9ZpxAT0O1YIevKrLV4ebD+Y+LdkzYU0iq0F xxNKAWEG09L0KMUrb20vqiFb5Hwsb7z88KGTmv32fGSjZjGbTiGoeNQvk4R4EvwyfPLza6 hyYIcstGHq85UXPSVrX0oYyo2KCsOyhL9ZsrO7YGreHgV8O0BQBxVLT9UrsWry96bDR0Zh ahR36BXSf2uJ1qVvk3zLbEj49kl6RBoye+H/vmwXae+z6uDWNySOXpmHbz94Ig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682272568; a=rsa-sha256; cv=none; b=BmavIGPovukg7gkLpMcr8LUg6mBViL5wUSVTjoNJnNI3KA8T9Jw4Vh1PwoGNxqNUIG7J2i 5NYS6F3c333wklHEB1SPy5Vv8v0Z5bsr3GPn1Ba7ZP5ZkxhkjA7ScqmcQBnkenv0ytrl7j up2Gwm0LBkVp4BJWkQ3WDbeCzwWAF5HJ9prH3WRY+36R54jB1rLuIaxyyfYg3ijJJRN/mD iCfHgzFe8M7EKt0fb1PwQz64b1qetpUj/bfYyTYUfiln+TEZ1w6dafzfOlF66FWfCoRSQC RUGeFgh7oKqnVCb/7wUza5XkS3CbFGBEHo9aedg3o8SjTHnQlxutF7cdif8vqg== 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 4Q4GCW5vp8zsRB; Sun, 23 Apr 2023 17:56: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 33NHu7RV026471; Sun, 23 Apr 2023 17:56:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NHu7lv026470; Sun, 23 Apr 2023 17:56:07 GMT (envelope-from git) Date: Sun, 23 Apr 2023 17:56:07 GMT Message-Id: <202304231756.33NHu7lv026470@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: 4b39a12830fe - main - arm64: Disable PAC when booting on a Windows Dev Kit 2023 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b39a12830feaf2ac49b157ed079c04114b1a3ca Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4b39a12830feaf2ac49b157ed079c04114b1a3ca commit 4b39a12830feaf2ac49b157ed079c04114b1a3ca Author: Mark Johnston AuthorDate: 2023-04-23 17:32:45 +0000 Commit: Mark Johnston CommitDate: 2023-04-23 17:55:57 +0000 arm64: Disable PAC when booting on a Windows Dev Kit 2023 It appears that PAC registers are configured to trap upon access, but since the kernel starts in EL1 on this platform it has no ability to inspect or modify this configuration. Simply disable PAC on this platform for now, since the kernel otherwise hangs during boot. PR: 270472 Reviewed by: andrew, emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D39748 --- sys/arm64/arm64/ptrauth.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/ptrauth.c b/sys/arm64/arm64/ptrauth.c index 5c129820cd37..f7bba82ab9d1 100644 --- a/sys/arm64/arm64/ptrauth.c +++ b/sys/arm64/arm64/ptrauth.c @@ -59,6 +59,31 @@ struct thread *ptrauth_switch(struct thread *); void ptrauth_exit_el0(struct thread *); void ptrauth_enter_el0(struct thread *); +static bool +ptrauth_disable(void) +{ + const char *family, *maker, *product; + + family = kern_getenv("smbios.system.family"); + maker = kern_getenv("smbios.system.maker"); + product = kern_getenv("smbios.system.product"); + if (family == NULL || maker == NULL || product == NULL) + return (false); + + /* + * The Dev Kit appears to be configured to trap upon access to PAC + * registers, but the kernel boots at EL1 and so we have no way to + * inspect or change this configuration. As a workaround, simply + * disable PAC on this platform. + */ + if (strcmp(maker, "Microsoft Corporation") == 0 && + strcmp(family, "Surface") == 0 && + strcmp(product, "Windows Dev Kit 2023") == 0) + return (true); + + return (false); +} + void ptrauth_init(void) { @@ -77,7 +102,11 @@ ptrauth_init(void) return; } - get_kernel_reg(ID_AA64ISAR1_EL1, &isar1); + if (!get_kernel_reg(ID_AA64ISAR1_EL1, &isar1)) + return; + + if (ptrauth_disable()) + return; /* * This assumes if there is pointer authentication on the boot CPU From nobody Sun Apr 23 19:00:42 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4Hf2278cz46L5P; Sun, 23 Apr 2023 19:00: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 4Q4Hf21k0Dz3CjM; Sun, 23 Apr 2023 19:00:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682276442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=63zv6fhjSRIOCAhSpFjRXQlL1PlDiO4y4OXn4vSwJmk=; b=mzsKI4T24PiaN+2j/kx2i5f7zcuZ5tbBtYLqV9kddTFAUa1vSivPTXJw2pEIey/EVcKjav p8PcMuoIPbDBhH/CAFDkqWdEmtE8elBD5Wuk4ASZXb8puxSwDigF9j+KDGJgKBZlH6qhjS Msj3otuX9zXP0HwE+EVR4CoyCpBe6H3VUWvZ90lQaPxfsPKcDo3H1Yz/87IwpLnmQ4Jbhf d4kypQr7W2mQtA/7KdA3xOfMfW884w/sh4f/V604QbNpABLgdzOSzqfdxriJqusE/yR86z sOg8tk984zwvq6ZCtRuO/dMGseZHcVkoCY4I1V3LT84X5P77P8I8Fa5SNPFPXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682276442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=63zv6fhjSRIOCAhSpFjRXQlL1PlDiO4y4OXn4vSwJmk=; b=ELvPJ3xUzXjN9H77l5sRE65udijzxL+xA4SIr9RAoC5sFQ37P2oseZE5CsA8MC2rozGxmN IbwDyaMcno2iPj1j0wt+J/xxoBWgUUU9c/0wrt5XRK0QRsvXu+1qBO6V8JYenEDEoWakfM ALAqAt1z183idn/2dKCmf9amOp0sulCNXNK88oI1LiefXw5WG2uCKV+1+Syo2RjlKeioJR F34e2FtPCHiDXm6V2ZTTuM32yT0M8xrluPKrFfxc+1JEsMGLM7IMDphaqMcmrz8xPnSlVi 8E2Tdelti/9k2AwdTan2aWfwmcn8vtCaJT+BxXU+Y1tXp//yIbqexaHdOn16tg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682276442; a=rsa-sha256; cv=none; b=cOXioD51M4drLcL3z9eQvp3ucXBTviOMvg9kG/gS7HMUtW4vRzo8XhzVJs83mX8a/bgAY0 9hnRM3VdXdAIYMlVACc8nDECb1jG9hIItIOkJTZ3otg9nOAadZ3YkGGxXkgqjAbzGfMtFY uh9/e98p2hwTLbwsefyYa7/e6OLukx0ng81mCaPom9O3tcuCmYNeo4c+0FYqwbURy8ISZn Qoo/ywGartz9L9f1xNLK2HsdvLcaqnfNG+4nFZtLIa9TK1WhIfxxZhSX6bAoYUZkYRP9zj v9uCKHCosHvsuxLY5588/jBJvkLNLf8ynaeXgRgJhapdG45NvLL0BSsWMZm7aQ== 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 4Q4Hf20hVkzvTj; Sun, 23 Apr 2023 19:00: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 33NJ0gX2037611; Sun, 23 Apr 2023 19:00:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NJ0gvq037610; Sun, 23 Apr 2023 19:00:42 GMT (envelope-from git) Date: Sun, 23 Apr 2023 19:00:42 GMT Message-Id: <202304231900.33NJ0gvq037610@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 42162fb2fe30 - main - kcsan: add __tsan_mem(cpy|move|set) aliases for clang >= 16 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 42162fb2fe30c0881e7e4d2143ddcfee3e1dd752 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=42162fb2fe30c0881e7e4d2143ddcfee3e1dd752 commit 42162fb2fe30c0881e7e4d2143ddcfee3e1dd752 Author: Dimitry Andric AuthorDate: 2023-04-23 18:11:34 +0000 Commit: Dimitry Andric CommitDate: 2023-04-23 18:59:06 +0000 kcsan: add __tsan_mem(cpy|move|set) aliases for clang >= 16 Summary: After https://github.com/llvm/llvm-project/commit/b4257d3bf58c ("[tsan] Replace mem intrinsics with calls to interceptors") intrinsic calls to memcpy, memmove or memset will directly call sanitizer interceptors, e.g. __tsan_memcpy, __tsan_memmove or __tsan_memset. Building GENERIC-KCSAN with clang >= 16 would thus result in link errors similar to: ld: error: undefined symbol: __tsan_memcpy >>> referenced by cam_compat.c:150 (/usr/src/sys/cam/cam_compat.c:150) >>> cam_compat.o:(cam_compat_handle_0x17) >>> referenced by cam_compat.c:151 (/usr/src/sys/cam/cam_compat.c:151) >>> cam_compat.o:(cam_compat_handle_0x17) >>> referenced by cam_compat.c:152 (/usr/src/sys/cam/cam_compat.c:152) >>> cam_compat.o:(cam_compat_handle_0x17) >>> referenced 1692 more times Similar to subr_msan.c, add aliases from the existing kcsan_* versions of these functions to __tsan_* names. Reviewed by: markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39772 --- sys/kern/subr_csan.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/subr_csan.c b/sys/kern/subr_csan.c index 8723777ce84b..f79c638b181c 100644 --- a/sys/kern/subr_csan.c +++ b/sys/kern/subr_csan.c @@ -301,6 +301,10 @@ kcsan_memmove(void *dst, const void *src, size_t len) return __builtin_memmove(dst, src, len); } +__strong_reference(kcsan_memcpy, __tsan_memcpy); +__strong_reference(kcsan_memset, __tsan_memset); +__strong_reference(kcsan_memmove, __tsan_memmove); + char * kcsan_strcpy(char *dst, const char *src) { From nobody Sun Apr 23 20:44:56 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4KyK6bpqz46SKt; Sun, 23 Apr 2023 20:44: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 4Q4KyJ6FtLz43mL; Sun, 23 Apr 2023 20:44:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682282696; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yDyyd/okxw2elLOQqn9wODytcAlGIA3TmO9s0FpIgM4=; b=CyDgjanPUcs346Ne3w2cpkkv5wTeDbA/foUUzzonAkUiw9jNsVkBdy94MxNSA3vvgnEeh7 G3gi+OKwuZ8ThqPf/L5kLd6DqZ/J2znotrfsXiroeo8ZXRw85Gh2nNW64vmUK8Yu8cPVOM nYf+/5xb9w7sxTA6CemgafK4qtUSKKc18HSgaQaXSOHOwpKev+DBzoh40Cor97KSP2spo4 Jp0F8dcnS6PT4kjAg4y0blH1G21YzbOqzaB9+3ZyZETmg+NOU33UxzcCM1leb+7Nuyh/wb bYSV1A3MH8Wm9RAMv8KfDc/Zrrd34YS0rB1dZoVpocu4NMo4AgNp4qURGRDXug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682282696; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yDyyd/okxw2elLOQqn9wODytcAlGIA3TmO9s0FpIgM4=; b=qGF9llhLGOnOPxFdcQoM1cEUAnvJ9jgUFyEm1uQzaHEkR8loxDhH1z2vmGfxcEq9PKcj0x N00LiKkbk9AFQfKzNXSVxmBShvw30F0N8z26MU477278PvSHKP3wKqxZyb8VJJ1Lvh/HIx vC/4n1lamhum689FZLvcTmdEymMLtjFnCHRK6X9I+CjzoeYKO77djM/KBCul/if6WE/FwQ 4g3lLCNL49hpu+5llNs+1FFeLWwRkR3zQW64SHOb+1KB4yLac/i4jSAQeswgc7IgBY9NJE RyCrXy/MXfN8Jqk2uH6g/IBMhSkDHpYheNL0hoKP2l8u6n5DVxst5o9lrN33rw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682282696; a=rsa-sha256; cv=none; b=UhAy0TMPZpyAcCfOXfvevLl2ZYiKFFSlrImSfvDX0x20ZqqXROkjfPCRFnplWNU1FRXi1Y n2d1fV9YnIsXQt06DL3V7htOR33PXHsWWY3BlWpyJI7Sw7L8z1VhmXPnTKEItGJ3NVZCra nhMaohBIglwusbtintC1OFyxXEn6p2OIA1+a8+ht9fHUpE4ls/jMkxLAow8IezKEFLhAik NadTF+7eevJLEQIDZIkxrtkhkCLqn61Rhc5KJ6P8V3wWoO239Dygnl64tRvJFUUCoYKOmQ qhNWBNrLHeWvw/k8hbUCKvud6i91Ue3qAhvYl4uerSaP2tlLr6lqGtA4/GC3Xw== 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 4Q4KyJ5K5Szy8G; Sun, 23 Apr 2023 20:44: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 33NKiuiX007090; Sun, 23 Apr 2023 20:44:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NKiuel007089; Sun, 23 Apr 2023 20:44:56 GMT (envelope-from git) Date: Sun, 23 Apr 2023 20:44:56 GMT Message-Id: <202304232044.33NKiuel007089@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: baf2dc6476a9 - main - Set UPDATE_DEPDFILE=NO for showconfig List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: baf2dc6476a9d4085fff737a4575bec8656cca32 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=baf2dc6476a9d4085fff737a4575bec8656cca32 commit baf2dc6476a9d4085fff737a4575bec8656cca32 Author: Simon J. Gerraty AuthorDate: 2023-04-23 20:43:45 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-23 20:43:45 +0000 Set UPDATE_DEPDFILE=NO for showconfig Exporting UPDATE_DEPDFILE=NO from makeman didn't work, back to setting it in local.meta.sys.env.mk --- share/mk/local.meta.sys.env.mk | 5 +++++ tools/build/options/makeman | 2 -- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/share/mk/local.meta.sys.env.mk b/share/mk/local.meta.sys.env.mk index 937b9c10bc3b..6b692d13fedf 100644 --- a/share/mk/local.meta.sys.env.mk +++ b/share/mk/local.meta.sys.env.mk @@ -88,3 +88,8 @@ META_MODE+= missing-meta=yes .if empty(META_MODE:Mnofilemon) META_MODE+= missing-filemon=yes .endif + +.if make(showconfig) +# this does not need/want filemon +UPDATE_DEPENDFILE= NO +.endif diff --git a/tools/build/options/makeman b/tools/build/options/makeman index db0b75363a85..5a8b207b228a 100755 --- a/tools/build/options/makeman +++ b/tools/build/options/makeman @@ -20,8 +20,6 @@ set -o errexit export LC_ALL=C -# just be clear that we are not making anything -export UPDATE_DEPENDFILE=no t=$(mktemp -d -t makeman) trap 'test -d $t && rm -rf $t' exit From nobody Sun Apr 23 21:31:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4M09226nz46VnF; Sun, 23 Apr 2023 21:31: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 4Q4M090Vg7z3DHs; Sun, 23 Apr 2023 21:31:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285497; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8d4Jsw3jtKTAODX+hv1gZk1IgFojV4VOnIIwhOtw/4I=; b=QlbRuR5Ttld/HrbImO+60yL0vPqfzih3xY2HSEy4++QdbrJl7S43iprie0cnwc3HtzcsvQ eL2CH7EiWPisb/6YJa8yj9vCMZpaudghpraoy0PZQJ+DaF5lv3ikzpKRF3jdmdI/KkmqVR y4bJDfy7wGqlLwMLkv3mfceb5C38mDSZg/m4pKTptly3WzAPyix1+vgT0WLo7rHc0mx7o5 ppgiNfypnbJPRu9ajb0UzkSp2rl7PzaNBdkCoe0e3ekgsOY4vAKrgetu/vf0TQTkx/1Wrv /0zX7TnDda65VPXiVv1Iw5e5xpYGCaBkRULCN4u1u44Vrlbx3B6jrMdEFjsTOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285497; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8d4Jsw3jtKTAODX+hv1gZk1IgFojV4VOnIIwhOtw/4I=; b=uLDJRrOU/UgiXQqsi1duQhUUesNEmBy13EJjbbTR4ouqj6Wz7IM6yB2NJ6vry8RfM9Z3bh 5+WabidpcfzIQNFhlDCoJn0sd0r+17gaTfXiEZLlMkG0xeHZYI6eM1mRuw8s3nbsuc7S+8 Sb/c7C4N8ONdWUtYKXb2im7XhjgGx0+xsIbQ38qQCIN9JlXRgThW0DUQIOBpaQ4VZMCh71 U3ZmxM3G2cWGnR0MfjMDKr4QnXefuwU51Zo3BMZYTMpd+ZVgXhM/of5gj7RIyeTr0TiEy4 qtkN0X0SCX5n+f2+mGw39ZMjUxDpfYQOjoApdSQZKq9SyG2qsSbCREDNuyumVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682285497; a=rsa-sha256; cv=none; b=hVwvJPD5RbLNvGktEh1+6PPJSSFehKi0O8HZSWAuArNkpOT6kaww2GwSQtvc9UTL3oJQ6b 7BWfA+HiVeX5YfOv8bUEE6C88m+U9MZMYKn0VFBMs5wlVjqVqb68a8XI7FLxh9ZEO8xGt0 pNAWix4Pz42gq2f/62vpQ9ObY4Rit/PW6vDCvv/b/Da9VhJRpg5F5vlIEhy8LzDb9rLptQ 6nUjdQLO9LqSrj1SP31i3Kl3ogSe2B3lq5r3eu7GTWauqQXx93LZnPFma93tB6K4gc0/LH jsbWmhKHEOSbsikki5Tki7x1FHnJj0jaOsAzdbjxDCrfiNyauaLFykFNmzZXBw== 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 4Q4M086cyjz10FD; Sun, 23 Apr 2023 21:31: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 33NLVaqu084477; Sun, 23 Apr 2023 21:31:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NLVaox084475; Sun, 23 Apr 2023 21:31:36 GMT (envelope-from git) Date: Sun, 23 Apr 2023 21:31:36 GMT Message-Id: <202304232131.33NLVaox084475@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 6c92544d7c97 - main - mt76: import mediatek/mt76 driver List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6c92544d7c9722a3fe6263134938d1f864c158c5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6c92544d7c9722a3fe6263134938d1f864c158c5 commit 6c92544d7c9722a3fe6263134938d1f864c158c5 Author: Bjoern A. Zeeb AuthorDate: 2023-04-18 14:26:38 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-04-23 21:29:49 +0000 mt76: import mediatek/mt76 driver Import ISC-licensed driver parts of mediatek/mt76 assumed to be based on Linux wireless-testing at a02411a5b98612c12be99349836d99f07db12a77 (tag: wt-2022-11-23). Complement the driver and LinuxKPI with our own (dummy) implementations of missing parts (util.h and soc/mediatek/) as well as changes to make compile on FreeBSD with changes covered by #ifdef (__FreeBSD__) conditions. Further select updates were applied since the initial import in order to keep compiling along with other LinuxKPI based drivers. For the moment we only target the mt7915 and mt7921 PCI parts. More may follow in the future. Firmware is provided by port net/wifi-firmware-mt76-kmod. Given the lack of full license texts on non-local files this is imported under the draft policy for handling SPDX files (D29226). [1] Approved by: core (emaste, 2022-04-08) [1] MFC after: 2 months --- .../common/include/linux/soc/mediatek/mtk_wed.h | 48 + sys/contrib/dev/mediatek/mt76/agg-rx.c | 301 ++ sys/contrib/dev/mediatek/mt76/debugfs.c | 147 + sys/contrib/dev/mediatek/mt76/dma.c | 826 +++++ sys/contrib/dev/mediatek/mt76/dma.h | 52 + sys/contrib/dev/mediatek/mt76/eeprom.c | 373 +++ sys/contrib/dev/mediatek/mt76/mac80211.c | 1712 ++++++++++ sys/contrib/dev/mediatek/mt76/mcu.c | 138 + sys/contrib/dev/mediatek/mt76/mmio.c | 121 + sys/contrib/dev/mediatek/mt76/mt76.h | 1472 +++++++++ sys/contrib/dev/mediatek/mt76/mt7603/beacon.c | 190 ++ sys/contrib/dev/mediatek/mt76/mt7603/core.c | 65 + sys/contrib/dev/mediatek/mt76/mt7603/debugfs.c | 118 + sys/contrib/dev/mediatek/mt76/mt7603/dma.c | 241 ++ sys/contrib/dev/mediatek/mt76/mt7603/eeprom.c | 187 ++ sys/contrib/dev/mediatek/mt76/mt7603/eeprom.h | 91 + sys/contrib/dev/mediatek/mt76/mt7603/init.c | 562 ++++ sys/contrib/dev/mediatek/mt76/mt7603/mac.c | 1878 +++++++++++ sys/contrib/dev/mediatek/mt76/mt7603/mac.h | 242 ++ sys/contrib/dev/mediatek/mt76/mt7603/main.c | 755 +++++ sys/contrib/dev/mediatek/mt76/mt7603/mcu.c | 433 +++ sys/contrib/dev/mediatek/mt76/mt7603/mcu.h | 103 + sys/contrib/dev/mediatek/mt76/mt7603/mt7603.h | 265 ++ sys/contrib/dev/mediatek/mt76/mt7603/pci.c | 83 + sys/contrib/dev/mediatek/mt76/mt7603/regs.h | 768 +++++ sys/contrib/dev/mediatek/mt76/mt7603/soc.c | 82 + sys/contrib/dev/mediatek/mt76/mt7615/Makefile | 20 + sys/contrib/dev/mediatek/mt76/mt7615/debugfs.c | 611 ++++ sys/contrib/dev/mediatek/mt76/mt7615/dma.c | 315 ++ sys/contrib/dev/mediatek/mt76/mt7615/eeprom.c | 353 ++ sys/contrib/dev/mediatek/mt76/mt7615/eeprom.h | 116 + sys/contrib/dev/mediatek/mt76/mt7615/init.c | 561 ++++ sys/contrib/dev/mediatek/mt76/mt7615/mac.c | 2383 +++++++++++++ sys/contrib/dev/mediatek/mt76/mt7615/mac.h | 337 ++ sys/contrib/dev/mediatek/mt76/mt7615/main.c | 1347 ++++++++ sys/contrib/dev/mediatek/mt76/mt7615/mcu.c | 2570 ++++++++++++++ sys/contrib/dev/mediatek/mt76/mt7615/mcu.h | 254 ++ sys/contrib/dev/mediatek/mt76/mt7615/mmio.c | 292 ++ sys/contrib/dev/mediatek/mt76/mt7615/mt7615.h | 565 ++++ .../dev/mediatek/mt76/mt7615/mt7615_trace.h | 56 + sys/contrib/dev/mediatek/mt76/mt7615/pci.c | 202 ++ sys/contrib/dev/mediatek/mt76/mt7615/pci_init.c | 186 ++ sys/contrib/dev/mediatek/mt76/mt7615/pci_mac.c | 293 ++ sys/contrib/dev/mediatek/mt76/mt7615/regs.h | 609 ++++ sys/contrib/dev/mediatek/mt76/mt7615/sdio.c | 257 ++ sys/contrib/dev/mediatek/mt76/mt7615/soc.c | 72 + sys/contrib/dev/mediatek/mt76/mt7615/testmode.c | 376 +++ sys/contrib/dev/mediatek/mt76/mt7615/trace.c | 12 + sys/contrib/dev/mediatek/mt76/mt7615/usb.c | 285 ++ sys/contrib/dev/mediatek/mt76/mt7615/usb_sdio.c | 352 ++ sys/contrib/dev/mediatek/mt76/mt76_connac.h | 371 +++ sys/contrib/dev/mediatek/mt76/mt76_connac2_mac.h | 331 ++ sys/contrib/dev/mediatek/mt76/mt76_connac_mac.c | 1059 ++++++ sys/contrib/dev/mediatek/mt76/mt76_connac_mcu.c | 3129 ++++++++++++++++++ sys/contrib/dev/mediatek/mt76/mt76_connac_mcu.h | 1821 ++++++++++ sys/contrib/dev/mediatek/mt76/mt76x0/pci.c | 318 ++ sys/contrib/dev/mediatek/mt76/mt76x0/pci_mcu.c | 133 + sys/contrib/dev/mediatek/mt76/mt76x0/usb_mcu.c | 174 + sys/contrib/dev/mediatek/mt76/mt76x02.h | 273 ++ sys/contrib/dev/mediatek/mt76/mt76x02_beacon.c | 217 ++ sys/contrib/dev/mediatek/mt76/mt76x02_debugfs.c | 140 + sys/contrib/dev/mediatek/mt76/mt76x02_dfs.c | 892 +++++ sys/contrib/dev/mediatek/mt76/mt76x02_dfs.h | 132 + sys/contrib/dev/mediatek/mt76/mt76x02_dma.h | 65 + sys/contrib/dev/mediatek/mt76/mt76x02_eeprom.c | 154 + sys/contrib/dev/mediatek/mt76/mt76x02_eeprom.h | 187 ++ sys/contrib/dev/mediatek/mt76/mt76x02_mac.c | 1236 +++++++ sys/contrib/dev/mediatek/mt76/mt76x02_mac.h | 208 ++ sys/contrib/dev/mediatek/mt76/mt76x02_mcu.c | 171 + sys/contrib/dev/mediatek/mt76/mt76x02_mcu.h | 100 + sys/contrib/dev/mediatek/mt76/mt76x02_mmio.c | 556 ++++ sys/contrib/dev/mediatek/mt76/mt76x02_phy.c | 204 ++ sys/contrib/dev/mediatek/mt76/mt76x02_phy.h | 49 + sys/contrib/dev/mediatek/mt76/mt76x02_regs.h | 708 ++++ sys/contrib/dev/mediatek/mt76/mt76x02_trace.c | 12 + sys/contrib/dev/mediatek/mt76/mt76x02_trace.h | 87 + sys/contrib/dev/mediatek/mt76/mt76x02_txrx.c | 183 + sys/contrib/dev/mediatek/mt76/mt76x02_usb.h | 25 + sys/contrib/dev/mediatek/mt76/mt76x02_usb_core.c | 282 ++ sys/contrib/dev/mediatek/mt76/mt76x02_usb_mcu.c | 296 ++ sys/contrib/dev/mediatek/mt76/mt76x02_util.c | 700 ++++ sys/contrib/dev/mediatek/mt76/mt76x2/eeprom.c | 512 +++ sys/contrib/dev/mediatek/mt76/mt76x2/eeprom.h | 83 + sys/contrib/dev/mediatek/mt76/mt76x2/init.c | 204 ++ sys/contrib/dev/mediatek/mt76/mt76x2/mac.c | 46 + sys/contrib/dev/mediatek/mt76/mt76x2/mac.h | 24 + sys/contrib/dev/mediatek/mt76/mt76x2/mcu.c | 108 + sys/contrib/dev/mediatek/mt76/mt76x2/mcu.h | 68 + sys/contrib/dev/mediatek/mt76/mt76x2/mt76x2.h | 80 + sys/contrib/dev/mediatek/mt76/mt76x2/mt76x2u.h | 43 + sys/contrib/dev/mediatek/mt76/mt76x2/pci.c | 181 + sys/contrib/dev/mediatek/mt76/mt76x2/pci_init.c | 320 ++ sys/contrib/dev/mediatek/mt76/mt76x2/pci_main.c | 164 + sys/contrib/dev/mediatek/mt76/mt76x2/pci_mcu.c | 198 ++ sys/contrib/dev/mediatek/mt76/mt76x2/pci_phy.c | 311 ++ sys/contrib/dev/mediatek/mt76/mt76x2/phy.c | 349 ++ sys/contrib/dev/mediatek/mt76/mt76x2/usb.c | 150 + sys/contrib/dev/mediatek/mt76/mt76x2/usb_init.c | 250 ++ sys/contrib/dev/mediatek/mt76/mt76x2/usb_mac.c | 174 + sys/contrib/dev/mediatek/mt76/mt76x2/usb_main.c | 129 + sys/contrib/dev/mediatek/mt76/mt76x2/usb_mcu.c | 255 ++ sys/contrib/dev/mediatek/mt76/mt76x2/usb_phy.c | 201 ++ sys/contrib/dev/mediatek/mt76/mt7915/Kconfig | 24 + sys/contrib/dev/mediatek/mt76/mt7915/Makefile | 9 + sys/contrib/dev/mediatek/mt76/mt7915/debugfs.c | 1188 +++++++ sys/contrib/dev/mediatek/mt76/mt7915/dma.c | 487 +++ sys/contrib/dev/mediatek/mt76/mt7915/eeprom.c | 354 ++ sys/contrib/dev/mediatek/mt76/mt7915/eeprom.h | 165 + sys/contrib/dev/mediatek/mt76/mt7915/init.c | 1184 +++++++ sys/contrib/dev/mediatek/mt76/mt7915/mac.c | 2199 ++++++++++++ sys/contrib/dev/mediatek/mt76/mt7915/mac.h | 101 + sys/contrib/dev/mediatek/mt76/mt7915/main.c | 1493 +++++++++ sys/contrib/dev/mediatek/mt76/mt7915/mcu.c | 3492 ++++++++++++++++++++ sys/contrib/dev/mediatek/mt76/mt7915/mcu.h | 477 +++ sys/contrib/dev/mediatek/mt76/mt7915/mmio.c | 729 ++++ sys/contrib/dev/mediatek/mt76/mt7915/mt7915.h | 594 ++++ sys/contrib/dev/mediatek/mt76/mt7915/pci.c | 355 ++ sys/contrib/dev/mediatek/mt76/mt7915/regs.h | 1116 +++++++ sys/contrib/dev/mediatek/mt76/mt7915/soc.c | 1243 +++++++ sys/contrib/dev/mediatek/mt76/mt7915/testmode.c | 789 +++++ sys/contrib/dev/mediatek/mt76/mt7915/testmode.h | 105 + sys/contrib/dev/mediatek/mt76/mt7921/Kconfig | 37 + sys/contrib/dev/mediatek/mt76/mt7921/Makefile | 15 + sys/contrib/dev/mediatek/mt76/mt7921/debugfs.c | 461 +++ sys/contrib/dev/mediatek/mt76/mt7921/dma.c | 317 ++ sys/contrib/dev/mediatek/mt76/mt7921/eeprom.h | 30 + sys/contrib/dev/mediatek/mt76/mt7921/init.c | 330 ++ sys/contrib/dev/mediatek/mt76/mt7921/mac.c | 1262 +++++++ sys/contrib/dev/mediatek/mt76/mt7921/mac.h | 53 + sys/contrib/dev/mediatek/mt76/mt7921/main.c | 1628 +++++++++ sys/contrib/dev/mediatek/mt76/mt7921/mcu.c | 1143 +++++++ sys/contrib/dev/mediatek/mt76/mt7921/mcu.h | 113 + sys/contrib/dev/mediatek/mt76/mt7921/mt7921.h | 513 +++ .../dev/mediatek/mt76/mt7921/mt7921_trace.h | 51 + sys/contrib/dev/mediatek/mt76/mt7921/pci.c | 514 +++ sys/contrib/dev/mediatek/mt76/mt7921/pci_mac.c | 142 + sys/contrib/dev/mediatek/mt76/mt7921/pci_mcu.c | 129 + sys/contrib/dev/mediatek/mt76/mt7921/regs.h | 526 +++ sys/contrib/dev/mediatek/mt76/mt7921/sdio.c | 319 ++ sys/contrib/dev/mediatek/mt76/mt7921/sdio_mac.c | 142 + sys/contrib/dev/mediatek/mt76/mt7921/sdio_mcu.c | 175 + sys/contrib/dev/mediatek/mt76/mt7921/testmode.c | 197 ++ sys/contrib/dev/mediatek/mt76/mt7921/trace.c | 12 + sys/contrib/dev/mediatek/mt76/mt7921/usb.c | 386 +++ sys/contrib/dev/mediatek/mt76/mt7921/usb_mac.c | 255 ++ sys/contrib/dev/mediatek/mt76/pci.c | 47 + sys/contrib/dev/mediatek/mt76/sdio.c | 667 ++++ sys/contrib/dev/mediatek/mt76/sdio.h | 140 + sys/contrib/dev/mediatek/mt76/sdio_txrx.c | 380 +++ sys/contrib/dev/mediatek/mt76/testmode.c | 675 ++++ sys/contrib/dev/mediatek/mt76/testmode.h | 200 ++ sys/contrib/dev/mediatek/mt76/trace.c | 15 + sys/contrib/dev/mediatek/mt76/trace.h | 111 + sys/contrib/dev/mediatek/mt76/tx.c | 786 +++++ sys/contrib/dev/mediatek/mt76/usb.c | 1130 +++++++ sys/contrib/dev/mediatek/mt76/usb_trace.c | 12 + sys/contrib/dev/mediatek/mt76/usb_trace.h | 86 + sys/contrib/dev/mediatek/mt76/util.c | 150 + sys/contrib/dev/mediatek/mt76/util.h | 162 + 159 files changed, 71155 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/soc/mediatek/mtk_wed.h b/sys/compat/linuxkpi/common/include/linux/soc/mediatek/mtk_wed.h new file mode 100644 index 000000000000..1205d7ea32b0 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/linux/soc/mediatek/mtk_wed.h @@ -0,0 +1,48 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 Bjoern A. Zeeb + * + * 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 _LINUXKPI_LINUX_SOC_MEDIATEK_MTK_WED_H +#define _LINUXKPI_LINUX_SOC_MEDIATEK_MTK_WED_H + +struct mtk_wed_device { +}; + +#define mtk_wed_device_start(_dev, _mask) do { } while(0) +#define mtk_wed_device_detach(_dev) do { } while(0) +#define mtk_wed_device_irq_get(_dev, _mask) 0 +#define mtk_wed_device_irq_set_mask(_dev, _mask) do { } while(0) + +static inline bool +mtk_wed_device_active(struct mtk_wed_device *dev __unused) +{ + + return (false); +} + +#endif /* _LINUXKPI_LINUX_SOC_MEDIATEK_MTK_WED_H */ diff --git a/sys/contrib/dev/mediatek/mt76/agg-rx.c b/sys/contrib/dev/mediatek/mt76/agg-rx.c new file mode 100644 index 000000000000..10cbd9e560e7 --- /dev/null +++ b/sys/contrib/dev/mediatek/mt76/agg-rx.c @@ -0,0 +1,301 @@ +// SPDX-License-Identifier: ISC +/* + * Copyright (C) 2018 Felix Fietkau + */ +#include "mt76.h" + +static unsigned long mt76_aggr_tid_to_timeo(u8 tidno) +{ + /* Currently voice traffic (AC_VO) always runs without aggregation, + * no special handling is needed. AC_BE/AC_BK use tids 0-3. Just check + * for non AC_BK/AC_BE and set smaller timeout for it. */ + return HZ / (tidno >= 4 ? 25 : 10); +} + +static void +mt76_aggr_release(struct mt76_rx_tid *tid, struct sk_buff_head *frames, int idx) +{ + struct sk_buff *skb; + + tid->head = ieee80211_sn_inc(tid->head); + + skb = tid->reorder_buf[idx]; + if (!skb) + return; + + tid->reorder_buf[idx] = NULL; + tid->nframes--; + __skb_queue_tail(frames, skb); +} + +static void +mt76_rx_aggr_release_frames(struct mt76_rx_tid *tid, + struct sk_buff_head *frames, + u16 head) +{ + int idx; + + while (ieee80211_sn_less(tid->head, head)) { + idx = tid->head % tid->size; + mt76_aggr_release(tid, frames, idx); + } +} + +static void +mt76_rx_aggr_release_head(struct mt76_rx_tid *tid, struct sk_buff_head *frames) +{ + int idx = tid->head % tid->size; + + while (tid->reorder_buf[idx]) { + mt76_aggr_release(tid, frames, idx); + idx = tid->head % tid->size; + } +} + +static void +mt76_rx_aggr_check_release(struct mt76_rx_tid *tid, struct sk_buff_head *frames) +{ + struct mt76_rx_status *status; + struct sk_buff *skb; + int start, idx, nframes; + + if (!tid->nframes) + return; + + mt76_rx_aggr_release_head(tid, frames); + + start = tid->head % tid->size; + nframes = tid->nframes; + + for (idx = (tid->head + 1) % tid->size; + idx != start && nframes; + idx = (idx + 1) % tid->size) { + skb = tid->reorder_buf[idx]; + if (!skb) + continue; + + nframes--; + status = (struct mt76_rx_status *)skb->cb; + if (!time_after32(jiffies, + status->reorder_time + + mt76_aggr_tid_to_timeo(tid->num))) + continue; + + mt76_rx_aggr_release_frames(tid, frames, status->seqno); + } + + mt76_rx_aggr_release_head(tid, frames); +} + +static void +mt76_rx_aggr_reorder_work(struct work_struct *work) +{ + struct mt76_rx_tid *tid = container_of(work, struct mt76_rx_tid, + reorder_work.work); + struct mt76_dev *dev = tid->dev; + struct sk_buff_head frames; + int nframes; + + __skb_queue_head_init(&frames); + + local_bh_disable(); + rcu_read_lock(); + + spin_lock(&tid->lock); + mt76_rx_aggr_check_release(tid, &frames); + nframes = tid->nframes; + spin_unlock(&tid->lock); + + if (nframes) + ieee80211_queue_delayed_work(tid->dev->hw, &tid->reorder_work, + mt76_aggr_tid_to_timeo(tid->num)); + mt76_rx_complete(dev, &frames, NULL); + + rcu_read_unlock(); + local_bh_enable(); +} + +static void +mt76_rx_aggr_check_ctl(struct sk_buff *skb, struct sk_buff_head *frames) +{ + struct mt76_rx_status *status = (struct mt76_rx_status *)skb->cb; + struct ieee80211_bar *bar = mt76_skb_get_hdr(skb); + struct mt76_wcid *wcid = status->wcid; + struct mt76_rx_tid *tid; + u8 tidno = status->qos_ctl & IEEE80211_QOS_CTL_TID_MASK; + u16 seqno; + + if (!ieee80211_is_ctl(bar->frame_control)) + return; + + if (!ieee80211_is_back_req(bar->frame_control)) + return; + + status->qos_ctl = tidno = le16_to_cpu(bar->control) >> 12; + seqno = IEEE80211_SEQ_TO_SN(le16_to_cpu(bar->start_seq_num)); + tid = rcu_dereference(wcid->aggr[tidno]); + if (!tid) + return; + + spin_lock_bh(&tid->lock); + if (!tid->stopped) { + mt76_rx_aggr_release_frames(tid, frames, seqno); + mt76_rx_aggr_release_head(tid, frames); + } + spin_unlock_bh(&tid->lock); +} + +void mt76_rx_aggr_reorder(struct sk_buff *skb, struct sk_buff_head *frames) +{ + struct mt76_rx_status *status = (struct mt76_rx_status *)skb->cb; + struct mt76_wcid *wcid = status->wcid; + struct ieee80211_sta *sta; + struct mt76_rx_tid *tid; + bool sn_less; + u16 seqno, head, size, idx; + u8 tidno = status->qos_ctl & IEEE80211_QOS_CTL_TID_MASK; + u8 ackp; + + __skb_queue_tail(frames, skb); + + sta = wcid_to_sta(wcid); + if (!sta) + return; + + if (!status->aggr) { + if (!(status->flag & RX_FLAG_8023)) + mt76_rx_aggr_check_ctl(skb, frames); + return; + } + + /* not part of a BA session */ + ackp = status->qos_ctl & IEEE80211_QOS_CTL_ACK_POLICY_MASK; + if (ackp == IEEE80211_QOS_CTL_ACK_POLICY_NOACK) + return; + + tid = rcu_dereference(wcid->aggr[tidno]); + if (!tid) + return; + + status->flag |= RX_FLAG_DUP_VALIDATED; + spin_lock_bh(&tid->lock); + + if (tid->stopped) + goto out; + + head = tid->head; + seqno = status->seqno; + size = tid->size; + sn_less = ieee80211_sn_less(seqno, head); + + if (!tid->started) { + if (sn_less) + goto out; + + tid->started = true; + } + + if (sn_less) { + __skb_unlink(skb, frames); + dev_kfree_skb(skb); + goto out; + } + + if (seqno == head) { + tid->head = ieee80211_sn_inc(head); + if (tid->nframes) + mt76_rx_aggr_release_head(tid, frames); + goto out; + } + + __skb_unlink(skb, frames); + + /* + * Frame sequence number exceeds buffering window, free up some space + * by releasing previous frames + */ + if (!ieee80211_sn_less(seqno, head + size)) { + head = ieee80211_sn_inc(ieee80211_sn_sub(seqno, size)); + mt76_rx_aggr_release_frames(tid, frames, head); + } + + idx = seqno % size; + + /* Discard if the current slot is already in use */ + if (tid->reorder_buf[idx]) { + dev_kfree_skb(skb); + goto out; + } + + status->reorder_time = jiffies; + tid->reorder_buf[idx] = skb; + tid->nframes++; + mt76_rx_aggr_release_head(tid, frames); + + ieee80211_queue_delayed_work(tid->dev->hw, &tid->reorder_work, + mt76_aggr_tid_to_timeo(tid->num)); + +out: + spin_unlock_bh(&tid->lock); +} + +int mt76_rx_aggr_start(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno, + u16 ssn, u16 size) +{ + struct mt76_rx_tid *tid; + + mt76_rx_aggr_stop(dev, wcid, tidno); + + tid = kzalloc(struct_size(tid, reorder_buf, size), GFP_KERNEL); + if (!tid) + return -ENOMEM; + + tid->dev = dev; + tid->head = ssn; + tid->size = size; + tid->num = tidno; + INIT_DELAYED_WORK(&tid->reorder_work, mt76_rx_aggr_reorder_work); + spin_lock_init(&tid->lock); + + rcu_assign_pointer(wcid->aggr[tidno], tid); + + return 0; +} +EXPORT_SYMBOL_GPL(mt76_rx_aggr_start); + +static void mt76_rx_aggr_shutdown(struct mt76_dev *dev, struct mt76_rx_tid *tid) +{ + u16 size = tid->size; + int i; + + spin_lock_bh(&tid->lock); + + tid->stopped = true; + for (i = 0; tid->nframes && i < size; i++) { + struct sk_buff *skb = tid->reorder_buf[i]; + + if (!skb) + continue; + + tid->reorder_buf[i] = NULL; + tid->nframes--; + dev_kfree_skb(skb); + } + + spin_unlock_bh(&tid->lock); + + cancel_delayed_work_sync(&tid->reorder_work); +} + +void mt76_rx_aggr_stop(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno) +{ + struct mt76_rx_tid *tid = NULL; + + tid = rcu_replace_pointer(wcid->aggr[tidno], tid, + lockdep_is_held(&dev->mutex)); + if (tid) { + mt76_rx_aggr_shutdown(dev, tid); + kfree_rcu(tid, rcu_head); + } +} +EXPORT_SYMBOL_GPL(mt76_rx_aggr_stop); diff --git a/sys/contrib/dev/mediatek/mt76/debugfs.c b/sys/contrib/dev/mediatek/mt76/debugfs.c new file mode 100644 index 000000000000..47e9911ee9fe --- /dev/null +++ b/sys/contrib/dev/mediatek/mt76/debugfs.c @@ -0,0 +1,147 @@ +// SPDX-License-Identifier: ISC +/* + * Copyright (C) 2016 Felix Fietkau + */ +#include "mt76.h" + +static int +mt76_reg_set(void *data, u64 val) +{ + struct mt76_dev *dev = data; + + __mt76_wr(dev, dev->debugfs_reg, val); + return 0; +} + +static int +mt76_reg_get(void *data, u64 *val) +{ + struct mt76_dev *dev = data; + + *val = __mt76_rr(dev, dev->debugfs_reg); + return 0; +} + +DEFINE_DEBUGFS_ATTRIBUTE(fops_regval, mt76_reg_get, mt76_reg_set, + "0x%08llx\n"); + +static int +mt76_napi_threaded_set(void *data, u64 val) +{ + struct mt76_dev *dev = data; + + if (!mt76_is_mmio(dev)) + return -EOPNOTSUPP; + + if (dev->napi_dev.threaded != val) + return dev_set_threaded(&dev->napi_dev, val); + + return 0; +} + +static int +mt76_napi_threaded_get(void *data, u64 *val) +{ + struct mt76_dev *dev = data; + + *val = dev->napi_dev.threaded; + return 0; +} + +DEFINE_DEBUGFS_ATTRIBUTE(fops_napi_threaded, mt76_napi_threaded_get, + mt76_napi_threaded_set, "%llu\n"); + +int mt76_queues_read(struct seq_file *s, void *data) +{ + struct mt76_dev *dev = dev_get_drvdata(s->private); + int i; + + seq_puts(s, " queue | hw-queued | head | tail |\n"); + for (i = 0; i < ARRAY_SIZE(dev->phy.q_tx); i++) { + struct mt76_queue *q = dev->phy.q_tx[i]; + + if (!q) + continue; + + seq_printf(s, " %9d | %9d | %9d | %9d |\n", + i, q->queued, q->head, q->tail); + } + + return 0; +} +EXPORT_SYMBOL_GPL(mt76_queues_read); + +static int mt76_rx_queues_read(struct seq_file *s, void *data) +{ + struct mt76_dev *dev = dev_get_drvdata(s->private); + int i, queued; + + seq_puts(s, " queue | hw-queued | head | tail |\n"); + mt76_for_each_q_rx(dev, i) { + struct mt76_queue *q = &dev->q_rx[i]; + + queued = mt76_is_usb(dev) ? q->ndesc - q->queued : q->queued; + seq_printf(s, " %9d | %9d | %9d | %9d |\n", + i, queued, q->head, q->tail); + } + + return 0; +} + +void mt76_seq_puts_array(struct seq_file *file, const char *str, + s8 *val, int len) +{ + int i; + + seq_printf(file, "%10s:", str); + for (i = 0; i < len; i++) + seq_printf(file, " %2d", val[i]); + seq_puts(file, "\n"); +} +EXPORT_SYMBOL_GPL(mt76_seq_puts_array); + +static int mt76_read_rate_txpower(struct seq_file *s, void *data) +{ + struct mt76_dev *dev = dev_get_drvdata(s->private); + + mt76_seq_puts_array(s, "CCK", dev->rate_power.cck, + ARRAY_SIZE(dev->rate_power.cck)); + mt76_seq_puts_array(s, "OFDM", dev->rate_power.ofdm, + ARRAY_SIZE(dev->rate_power.ofdm)); + mt76_seq_puts_array(s, "STBC", dev->rate_power.stbc, + ARRAY_SIZE(dev->rate_power.stbc)); + mt76_seq_puts_array(s, "HT", dev->rate_power.ht, + ARRAY_SIZE(dev->rate_power.ht)); + mt76_seq_puts_array(s, "VHT", dev->rate_power.vht, + ARRAY_SIZE(dev->rate_power.vht)); + return 0; +} + +struct dentry * +mt76_register_debugfs_fops(struct mt76_phy *phy, + const struct file_operations *ops) +{ + const struct file_operations *fops = ops ? ops : &fops_regval; + struct mt76_dev *dev = phy->dev; + struct dentry *dir; + + dir = debugfs_create_dir("mt76", phy->hw->wiphy->debugfsdir); + if (!dir) + return NULL; + + debugfs_create_u8("led_pin", 0600, dir, &dev->led_pin); + debugfs_create_u32("regidx", 0600, dir, &dev->debugfs_reg); + debugfs_create_file_unsafe("regval", 0600, dir, dev, fops); + debugfs_create_file_unsafe("napi_threaded", 0600, dir, dev, + &fops_napi_threaded); + debugfs_create_blob("eeprom", 0400, dir, &dev->eeprom); + if (dev->otp.data) + debugfs_create_blob("otp", 0400, dir, &dev->otp); + debugfs_create_devm_seqfile(dev->dev, "rate_txpower", dir, + mt76_read_rate_txpower); + debugfs_create_devm_seqfile(dev->dev, "rx-queues", dir, + mt76_rx_queues_read); + + return dir; +} +EXPORT_SYMBOL_GPL(mt76_register_debugfs_fops); diff --git a/sys/contrib/dev/mediatek/mt76/dma.c b/sys/contrib/dev/mediatek/mt76/dma.c new file mode 100644 index 000000000000..dba7c323d205 --- /dev/null +++ b/sys/contrib/dev/mediatek/mt76/dma.c @@ -0,0 +1,826 @@ +// SPDX-License-Identifier: ISC +/* + * Copyright (C) 2016 Felix Fietkau + */ + +#include +#if defined(__FreeBSD__) +#include +#endif +#include "mt76.h" +#include "dma.h" + +#if IS_ENABLED(CONFIG_NET_MEDIATEK_SOC_WED) + +#define Q_READ(_dev, _q, _field) ({ \ + u32 _offset = offsetof(struct mt76_queue_regs, _field); \ + u32 _val; \ + if ((_q)->flags & MT_QFLAG_WED) \ + _val = mtk_wed_device_reg_read(&(_dev)->mmio.wed, \ + ((_q)->wed_regs + \ + _offset)); \ + else \ + _val = readl(&(_q)->regs->_field); \ + _val; \ +}) + +#define Q_WRITE(_dev, _q, _field, _val) do { \ + u32 _offset = offsetof(struct mt76_queue_regs, _field); \ + if ((_q)->flags & MT_QFLAG_WED) \ + mtk_wed_device_reg_write(&(_dev)->mmio.wed, \ + ((_q)->wed_regs + _offset), \ + _val); \ + else \ + writel(_val, &(_q)->regs->_field); \ +} while (0) + +#else + +#define Q_READ(_dev, _q, _field) readl(&(_q)->regs->_field) +#define Q_WRITE(_dev, _q, _field, _val) writel(_val, &(_q)->regs->_field) + +#endif + +static struct mt76_txwi_cache * +mt76_alloc_txwi(struct mt76_dev *dev) +{ + struct mt76_txwi_cache *t; + dma_addr_t addr; + u8 *txwi; + int size; + + size = L1_CACHE_ALIGN(dev->drv->txwi_size + sizeof(*t)); + txwi = kzalloc(size, GFP_ATOMIC); + if (!txwi) + return NULL; + + addr = dma_map_single(dev->dma_dev, txwi, dev->drv->txwi_size, + DMA_TO_DEVICE); + t = (struct mt76_txwi_cache *)(txwi + dev->drv->txwi_size); + t->dma_addr = addr; + + return t; +} + +static struct mt76_txwi_cache * +__mt76_get_txwi(struct mt76_dev *dev) +{ + struct mt76_txwi_cache *t = NULL; + + spin_lock(&dev->lock); + if (!list_empty(&dev->txwi_cache)) { + t = list_first_entry(&dev->txwi_cache, struct mt76_txwi_cache, + list); + list_del(&t->list); + } + spin_unlock(&dev->lock); + + return t; +} + +static struct mt76_txwi_cache * +mt76_get_txwi(struct mt76_dev *dev) +{ + struct mt76_txwi_cache *t = __mt76_get_txwi(dev); + + if (t) + return t; + + return mt76_alloc_txwi(dev); +} + +void +mt76_put_txwi(struct mt76_dev *dev, struct mt76_txwi_cache *t) +{ + if (!t) + return; + + spin_lock(&dev->lock); + list_add(&t->list, &dev->txwi_cache); + spin_unlock(&dev->lock); +} +EXPORT_SYMBOL_GPL(mt76_put_txwi); + +static void +mt76_free_pending_txwi(struct mt76_dev *dev) +{ + struct mt76_txwi_cache *t; + + local_bh_disable(); + while ((t = __mt76_get_txwi(dev)) != NULL) { + dma_unmap_single(dev->dma_dev, t->dma_addr, dev->drv->txwi_size, + DMA_TO_DEVICE); + kfree(mt76_get_txwi_ptr(dev, t)); + } + local_bh_enable(); +} + +static void +mt76_dma_sync_idx(struct mt76_dev *dev, struct mt76_queue *q) +{ + Q_WRITE(dev, q, desc_base, q->desc_dma); + Q_WRITE(dev, q, ring_size, q->ndesc); + q->head = Q_READ(dev, q, dma_idx); + q->tail = q->head; +} + +static void +mt76_dma_queue_reset(struct mt76_dev *dev, struct mt76_queue *q) +{ + int i; + + if (!q || !q->ndesc) + return; + + /* clear descriptors */ + for (i = 0; i < q->ndesc; i++) + q->desc[i].ctrl = cpu_to_le32(MT_DMA_CTL_DMA_DONE); + + Q_WRITE(dev, q, cpu_idx, 0); + Q_WRITE(dev, q, dma_idx, 0); + mt76_dma_sync_idx(dev, q); +} + +static int +mt76_dma_add_buf(struct mt76_dev *dev, struct mt76_queue *q, + struct mt76_queue_buf *buf, int nbufs, u32 info, + struct sk_buff *skb, void *txwi) +{ + struct mt76_queue_entry *entry; + struct mt76_desc *desc; + u32 ctrl; + int i, idx = -1; + + if (txwi) { + q->entry[q->head].txwi = DMA_DUMMY_DATA; + q->entry[q->head].skip_buf0 = true; + } + + for (i = 0; i < nbufs; i += 2, buf += 2) { + u32 buf0 = buf[0].addr, buf1 = 0; + + idx = q->head; + q->head = (q->head + 1) % q->ndesc; + + desc = &q->desc[idx]; + entry = &q->entry[idx]; + + if (buf[0].skip_unmap) + entry->skip_buf0 = true; + entry->skip_buf1 = i == nbufs - 1; + + entry->dma_addr[0] = buf[0].addr; + entry->dma_len[0] = buf[0].len; + + ctrl = FIELD_PREP(MT_DMA_CTL_SD_LEN0, buf[0].len); + if (i < nbufs - 1) { + entry->dma_addr[1] = buf[1].addr; + entry->dma_len[1] = buf[1].len; + buf1 = buf[1].addr; + ctrl |= FIELD_PREP(MT_DMA_CTL_SD_LEN1, buf[1].len); + if (buf[1].skip_unmap) + entry->skip_buf1 = true; + } + + if (i == nbufs - 1) + ctrl |= MT_DMA_CTL_LAST_SEC0; + else if (i == nbufs - 2) + ctrl |= MT_DMA_CTL_LAST_SEC1; + + WRITE_ONCE(desc->buf0, cpu_to_le32(buf0)); + WRITE_ONCE(desc->buf1, cpu_to_le32(buf1)); + WRITE_ONCE(desc->info, cpu_to_le32(info)); + WRITE_ONCE(desc->ctrl, cpu_to_le32(ctrl)); + + q->queued++; + } + + q->entry[idx].txwi = txwi; + q->entry[idx].skb = skb; + q->entry[idx].wcid = 0xffff; + + return idx; +} + +static void +mt76_dma_tx_cleanup_idx(struct mt76_dev *dev, struct mt76_queue *q, int idx, + struct mt76_queue_entry *prev_e) +{ + struct mt76_queue_entry *e = &q->entry[idx]; + + if (!e->skip_buf0) + dma_unmap_single(dev->dma_dev, e->dma_addr[0], e->dma_len[0], + DMA_TO_DEVICE); + + if (!e->skip_buf1) + dma_unmap_single(dev->dma_dev, e->dma_addr[1], e->dma_len[1], + DMA_TO_DEVICE); + + if (e->txwi == DMA_DUMMY_DATA) + e->txwi = NULL; + + if (e->skb == DMA_DUMMY_DATA) + e->skb = NULL; + + *prev_e = *e; + memset(e, 0, sizeof(*e)); +} + +static void +mt76_dma_kick_queue(struct mt76_dev *dev, struct mt76_queue *q) +{ + wmb(); + Q_WRITE(dev, q, cpu_idx, q->head); +} + +static void +mt76_dma_tx_cleanup(struct mt76_dev *dev, struct mt76_queue *q, bool flush) +{ + struct mt76_queue_entry entry; + int last; + + if (!q || !q->ndesc) + return; + + spin_lock_bh(&q->cleanup_lock); + if (flush) + last = -1; + else + last = Q_READ(dev, q, dma_idx); + + while (q->queued > 0 && q->tail != last) { + mt76_dma_tx_cleanup_idx(dev, q, q->tail, &entry); + mt76_queue_tx_complete(dev, q, &entry); + + if (entry.txwi) { + if (!(dev->drv->drv_flags & MT_DRV_TXWI_NO_FREE)) + mt76_put_txwi(dev, entry.txwi); + } + + if (!flush && q->tail == last) + last = Q_READ(dev, q, dma_idx); + } + spin_unlock_bh(&q->cleanup_lock); + + if (flush) { + spin_lock_bh(&q->lock); + mt76_dma_sync_idx(dev, q); + mt76_dma_kick_queue(dev, q); + spin_unlock_bh(&q->lock); + } + *** 71319 LINES SKIPPED *** From nobody Sun Apr 23 21:31:37 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4M0B3DTnz46W4d; Sun, 23 Apr 2023 21: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 4Q4M0B0xbmz3DFW; Sun, 23 Apr 2023 21: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=1682285498; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ISVELRDZTBEFh1XCtdMZ8J0PxWvpNFxT4RZzT5g0eec=; b=eyXmfH1MjoiWu5mGkOblomqYDpJNngzvR7r0NlCQHpI9rifEoLQyJK0tghWYGDo68+l6Vw EKo2NdlVZGLelXec6piThO4vXQGOFlagvMzsyIVRbKZuGS+pAtczWTIpyOlPRQO0ZPunQx QkSmAV8A7JfZ592lenYzdbcXWa6Mbe/VCPv+5QIUVOV+Pjefu2VuIE7DtL7jeZqZ12F7TC Q66n7n2b7vbvomwrihYcE2JFJ71uJbGc+ZvMe/letBg3LTb6DX/AzL/F09vIyV4N9E2U5l gzZH/sLpntj0y8OlGQYBmfNbMlqqDIWVFhomGUih4rEPF0jMjNXtwUt6ytDUGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285498; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ISVELRDZTBEFh1XCtdMZ8J0PxWvpNFxT4RZzT5g0eec=; b=yVHmX6a9jBpwgDimpI2moYjjHxbhtZ2Kf1MoFHO+FSyf/C2IfTAfw42PruKdFPOYS+7t4o pRJxnDkPG+T9njanyN9WhFc21WyOpA40Wgyr7AQsHTPsae8Vn0Her0opB/Nb1RITS3UrDA T/eFWfw3K2kh0CaegoK4e9Fz7ltEYtS6JngsR7ISLzf9bJiIoaX3kSa2dHgQ3HQ5EM47UT b2Z1eepX9YUOjaMQkv6dwT534mVHV9hgjcjZEeFNnueNDcnPYCFqdiTfuDd8oUGcTlL3na srhGv/EhOpVGariGfw9XUlMY8CBWS1ZLGXRG68+eljEI0xXfs1NBtybL14GQuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682285498; a=rsa-sha256; cv=none; b=x61MawjnO+ZG5kgVFpUgun38kBRGGVbSR8qFicI4ZV9AYcsL9QkfdZrckI488iaxRLMMck H0RGWG7oog0bL8TA6up4EjjPwKirgc0luBcvWHiTO0LZMGRHmRqwBln248/QIwSr6a0pCK qk1LsGdSIjooipCZwwSbt4YTY9h3wtyAvrBYpKgqgS5tTILuWJ5hvBY3baax0SN18MHHNm wChHUk/zGxj7gdyUfIkRRL6O3KS7jnvSi5Slhdoq+i+yJ4davkD6yOo8JZP1WHzbB8cxCE eVFFnh4TGaChk3t+6+0ShCb/qjzfpQZ6D2YfMqTdWKYfZeO2vS9ceYtlv7TZig== 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 4Q4M0975Zwz10QK; Sun, 23 Apr 2023 21: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 33NLVbv6084503; Sun, 23 Apr 2023 21: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 33NLVbn2084502; Sun, 23 Apr 2023 21:31:37 GMT (envelope-from git) Date: Sun, 23 Apr 2023 21:31:37 GMT Message-Id: <202304232131.33NLVbn2084502@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 3c4ba5f55438 - main - mt76: add module build framework and man pages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3c4ba5f55438f7afd4f4b0b56f88f2bb505fd6a6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3c4ba5f55438f7afd4f4b0b56f88f2bb505fd6a6 commit 3c4ba5f55438f7afd4f4b0b56f88f2bb505fd6a6 Author: Bjoern A. Zeeb AuthorDate: 2023-04-18 14:30:20 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-04-23 21:31:07 +0000 mt76: add module build framework and man pages Add framework to build if_mt7915 and if_mt7921 with LinuxKPI as well as initial man pages for the two mt76 chipset drivers. MFC after: 2 months --- share/man/man4/mt7915.4 | 100 +++++++++++++++++++++++++++++++++++++++ share/man/man4/mt7921.4 | 100 +++++++++++++++++++++++++++++++++++++++ sys/modules/mt76/Makefile | 7 +++ sys/modules/mt76/Makefile.inc | 30 ++++++++++++ sys/modules/mt76/core/Makefile | 26 ++++++++++ sys/modules/mt76/mt7915/Makefile | 24 ++++++++++ sys/modules/mt76/mt7921/Makefile | 30 ++++++++++++ 7 files changed, 317 insertions(+) diff --git a/share/man/man4/mt7915.4 b/share/man/man4/mt7915.4 new file mode 100644 index 000000000000..0bb82959d488 --- /dev/null +++ b/share/man/man4/mt7915.4 @@ -0,0 +1,100 @@ +.\"- +.\" Copyright (c) 2023 Bjoern A. Zeeb +.\" +.\" 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 18, 2023 +.Dt MT7915 4 +.Os +.Sh NAME +.Nm mt7915 +.Nd MediaTek IEEE 802.11ax wireless network driver +.Sh SYNOPSIS +The driver will auto-load without any user interaction using +.Xr devmatch 8 +if enabled in +.Xr rc.conf 5 . +.Pp +Only if auto-loading is explicitly disabled, place the following +lines in +.Xr rc.conf 5 +to manually load the driver as a module at boot time: +.Bd -literal -offset indent +kld_list="${kld_list} if_mt7915" +.Ed +.Pp +The driver should automatically load any +firmware needed for the particular chipset. +.Pp +It is discouraged to load the driver from +.Xr loader 8 . +.Sh DESCRIPTION +The +.Nm +driver is derived from MediaTek's Linux mt76 driver and provides support for +the following chipsets: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It MediaTek MT7915E (PCIe) +.El +.Pp +This driver requires firmware to be loaded before it will work. +The package +.Pa wifi-firmware-mt76-kmod +from the +.Pa ports/net/wifi-firmware-mt76-kmod +port needs to be installed before the driver is loaded. +Otherwise no +.Xr wlan 4 +interface can be created using +.Xr ifconfig 8 . +.Pp +The driver uses the +.\" No LinuxKPI man pages so no .Xr here. +.Em linuxkpi_wlan +and +.Em linuxkpi +compat framework to bridge between the Linux and +native +.Fx +driver code as well as to the native +.Xr net80211 4 +wireless stack. +.Pp +While +.Nm +supports all 802.11 a/b/g/n/ac and ax +the compatibility code currently only supports 802.11 a/b/g modes. +Support for 802.11 n/ac is to come. +.Sh BUGS +Certainly. +.Sh SEE ALSO +.Xr wlan 4 , +.Xr ifconfig 8 , +.Xr wpa_supplicant 8 +.Sh HISTORY +The +.Nm +driver first appeared in +.Fx 14.0 . diff --git a/share/man/man4/mt7921.4 b/share/man/man4/mt7921.4 new file mode 100644 index 000000000000..3cafa52779dd --- /dev/null +++ b/share/man/man4/mt7921.4 @@ -0,0 +1,100 @@ +.\"- +.\" Copyright (c) 2023 Bjoern A. Zeeb +.\" +.\" 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 18, 2023 +.Dt MT7921 4 +.Os +.Sh NAME +.Nm mt7921 +.Nd MediaTek IEEE 802.11ax wireless network driver +.Sh SYNOPSIS +The driver will auto-load without any user interaction using +.Xr devmatch 8 +if enabled in +.Xr rc.conf 5 . +.Pp +Only if auto-loading is explicitly disabled, place the following +lines in +.Xr rc.conf 5 +to manually load the driver as a module at boot time: +.Bd -literal -offset indent +kld_list="${kld_list} if_mt7921" +.Ed +.Pp +The driver should automatically load any +firmware needed for the particular chipset. +.Pp +It is discouraged to load the driver from +.Xr loader 8 . +.Sh DESCRIPTION +The +.Nm +driver is derived from MediaTek's Linux mt76 driver and provides support for +the following chipsets: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It MediaTek MT7921E (PCIe) +.El +.Pp +This driver requires firmware to be loaded before it will work. +The package +.Pa wifi-firmware-mt76-kmod +from the +.Pa ports/net/wifi-firmware-mt76-kmod +port needs to be installed before the driver is loaded. +Otherwise no +.Xr wlan 4 +interface can be created using +.Xr ifconfig 8 . +.Pp +The driver uses the +.\" No LinuxKPI man pages so no .Xr here. +.Em linuxkpi_wlan +and +.Em linuxkpi +compat framework to bridge between the Linux and +native +.Fx +driver code as well as to the native +.Xr net80211 4 +wireless stack. +.Pp +While +.Nm +supports all 802.11 a/b/g/n/ac and ax +the compatibility code currently only supports 802.11 a/b/g modes. +Support for 802.11 n/ac is to come. +.Sh BUGS +Certainly. +.Sh SEE ALSO +.Xr wlan 4 , +.Xr ifconfig 8 , +.Xr wpa_supplicant 8 +.Sh HISTORY +The +.Nm +driver first appeared in +.Fx 14.0 . diff --git a/sys/modules/mt76/Makefile b/sys/modules/mt76/Makefile new file mode 100644 index 000000000000..013219337952 --- /dev/null +++ b/sys/modules/mt76/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +SUBDIR= core +SUBDIR+= mt7915 +SUBDIR+= mt7921 + +.include diff --git a/sys/modules/mt76/Makefile.inc b/sys/modules/mt76/Makefile.inc new file mode 100644 index 000000000000..5e3e05dab59c --- /dev/null +++ b/sys/modules/mt76/Makefile.inc @@ -0,0 +1,30 @@ +# $FreeBSD$ + +# Common information shared by all submodule builds. + +COMMONDIR= ${SRCTOP}/sys/contrib/dev/mediatek/mt76 + +.PATH: ${COMMONDIR} + +WITH_CONFIG_PM= 0 +WITH_DEBUGFS= 0 + +# Other +SRCS+= ${LINUXKPI_GENSRCS} +SRCS+= opt_wlan.h opt_inet6.h opt_inet.h + +# Helpful after fresh imports. +#CFLAGS+= -ferror-limit=0 + +.if defined(WITH_CONFIG_PM) && ${WITH_CONFIG_PM} > 0 +CFLAGS+= -DCONFIG_PM=${WITH_CONFIG_PM} +.endif + +.if defined(WITH_DEBUGFS) && ${WITH_DEBUGFS} > 0 +CFLAGS+= -DCONFIG_MAC80211_DEBUGFS=${WITH_DEBUGFS} +.endif + +CFLAGS+= -I${COMMONDIR} +CFLAGS+= ${LINUXKPI_INCLUDES} + +# end diff --git a/sys/modules/mt76/core/Makefile b/sys/modules/mt76/core/Makefile new file mode 100644 index 000000000000..52f5c1b20284 --- /dev/null +++ b/sys/modules/mt76/core/Makefile @@ -0,0 +1,26 @@ +# $FreeBSD$ + +KMOD= mt76_core + +# Basic stuff. +SRCS= mac80211.c mmio.c util.c dma.c eeprom.c tx.c agg-rx.c mcu.c +#SRCS+= trace.c + +# Bus stuff. +SRCS+= pci.c +#SRCS+= usb.c # usb_trace.c +#SRCS+= sdio.c sdio_txrx.c + +# Connac-Lib stuff. +SRCS+= mt76_connac_mac.c mt76_connac_mcu.c + +# MT76x02-Lib stuff (we don't need; that's for older chipsets not yet supported) + +.if defined(WITH_DEBUGFS) && ${WITH_DEBUGFS} > 0 +SRCS+= debugfs.c +.endif + +CFLAGS+= -DKBUILD_MODNAME='"mt76_core"' +CFLAGS+= -DCONFIG_MAC80211_DEBUGFS=${WITH_DEBUGFS} + +.include diff --git a/sys/modules/mt76/mt7915/Makefile b/sys/modules/mt76/mt7915/Makefile new file mode 100644 index 000000000000..d4bc68d53782 --- /dev/null +++ b/sys/modules/mt76/mt7915/Makefile @@ -0,0 +1,24 @@ +# $FreeBSD$ + +DEVDIR= ${SRCTOP}/sys/contrib/dev/mediatek/mt76/mt7915 + +.PATH: ${DEVDIR} + +KMOD= if_mt7915 + +# Common stuff. +SRCS= init.c main.c mac.c mcu.c mmio.c eeprom.c +SRCS+= pci.c dma.c + +# SOC+6E stuff. +#SRCS+= soc.c + +.if defined(WITH_DEBUGFS) && ${WITH_DEBUGFS} > 0 +SRCS+= debugfs.c +CFLAGS+= -DCONFIG_MT7915_DEBUGFS=${WITH_DEBUGFS} +.endif + +CFLAGS+= -DKBUILD_MODNAME='"mt7915"' +CFLAGS+= -I${DEVDIR} + +.include diff --git a/sys/modules/mt76/mt7921/Makefile b/sys/modules/mt76/mt7921/Makefile new file mode 100644 index 000000000000..25d5ef8e9da5 --- /dev/null +++ b/sys/modules/mt76/mt7921/Makefile @@ -0,0 +1,30 @@ +# $FreeBSD$ + +DEVDIR= ${SRCTOP}/sys/contrib/dev/mediatek/mt76/mt7921 + +.PATH: ${DEVDIR} + +KMOD= if_mt7921 + +# Common stuff. +SRCS= init.c main.c mac.c mcu.c +#SRCS+= trace.c + +# PCI stuff. +SRCS+= pci.c pci_mac.c pci_mcu.c dma.c + +# USB stuff. +#SRCS+= usb.c usb_mac.c + +# SDIO stuff. +#SRCS+= sdio.c sdio_mac.c sdio_mcu.c + +.if defined(WITH_DEBUGFS) && ${WITH_DEBUGFS} > 0 +SRCS+= debugfs.c +CFLAGS+= -DCONFIG_MT7921_DEBUGFS=${WITH_DEBUGFS} +.endif + +CFLAGS+= -DKBUILD_MODNAME='"mt7921"' +CFLAGS+= -I${DEVDIR} + +.include From nobody Sun Apr 23 21:31:39 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4M0D3q5fz46W2G; Sun, 23 Apr 2023 21:31: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 4Q4M0C27kYz3D51; Sun, 23 Apr 2023 21:31:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ITdBSJVRDZfpVVDzmrx0xIZbggTfKNuUVCxzJrNVq/U=; b=JpEgAxlMrh/AFXWqH3il4gKJPi+anM7zORk9MOvMDnXIgAHN20ck3xhovlJGbUg3VTdRMO vPHMoqQm2HtPCTc0IDhToY1lGJYhG2A0FUCVOyVHYkVNiboqiJvbXgmukwGCpy0gTgYKCq kkcgZj5/9/pqSmtY5M2Qbsx5lsO0PvtyvXRsgFuuQ3qiZIYR/80vF4SBeJmxnDCh1ZvBec loE85qTKUY2SJZ0fH6T30PA896PrFT8yPLPgmPntB7S1x8+WWtck6pwxfdM8hLuimnc3R/ v3vZYa2oP6YEcJEHwuXa9o+5+wU1PoxUk5tEbHojhfFhj63vpWSP95TNWxy94w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ITdBSJVRDZfpVVDzmrx0xIZbggTfKNuUVCxzJrNVq/U=; b=p/1Ohr7BD6NyJddfXiW6qWqJewqQOJfqEGY7FK5QOm5keUGK6jeJS6+rR87wz0NNIOQCYZ IW9V5TRJzKidbuwWR2mdV032EF7SNxoz7LywQ1f/2OAcwTrNyVts4lJgQPyYmcDTLt3myD J6KFAxdPVUBy6TpS3S/MoGaZsdl9czQdpa8u6fN7aRWYVuZbja2NsTkkYL7vEsm9yeQ6Ll ASC4Rj4FFujtXKRukUndHU4RwcB4v6UMVrc4P5S0nIchKCPuAK63POxKEbMUhEhVJX5J7h L4+egq457+8P4giU6fVkzrZnjaBJLyMhyCH4fTC/4GQ6gSBX6IU4I+EnelXF4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682285499; a=rsa-sha256; cv=none; b=F7LFNnCfnGLsCrnoK0OEyuwd+RhPUjZL6QUvV8Yvke42BAhflyv8OzHBocHWlVdhlmLtEw m9fWF1sQIvsdZbDNgn69W2hEfSF0xXZzW/hdOPAnq2NqSPIjjjAH9Jb0XBvWcEzmr5Yg1B hBQbdZ+OGr35YCbiUy2jgnsJQSl/RYPX0nPziOENs4jIdnepbcCSNCP34Fu8uKUos3NwPD +JwaRC4RMn1bStfxq9u+By0mhmJHi8DtgkDVgh0vxOwh/gK1w0x1JODp8TnPDI/h7mlOIS 47DTtq/67ZUJdDHNzlsP50YeS9omYuos4fRuJtgb9o69s8j/Ar3/slAWEqUu1g== 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 4Q4M0C0hY3z10QL; Sun, 23 Apr 2023 21:31: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 33NLVdeH084525; Sun, 23 Apr 2023 21:31:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NLVd4x084524; Sun, 23 Apr 2023 21:31:39 GMT (envelope-from git) Date: Sun, 23 Apr 2023 21:31:39 GMT Message-Id: <202304232131.33NLVd4x084524@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 88e71cc06d92 - main - mt76: devd: add support for mt79* wireless drivers to devd.conf List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 88e71cc06d92f90b368f1af45d6dfb5f38d14cdf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=88e71cc06d92f90b368f1af45d6dfb5f38d14cdf commit 88e71cc06d92f90b368f1af45d6dfb5f38d14cdf Author: Bjoern A. Zeeb AuthorDate: 2023-04-18 14:31:41 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-04-23 21:31:07 +0000 mt76: devd: add support for mt79* wireless drivers to devd.conf Add the "mt79" to the regex for wireless drivers in devd.conf so that they get handled as expected. MFC after: 2 months --- sbin/devd/devd.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/devd/devd.conf b/sbin/devd/devd.conf index 9604fe8efc05..ccf9726ab124 100644 --- a/sbin/devd/devd.conf +++ b/sbin/devd/devd.conf @@ -19,8 +19,8 @@ options { # Setup some shorthand for regex that we use later in the file. #XXX Yes, this is gross -- imp set wifi-driver-regex - "(ath|bwi|bwn|ipw|iwlwifi|iwi|iwm|iwn|malo|mwl|otus|ral|rsu|rtw|rtwn|rum|\ - run|uath|upgt|ural|urtw|wpi|wtap|zyd)[0-9]+"; + "(ath|bwi|bwn|ipw|iwlwifi|iwi|iwm|iwn|malo|mwl|mt79|otus|\ + ral|rsu|rtw|rtwn|rum|run|uath|upgt|ural|urtw|wpi|wtap|zyd)[0-9]+"; }; # Note that the attach/detach with the highest value wins, so that one can From nobody Sun Apr 23 21:31:40 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4M0D69xlz46Vsw; Sun, 23 Apr 2023 21:31: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 4Q4M0D3S2mz3DDP; Sun, 23 Apr 2023 21:31:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285500; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BIempSIfwKRv921Js5ykkJbTYIeepjbIQ+VirmTHJFI=; b=d2PDihxXxsCQ2y4iq6uxe6dVmRU/Wx+To4lsryvow0BtHJJrmUy/HkmmJ6y4tCSK0wuF8n gYJfxvTXtTqtoAxhx+gZUBINOL7Qu+X70RgK02usmKaaiN3N0f9TQndHyLgnWs1ytD5d7G Ob0jtpGqjMbu4ci61FuySv2TJBYmPHAMG2QrOwVhsNusItnGQXK7H8RW5wDttN1BRTvCJ2 sQZZ8Wmj+iEHCeq3gB4qORGTMdCj2t+xGA9Vf/lRRDPQBLnss2IUOCUuC68HnCN3ap2mZ8 BkjtY5ty3cMTlTKw+txhU+z6/54jGo8qfCU458ZJo+vQN040gVGpLMNMu2K2Lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285500; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BIempSIfwKRv921Js5ykkJbTYIeepjbIQ+VirmTHJFI=; b=c0qBPOUi76Gid1NwpI/gOlH/c6OZl+C8+m5mcuV31ooEDTWyx1FekJi3qvPAl+XsXayY2t 3ZN/kKPMWGhwpJ1u6r6C2z2aMDr0FYOjmSY1IqSOqNiwJ/OT0w0qAEr6SS/H/Chbh6fJPU qCt2ATztxgtLQffgvi2iLpO1OYOn5HTXZQ2Da3anEL47UKuY9hKUH43gypwd9lgcDB0xj1 5ytCRllbZ4XttmYbjysv5gV6bNzefBZb+cmTXvJQPesN1lEfAonT2BqBMSBX7aeVNoZenJ RG2UbgS8JMbR62L4QHEbVMiuuSUDpVKpxkblmkyfhHUgnqPsYfaHKICyAJzdQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682285500; a=rsa-sha256; cv=none; b=ER8nVpkgPxOfhATJLYCkUvx4BlQemoQdtLu3K11sAPlh1IEqZaHsausmF62h22eRvXKq9I mKxHibGZmlWmUEvcFP2OGRNDq1eIpME/y/FsZfHHVSYY85X1+O9M/3jxwjfKbJW+qn8xy3 7N+DmqIp8CI669V/kjOyKWecgTHMRKGe6VERbYGnzQZsxggn4QbAlv+JYgRpwZt377X7/N CyI2VaNfR/LH7ODTDOtjwnRMr+9ttOr1jX81GzKcst4XKSdaTexW0vfubY+geuDA2uFunN 3PmTt/qIi5F5MwtXAY5zu+LXdSXyGzm2gPXBklauJVb/7wXBv/+ecSaaz8oQ9A== 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 4Q4M0D1bQGz10SF; Sun, 23 Apr 2023 21:31: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 33NLVea1084544; Sun, 23 Apr 2023 21:31:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NLVekc084543; Sun, 23 Apr 2023 21:31:40 GMT (envelope-from git) Date: Sun, 23 Apr 2023 21:31:40 GMT Message-Id: <202304232131.33NLVekc084543@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e17944a821a1 - main - ath10k: ath11k: ammend devd.conf regex List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e17944a821a1a3d71b16fb23349e1f3ad80641ac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e17944a821a1a3d71b16fb23349e1f3ad80641ac commit e17944a821a1a3d71b16fb23349e1f3ad80641ac Author: Bjoern A. Zeeb AuthorDate: 2023-04-18 20:13:24 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-04-23 21:31:07 +0000 ath10k: ath11k: ammend devd.conf regex In order to match these drivers, and in expectiation of ath12k happening add ath[0-9]+k to the regex pattern for wlan devices. MFC after: 2 months --- sbin/devd/devd.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/devd/devd.conf b/sbin/devd/devd.conf index ccf9726ab124..a61d93260dfc 100644 --- a/sbin/devd/devd.conf +++ b/sbin/devd/devd.conf @@ -19,7 +19,7 @@ options { # Setup some shorthand for regex that we use later in the file. #XXX Yes, this is gross -- imp set wifi-driver-regex - "(ath|bwi|bwn|ipw|iwlwifi|iwi|iwm|iwn|malo|mwl|mt79|otus|\ + "(ath|ath[0-9]+k|bwi|bwn|ipw|iwlwifi|iwi|iwm|iwn|malo|mwl|mt79|otus|\ ral|rsu|rtw|rtwn|rum|run|uath|upgt|ural|urtw|wpi|wtap|zyd)[0-9]+"; }; From nobody Sun Apr 23 21:31:41 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4M0G1xzyz46Vly; Sun, 23 Apr 2023 21:31: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 4Q4M0F3DKTz3DBL; Sun, 23 Apr 2023 21:31:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285502; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MluQiYtd7GtxxGz+HJh84y2f7TOKe3OdDDaUlPpEcZI=; b=VS9uYkYGaGqyxuzvcFQONOmcNGywIBDhdyS7YQK6uVHN6jjDCa/eBJ+UcWbmDa4vgalMJg +E8cgLY6rPmpLur2ZB1Qnmivg6TV13DCIMghnWW6X1rUmzfUaOFnX56leBGtYIUtcXuJhW YMtclICEQ3MRLeMRciaGzWSz7No3SXdIb8oClrDFvD1nCEpBNttG3uuuuItPP0LXjoipbx b0cesgjJ0KnIEJxwwx1yrC0pBK0GJ3o1plmYSkzPKe5KMLe6kZgMn/SXGwpbgJMQZQzcbg 2AkWVzLRlInAXO3A7APoLuQHZpXRMDmXmFyXtsvBTIM7wlt1UK8Jw1eFPyZWhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MluQiYtd7GtxxGz+HJh84y2f7TOKe3OdDDaUlPpEcZI=; b=fRc+GPzYb9Zth1qAP+j0v/KFCoEyvtuAp0nsZDtFC1I6k3ZAGRzhU6ZQBINZXNk2lGhv5D KynV12f4Ql+WU96zTqLKzQi2kvWX79OnCmtjOgQA1SyY2aJ7jttfi14xHgfVboeOueMbbM qVDSbfeB57Ewbsz3HLdhLEv3EDFA9Cy5a+VVjoZ76xhYQEypVijCGQZTo1rfFWg0L8JUNQ hrZAyX0SB6AE60t6Bdx4koV2hAn8MRQcwS5lclJTs/FbytKr/4tjOWbBaXBowTKlgAVDJO UFLqOL+GTZGwmgVZ8Leam1QoE7RPfHgPn2DbcUVUkXPyaE9diPGSSYW8fOCyXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682285501; a=rsa-sha256; cv=none; b=x9KNCd8eKIa1XmOVAtZ7sDt0ec52fR15NNkAmZ9g41MySWBb2wIE1R9nTBf77ZIXjCo0UN JuUSZwFKEi8Yr6F9XQ4D4KHz3RAO880KeTLln3sTdIHBIK2K0HmQENVIWsbGFkYHdZSd4H 5kxCEzbgxDYDh1NZ/HtP4OWGy7Ncm1ycoLO7wZt4Cs1J5jlyHKS1vakt6FjWZb8yw+RqsV cCHA53DLj1nmQ9UG9Th2UlV7i+RxCkbjRxGDEMSg123Q9Z59INhqHW2pvm1MBl3zY6HQ4Q GeKXzlYCUomeDgJ/tYVgmzQNsg+VrDSsIpttlKci83tCPRbKSZ/MSugzTpPa1w== 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 4Q4M0F2HfTz10FG; Sun, 23 Apr 2023 21:31: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 33NLVf71084563; Sun, 23 Apr 2023 21:31:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NLVfRc084562; Sun, 23 Apr 2023 21:31:41 GMT (envelope-from git) Date: Sun, 23 Apr 2023 21:31:41 GMT Message-Id: <202304232131.33NLVfRc084562@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 06a1103fe386 - main - ath10k: ath11k: add specific LinuxKPI support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 06a1103fe38677ba6213cae321255f53e9476dcd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=06a1103fe38677ba6213cae321255f53e9476dcd commit 06a1103fe38677ba6213cae321255f53e9476dcd Author: Bjoern A. Zeeb AuthorDate: 2023-04-18 20:21:37 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-04-23 21:31:07 +0000 ath10k: ath11k: add specific LinuxKPI support Add files needed by ath1?k drivers to linuxkpi/linuxkpi_wlan. This contain (skeleton) implementations of what is needed to compile but specifically mhi/qmi/qrtr will need more work for ath11k. MFC after: 2 months --- sys/compat/linuxkpi/common/include/linux/mhi.h | 198 +++++++++++++++++++++ sys/compat/linuxkpi/common/include/linux/qrtr.h | 41 +++++ .../linuxkpi/common/include/linux/soc/qcom/qmi.h | 174 ++++++++++++++++++ sys/compat/linuxkpi/common/src/linux_mhi.c | 94 ++++++++++ sys/conf/files | 2 + sys/modules/linuxkpi_wlan/Makefile | 3 + 6 files changed, 512 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mhi.h b/sys/compat/linuxkpi/common/include/linux/mhi.h new file mode 100644 index 000000000000..3d3965d3f42a --- /dev/null +++ b/sys/compat/linuxkpi/common/include/linux/mhi.h @@ -0,0 +1,198 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 Bjoern A. Zeeb + * + * 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 _LINUXKPI_LINUX_MHI_H +#define _LINUXKPI_LINUX_MHI_H + +#include + +/* Modem Host Interface (MHI) */ + +/* XXX FIXME */ +#define MHI_DB_BRST_DISABLE 0 +#define MHI_ER_CTRL 0 + +enum mhi_callback { + MHI_CB_SYS_ERROR, +}; + +struct mhi_channel_config { + const char *name; + int auto_queue, dir, doorbell, doorbell_mode_switch, ee_mask, event_ring, lpm_notify, num, num_elements, offload_channel, pollcfg; +}; + +struct mhi_event_config { + int client_managed, data_type, hardware_event, irq, irq_moderation_ms, mode, num_elements, offload_channel, priority; +}; + +struct mhi_device { +}; + +struct mhi_controller_config { + struct mhi_channel_config *ch_cfg; + struct mhi_event_config *event_cfg; + + int buf_len, max_channels, num_channels, num_events, use_bounce_buf; + + uint32_t timeout_ms; +}; + +struct mhi_controller { + struct device *cntrl_dev; + struct mhi_device *mhi_dev; + void *regs; + int *irq; + const char *fw_image; + + bool fbc_download; + size_t sbl_size; + size_t seg_len; + size_t reg_len; + int nr_irqs; + unsigned long irq_flags; + uint32_t timeout_ms; + + dma_addr_t iova_start; + dma_addr_t iova_stop; + + int (*runtime_get)(struct mhi_controller *); + void (*runtime_put)(struct mhi_controller *); + void (*status_cb)(struct mhi_controller *, enum mhi_callback); + int (*read_reg)(struct mhi_controller *, void __iomem *, uint32_t *); + void (*write_reg)(struct mhi_controller *, void __iomem *, uint32_t); +}; + +/* -------------------------------------------------------------------------- */ + +struct mhi_controller *linuxkpi_mhi_alloc_controller(void); +void linuxkpi_mhi_free_controller(struct mhi_controller *); +int linuxkpi_mhi_register_controller(struct mhi_controller *, + struct mhi_controller_config *); +void linuxkpi_mhi_unregister_controller(struct mhi_controller *); + +/* -------------------------------------------------------------------------- */ + +static inline struct mhi_controller * +mhi_alloc_controller(void) +{ + + /* Keep allocations internal to our implementation. */ + return (linuxkpi_mhi_alloc_controller()); +} + +static inline void +mhi_free_controller(struct mhi_controller *mhi_ctrl) +{ + + linuxkpi_mhi_free_controller(mhi_ctrl); +} + +static inline int +mhi_register_controller(struct mhi_controller *mhi_ctrl, + struct mhi_controller_config *cfg) +{ + + return (linuxkpi_mhi_register_controller(mhi_ctrl, cfg)); +} + +static inline void +mhi_unregister_controller(struct mhi_controller *mhi_ctrl) +{ + + linuxkpi_mhi_unregister_controller(mhi_ctrl); +} + +/* -------------------------------------------------------------------------- */ + +static __inline void +mhi_device_get_sync(struct mhi_device *mhi_dev) +{ + /* XXX TODO */ +} + +static __inline void +mhi_device_put(struct mhi_device *mhi_dev) +{ + /* XXX TODO */ +} + +/* -------------------------------------------------------------------------- */ + +static __inline int +mhi_prepare_for_power_up(struct mhi_controller *mhi_ctrl) +{ + /* XXX TODO */ + return (0); +} + +static __inline int +mhi_async_power_up(struct mhi_controller *mhi_ctrl) +{ + /* XXX TODO */ + return (0); +} + +static __inline void +mhi_power_down(struct mhi_controller *mhi_ctrl, bool x) +{ + /* XXX TODO */ +} + +static __inline void +mhi_unprepare_after_power_down(struct mhi_controller *mhi_ctrl) +{ + /* XXX TODO */ +} + +/* -------------------------------------------------------------------------- */ + +static __inline int +mhi_pm_suspend(struct mhi_controller *mhi_ctrl) +{ + /* XXX TODO */ + return (0); +} + +static __inline int +mhi_pm_resume_force(struct mhi_controller *mhi_ctrl) +{ + /* XXX TODO */ + return (0); +} + +/* -------------------------------------------------------------------------- */ + +static __inline int +mhi_force_rddm_mode(struct mhi_controller *mhi_ctrl) +{ + /* XXX TODO */ + return (0); +} + +#endif /* _LINUXKPI_LINUX_MHI_H */ diff --git a/sys/compat/linuxkpi/common/include/linux/qrtr.h b/sys/compat/linuxkpi/common/include/linux/qrtr.h new file mode 100644 index 000000000000..1d2af0efdce2 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/linux/qrtr.h @@ -0,0 +1,41 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 Bjoern A. Zeeb + * + * 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 _LINUXKPI_LINUX_QRTR_H +#define _LINUXKPI_LINUX_QRTR_H + +/* Qualcomm IPC Router (QRTR) */ + +#include + +struct sockaddr_qrtr { + sa_family_t sq_family; + uint32_t sq_node; + uint32_t sq_port; +}; + +#endif /* _LINUXKPI_LINUX_QRTR_H */ diff --git a/sys/compat/linuxkpi/common/include/linux/soc/qcom/qmi.h b/sys/compat/linuxkpi/common/include/linux/soc/qcom/qmi.h new file mode 100644 index 000000000000..fc7cfc0480a9 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/linux/soc/qcom/qmi.h @@ -0,0 +1,174 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 Bjoern A. Zeeb + * + * 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 _LINUXKPI_LINUX_SOC_QCOM_QMI_H +#define _LINUXKPI_LINUX_SOC_QCOM_QMI_H + +/* QMI (Qualcomm MSM Interface) */ + +#include + +enum soc_qcom_qmi_data_type { + QMI_EOTI, + QMI_DATA_LEN, + QMI_OPT_FLAG, + QMI_UNSIGNED_1_BYTE, + QMI_UNSIGNED_2_BYTE, + QMI_UNSIGNED_4_BYTE, + QMI_UNSIGNED_8_BYTE, + QMI_SIGNED_4_BYTE_ENUM, + QMI_STRUCT, + QMI_STRING, +}; + +#define QMI_RESULT_SUCCESS_V01 __LINE__ +#define QMI_INDICATION __LINE__ + +struct qmi_handle; + +enum soc_qcom_qmi_array_type { + NO_ARRAY, + VAR_LEN_ARRAY, +}; + +/* Should this become an enum? */ +#define QMI_COMMON_TLV_TYPE 0 + +struct qmi_elem_info { + enum soc_qcom_qmi_data_type data_type; + uint32_t elem_len; + uint32_t elem_size; + enum soc_qcom_qmi_array_type array_type; + uint8_t tlv_type; + uint32_t offset; + struct qmi_elem_info *ei_array; +}; + +struct qmi_response_type_v01 { + uint16_t result; + uint16_t error; +}; + +struct qmi_txn { +}; + +struct qmi_service { + uint32_t node; + uint32_t port; +}; + +struct qmi_msg_handler { + uint32_t type; + uint32_t msg_id; + struct qmi_elem_info *ei; + size_t decoded_size; + void (*fn)(struct qmi_handle *, struct sockaddr_qrtr *, struct qmi_txn *, const void *); +}; + +struct qmi_ops { + int (*new_server)(struct qmi_handle *, struct qmi_service *); + void (*del_server)(struct qmi_handle *, struct qmi_service *); +}; + +struct qmi_handle { + int sock; + + const struct qmi_msg_handler *handler; + struct qmi_ops ops; +}; + + +/* XXX-TODO need implementation somewhere... it is not in ath1xk* */ +extern struct qmi_elem_info qmi_response_type_v01_ei[]; + +static inline int +qmi_handle_init(struct qmi_handle *handle, size_t resp_len_max, + const struct qmi_ops *ops, const struct qmi_msg_handler *handler) +{ + + handle->handler = handler; + if (ops != NULL) + handle->ops = *ops; + + /* We will find out what else to do here. */ + /* XXX TODO */ + + return (0); +} + +static __inline int +qmi_add_lookup(struct qmi_handle *handle, uint32_t service, uint32_t version, + uint32_t service_ins_id) +{ + + /* XXX TODO */ + return (0); +} + +static __inline void +qmi_handle_release(struct qmi_handle *handle) +{ + + /* XXX TODO */ +} + +static __inline int +qmi_send_request(struct qmi_handle *handle, void *x, struct qmi_txn *txn, + uint32_t msd_id, size_t len, struct qmi_elem_info *ei, void *req) +{ + + /* XXX TODO */ + return (-ENXIO); +} + +static __inline void +qmi_txn_cancel(struct qmi_txn *txn) +{ + + /* XXX TODO */ +} + +static __inline int +qmi_txn_init(struct qmi_handle *handle, struct qmi_txn *txn, + struct qmi_elem_info *ei, void *resp) +{ + + /* XXX TODO */ + return (-ENXIO); +} + +static __inline int +qmi_txn_wait(struct qmi_txn *txn, uint64_t jiffies) +{ + + /* XXX TODO */ + return (-ENXIO); +} + +#endif /* _LINUXKPI_LINUX_SOC_QCOM_QMI_H */ diff --git a/sys/compat/linuxkpi/common/src/linux_mhi.c b/sys/compat/linuxkpi/common/src/linux_mhi.c new file mode 100644 index 000000000000..698a2553c1ec --- /dev/null +++ b/sys/compat/linuxkpi/common/src/linux_mhi.c @@ -0,0 +1,94 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 Bjoern A. Zeeb + * + * 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$ + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include + +#include /* pr_debug */ +#include + +static MALLOC_DEFINE(M_LKPIMHI, "lkpimhi", "LinuxKPI MHI compat"); + +struct mhi_controller * +linuxkpi_mhi_alloc_controller(void) +{ + struct mhi_controller *mhi_ctrl; + + mhi_ctrl = malloc(sizeof(*mhi_ctrl), M_LKPIMHI, M_NOWAIT | M_ZERO); + + return (mhi_ctrl); +} + +void +linuxkpi_mhi_free_controller(struct mhi_controller *mhi_ctrl) +{ + + /* What else do we need to check that it is gone? */ + free(mhi_ctrl, M_LKPIMHI); +} + +int +linuxkpi_mhi_register_controller(struct mhi_controller *mhi_ctrl, + struct mhi_controller_config *cfg) +{ + + if (mhi_ctrl == NULL || cfg == NULL) + return (-EINVAL); + +#define CHECK_FIELD(_f) \ + if (!mhi_ctrl->_f) \ + return (-ENXIO); + CHECK_FIELD(cntrl_dev); + CHECK_FIELD(regs); + CHECK_FIELD(irq); + CHECK_FIELD(reg_len); + CHECK_FIELD(nr_irqs); + + CHECK_FIELD(runtime_get); + CHECK_FIELD(runtime_put); + CHECK_FIELD(status_cb); + CHECK_FIELD(read_reg); + CHECK_FIELD(write_reg); +#undef CHECK_FIELD + + printf("%s: XXX-BZ TODO\n", __func__); + return (0); +} + +void +linuxkpi_mhi_unregister_controller(struct mhi_controller *mhi_ctrl) +{ + + pr_debug("%s: TODO\n", __func__); +} diff --git a/sys/conf/files b/sys/conf/files index a78c37558227..6a36c46030ce 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4564,6 +4564,8 @@ compat/linuxkpi/common/src/linux_kthread.c optional compat_linuxkpi \ compile-with "${LINUXKPI_C}" compat/linuxkpi/common/src/linux_lock.c optional compat_linuxkpi \ compile-with "${LINUXKPI_C}" +compat/linuxkpi/common/src/linux_mhi.c optional compat_linuxkpi wlan \ + compile-with "${LINUXKPI_C}" compat/linuxkpi/common/src/linux_netdev.c optional compat_linuxkpi \ compile-with "${LINUXKPI_C}" compat/linuxkpi/common/src/linux_page.c optional compat_linuxkpi \ diff --git a/sys/modules/linuxkpi_wlan/Makefile b/sys/modules/linuxkpi_wlan/Makefile index fccd1249bc72..ef86121366c3 100644 --- a/sys/modules/linuxkpi_wlan/Makefile +++ b/sys/modules/linuxkpi_wlan/Makefile @@ -5,6 +5,9 @@ KMOD= linuxkpi_wlan SRCS= linux_80211.c \ linux_80211_macops.c +# QCA ath11k support. +SRCS+= linux_mhi.c + SRCS+= opt_wlan.h SRCS+= ${LINUXKPI_GENSRCS} From nobody Sun Apr 23 21:31:42 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4M0H359Jz46VfD; Sun, 23 Apr 2023 21: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 4Q4M0G6rvyz3DMS; Sun, 23 Apr 2023 21:31:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UlYfytN0QwAD4iIux+ni2v+S/+nP2iX7Hm45wPJTFkE=; b=HPfEHQG/JCCoeYbfsHYsZo91Dc2EJR9h40Ye2QnfczP36skhGRVaTfVKavyrQNmcDYR4Ns 9GsgzSp20dtY5HH/Cfn/JShhB9pMqx3E3YLzt5PZvJtNh4MpWLk1zk7qcZXlC/5zAGvreB MDQZda5EnSrszk/zNFbYwkLXxSv5El/cjowopp0/Q3YwkWe9PgF5WhxLUbNkhAAmCCNBlC QhfNJ72VlOaHnh9ZuR94wDgBCqQLNY6waGczd5Cbz/9uVVpxMm/5XNVRB/Uc65NGZbydeW KriJOSV5nyYNa7eUGtOYDpYfxrP6JUFye3BzV1lnhc7yGRmue7dVejtk8bcGgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UlYfytN0QwAD4iIux+ni2v+S/+nP2iX7Hm45wPJTFkE=; b=UnAPoJxC2Zsm0ww0zJfp5u2rpN3wA6peic+1N+nnUbb9EUncxr+Aqbp753cCFbco2g18aa NCFMLZ8gB0KGmAKCOQrcdJSAChUjwEr0ZINrsE8bFoDh4vsHMQbrBRWycbWkYgyAxELFUc cJzSdNocjWKAv3P1MRSogxa0V4dbLGtuDMzZFzxKKDmM72Y3xQO1zKh6MeYf+7IYSzjr// rnvp8WBl8eqvSN8z11snNuXtDTIhjtJ6aE6IvLZZJRjVZWY76VXX3J+M6ssyuA3G3PkGIx skRsrL6Xfn/SNt+62D4YVjseoD6mrrTzb1byXL0xEOrOgntlZRYOsG8XuKuNhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682285503; a=rsa-sha256; cv=none; b=a94mSKANgaS5BWoHWUKgBSxWkOaGcAo6t+CcE96AFbwnL0AhI4uMDCp1f83MHGowdGbdZd izufO6Umrft+NOYVzqK9ZXzUg02fnk+J38JGSns9h4MyBqIXSDSVYquBfcX39/i9jkfcTj 3vYYZPeCgKWjBuvXa45VgaxfztMSQwuunFjtWOzV2SNp68qDQHQPXmJuJwC6/ZM3fou3EC 6cYLTpgfuFVwUcllCft52yLV7IcAzodr3S6e7B5LmIYbSqdHvLQcbrTFIjSCZbWCMnSQvO r/FJ4JQ7GIcRvkaoa6LgXXqr4kxjPS3g7cUSEh87jrkZl8Vw8u4XABxIw9cLKg== 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 4Q4M0G2zTcz103F; Sun, 23 Apr 2023 21:31: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 33NLVg5J084582; Sun, 23 Apr 2023 21:31:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NLVgVr084581; Sun, 23 Apr 2023 21:31:42 GMT (envelope-from git) Date: Sun, 23 Apr 2023 21:31:42 GMT Message-Id: <202304232131.33NLVgVr084581@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: ebacd8013fe5 - main - athk: import common code for ath1?k drivers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ebacd8013fe5f7fdf9f6a5b286f6680dd2891036 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ebacd8013fe5f7fdf9f6a5b286f6680dd2891036 commit ebacd8013fe5f7fdf9f6a5b286f6680dd2891036 Author: Bjoern A. Zeeb AuthorDate: 2023-04-19 12:48:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-04-23 21:31:07 +0000 athk: import common code for ath1?k drivers Import common ISC-licensed athk parts assumed to be based on Linux kvalo/ath.git master at 6bae9de622d3ef4805aba40e763eb4b0975c4f6d. The only modification should be for FreeBSD module handling in main.c. Add the module build framework unconnected to the build for now. These files will be shared by ath1?k drivers. MFC after: 2 months --- sys/contrib/dev/athk/ath.h | 335 ++++++++++++ sys/contrib/dev/athk/debug.c | 49 ++ sys/contrib/dev/athk/dfs_pattern_detector.c | 377 +++++++++++++ sys/contrib/dev/athk/dfs_pattern_detector.h | 122 +++++ sys/contrib/dev/athk/dfs_pri_detector.c | 436 +++++++++++++++ sys/contrib/dev/athk/dfs_pri_detector.h | 78 +++ sys/contrib/dev/athk/hw.c | 190 +++++++ sys/contrib/dev/athk/key.c | 618 +++++++++++++++++++++ sys/contrib/dev/athk/main.c | 104 ++++ sys/contrib/dev/athk/reg.h | 65 +++ sys/contrib/dev/athk/regd.c | 812 ++++++++++++++++++++++++++++ sys/contrib/dev/athk/regd.h | 273 ++++++++++ sys/contrib/dev/athk/regd_common.h | 503 +++++++++++++++++ sys/contrib/dev/athk/spectral_common.h | 129 +++++ sys/contrib/dev/athk/trace.c | 20 + sys/contrib/dev/athk/trace.h | 71 +++ sys/modules/athk_common/Makefile | 37 ++ 17 files changed, 4219 insertions(+) diff --git a/sys/contrib/dev/athk/ath.h b/sys/contrib/dev/athk/ath.h new file mode 100644 index 000000000000..f083fb9038c3 --- /dev/null +++ b/sys/contrib/dev/athk/ath.h @@ -0,0 +1,335 @@ +/* + * Copyright (c) 2008-2009 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef ATH_H +#define ATH_H + +#include +#include +#include +#include +#include + +/* + * The key cache is used for h/w cipher state and also for + * tracking station state such as the current tx antenna. + * We also setup a mapping table between key cache slot indices + * and station state to short-circuit node lookups on rx. + * Different parts have different size key caches. We handle + * up to ATH_KEYMAX entries (could dynamically allocate state). + */ +#define ATH_KEYMAX 128 /* max key cache size we handle */ + +struct ath_ani { + bool caldone; + unsigned int longcal_timer; + unsigned int shortcal_timer; + unsigned int resetcal_timer; + unsigned int checkani_timer; + struct timer_list timer; +}; + +struct ath_cycle_counters { + u32 cycles; + u32 rx_busy; + u32 rx_frame; + u32 tx_frame; +}; + +enum ath_device_state { + ATH_HW_UNAVAILABLE, + ATH_HW_INITIALIZED, +}; + +enum ath_op_flags { + ATH_OP_INVALID, + ATH_OP_BEACONS, + ATH_OP_ANI_RUN, + ATH_OP_PRIM_STA_VIF, + ATH_OP_HW_RESET, + ATH_OP_SCANNING, + ATH_OP_MULTI_CHANNEL, + ATH_OP_WOW_ENABLED, +}; + +enum ath_bus_type { + ATH_PCI, + ATH_AHB, + ATH_USB, +}; + +struct reg_dmn_pair_mapping { + u16 reg_domain; + u16 reg_5ghz_ctl; + u16 reg_2ghz_ctl; +}; + +struct ath_regulatory { + char alpha2[2]; + enum nl80211_dfs_regions region; + u16 country_code; + u16 max_power_level; + u16 current_rd; + int16_t power_limit; + struct reg_dmn_pair_mapping *regpair; +}; + +enum ath_crypt_caps { + ATH_CRYPT_CAP_CIPHER_AESCCM = BIT(0), + ATH_CRYPT_CAP_MIC_COMBINED = BIT(1), +}; + +struct ath_keyval { + u8 kv_type; + u8 kv_pad; + u16 kv_len; + u8 kv_val[16]; /* TK */ + u8 kv_mic[8]; /* Michael MIC key */ + u8 kv_txmic[8]; /* Michael MIC TX key (used only if the hardware + * supports both MIC keys in the same key cache entry; + * in that case, kv_mic is the RX key) */ +}; + +enum ath_cipher { + ATH_CIPHER_WEP = 0, + ATH_CIPHER_AES_OCB = 1, + ATH_CIPHER_AES_CCM = 2, + ATH_CIPHER_CKIP = 3, + ATH_CIPHER_TKIP = 4, + ATH_CIPHER_CLR = 5, + ATH_CIPHER_MIC = 127 +}; + +/** + * struct ath_ops - Register read/write operations + * + * @read: Register read + * @multi_read: Multiple register read + * @write: Register write + * @enable_write_buffer: Enable multiple register writes + * @write_flush: flush buffered register writes and disable buffering + */ +struct ath_ops { + unsigned int (*read)(void *, u32 reg_offset); + void (*multi_read)(void *, u32 *addr, u32 *val, u16 count); + void (*write)(void *, u32 val, u32 reg_offset); + void (*enable_write_buffer)(void *); + void (*write_flush) (void *); + u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr); + void (*enable_rmw_buffer)(void *); + void (*rmw_flush) (void *); + +}; + +struct ath_common; +struct ath_bus_ops; + +struct ath_ps_ops { + void (*wakeup)(struct ath_common *common); + void (*restore)(struct ath_common *common); +}; + +struct ath_common { + void *ah; + void *priv; + struct ieee80211_hw *hw; + int debug_mask; + enum ath_device_state state; + unsigned long op_flags; + + struct ath_ani ani; + + u16 cachelsz; + u16 curaid; + u8 macaddr[ETH_ALEN]; + u8 curbssid[ETH_ALEN] __aligned(2); + u8 bssidmask[ETH_ALEN]; + + u32 rx_bufsize; + + u32 keymax; + DECLARE_BITMAP(keymap, ATH_KEYMAX); + DECLARE_BITMAP(tkip_keymap, ATH_KEYMAX); + DECLARE_BITMAP(ccmp_keymap, ATH_KEYMAX); + enum ath_crypt_caps crypt_caps; + + unsigned int clockrate; + + spinlock_t cc_lock; + struct ath_cycle_counters cc_ani; + struct ath_cycle_counters cc_survey; + + struct ath_regulatory regulatory; + struct ath_regulatory reg_world_copy; + const struct ath_ops *ops; + const struct ath_bus_ops *bus_ops; + const struct ath_ps_ops *ps_ops; + + bool btcoex_enabled; + bool disable_ani; + bool bt_ant_diversity; + + int last_rssi; + struct ieee80211_supported_band sbands[NUM_NL80211_BANDS]; +}; + +static inline const struct ath_ps_ops *ath_ps_ops(struct ath_common *common) +{ + return common->ps_ops; +} + +struct sk_buff *ath_rxbuf_alloc(struct ath_common *common, + u32 len, + gfp_t gfp_mask); +bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr); + +void ath_hw_setbssidmask(struct ath_common *common); +void ath_key_delete(struct ath_common *common, u8 hw_key_idx); +int ath_key_config(struct ath_common *common, + struct ieee80211_vif *vif, + struct ieee80211_sta *sta, + struct ieee80211_key_conf *key); +bool ath_hw_keyreset(struct ath_common *common, u16 entry); +bool ath_hw_keysetmac(struct ath_common *common, u16 entry, const u8 *mac); +void ath_hw_cycle_counters_update(struct ath_common *common); +int32_t ath_hw_get_listen_time(struct ath_common *common); + +__printf(3, 4) +void ath_printk(const char *level, const struct ath_common *common, + const char *fmt, ...); + +#define ath_emerg(common, fmt, ...) \ + ath_printk(KERN_EMERG, common, fmt, ##__VA_ARGS__) +#define ath_alert(common, fmt, ...) \ + ath_printk(KERN_ALERT, common, fmt, ##__VA_ARGS__) +#define ath_crit(common, fmt, ...) \ + ath_printk(KERN_CRIT, common, fmt, ##__VA_ARGS__) +#define ath_err(common, fmt, ...) \ + ath_printk(KERN_ERR, common, fmt, ##__VA_ARGS__) +#define ath_warn(common, fmt, ...) \ + ath_printk(KERN_WARNING, common, fmt, ##__VA_ARGS__) +#define ath_notice(common, fmt, ...) \ + ath_printk(KERN_NOTICE, common, fmt, ##__VA_ARGS__) +#define ath_info(common, fmt, ...) \ + ath_printk(KERN_INFO, common, fmt, ##__VA_ARGS__) + +/** + * enum ath_debug_level - atheros wireless debug level + * + * @ATH_DBG_RESET: reset processing + * @ATH_DBG_QUEUE: hardware queue management + * @ATH_DBG_EEPROM: eeprom processing + * @ATH_DBG_CALIBRATE: periodic calibration + * @ATH_DBG_INTERRUPT: interrupt processing + * @ATH_DBG_REGULATORY: regulatory processing + * @ATH_DBG_ANI: adaptive noise immunitive processing + * @ATH_DBG_XMIT: basic xmit operation + * @ATH_DBG_BEACON: beacon handling + * @ATH_DBG_CONFIG: configuration of the hardware + * @ATH_DBG_FATAL: fatal errors, this is the default, DBG_DEFAULT + * @ATH_DBG_PS: power save processing + * @ATH_DBG_HWTIMER: hardware timer handling + * @ATH_DBG_BTCOEX: bluetooth coexistance + * @ATH_DBG_BSTUCK: stuck beacons + * @ATH_DBG_MCI: Message Coexistence Interface, a private protocol + * used exclusively for WLAN-BT coexistence starting from + * AR9462. + * @ATH_DBG_DFS: radar datection + * @ATH_DBG_WOW: Wake on Wireless + * @ATH_DBG_DYNACK: dynack handling + * @ATH_DBG_SPECTRAL_SCAN: FFT spectral scan + * @ATH_DBG_ANY: enable all debugging + * + * The debug level is used to control the amount and type of debugging output + * we want to see. Each driver has its own method for enabling debugging and + * modifying debug level states -- but this is typically done through a + * module parameter 'debug' along with a respective 'debug' debugfs file + * entry. + */ +enum ATH_DEBUG { + ATH_DBG_RESET = 0x00000001, + ATH_DBG_QUEUE = 0x00000002, + ATH_DBG_EEPROM = 0x00000004, + ATH_DBG_CALIBRATE = 0x00000008, + ATH_DBG_INTERRUPT = 0x00000010, + ATH_DBG_REGULATORY = 0x00000020, + ATH_DBG_ANI = 0x00000040, + ATH_DBG_XMIT = 0x00000080, + ATH_DBG_BEACON = 0x00000100, + ATH_DBG_CONFIG = 0x00000200, + ATH_DBG_FATAL = 0x00000400, + ATH_DBG_PS = 0x00000800, + ATH_DBG_BTCOEX = 0x00001000, + ATH_DBG_WMI = 0x00002000, + ATH_DBG_BSTUCK = 0x00004000, + ATH_DBG_MCI = 0x00008000, + ATH_DBG_DFS = 0x00010000, + ATH_DBG_WOW = 0x00020000, + ATH_DBG_CHAN_CTX = 0x00040000, + ATH_DBG_DYNACK = 0x00080000, + ATH_DBG_SPECTRAL_SCAN = 0x00100000, + ATH_DBG_ANY = 0xffffffff +}; + +#define ATH_DBG_DEFAULT (ATH_DBG_FATAL) +#define ATH_DBG_MAX_LEN 512 + +#ifdef CONFIG_ATH_DEBUG + +#define ath_dbg(common, dbg_mask, fmt, ...) \ +do { \ + if ((common)->debug_mask & ATH_DBG_##dbg_mask) \ + ath_printk(KERN_DEBUG, common, fmt, ##__VA_ARGS__); \ +} while (0) + +#define ATH_DBG_WARN(foo, arg...) WARN(foo, arg) +#define ATH_DBG_WARN_ON_ONCE(foo) WARN_ON_ONCE(foo) + +#else + +static inline __attribute__ ((format (printf, 3, 4))) +void _ath_dbg(struct ath_common *common, enum ATH_DEBUG dbg_mask, + const char *fmt, ...) +{ +} +#define ath_dbg(common, dbg_mask, fmt, ...) \ + _ath_dbg(common, ATH_DBG_##dbg_mask, fmt, ##__VA_ARGS__) + +#define ATH_DBG_WARN(foo, arg...) do {} while (0) +#define ATH_DBG_WARN_ON_ONCE(foo) ({ \ + int __ret_warn_once = !!(foo); \ + unlikely(__ret_warn_once); \ +}) + +#endif /* CONFIG_ATH_DEBUG */ + +/** Returns string describing opmode, or NULL if unknown mode. */ +#ifdef CONFIG_ATH_DEBUG +const char *ath_opmode_to_string(enum nl80211_iftype opmode); +#else +static inline const char *ath_opmode_to_string(enum nl80211_iftype opmode) +{ + return "UNKNOWN"; +} +#endif + +extern const char *ath_bus_type_strings[]; +static inline const char *ath_bus_type_to_string(enum ath_bus_type bustype) +{ + return ath_bus_type_strings[bustype]; +} + +#endif /* ATH_H */ diff --git a/sys/contrib/dev/athk/debug.c b/sys/contrib/dev/athk/debug.c new file mode 100644 index 000000000000..d59d83e0ce4b --- /dev/null +++ b/sys/contrib/dev/athk/debug.c @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2009 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include "ath.h" + +const char *ath_opmode_to_string(enum nl80211_iftype opmode) +{ + switch (opmode) { + case NL80211_IFTYPE_UNSPECIFIED: + return "UNSPEC"; + case NL80211_IFTYPE_ADHOC: + return "ADHOC"; + case NL80211_IFTYPE_STATION: + return "STATION"; + case NL80211_IFTYPE_AP: + return "AP"; + case NL80211_IFTYPE_AP_VLAN: + return "AP-VLAN"; + case NL80211_IFTYPE_WDS: + return "WDS"; + case NL80211_IFTYPE_MONITOR: + return "MONITOR"; + case NL80211_IFTYPE_MESH_POINT: + return "MESH"; + case NL80211_IFTYPE_P2P_CLIENT: + return "P2P-CLIENT"; + case NL80211_IFTYPE_P2P_GO: + return "P2P-GO"; + case NL80211_IFTYPE_OCB: + return "OCB"; + default: + return "UNKNOWN"; + } +} +EXPORT_SYMBOL(ath_opmode_to_string); diff --git a/sys/contrib/dev/athk/dfs_pattern_detector.c b/sys/contrib/dev/athk/dfs_pattern_detector.c new file mode 100644 index 000000000000..27f4d74a41c8 --- /dev/null +++ b/sys/contrib/dev/athk/dfs_pattern_detector.c @@ -0,0 +1,377 @@ +/* + * Copyright (c) 2012 Neratec Solutions AG + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include + +#include "dfs_pattern_detector.h" +#include "dfs_pri_detector.h" +#include "ath.h" + +/** + * struct radar_types - contains array of patterns defined for one DFS domain + * @region: regulatory DFS region + * @num_radar_types: number of radar types to follow + * @radar_types: radar types array + */ +struct radar_types { + enum nl80211_dfs_regions region; + u32 num_radar_types; + const struct radar_detector_specs *radar_types; +}; + +/* percentage on ppb threshold to trigger detection */ +#define MIN_PPB_THRESH 50 +#define PPB_THRESH_RATE(PPB, RATE) ((PPB * RATE + 100 - RATE) / 100) +#define PPB_THRESH(PPB) PPB_THRESH_RATE(PPB, MIN_PPB_THRESH) +#define PRF2PRI(PRF) ((1000000 + PRF / 2) / PRF) +/* percentage of pulse width tolerance */ +#define WIDTH_TOLERANCE 5 +#define WIDTH_LOWER(X) ((X*(100-WIDTH_TOLERANCE)+50)/100) +#define WIDTH_UPPER(X) ((X*(100+WIDTH_TOLERANCE)+50)/100) + +#define ETSI_PATTERN(ID, WMIN, WMAX, PMIN, PMAX, PRF, PPB, CHIRP) \ +{ \ + ID, WIDTH_LOWER(WMIN), WIDTH_UPPER(WMAX), \ + (PRF2PRI(PMAX) - PRI_TOLERANCE), \ + (PRF2PRI(PMIN) * PRF + PRI_TOLERANCE), PRF, PPB * PRF, \ + PPB_THRESH(PPB), PRI_TOLERANCE, CHIRP \ +} + +/* radar types as defined by ETSI EN-301-893 v1.5.1 */ +static const struct radar_detector_specs etsi_radar_ref_types_v15[] = { + ETSI_PATTERN(0, 0, 1, 700, 700, 1, 18, false), + ETSI_PATTERN(1, 0, 5, 200, 1000, 1, 10, false), + ETSI_PATTERN(2, 0, 15, 200, 1600, 1, 15, false), + ETSI_PATTERN(3, 0, 15, 2300, 4000, 1, 25, false), + ETSI_PATTERN(4, 20, 30, 2000, 4000, 1, 20, false), + ETSI_PATTERN(5, 0, 2, 300, 400, 3, 10, false), + ETSI_PATTERN(6, 0, 2, 400, 1200, 3, 15, false), +}; + +static const struct radar_types etsi_radar_types_v15 = { + .region = NL80211_DFS_ETSI, + .num_radar_types = ARRAY_SIZE(etsi_radar_ref_types_v15), + .radar_types = etsi_radar_ref_types_v15, +}; + +#define FCC_PATTERN(ID, WMIN, WMAX, PMIN, PMAX, PRF, PPB, CHIRP) \ +{ \ + ID, WIDTH_LOWER(WMIN), WIDTH_UPPER(WMAX), \ + PMIN - PRI_TOLERANCE, \ + PMAX * PRF + PRI_TOLERANCE, PRF, PPB * PRF, \ + PPB_THRESH(PPB), PRI_TOLERANCE, CHIRP \ +} + +/* radar types released on August 14, 2014 + * type 1 PRI values randomly selected within the range of 518 and 3066. + * divide it to 3 groups is good enough for both of radar detection and + * avoiding false detection based on practical test results + * collected for more than a year. + */ +static const struct radar_detector_specs fcc_radar_ref_types[] = { + FCC_PATTERN(0, 0, 1, 1428, 1428, 1, 18, false), + FCC_PATTERN(101, 0, 1, 518, 938, 1, 57, false), + FCC_PATTERN(102, 0, 1, 938, 2000, 1, 27, false), + FCC_PATTERN(103, 0, 1, 2000, 3066, 1, 18, false), + FCC_PATTERN(2, 0, 5, 150, 230, 1, 23, false), + FCC_PATTERN(3, 6, 10, 200, 500, 1, 16, false), + FCC_PATTERN(4, 11, 20, 200, 500, 1, 12, false), + FCC_PATTERN(5, 50, 100, 1000, 2000, 1, 1, true), + FCC_PATTERN(6, 0, 1, 333, 333, 1, 9, false), +}; + +static const struct radar_types fcc_radar_types = { + .region = NL80211_DFS_FCC, + .num_radar_types = ARRAY_SIZE(fcc_radar_ref_types), + .radar_types = fcc_radar_ref_types, +}; + +#define JP_PATTERN(ID, WMIN, WMAX, PMIN, PMAX, PRF, PPB, RATE, CHIRP) \ +{ \ + ID, WIDTH_LOWER(WMIN), WIDTH_UPPER(WMAX), \ + PMIN - PRI_TOLERANCE, \ + PMAX * PRF + PRI_TOLERANCE, PRF, PPB * PRF, \ + PPB_THRESH_RATE(PPB, RATE), PRI_TOLERANCE, CHIRP \ +} +static const struct radar_detector_specs jp_radar_ref_types[] = { + JP_PATTERN(0, 0, 1, 1428, 1428, 1, 18, 29, false), + JP_PATTERN(1, 2, 3, 3846, 3846, 1, 18, 29, false), + JP_PATTERN(2, 0, 1, 1388, 1388, 1, 18, 50, false), + JP_PATTERN(3, 0, 4, 4000, 4000, 1, 18, 50, false), + JP_PATTERN(4, 0, 5, 150, 230, 1, 23, 50, false), + JP_PATTERN(5, 6, 10, 200, 500, 1, 16, 50, false), + JP_PATTERN(6, 11, 20, 200, 500, 1, 12, 50, false), + JP_PATTERN(7, 50, 100, 1000, 2000, 1, 3, 50, true), + JP_PATTERN(5, 0, 1, 333, 333, 1, 9, 50, false), +}; + +static const struct radar_types jp_radar_types = { + .region = NL80211_DFS_JP, + .num_radar_types = ARRAY_SIZE(jp_radar_ref_types), + .radar_types = jp_radar_ref_types, +}; + +static const struct radar_types *dfs_domains[] = { + &etsi_radar_types_v15, + &fcc_radar_types, + &jp_radar_types, +}; + +/** + * get_dfs_domain_radar_types() - get radar types for a given DFS domain + * @region: regulatory DFS region + * + * Return value: radar_types ptr on success, NULL if DFS domain is not supported + */ +static const struct radar_types * +get_dfs_domain_radar_types(enum nl80211_dfs_regions region) +{ + u32 i; + for (i = 0; i < ARRAY_SIZE(dfs_domains); i++) { + if (dfs_domains[i]->region == region) + return dfs_domains[i]; + } + return NULL; +} + +/** + * struct channel_detector - detector elements for a DFS channel + * @head: list_head + * @freq: frequency for this channel detector in MHz + * @detectors: array of dynamically created detector elements for this freq + * + * Channel detectors are required to provide multi-channel DFS detection, e.g. + * to support off-channel scanning. A pattern detector has a list of channels + * radar pulses have been reported for in the past. + */ +struct channel_detector { + struct list_head head; + u16 freq; + struct pri_detector **detectors; +}; + +/* channel_detector_reset() - reset detector lines for a given channel */ +static void channel_detector_reset(struct dfs_pattern_detector *dpd, + struct channel_detector *cd) +{ + u32 i; + if (cd == NULL) + return; + for (i = 0; i < dpd->num_radar_types; i++) + cd->detectors[i]->reset(cd->detectors[i], dpd->last_pulse_ts); +} + +/* channel_detector_exit() - destructor */ +static void channel_detector_exit(struct dfs_pattern_detector *dpd, + struct channel_detector *cd) +{ + u32 i; + if (cd == NULL) + return; + list_del(&cd->head); + if (cd->detectors) { + for (i = 0; i < dpd->num_radar_types; i++) { + struct pri_detector *de = cd->detectors[i]; + if (de != NULL) + de->exit(de); + } + } + kfree(cd->detectors); + kfree(cd); +} + +static struct channel_detector * +channel_detector_create(struct dfs_pattern_detector *dpd, u16 freq) +{ + u32 i; + struct channel_detector *cd; + + cd = kmalloc(sizeof(*cd), GFP_ATOMIC); + if (cd == NULL) + goto fail; + + INIT_LIST_HEAD(&cd->head); + cd->freq = freq; + cd->detectors = kmalloc_array(dpd->num_radar_types, + sizeof(*cd->detectors), GFP_ATOMIC); + if (cd->detectors == NULL) + goto fail; + + for (i = 0; i < dpd->num_radar_types; i++) { + const struct radar_detector_specs *rs = &dpd->radar_spec[i]; + struct pri_detector *de = pri_detector_init(rs); + if (de == NULL) + goto fail; + cd->detectors[i] = de; + } + list_add(&cd->head, &dpd->channel_detectors); + return cd; + +fail: + ath_dbg(dpd->common, DFS, + "failed to allocate channel_detector for freq=%d\n", freq); + channel_detector_exit(dpd, cd); + return NULL; +} + +/** + * channel_detector_get() - get channel detector for given frequency + * @dpd: DPD instance pointer + * @freq: freq frequency in MHz + * + * Return value: pointer to channel detector on success, NULL otherwise + * + * Return existing channel detector for the given frequency or return a + * newly create one. + */ +static struct channel_detector * +channel_detector_get(struct dfs_pattern_detector *dpd, u16 freq) +{ + struct channel_detector *cd; + list_for_each_entry(cd, &dpd->channel_detectors, head) { + if (cd->freq == freq) + return cd; + } + return channel_detector_create(dpd, freq); +} + +/* + * DFS Pattern Detector + */ + +/* dpd_reset(): reset all channel detectors */ +static void dpd_reset(struct dfs_pattern_detector *dpd) +{ + struct channel_detector *cd; + list_for_each_entry(cd, &dpd->channel_detectors, head) + channel_detector_reset(dpd, cd); + +} +static void dpd_exit(struct dfs_pattern_detector *dpd) +{ + struct channel_detector *cd, *cd0; + list_for_each_entry_safe(cd, cd0, &dpd->channel_detectors, head) + channel_detector_exit(dpd, cd); + kfree(dpd); +} + +static bool +dpd_add_pulse(struct dfs_pattern_detector *dpd, struct pulse_event *event, + struct radar_detector_specs *rs) +{ + u32 i; + struct channel_detector *cd; + + /* + * pulses received for a non-supported or un-initialized + * domain are treated as detected radars for fail-safety + */ + if (dpd->region == NL80211_DFS_UNSET) + return true; + + cd = channel_detector_get(dpd, event->freq); + if (cd == NULL) + return false; + + /* reset detector on time stamp wraparound, caused by TSF reset */ + if (event->ts < dpd->last_pulse_ts) + dpd_reset(dpd); + dpd->last_pulse_ts = event->ts; + + /* do type individual pattern matching */ + for (i = 0; i < dpd->num_radar_types; i++) { + struct pri_detector *pd = cd->detectors[i]; + struct pri_sequence *ps = pd->add_pulse(pd, event); + if (ps != NULL) { + if (rs != NULL) + memcpy(rs, pd->rs, sizeof(*rs)); + ath_dbg(dpd->common, DFS, + "DFS: radar found on freq=%d: id=%d, pri=%d, " + "count=%d, count_false=%d\n", + event->freq, pd->rs->type_id, + ps->pri, ps->count, ps->count_falses); + pd->reset(pd, dpd->last_pulse_ts); + return true; + } + } + return false; +} + +static struct ath_dfs_pool_stats +dpd_get_stats(struct dfs_pattern_detector *dpd) +{ + return global_dfs_pool_stats; +} + +static bool dpd_set_domain(struct dfs_pattern_detector *dpd, + enum nl80211_dfs_regions region) +{ + const struct radar_types *rt; + struct channel_detector *cd, *cd0; + + if (dpd->region == region) + return true; + + dpd->region = NL80211_DFS_UNSET; + + rt = get_dfs_domain_radar_types(region); + if (rt == NULL) + return false; + + /* delete all channel detectors for previous DFS domain */ + list_for_each_entry_safe(cd, cd0, &dpd->channel_detectors, head) + channel_detector_exit(dpd, cd); + dpd->radar_spec = rt->radar_types; + dpd->num_radar_types = rt->num_radar_types; + + dpd->region = region; + return true; +} + +static const struct dfs_pattern_detector default_dpd = { + .exit = dpd_exit, + .set_dfs_domain = dpd_set_domain, + .add_pulse = dpd_add_pulse, + .get_stats = dpd_get_stats, + .region = NL80211_DFS_UNSET, +}; + +struct dfs_pattern_detector * +dfs_pattern_detector_init(struct ath_common *common, + enum nl80211_dfs_regions region) +{ + struct dfs_pattern_detector *dpd; + + if (!IS_ENABLED(CONFIG_CFG80211_CERTIFICATION_ONUS)) + return NULL; + + dpd = kmalloc(sizeof(*dpd), GFP_KERNEL); + if (dpd == NULL) + return NULL; + + *dpd = default_dpd; + INIT_LIST_HEAD(&dpd->channel_detectors); + + dpd->common = common; + if (dpd->set_dfs_domain(dpd, region)) + return dpd; + + ath_dbg(common, DFS,"Could not set DFS domain to %d", region); + kfree(dpd); + return NULL; +} +EXPORT_SYMBOL(dfs_pattern_detector_init); diff --git a/sys/contrib/dev/athk/dfs_pattern_detector.h b/sys/contrib/dev/athk/dfs_pattern_detector.h new file mode 100644 index 000000000000..18db6f4f3568 --- /dev/null +++ b/sys/contrib/dev/athk/dfs_pattern_detector.h @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2012 Neratec Solutions AG + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef DFS_PATTERN_DETECTOR_H +#define DFS_PATTERN_DETECTOR_H + +#include +#include +#include + +/* tolerated deviation of radar time stamp in usecs on both sides + * TODO: this might need to be HW-dependent + */ +#define PRI_TOLERANCE 16 + +/** + * struct ath_dfs_pool_stats - DFS Statistics for global pools + */ +struct ath_dfs_pool_stats { + u32 pool_reference; + u32 pulse_allocated; + u32 pulse_alloc_error; + u32 pulse_used; + u32 pseq_allocated; + u32 pseq_alloc_error; + u32 pseq_used; +}; + +/** + * struct pulse_event - describing pulses reported by PHY + * @ts: pulse time stamp in us + * @freq: channel frequency in MHz + * @width: pulse duration in us + * @rssi: rssi of radar event + * @chirp: chirp detected in pulse + */ +struct pulse_event { + u64 ts; + u16 freq; + u8 width; + u8 rssi; + bool chirp; +}; + +/** + * struct radar_detector_specs - detector specs for a radar pattern type + * @type_id: pattern type, as defined by regulatory + * @width_min: minimum radar pulse width in [us] + * @width_max: maximum radar pulse width in [us] + * @pri_min: minimum pulse repetition interval in [us] (including tolerance) + * @pri_max: minimum pri in [us] (including tolerance) + * @num_pri: maximum number of different pri for this type + * @ppb: pulses per bursts for this type + * @ppb_thresh: number of pulses required to trigger detection + * @max_pri_tolerance: pulse time stamp tolerance on both sides [us] + * @chirp: chirp required for the radar pattern + */ +struct radar_detector_specs { + u8 type_id; + u8 width_min; + u8 width_max; + u16 pri_min; + u16 pri_max; + u8 num_pri; + u8 ppb; + u8 ppb_thresh; + u8 max_pri_tolerance; + bool chirp; +}; + +/** + * struct dfs_pattern_detector - DFS pattern detector + * @exit(): destructor + * @set_dfs_domain(): set DFS domain, resets detector lines upon domain changes + * @add_pulse(): add radar pulse to detector, returns true on detection + * @region: active DFS region, NL80211_DFS_UNSET until set + * @num_radar_types: number of different radar types + * @last_pulse_ts: time stamp of last valid pulse in usecs + * @radar_detector_specs: array of radar detection specs + * @channel_detectors: list connecting channel_detector elements + */ +struct dfs_pattern_detector { + void (*exit)(struct dfs_pattern_detector *dpd); + bool (*set_dfs_domain)(struct dfs_pattern_detector *dpd, + enum nl80211_dfs_regions region); + bool (*add_pulse)(struct dfs_pattern_detector *dpd, + struct pulse_event *pe, + struct radar_detector_specs *rs); + + struct ath_dfs_pool_stats (*get_stats)(struct dfs_pattern_detector *dpd); + enum nl80211_dfs_regions region; + u8 num_radar_types; + u64 last_pulse_ts; + /* needed for ath_dbg() */ + struct ath_common *common; + + const struct radar_detector_specs *radar_spec; + struct list_head channel_detectors; +}; + +/** + * dfs_pattern_detector_init() - constructor for pattern detector class + * @param region: DFS domain to be used, can be NL80211_DFS_UNSET at creation + * @return instance pointer on success, NULL otherwise + */ +extern struct dfs_pattern_detector * +dfs_pattern_detector_init(struct ath_common *common, + enum nl80211_dfs_regions region); +#endif /* DFS_PATTERN_DETECTOR_H */ diff --git a/sys/contrib/dev/athk/dfs_pri_detector.c b/sys/contrib/dev/athk/dfs_pri_detector.c new file mode 100644 index 000000000000..d07c454c9c00 --- /dev/null +++ b/sys/contrib/dev/athk/dfs_pri_detector.c @@ -0,0 +1,436 @@ +/* + * Copyright (c) 2012 Neratec Solutions AG + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include + +#include "ath.h" +#include "dfs_pattern_detector.h" +#include "dfs_pri_detector.h" + +struct ath_dfs_pool_stats global_dfs_pool_stats = {}; + +#define DFS_POOL_STAT_INC(c) (global_dfs_pool_stats.c++) +#define DFS_POOL_STAT_DEC(c) (global_dfs_pool_stats.c--) +#define GET_PRI_TO_USE(MIN, MAX, RUNTIME) \ + (MIN + PRI_TOLERANCE == MAX - PRI_TOLERANCE ? \ *** 3379 LINES SKIPPED *** From nobody Sun Apr 23 21:31:43 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4M0J6D2xz46VfM; Sun, 23 Apr 2023 21:31: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 4Q4M0J44k9z3DKp; Sun, 23 Apr 2023 21:31:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DG81E9QzBknloE7bKVrS+xAtG0X2WSNWJlonoZiPmVA=; b=ywI6fmwBqt0brOIgBjGSC2jVEM+5B1MeORYLNAzJV2kraOj2RoliveRFAYD+PbfoJFB45g mEQK7sy1hUDRA2u57hxAxRo0yLbAd83o47SXSNwNLbXzw6bML+Wj6GyodX21iV6MwQaTLk EG5OVRqe5iSzaRwIUEWpbTG/uJIlX7MQ9q1rv6P35cxUJaNeNUbWTHERW6HgRN9m//LeqZ 5YtRtgXxXUC4wI5LtR3dgPwMk0jaH64ioSFQ0nTX/4xoZs8cOd2hEjxi3xPumR76+zEslj D0uAL1BSoBI4KyvXfUvGnYjLN+McFvH57jHb/W8TJ1zxK4PYVKMZtX/khX4ulQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DG81E9QzBknloE7bKVrS+xAtG0X2WSNWJlonoZiPmVA=; b=hg0AuphrJ6U6ivAjI+60lRAFA/zBM+k5Qw4uL96bm6S2NXVkz53WFyGF1z+WShfKk904xV Sdb9I24Xoh3roKorAZMBEDLixBe+KoSNhinUe/tBL4fMztbOvg2etPduHp+o4gbPnIOSSY tcEg/ROCoyD7XSTdVeU16quN4dBeJajVClEkpumpDVWeDeNMQ+GLDdDq69KG53LIk0aeMt 9PDJWisnnUKPPTQ2qgMN4VVr6xT7bX2vdiArS8l7LDUyaItXGdmBWs8rB2GOlJFEkvOqB3 tTEFp95iU5vbrxKFSC98RRQ5M2igqN4opiuTmlLDLOZoK7aEf+T6e3UZ96Dv9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682285504; a=rsa-sha256; cv=none; b=G9TuuFH7FZtqxnocGmJHO0LIuky9TzpfY4eERBhZcyCMrZZZYxW75qrJXMftekFr8hJ5Ro pWunSPBtuQPPD0L9ttgP1eKhftY4WV4gA4PSSetxGivw+SaJwxV1ZUfJXKAuaG20GnzEKi XxFtWLXUVoM3TqTbVARNgVFpdkqUYc/V5zAOJ9Z8zkJaVTcf1O8Iz96JuYuQUWRbEPTaLA YLw9uEIqJq0HnXNmc/k6Bt3XD0ATmn8WuPkm5/arAe/K2/MGwBp1D/7ytPenbhzc1IVC4/ mHjGPNcMCtQmGhaX1fRYar8XLQr7n91pHLHamU+ivBZu7PtdOIgJOxo+7grqhw== 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 4Q4M0J2LW9z10QP; Sun, 23 Apr 2023 21: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 33NLViII084607; Sun, 23 Apr 2023 21: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 33NLVhRp084600; Sun, 23 Apr 2023 21:31:43 GMT (envelope-from git) Date: Sun, 23 Apr 2023 21:31:43 GMT Message-Id: <202304232131.33NLVhRp084600@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: da8fa4e37a0c - main - ath10k: import ath10k driver List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: da8fa4e37a0c048a67d7baa3b5a9bed637d02564 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=da8fa4e37a0c048a67d7baa3b5a9bed637d02564 commit da8fa4e37a0c048a67d7baa3b5a9bed637d02564 Author: Bjoern A. Zeeb AuthorDate: 2023-04-19 13:16:17 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-04-23 21:31:07 +0000 ath10k: import ath10k driver Import ISC-licensed ath10k driver assumed to be based on Linux kvalo/ath.git master at 6bae9de622d3ef4805aba40e763eb4b0975c4f6d. Import support to redirect fwlogs to kernel messages from https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/389075 Complement the driver to make compile on FreeBSD using LinuxKPI with changes covered by #ifdef (__FreeBSD__). Further select updates were applied since the initial import in order to keep compiling along with other LinuxKPI based drivers. Any other native driver using BUS_PROBE_DEFAULT will attach ignoring this one by default given bsd_probe_return is set to a lower priority. Add the module build framework. We only support PCI parts. The firmware is provided by port net/wifi-firmware-ath10k-kmod. Given the lack of full license texts on most files this is imported under the draft policy for handling SPDX files (D29226). [1] Approved by: core (emaste, 2022-04-08) [1] MFC after: 2 months --- sys/contrib/dev/athk/ath10k/Kconfig | 90 + sys/contrib/dev/athk/ath10k/Makefile | 45 + sys/contrib/dev/athk/ath10k/ahb.c | 879 +++ sys/contrib/dev/athk/ath10k/ahb.h | 76 + sys/contrib/dev/athk/ath10k/bmi.c | 539 ++ sys/contrib/dev/athk/ath10k/bmi.h | 286 + sys/contrib/dev/athk/ath10k/ce.c | 2047 ++++++ sys/contrib/dev/athk/ath10k/ce.h | 427 ++ sys/contrib/dev/athk/ath10k/core.c | 3729 ++++++++++ sys/contrib/dev/athk/ath10k/core.h | 1360 ++++ sys/contrib/dev/athk/ath10k/coredump.c | 1663 +++++ sys/contrib/dev/athk/ath10k/coredump.h | 226 + sys/contrib/dev/athk/ath10k/debug.c | 2794 ++++++++ sys/contrib/dev/athk/ath10k/debug.h | 292 + sys/contrib/dev/athk/ath10k/debugfs_sta.c | 777 ++ sys/contrib/dev/athk/ath10k/fwlog.c | 1563 ++++ sys/contrib/dev/athk/ath10k/fwlog.h | 23 + sys/contrib/dev/athk/ath10k/hif.h | 258 + sys/contrib/dev/athk/ath10k/htc.c | 1306 ++++ sys/contrib/dev/athk/ath10k/htc.h | 435 ++ sys/contrib/dev/athk/ath10k/htt.c | 436 ++ sys/contrib/dev/athk/ath10k/htt.h | 2478 +++++++ sys/contrib/dev/athk/ath10k/htt_rx.c | 4611 ++++++++++++ sys/contrib/dev/athk/ath10k/htt_tx.c | 1835 +++++ sys/contrib/dev/athk/ath10k/hw.c | 1191 ++++ sys/contrib/dev/athk/ath10k/hw.h | 1200 ++++ sys/contrib/dev/athk/ath10k/mac.c | 10318 +++++++++++++++++++++++++++ sys/contrib/dev/athk/ath10k/mac.h | 95 + sys/contrib/dev/athk/ath10k/p2p.c | 145 + sys/contrib/dev/athk/ath10k/p2p.h | 17 + sys/contrib/dev/athk/ath10k/pci.c | 3958 ++++++++++ sys/contrib/dev/athk/ath10k/pci.h | 259 + sys/contrib/dev/athk/ath10k/qmi.c | 1094 +++ sys/contrib/dev/athk/ath10k/qmi.h | 122 + sys/contrib/dev/athk/ath10k/qmi_wlfw_v01.c | 2308 ++++++ sys/contrib/dev/athk/ath10k/qmi_wlfw_v01.h | 693 ++ sys/contrib/dev/athk/ath10k/rx_desc.h | 1335 ++++ sys/contrib/dev/athk/ath10k/sdio.c | 2695 +++++++ sys/contrib/dev/athk/ath10k/sdio.h | 236 + sys/contrib/dev/athk/ath10k/snoc.c | 1889 +++++ sys/contrib/dev/athk/ath10k/snoc.h | 97 + sys/contrib/dev/athk/ath10k/spectral.c | 560 ++ sys/contrib/dev/athk/ath10k/spectral.h | 79 + sys/contrib/dev/athk/ath10k/swap.c | 199 + sys/contrib/dev/athk/ath10k/swap.h | 59 + sys/contrib/dev/athk/ath10k/targaddrs.h | 494 ++ sys/contrib/dev/athk/ath10k/testmode.c | 469 ++ sys/contrib/dev/athk/ath10k/testmode.h | 35 + sys/contrib/dev/athk/ath10k/testmode_i.h | 60 + sys/contrib/dev/athk/ath10k/thermal.c | 219 + sys/contrib/dev/athk/ath10k/thermal.h | 53 + sys/contrib/dev/athk/ath10k/trace.c | 10 + sys/contrib/dev/athk/ath10k/trace.h | 537 ++ sys/contrib/dev/athk/ath10k/txrx.c | 275 + sys/contrib/dev/athk/ath10k/txrx.h | 27 + sys/contrib/dev/athk/ath10k/usb.c | 1104 +++ sys/contrib/dev/athk/ath10k/usb.h | 117 + sys/contrib/dev/athk/ath10k/wmi-ops.h | 1678 +++++ sys/contrib/dev/athk/ath10k/wmi-tlv.c | 5069 +++++++++++++ sys/contrib/dev/athk/ath10k/wmi-tlv.h | 2682 +++++++ sys/contrib/dev/athk/ath10k/wmi.c | 9736 +++++++++++++++++++++++++ sys/contrib/dev/athk/ath10k/wmi.h | 7517 +++++++++++++++++++ sys/contrib/dev/athk/ath10k/wow.c | 641 ++ sys/contrib/dev/athk/ath10k/wow.h | 30 + sys/modules/ath10k/Makefile | 50 + 65 files changed, 87527 insertions(+) diff --git a/sys/contrib/dev/athk/ath10k/Kconfig b/sys/contrib/dev/athk/ath10k/Kconfig new file mode 100644 index 000000000000..ca007b800f75 --- /dev/null +++ b/sys/contrib/dev/athk/ath10k/Kconfig @@ -0,0 +1,90 @@ +# SPDX-License-Identifier: ISC +config ATH10K + tristate "Atheros 802.11ac wireless cards support" + depends on MAC80211 && HAS_DMA + select ATH_COMMON + select CRC32 + select WANT_DEV_COREDUMP + select ATH10K_CE + help + This module adds support for wireless adapters based on + Atheros IEEE 802.11ac family of chipsets. + + If you choose to build a module, it'll be called ath10k. + +config ATH10K_CE + bool + +config ATH10K_PCI + tristate "Atheros ath10k PCI support" + depends on ATH10K && PCI + help + This module adds support for PCIE bus + +config ATH10K_AHB + bool "Atheros ath10k AHB support" + depends on ATH10K_PCI && OF && RESET_CONTROLLER + help + This module adds support for AHB bus + +config ATH10K_SDIO + tristate "Atheros ath10k SDIO support" + depends on ATH10K && MMC + help + This module adds support for SDIO/MMC bus. + +config ATH10K_USB + tristate "Atheros ath10k USB support (EXPERIMENTAL)" + depends on ATH10K && USB + help + This module adds experimental support for USB bus. Currently + work in progress and will not fully work. + +config ATH10K_SNOC + tristate "Qualcomm ath10k SNOC support" + depends on ATH10K + depends on ARCH_QCOM || COMPILE_TEST + select QCOM_SCM + select QCOM_QMI_HELPERS + help + This module adds support for integrated WCN3990 chip connected + to system NOC(SNOC). + +config ATH10K_DEBUG + bool "Atheros ath10k debugging" + depends on ATH10K + help + Enables debug support + + If unsure, say Y to make it easier to debug problems. + +config ATH10K_DEBUGFS + bool "Atheros ath10k debugfs support" + depends on ATH10K && DEBUG_FS + help + Enabled debugfs support + + If unsure, say Y to make it easier to debug problems. + +config ATH10K_SPECTRAL + bool "Atheros ath10k spectral scan support" + depends on ATH10K_DEBUGFS + select RELAY + default n + help + Say Y to enable access to the FFT/spectral data via debugfs. + +config ATH10K_TRACING + bool "Atheros ath10k tracing support" + depends on ATH10K + depends on EVENT_TRACING + help + Select this to ath10k use tracing infrastructure. + +config ATH10K_DFS_CERTIFIED + bool "Atheros DFS support for certified platforms" + depends on ATH10K && CFG80211_CERTIFICATION_ONUS + default n + help + This option enables DFS support for initiating radiation on + ath10k. diff --git a/sys/contrib/dev/athk/ath10k/Makefile b/sys/contrib/dev/athk/ath10k/Makefile new file mode 100644 index 000000000000..7881fc25993f --- /dev/null +++ b/sys/contrib/dev/athk/ath10k/Makefile @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: ISC +obj-$(CONFIG_ATH10K) += ath10k_core.o +ath10k_core-y += mac.o \ + debug.o \ + core.o \ + htc.o \ + htt.o \ + htt_rx.o \ + htt_tx.o \ + txrx.o \ + wmi.o \ + wmi-tlv.o \ + bmi.o \ + hw.o \ + p2p.o \ + swap.o + +ath10k_core-$(CONFIG_ATH10K_SPECTRAL) += spectral.o +ath10k_core-$(CONFIG_NL80211_TESTMODE) += testmode.o +ath10k_core-$(CONFIG_ATH10K_TRACING) += trace.o +ath10k_core-$(CONFIG_THERMAL) += thermal.o +ath10k_core-$(CONFIG_MAC80211_DEBUGFS) += debugfs_sta.o +ath10k_core-$(CONFIG_PM) += wow.o +ath10k_core-$(CONFIG_DEV_COREDUMP) += coredump.o +ath10k_core-$(CONFIG_ATH10K_CE) += ce.o +ath10k_core-${CONFIG_FWLOG) += fwlog.o + +obj-$(CONFIG_ATH10K_PCI) += ath10k_pci.o +ath10k_pci-y += pci.o + +ath10k_pci-$(CONFIG_ATH10K_AHB) += ahb.o + +obj-$(CONFIG_ATH10K_SDIO) += ath10k_sdio.o +ath10k_sdio-y += sdio.o + +obj-$(CONFIG_ATH10K_USB) += ath10k_usb.o +ath10k_usb-y += usb.o + +obj-$(CONFIG_ATH10K_SNOC) += ath10k_snoc.o +ath10k_snoc-y += qmi.o \ + qmi_wlfw_v01.o \ + snoc.o + +# for tracing framework to find trace.h +CFLAGS_trace.o := -I$(src) diff --git a/sys/contrib/dev/athk/ath10k/ahb.c b/sys/contrib/dev/athk/ath10k/ahb.c new file mode 100644 index 000000000000..ab8f77ae5e66 --- /dev/null +++ b/sys/contrib/dev/athk/ath10k/ahb.c @@ -0,0 +1,879 @@ +// SPDX-License-Identifier: ISC +/* + * Copyright (c) 2016-2017 Qualcomm Atheros, Inc. All rights reserved. + * Copyright (c) 2015 The Linux Foundation. All rights reserved. + */ +#include +#include +#include +#include +#include +#include "core.h" +#include "debug.h" +#include "pci.h" +#include "ahb.h" + +static const struct of_device_id ath10k_ahb_of_match[] = { + { .compatible = "qcom,ipq4019-wifi", + .data = (void *)ATH10K_HW_QCA4019 + }, + { } +}; + +MODULE_DEVICE_TABLE(of, ath10k_ahb_of_match); + +#define QCA4019_SRAM_ADDR 0x000C0000 +#define QCA4019_SRAM_LEN 0x00040000 /* 256 kb */ + +static inline struct ath10k_ahb *ath10k_ahb_priv(struct ath10k *ar) +{ + return &((struct ath10k_pci *)ar->drv_priv)->ahb[0]; +} + +static void ath10k_ahb_write32(struct ath10k *ar, u32 offset, u32 value) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + + iowrite32(value, ar_ahb->mem + offset); +} + +static u32 ath10k_ahb_read32(struct ath10k *ar, u32 offset) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + + return ioread32(ar_ahb->mem + offset); +} + +static u32 ath10k_ahb_gcc_read32(struct ath10k *ar, u32 offset) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + + return ioread32(ar_ahb->gcc_mem + offset); +} + +static void ath10k_ahb_tcsr_write32(struct ath10k *ar, u32 offset, u32 value) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + + iowrite32(value, ar_ahb->tcsr_mem + offset); +} + +static u32 ath10k_ahb_tcsr_read32(struct ath10k *ar, u32 offset) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + + return ioread32(ar_ahb->tcsr_mem + offset); +} + +static u32 ath10k_ahb_soc_read32(struct ath10k *ar, u32 addr) +{ + return ath10k_ahb_read32(ar, RTC_SOC_BASE_ADDRESS + addr); +} + +static int ath10k_ahb_get_num_banks(struct ath10k *ar) +{ + if (ar->hw_rev == ATH10K_HW_QCA4019) + return 1; + + ath10k_warn(ar, "unknown number of banks, assuming 1\n"); + return 1; +} + +static int ath10k_ahb_clock_init(struct ath10k *ar) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + struct device *dev; + + dev = &ar_ahb->pdev->dev; + + ar_ahb->cmd_clk = devm_clk_get(dev, "wifi_wcss_cmd"); + if (IS_ERR_OR_NULL(ar_ahb->cmd_clk)) { + ath10k_err(ar, "failed to get cmd clk: %ld\n", + PTR_ERR(ar_ahb->cmd_clk)); + return ar_ahb->cmd_clk ? PTR_ERR(ar_ahb->cmd_clk) : -ENODEV; + } + + ar_ahb->ref_clk = devm_clk_get(dev, "wifi_wcss_ref"); + if (IS_ERR_OR_NULL(ar_ahb->ref_clk)) { + ath10k_err(ar, "failed to get ref clk: %ld\n", + PTR_ERR(ar_ahb->ref_clk)); + return ar_ahb->ref_clk ? PTR_ERR(ar_ahb->ref_clk) : -ENODEV; + } + + ar_ahb->rtc_clk = devm_clk_get(dev, "wifi_wcss_rtc"); + if (IS_ERR_OR_NULL(ar_ahb->rtc_clk)) { + ath10k_err(ar, "failed to get rtc clk: %ld\n", + PTR_ERR(ar_ahb->rtc_clk)); + return ar_ahb->rtc_clk ? PTR_ERR(ar_ahb->rtc_clk) : -ENODEV; + } + + return 0; +} + +static void ath10k_ahb_clock_deinit(struct ath10k *ar) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + + ar_ahb->cmd_clk = NULL; + ar_ahb->ref_clk = NULL; + ar_ahb->rtc_clk = NULL; +} + +static int ath10k_ahb_clock_enable(struct ath10k *ar) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + int ret; + + if (IS_ERR_OR_NULL(ar_ahb->cmd_clk) || + IS_ERR_OR_NULL(ar_ahb->ref_clk) || + IS_ERR_OR_NULL(ar_ahb->rtc_clk)) { + ath10k_err(ar, "clock(s) is/are not initialized\n"); + ret = -EIO; + goto out; + } + + ret = clk_prepare_enable(ar_ahb->cmd_clk); + if (ret) { + ath10k_err(ar, "failed to enable cmd clk: %d\n", ret); + goto out; + } + + ret = clk_prepare_enable(ar_ahb->ref_clk); + if (ret) { + ath10k_err(ar, "failed to enable ref clk: %d\n", ret); + goto err_cmd_clk_disable; + } + + ret = clk_prepare_enable(ar_ahb->rtc_clk); + if (ret) { + ath10k_err(ar, "failed to enable rtc clk: %d\n", ret); + goto err_ref_clk_disable; + } + + return 0; + +err_ref_clk_disable: + clk_disable_unprepare(ar_ahb->ref_clk); + +err_cmd_clk_disable: + clk_disable_unprepare(ar_ahb->cmd_clk); + +out: + return ret; +} + +static void ath10k_ahb_clock_disable(struct ath10k *ar) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + + clk_disable_unprepare(ar_ahb->cmd_clk); + + clk_disable_unprepare(ar_ahb->ref_clk); + + clk_disable_unprepare(ar_ahb->rtc_clk); +} + +static int ath10k_ahb_rst_ctrl_init(struct ath10k *ar) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + struct device *dev; + + dev = &ar_ahb->pdev->dev; + + ar_ahb->core_cold_rst = devm_reset_control_get_exclusive(dev, + "wifi_core_cold"); + if (IS_ERR(ar_ahb->core_cold_rst)) { + ath10k_err(ar, "failed to get core cold rst ctrl: %ld\n", + PTR_ERR(ar_ahb->core_cold_rst)); + return PTR_ERR(ar_ahb->core_cold_rst); + } + + ar_ahb->radio_cold_rst = devm_reset_control_get_exclusive(dev, + "wifi_radio_cold"); + if (IS_ERR(ar_ahb->radio_cold_rst)) { + ath10k_err(ar, "failed to get radio cold rst ctrl: %ld\n", + PTR_ERR(ar_ahb->radio_cold_rst)); + return PTR_ERR(ar_ahb->radio_cold_rst); + } + + ar_ahb->radio_warm_rst = devm_reset_control_get_exclusive(dev, + "wifi_radio_warm"); + if (IS_ERR(ar_ahb->radio_warm_rst)) { + ath10k_err(ar, "failed to get radio warm rst ctrl: %ld\n", + PTR_ERR(ar_ahb->radio_warm_rst)); + return PTR_ERR(ar_ahb->radio_warm_rst); + } + + ar_ahb->radio_srif_rst = devm_reset_control_get_exclusive(dev, + "wifi_radio_srif"); + if (IS_ERR(ar_ahb->radio_srif_rst)) { + ath10k_err(ar, "failed to get radio srif rst ctrl: %ld\n", + PTR_ERR(ar_ahb->radio_srif_rst)); + return PTR_ERR(ar_ahb->radio_srif_rst); + } + + ar_ahb->cpu_init_rst = devm_reset_control_get_exclusive(dev, + "wifi_cpu_init"); + if (IS_ERR(ar_ahb->cpu_init_rst)) { + ath10k_err(ar, "failed to get cpu init rst ctrl: %ld\n", + PTR_ERR(ar_ahb->cpu_init_rst)); + return PTR_ERR(ar_ahb->cpu_init_rst); + } + + return 0; +} + +static void ath10k_ahb_rst_ctrl_deinit(struct ath10k *ar) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + + ar_ahb->core_cold_rst = NULL; + ar_ahb->radio_cold_rst = NULL; + ar_ahb->radio_warm_rst = NULL; + ar_ahb->radio_srif_rst = NULL; + ar_ahb->cpu_init_rst = NULL; +} + +static int ath10k_ahb_release_reset(struct ath10k *ar) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + int ret; + + if (IS_ERR_OR_NULL(ar_ahb->radio_cold_rst) || + IS_ERR_OR_NULL(ar_ahb->radio_warm_rst) || + IS_ERR_OR_NULL(ar_ahb->radio_srif_rst) || + IS_ERR_OR_NULL(ar_ahb->cpu_init_rst)) { + ath10k_err(ar, "rst ctrl(s) is/are not initialized\n"); + return -EINVAL; + } + + ret = reset_control_deassert(ar_ahb->radio_cold_rst); + if (ret) { + ath10k_err(ar, "failed to deassert radio cold rst: %d\n", ret); + return ret; + } + + ret = reset_control_deassert(ar_ahb->radio_warm_rst); + if (ret) { + ath10k_err(ar, "failed to deassert radio warm rst: %d\n", ret); + return ret; + } + + ret = reset_control_deassert(ar_ahb->radio_srif_rst); + if (ret) { + ath10k_err(ar, "failed to deassert radio srif rst: %d\n", ret); + return ret; + } + + ret = reset_control_deassert(ar_ahb->cpu_init_rst); + if (ret) { + ath10k_err(ar, "failed to deassert cpu init rst: %d\n", ret); + return ret; + } + + return 0; +} + +static void ath10k_ahb_halt_axi_bus(struct ath10k *ar, u32 haltreq_reg, + u32 haltack_reg) +{ + unsigned long timeout; + u32 val; + + /* Issue halt axi bus request */ + val = ath10k_ahb_tcsr_read32(ar, haltreq_reg); + val |= AHB_AXI_BUS_HALT_REQ; + ath10k_ahb_tcsr_write32(ar, haltreq_reg, val); + + /* Wait for axi bus halted ack */ + timeout = jiffies + msecs_to_jiffies(ATH10K_AHB_AXI_BUS_HALT_TIMEOUT); + do { + val = ath10k_ahb_tcsr_read32(ar, haltack_reg); + if (val & AHB_AXI_BUS_HALT_ACK) + break; + + mdelay(1); + } while (time_before(jiffies, timeout)); + + if (!(val & AHB_AXI_BUS_HALT_ACK)) { + ath10k_err(ar, "failed to halt axi bus: %d\n", val); + return; + } + + ath10k_dbg(ar, ATH10K_DBG_AHB, "axi bus halted\n"); +} + +static void ath10k_ahb_halt_chip(struct ath10k *ar) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + u32 core_id, glb_cfg_reg, haltreq_reg, haltack_reg; + u32 val; + int ret; + + if (IS_ERR_OR_NULL(ar_ahb->core_cold_rst) || + IS_ERR_OR_NULL(ar_ahb->radio_cold_rst) || + IS_ERR_OR_NULL(ar_ahb->radio_warm_rst) || + IS_ERR_OR_NULL(ar_ahb->radio_srif_rst) || + IS_ERR_OR_NULL(ar_ahb->cpu_init_rst)) { + ath10k_err(ar, "rst ctrl(s) is/are not initialized\n"); + return; + } + + core_id = ath10k_ahb_read32(ar, ATH10K_AHB_WLAN_CORE_ID_REG); + + switch (core_id) { + case 0: + glb_cfg_reg = ATH10K_AHB_TCSR_WIFI0_GLB_CFG; + haltreq_reg = ATH10K_AHB_TCSR_WCSS0_HALTREQ; + haltack_reg = ATH10K_AHB_TCSR_WCSS0_HALTACK; + break; + case 1: + glb_cfg_reg = ATH10K_AHB_TCSR_WIFI1_GLB_CFG; + haltreq_reg = ATH10K_AHB_TCSR_WCSS1_HALTREQ; + haltack_reg = ATH10K_AHB_TCSR_WCSS1_HALTACK; + break; + default: + ath10k_err(ar, "invalid core id %d found, skipping reset sequence\n", + core_id); + return; + } + + ath10k_ahb_halt_axi_bus(ar, haltreq_reg, haltack_reg); + + val = ath10k_ahb_tcsr_read32(ar, glb_cfg_reg); + val |= TCSR_WIFIX_GLB_CFG_DISABLE_CORE_CLK; + ath10k_ahb_tcsr_write32(ar, glb_cfg_reg, val); + + ret = reset_control_assert(ar_ahb->core_cold_rst); + if (ret) + ath10k_err(ar, "failed to assert core cold rst: %d\n", ret); + msleep(1); + + ret = reset_control_assert(ar_ahb->radio_cold_rst); + if (ret) + ath10k_err(ar, "failed to assert radio cold rst: %d\n", ret); + msleep(1); + + ret = reset_control_assert(ar_ahb->radio_warm_rst); + if (ret) + ath10k_err(ar, "failed to assert radio warm rst: %d\n", ret); + msleep(1); + + ret = reset_control_assert(ar_ahb->radio_srif_rst); + if (ret) + ath10k_err(ar, "failed to assert radio srif rst: %d\n", ret); + msleep(1); + + ret = reset_control_assert(ar_ahb->cpu_init_rst); + if (ret) + ath10k_err(ar, "failed to assert cpu init rst: %d\n", ret); + msleep(10); + + /* Clear halt req and core clock disable req before + * deasserting wifi core reset. + */ + val = ath10k_ahb_tcsr_read32(ar, haltreq_reg); + val &= ~AHB_AXI_BUS_HALT_REQ; + ath10k_ahb_tcsr_write32(ar, haltreq_reg, val); + + val = ath10k_ahb_tcsr_read32(ar, glb_cfg_reg); + val &= ~TCSR_WIFIX_GLB_CFG_DISABLE_CORE_CLK; + ath10k_ahb_tcsr_write32(ar, glb_cfg_reg, val); + + ret = reset_control_deassert(ar_ahb->core_cold_rst); + if (ret) + ath10k_err(ar, "failed to deassert core cold rst: %d\n", ret); + + ath10k_dbg(ar, ATH10K_DBG_AHB, "core %d reset done\n", core_id); +} + +static irqreturn_t ath10k_ahb_interrupt_handler(int irq, void *arg) +{ + struct ath10k *ar = arg; + + if (!ath10k_pci_irq_pending(ar)) + return IRQ_NONE; + + ath10k_pci_disable_and_clear_legacy_irq(ar); + ath10k_pci_irq_msi_fw_mask(ar); + napi_schedule(&ar->napi); + + return IRQ_HANDLED; +} + +static int ath10k_ahb_request_irq_legacy(struct ath10k *ar) +{ + struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + int ret; + + ret = request_irq(ar_ahb->irq, + ath10k_ahb_interrupt_handler, + IRQF_SHARED, "ath10k_ahb", ar); + if (ret) { + ath10k_warn(ar, "failed to request legacy irq %d: %d\n", + ar_ahb->irq, ret); + return ret; + } + ar_pci->oper_irq_mode = ATH10K_PCI_IRQ_LEGACY; + + return 0; +} + +static void ath10k_ahb_release_irq_legacy(struct ath10k *ar) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + + free_irq(ar_ahb->irq, ar); +} + +static void ath10k_ahb_irq_disable(struct ath10k *ar) +{ + ath10k_ce_disable_interrupts(ar); + ath10k_pci_disable_and_clear_legacy_irq(ar); +} + +static int ath10k_ahb_resource_init(struct ath10k *ar) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + struct platform_device *pdev; + struct resource *res; + int ret; + + pdev = ar_ahb->pdev; + + ar_ahb->mem = devm_platform_get_and_ioremap_resource(pdev, 0, &res); + if (IS_ERR(ar_ahb->mem)) { + ath10k_err(ar, "mem ioremap error\n"); + ret = PTR_ERR(ar_ahb->mem); + goto out; + } + + ar_ahb->mem_len = resource_size(res); + + ar_ahb->gcc_mem = ioremap(ATH10K_GCC_REG_BASE, + ATH10K_GCC_REG_SIZE); + if (!ar_ahb->gcc_mem) { + ath10k_err(ar, "gcc mem ioremap error\n"); + ret = -ENOMEM; + goto err_mem_unmap; + } + + ar_ahb->tcsr_mem = ioremap(ATH10K_TCSR_REG_BASE, + ATH10K_TCSR_REG_SIZE); + if (!ar_ahb->tcsr_mem) { + ath10k_err(ar, "tcsr mem ioremap error\n"); + ret = -ENOMEM; + goto err_gcc_mem_unmap; + } + + ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); + if (ret) { + ath10k_err(ar, "failed to set 32-bit dma mask: %d\n", ret); + goto err_tcsr_mem_unmap; + } + + ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32)); + if (ret) { + ath10k_err(ar, "failed to set 32-bit consistent dma: %d\n", + ret); + goto err_tcsr_mem_unmap; + } + + ret = ath10k_ahb_clock_init(ar); + if (ret) + goto err_tcsr_mem_unmap; + + ret = ath10k_ahb_rst_ctrl_init(ar); + if (ret) + goto err_clock_deinit; + + ar_ahb->irq = platform_get_irq_byname(pdev, "legacy"); + if (ar_ahb->irq < 0) { + ath10k_err(ar, "failed to get irq number: %d\n", ar_ahb->irq); + ret = ar_ahb->irq; + goto err_clock_deinit; + } + + ath10k_dbg(ar, ATH10K_DBG_BOOT, "irq: %d\n", ar_ahb->irq); + + ath10k_dbg(ar, ATH10K_DBG_BOOT, "mem: 0x%pK mem_len: %lu gcc mem: 0x%pK tcsr_mem: 0x%pK\n", + ar_ahb->mem, ar_ahb->mem_len, + ar_ahb->gcc_mem, ar_ahb->tcsr_mem); + return 0; + +err_clock_deinit: + ath10k_ahb_clock_deinit(ar); + +err_tcsr_mem_unmap: + iounmap(ar_ahb->tcsr_mem); + +err_gcc_mem_unmap: + ar_ahb->tcsr_mem = NULL; + iounmap(ar_ahb->gcc_mem); + +err_mem_unmap: + ar_ahb->gcc_mem = NULL; + devm_iounmap(&pdev->dev, ar_ahb->mem); + +out: + ar_ahb->mem = NULL; + return ret; +} + +static void ath10k_ahb_resource_deinit(struct ath10k *ar) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + struct device *dev; + + dev = &ar_ahb->pdev->dev; + + if (ar_ahb->mem) + devm_iounmap(dev, ar_ahb->mem); + + if (ar_ahb->gcc_mem) + iounmap(ar_ahb->gcc_mem); + + if (ar_ahb->tcsr_mem) + iounmap(ar_ahb->tcsr_mem); + + ar_ahb->mem = NULL; + ar_ahb->gcc_mem = NULL; + ar_ahb->tcsr_mem = NULL; + + ath10k_ahb_clock_deinit(ar); + ath10k_ahb_rst_ctrl_deinit(ar); +} + +static int ath10k_ahb_prepare_device(struct ath10k *ar) +{ + u32 val; + int ret; + + ret = ath10k_ahb_clock_enable(ar); + if (ret) { + ath10k_err(ar, "failed to enable clocks\n"); + return ret; + } + + /* Clock for the target is supplied from outside of target (ie, + * external clock module controlled by the host). Target needs + * to know what frequency target cpu is configured which is needed + * for target internal use. Read target cpu frequency info from + * gcc register and write into target's scratch register where + * target expects this information. + */ + val = ath10k_ahb_gcc_read32(ar, ATH10K_AHB_GCC_FEPLL_PLL_DIV); + ath10k_ahb_write32(ar, ATH10K_AHB_WIFI_SCRATCH_5_REG, val); + + ret = ath10k_ahb_release_reset(ar); + if (ret) + goto err_clk_disable; + + ath10k_ahb_irq_disable(ar); + + ath10k_ahb_write32(ar, FW_INDICATOR_ADDRESS, FW_IND_HOST_READY); + + ret = ath10k_pci_wait_for_target_init(ar); + if (ret) + goto err_halt_chip; + + return 0; + +err_halt_chip: + ath10k_ahb_halt_chip(ar); + +err_clk_disable: + ath10k_ahb_clock_disable(ar); + + return ret; +} + +static int ath10k_ahb_chip_reset(struct ath10k *ar) +{ + int ret; + + ath10k_ahb_halt_chip(ar); + ath10k_ahb_clock_disable(ar); + + ret = ath10k_ahb_prepare_device(ar); + if (ret) + return ret; + + return 0; +} + +static int ath10k_ahb_wake_target_cpu(struct ath10k *ar) +{ + u32 addr, val; + + addr = SOC_CORE_BASE_ADDRESS | CORE_CTRL_ADDRESS; + val = ath10k_ahb_read32(ar, addr); + val |= ATH10K_AHB_CORE_CTRL_CPU_INTR_MASK; + ath10k_ahb_write32(ar, addr, val); + + return 0; +} + +static int ath10k_ahb_hif_start(struct ath10k *ar) +{ + ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot ahb hif start\n"); + + ath10k_core_napi_enable(ar); + ath10k_ce_enable_interrupts(ar); + ath10k_pci_enable_legacy_irq(ar); + + ath10k_pci_rx_post(ar); + + return 0; +} + +static void ath10k_ahb_hif_stop(struct ath10k *ar) +{ + struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar); + + ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot ahb hif stop\n"); + + ath10k_ahb_irq_disable(ar); + synchronize_irq(ar_ahb->irq); + + ath10k_core_napi_sync_disable(ar); + + ath10k_pci_flush(ar); +} + +static int ath10k_ahb_hif_power_up(struct ath10k *ar, + enum ath10k_firmware_mode fw_mode) +{ + int ret; + + ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot ahb hif power up\n"); + + ret = ath10k_ahb_chip_reset(ar); + if (ret) { + ath10k_err(ar, "failed to reset chip: %d\n", ret); + goto out; + } + + ret = ath10k_pci_init_pipes(ar); + if (ret) { + ath10k_err(ar, "failed to initialize CE: %d\n", ret); + goto out; + } + + ret = ath10k_pci_init_config(ar); + if (ret) { + ath10k_err(ar, "failed to setup init config: %d\n", ret); + goto err_ce_deinit; + } + + ret = ath10k_ahb_wake_target_cpu(ar); + if (ret) { + ath10k_err(ar, "could not wake up target CPU: %d\n", ret); + goto err_ce_deinit; + } + + return 0; + +err_ce_deinit: + ath10k_pci_ce_deinit(ar); +out: + return ret; +} + +static u32 ath10k_ahb_qca4019_targ_cpu_to_ce_addr(struct ath10k *ar, u32 addr) +{ + u32 val = 0, region = addr & 0xfffff; + + val = ath10k_pci_read32(ar, PCIE_BAR_REG_ADDRESS); + + if (region >= QCA4019_SRAM_ADDR && region <= + (QCA4019_SRAM_ADDR + QCA4019_SRAM_LEN)) { + /* SRAM contents for QCA4019 can be directly accessed and + * no conversions are required + */ + val |= region; + } else { + val |= 0x100000 | region; + } + + return val; +} + +static const struct ath10k_hif_ops ath10k_ahb_hif_ops = { + .tx_sg = ath10k_pci_hif_tx_sg, + .diag_read = ath10k_pci_hif_diag_read, + .diag_write = ath10k_pci_diag_write_mem, + .exchange_bmi_msg = ath10k_pci_hif_exchange_bmi_msg, + .start = ath10k_ahb_hif_start, + .stop = ath10k_ahb_hif_stop, + .map_service_to_pipe = ath10k_pci_hif_map_service_to_pipe, + .get_default_pipe = ath10k_pci_hif_get_default_pipe, + .send_complete_check = ath10k_pci_hif_send_complete_check, + .get_free_queue_number = ath10k_pci_hif_get_free_queue_number, + .power_up = ath10k_ahb_hif_power_up, + .power_down = ath10k_pci_hif_power_down, + .read32 = ath10k_ahb_read32, + .write32 = ath10k_ahb_write32, +}; + +static const struct ath10k_bus_ops ath10k_ahb_bus_ops = { + .read32 = ath10k_ahb_read32, + .write32 = ath10k_ahb_write32, + .get_num_banks = ath10k_ahb_get_num_banks, +}; + +static int ath10k_ahb_probe(struct platform_device *pdev) *** 87038 LINES SKIPPED *** From nobody Sun Apr 23 21:31:45 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4M0L2LTnz46VmD; Sun, 23 Apr 2023 21:31: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 4Q4M0K6V3Zz3DXn; Sun, 23 Apr 2023 21: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=1682285506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FzQCxjdobbAWBKkVj9FczsQi/locth2QgECqnQHwxaM=; b=mDp12CrYa+isw18nEKkS1xm4EuSIzVkMMmeUCfK4Re9v6Lj0MknZulcUQcNWj8ey3JzMFr H1loqf5h+bwVvVMrNTRd+4wpLcVV083Qjk77cUzq0Wb19pX+83DllzrIQbUMTS4RSCxQxy dEFuYNQhaAL4OLo1rWpIHPQ17e8Xvo3MGrCNVafoXc9NLcBGgQe3pBZe1XnNUaSmbPCEaT c8JSvLuVsRPKtFHh8I3yKEK4QShpCRpyCP/pWm1EBbTTREiZti0JP+JjcW5r77NVwNtLmg og3As5iC1Dn2/wpVDReQtC6BUL9H/09T1x0cm0cjnQZzPHUuJCWVCurGaK4hdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682285506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FzQCxjdobbAWBKkVj9FczsQi/locth2QgECqnQHwxaM=; b=mYRodL5P+2f13cV3KvtZNCYefpqpXIVVrR97ejfRJA9CUZtrJf5zNf3YqZNL/rKqPbpjZ1 8QYv9+WYi3whK8KImbY/mAbK1h/ORVthCgRW5AOa5Zni0QQfmNMajtn5EkiEhgI58QyyAw 3ygEJ0wMySckTI9lfpoG0wq2YMMD39D7R3ARPEAl1D46h9nrzSSEHE/sj/KbjkmKwjsbha ZNnz8ApfQNOxrEipmTvk/nNRtZ4yC1wW4BTfDGXzfA3HCCfseNuZ/Kzt2af6+b5sWehMTF 4ERbIL+nFHe2Nwc2pSF260wTiW8BQ+JT1DppWAgSSO4oNE2UIy5exqZpBpa+bA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682285506; a=rsa-sha256; cv=none; b=IhwxxEhHSkM69va1td0lvUeyL7LEWAeoCTjj10LET1qs7jhO5Wl7lcmhdebA6Bcva90Ypv a85Y7OussbYzETK0f/W4CtN7wokqGtNLCbd2wMv4igg0S7jJNEHx2KaT4yZTvk9FLbOqPl NTZO7ZPryt2vlBMdAS2vUmj2S+OPDFsr5D0XEJ/wdnB6ATaasU0ffLDcXb2LA0Ha1kaUTw xsmKDp2KMVklZDqFOac876L1bRdnrQAPNzPYNnW12qyn+emOH2Oep+/tVuhTV3C+2Lw0fk eO6kCdT2to/nVH21go4FQqeWEZdKR2ZwhZQo5zV4DuFoVgrEuHOAXi9EKDWvDw== 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 4Q4M0K3HFtz10FJ; Sun, 23 Apr 2023 21:31: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 33NLVj37084626; Sun, 23 Apr 2023 21:31:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NLVjAN084625; Sun, 23 Apr 2023 21:31:45 GMT (envelope-from git) Date: Sun, 23 Apr 2023 21:31:45 GMT Message-Id: <202304232131.33NLVjAN084625@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e51be73a60d2 - main - ath10k: add man page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e51be73a60d21b766662b6951660090154063c4b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e51be73a60d21b766662b6951660090154063c4b commit e51be73a60d21b766662b6951660090154063c4b Author: Bjoern A. Zeeb AuthorDate: 2023-04-23 21:22:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-04-23 21:31:08 +0000 ath10k: add man page Add initial man page for ath10k.4. MFC after: 2 months --- share/man/man4/ath10k.4 | 103 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/share/man/man4/ath10k.4 b/share/man/man4/ath10k.4 new file mode 100644 index 000000000000..a88a460c811b --- /dev/null +++ b/share/man/man4/ath10k.4 @@ -0,0 +1,103 @@ +.\"- +.\" Copyright (c) 2022 Bjoern A. Zeeb +.\" +.\" 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 22, 2023 +.Dt ATH10K 4 +.Os +.Sh NAME +.Nm ath10k +.Nd Qualcomm Atheros IEEE 802.11ac wireless network driver +.Sh SYNOPSIS +The driver will auto-load without any user interaction using +.Xr devmatch 8 +if enabled in +.Xr rc.conf 5 . +.Pp +Only if auto-loading is explicitly disabled, place the following +lines in +.Xr rc.conf 5 +to manually load the driver as a module at boot time: +.Bd -literal -offset indent +kld_list="${kld_list} if_ath10k" +.Ed +.Pp +It is discouraged to load the driver from +.Xr loader 8 . +.Sh DESCRIPTION +The +.Nm +driver is derived from Qualcomm Atheros' Linux ath10k driver and +provides support for the following PCI chipsets: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It QCA6174 +.It QCA9377 +.It QCA9887 +.It QCA9888 +.It QCA988X +.It QCA9984 +.It QCA99X0 +.El +.Pp +.Pp +This driver requires firmware to be loaded before it will work. +The package +.Pa wifi-firmware-ath10k-kmod +from the +.Pa ports/net/wifi-firmware-ath10k-kmod +port needs to be installed before the driver is loaded. +Otherwise no +.Xr wlan 4 +interface can be created using +.Xr ifconfig 8 . +The driver uses the +.\" No LinuxKPI man pages so no .Xr here. +.Em linuxkpi_wlan +and +.Em linuxkpi +compat framework to bridge between the Linux and +native +.Fx +driver code as well as to the native +.Xr net80211 4 +wireless stack. +.Pp +While +.Nm +supports all 802.11 a/b/g/n and ac +the compatibility code currently only supports 802.11 a/b/g modes. +Support for 802.11 n/ac is to come. +.Sh BUGS +Certainly. +.Sh SEE ALSO +.Xr wlan 4 , +.Xr ifconfig 8 , +.Xr wpa_supplicant 8 +.Sh HISTORY +The +.Nm +driver first appeared in +.Fx 14.0 . From nobody Sun Apr 23 22:36:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4NQy2dZlz46ZNc; Sun, 23 Apr 2023 22:36:26 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) (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 4Q4NQw59mHz42SH; Sun, 23 Apr 2023 22:36:24 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of carpeddiem@gmail.com designates 209.85.167.45 as permitted sender) smtp.mailfrom=carpeddiem@gmail.com; dmarc=none Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-4ec8133c59eso3747389e87.0; Sun, 23 Apr 2023 15:36:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682289382; x=1684881382; h=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=qoYLbscb9+dW57EDC8XWDVFnPhPgmy43GFjrJ/SSGJQ=; b=AFNyUaPQ1LKTC9rTxe9Fp88wLKpVPDtll91GSzfHZ6Uq+ToCbAtG2ciSTpQy/8ONrG yoMA/TY7tRGAIuXRdo752G3EjwHxLFGVeyujeGpAJjdh1ncuW6rC15nKPTg5509HmsR/ EIPJNZCzkYLSa0BpEhjQTPRkDkQw25RNfs17UKvu4RsC2koz9wo7k6jZ8sr5d8t4xlUz rEbKZYhZ9V9yifZq3jURzD3qVit16d+PD3nzvun1zcjCQG5/r4fQTy/s2xv9NlZtlCWh okNEsP5q2gu2cHkgSaIpeLWvcRPmWXICaZ17+7Yn7nEV0D6BePFL/x/lzwGehGqKM0GG HJSA== X-Gm-Message-State: AAQBX9eGP+qCqpqpOizAar1vkUCCXtLT5VzMVVExNxrX4xB9+XjlIkyd cpVHM/RYi0SCqcXetiTmG09GP2RUL7mnSt2fZ1D38CaxZ30= X-Google-Smtp-Source: AKy350aCAnj2TTNku00gg9n2LRx2ZWWHvEEEoocSI0X4ThMiY4etx4HSttWko9ouhKN9DUMDaxPXTI0vXbs8kbsc+KA= X-Received: by 2002:a2e:9f4b:0:b0:2a8:d018:c28d with SMTP id v11-20020a2e9f4b000000b002a8d018c28dmr2399203ljk.2.1682289381591; Sun, 23 Apr 2023 15:36:21 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202304231451.33NEpwOQ028148@gitrepo.freebsd.org> In-Reply-To: <202304231451.33NEpwOQ028148@gitrepo.freebsd.org> From: Ed Maste Date: Sun, 23 Apr 2023 18:36:10 -0400 Message-ID: Subject: Re: git: 390c31c4289e - main - meta.sys.mk: downgrade missing Filemon error to warning To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, "Simon J. Gerraty" Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [2.53 / 15.00]; NEURAL_SPAM_MEDIUM(1.00)[0.995]; NEURAL_SPAM_LONG(0.80)[0.803]; NEURAL_SPAM_SHORT(0.73)[0.733]; FORGED_SENDER(0.30)[emaste@freebsd.org,carpeddiem@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; 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:15169, ipnet:209.85.128.0/17, country:US]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.167.45:from]; RCVD_IN_DNSWL_NONE(0.00)[209.85.167.45:from]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; ARC_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[emaste@freebsd.org,carpeddiem@gmail.com]; RCPT_COUNT_THREE(0.00)[4]; FROM_HAS_DN(0.00)[]; FREEFALL_USER(0.00)[carpeddiem]; BLOCKLISTDE_FAIL(0.00)[209.85.167.45:server fail]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[freebsd.org]; RCVD_TLS_LAST(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4Q4NQw59mHz42SH X-Spamd-Bar: ++ X-ThisMailContainsUnwantedMimeParts: N On Sun, 23 Apr 2023 at 10:51, Ed Maste wrote: > > The branch main has been updated by emaste: > > URL: https://cgit.FreeBSD.org/src/commit/?id=390c31c4289e66f1bd9cb2349d6e55fd4dc468f8 > > commit 390c31c4289e66f1bd9cb2349d6e55fd4dc468f8 > Author: Ed Maste > AuthorDate: 2023-04-23 14:48:22 +0000 > Commit: Ed Maste > CommitDate: 2023-04-23 14:48:22 +0000 > > meta.sys.mk: downgrade missing Filemon error to warning > > Cirrus-CI was red because `make makeman` failed with a spurious "filemon > is not loaded" error. For now just make it a warning. CI is still red after this: https://cirrus-ci.com/task/5529897238528000?logs=makeman#L12 ... no description found for WITH_host_egacy, skipping if ! git diff --exit-code --ignore-matching-lines "^.Dd" share/man/man5/src.conf.5; then printf "\n>>> src.conf.5 was not updated as required <<<\n"; false; fi diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 8cabfb16462..236d848cf6a 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -528,6 +528,8 @@ When set, it enforces these options: .Bl -item -compact .It .Va WITH_INSTALL_AS_USER +.It +.Va WITH_host_egacy .El .Pp When set, these options are also in effect: >>> src.conf.5 was not updated as required <<< From nobody Sun Apr 23 23:39:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4PqH17Rhz46fDX; Sun, 23 Apr 2023 23:39:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4PqH0j9Dz3mKl; Sun, 23 Apr 2023 23:39:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682293147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pz/vEUhgkrb0cKjpACYVzpzGzZB+q+zWMeC7tK4iwFs=; b=oem1xtOkAl8q5uDWZ7Kq9xj0zGv/iMF0aoXPPH9JwIJ/rmctCgYbdDaID58pLZ19Qo3ovw DntYy1z1Ms+NeUczaKumvrpZI/+8Kmq0gd2BQFAvpb6sqFBjRKGTKLVGjpHwPHzJzErW2x LsvbVFxESxeM1ehuiyOCUfg0cmzk8Ctus91CuFvX//bGaHZsvQqQS+yHJPlGC267ABtRum wGCbo4PrSvbhMz8SVjD9/JYP8lx0PgpzZU4Sk1vEWwWBUCxAHKlV/mJRb7RasUU55U5u4i GhMOORs6UzVA55sdguOyDETBsh9Ezjea/GMtk6UdWG+lMxB0LCByrWKvmXqbxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682293147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pz/vEUhgkrb0cKjpACYVzpzGzZB+q+zWMeC7tK4iwFs=; b=bq3inOdQLd7zj+4Xrv7QGq6GR3rC+sDZjWyczV3I1CTTzvTLMeSG/YdTJJJ3oddmeaC6uF pyy7WvIjCqHmOz4vDRc4x2qWgmWIo788OiGIx/ewEP9apTPaf3J7RAnmSsauCK3eDa4qtU eLr8khslQs8OA5LlIoxNuUnmHQPOu+mm33/b8knsOe06047X4aMHzj1+aoGY8/uCPG3bkP 45xgmhUVnM5BOV/GLMBU+wCyYtQ/ldqT3slSBqLwwWG+85/CX8mOmUX79LSREDAt6ZD1Ju DQhrMyz05Qf7zFgW6yBGmPj+cldqAlN5V7Qvm9Vr2ta5CuhO3dAC8qKk3xgSNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682293147; a=rsa-sha256; cv=none; b=mGdN8GUQp5QccXC/wiJhP1GUOCIQqHc7s19LpJu6xxCjrlnErW4+Y8EoRSjQ9OuKMaUg0p Rvd+PoO0vU2IgnurdDdSGDTX99M+a9N30rJJa7qU5VTJfyNEUXtMIPnNf/wYJtqi5fjXDh fO0sBRrSk37331porxPYCF4az7r4XKJl8chdvMG9MbeUTevkrDocOTV2SHFCGvZcDgQpXe 3qFe4MMZRcu9/lRieAYQ2Rj0qg9RcHc5OrO39mKCEQXJbWFoMNc5xXQJ1SyOaCb7Ldd4e0 Miaq4Ao+xSWcA+rejV9CDz+u4a/r/4l+gze7rEP6zO8X0WVphm8ZMxwLk6FFLg== 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 4Q4PqG6qH4z12rV; Sun, 23 Apr 2023 23:39: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 33NNd6VC086367; Sun, 23 Apr 2023 23:39:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NNd67P086366; Sun, 23 Apr 2023 23:39:06 GMT (envelope-from git) Date: Sun, 23 Apr 2023 23:39:06 GMT Message-Id: <202304232339.33NNd67P086366@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: 043e24bdb019 - main - posixshmcontrol(1): silently ignore inaccessible segments when listing List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 043e24bdb01938c0d5a73a3192e316ce0b96ec1b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=043e24bdb01938c0d5a73a3192e316ce0b96ec1b commit 043e24bdb01938c0d5a73a3192e316ce0b96ec1b Author: Konstantin Belousov AuthorDate: 2023-04-23 23:30:58 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-23 23:38:48 +0000 posixshmcontrol(1): silently ignore inaccessible segments when listing PR: 271038 Reported by: rau8344@gmail.com Sponsored by: The FreeBSD Foundation MFC after: 1 week --- usr.bin/posixshmcontrol/posixshmcontrol.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr.bin/posixshmcontrol/posixshmcontrol.c b/usr.bin/posixshmcontrol/posixshmcontrol.c index 3b9d1dc256c3..5bb8aa473502 100644 --- a/usr.bin/posixshmcontrol/posixshmcontrol.c +++ b/usr.bin/posixshmcontrol/posixshmcontrol.c @@ -308,8 +308,10 @@ list_shm(int argc, char **argv) continue; fd = shm_open(kif->kf_path, O_RDONLY, 0); if (fd == -1) { - warn("open %s", kif->kf_path); - ret = 1; + if (errno != EACCES) { + warn("open %s", kif->kf_path); + ret = 1; + } continue; } error = fstat(fd, &st); From nobody Sun Apr 23 23:48:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4Q2v2zw2z46flN; Sun, 23 Apr 2023 23:49:11 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.pphosted.com", Issuer "Thawte RSA CA 2018" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4Q2v15zrz45Qw; Sun, 23 Apr 2023 23:49:11 +0000 (UTC) (envelope-from sjg@juniper.net) Authentication-Results: mx1.freebsd.org; none Received: from pps.filterd (m0108162.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33NNJwa4024064; Sun, 23 Apr 2023 16:49:09 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=to : cc : subject : in-reply-to : references : from : mime-version : content-type : content-id : content-transfer-encoding : date : message-id; s=PPS1017; bh=lzYOr0LRQ8Xa6UWkunzr0rr+L2j7qqhFmmMEufV61rw=; b=kNwEaTKLTiGHsPQ4NoRGQxbULgPq2p810pQQhK/0tebMHYOjdUY6JFNdSSoDYm81ryJp 50HEUGQBhGkuDw3t5NYyYv6jlGdYKnT+Zdvdu3tsDfeeoA+uPM7BXzJ5tjbEerSGYNp0 bmKQmr3cXEvyahOOxE9JLy0v0ZY+axEniQiyZgL3n0sPtx85sN5xmnpwku79HArV40Ke jI79Hc3iDE+6tWG5NHHzjsSvsjJL0Q9OIvX6SrdYGSqgKg/RNeooDvPNtIVtMUu63E37 uTtrXT/6xIr5Nq7LMO6cN5AriJ+nj7/YE7ugFQZbvNqj2NMzMKg0YE2FDFvgNUyQz3aS Xw== Received: from cy4pr02cu008.outbound.protection.outlook.com (mail-westcentralusazlp17012027.outbound.protection.outlook.com [40.93.6.27]) by mx0b-00273201.pphosted.com (PPS) with ESMTPS id 3q4duahwqv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 23 Apr 2023 16:49:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hdaho/bC+BCNV/SLwT1eEwh4UQv3tbtUNOOnL0miTcCXFiYrROT3qb23gv43iTgpSHJIyfM6zaRRaMm7sSVBAkMznAioEn7OnPJFBQuRkaXbtO4MItvuozfEBQUhUDz/wvdNiPXuWOtGarskEfbEm04SDgzHvw2lK1fj0LyiB5dot3bvqVW7tpWxUxy/mmW0ZkRABmBaYIz7l1P0+lWVynyNa/kIv6KnRVRrsnzcj/ZJblEI3gvU71u0j7HUW7t1BtM1X9XrfFdyKW87uVeX64vYUkgH8Hc7LXli//SxUO9krvgEDNwm00T+TsyyRL6Bl2Jg8JTM71zsxcglIkY6eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lzYOr0LRQ8Xa6UWkunzr0rr+L2j7qqhFmmMEufV61rw=; b=irUrskvB3h3YlEzv6bEEq37pSwLFyL+JXuT+4CW8QKI7caVIAhr/UA+49MoOFA0uhB5wD/2k4RzvOuFeDwYV0u7PbkhuEZtt0b1UbBBF1k564Hsi+9p1UCEhXoVE7/1c1fBZygE/8V0+6c/DsZrao+gQmWVn7PuteNiUJ5Q61floUqP+yF5w9NbmLiacUcDnxKfwpGamXZQMCgrUFBmqdYAUa4xHLkY0Lx3GzC5TI5b3teXrWQJzRI9N7E2UzPbNI1z8jynrZOAmD0MdxDefsGFVqJjRbH7u2AfuhHaPuApnzcsyIvvlhR92uZMsfDZGeTXZaktjygha46SHgxg/Ug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 66.129.239.15) smtp.rcpttodomain=freebsd.org smtp.mailfrom=juniper.net; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=juniper.net; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lzYOr0LRQ8Xa6UWkunzr0rr+L2j7qqhFmmMEufV61rw=; b=alOvFtOUoOGOoQzNXzwCNPuz3mWWpSxwcQx9dM3xeLgwVeJxXtHPDiAkrWesuC5r4hA+0z34JxGgpTFIUV1vYgT75POK9GySVb5kHSjyTynppUfkdelEn9dNRTtTPhfBnpnKlRCdZ9lfTCTeaxmcK8pCgv3C+6QrcJsHXbRuuSg= Received: from MW2PR2101CA0006.namprd21.prod.outlook.com (2603:10b6:302:1::19) by DM5PR05MB3483.namprd05.prod.outlook.com (2603:10b6:4:40::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.32; Sun, 23 Apr 2023 23:49:04 +0000 Received: from MW2NAM12FT075.eop-nam12.prod.protection.outlook.com (2603:10b6:302:1:cafe::d2) by MW2PR2101CA0006.outlook.office365.com (2603:10b6:302:1::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.18 via Frontend Transport; Sun, 23 Apr 2023 23:49:04 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 66.129.239.15) smtp.mailfrom=juniper.net; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=juniper.net; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.239.15 as permitted sender) Received: from p-exchfe-eqx-02.jnpr.net (66.129.239.15) by MW2NAM12FT075.mail.protection.outlook.com (10.13.181.223) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.19 via Frontend Transport; Sun, 23 Apr 2023 23:49:03 +0000 Received: from p-exchbe-eqx-01.jnpr.net (10.104.9.14) by p-exchfe-eqx-02.jnpr.net (10.104.9.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.7; Sun, 23 Apr 2023 18:49:02 -0500 Received: from p-mailhub01.juniper.net (10.104.20.6) by p-exchbe-eqx-01.jnpr.net (10.104.9.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.7 via Frontend Transport; Sun, 23 Apr 2023 18:49:02 -0500 Received: from kaos.jnpr.net (kaos.jnpr.net [172.23.255.201]) by p-mailhub01.juniper.net (8.14.4/8.11.3) with ESMTP id 33NNn2aV010663; Sun, 23 Apr 2023 16:49:02 -0700 (envelope-from sjg@juniper.net) Received: by kaos.jnpr.net (Postfix, from userid 1377) id 9272A86473; Sun, 23 Apr 2023 16:48:31 -0700 (PDT) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id 9044886598; Sun, 23 Apr 2023 16:48:31 -0700 (PDT) To: Ed Maste CC: , , , Subject: Re: git: 390c31c4289e - main - meta.sys.mk: downgrade missing Filemon error to warning In-Reply-To: References: <202304231451.33NEpwOQ028148@gitrepo.freebsd.org> Comments: In-reply-to: Ed Maste message dated "Sun, 23 Apr 2023 18:36:10 -0400." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6+git; nmh 1.7.1; GNU Emacs 28.2 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <91675.1682293711.1@kaos.jnpr.net> Content-Transfer-Encoding: quoted-printable Date: Sun, 23 Apr 2023 16:48:31 -0700 Message-ID: <96156.1682293711@kaos.jnpr.net> X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW2NAM12FT075:EE_|DM5PR05MB3483:EE_ X-MS-Office365-Filtering-Correlation-Id: 5e770a9b-e420-48f1-fade-08db4455517d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VybyRi9Z1YXg0TixSFsWHtChuNuxqE49z+imJaFGUc20KV70/aGzHxk5kik9hUr9o97wM4RQ5nzPLSkNGzKOKrjPfTTaOV/HAopHR1OJSmJxD4mCWo99xO/np3z3UZjG+zxBsRNuacQEP/QCpUlqHltpHr/+CvoywPMT9xATVm78OyehVh9jEZVGFT4+dpJ36ySQBpVAKNqPkLa+yjA/Pli2ypiyMPxMmpyKQL8D9IIj8Lyixi4iKBav8AE7ghGoF4y4KsPHTC1pgkSLqSu3KtM67WakMES93y25OflNvtVj9xhojZwMJQ5aMhr8/VXljqmjbaQ5L4/IPtalUpIng9wRrDJi5TKeHi3ucgFEVcPidjt0LnDN+4TM2KWtksMXLWB45cXYqOZj1bgCCkMnkjjtjqk0vDl6SdEqbTM4PewN+pE+t2u5Zm4zo+1qSVIt25KfiQlrY4L2x1U3AyivHDIJ63mtmQaEVz5NEgEmUCYH6XIlOHmAi+/zq1cUgsIqRDeUvOUH5mPlGT4lfFDhLn29oRgWcYPN0tvwYi8ms8yI8fyw+yoAg3riS8nvF4oeL7uvaFTifLbfMMP5xKostOsQUTpNqnwQdCVDsrKCclkkFTzvEstnf+NTA8oINNmMkWHo0dsY7aCAPnOi9G0j0a3DfaXTTRja7IWHvl1gXtK/s/ZrOageRAXEjUi9S+Fh2xJRCNLCfepxlzEDv0+zpF8ucHOfcoRt/AeVvak78V7HHgiH39MZlDgnRVkdUfLaoU7ef/FVtifzwBMj+tPzXLHOfuSZtAnd+I1KiApGyhw= X-Forefront-Antispam-Report: CIP:66.129.239.15;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:p-exchfe-eqx-02.jnpr.net;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(136003)(376002)(346002)(451199021)(40470700004)(46966006)(36840700001)(83380400001)(47076005)(336012)(36860700001)(7126003)(82310400005)(6266002)(7696005)(26005)(186003)(478600001)(70586007)(70206006)(450100002)(54906003)(6916009)(4326008)(81166007)(356005)(41300700001)(5660300002)(8676002)(8936002)(316002)(82740400003)(40460700003)(86362001)(4744005)(2906002)(107886003)(9686003)(55016003)(40480700001)(36900700001);DIR:OUT;SFP:1102; X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2023 23:49:03.2708 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5e770a9b-e420-48f1-fade-08db4455517d X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4;Ip=[66.129.239.15];Helo=[p-exchfe-eqx-02.jnpr.net] X-MS-Exchange-CrossTenant-AuthSource: MW2NAM12FT075.eop-nam12.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR05MB3483 X-Proofpoint-GUID: mb87oL9bMYKVcJmq6aTZh5NcoAGZQmQ1 X-Proofpoint-ORIG-GUID: mb87oL9bMYKVcJmq6aTZh5NcoAGZQmQ1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-23_16,2023-04-21_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 clxscore=1015 phishscore=0 suspectscore=0 mlxscore=0 priorityscore=1501 impostorscore=0 spamscore=0 lowpriorityscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304230225 X-Rspamd-Queue-Id: 4Q4Q2v15zrz45Qw X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:22843, ipnet:67.231.152.0/24, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N Ed Maste wrote: > no description found for WITH_host_egacy, skipping This is an internal "pseudo" option. I would propose tweaking showconfig to ignore them: diff --git a/Makefile.inc1 b/Makefile.inc1 index 60956d58fd9b..d059d5dd9fea 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -3405,9 +3405,11 @@ check-old: check-old-files check-old-libs check-old= -dirs .PHONY # # showconfig - show build configuration. # +# ignore lower case knobs (not for use with WITH*) +# showconfig: .PHONY @(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.opts.mk -V dummy -dg1 UPDATE_DE= PENDFILE=3Dno NO_OBJ=3Dyes MACHINE=3D${TARGET} MACHINE_ARCH=3D${TARGET_ARC= H}; \ - ${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1 UPDATE_DEP= ENDFILE=3Dno NO_OBJ=3Dyes) 2>&1 | grep ^MK_ | sort -u + ${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1 UPDATE_DEP= ENDFILE=3Dno NO_OBJ=3Dyes) 2>&1 | grep '^MK_[A-Z]' | sort -u = .if !empty(KRNLOBJDIR) && !empty(KERNCONF) DTBOUTPUTPATH=3D ${KRNLOBJDIR}/${KERNCONF}/ From nobody Sun Apr 23 23:52:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4Q6p2LW4z46g1H; Sun, 23 Apr 2023 23:52: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 4Q4Q6p1VtVz4DJk; Sun, 23 Apr 2023 23:52:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682293954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iQTs8uJD/m+l/SFxyDOs700RG2KaMdwiiU1PGqmz5S0=; b=HMXDiWWjiAcqZChMfLIGVyyZqA/n/27LpQvdxGfY+OeLghbHP4Hzgx0yw4VuuoDbLAu9Jb NCItIDSHDMeYjS/losyhrty0ulMY7mxPqiVG3bH8yFkPyrB8gi8xarnMTAeZlQEdEbivze 1kNX7/vd2zPOOoHgZlNrrCmWHuNQVfdl0eYkkVor49Mlr6W425CqwxxrBU5jmrn03jQ1tu 6TyZOowZKzVJqlKGnVPtGx7grc8LfddZZ98tc0naiQB1BX/yWfFUGjlveKOKAMkAaXD+e9 nrAgpW7Wrw7GHfu8tARpuywXNZEB5zvZ6OUrhVRyxXRPVF2Jgv3kNUzNlMx6QA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682293954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iQTs8uJD/m+l/SFxyDOs700RG2KaMdwiiU1PGqmz5S0=; b=X0tA2DpOs2AVDZ7u9X1Cvgr66yewsUIdtUP9Ne+aJcdGbYIpFPzhvrcl5+tEHyrt+sZeKg 5hf5bVojGRsBrY5+Zp+Gs3owPyUQPuU1qUryFP+4GceE70gl7W2XqQADAkhawM1NnvKXpH kTJ+ZLugzB4LOxKF0SZvGjkAJQ5eR3cVs3GAZu7C3224xcDX6aRzwSHVgE2cCl/RRnXvoE h7b7/mjEPN6RdLn+rIgTjQfdzjIBffLXqSCjQNupoKWCCxH9uXYqH8uU8+yuFKh1T9bHgD AXvceyAbSEoLaPLtUNIT9R/e2ld6IwcPCMpdo+y42PwNaeybPfz6PdW8p0hmqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682293954; a=rsa-sha256; cv=none; b=u2Duvt08D+Cz/pDQYMRgxHY6qAm28wUrZ7ye8vzR2s3t95HdDNZHivPp57OvmvO8TA5fZo rDxvzOE2jThJbhQFdo5N5N05/3xv0c1KYxeONiFgVdo2sZgJo5WWdByyP+29i+3ECGtxdW 5Z4ID9cPmxLoL/nDFhiBQeaYQnPBYvpFOWjsC0R5/wfmUwhq9c4uldIBVglbLQbQDtXI37 XLuYP1jF3GUmJK6FptUEKfzgU9w9dh8xWF9Bw1uj85nREAUKuTDsEuFkWZW6I/46cZatjf WNvyY9yAFP8S0ZwnQA1JrnP3HuuYYKixpyzfO+3Q0gGG3PwBFEi2ORklTil2Xg== 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 4Q4Q6p0Zlrz13xt; Sun, 23 Apr 2023 23:52: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 33NNqXli018743; Sun, 23 Apr 2023 23:52:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33NNqXpp018742; Sun, 23 Apr 2023 23:52:33 GMT (envelope-from git) Date: Sun, 23 Apr 2023 23:52:33 GMT Message-Id: <202304232352.33NNqXpp018742@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: a1bf1a1a7513 - main - showconfig - ignore options that do not start with A-Z List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1bf1a1a75131196940ac3ca8a3dd2a82e84ce63 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=a1bf1a1a75131196940ac3ca8a3dd2a82e84ce63 commit a1bf1a1a75131196940ac3ca8a3dd2a82e84ce63 Author: Simon J. Gerraty AuthorDate: 2023-04-23 23:52:12 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-23 23:52:12 +0000 showconfig - ignore options that do not start with A-Z When building on various hosts it can be handy to create pseudo options like MK_host_egacy - building on a host that needs libegacy. Such options should be ignored by showconfig Reviewed by: emaste --- Makefile.inc1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 60956d58fd9b..d059d5dd9fea 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -3405,9 +3405,11 @@ check-old: check-old-files check-old-libs check-old-dirs .PHONY # # showconfig - show build configuration. # +# ignore lower case knobs (not for use with WITH*) +# showconfig: .PHONY @(${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 + ${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes) 2>&1 | grep '^MK_[A-Z]' | sort -u .if !empty(KRNLOBJDIR) && !empty(KERNCONF) DTBOUTPUTPATH= ${KRNLOBJDIR}/${KERNCONF}/ From nobody Sun Apr 23 23:53:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4Q9L4Fbyz46fsV for ; Sun, 23 Apr 2023 23:54:46 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) (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 4Q4Q9L1sM9z4HqP for ; Sun, 23 Apr 2023 23:54:46 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-506bf4cbecbso5429219a12.1 for ; Sun, 23 Apr 2023 16:54:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20221208.gappssmtp.com; s=20221208; t=1682294085; x=1684886085; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=DfwOLfP3zcmWXDEeGwZm66e4y5TuMcek6oYnZR7rb/E=; b=LCezOwm7kdKOZ3ujsE1t2Oya6nwWFgjeTFtS5XIouBZ9ZfO0EYLB6ahUtWmF/Hl6fG 6q7oqdKO3M8yPthRJCDMvCQsQz4OkiFXuYRTCDs5ybz6HGoCGVfneisVXmchx1qGOFEa BSZia6VwSafplDCB+1reoH/DDa7vo1Uor2z+aknk+ngSEExpzXJaGl1aUm9qiznrozZ8 VRauy9eNeQSHnDtv95IhZK7zslE81EtVXJSk4Y6x0+/YRP7G5sDH2tfu8q5A1EW26VjN qxPws3i5/7YDbyaS+0H2NcF/ww1s0ehqpk9BzM5lXE3K0a4ljV1RSZd//F77pGRRfUnE JnKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682294085; x=1684886085; 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=DfwOLfP3zcmWXDEeGwZm66e4y5TuMcek6oYnZR7rb/E=; b=Uotb2qLs9TPO2Kih6qRobxzOCOrmOM9DRYPN96wr8LiBFn0IacpORIc6FJfk31jkSP Lk2fzhghB9yJrJI9hGGsqY4MhfvBluyW6vyrBh/ZfE4zWLTzAAJd07cfQKaZq+5NvjVZ I8DxnEPG4AKHrmAdLYZ2vNxmjQF9gaMMsssoddMPuCwhCOBl6HH/oCqJDiI6+V4ZQaMO vhX1/EHKXL+81Ms6eAWS3vdHx9sQX+o37nQ8yCYa4W3FzlOGqTS4Nd4iyW+cfDHh3Muy cZ3KwIr+pV7LKGHQmpkfkuRIFheHJnYmyv7iVdJphCZW8S1YHz3IL4C4U/+XaCQY5RvI RSzw== X-Gm-Message-State: AAQBX9doLuXqti48ZvOiZ3lcpB9AXhSmtomCoWuJRQnu+y6scHwm4hVc YgFCvqtJD35d54QuWD58Yr6DYAyu+JsgntrzQeBigQ== X-Google-Smtp-Source: AKy350bbhhaJWcEaGOoN+TBMsoMgqSMyhD9MmqyZkd9JuE7TWGHrNbfETgo3aEsAFHo4uv6Eop4dXTtQ2aVvzlFjVXk= X-Received: by 2002:aa7:cb52:0:b0:506:b296:5005 with SMTP id w18-20020aa7cb52000000b00506b2965005mr9263337edt.41.1682294084757; Sun, 23 Apr 2023 16:54:44 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202304231451.33NEpwOQ028148@gitrepo.freebsd.org> <96156.1682293711@kaos.jnpr.net> In-Reply-To: <96156.1682293711@kaos.jnpr.net> From: Warner Losh Date: Sun, 23 Apr 2023 17:53:02 -0600 Message-ID: Subject: Re: git: 390c31c4289e - main - meta.sys.mk: downgrade missing Filemon error to warning To: "Simon J. Gerraty" Cc: Ed Maste , src-committers , "" , "" Content-Type: multipart/alternative; boundary="0000000000005481bd05fa099d13" X-Rspamd-Queue-Id: 4Q4Q9L1sM9z4HqP 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 --0000000000005481bd05fa099d13 Content-Type: text/plain; charset="UTF-8" We'll need to fix the makeman to ignore that option... Warner On Sun, Apr 23, 2023, 5:49 PM Simon J. Gerraty wrote: > Ed Maste wrote: > > no description found for WITH_host_egacy, skipping > > This is an internal "pseudo" option. > I would propose tweaking showconfig to ignore them: > > diff --git a/Makefile.inc1 b/Makefile.inc1 > index 60956d58fd9b..d059d5dd9fea 100644 > --- a/Makefile.inc1 > +++ b/Makefile.inc1 > @@ -3405,9 +3405,11 @@ check-old: check-old-files check-old-libs > check-old-dirs .PHONY > # > # showconfig - show build configuration. > # > +# ignore lower case knobs (not for use with WITH*) > +# > showconfig: .PHONY > @(${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 > + ${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1 > UPDATE_DEPENDFILE=no NO_OBJ=yes) 2>&1 | grep '^MK_[A-Z]' | sort -u > > .if !empty(KRNLOBJDIR) && !empty(KERNCONF) > DTBOUTPUTPATH= ${KRNLOBJDIR}/${KERNCONF}/ > > --0000000000005481bd05fa099d13 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
We'll need to fix the makeman to ignore that option..= .

Warner=C2=A0

=
On Sun, Ap= r 23, 2023, 5:49 PM Simon J. Gerraty <sjg@juniper.net> wrote:
Ed = Maste <emaste@freebsd.org> wrote:
> no description found for WITH_host_egacy, skipping

This is an internal "pseudo" option.
I would propose tweaking showconfig to ignore them:

diff --git a/Makefile.inc1 b/Makefile.inc1
index 60956d58fd9b..d059d5dd9fea 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -3405,9 +3405,11 @@ check-old: check-old-files check-old-libs check-old-= dirs .PHONY
=C2=A0#
=C2=A0# showconfig - show build configuration.
=C2=A0#
+# ignore lower case knobs (not for use with WITH*)
+#
=C2=A0showconfig: .PHONY
=C2=A0 =C2=A0 =C2=A0 =C2=A0 @(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.o= pts.mk -V dummy -dg1 UPDATE_DEPENDFILE=3Dno NO_OBJ=3Dyes MACHINE=3D${TA= RGET} MACHINE_ARCH=3D${TARGET_ARCH}; \
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${MAKE} -n -f ${.CURDIR}/share/mk/sr= c.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=3Dno NO_OBJ=3Dyes) 2>&= 1 | grep ^MK_ | sort -u
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${MAKE} -n -f ${.CURDIR}/share/mk/sr= c.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=3Dno NO_OBJ=3Dyes) 2>&= 1 | grep '^MK_[A-Z]' | sort -u

=C2=A0.if !empty(KRNLOBJDIR) && !empty(KERNCONF)
=C2=A0DTBOUTPUTPATH=3D ${KRNLOBJDIR}/${KERNCONF}/

--0000000000005481bd05fa099d13-- From nobody Mon Apr 24 00:21:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4Qmz0g49z46hX9; Mon, 24 Apr 2023 00:22:11 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from mx0a-00273201.pphosted.com (mx0a-00273201.pphosted.com [208.84.65.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.pphosted.com", Issuer "Thawte RSA CA 2018" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4Qmy50FZz3kFY; Mon, 24 Apr 2023 00:22:10 +0000 (UTC) (envelope-from sjg@juniper.net) Authentication-Results: mx1.freebsd.org; none Received: from pps.filterd (m0108156.ppops.net [127.0.0.1]) by mx0a-00273201.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33NJbxxR026605; Sun, 23 Apr 2023 17:22:08 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=to : cc : subject : in-reply-to : references : from : mime-version : content-type : content-id : content-transfer-encoding : date : message-id; s=PPS1017; bh=7R+m7xc6742mva7ZlhpQ5vCwq9KOCS0nEPwl/61s3QY=; b=Tsh9yuVYvUFzuNxaGId7YTJRRbRL1Ubthv8K81czx4LaKQKsZobBDdaLgoUNjH64S3Xp KXKtXdwcnZvaiThuvIIdbt82AMP3lLROWklhixp9j23cDblG9VCdxRBFHBOMkWIasmS7 qPItjDUKxMfh6tKX57wkgFLl7aWGcV0KPnkxz5yteNPwurQ8aTVToCXsLmdPehwQDv31 8BBLcQpwJktYa71QnaZay2CZGJ+enUBGGF8yYqcit/XxMO+iior9sH4DiMvWJ0T2s+Gc 5Nz1VoTHqCee9gmzQWt+2SBj8Us5qCognPOQ4hpRuOSwZI9zLJpIGBg4yzB+68h1+Yqm mg== Received: from mw2pr02cu001.outbound.protection.outlook.com (mail-westus2azlp17012023.outbound.protection.outlook.com [40.93.10.23]) by mx0a-00273201.pphosted.com (PPS) with ESMTPS id 3q4ekp1jhk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 23 Apr 2023 17:22:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OeAIKN5YJrniQUhdVvxo7S1ECKJv4nfct64Ms2BMowyPZfto5upB3QNOqQy6y7a5XLbl+7hOGfzfzNaohT4Ly4AJFzdo2jDNfXVkR1JeHroOcgtmrSm9E08RzxqTLijys855HHNwmAOle6cBKuFqPlXvwCEsB1ES5oYpLOZOBr72gVDDnoYDFhQtme0ntZmu3KtSY67t+i/6fjLbZK2D99eqscqAYYRt+g4hcnadzSEvsMDHIc/Y+PB9JzQ+GfqyT0/P5wE756Qj8+X6OJHH4piZEBaN2IJzgjACMew0fhN93dCvYuM9Xd81+6y1STB/UKrF69V02yoxZ34Jf5hABg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7R+m7xc6742mva7ZlhpQ5vCwq9KOCS0nEPwl/61s3QY=; b=jyq64hC+KN+gkAEo6mZgMB+D7KcUWbbYMH4QiEGUGCVIO2fUWIMuGSVu/WGLEfJR+A1IRBjZ20c/hvco6yBW5QotFiK9GLHJPoKfK/i6RuYZ+FMfRHIVU1/kYVhjOw2Q7cRRoXkMgNicN4Q5/5u7tR7FX86TFkORA8CVtqov73YgOOeg44ecX/IrJEcJ/dZiMHszHMAcdLtecX/GnAzO8rkH2v9PQ3RY+vv2e2k5+h93k1n8tBCSvwF4gjE9Ts93GQur6uH3jfV7/bK/baD9bvIolcVuRfgt3q6AEu8kzmccQdrVvxL3LM8rz0OU0gRZTFV9J4V7ozijH9/LoCQ6DQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 66.129.239.15) smtp.rcpttodomain=freebsd.org smtp.mailfrom=juniper.net; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=juniper.net; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7R+m7xc6742mva7ZlhpQ5vCwq9KOCS0nEPwl/61s3QY=; b=KMYSDNuI1IIt5dPZqE0YqFWRVQm8gwmyAXycGFWA1UvrI2m/Xzr91FR8CIMrGWyWsZ55iYjukj8t2N1VYAHHK4PAnjiP6y3867cebM3u1U4Hx3wm2laVJPH4Nb1kMQQm21sfZJqr5Qxl2K7pVagevBeB8FyI9yhXf/DTWz7gQQU= Received: from MW4PR04CA0209.namprd04.prod.outlook.com (2603:10b6:303:86::34) by DM6PR05MB6602.namprd05.prod.outlook.com (2603:10b6:5:122::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.32; Mon, 24 Apr 2023 00:22:05 +0000 Received: from MW2NAM12FT029.eop-nam12.prod.protection.outlook.com (2603:10b6:303:86:cafe::57) by MW4PR04CA0209.outlook.office365.com (2603:10b6:303:86::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33 via Frontend Transport; Mon, 24 Apr 2023 00:22:05 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 66.129.239.15) smtp.mailfrom=juniper.net; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=juniper.net; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.239.15 as permitted sender) Received: from p-exchfe-eqx-02.jnpr.net (66.129.239.15) by MW2NAM12FT029.mail.protection.outlook.com (10.13.181.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.19 via Frontend Transport; Mon, 24 Apr 2023 00:22:04 +0000 Received: from p-exchbe-eqx-01.jnpr.net (10.104.9.14) by p-exchfe-eqx-02.jnpr.net (10.104.9.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.7; Sun, 23 Apr 2023 19:22:03 -0500 Received: from p-exchbe-eqx-01.jnpr.net (10.104.9.14) by p-exchbe-eqx-01.jnpr.net (10.104.9.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.7; Sun, 23 Apr 2023 19:22:03 -0500 Received: from p-mailhub01.juniper.net (10.104.20.6) by p-exchbe-eqx-01.jnpr.net (10.104.9.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.7 via Frontend Transport; Sun, 23 Apr 2023 19:22:03 -0500 Received: from kaos.jnpr.net (kaos.jnpr.net [172.23.255.201]) by p-mailhub01.juniper.net (8.14.4/8.11.3) with ESMTP id 33O0M20o012703; Sun, 23 Apr 2023 17:22:03 -0700 (envelope-from sjg@juniper.net) Received: by kaos.jnpr.net (Postfix, from userid 1377) id 14F3186607; Sun, 23 Apr 2023 17:21:32 -0700 (PDT) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id 12C2E86520; Sun, 23 Apr 2023 17:21:32 -0700 (PDT) To: Warner Losh CC: Ed Maste , src-committers , "" , "" , Subject: Re: git: 390c31c4289e - main - meta.sys.mk: downgrade missing Filemon error to warning In-Reply-To: References: <202304231451.33NEpwOQ028148@gitrepo.freebsd.org> <96156.1682293711@kaos.jnpr.net> Comments: In-reply-to: Warner Losh message dated "Sun, 23 Apr 2023 17:53:02 -0600." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6+git; nmh 1.7.1; GNU Emacs 28.2 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <55508.1682295692.1@kaos.jnpr.net> Content-Transfer-Encoding: quoted-printable Date: Sun, 23 Apr 2023 17:21:32 -0700 Message-ID: <59539.1682295692@kaos.jnpr.net> X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW2NAM12FT029:EE_|DM6PR05MB6602:EE_ X-MS-Office365-Filtering-Correlation-Id: cd363380-cdac-44f9-10a0-08db4459ee50 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +QDYYWYt11ySUuOu+5KlGJw5J/ZI+APGD797Bww3aLlhvE4MZdM2DiBCpg6rlWWU87dPWB9ID+KLM3ZDOrxUVC1/OZwNxk05SouBE8Dh0OmHvB/5FvKcS0bQzBOr7axMgPunx/durr7GXhepZx7//3stDGXydOkuaBw34zKrA4GQ7CvfApXruMVprk1Jw1EGUpt4eNgv+3tYWN/jK0URDbrfzMwGIYm4M+U07fdPCIahsfp7vYvypLh+L39C9XKe0g5BsrrtFoUuJbKwLw/Ot00RQCrJ5c62XdQjWY7LecRi7k/k6fD6v8T5IW0sCMeuz0zfF55HjoBwruqh1v9l46AIz81w3sxiU0IAJgM3czWdXddMS/GD4Qs/C51QvjDVomPyNOh1nY17iTI+7EDnM9Dn1L3i6RmcKJGFI9TOGpQJjBP8MtVnHmMlJlCPdZAE9Wok6kpZqv8cjlr8d7swZ0YkZu1XmC10MRfAgD2Rccii8aohtGzo83ShFxB7QJ5Me62UgXxf/zpF/1h2x0jkV2YolNY/BTIejV9rXo9nPe9Yw8lOQsq1fk7R9Xv8kPNCsII4GxHxrSjY23vrpHdmAH55sn3LVdrWkm5sjgRn+t3wwzlra2eNyc8o+3Zk9EMqegmDKybWnwn/FtfIYtfHKqAjAuREctXi3EdvvQHU4va3SM8YW24lfRkzdhIagFfhYAgu/HeLlJhiwoQ0PQ7ZTCfQJJIiHnjzhKFNIEhiSrc= X-Forefront-Antispam-Report: CIP:66.129.239.15;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:p-exchfe-eqx-02.jnpr.net;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(376002)(346002)(396003)(451199021)(40470700004)(46966006)(36840700001)(54906003)(40460700003)(478600001)(82740400003)(316002)(6916009)(4326008)(40480700001)(70206006)(70586007)(55016003)(356005)(41300700001)(81166007)(2906002)(8936002)(8676002)(5660300002)(86362001)(36860700001)(186003)(6266002)(7126003)(336012)(26005)(9686003)(107886003)(7696005)(47076005)(83380400001)(82310400005)(36900700001);DIR:OUT;SFP:1102; X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2023 00:22:04.3591 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cd363380-cdac-44f9-10a0-08db4459ee50 X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4;Ip=[66.129.239.15];Helo=[p-exchfe-eqx-02.jnpr.net] X-MS-Exchange-CrossTenant-AuthSource: MW2NAM12FT029.eop-nam12.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR05MB6602 X-Proofpoint-GUID: p2ut5J2r_uOo6J53XxApTMxV8u2j32_G X-Proofpoint-ORIG-GUID: p2ut5J2r_uOo6J53XxApTMxV8u2j32_G X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-23_16,2023-04-21_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 spamscore=0 bulkscore=0 suspectscore=0 mlxlogscore=692 priorityscore=1501 impostorscore=0 malwarescore=0 adultscore=0 phishscore=0 clxscore=1015 mlxscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304240001 X-Rspamd-Queue-Id: 4Q4Qmy50FZz3kFY X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:26211, ipnet:208.84.65.0/24, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N Warner Losh wrote: > We'll need to fix the makeman to ignore that option... He won't see it will he? It isn't in any OPTIONS list. It only shows up in showconfig output. cd /h/sjg/work/FreeBSD/main/src/tools/build/options; sh makeman > /h/sjg/work/FreeBSD/main/src/share/man/man5/src.conf.5 building src.conf.5 man page from files in /h/sjg/work/FreeBSD/main/src/tools/build/options make: "/h/sjg/work/FreeBSD/main/src/share/mk/bsd.opts.mk" line 112: warning: WITH_INIT_ALL_PATTERN and WITH_INIT_ALL_ZERO are mutually exclusive. make[1]: "/h/sjg/work/FreeBSD/main/src/share/mk/bsd.opts.mk" line 112: warning: WITH_INIT_ALL_PATTERN and WITH_INIT_ALL_ZERO are mutually exclusive. arm/armv6: ignoring duplicate option PIE arm/armv7: ignoring duplicate option PIE i386/i386: ignoring duplicate option PIE powerpc/powerpc: ignoring duplicate option PIE riscv/riscv64: ignoring duplicate option EFI ..........................................................................= ..........................................................................= ..........................................................................= ............................. is the only output I see. From nobody Mon Apr 24 09:43:05 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4gD94p7lz46Zpl; Mon, 24 Apr 2023 09:43: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 4Q4gD94Q1bz3D7s; Mon, 24 Apr 2023 09:43:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682329385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B1Y12Uqs/QpPVXYKpkLHJW2znh5SZaSkCjY6WKdKcOk=; b=JNFhk8HyWRJsdPHhsq6YUJfZq6RQ5Y3og7kU4e6a4DyubgOIB3P8iVJZ5SnrTbuGRi9QPA LEEXucnNMBsZ0GSfSOWC5ffFUr2IW4xserG30H1oK8QcTd1GtpqP+hJo1qZA9Xy6VB05Fo lCvORl/Mi8SNGKCQYmOhF4wzMdAOkc/QE0xJKHNbQKbzHwlchn2fnK088S7tYns0fJoEkI D9C78EKwGAhmFCI4TsTtcTmM8qhwkgdD5kNLgQfburI1FntAulLpXIDVLRdZye3MsWJvCe PODtuq99rNkOZ93DWGqzzVljM6vxJNot/7b2m9c/WAfuWBH6CW70ZzLeYnuEGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682329385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B1Y12Uqs/QpPVXYKpkLHJW2znh5SZaSkCjY6WKdKcOk=; b=IbrYIW82hybauD6/ZgOT89sGzfXMitdMj1PVwARm6JIfnkq0anJCcEi4GK51+uoZni5uDS frZbpdUasiP2/AZvmgIzI+Q1pFF+BE1yl5PTvEH7aKief/nEngQQBw/GO5QV6ZPgUF7peg RSJ1x/A9XlWnop37HS4yylnAxqifp0CxQGxGBRd4CKM92NXU5bMxpw8cvfvIxeWObJJx0b NxydcstuphhusCIxG5sMZdX4YH0wCg5yAfU1VfpjTnS5DyAF3H8rKYB2MaH7Rkm91iPG2a 5AhRfrdY+wfEGwSVBR9ofQzQaD54KkN/nVVri0FE5SlJYmNIMOTqQOsRw1meUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682329385; a=rsa-sha256; cv=none; b=aUakYEIgwru+YUiJuYKNd6i2QM+zSXfyD9YZ/I/7jW48B8fQTDkZLUskMbVDfAr8AxKlt4 uunhEAj3QwowmxLLqxQNqz3hOGUbde1WLRQlaGP6h/+k43+g1YXi392Z5LsX4VkvZusy6I vdJS1G6sO2Jjxyf7kVA5wUZBE+EbxBeTuDZEtcAWyaCDjNxd0paEWzLDEGiF9r/L+tUY4l kDNDKuravjsFUVtdSoF83aK1CT6mFJwartkoxiCrTiq67+CCNZD5/grQhx+ORpciSDT/ti ZBny1c06+jdOSXCtQRDnL+YZEhmtz438Pw854gm2JabrQN4gq7hzwla0jZm9pg== 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 4Q4gD93Wk8zLTh; Mon, 24 Apr 2023 09:43:05 +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 33O9h56f088198; Mon, 24 Apr 2023 09:43:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33O9h5p9088197; Mon, 24 Apr 2023 09:43:05 GMT (envelope-from git) Date: Mon, 24 Apr 2023 09:43:05 GMT Message-Id: <202304240943.33O9h5p9088197@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: b344bd3a7d2d - main - ext2fs: extract crc16 into sys/crc16.h List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b344bd3a7d2d2a6f3a95db8ef86575d255b658f1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=b344bd3a7d2d2a6f3a95db8ef86575d255b658f1 commit b344bd3a7d2d2a6f3a95db8ef86575d255b658f1 Author: Val Packett AuthorDate: 2023-04-24 09:41:52 +0000 Commit: Vladimir Kondratyev CommitDate: 2023-04-24 09:41:52 +0000 ext2fs: extract crc16 into sys/crc16.h deduplicate this as it might be needed for other drivers (e.g. Apple SPI-HID) Sponsored by: https://www.patreon.com/valpackett Reviewed by: chuck, imp MFC after: 1 month Differential revision: https://reviews.freebsd.org/D32879 --- sys/conf/files | 1 + sys/fs/ext2fs/ext2_csum.c | 55 ++++----------------------------------- sys/libkern/crc16.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++ sys/sys/crc16.h | 46 +++++++++++++++++++++++++++++++++ usr.sbin/bhyve/Makefile | 3 ++- usr.sbin/bhyve/pci_nvme.c | 54 +------------------------------------- 6 files changed, 121 insertions(+), 104 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index 6a36c46030ce..ec3ffa0bffdd 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4016,6 +4016,7 @@ libkern/arc4random_uniform.c standard libkern/asprintf.c standard libkern/bcd.c standard libkern/bsearch.c standard +libkern/crc16.c standard libkern/explicit_bzero.c standard libkern/fnmatch.c standard libkern/gsb_crc32.c standard diff --git a/sys/fs/ext2fs/ext2_csum.c b/sys/fs/ext2fs/ext2_csum.c index 550c9172a992..eac5b2a717bc 100644 --- a/sys/fs/ext2fs/ext2_csum.c +++ b/sys/fs/ext2fs/ext2_csum.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -670,52 +671,6 @@ ext2_ei_csum_set(struct inode *ip, struct ext2fs_dinode *ei) ei->e2di_chksum_hi = htole16(crc >> 16); } -static uint16_t -ext2_crc16(uint16_t crc, const void *buffer, unsigned int len) -{ - const unsigned char *cp = buffer; - /* CRC table for the CRC-16. The poly is 0x8005 (x16 + x15 + x2 + 1). */ - static uint16_t const crc16_table[256] = { - 0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241, - 0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440, - 0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40, - 0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841, - 0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40, - 0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41, - 0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641, - 0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040, - 0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240, - 0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441, - 0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41, - 0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840, - 0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41, - 0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40, - 0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640, - 0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041, - 0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240, - 0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441, - 0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41, - 0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840, - 0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41, - 0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40, - 0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640, - 0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041, - 0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241, - 0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440, - 0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40, - 0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841, - 0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40, - 0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41, - 0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641, - 0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040 - }; - - while (len--) - crc = (((crc >> 8) & 0xffU) ^ - crc16_table[(crc ^ *cp++) & 0xffU]) & 0x0000ffffU; - return crc; -} - static uint16_t ext2_gd_csum(struct m_ext2fs *fs, uint32_t block_group, struct ext2_gd *gd) { @@ -742,15 +697,15 @@ ext2_gd_csum(struct m_ext2fs *fs, uint32_t block_group, struct ext2_gd *gd) crc = csum32 & 0xFFFF; return (htole16(crc)); } else if (EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_GDT_CSUM)) { - crc = ext2_crc16(~0, fs->e2fs->e2fs_uuid, + crc = crc16(~0, fs->e2fs->e2fs_uuid, sizeof(fs->e2fs->e2fs_uuid)); - crc = ext2_crc16(crc, (uint8_t *)&block_group, + crc = crc16(crc, (uint8_t *)&block_group, sizeof(block_group)); - crc = ext2_crc16(crc, (uint8_t *)gd, offset); + crc = crc16(crc, (uint8_t *)gd, offset); offset += sizeof(gd->ext4bgd_csum); /* skip checksum */ if (EXT2_HAS_INCOMPAT_FEATURE(fs, EXT2F_INCOMPAT_64BIT) && offset < le16toh(fs->e2fs->e3fs_desc_size)) - crc = ext2_crc16(crc, (uint8_t *)gd + offset, + crc = crc16(crc, (uint8_t *)gd + offset, le16toh(fs->e2fs->e3fs_desc_size) - offset); return (htole16(crc)); } diff --git a/sys/libkern/crc16.c b/sys/libkern/crc16.c new file mode 100644 index 000000000000..2aad7ccc4db1 --- /dev/null +++ b/sys/libkern/crc16.c @@ -0,0 +1,66 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2017, Fedor Uporov + * 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 REGENTS 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 REGENTS 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 + +/* CRC table for the CRC-16. The poly is 0x8005 (x16 + x15 + x2 + 1). */ +uint16_t const crc16_table[256] = { + 0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241, + 0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440, + 0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40, + 0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841, + 0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40, + 0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41, + 0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641, + 0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040, + 0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240, + 0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441, + 0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41, + 0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840, + 0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41, + 0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40, + 0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640, + 0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041, + 0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240, + 0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441, + 0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41, + 0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840, + 0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41, + 0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40, + 0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640, + 0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041, + 0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241, + 0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440, + 0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40, + 0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841, + 0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40, + 0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41, + 0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641, + 0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040 +}; diff --git a/sys/sys/crc16.h b/sys/sys/crc16.h new file mode 100644 index 000000000000..a66f0046634a --- /dev/null +++ b/sys/sys/crc16.h @@ -0,0 +1,46 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2017, Fedor Uporov + * 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 REGENTS 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 REGENTS 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 + +#ifndef _SYS_CRC16_H_ +#define _SYS_CRC16_H_ + +extern uint16_t const crc16_table[256]; + +static inline uint16_t +crc16(uint16_t crc, const void *buffer, unsigned int len) +{ + const unsigned char *cp = buffer; + while (len--) + crc = (((crc >> 8) & 0xffU) ^ + crc16_table[(crc ^ *cp++) & 0xffU]) & 0x0000ffffU; + return crc; +} + +#endif /* !_SYS_CRC16_H_ */ diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index a5a1dafebcd9..e211a58defd9 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -5,7 +5,7 @@ .include CFLAGS+=-I${.CURDIR}/../../contrib/lib9p CFLAGS+=-I${SRCTOP}/sys -.PATH: ${SRCTOP}/sys/cam/ctl +.PATH: ${SRCTOP}/sys/libkern ${SRCTOP}/sys/cam/ctl PROG= bhyve PACKAGE= bhyve @@ -26,6 +26,7 @@ SRCS= \ bootrom.c \ config.c \ console.c \ + crc16.c \ ctl_util.c \ ctl_scsi_all.c \ fwctl.c \ diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 2ba893de000b..6686aca01a14 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -5,9 +5,6 @@ * Copyright (c) 2018 Leon Dang * Copyright (c) 2020 Chuck Tuffli * - * Function crc16 Copyright (c) 2017, Fedor Uporov - * Obtained from function ext2_crc16() in sys/fs/ext2fs/ext2_csum.c - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -61,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -589,56 +587,6 @@ pci_nvme_init_ctrldata(struct pci_nvme_softc *sc) cd->vwc = NVME_CTRLR_DATA_VWC_ALL_NO << NVME_CTRLR_DATA_VWC_ALL_SHIFT; } -/* - * Calculate the CRC-16 of the given buffer - * See copyright attribution at top of file - */ -static uint16_t -crc16(uint16_t crc, const void *buffer, unsigned int len) -{ - const unsigned char *cp = buffer; - /* CRC table for the CRC-16. The poly is 0x8005 (x16 + x15 + x2 + 1). */ - static uint16_t const crc16_table[256] = { - 0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241, - 0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440, - 0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40, - 0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841, - 0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40, - 0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41, - 0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641, - 0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040, - 0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240, - 0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441, - 0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41, - 0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840, - 0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41, - 0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40, - 0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640, - 0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041, - 0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240, - 0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441, - 0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41, - 0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840, - 0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41, - 0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40, - 0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640, - 0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041, - 0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241, - 0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440, - 0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40, - 0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841, - 0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40, - 0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41, - 0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641, - 0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040 - }; - - while (len--) - crc = (((crc >> 8) & 0xffU) ^ - crc16_table[(crc ^ *cp++) & 0xffU]) & 0x0000ffffU; - return crc; -} - static void pci_nvme_init_nsdata_size(struct pci_nvme_blockstore *nvstore, struct nvme_namespace_data *nd) From nobody Mon Apr 24 09:43:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4gDC2by8z46ZvN; Mon, 24 Apr 2023 09:43:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4gDB6l10z3DS4; Mon, 24 Apr 2023 09:43:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682329387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=621yRpFpWUaYdAvXnH2BGNrHfIIqNysoQtcgL4Le9iI=; b=Iiz+aBbLCFKE7xFabwVnbTaDp0eRkloJGQ1SSw1efB6aRGRAykv30CjLohF1W2CNiIXgdA jGrjUhTF8mkHrjGBVoDpoox04GBOo1/KRuQbf5sqVZhPOBaMqmsTO9wF8urcvMFeyTLSzt W93ZMvz6pC6REo22Q2lT2lcGpo4wPiJqNN52yAahRF4a0TWOqy+SSS08b/9w1yQvAnzCAe bxiXr6do9xDKxHinuwO8uZASt0XTBN9D5sJGi9wptXiu7Xyti4GbR0HJjD0iIq4yg3khZF mmRxeNj1CJ/GL4Gs3p4ipdeyS8+5sGvrtODb3OnFjWrtXoQ6wgBXgoRwbCg3Rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682329387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=621yRpFpWUaYdAvXnH2BGNrHfIIqNysoQtcgL4Le9iI=; b=ZptOGAPC3D+GkdtGAVJeIfvmHJB4qcMxh7dSfNcXFzQn4m8AUGejPM0pSub6eGMzT7YXf8 QJXAYxQIZMHxozFNlHiQDYvPHXIMBMrQ5p5LTujshWXJsFbLKmMqpbxjGO18JXn17KQ88a BgsqUtc8MTFJWUZRjQ4VV6rgGw+KySBc483/1KNS1905hCZsMRJWPG68rq4XNXaFd5bTsi /jaAR0NmCkUkjIIUqaLY4Dlog74khWngnRkPS1bWtpkFpkrmEGVvJ3ggbe6E/RekBKjrpW /0P6ddn7rMF6HBZ76tprvbTnS+vfoKMzV3YrWiTVLJPhFAgOjWdzi0PVl84UZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682329387; a=rsa-sha256; cv=none; b=n/IWSmde/p5eBpc4v4ljfjgrdZgFKbhkaVgzgkVfQDRE1rA7P3aqajUIcU39chGGSyN5nj +9rCpSRGukeLINry8V51I0GLdV3AlybDFWTx3RG3DO1Ufvik64h6oGY7oGrcY6H/Oq7dRl 8EOMIssLJ6XrdJP5pvgBnc5KVE6GLpiN2sMdYLiQoGacZjBl5/h1xjKVSIYEq35dRi4Z1W fDhEwHoH1Ok+H4W8ZX3aWkXxTtxwfSFvo9Gp3DC7rEBtUyBKuM8WzxIjn0aj7FFPF2S2Ef jHz/M6APegow1EpEgNxz1Dwa+d/H+X5taWNFMMKGXbrQhJsxoFLr7RlHaFqIPQ== 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 4Q4gDB4CSDzL9d; Mon, 24 Apr 2023 09:43: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 33O9h6la088218; Mon, 24 Apr 2023 09:43:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33O9h6jw088217; Mon, 24 Apr 2023 09:43:06 GMT (envelope-from git) Date: Mon, 24 Apr 2023 09:43:06 GMT Message-Id: <202304240943.33O9h6jw088217@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 3c0867343819 - main - spibus: extend API: add cs_delay ivar, KEEP_CS and NO_SLEEP flags List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3c086734381945f6d779a98582d8eae3edca0b68 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=3c086734381945f6d779a98582d8eae3edca0b68 commit 3c086734381945f6d779a98582d8eae3edca0b68 Author: Val Packett AuthorDate: 2023-04-24 09:41:52 +0000 Commit: Vladimir Kondratyev CommitDate: 2023-04-24 09:41:52 +0000 spibus: extend API: add cs_delay ivar, KEEP_CS and NO_SLEEP flags These feature are required for an upcoming Apple MacBook topcase (HID over SPI) driver: A delay after toggling CS is required to avoid anomalies like an extra junk byte in front of the message. Keeping CS asserted is required to be able to read a status report after writing a command. (The device won't return the status if CS was deasserted.) Sleep is not allowed in the interrupt context where the Apple input driver runs its transactions. Use a flag to tell the SPI driver to avoid mtx_sleep. Reviewed by: manu (ok to SPI part of larger patch) MFC afret: 1 month Differential revision: https://reviews.freebsd.org/D29534 --- sys/dev/spibus/spi.h | 4 ++++ sys/dev/spibus/spibus.c | 6 ++++++ sys/dev/spibus/spibusvar.h | 3 +++ 3 files changed, 13 insertions(+) diff --git a/sys/dev/spibus/spi.h b/sys/dev/spibus/spi.h index 4cb5c8905b61..fc5b4ab2c148 100644 --- a/sys/dev/spibus/spi.h +++ b/sys/dev/spibus/spi.h @@ -34,9 +34,13 @@ struct spi_command { uint32_t tx_data_sz; void *rx_data; uint32_t rx_data_sz; + uint32_t flags; }; #define SPI_COMMAND_INITIALIZER { 0 } +#define SPI_FLAG_KEEP_CS 0x1 /* Keep chip select asserted */ +#define SPI_FLAG_NO_SLEEP 0x2 /* Prevent driver from sleeping (use polling) */ + #define SPI_CHIP_SELECT_HIGH 0x1 /* Chip select high (else low) */ #ifdef FDT diff --git a/sys/dev/spibus/spibus.c b/sys/dev/spibus/spibus.c index b0b2b5eb73ad..40ebb916a649 100644 --- a/sys/dev/spibus/spibus.c +++ b/sys/dev/spibus/spibus.c @@ -146,6 +146,9 @@ spibus_read_ivar(device_t bus, device_t child, int which, uintptr_t *result) case SPIBUS_IVAR_CLOCK: *(uint32_t *)result = devi->clock; break; + case SPIBUS_IVAR_CS_DELAY: + *(uint32_t *)result = devi->cs_delay; + break; } return (0); } @@ -174,6 +177,9 @@ spibus_write_ivar(device_t bus, device_t child, int which, uintptr_t value) return (EINVAL); devi->mode = (uint32_t)value; break; + case SPIBUS_IVAR_CS_DELAY: + devi->cs_delay = (uint32_t)value; + break; default: return (EINVAL); } diff --git a/sys/dev/spibus/spibusvar.h b/sys/dev/spibus/spibusvar.h index 58a7bf784787..db94d30831e6 100644 --- a/sys/dev/spibus/spibusvar.h +++ b/sys/dev/spibus/spibusvar.h @@ -43,6 +43,7 @@ struct spibus_ivar uint32_t cs; uint32_t mode; uint32_t clock; + uint32_t cs_delay; struct resource_list rl; }; @@ -52,6 +53,7 @@ enum { SPIBUS_IVAR_CS, /* chip select that we're on */ SPIBUS_IVAR_MODE, /* SPI mode (0-3) */ SPIBUS_IVAR_CLOCK, /* maximum clock freq for device */ + SPIBUS_IVAR_CS_DELAY, /* delay in microseconds after toggling chip select */ }; #define SPIBUS_ACCESSOR(A, B, T) \ @@ -71,6 +73,7 @@ spibus_set_ ## A(device_t dev, T t) \ SPIBUS_ACCESSOR(cs, CS, uint32_t) SPIBUS_ACCESSOR(mode, MODE, uint32_t) SPIBUS_ACCESSOR(clock, CLOCK, uint32_t) +SPIBUS_ACCESSOR(cs_delay, CS_DELAY, uint32_t) extern driver_t spibus_driver; extern driver_t ofw_spibus_driver; From nobody Mon Apr 24 09:43:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4gDD0CWzz46Zlk; Mon, 24 Apr 2023 09:43: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 4Q4gDC66Sqz3Dgc; Mon, 24 Apr 2023 09:43:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682329387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J6PqmQZHwgc4t5vEc9xSqfXE6X13QldK441K8vzj5b8=; b=xok70b0p77UWTK0vjrkGHnJXfBoAdnbHOHgAi1eT80yqJIy6y+oVoOlPo37Xdh8LtbByuw uMJg7Kvu33hJUbPEagYC5ZZ51DFvN8mZcBqk/X/siDYkUA7hcYVTjDQBVUXhVXLIv8N5oS ttRkPUyOkZYMNawRpCanReVUZbhguy4AtRalOBNukM1uSGUfGoGdnl/7fvDIINIFOAPM+h SMGGPxKVjP2mABSISmfdkBbwGg38uF/Y9uWssORjM0cwUvIt3//BoGE3NBfsCmom0wyIIo GLT9YBO2dfDVeJchR0WnFNo46a32zwH2Ma4GXSYerA0lYgJJbKoH3fr0M60b0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682329387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J6PqmQZHwgc4t5vEc9xSqfXE6X13QldK441K8vzj5b8=; b=xwjk5ocOWju76pwnDVVD13IeLTVWOD8w/j1PuHggaAdJZTGxe2OMAvqTt27s/cOxEXgIKa P5hnfeM44Ogir6bugQKRJVDHdyMQ0kBb6BK+BeYpXHLMB9UikVuyoh0rAUO3/ix2LP935C pmb+jO3tXy6KzFtMQlDi7IyEvjiGC0Rct2ZgDoob70Fg9QZSQ/Ev3QDJi8jGufRklVn3zB sj2qZTQqepT2t8oV5OR83RkmulDU9QrD0t/8ESw/sbaYvjiPTSvk+0XTmz6/U3++MpPWNk F455J0h5X/OmBE6iaTpDh1MidpDJUboKY8FxdzKkKkXSyBTnstGH+ufbbas/Bw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682329387; a=rsa-sha256; cv=none; b=ZLjWteyNb5VJ01tlDMpADPJda04kR6PHxmeTN8NKZYKoG00XnP/OSlwpLvK1nQjDiOX0gK E/pKMyauy3TafB6J4OMLy5aBFbFmvNEtiZVB5wZNwHPjm6g6ekoYRkD/wXo+q/dvKD6qcS kCb6e+lM43dawYO95zicHqbGOkFvFUG4N+ujUSG5HJ/JK2Ml/mB0i3QIKsCARDhN+znDTv Kj3v2avfNV/BU4SDO3IQRSPoQ5HbXQeCb6q5PzYBx32VXavY8i+DS07xYd82dhTBisb2EP zbU1TORXA9NSc7IhgIDVwyWVYN3XjPsjqEeHAxdGqsn6w6YddiL3HAvMYWHMzg== 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 4Q4gDC55bDzLTj; Mon, 24 Apr 2023 09:43: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 33O9h7uY088244; Mon, 24 Apr 2023 09:43:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33O9h7ht088243; Mon, 24 Apr 2023 09:43:07 GMT (envelope-from git) Date: Mon, 24 Apr 2023 09:43:07 GMT Message-Id: <202304240943.33O9h7ht088243@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 1f40866feb21 - main - intelspi: add PCI attachment (Lynx/Wildcat/Sunrise Point) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1f40866feb2135a4cf764a07b1b90a8a3398ff0a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=1f40866feb2135a4cf764a07b1b90a8a3398ff0a commit 1f40866feb2135a4cf764a07b1b90a8a3398ff0a Author: Val Packett AuthorDate: 2023-04-24 09:41:52 +0000 Commit: Vladimir Kondratyev CommitDate: 2023-04-24 09:41:52 +0000 intelspi: add PCI attachment (Lynx/Wildcat/Sunrise Point) Also adds fixups and cleanups: - apply the child's mode/speed - implement suspend/resume support - use RF_SHAREABLE interrupts - use bus_delayed_attach_children since the transfer can use interrupts - add support for newly added spibus features (cs_delay and flags) Operation tested on Broadwell (Wildcat Point) MacBookPro12,1. Attachment also tested on Kaby Lake (Sunrise Point) Pixelbook. Reviewed by: wulf MFC after: 1 month Differential revision: https://reviews.freebsd.org/D29249 --- sys/conf/files.x86 | 2 + sys/dev/intel/spi.c | 241 +++++++++++++++++++++++------------------- sys/dev/intel/spi.h | 99 +++++++++++++++++ sys/dev/intel/spi_acpi.c | 111 +++++++++++++++++++ sys/dev/intel/spi_pci.c | 138 ++++++++++++++++++++++++ sys/modules/intelspi/Makefile | 4 +- 6 files changed, 485 insertions(+), 110 deletions(-) diff --git a/sys/conf/files.x86 b/sys/conf/files.x86 index 2e7ce6c00b3b..f80638f98f95 100644 --- a/sys/conf/files.x86 +++ b/sys/conf/files.x86 @@ -145,6 +145,8 @@ dev/imcsmb/imcsmb.c optional imcsmb dev/imcsmb/imcsmb_pci.c optional imcsmb pci dev/intel/pchtherm.c optional pchtherm dev/intel/spi.c optional intelspi +dev/intel/spi_pci.c optional intelspi pci +dev/intel/spi_acpi.c optional intelspi acpi dev/io/iodev.c optional io dev/iommu/busdma_iommu.c optional acpi iommu pci dev/iommu/iommu_gas.c optional acpi iommu pci diff --git a/sys/dev/intel/spi.c b/sys/dev/intel/spi.c index 676530234382..497c2606a1c9 100644 --- a/sys/dev/intel/spi.c +++ b/sys/dev/intel/spi.c @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause + * * Copyright (c) 2016 Oleksandr Tymoshenko * All rights reserved. * @@ -24,9 +26,6 @@ * SUCH DAMAGE. */ -#include -__FBSDID("$FreeBSD$"); - #include "opt_acpi.h" #include @@ -42,12 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include - -#include - -#include "spibus_if.h" +#include /** * Macros for driver mutex locking @@ -71,12 +65,13 @@ __FBSDID("$FreeBSD$"); #define RX_FIFO_THRESHOLD 2 #define CLOCK_DIV_10MHZ 5 #define DATA_SIZE_8BITS 8 +#define MAX_CLOCK_RATE 50000000 #define CS_LOW 0 #define CS_HIGH 1 #define INTELSPI_SSPREG_SSCR0 0x0 -#define SSCR0_SCR(n) (((n) - 1) << 8) +#define SSCR0_SCR(n) ((((n) - 1) & 0xfff) << 8) #define SSCR0_SSE (1 << 7) #define SSCR0_FRF_SPI (0 << 4) #define SSCR0_DSS(n) (((n) - 1) << 0) @@ -88,10 +83,6 @@ __FBSDID("$FreeBSD$"); #define SSCR1_SPI_SPH (1 << 4) #define SSCR1_SPI_SPO (1 << 3) #define SSCR1_MODE_MASK (SSCR1_SPI_SPO | SSCR1_SPI_SPH) -#define SSCR1_MODE_0 (0) -#define SSCR1_MODE_1 (SSCR1_SPI_SPH) -#define SSCR1_MODE_2 (SSCR1_SPI_SPO) -#define SSCR1_MODE_3 (SSCR1_SPI_SPO | SSCR1_SPI_SPH) #define SSCR1_TIE (1 << 1) #define SSCR1_RIE (1 << 0) #define INTELSPI_SSPREG_SSSR 0x8 @@ -110,36 +101,14 @@ __FBSDID("$FreeBSD$"); #define INTELSPI_SSPREG_ITF 0x40 #define INTELSPI_SSPREG_SITF 0x44 #define INTELSPI_SSPREG_SIRF 0x48 -#define INTELSPI_SSPREG_PRV_CLOCK_PARAMS 0x400 -#define INTELSPI_SSPREG_RESETS 0x404 -#define INTELSPI_SSPREG_GENERAL 0x408 -#define INTELSPI_SSPREG_SSP_REG 0x40C -#define INTELSPI_SSPREG_SPI_CS_CTRL 0x418 +#define SPI_CS_CTRL(sc) \ + (intelspi_infos[sc->sc_vers].reg_lpss_base + \ + intelspi_infos[sc->sc_vers].reg_cs_ctrl) #define SPI_CS_CTRL_CS_MASK (3) #define SPI_CS_CTRL_SW_MODE (1 << 0) #define SPI_CS_CTRL_HW_MODE (1 << 0) #define SPI_CS_CTRL_CS_HIGH (1 << 1) -#define SPI_CS_CTRL_CS_LOW (0 << 1) - -struct intelspi_softc { - ACPI_HANDLE sc_handle; - device_t sc_dev; - struct mtx sc_mtx; - int sc_mem_rid; - struct resource *sc_mem_res; - int sc_irq_rid; - struct resource *sc_irq_res; - void *sc_irq_ih; - struct spi_command *sc_cmd; - uint32_t sc_len; - uint32_t sc_read; - uint32_t sc_flags; - uint32_t sc_written; -}; - -static int intelspi_probe(device_t dev); -static int intelspi_attach(device_t dev); -static int intelspi_detach(device_t dev); + static void intelspi_intr(void *); static int @@ -294,25 +263,15 @@ intelspi_init(struct intelspi_softc *sc) INTELSPI_WRITE(sc, INTELSPI_SSPREG_SSCR0, 0); /* Manual CS control */ - reg = INTELSPI_READ(sc, INTELSPI_SSPREG_SPI_CS_CTRL); + reg = INTELSPI_READ(sc, SPI_CS_CTRL(sc)); reg &= ~(SPI_CS_CTRL_CS_MASK); reg |= (SPI_CS_CTRL_SW_MODE | SPI_CS_CTRL_CS_HIGH); - INTELSPI_WRITE(sc, INTELSPI_SSPREG_SPI_CS_CTRL, reg); + INTELSPI_WRITE(sc, SPI_CS_CTRL(sc), reg); /* Set TX/RX FIFO IRQ threshold levels */ reg = SSCR1_TFT(TX_FIFO_THRESHOLD) | SSCR1_RFT(RX_FIFO_THRESHOLD); - /* - * Set SPI mode. This should be part of transaction or sysctl - */ - reg |= SSCR1_MODE_0; INTELSPI_WRITE(sc, INTELSPI_SSPREG_SSCR1, reg); - /* - * Parent clock on Minowboard Turbot is 50MHz - * divide it by 5 to set to more or less reasonable - * value. But this should be part of transaction config - * or sysctl - */ reg = SSCR0_SCR(CLOCK_DIV_10MHZ); /* Put SSP in SPI mode */ reg |= SSCR0_FRF_SPI; @@ -328,24 +287,23 @@ intelspi_set_cs(struct intelspi_softc *sc, int level) { uint32_t reg; - reg = INTELSPI_READ(sc, INTELSPI_SSPREG_SPI_CS_CTRL); + reg = INTELSPI_READ(sc, SPI_CS_CTRL(sc)); reg &= ~(SPI_CS_CTRL_CS_MASK); reg |= SPI_CS_CTRL_SW_MODE; if (level == CS_HIGH) reg |= SPI_CS_CTRL_CS_HIGH; - else - reg |= SPI_CS_CTRL_CS_LOW; - - INTELSPI_WRITE(sc, INTELSPI_SSPREG_SPI_CS_CTRL, reg); + + INTELSPI_WRITE(sc, SPI_CS_CTRL(sc), reg); } -static int +int intelspi_transfer(device_t dev, device_t child, struct spi_command *cmd) { struct intelspi_softc *sc; - int err; - uint32_t sscr1; + int err, poll_limit; + uint32_t sscr0, sscr1, mode, clock, cs_delay; + bool restart = false; sc = device_get_softc(dev); err = 0; @@ -359,6 +317,8 @@ intelspi_transfer(device_t dev, device_t child, struct spi_command *cmd) /* If the controller is in use wait until it is available. */ while (sc->sc_flags & INTELSPI_BUSY) { + if ((cmd->flags & SPI_FLAG_NO_SLEEP) == SPI_FLAG_NO_SLEEP) + return (EBUSY); err = mtx_sleep(dev, &sc->sc_mtx, 0, "intelspi", 0); if (err == EINTR) { INTELSPI_UNLOCK(sc); @@ -369,6 +329,45 @@ intelspi_transfer(device_t dev, device_t child, struct spi_command *cmd) /* Now we have control over SPI controller. */ sc->sc_flags = INTELSPI_BUSY; + /* Configure the clock rate and SPI mode. */ + spibus_get_clock(child, &clock); + spibus_get_mode(child, &mode); + + if (clock != sc->sc_clock || mode != sc->sc_mode) { + sscr0 = INTELSPI_READ(sc, INTELSPI_SSPREG_SSCR0); + sscr0 &= ~SSCR0_SSE; + INTELSPI_WRITE(sc, INTELSPI_SSPREG_SSCR0, sscr0); + restart = true; + } + + if (clock != sc->sc_clock) { + sscr0 = INTELSPI_READ(sc, INTELSPI_SSPREG_SSCR0); + sscr0 &= ~SSCR0_SCR(0xfff); + if (clock == 0) + sscr0 |= SSCR0_SCR(CLOCK_DIV_10MHZ); + else + sscr0 |= SSCR0_SCR(howmany(MAX_CLOCK_RATE, min(MAX_CLOCK_RATE, clock))); + INTELSPI_WRITE(sc, INTELSPI_SSPREG_SSCR0, sscr0); + sc->sc_clock = clock; + } + + if (mode != sc->sc_mode) { + sscr1 = INTELSPI_READ(sc, INTELSPI_SSPREG_SSCR1); + sscr1 &= ~SSCR1_MODE_MASK; + if (mode & SPIBUS_MODE_CPHA) + sscr1 |= SSCR1_SPI_SPH; + if (mode & SPIBUS_MODE_CPOL) + sscr1 |= SSCR1_SPI_SPO; + INTELSPI_WRITE(sc, INTELSPI_SSPREG_SSCR1, sscr1); + sc->sc_mode = mode; + } + + if (restart) { + sscr0 = INTELSPI_READ(sc, INTELSPI_SSPREG_SSCR0); + sscr0 |= SSCR0_SSE; + INTELSPI_WRITE(sc, INTELSPI_SSPREG_SSCR0, sscr0); + } + /* Save a pointer to the SPI command. */ sc->sc_cmd = cmd; sc->sc_read = 0; @@ -377,19 +376,36 @@ intelspi_transfer(device_t dev, device_t child, struct spi_command *cmd) /* Enable CS */ intelspi_set_cs(sc, CS_LOW); - /* Transfer as much as possible to FIFOs */ - if (!intelspi_transact(sc)) { - /* If FIFO is not large enough - enable interrupts */ - sscr1 = INTELSPI_READ(sc, INTELSPI_SSPREG_SSCR1); - sscr1 |= (SSCR1_TIE | SSCR1_RIE | SSCR1_TINTE); - INTELSPI_WRITE(sc, INTELSPI_SSPREG_SSCR1, sscr1); - /* and wait for transaction to complete */ - err = mtx_sleep(dev, &sc->sc_mtx, 0, "intelspi", hz * 2); + /* Wait the CS delay */ + spibus_get_cs_delay(child, &cs_delay); + DELAY(cs_delay); + + /* Transfer as much as possible to FIFOs */ + if ((cmd->flags & SPI_FLAG_NO_SLEEP) == SPI_FLAG_NO_SLEEP) { + /* We cannot wait with mtx_sleep if we're called from e.g. an ithread */ + poll_limit = 2000; + while (!intelspi_transact(sc) && poll_limit-- > 0) + DELAY(1000); + if (poll_limit == 0) { + device_printf(dev, "polling was stuck, transaction not finished\n"); + err = EIO; + } + } else { + if (!intelspi_transact(sc)) { + /* If FIFO is not large enough - enable interrupts */ + sscr1 = INTELSPI_READ(sc, INTELSPI_SSPREG_SSCR1); + sscr1 |= (SSCR1_TIE | SSCR1_RIE | SSCR1_TINTE); + INTELSPI_WRITE(sc, INTELSPI_SSPREG_SSCR1, sscr1); + + /* and wait for transaction to complete */ + err = mtx_sleep(dev, &sc->sc_mtx, 0, "intelspi", hz * 2); + } } - /* de-asser CS */ - intelspi_set_cs(sc, CS_HIGH); + /* De-assert CS */ + if ((cmd->flags & SPI_FLAG_KEEP_CS) == 0) + intelspi_set_cs(sc, CS_HIGH); /* Clear transaction details */ sc->sc_cmd = NULL; @@ -419,32 +435,16 @@ intelspi_transfer(device_t dev, device_t child, struct spi_command *cmd) return (err); } -static int -intelspi_probe(device_t dev) -{ - static char *gpio_ids[] = { "80860F0E", NULL }; - int rv; - - if (acpi_disabled("spi") ) - return (ENXIO); - rv = ACPI_ID_PROBE(device_get_parent(dev), dev, gpio_ids, NULL); - if (rv <= 0) - device_set_desc(dev, "Intel SPI Controller"); - return (rv); -} - -static int +int intelspi_attach(device_t dev) { struct intelspi_softc *sc; sc = device_get_softc(dev); sc->sc_dev = dev; - sc->sc_handle = acpi_get_handle(dev); INTELSPI_LOCK_INIT(sc); - sc->sc_mem_rid = 0; sc->sc_mem_res = bus_alloc_resource_any(sc->sc_dev, SYS_RES_MEMORY, &sc->sc_mem_rid, RF_ACTIVE); if (sc->sc_mem_res == NULL) { @@ -452,9 +452,8 @@ intelspi_attach(device_t dev) goto error; } - sc->sc_irq_rid = 0; sc->sc_irq_res = bus_alloc_resource_any(sc->sc_dev, - SYS_RES_IRQ, &sc->sc_irq_rid, RF_ACTIVE); + SYS_RES_IRQ, &sc->sc_irq_rid, RF_ACTIVE | RF_SHAREABLE); if (sc->sc_irq_res == NULL) { device_printf(dev, "can't allocate IRQ resource\n"); goto error; @@ -471,7 +470,7 @@ intelspi_attach(device_t dev) device_add_child(dev, "spibus", -1); - return (bus_generic_attach(dev)); + return (bus_delayed_attach_children(dev)); error: INTELSPI_LOCK_DESTROY(sc); @@ -487,7 +486,7 @@ error: return (ENXIO); } -static int +int intelspi_detach(device_t dev) { struct intelspi_softc *sc; @@ -510,24 +509,50 @@ intelspi_detach(device_t dev) return (bus_generic_detach(dev)); } -static device_method_t intelspi_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, intelspi_probe), - DEVMETHOD(device_attach, intelspi_attach), - DEVMETHOD(device_detach, intelspi_detach), +int +intelspi_suspend(device_t dev) +{ + struct intelspi_softc *sc; + int err, i; - /* SPI interface */ - DEVMETHOD(spibus_transfer, intelspi_transfer), + sc = device_get_softc(dev); - DEVMETHOD_END -}; + err = bus_generic_suspend(dev); + if (err) + return (err); -static driver_t intelspi_driver = { - "spi", - intelspi_methods, - sizeof(struct intelspi_softc), -}; + for (i = 0; i < 9; i++) { + unsigned long offset = i * sizeof(uint32_t); + sc->sc_regs[i] = INTELSPI_READ(sc, + intelspi_infos[sc->sc_vers].reg_lpss_base + offset); + } + + /* Shutdown just in case */ + INTELSPI_WRITE(sc, INTELSPI_SSPREG_SSCR0, 0); -DRIVER_MODULE(intelspi, acpi, intelspi_driver, 0, 0); -MODULE_DEPEND(intelspi, acpi, 1, 1, 1); -MODULE_DEPEND(intelspi, spibus, 1, 1, 1); + return (0); +} + +int +intelspi_resume(device_t dev) +{ + struct intelspi_softc *sc; + int i; + + sc = device_get_softc(dev); + + for (i = 0; i < 9; i++) { + unsigned long offset = i * sizeof(uint32_t); + INTELSPI_WRITE(sc, + intelspi_infos[sc->sc_vers].reg_lpss_base + offset, + sc->sc_regs[i]); + } + + intelspi_init(sc); + + /* Ensure the next transfer would reconfigure these */ + sc->sc_clock = 0; + sc->sc_mode = 0; + + return (bus_generic_resume(dev)); +} diff --git a/sys/dev/intel/spi.h b/sys/dev/intel/spi.h new file mode 100644 index 000000000000..31b708572630 --- /dev/null +++ b/sys/dev/intel/spi.h @@ -0,0 +1,99 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2016 Oleksandr Tymoshenko + * 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. + */ + +#ifndef _DEV_INTEL_SPI_H_ +#define _DEV_INTEL_SPI_H_ + +#include +#include + +#include + +enum intelspi_vers { + SPI_BAYTRAIL, + SPI_BRASWELL, + SPI_LYNXPOINT, + SPI_SUNRISEPOINT, +}; + +/* Same order as intelspi_vers */ +static const struct intelspi_info { + const char *desc; + uint32_t reg_lpss_base; + uint32_t reg_cs_ctrl; +} intelspi_infos[] = { + [SPI_BAYTRAIL] = { + .desc = "Intel Bay Trail SPI Controller", + .reg_lpss_base = 0x400, + .reg_cs_ctrl = 0x18, + }, + [SPI_BRASWELL] = { + .desc = "Intel Braswell SPI Controller", + .reg_lpss_base = 0x400, + .reg_cs_ctrl = 0x18, + }, + [SPI_LYNXPOINT] = { + .desc = "Intel Lynx Point / Wildcat Point SPI Controller", + .reg_lpss_base = 0x800, + .reg_cs_ctrl = 0x18, + }, + [SPI_SUNRISEPOINT] = { + .desc = "Intel Sunrise Point SPI Controller", + .reg_lpss_base = 0x200, + .reg_cs_ctrl = 0x24, + }, +}; + +struct intelspi_softc { + ACPI_HANDLE sc_handle; + device_t sc_dev; + enum intelspi_vers sc_vers; + struct mtx sc_mtx; + int sc_mem_rid; + struct resource *sc_mem_res; + int sc_irq_rid; + struct resource *sc_irq_res; + void *sc_irq_ih; + struct spi_command *sc_cmd; + uint32_t sc_len; + uint32_t sc_read; + uint32_t sc_flags; + uint32_t sc_written; + uint32_t sc_clock; + uint32_t sc_mode; + /* LPSS private register storage for suspend-resume */ + uint32_t sc_regs[9]; +}; + +int intelspi_attach(device_t dev); +int intelspi_detach(device_t dev); +int intelspi_transfer(device_t dev, device_t child, struct spi_command *cmd); +int intelspi_suspend(device_t dev); +int intelspi_resume(device_t dev); + +#endif diff --git a/sys/dev/intel/spi_acpi.c b/sys/dev/intel/spi_acpi.c new file mode 100644 index 000000000000..015694f4a008 --- /dev/null +++ b/sys/dev/intel/spi_acpi.c @@ -0,0 +1,111 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2021 Val Packett + * + * 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 "opt_acpi.h" + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "spibus_if.h" + +static const struct intelspi_acpi_device { + const char *hid; + enum intelspi_vers vers; +} intelspi_acpi_devices[] = { + { "80860F0E", SPI_BAYTRAIL }, + { "8086228E", SPI_BRASWELL }, +}; + +static char *intelspi_ids[] = { "80860F0E", "8086228E", NULL }; + +static int +intelspi_acpi_probe(device_t dev) +{ + struct intelspi_softc *sc = device_get_softc(dev); + char *hid; + int i; + + if (acpi_disabled("spi")) + return (ENXIO); + + if (ACPI_ID_PROBE(device_get_parent(dev), dev, intelspi_ids, &hid) > 0) + return (ENXIO); + + for (i = 0; i < nitems(intelspi_acpi_devices); i++) { + if (strcmp(intelspi_acpi_devices[i].hid, hid) == 0) { + sc->sc_vers = intelspi_acpi_devices[i].vers; + sc->sc_handle = acpi_get_handle(dev); + device_set_desc(dev, intelspi_infos[sc->sc_vers].desc); + return (BUS_PROBE_DEFAULT); + } + } + + return (ENXIO); +} + +static int +intelspi_acpi_attach(device_t dev) +{ + struct intelspi_softc *sc = device_get_softc(dev); + + sc->sc_mem_rid = 0; + sc->sc_irq_rid = 0; + + return (intelspi_attach(dev)); +} + +static device_method_t intelspi_acpi_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, intelspi_acpi_probe), + DEVMETHOD(device_attach, intelspi_acpi_attach), + DEVMETHOD(device_detach, intelspi_detach), + DEVMETHOD(device_suspend, intelspi_suspend), + DEVMETHOD(device_resume, intelspi_resume), + + /* SPI interface */ + DEVMETHOD(spibus_transfer, intelspi_transfer), + + DEVMETHOD_END +}; + +static driver_t intelspi_acpi_driver = { + "spi", + intelspi_acpi_methods, + sizeof(struct intelspi_softc), +}; + +DRIVER_MODULE(intelspi, acpi, intelspi_acpi_driver, 0, 0); +MODULE_DEPEND(intelspi, acpi, 1, 1, 1); +MODULE_DEPEND(intelspi, spibus, 1, 1, 1); +ACPI_PNP_INFO(intelspi_ids); diff --git a/sys/dev/intel/spi_pci.c b/sys/dev/intel/spi_pci.c new file mode 100644 index 000000000000..c55b5a12228e --- /dev/null +++ b/sys/dev/intel/spi_pci.c @@ -0,0 +1,138 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2021 Val Packett + * + * 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 "opt_acpi.h" +#include "opt_pci.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "spibus_if.h" + +static struct intelspi_pci_device { + uint32_t devid; + enum intelspi_vers vers; +} intelspi_pci_devices[] = { + { 0x9c658086, SPI_LYNXPOINT }, + { 0x9c668086, SPI_LYNXPOINT }, + { 0x9ce58086, SPI_LYNXPOINT }, + { 0x9ce68086, SPI_LYNXPOINT }, + { 0x9d298086, SPI_SUNRISEPOINT }, + { 0x9d2a8086, SPI_SUNRISEPOINT }, + { 0xa1298086, SPI_SUNRISEPOINT }, + { 0xa12a8086, SPI_SUNRISEPOINT }, + { 0xa2a98086, SPI_SUNRISEPOINT }, + { 0xa2aa8086, SPI_SUNRISEPOINT }, + { 0xa3a98086, SPI_SUNRISEPOINT }, + { 0xa3aa8086, SPI_SUNRISEPOINT }, +}; + +static int +intelspi_pci_probe(device_t dev) +{ + struct intelspi_softc *sc = device_get_softc(dev); + uint32_t devid = pci_get_devid(dev); + int i; + + for (i = 0; i < nitems(intelspi_pci_devices); i++) { + if (intelspi_pci_devices[i].devid == devid) { + sc->sc_vers = intelspi_pci_devices[i].vers; + /* The PCI device is listed in ACPI too. + * Not that we use the handle for anything... */ + sc->sc_handle = acpi_get_handle(dev); + device_set_desc(dev, intelspi_infos[sc->sc_vers].desc); + return (BUS_PROBE_DEFAULT); + } + } + + return (ENXIO); +} + +static int +intelspi_pci_attach(device_t dev) +{ + struct intelspi_softc *sc = device_get_softc(dev); + + sc->sc_mem_rid = PCIR_BAR(0); + sc->sc_irq_rid = 0; + if (pci_alloc_msi(dev, &sc->sc_irq_rid)) { + device_printf(dev, "Using MSI\n"); + } + + return (intelspi_attach(dev)); +} + +static int +intelspi_pci_detach(device_t dev) +{ + struct intelspi_softc *sc = device_get_softc(dev); + int err; + + err = intelspi_detach(dev); + if (err) + return (err); + + if (sc->sc_irq_rid != 0) + pci_release_msi(dev); + + return (0); +} + +static device_method_t intelspi_pci_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, intelspi_pci_probe), + DEVMETHOD(device_attach, intelspi_pci_attach), + DEVMETHOD(device_detach, intelspi_pci_detach), + DEVMETHOD(device_suspend, intelspi_suspend), + DEVMETHOD(device_resume, intelspi_resume), + + /* SPI interface */ + DEVMETHOD(spibus_transfer, intelspi_transfer), + + DEVMETHOD_END +}; + +static driver_t intelspi_pci_driver = { + "spi", + intelspi_pci_methods, + sizeof(struct intelspi_softc), +}; + +DRIVER_MODULE(intelspi, pci, intelspi_pci_driver, 0, 0); +MODULE_DEPEND(intelspi, pci, 1, 1, 1); +MODULE_DEPEND(intelspi, spibus, 1, 1, 1); +MODULE_PNP_INFO("W32:vendor/device", pci, intelspi, intelspi_pci_devices, + nitems(intelspi_pci_devices)); diff --git a/sys/modules/intelspi/Makefile b/sys/modules/intelspi/Makefile index b2bceee4b3f8..2220a0b87232 100644 --- a/sys/modules/intelspi/Makefile +++ b/sys/modules/intelspi/Makefile @@ -2,7 +2,7 @@ .PATH: ${SRCTOP}/sys/dev/intel KMOD= intelspi -SRCS= spi.c -SRCS+= acpi_if.h device_if.h bus_if.h opt_acpi.h spibus_if.h +SRCS= spi.c spi_acpi.c spi_pci.c +SRCS+= acpi_if.h pci_if.h device_if.h bus_if.h opt_acpi.h opt_pci.h spibus_if.h .include From nobody Mon Apr 24 09:43:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4gDF2ckQz46ZQ1; Mon, 24 Apr 2023 09: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 4Q4gDF0HgSz3DWN; Mon, 24 Apr 2023 09: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=1682329389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aFZb7I4PKaKbRIkYACFil0xYX4y3rqmsbR2vVXNx5HI=; b=g0QuAPILvUHYaAIL2TtZawCTXUgUc1aclhaOlg5VNV2FUhkPv65wJWWc1cf930SrZ4TaCp WrdLN4u1RCuMbEnPVTGspo1m/jtR0XWJ3DyWx3jN2+ldNCIrd270KkTF1xBLO3HadrFt3v v7TA0riXMaLzre2nJ6+1AWEd12ZmE3m4Uryh3kj6bp8GKRae6l+SA9jfZt46jjjUzspxrq BBOfFmyTFrI3dKz/5aL53Ca9hsxIrG3xLqrd0dZx/h0MYcQuT3xWxsSjdZKjYFeq392ksR +I2tIg26hqlvOixxhWO4GDNvIVWKJ7fQ0wj5sQf8BXj/zszV320j/VMaoiww3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682329389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aFZb7I4PKaKbRIkYACFil0xYX4y3rqmsbR2vVXNx5HI=; b=mlADUnDVz0q7YY6cp2w0GDPuiogb0p/LXyEy8zRvQH+jKnuMOPxGZGQCQoq8z9ZA7NsCrv LNsXUJLyekMfUMZtRsPJx4STNqDnovcxP/i3637n3VM4dQdMZDinyrq3J10cqs1Gy36wsb ZHvVKUHs2iB6+EVE/BhIKeaPFDd96SBqBJ1sM5fRoGWD1QALLJuyawyrZsJlIkJZ8P4nVf 1+Vd2b6xuxPJRs9Y79B2hOb8XCHOdIkJuDOPsvl1kIWqGzElsAP8h6KybqaGhV9oeJdNtS msT2YKca4x+ux0OxyzEJC+dYu6WP6ED8wIHqP2hpUO2QBemGMVAI/04Ky5WZEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682329389; a=rsa-sha256; cv=none; b=XCRmB4loxcJXIwg0wDyysAnrNqaiepgpjcYIicZ6jNxZrjR63RKIEoVICNZrON3LjYaKrR dXZOg0F24mdQQgMgQ5A111JS3fI4xVv4z8krOj2Sn8aKW8brdpruZJiJswZmcV9ZqH54qo KvJER+fohhG2LlRzzh3NgEI3JvQTpxqsoBopx2xH8eeBcN5U25pzBs5TxDSOpSWMpdvftI ENy1PgzDeFIfkG98+4THX/S2pzokelVDIu+JDucMdTMUpHaMHxsGUXgZSPLiayUQExuqlN Vy5iJ4l6EglntlLOMi8JSshYfgUxJpD2R+lfM8NGIlyixRj+q2sgGtLC32RX0g== 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 4Q4gDD5pVfzLTk; Mon, 24 Apr 2023 09:43: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 33O9h8N6088272; Mon, 24 Apr 2023 09:43:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33O9h8GB088271; Mon, 24 Apr 2023 09:43:08 GMT (envelope-from git) Date: Mon, 24 Apr 2023 09:43:08 GMT Message-Id: <202304240943.33O9h8GB088271@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 176939bd361a - main - bcm5974: fix wellspring9 pressure settings to handle force sensitivity List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 176939bd361a3d9c859d0c618f76b70635051d6c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=176939bd361a3d9c859d0c618f76b70635051d6c commit 176939bd361a3d9c859d0c618f76b70635051d6c Author: Val Packett AuthorDate: 2023-04-24 09:41:52 +0000 Commit: Vladimir Kondratyev CommitDate: 2023-04-24 09:41:52 +0000 bcm5974: fix wellspring9 pressure settings to handle force sensitivity Reviewed by: wulf MFC after: 1 month Differential revision: https://reviews.freebsd.org/D34435 --- sys/dev/hid/bcm5974.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/dev/hid/bcm5974.c b/sys/dev/hid/bcm5974.c index 26dc5107520f..a7f2a076bc94 100644 --- a/sys/dev/hid/bcm5974.c +++ b/sys/dev/hid/bcm5974.c @@ -327,9 +327,15 @@ static const struct bcm5974_dev_params bcm5974_dev_params[BCM5974_FLAG_MAX] = { .o = { SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION, 0 }, }, + /* + * NOTE: Actually force-sensitive. Pressure has a "size" equal to the max + * so that the "resolution" is 1 (i.e. values will be interpreted as grams). + * No scientific measurements have been done :) but a really hard press + * results in a value around 3500 on model 4. + */ [BCM5974_FLAG_WELLSPRING9] = { .tp = tp + TYPE4, - .p = { SN_PRESSURE, 0, 300, 0 }, + .p = { SN_PRESSURE, 0, 4096, 4096 }, .w = { SN_WIDTH, 0, 2048, 0 }, .x = { SN_COORD, -4828, 5345, 105 }, .y = { SN_COORD, -203, 6803, 75 }, From nobody Mon Apr 24 10:00:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4gc4618Yz46bXZ; Mon, 24 Apr 2023 10:00: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 4Q4gc45TTbz40S2; Mon, 24 Apr 2023 10:00:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682330420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S5ad7BREHpSfa+XbEpr8vHmWPjR4R2/2huNoWS96a8c=; b=cqvieqpP/5LoHp5x0KJXAwKLilM1vUbQzvJjXDp6Znw1gQ2PCrfr1ZXz4Lrh4hEtC5xiIK lSKqSpNDXRTXKHmMyBPd165Wbkq6JF40pbMDIi7jpvF7O+DcoO9JLLnGA1Hib3JlNsAFwg iy38uYPRrj9+wuenxe3SkPpun/5VMbX+lmBH9qUcAVT69o5zGsUXNgRbR0g2+ykoS2prLk tOSIXCbRpVC9PqHzSGtiFE8DAXJaglK5oaKonggRhCdwAAHpLfdmgl2tKOxNAiWLBorGzA u7D+GV3aO3ehfqH57KfXCfFzsmNmIkzjDhbDZ9LUhbX1d7myfz7tjhpdEXJIGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682330420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S5ad7BREHpSfa+XbEpr8vHmWPjR4R2/2huNoWS96a8c=; b=BLh+7cseJtQ83FIIpGKK/VRbN9IXtFgCDdYGomg+874Vp4Kbjbi/hbM6i0w21QqFaBiPfI u0pPVDJt0QmvNqBmXdgAuo+g50ExwrtYDWh5Gf3P7Sc/ZZsLPI5bXkd0o2ODaJ3+aaqhml /SG9gxHoMm3LlN9X3Gy02h7INwHKqOo0l4GcgV71m561hFySkEK1ZmUZrgiex0StHDmv/q NHXQe0q3mwGPKhGu436uVvKnC57o7NPiXaUTC6aP9gHrMztdCSAiBKSWWV1C7EHOzLfsyP tF738p9oAqjKKqk2KZ8jycz7FXZqe50meVtQWhpvCEp/0L1Si9AaquPXg60s4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682330420; a=rsa-sha256; cv=none; b=J1kgnYcJIOIIZRGIpRWhFXhv7UvZO9suVx3fg67y4l+CxYPmGRNutxYxgr8akOfL+cZkvt vB1Z+1DaM3K3+58WhBM+Wqs9zLMX2pVKu4GnzqCQt72ZK6sqtNW7xl9ol6jwLFPOtnPnua evWh+t8WbCbQTDIkH76MCGWqrHEgl+wXmNinqjWL+Kt2Zc7QvI+O+w/GlxiuaWi33jEzTv pixp+RXn6MrUd5j5uLDgAERYv8eFcHU3YxVul8SKcIM0gZBIhEnSidoUzTTevEbZfwrdSC dYT84Auwqg6PxE+cWyv8eyP/J2676fY9MG+PCL3M4IxpC5C6We8oP/CIgzHEHw== 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 4Q4gc44ZLCzLkG; Mon, 24 Apr 2023 10:00: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 33OA0K8f015885; Mon, 24 Apr 2023 10:00:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OA0KOW015884; Mon, 24 Apr 2023 10:00:20 GMT (envelope-from git) Date: Mon, 24 Apr 2023 10:00:20 GMT Message-Id: <202304241000.33OA0KOW015884@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: eb2e52fb2045 - stable/13 - vmrun.sh: Fix a typo in usage() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: eb2e52fb204552a0fd09f9b685029e9fcea8f973 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=eb2e52fb204552a0fd09f9b685029e9fcea8f973 commit eb2e52fb204552a0fd09f9b685029e9fcea8f973 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2023-04-20 12:43:57 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2023-04-24 09:59:58 +0000 vmrun.sh: Fix a typo in usage() MFC after: 3 days Sponsored by: Klara Inc. (cherry picked from commit 607bc91d90a34f4d75cb7738bf23bc4517cd327f) --- share/examples/bhyve/vmrun.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/examples/bhyve/vmrun.sh b/share/examples/bhyve/vmrun.sh index 9770ff459a67..1ef310b07e92 100755 --- a/share/examples/bhyve/vmrun.sh +++ b/share/examples/bhyve/vmrun.sh @@ -83,7 +83,7 @@ usage() { "(default: ${DEFAULT_ISOFILE})" echo " -l: the OS loader to use (default: /boot/userboot.so)" echo " -L: IP address for UEFI GOP VNC server" \ - "(default: ${DEFAULT_VNCHOST}" + "(default: ${DEFAULT_VNCHOST})" echo " -m: memory size (default: ${DEFAULT_MEMSIZE})" echo " -n: network adapter emulation type" \ "(default: ${DEFAULT_NIC})" From nobody Mon Apr 24 11:20:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4jNN3n8Qz46h91; Mon, 24 Apr 2023 11:20:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4jNN2jwXz49Cn; Mon, 24 Apr 2023 11:20:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682335220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VK1fjIxlsmv18QX4UE6foI+MxGKNRVBb3BFgCUSB9rE=; b=CyfBR4rO6KTpevuK+dpYya0ZcGYL+5qFL8w/vV4/SC/PYvVfxT3bBks5bLcsInr+63RtN5 4r8DvuzW+gcmPPcrhBWnNCBcIHZ9IXUn1c0HagRTN4hz8wyRVPKdRnoEru4el9ne3hCLKL 1bSMEYjMbJKnS+U4ttfuvIW29XceZBidlQgeApbtm1Iq4+O6ySjkuSA+9nrNgg5yrECnsi skFmMyBqpWkF7p6+dwT9RTL+Pkdo8pNpJcUChYgpX+qA7JA6ekxurs9xEA6U7qNj2XAaUk XlMJ3Ahy3eF91lUiiOBvMvL9bywo407rLhRKsNlMvx2O63jcYw3ZO7R0Cs6cYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682335220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VK1fjIxlsmv18QX4UE6foI+MxGKNRVBb3BFgCUSB9rE=; b=ln+Yu2Y3aE4RJHirUyK07WbxXS8gswRoxxiS2vEJdO6nK+8Bk+Jtz+T5pvxkYFPgUir4st 1+SexuatOzgA57ATaK5kOzwfswYLAomdk8YQld6EZN9CZvhx9zb6OcmSKm5KRZrEtALmOX 8RO38iPgkdA6EjswfUOcuMMp9hbA/eZGnt/FwPdOUPuB4Z0iq8u9T9KcqIzKFcG8C5Fwod Ab62jrJFQFv1azfNtsd6hpUimQqfCsNqW9ZpkE7NTulWgNVtUhH/JNzTVFLTrJMdLwKFvS R2ckNPsBF9Kau0kAMYmtLRpvC2SOEuzbO1gR20VYtIk3aeKvayjaYzIYqbLbYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682335220; a=rsa-sha256; cv=none; b=Q7DtaEgr2ziQwNj8aBzhrWvsKvTTbnEb8OWL6+WyJEfmM2AerP26/W9ERbBS7/uVuFGvFb 30SJAclQwSiPKh3RJOpvLXoglyj+emYP9htyYxZ/h1Nt52F6mGhadXJYuk5swdOK/c7n9i qhn5nz0HbrQXzeLEAT7X2Di/mdyEHF93lVc+JmGEU0etfoP2fGcnEgX7WpzkXRkuYnq17I puFL6iG8iGLbk0YI8JLRZt8Sn32RVjXEzyBcDK3fR7YmjJSjuTZqsEYDsCQyqiNM3lDG18 mbGnL0ZwfQEFL302LvmWPH6GSvzynOP1lzfG3aAJEqhbCUQ6KgJgP26FB/1Ajw== 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 4Q4jNN1XDHzNL2; Mon, 24 Apr 2023 11:20: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 33OBKK5o048253; Mon, 24 Apr 2023 11:20:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBKKqb048252; Mon, 24 Apr 2023 11:20:20 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:20:20 GMT Message-Id: <202304241120.33OBKKqb048252@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 6ed3b9ca25ba - main - hid: fix typo in hid_is_collection List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6ed3b9ca25ba71e2420555dce015dc80192a2b4e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=6ed3b9ca25ba71e2420555dce015dc80192a2b4e commit 6ed3b9ca25ba71e2420555dce015dc80192a2b4e Author: Hu Shunchao AuthorDate: 2023-04-24 11:17:51 +0000 Commit: Vladimir Kondratyev CommitDate: 2023-04-24 11:17:51 +0000 hid: fix typo in hid_is_collection hid_input is equal to 0. It is leftover from NetBSD code. Reviewed by: hselasky, wulf MFC after: 1 month Differential revision: https://reviews.freebsd.org/D28149 --- sys/dev/hid/hid.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/hid/hid.c b/sys/dev/hid/hid.c index 0ed663f99f88..9736498cc3c0 100644 --- a/sys/dev/hid/hid.c +++ b/sys/dev/hid/hid.c @@ -799,7 +799,7 @@ hid_is_collection(const void *desc, hid_size_t size, int32_t usage) struct hid_item hi; int err; - hd = hid_start_parse(desc, size, hid_input); + hd = hid_start_parse(desc, size, 0); if (hd == NULL) return (0); From nobody Mon Apr 24 11:34:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4jhL1nc5z46hxl; Mon, 24 Apr 2023 11:34: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 4Q4jhL0SCCz4TQX; Mon, 24 Apr 2023 11:34:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682336050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zulKl/Au8VApxEXYVkIML7AKMpPEqlStPB+oyl0HW/Q=; b=DT3QvcfKUd1ivMM8Ax/n2j/oxkNFw7kpcwXYX8XfqQHJjv5tu9+tBczBLebDvh3jDS4kJA osLYgGNebG6jiyodtUeH6aniqEACDzCBqn/nUYZpivx2qqjmaG+YbvUTeO49dPqkbtGvmo WfBKlyJZ5FD2xWcZhvTLIKc9Ht7iurzXLn94ONZpkA+5woTyFPUKxw7AZZhxKFWeUzrcFS jHPm8GVwhTAPcu9CxtUOOetiH0/Ny//k3MxxmjiNGE5mbCaeJKwFXLDGUJ7PTSP5yGtqSU jal4NCNLHFpjBqPewhwx7G3TYdmahJVtoh+4dgMtRQHq/jD2/KhKCuCRzS7phQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682336050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zulKl/Au8VApxEXYVkIML7AKMpPEqlStPB+oyl0HW/Q=; b=UKiSMwNX6rGjEPfO6EjpWxtjx04Fb0T2iDhqjsm+Seneu6NwLjKPuOrC2+rLEpRxnF6Lf3 2XklSTLTVqV1PkQ/VngfVgPmwoaN5zmHvaN7WU1IomN+tIbH2n1+2Hulo97p5XA1jh8VyA OyIU7Nb22PDXTQruwJvzGOKN9QbF60ezVdbP59SVD44zVlcG+DXy4LipEaIdTHL+Qt6fhN aVXD9HgLmnKHer5BrpahKpHu2jOrNGLFI7+tTva/263xbRNvd7BOmYPlRlogr5zuDF/0bL /Z0MYdCINqju0CuMuLqSYXXxoQ1PkA0o/8Hga3Rz8Q995kJdbSW8jxaUCXAt4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682336050; a=rsa-sha256; cv=none; b=UYznMC0HBGh36su1aBnFauwQwOX7F3T+7bjqn/6ZDHllwp+PdTGyNfUqdwvQB56hPU+dit C763ZUS9IAbwcND7SQApniz9qQZxLycoiF8wFGUr3WZ5alyQxQs4WAf6pRgHBHj/OwCiY6 k064qft/yLL+HG4YwC4rJxlJ99erWLODisY7si75X1/id4rnIi7NYYFjmTDZpB43xsfvhy RiRLOhVe8x61sexWCnqKqMr3iToG5Lq1ETFCF6Q4VQIcw2lMkZkb/wPXrPhXMeVZj6Z3sG 5QFAVnuha/LrK3LHJvkGZVARMxHMv6ZyY/TT8Ftr21TVrVYf8X8jnybtOPlTGA== 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 4Q4jhK6NRqzP6N; Mon, 24 Apr 2023 11:34: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 33OBY9ef071085; Mon, 24 Apr 2023 11:34:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBY9lR071084; Mon, 24 Apr 2023 11:34:09 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:34:09 GMT Message-Id: <202304241134.33OBY9lR071084@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: 1bf4991bbc2c - main - Remove unneeded masks from the arm64 KASAN shadow List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1bf4991bbc2c2fb6c33ce1303eff9c5833538034 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=1bf4991bbc2c2fb6c33ce1303eff9c5833538034 commit 1bf4991bbc2c2fb6c33ce1303eff9c5833538034 Author: Andrew Turner AuthorDate: 2023-04-21 15:28:36 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 11:33:50 +0000 Remove unneeded masks from the arm64 KASAN shadow When mapping the arm64 KASAN shadow map we use Ln_TABLE_MASK to align physical addresses, however these should already be aligned either by rounding to a greater alignment, or the VM subsystem is giving us a correctly aligned page. Remove these extra alignment masks. Reviewed by: kevans Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39752 --- sys/arm64/arm64/pmap.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index fc4650c8d449..6bea9cde55b5 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -1241,8 +1241,7 @@ pmap_bootstrap_allocate_kasan_l2(vm_paddr_t start_pa, vm_paddr_t end_pa, continue; } - pmap_store(l2, (pa & ~Ln_TABLE_MASK) | PMAP_SAN_PTE_BITS | - L2_BLOCK); + pmap_store(l2, pa | PMAP_SAN_PTE_BITS | L2_BLOCK); } /* @@ -7800,8 +7799,7 @@ pmap_san_enter(vm_offset_t va) MPASS(l1 != NULL); if ((pmap_load(l1) & ATTR_DESCR_VALID) == 0) { m = pmap_san_enter_alloc_l3(); - pmap_store(l1, (VM_PAGE_TO_PHYS(m) & ~Ln_TABLE_MASK) | - L1_TABLE); + pmap_store(l1, VM_PAGE_TO_PHYS(m) | L1_TABLE); } l2 = pmap_l1_to_l2(l1, va); if ((pmap_load(l2) & ATTR_DESCR_VALID) == 0) { From nobody Mon Apr 24 11:34:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4jhM6k5dz46jJb; Mon, 24 Apr 2023 11:34: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 4Q4jhM4zb7z4TVx; Mon, 24 Apr 2023 11:34:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682336051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y36jIBJtFjd2UIU9QbN7XnxKVfj7jQTnKSj26YuNJXM=; b=IKyMlPtcaY2f8IIZWlcwFivUrMbCJjnDJXEQW7A0hYo5dul6EmQPyGJLXw4dW4ekp93jXL wD8oTaZd440MJjjVzkmeISeu6VqfyxWy77Z+l/ENsnYfzW1Ny8K+wnTNLa2VKPddL4B5bh 7va9xm0qDufOm8ooExcdaX87XQD4QX3w1veSe30qGb83fKvWhaftrGhxWOc13XbZEYKvDq yLek1RaRG3jTgUABr16Ziq9Yq+1XB0m57BiAgmQbob6GvcsBMrmDxWRaQOMEAZxnj3/1JJ eICsnaC0MEmsLibzqknfPyy9V4SqiEOzula/oErM6IYern+G9KUuWlR1LdcrCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682336051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y36jIBJtFjd2UIU9QbN7XnxKVfj7jQTnKSj26YuNJXM=; b=JeCHdNPrI38Y0E3k3/fYmrulO+h2BDsBZ/kEigvAtM1cTxbOTmjm0auN+dO8hWmx6pdfFq VbPI4YfvCmPRAVdKlx9oyB66HlUHcVPuLwf5Z8rLY+wLIVCeh3aJWGsKEETmOzsc7gQbvj B4EZHd+yROx15fxQcjKQXECpnaYDbDeFf3QlfF4CA+htHVfDI0xf5cspcAzcI9y7MAQrJw 1wPIzUSeQihbTErGZZxbeeCW7AKykHSMdk9XQJXmf/imQLdUE4kpNypFgZ4nQxNy3ZqRvC OcMnBMfI70LVzwIV1zo1p+hDjk4sYycpm3D45UebYhlpl4mpVG4OZrTRdMFjWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682336051; a=rsa-sha256; cv=none; b=xVkEsD/KjSdu8zhg1JR6GJRBJcYaRpmnqxfzTuKaRvcIw3xMVzlWN7hGP5yvZfs703fwSY f9IW1t2JdtdRC4+jo8an7oXCiiyXzfQAjpPyQlkzf7Q+4nGqnf9Jb5gIKn+T1STzq8IYsG YgEPlSCSWly/b4NXlu2sAtLGmnN6qJRpPtI3Y2BdHXaHKHKPP6DbOIseWZteSeOWYba49J kjHa+jjz3wxXc4x3wq5oevKKGi3XDAbN3oosXI0pnv7NQ132Cje9pd9ViOkgL2UG0lrqaL u/HdhzUI26IcqxtNgud4QzoapB2jUMTY8W4hD+RiggVS9so1f4e61JqFB6CpGg== 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 4Q4jhM0FmpzP2D; Mon, 24 Apr 2023 11:34: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 33OBYAdP071105; Mon, 24 Apr 2023 11:34:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBYA8S071104; Mon, 24 Apr 2023 11:34:10 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:34:10 GMT Message-Id: <202304241134.33OBYA8S071104@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: fb421e96c030 - main - Make arm64 pcb padding explicit List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb421e96c03087ef9e02e64232763906b6da88ae Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=fb421e96c03087ef9e02e64232763906b6da88ae commit fb421e96c03087ef9e02e64232763906b6da88ae Author: Andrew Turner AuthorDate: 2023-04-24 09:57:06 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 11:33:50 +0000 Make arm64 pcb padding explicit There is padding between some fields. Mark those I have found so they can be reused later if needed. Sponsored by: Arm Ltd --- sys/arm64/arm64/machdep.c | 6 ++++++ sys/arm64/include/pcb.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index d9ea06952c54..4aac339b1a1b 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -104,6 +104,12 @@ __FBSDID("$FreeBSD$"); #include +_Static_assert(sizeof(struct pcb) == 1216, "struct pcb is incorrect size"); +_Static_assert(offsetof(struct pcb, pcb_fpusaved) == 136, + "pcb_fpusaved changed offset"); +_Static_assert(offsetof(struct pcb, pcb_fpustate) == 160, + "pcb_fpustate changed offset"); + enum arm64_bus arm64_bus_method = ARM64_BUS_NONE; /* diff --git a/sys/arm64/include/pcb.h b/sys/arm64/include/pcb.h index 8ffe6f2d483e..35f04787c781 100644 --- a/sys/arm64/include/pcb.h +++ b/sys/arm64/include/pcb.h @@ -57,6 +57,7 @@ struct pcb { u_int pcb_flags; #define PCB_SINGLE_STEP_SHIFT 0 #define PCB_SINGLE_STEP (1 << PCB_SINGLE_STEP_SHIFT) + uint32_t pcb_pad1; struct vfpstate *pcb_fpusaved; int pcb_fpflags; @@ -66,6 +67,7 @@ struct pcb { /* The bits passed to userspace in get_fpcontext */ #define PCB_FP_USERMASK (PCB_FP_STARTED) u_int pcb_vfpcpu; /* Last cpu this thread ran VFP code */ + uint64_t pcb_pad2; /* * The userspace VFP state. The pcb_fpusaved pointer will point to From nobody Mon Apr 24 11:34:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4jhP3tHWz46j8f; Mon, 24 Apr 2023 11:34: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 4Q4jhP1GcNz4Tbs; Mon, 24 Apr 2023 11:34:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682336053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f5MryLPT0AUyvlORzbC2fAvD4r9tPLLK3HQ2VNn56s0=; b=CgjAE6bGAwAsE6O9+2o/+u1GdqEGCGwycxe17v21bOLpZpueB5faXrZL58LNcug+RgAyvn rWsijP79sXkjojrimFeLpCJvvCn/+bg1fnrQ8zjI3b9zzB8bnyNEnerj+3UfmBfbTCFOFG 3VvC79bf9LD5VTiQ7q2h8pHhE6cu+dlUwMpRI5WnSeo4W/NH9oMr1l9HRkqIrWcEUykw1U 08AKCJJ4FxDF7Kwwe5snj4C7/3/ETBLCUkS1LkXf0zuf1twTgjsM8khdldF9u0v/O9HhBW +ucs42K/rCbVpUhutjnP6LkHeu4/Ypq4cU3xRLdp/dbJuad+nMv6LVLO/htB7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682336053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f5MryLPT0AUyvlORzbC2fAvD4r9tPLLK3HQ2VNn56s0=; b=fjjZ3HDN8An8XelT2GLkpX9gx4p721YIgxI9AqcWyvv4Z0xTwM2XLHHRyFglzvVN1JtcQU GewImJktbRqxocuY8JKLORViYhfq0lyoFNlw/optx5BM8ZWcNZoSEwS5ECj9Bl7C98fuu+ +aVuu4xLiZ9/L7wSFiyxQMiO2MT8+Xc5VhJhCGqKD8X6Fx14B0xYfznt0ZPlqlMCoL105F r3IzSNOhJ/ba+jdBXKhJx5m6g48V6p3XQxO8tB1pObEStKQgsBsIXUWvsiACTthrBC/08B 1fPExlp3GZIY32S/D/iByCY+O5V5ZPCfAH3F15tGuEFDpFmb27bUwvO961YUTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682336053; a=rsa-sha256; cv=none; b=j3/kPQKnltA9rx67xVPa/hqxncsIl0tEsx3A2ZMvLc0nkePzVG5o0dgKqnx+2GVMzyqQlh 2cUfhnf3QNxtYlPPxHErb2ZCxkAxM0299oixx+4JCKSRoZEyTkQON78BURfrhM4Jtbt4+t pYPa00G8uRxUle+I7MRPe+mdZj3u+yxQLXCUpOtOq/x8sLg1HAAdIAR4uMsD5h2hIcGW3P tpnc218GaaGjTgpsTCfggL7wU/2vIgtsU5E4MRgWfjMsjC9zTyw5kNTmTIEbYmXZfMrX3I fEqzAHmmv8drMeQQZOgNWrpnDWVkm1QsGH/ix5FndaS0ygOETIgLcXG2SbQkNg== 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 4Q4jhN13G9zNpn; Mon, 24 Apr 2023 11:34: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 33OBYBK8071124; Mon, 24 Apr 2023 11:34:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBYBwu071123; Mon, 24 Apr 2023 11:34:11 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:34:11 GMT Message-Id: <202304241134.33OBYBwu071123@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: 7029f2c887a1 - main - Allow pci_host_generic attachments to manage registers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7029f2c887a16c823faf08e8a79dc0d3887989ab Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=7029f2c887a16c823faf08e8a79dc0d3887989ab commit 7029f2c887a16c823faf08e8a79dc0d3887989ab Author: Andrew Turner AuthorDate: 2022-06-04 10:59:46 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 11:33:50 +0000 Allow pci_host_generic attachments to manage registers To allow for attachments that don't use memory mapped registers add a flag they can set when the base driver shouldn't map them. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39227 --- sys/dev/pci/pci_host_generic.c | 45 +++++++++++++++++++++++------------------- sys/dev/pci/pci_host_generic.h | 2 ++ 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c index 986318548eab..ca74b0c650c3 100644 --- a/sys/dev/pci/pci_host_generic.c +++ b/sys/dev/pci/pci_host_generic.c @@ -106,27 +106,30 @@ pci_host_generic_core_attach(device_t dev) if (error != 0) return (error); - rid = 0; - 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; - } + if ((sc->quirks & PCIE_CUSTOM_CONFIG_SPACE_QUIRK) == 0) { + rid = 0; + 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); + 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); + sc->bst = rman_get_bustag(sc->res); + sc->bsh = rman_get_bushandle(sc->res); + } sc->has_pmem = false; sc->pmem_rman.rm_type = RMAN_ARRAY; @@ -196,7 +199,8 @@ err_io_rman: err_mem_rman: rman_fini(&sc->pmem_rman); err_pmem_rman: - bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->res); + if (sc->res != NULL) + bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->res); err_resource: bus_dma_tag_destroy(sc->dmat); return (error); @@ -217,7 +221,8 @@ pci_host_generic_core_detach(device_t dev) rman_fini(&sc->io_rman); rman_fini(&sc->mem_rman); rman_fini(&sc->pmem_rman); - bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->res); + if (sc->res != NULL) + bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->res); bus_dma_tag_destroy(sc->dmat); return (0); diff --git a/sys/dev/pci/pci_host_generic.h b/sys/dev/pci/pci_host_generic.h index 80da4f523165..b3242c8bdaf5 100644 --- a/sys/dev/pci/pci_host_generic.h +++ b/sys/dev/pci/pci_host_generic.h @@ -90,6 +90,8 @@ struct generic_pcie_core_softc { /* Quirks */ #define PCIE_ECAM_DESIGNWARE_QUIRK (1 << 0) +/* Child will map resources to access config registers */ +#define PCIE_CUSTOM_CONFIG_SPACE_QUIRK (1 << 1) DECLARE_CLASS(generic_pcie_core_driver); From nobody Mon Apr 24 11:34:13 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4jhQ13Wmz46j8g; Mon, 24 Apr 2023 11:34: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 4Q4jhP3tPpz4TR3; Mon, 24 Apr 2023 11:34:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682336053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R8CLDkoEZkxwBJ0AY/UjGH5R4jYOrgG+siQvq8JDXYI=; b=WBk9WBA9publuFoNU7F2mj9i21dz4C2q1TtR69WrXM/n3aNkvCJI4wT2OmcrkVCAQwAbH9 3Yaa81lG02CQ6NJcC5JtgnDZN14OrbEeXkEV2ToBfI40bYSPzBAfY56UFmoelnNIN4n2AG stEVpzvrq4ka7pVQY99JMFZNs7r1CSSi3S7HYW0pA/AmyD9YORxOWZ3w1Z6HUxx2npfWG3 acLIqKdQVDB7KOLYdcApBmkZVfa6qLvF8ovSNYUZ2XZt5t+AEAhZaKG6xCknwdsMQIOZsH ivOvBKItlQIQc12OTeyE9VAGGsHrFtBRs+GFZGaQ1VvaANvwrLl0KOUgVaXQUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682336053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R8CLDkoEZkxwBJ0AY/UjGH5R4jYOrgG+siQvq8JDXYI=; b=RVXhnbYWLFjvyHLbTnuoDTXDE/cINhmFanDAJ8LgtQASgA40LLIT69W/OeZniNyc9vFk3i 36x41227ltmcNdiZZIS2IEk/NQZL9eOhP7hYOw5YwxmQv4LcIsiLqRdKt3iHZfh+gvg2tY 9lCqxrKJXR8i6vqIBgNtgwm1GNNhChvDtg5Dtjaz+R+71GxXxCFyPQHNwH5HaN2fFKk5xa 9WjxfEqHQ+26FinlouKOcFSzBRNzPaS6NC+Qmqk8Oj5+5dwyZtRs38WNPBxuytCKczMpV8 7VrL9abhNjSEjVo7SCl5ivq8xvWqMFBfybolLSg7iSbo5VyIJBt1+F6ncygXhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682336053; a=rsa-sha256; cv=none; b=H0aPKpIme0RCP1Lfovwv6cpUBclxADvcIUbPHEMRPmw1NsJmypiGqDCkkkcIwWP3Cpcelt 45gIrFs565AUy15iEH1gceORiDjylSK+6nlrr5N2SoBSC89VHmhM/J58ZilU3wW+1X+KUa eLFHQQWUcpIpNvZivCMP8pTe2tJ/3B/XsB/UsoChwFqkY66NBvtcM9s3bv/2oeuvtwnccp DoU6yJB4YVxeyIkZwqlaXxC7ZoM4IVpSMTNdwi4JLVUUn0WbVPbhhMmvNyGnNxQ1XQxre+ YIiJrwakF7NHAb9x8nh073qcq6DxfcKPIQK9ix6av4xZDMssYyGd2TeDnGMCSw== 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 4Q4jhP1Z7HzPGh; Mon, 24 Apr 2023 11:34: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 33OBYDal071143; Mon, 24 Apr 2023 11:34:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBYDTo071142; Mon, 24 Apr 2023 11:34:13 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:34:13 GMT Message-Id: <202304241134.33OBYDTo071142@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: c9a05c072270 - main - Add a PCI driver that follows the Arm DEN0115 spec List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c9a05c072270fc0140fccc0c6c0181c4c0b66c62 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c9a05c072270fc0140fccc0c6c0181c4c0b66c62 commit c9a05c072270fc0140fccc0c6c0181c4c0b66c62 Author: Andrew Turner AuthorDate: 2022-06-04 11:02:47 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 11:33:50 +0000 Add a PCI driver that follows the Arm DEN0115 spec Add a n attachment to the pci_host_generic driver for the Arm DEN0115 PCI Configuration Space Access Firmware Interface [1]. This can be used when PCI controllers need to implement quirks in the PCI root bus. To handle this the firmware implements a SMCCC interface the driver can use to read and write the configuration register. This has been tested on a Raspberry Pi 4 booting with EDK2. [1] https://developer.arm.com/documentation/den0115/latest Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39228 --- sys/conf/files.arm64 | 1 + sys/dev/pci/pci_host_generic_den0115.c | 247 +++++++++++++++++++++++++++++++++ 2 files changed, 248 insertions(+) diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 895d29cae818..9218336d154d 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -359,6 +359,7 @@ dev/ofw/ofw_pcib.c optional fdt pci dev/pci/controller/pci_n1sdp.c optional pci_n1sdp acpi dev/pci/pci_host_generic.c optional pci dev/pci/pci_host_generic_acpi.c optional pci acpi +dev/pci/pci_host_generic_den0115.c optional pci acpi dev/pci/pci_host_generic_fdt.c optional pci fdt dev/pci/pci_dw_mv.c optional pci fdt dev/pci/pci_dw.c optional pci fdt diff --git a/sys/dev/pci/pci_host_generic_den0115.c b/sys/dev/pci/pci_host_generic_den0115.c new file mode 100644 index 000000000000..08cb77cea22c --- /dev/null +++ b/sys/dev/pci/pci_host_generic_den0115.c @@ -0,0 +1,247 @@ +/*- + * Copyright (c) 2022 Andrew Turner + * Copyright (c) 2023 Arm Ltd + * + * 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 +#include + +#include +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include + +#include "pcib_if.h" + +static device_probe_t pci_host_acpi_smccc_probe; +static device_attach_t pci_host_acpi_smccc_attach; +static pcib_read_config_t pci_host_acpi_smccc_read_config; +static pcib_write_config_t pci_host_acpi_smccc_write_config; + +static int +pci_host_acpi_smccc_probe(device_t dev) +{ + ACPI_DEVICE_INFO *devinfo; + struct resource *res; + ACPI_HANDLE h; + uint32_t smccc_version; + int rid, root; + + if (acpi_disabled("pcib") || (h = acpi_get_handle(dev)) == NULL || + ACPI_FAILURE(AcpiGetObjectInfo(h, &devinfo))) + return (ENXIO); + root = (devinfo->Flags & ACPI_PCI_ROOT_BRIDGE) != 0; + AcpiOsFree(devinfo); + if (!root) + return (ENXIO); + + /* + * Check we have memory resources. We may have a non-memory + * mapped device, e.g. using the Arm PCI Configuration Space + * Access Firmware Interface (DEN0115). + */ + res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, 0); + if (res != NULL) { + bus_release_resource(dev, SYS_RES_MEMORY, rid, res); + return (ENXIO); + } + + /* Check the SMCCC is at least v1.1 */ + smccc_version = smccc_get_version(); + if (SMCCC_VERSION_MAJOR(smccc_version) > 1 || + (SMCCC_VERSION_MAJOR(smccc_version) == 1 && + SMCCC_VERSION_MINOR(smccc_version) == 0)) { + device_set_desc(dev, + "ARM PCI Firmware config space host controller"); + return (BUS_PROBE_SPECIFIC); + } + + return (EINVAL); +} + +#define SMCCC_PCI_VERSION \ + SMCCC_FUNC_ID(SMCCC_FAST_CALL, SMCCC_32BIT_CALL, \ + SMCCC_STD_SECURE_SERVICE_CALLS, 0x130) +#define SMCCC_PCI_FEATURES \ + SMCCC_FUNC_ID(SMCCC_FAST_CALL, SMCCC_32BIT_CALL, \ + SMCCC_STD_SECURE_SERVICE_CALLS, 0x131) +#define SMCCC_PCI_READ \ + SMCCC_FUNC_ID(SMCCC_FAST_CALL, SMCCC_32BIT_CALL, \ + SMCCC_STD_SECURE_SERVICE_CALLS, 0x132) +#define SMCCC_PCI_WRITE \ + SMCCC_FUNC_ID(SMCCC_FAST_CALL, SMCCC_32BIT_CALL, \ + SMCCC_STD_SECURE_SERVICE_CALLS, 0x133) +#define SMCCC_PCI_GET_SEG_INFO \ + SMCCC_FUNC_ID(SMCCC_FAST_CALL, SMCCC_32BIT_CALL, \ + SMCCC_STD_SECURE_SERVICE_CALLS, 0x134) + +CTASSERT(SMCCC_PCI_VERSION == 0x84000130); +CTASSERT(SMCCC_PCI_FEATURES == 0x84000131); +CTASSERT(SMCCC_PCI_READ == 0x84000132); +CTASSERT(SMCCC_PCI_WRITE == 0x84000133); +CTASSERT(SMCCC_PCI_GET_SEG_INFO == 0x84000134); + +#define SMCCC_PCI_MAJOR(x) (((x) >> 16) & 0x7fff) +#define SMCCC_PCI_MINOR(x) ((x) & 0xffff) + +#define SMCCC_PCI_SEG_END(x) (((x) >> 8) & 0xff) +#define SMCCC_PCI_SEG_START(x) ((x) & 0xff) + +static bool +pci_host_acpi_smccc_has_feature(uint32_t pci_func_id) +{ + struct arm_smccc_res result; + + if (psci_callfn(SMCCC_PCI_FEATURES, pci_func_id, 0, 0, 0, 0, 0, 0, + &result) < 0) { + return (false); + } + + return (true); +} + +static int +pci_host_acpi_smccc_attach(device_t dev) +{ + struct generic_pcie_acpi_softc *sc; + struct arm_smccc_res result; + int end, start; + int error; + + sc = device_get_softc(dev); + sc->base.quirks |= PCIE_CUSTOM_CONFIG_SPACE_QUIRK; + + MPASS(psci_callfn != NULL); + + /* Check there is a version */ + if (psci_callfn(SMCCC_PCI_VERSION, 0, 0, 0, 0, 0, 0, 0, &result) < 0) { + device_printf(dev, + "Failed to read the SMCCC PCI version: %lx\n", result.a0); + return (ENXIO); + } + + if (bootverbose) { + device_printf(dev, "Firmware v%d.%d\n", + SMCCC_PCI_MAJOR((uint32_t)result.a0), + SMCCC_PCI_MINOR((uint32_t)result.a0)); + } + + if (!pci_host_acpi_smccc_has_feature(SMCCC_PCI_READ) || + !pci_host_acpi_smccc_has_feature(SMCCC_PCI_WRITE)) { + device_printf(dev, "Missing read/write functions\n"); + return (ENXIO); + } + + error = pci_host_generic_acpi_init(dev); + if (error != 0) + return (error); + + if (pci_host_acpi_smccc_has_feature(SMCCC_PCI_GET_SEG_INFO) && + psci_callfn(SMCCC_PCI_GET_SEG_INFO, sc->base.ecam, 0, 0, 0, 0, 0, + 0, &result) == SMCCC_RET_SUCCESS) { + start = SMCCC_PCI_SEG_START(result.a1); + end = SMCCC_PCI_SEG_END(result.a1); + + sc->base.bus_start = MAX(sc->base.bus_start, start); + sc->base.bus_end = MIN(sc->base.bus_end, end); + } + + device_add_child(dev, "pci", -1); + return (bus_generic_attach(dev)); +} + +static uint32_t +pci_host_acpi_smccc_read_config(device_t dev, u_int bus, u_int slot, + u_int func, u_int reg, int bytes) +{ + struct generic_pcie_acpi_softc *sc; + struct arm_smccc_res result; + uint32_t addr; + + sc = device_get_softc(dev); + + if ((bus < sc->base.bus_start) || (bus > sc->base.bus_end)) + return (~0U); + if ((slot > PCI_SLOTMAX) || (func > PCI_FUNCMAX) || + (reg > PCIE_REGMAX)) + return (~0U); + + addr = (sc->base.ecam << 16) | (bus << 8) | (slot << 3) | (func << 0); + if (psci_callfn(SMCCC_PCI_READ, addr, reg, bytes, 0, 0, 0, 0, + &result) < 0) { + return (~0U); + } + + return (result.a1); +} + +static void +pci_host_acpi_smccc_write_config(device_t dev, u_int bus, u_int slot, + u_int func, u_int reg, uint32_t val, int bytes) +{ + struct generic_pcie_acpi_softc *sc; + struct arm_smccc_res result; + uint32_t addr; + + sc = device_get_softc(dev); + + if ((bus < sc->base.bus_start) || (bus > sc->base.bus_end)) + return; + if ((slot > PCI_SLOTMAX) || (func > PCI_FUNCMAX) || + (reg > PCIE_REGMAX)) + return; + + addr = (sc->base.ecam << 16) | (bus << 8) | (slot << 3) | (func << 0); + psci_callfn(SMCCC_PCI_WRITE, addr, reg, bytes, val, 0, 0, 0, &result); +} + +static device_method_t generic_pcie_acpi_smccc_methods[] = { + DEVMETHOD(device_probe, pci_host_acpi_smccc_probe), + DEVMETHOD(device_attach, pci_host_acpi_smccc_attach), + + /* pcib interface */ + DEVMETHOD(pcib_read_config, pci_host_acpi_smccc_read_config), + DEVMETHOD(pcib_write_config, pci_host_acpi_smccc_write_config), + + DEVMETHOD_END +}; + +DEFINE_CLASS_1(pcib, generic_pcie_acpi_smccc_driver, + generic_pcie_acpi_smccc_methods, + sizeof(struct generic_pcie_acpi_softc), generic_pcie_acpi_driver); + +DRIVER_MODULE(pcib_smccc, acpi, generic_pcie_acpi_smccc_driver, 0, 0); From nobody Mon Apr 24 11:34:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4jhR6jBtz46jGf; Mon, 24 Apr 2023 11:34: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 4Q4jhQ5ShXz4TWG; Mon, 24 Apr 2023 11:34:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682336054; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MyLcWjIk9u4F5Sb8Hq317APhy9z1PYqOyfRGe5JUTDQ=; b=Zb59kLIatR4nBROjje39wsN0pPmvaAr2GeviEnknSwxh5dtuXh5ZvfVt/qcx0zubGATtO1 Ub//EPZVUXFkxPKkARzdTAVXRAr/+LyRKPDtzt+WzlMRnDq7kGZgz2z1p9gtTzPifSrExV ibClLUQrueCIHkqExBGbZ24GAfdU3R4YoX9UPY9fBieNVGR0UyJkASIXuHE2mPiL67Rp2e gM9cpzSK3eEmbUD4Zdvjh3ophMcuGm8Rupw/lqn5XbsDVRTMnb0p4LsuWGIHGmbSxzSjTG rG/hKG48c0iIvEGkyC3Sd2ts22eODjh3dO8re25RBfaEw71dseBeRsiNH0f0fQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682336054; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MyLcWjIk9u4F5Sb8Hq317APhy9z1PYqOyfRGe5JUTDQ=; b=gBzrf2e6xR5Fko0h/BbVuKjjv09KSgGe9T1qjhljcX7zJkyecsiHJ1slXPe7B8D3XT8TUq Ca41Iz9O+b1GWsoJXIsSbSNJUEYL4IheFMreJH93W3KodEC2rJA9tGDDZweCXd3dxJigY0 EePp4wNI8dvXcjL4VKBqN80mUKCLlIQtOD4gSDBBPL3BYukJ0SJ/oGELuMm4xVe+t2TWE3 O6tQ5yfoI9yhYoJo5oZK2EW0SE43tCk53CMucyUCX9VQAC6/EQiof0LEJ3MT5p+cDS0703 RUBYYc7HTwAAHh0QpKHMvxrka6d3mZgoTU/o/yQfLIUkL68JLJUL0Qs1hTsCcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682336054; a=rsa-sha256; cv=none; b=SvZET4OUoXU4XHLZSV1iPTFFrI9dHnHSlBsIxapnaqMkb4FYPv+zbbZzxVdmWoj4BPGWM9 p2AoQ8bm6NlF9W21BDYC2xTQGlUTh3f2QYSmMoHYdTrnqRJBcZ70oeY3e1KiNmn4UJ4X+z QHxguONb8NxAOu/AQhlHYA/Molq8XVD25vTyjk7xkHJk7Q44HtoJ53/i4lSir6dYlu3xnQ J7oKGrdhhzLi0pwboAyI2zpGIrsZs3bRde+tdKS8yuaBx1smRa4Ve1c6/bxgV5RPyin/SH EjNo8xl6DAzscLlOVfDHXcdghHPHbIdyqXumHDkucPePiK43YqQp4NGwSJFBhQ== 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 4Q4jhQ2g0bzPGj; Mon, 24 Apr 2023 11:34: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 33OBYENq071168; Mon, 24 Apr 2023 11:34:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBYE1s071167; Mon, 24 Apr 2023 11:34:14 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:34:14 GMT Message-Id: <202304241134.33OBYE1s071167@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: 078a69abcbb8 - main - Use a uint64_t to store the arm64 mpidr List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 078a69abcbb8795f0e91d06ebcaef09236a11ceb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=078a69abcbb8795f0e91d06ebcaef09236a11ceb commit 078a69abcbb8795f0e91d06ebcaef09236a11ceb Author: Andrew Turner AuthorDate: 2023-04-24 10:24:13 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 11:33:50 +0000 Use a uint64_t to store the arm64 mpidr Use a single uint64_t to hole the mpidr register as we can break the KBI on 14. Keep the macro so code can still be MFCd to 13. Sponsored by: Arm Ltd --- sys/arm64/arm64/machdep.c | 3 +-- sys/arm64/arm64/mp_machdep.c | 6 ++---- sys/arm64/include/pcpu.h | 8 +++----- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 4aac339b1a1b..8d2e2f81d1d8 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -315,8 +315,7 @@ cpu_pcpu_init(struct pcpu *pcpu, int cpuid, size_t size) { pcpu->pc_acpi_id = 0xffffffff; - pcpu->pc_mpidr_low = 0xffffffff; - pcpu->pc_mpidr_high = 0xffffffff; + pcpu->pc_mpidr = UINT64_MAX; } void diff --git a/sys/arm64/arm64/mp_machdep.c b/sys/arm64/arm64/mp_machdep.c index 4276b6dcffd2..24dca3b21d54 100644 --- a/sys/arm64/arm64/mp_machdep.c +++ b/sys/arm64/arm64/mp_machdep.c @@ -558,8 +558,7 @@ start_cpu(u_int cpuid, uint64_t target_cpu, int domain, vm_paddr_t release_addr) M_WAITOK | M_ZERO); pmap_disable_promotion((vm_offset_t)pcpup, size); pcpu_init(pcpup, cpuid, sizeof(struct pcpu)); - pcpup->pc_mpidr_low = target_cpu & CPU_AFF_MASK; - pcpup->pc_mpidr_high = (target_cpu & CPU_AFF_MASK) >> 32; + pcpup->pc_mpidr = target_cpu & CPU_AFF_MASK; dpcpu[cpuid - 1] = (void *)(pcpup + 1); dpcpu_init(dpcpu[cpuid - 1], cpuid); @@ -780,8 +779,7 @@ cpu_mp_start(void) /* CPU 0 is always boot CPU. */ CPU_SET(0, &all_cpus); mpidr = READ_SPECIALREG(mpidr_el1) & CPU_AFF_MASK; - cpuid_to_pcpu[0]->pc_mpidr_low = mpidr; - cpuid_to_pcpu[0]->pc_mpidr_high = mpidr >> 32; + cpuid_to_pcpu[0]->pc_mpidr = mpidr; switch(arm64_bus_method) { #ifdef DEV_ACPI diff --git a/sys/arm64/include/pcpu.h b/sys/arm64/include/pcpu.h index 8d60b4ef6356..38a8cd3c3e56 100644 --- a/sys/arm64/include/pcpu.h +++ b/sys/arm64/include/pcpu.h @@ -47,10 +47,9 @@ struct debug_monitor_state; pcpu_ssbd pc_ssbd; \ struct pmap *pc_curpmap; \ struct pmap *pc_curvmpmap; \ - u_int pc_bcast_tlbi_workaround; \ /* Store as two u_int values to preserve KBI */ \ - u_int pc_mpidr_low; /* lower MPIDR 32 bits */ \ - u_int pc_mpidr_high; /* upper MPIDR 32 bits */ \ + uint64_t pc_mpidr; \ + u_int pc_bcast_tlbi_workaround; \ char __pad[197] #ifdef _KERNEL @@ -85,8 +84,7 @@ get_curthread(void) #define PCPU_PTR(member) (&pcpup->pc_ ## member) #define PCPU_SET(member,value) (pcpup->pc_ ## member = (value)) -#define PCPU_GET_MPIDR(pc) \ - ((((uint64_t)((pc)->pc_mpidr_high)) << 32) | ((pc)->pc_mpidr_low)) +#define PCPU_GET_MPIDR(pc) ((pc)->pc_mpidr) #endif /* _KERNEL */ From nobody Mon Apr 24 11:34:15 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4jhV0lR9z46j8q; Mon, 24 Apr 2023 11: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 4Q4jhS2WBpz4TWS; Mon, 24 Apr 2023 11:34:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682336056; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5PmfJpCMCB70V8B3T68+siaq+LEJC4in7nOk/LXAEy8=; b=hM4iwR47S2mhxJMccuq+zDEmR3Henm7V8g4AhdeA7tHgBGC0M1PwExTNeENdAVB1VKC2zy L8ikETA08mb52ztPtRI9m3y9gJcYce9797H4fVVH7AOWcA9tUhGkyXdbh+NmRTKf/5ZZ2W MIYkYr2o+kAuS8SOK2kGyOOzdeYMv7fTT0/W6d6rfytzt0siq8chT+U2biHY3EVp4bBCz8 8M7nBEbKoqFY3GtvTXJp9mU3ZwA8JsJB42YbABLKZCoOLG2T1vhYaFON+/6uG+F8yimZ0z cc94tkeyhtDR546sqkK0TqvJL/2TQt05yP9d5C+6WOStUqlnEjjojbtBp9Xt/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682336057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5PmfJpCMCB70V8B3T68+siaq+LEJC4in7nOk/LXAEy8=; b=RfLrXGDYo6FOcBlfgt4JJHaqfWBj5tLOgM92micop2TnXe/eWuu7BrL4V1WWMT37QfRDb2 KIZHz6yTBYIojereIBJHDyvuLnwJ199IQJpV9vwQcjkQWqKPpFr6cijoCuYjCSzsY8A+Zj jYdjcMCixzauWY2N/9LvcbWqxPhlSnjPCDsc+M6x/pL9Hrgng48Z0WV2uOS9ymsTeibqZ2 gUlVqdV7BfjMkOS2qsnLKjFumKDIMdJGDNNn4XGKE3NcEk5j5jzTOICv53VG4dlj6aq6MX mf38wvDPWiq1xLUfIMGK2spmcoXWSBCbq6vPrDW3ll3dm8xilKWgXor1LBuYkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682336057; a=rsa-sha256; cv=none; b=t2P63bMbJPj6wiznvthTpgJnw3FsMkBQtHCGb3eDAI9LxpJZLg/W3NUMpbwdPJ11pLDQDT 9rb1kO/rxOaeB1R3iyMyiBUS5jzR/yg0+bzg2fYVLsG+uu4I+xOA6wkf2JAsAfko/2DF77 pWZ7dtFVcVQNElPhD3tOMqlMNvl2W55s21PhUIG/UfCt+lDRwQlwabpSzWyPeRHHk/4Iux FyPo8krfwM290xfFjvsYdl7/+56S73wjkZ5b4SgacIkoLs7rMfzo/v6DPA1LSe8IFIaVwu GW1+QZZ8krGofDMX2NlkVT9h4UsfgUiv87FY1iXKH+dTjI+m2QDZ8ZR0WQJLEg== 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 4Q4jhR5HVDzNpp; Mon, 24 Apr 2023 11:34: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 33OBYFjV071188; Mon, 24 Apr 2023 11:34:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBYFkk071187; Mon, 24 Apr 2023 11:34:15 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:34:15 GMT Message-Id: <202304241134.33OBYFkk071187@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: 8bc94f256e17 - main - Remove redundant data from pci host generic List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8bc94f256e171bbd69e828ee587298348af82cdd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=8bc94f256e171bbd69e828ee587298348af82cdd commit 8bc94f256e171bbd69e828ee587298348af82cdd Author: Andrew Turner AuthorDate: 2023-04-24 11:11:29 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 11:33:50 +0000 Remove redundant data from pci host generic The bus tag and handle fields are already stored in the resource. Use this with the bus_read/bus_write helper macros. Sponsored by: Arm Ltd --- sys/arm/broadcom/bcm2835/bcm2838_pci.c | 28 ++++++++-------------------- sys/dev/pci/controller/pci_n1sdp.c | 8 ++++---- sys/dev/pci/pci_host_generic.c | 24 ++++++------------------ sys/dev/pci/pci_host_generic.h | 2 -- 4 files changed, 18 insertions(+), 44 deletions(-) diff --git a/sys/arm/broadcom/bcm2835/bcm2838_pci.c b/sys/arm/broadcom/bcm2835/bcm2838_pci.c index c30eb73fc1b0..c8bcc76bd8a3 100644 --- a/sys/arm/broadcom/bcm2835/bcm2838_pci.c +++ b/sys/arm/broadcom/bcm2835/bcm2838_pci.c @@ -168,16 +168,14 @@ static void bcm_pcib_set_reg(struct bcm_pcib_softc *sc, uint32_t reg, uint32_t val) { - bus_space_write_4(sc->base.base.bst, sc->base.base.bsh, reg, - htole32(val)); + bus_write_4(sc->base.base.res, reg, htole32(val)); } static uint32_t bcm_pcib_read_reg(struct bcm_pcib_softc *sc, uint32_t reg) { - return (le32toh(bus_space_read_4(sc->base.base.bst, sc->base.base.bsh, - reg))); + return (le32toh(bus_read_4(sc->base.base.res, reg))); } static void @@ -318,8 +316,6 @@ bcm_pcib_read_config(device_t dev, u_int bus, u_int slot, u_int func, u_int reg, int bytes) { struct bcm_pcib_softc *sc; - bus_space_handle_t h; - bus_space_tag_t t; bus_addr_t offset; uint32_t data; @@ -330,18 +326,15 @@ bcm_pcib_read_config(device_t dev, u_int bus, u_int slot, u_int func, u_int reg, mtx_lock(&sc->config_mtx); offset = bcm_get_offset_and_prepare_config(sc, bus, slot, func, reg); - t = sc->base.base.bst; - h = sc->base.base.bsh; - switch (bytes) { case 1: - data = bus_space_read_1(t, h, offset); + data = bus_read_1(sc->base.base.res, offset); break; case 2: - data = le16toh(bus_space_read_2(t, h, offset)); + data = le16toh(bus_read_2(sc->base.base.res, offset)); break; case 4: - data = le32toh(bus_space_read_4(t, h, offset)); + data = le32toh(bus_read_4(sc->base.base.res, offset)); break; default: data = ~0U; @@ -357,8 +350,6 @@ bcm_pcib_write_config(device_t dev, u_int bus, u_int slot, u_int func, u_int reg, uint32_t val, int bytes) { struct bcm_pcib_softc *sc; - bus_space_handle_t h; - bus_space_tag_t t; uint32_t offset; sc = device_get_softc(dev); @@ -368,18 +359,15 @@ bcm_pcib_write_config(device_t dev, u_int bus, u_int slot, mtx_lock(&sc->config_mtx); offset = bcm_get_offset_and_prepare_config(sc, bus, slot, func, reg); - t = sc->base.base.bst; - h = sc->base.base.bsh; - switch (bytes) { case 1: - bus_space_write_1(t, h, offset, val); + bus_write_1(sc->base.base.res, offset, val); break; case 2: - bus_space_write_2(t, h, offset, htole16(val)); + bus_write_2(sc->base.base.res, offset, htole16(val)); break; case 4: - bus_space_write_4(t, h, offset, htole32(val)); + bus_write_4(sc->base.base.res, offset, htole32(val)); break; default: break; diff --git a/sys/dev/pci/controller/pci_n1sdp.c b/sys/dev/pci/controller/pci_n1sdp.c index b153ebe4ee4c..9e6ceb572c45 100644 --- a/sys/dev/pci/controller/pci_n1sdp.c +++ b/sys/dev/pci/controller/pci_n1sdp.c @@ -113,8 +113,8 @@ n1sdp_init(struct generic_pcie_n1sdp_softc *sc) shared_data = (struct pcie_discovery_data *)vaddr; paddr_rc = (vm_offset_t)shared_data->rc_base_addr; - error = bus_space_map(sc->acpi.base.bst, paddr_rc, PCI_CFG_SPACE_SIZE, - 0, &sc->n1_bsh); + error = bus_space_map(sc->acpi.base.res->r_bustag, paddr_rc, + PCI_CFG_SPACE_SIZE, 0, &sc->n1_bsh); if (error != 0) goto out_pmap; @@ -245,10 +245,10 @@ n1sdp_get_bus_space(device_t dev, u_int bus, u_int slot, u_int func, u_int reg, return (EINVAL); *bsh = sc->n1_bsh; } else { - *bsh = sc->acpi.base.bsh; + *bsh = rman_get_bushandle(sc->acpi.base.res); } - *bst = sc->acpi.base.bst; + *bst = rman_get_bustag(sc->acpi.base.res); *offset = PCIE_ADDR_OFFSET(bus - sc->acpi.base.bus_start, slot, func, reg); diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c index ca74b0c650c3..7480d02b6b5d 100644 --- a/sys/dev/pci/pci_host_generic.c +++ b/sys/dev/pci/pci_host_generic.c @@ -126,9 +126,6 @@ pci_host_generic_core_attach(device_t dev) } rman_set_mapping(sc->res, &map); #endif - - sc->bst = rman_get_bustag(sc->res); - sc->bsh = rman_get_bushandle(sc->res); } sc->has_pmem = false; @@ -233,8 +230,6 @@ generic_pcie_read_config(device_t dev, u_int bus, u_int slot, u_int func, u_int reg, int bytes) { struct generic_pcie_core_softc *sc; - bus_space_handle_t h; - bus_space_tag_t t; uint64_t offset; uint32_t data; @@ -248,18 +243,16 @@ generic_pcie_read_config(device_t dev, u_int bus, u_int slot, return (~0U); offset = PCIE_ADDR_OFFSET(bus - sc->bus_start, slot, func, reg); - t = sc->bst; - h = sc->bsh; switch (bytes) { case 1: - data = bus_space_read_1(t, h, offset); + data = bus_read_1(sc->res, offset); break; case 2: - data = le16toh(bus_space_read_2(t, h, offset)); + data = le16toh(bus_read_2(sc->res, offset)); break; case 4: - data = le32toh(bus_space_read_4(t, h, offset)); + data = le32toh(bus_read_4(sc->res, offset)); break; default: return (~0U); @@ -273,8 +266,6 @@ generic_pcie_write_config(device_t dev, u_int bus, u_int slot, u_int func, u_int reg, uint32_t val, int bytes) { struct generic_pcie_core_softc *sc; - bus_space_handle_t h; - bus_space_tag_t t; uint64_t offset; sc = device_get_softc(dev); @@ -286,18 +277,15 @@ generic_pcie_write_config(device_t dev, u_int bus, u_int slot, offset = PCIE_ADDR_OFFSET(bus - sc->bus_start, slot, func, reg); - t = sc->bst; - h = sc->bsh; - switch (bytes) { case 1: - bus_space_write_1(t, h, offset, val); + bus_write_1(sc->res, offset, val); break; case 2: - bus_space_write_2(t, h, offset, htole16(val)); + bus_write_2(sc->res, offset, htole16(val)); break; case 4: - bus_space_write_4(t, h, offset, htole32(val)); + bus_write_4(sc->res, offset, htole32(val)); break; default: return; diff --git a/sys/dev/pci/pci_host_generic.h b/sys/dev/pci/pci_host_generic.h index b3242c8bdaf5..f8c321799f08 100644 --- a/sys/dev/pci/pci_host_generic.h +++ b/sys/dev/pci/pci_host_generic.h @@ -80,8 +80,6 @@ struct generic_pcie_core_softc { int bus_start; int bus_end; int ecam; - bus_space_tag_t bst; - bus_space_handle_t bsh; device_t dev; bus_space_handle_t ioh; bus_dma_tag_t dmat; From nobody Mon Apr 24 11:52:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4k544NCSz46kP0; Mon, 24 Apr 2023 11:52: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 4Q4k543vXwz3j8R; Mon, 24 Apr 2023 11:52:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682337128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XsxS/FH81L8yTqGSZBTDHkIwzpG4cp3Vng/+0DdehtU=; b=lEb/ZuMNuxCa1nurefOa43zpv+YGL/b53unvHC26IvN97vo8tWIemjgKnopEYc8FPl9uDO qpdibugsxGsO/N+u7GDDc8eT88CIkzBb0emT9J46EtX1fjh8ZiCkNGLOZiWG8ksO0GlqM8 WK13oqRDgNyV5+sToN4xLggh9d7P/nhEavJt5ZoIBNcZVNPOXsGLGsg560WsGJWKroJcFS AC8PMYaj5oSgeUJnx0jKz0CWbKP1jtYkP0BLMFf0Jmml6PzJ7yfq5aumAyNalHTw7PXxVo 051kTtPmKFuvd069BwjfFNHbwYyXYbewjDjMeTwVTDX5aNhhbs/JSkTYIpIOxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682337128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XsxS/FH81L8yTqGSZBTDHkIwzpG4cp3Vng/+0DdehtU=; b=jN9As7DmdpsXcwuxUQv435IEjhCoyBnDRLrNx4FmnWTGtrzJvqUXjLxWYGLJwVyMffu9+y mKvdK6BXUg7Jx0/zbxQLbsTmPXPiNatAx3y6pdDChTwz/OMi99t+kHhlEvQqcZZ6godetz gqvjPf0pD6Jev7bphiAhLpGKBt4J7AZJOe4zDV+ORvd1WREsv5HDg8PCU2mi/3jV6w5/wu mAYD6t6CnTK1MEyT2y5g9K1cyp9UMnwuZJbvjM8M4cwqMwI98WzrXFSNcH0nQ7HPFjZMUG R/Q854061npPKxY8Ws1oUL9pz02h/GrlkNrkZPFNpyyQaGXS93jWQS/Go0hWJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682337128; a=rsa-sha256; cv=none; b=Lvi6o6FirdL1zLfhA/WFoRF/vwffXQfA9e59RG1M8AP31q+zXZTTPC/rM8uoMcR56O22z3 AKM8KmiKvPSv2UBlDjB18i17qSyI4zdxXYbQKjwFyo3Yk8MOqq9ZdIzeeysjWIJATYpdgl kH/z0NsUvOA56w/9AmpwSMk2UZb0m4bb0XjrugqkSCXYnPvnQ0kfEXwgdBS6j4mLjZOTUU szaaHH65/xDZTLz2N2PCVQBNIRoGAMP+eNCodKHktsWosCUkfL0gAP8j4kVDL3kDFTzWwm A/N9uBbkS1NxRFE6hpxQizW5kMdfn3MFnk2R+2EGjsL9lV7DBygJ86FCGghW4g== 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 4Q4k5430xyzPkP; Mon, 24 Apr 2023 11:52: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 33OBq8kR003147; Mon, 24 Apr 2023 11:52:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBq8ew003146; Mon, 24 Apr 2023 11:52:08 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:52:08 GMT Message-Id: <202304241152.33OBq8ew003146@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: 117beba8a80e - main - arm64: Clean up smmu fdt xref handling List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 117beba8a80e8dc17ba22b43687586964175dda0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=117beba8a80e8dc17ba22b43687586964175dda0 commit 117beba8a80e8dc17ba22b43687586964175dda0 Author: Andrew Turner AuthorDate: 2023-04-24 11:47:31 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 11:47:31 +0000 arm64: Clean up smmu fdt xref handling Use the xref from OF_xref_from_node for the smmu xref. We already have a valid xref ID, there is no need to convert this to a memory address. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39181 --- sys/arm64/iommu/smmu.c | 10 +--------- sys/arm64/iommu/smmu_fdt.c | 4 ++-- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/sys/arm64/iommu/smmu.c b/sys/arm64/iommu/smmu.c index 35c529ef5de6..923b77e2d5b2 100644 --- a/sys/arm64/iommu/smmu.c +++ b/sys/arm64/iommu/smmu.c @@ -1829,22 +1829,14 @@ static int smmu_pci_get_sid_fdt(device_t child, u_int *xref0, u_int *sid0) { struct pci_id_ofw_iommu pi; - uint64_t base, size; - phandle_t node; - u_int xref; int err; err = pci_get_id(child, PCI_ID_OFW_IOMMU, (uintptr_t *)&pi); if (err == 0) { - /* Our xref is memory base address. */ - node = OF_node_from_xref(pi.xref); - fdt_regsize(node, &base, &size); - xref = base; - if (sid0) *sid0 = pi.id; if (xref0) - *xref0 = xref; + *xref0 = pi.xref; } return (err); diff --git a/sys/arm64/iommu/smmu_fdt.c b/sys/arm64/iommu/smmu_fdt.c index b33f30e9166a..a68ceb3d1569 100644 --- a/sys/arm64/iommu/smmu_fdt.c +++ b/sys/arm64/iommu/smmu_fdt.c @@ -168,7 +168,7 @@ smmu_fdt_attach(device_t dev) LIST_INIT(&unit->domain_list); /* Use memory start address as an xref. */ - sc->xref = bus_get_resource_start(dev, SYS_RES_MEMORY, 0); + sc->xref = OF_xref_from_node(node); err = iommu_register(iommu); if (err) { @@ -176,7 +176,7 @@ smmu_fdt_attach(device_t dev) return (ENXIO); } - OF_device_register_xref(OF_xref_from_node(node), dev); + OF_device_register_xref(sc->xref, dev); return (0); From nobody Mon Apr 24 11:52:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4k556nhVz46jyV; Mon, 24 Apr 2023 11:52: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 4Q4k5555nvz3j96; Mon, 24 Apr 2023 11:52:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682337129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H2vV2h2uWG2/BkgK0j5MnCOd2LaezNecPMTjmqNBkKo=; b=ldRUXiiXp5rk6vH0IOcjRExOmAOwdo8eApUI+eaNZCECSQFM1m8gt/i1/B7fquED1TfPlC X9S8Kh4qz9D0Q8IQuIfoqZJz0uLFJtG0QGuM03Q0Ft+ASjNDT7Yhw96Hq1IIlbNvCEQlwN 0syQGwt/h/OQzr00s7ZPE8DymJdSIeNf84Zf6SFboL4BUg8ISoRuiPmTSYdJNq/6jKrDqE yOTvEGf9hx48bCcgqO/r+gm9McSj/EMj+C76ncgSZWdkHG4L8cTBW/xlW2KIqQtI7Th0XP m2rW/iXyJWBl0ZiwvBsvOG5RUtQ3wYSNbzJpB5Xg/7dA2cgv8ovG/M27hxyMOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682337129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H2vV2h2uWG2/BkgK0j5MnCOd2LaezNecPMTjmqNBkKo=; b=I86oQsd1xfek1S38orJAIfMQxSjis4pRd0Uchdbd05PnywR2GeApElQxGLnGXCXhJpHMyM L7uhX1fopQ9A4/lmR8ZjITZHOIN3o87FrPtJEPW2KENyBPIH0hAwfc2nhZUG8mrx9BIFrI PU8Ncb64j40pYlPUp4lOmYCf1BU+PZ9SihCzLjYxv3s8iMY2K58GKo4gncy40VuTgZmq8C VmuZfwTTGmvPL9N9h954dW15zfdSYjdulQUZALJVdSkzaIN95VM5BVRi9jwJBE1TF/8tSa bvEWUdm7vapiO/jcnT3F6wSBc3BGAIu8N9p35BJEAADf+yJWu8DcjdNMdOrkOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682337129; a=rsa-sha256; cv=none; b=xGTDoU4JTbcJkSJmPccAn+T/bGOlYXSh0ksWyaXz8fpWlgzxb4ltrPpo3LCfiH4WEiDhb5 8CZlgp+k1Q2qkjNh9wtvRQyAyIzfxagSDjdHoD5Hec4BIGIBbkRcHaoOOfuTWHbGvt3lLn /8AANCzM37dpbN+r8o4ZwI2fKO/Tk2BXrVgxtaMime1mmiwaEjedeLrceZthWhDU+zRwV9 vI3Aueb1GwGnSQqslsdMPkNHCMxWGpPdHHWclzUQaVf+Y3c6ZusIHBB5Zj5lO327NYTc7o SWwPZv0aaevR0vDQPG2c6b7E55fyKnv+JJU4De9yKQG0MIZLf4k5VWeeZGdNrw== 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 4Q4k553xRNzPd3; Mon, 24 Apr 2023 11:52: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 33OBq9k0003166; Mon, 24 Apr 2023 11:52:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBq9ho003165; Mon, 24 Apr 2023 11:52:09 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:52:09 GMT Message-Id: <202304241152.33OBq9ho003165@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: 913d04deedda - main - Add PCI_ID_OFW_IOMMU to the pci ecam ACPI driver List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 913d04deeddaeb3b2e4545657d688404835b2e1a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=913d04deeddaeb3b2e4545657d688404835b2e1a commit 913d04deeddaeb3b2e4545657d688404835b2e1a Author: Andrew Turner AuthorDate: 2023-04-24 11:47:38 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 11:47:38 +0000 Add PCI_ID_OFW_IOMMU to the pci ecam ACPI driver Teach the pci host generic ACPI attachment about PCI_ID_OFW_IOMMU. This will be used by the arm64 smmu IOMMU driver to read the xref and ID this interface provides in a bus-agnostic way. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39182 --- sys/dev/pci/pci_host_generic_acpi.c | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/sys/dev/pci/pci_host_generic_acpi.c b/sys/dev/pci/pci_host_generic_acpi.c index 8ef97a3ae1ae..0ac3e7d16a5d 100644 --- a/sys/dev/pci/pci_host_generic_acpi.c +++ b/sys/dev/pci/pci_host_generic_acpi.c @@ -412,6 +412,31 @@ generic_pcie_map_id(device_t pci, device_t child, uintptr_t *id) return (0); } +static int +generic_pcie_get_iommu(device_t pci, device_t child, uintptr_t *id) +{ + struct generic_pcie_acpi_softc *sc; + struct pci_id_ofw_iommu *iommu; + u_int iommu_sid, iommu_xref; + uintptr_t rid; + int err; + + iommu = (struct pci_id_ofw_iommu *)id; + + sc = device_get_softc(pci); + err = pcib_get_id(pci, child, PCI_ID_RID, &rid); + if (err != 0) + return (err); + err = acpi_iort_map_pci_smmuv3(sc->base.ecam, rid, &iommu_xref, + &iommu_sid); + if (err == 0) { + iommu->id = iommu_sid; + iommu->xref = iommu_xref; + } + + return (err); +} + static int generic_pcie_acpi_alloc_msi(device_t pci, device_t child, int count, int maxcount, int *irqs) @@ -479,11 +504,13 @@ static int generic_pcie_acpi_get_id(device_t pci, device_t child, enum pci_id_type type, uintptr_t *id) { + if (type == PCI_ID_OFW_IOMMU) + return (generic_pcie_get_iommu(pci, child, id)); if (type == PCI_ID_MSI) return (generic_pcie_map_id(pci, child, id)); - else - return (pcib_get_id(pci, child, type, id)); + + return (pcib_get_id(pci, child, type, id)); } static device_method_t generic_pcie_acpi_methods[] = { From nobody Mon Apr 24 11:52:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4k575qcSz46kP4; Mon, 24 Apr 2023 11:52: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 4Q4k5666CDz3jHX; Mon, 24 Apr 2023 11:52:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682337131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fESWXKZEAVuUMNSA+Np+xA/uyY23Pe+Z8tTvWa2YJkk=; b=vPJPbUVbskFVEqy/tR6mifXZsJ4ikhqyIiWu4PM+mHt/C9GiegCFaG8MgW64IwP7S51Aqa W9iuJTA0RuYifmnkxMZVMEwCmreHQwfPSEMVxDg9Cs8iGVOWZFKIcf9WFvrV0DYPWklmpn TcAc1eI/kpY7H8fE+UdUqF4+xn0zKTH3hQBms9nacfETGJVris9cQ0Rk2awQlJovHkcgCD Mx6WjK0JPpBYx6Nk0deK9PfPZOuzQaqqfvA/FUrGypA3qFoC6b8yMwzh4qIxD0VI2z+ib+ tZssz/3ICsObUdTOHNPE5/8iJGFGda1xsLqoIGsA/h5Qq4KAoKZBPGnri1zsZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682337131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fESWXKZEAVuUMNSA+Np+xA/uyY23Pe+Z8tTvWa2YJkk=; b=CTfXeI+1QF8B9z754ijVYnJJwf4zeyliBObXfgM6E+zqvHpHoPPmmuUeU7z74/gw0+R4sh Sf1ACB+kHeDLmxfzTHv8zm8Y4LFre2v/8ISMXEdSUO2+t0LIRh/RP/49JovGA6KoXePb9m QmbxCn3I2xh3xHvvTBDK4lv/JFKqUkwAXzsokHkPqvx6ftEvsYJ6LYN9+TnMMUzf8IProQ JgbC7m/5FFTQy+ZJXoL0IgBare2FH9ee8/ZzlxgOEWGi/Zl5wD8fOotd8JqrSirUSqkwig DPw+juvjlVU99itMb1jfvj4Kd9P+TzjT5GRJKUmSvE+wTWF/EkHr5fdZMWndjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682337131; a=rsa-sha256; cv=none; b=unzEhcODA6DSptocsFGl2O3ZHDxNjdela/a6FIdGITmkpEAapQoeIjiYSbay1vRL2b2EEX K2oc/E3uiApJpxa47hzX90vcpr83pvnO3BzuCxdRBWo5kOxKGdXi5Z1LfUPJsKp5iilQOW zlEGFU7mwjqnRS0pM+SbHGYZRSpPT2hK/Gg9eQSn5xiG54o8wW1cVxfn7ANJguRQneRyye yX8RSmK56njYK68vMFOVScJx6IoWvcVzFFoh73Q5rFUDmHP0NQPT48YxgQHfgJTNlpN/Ky +OpgR/XekC7mhv8hWtamxymKrEG+NubLdJMRYF7wfGwht6rtanmtruzUtPDNsw== 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 4Q4k564t2SzP5g; Mon, 24 Apr 2023 11:52: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 33OBqAn6003189; Mon, 24 Apr 2023 11:52:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBqAE6003188; Mon, 24 Apr 2023 11:52:10 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:52:10 GMT Message-Id: <202304241152.33OBqAE6003188@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: 49ee1a7ef0b1 - main - Create a common function to get the SMMU sid List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 49ee1a7ef0b164ce70408651621a0195c7c6930f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=49ee1a7ef0b164ce70408651621a0195c7c6930f commit 49ee1a7ef0b164ce70408651621a0195c7c6930f Author: Andrew Turner AuthorDate: 2023-04-24 11:47:44 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 11:47:44 +0000 Create a common function to get the SMMU sid Now the PCI drivers have a common interface to read the IOMMU xref and SID create a common function to read it. This fixes an issue where we will call into an ACPI specific function when booting with FDT when both are enabled. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39183 --- sys/arm64/iommu/smmu.c | 41 +++-------------------------------------- 1 file changed, 3 insertions(+), 38 deletions(-) diff --git a/sys/arm64/iommu/smmu.c b/sys/arm64/iommu/smmu.c index 923b77e2d5b2..9a9d7a4f6c2f 100644 --- a/sys/arm64/iommu/smmu.c +++ b/sys/arm64/iommu/smmu.c @@ -1799,34 +1799,8 @@ smmu_set_buswide(device_t dev, struct smmu_domain *domain, return (0); } -#ifdef DEV_ACPI static int -smmu_pci_get_sid_acpi(device_t child, u_int *xref0, u_int *sid0) -{ - uint16_t rid; - u_int xref; - int seg; - int err; - int sid; - - seg = pci_get_domain(child); - rid = pci_get_rid(child); - - err = acpi_iort_map_pci_smmuv3(seg, rid, &xref, &sid); - if (err == 0) { - if (sid0) - *sid0 = sid; - if (xref0) - *xref0 = xref; - } - - return (err); -} -#endif - -#ifdef FDT -static int -smmu_pci_get_sid_fdt(device_t child, u_int *xref0, u_int *sid0) +smmu_pci_get_sid(device_t child, u_int *xref0, u_int *sid0) { struct pci_id_ofw_iommu pi; int err; @@ -1841,7 +1815,6 @@ smmu_pci_get_sid_fdt(device_t child, u_int *xref0, u_int *sid0) return (err); } -#endif static struct iommu_ctx * smmu_ctx_alloc(device_t dev, struct iommu_domain *iodom, device_t child, @@ -1885,11 +1858,7 @@ smmu_ctx_init(device_t dev, struct iommu_ctx *ioctx) pci_class = devclass_find("pci"); if (device_get_devclass(device_get_parent(ctx->dev)) == pci_class) { -#ifdef DEV_ACPI - err = smmu_pci_get_sid_acpi(ctx->dev, NULL, &sid); -#else - err = smmu_pci_get_sid_fdt(ctx->dev, NULL, &sid); -#endif + err = smmu_pci_get_sid(ctx->dev, NULL, &sid); if (err) return (err); @@ -2000,11 +1969,7 @@ smmu_find(device_t dev, device_t child) sc = device_get_softc(dev); -#ifdef DEV_ACPI - err = smmu_pci_get_sid_acpi(child, &xref, NULL); -#else - err = smmu_pci_get_sid_fdt(child, &xref, NULL); -#endif + err = smmu_pci_get_sid(child, &xref, NULL); if (err) return (ENOENT); From nobody Mon Apr 24 11:52:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4k584nJHz46k2N; Mon, 24 Apr 2023 11:52: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 4Q4k576Q9Wz3jHq; Mon, 24 Apr 2023 11:52:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682337131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mk/pC/FM+hxZq1EmIS6teHmoUbmwuoDP3EZS9J2Sz1M=; b=O+ZlNrQTPUZIoY+x15e+nedHBWLCIhnCdsIzwa7thC3xGkXaK9nRcJAx+yxrleEiUSNTtO aUe4/L76dEPvfA3vo/9JeHvLJ/QDirhlYt7WlkjwncKav/EvF7wbEOGKN9cpYu26Tde5PH e4bZORaHr2PPcOdrUKnSNe1cbii3RLqjYq8hrqGtG+ycc154/vifWtT747dT3jqowJbivy GdYKt+kJJaeknjCgwpTXpjFUAczs6j71w2reeCnl10WP9HOkspR0kTExPaDJ+rg004/JL9 LC9BuVZSq2NxcGyBlBuqMWCgtGonwAfbYsfMLhtEHuAEH1J9KyDbrrTlXiBk6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682337131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mk/pC/FM+hxZq1EmIS6teHmoUbmwuoDP3EZS9J2Sz1M=; b=f/aKGithXzXawG/6m4R+kQRXnowSNuAl95ncUfjLwTyNig72bWIPFxR3pSw87uu7GBvcOL aDVXzoyJxk/3HwpOy4gZssxyrk5m9/xSFIlZrvcCxznDy5cL0is2zpoI2deL0s4t1uGB8v 3E3iqBpbxTekyaD65DpDuDh6TBmwNJZVgISis5rAZxzT/gF4b+rR+DWNrfTadNk35E8suD f44sJ1/Mb/ycuFM35TWEEIDhzysZvzpgvZmGeFL5p3nq9yKRSMYh/JVg7jhTkHzXjt4eAI gWIUGP+tLI1g07Fx/tIxQ+q0/fr2/o+ylgclyYUez7CUCKJFQYuKRwWjb0fKGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682337131; a=rsa-sha256; cv=none; b=WOjQF01BgQrqoy0sLyo4J17QVWsBIuPE93Glim7NtxHSAy6wOM3z32tv+FrQcoy6V+Qh9T aNo2mftp9QuauBK0A6/RNa32FkyhE4bsfHeKJUg8IkHZk3i/rUs4L6H2UoKG++V6KZ5jAc py/r6nBFLYFEL5jLveQBo/vJvodojXZw3MQnpSNKsxQhqnfcVObjt7/YhHqjXgUjAO2pZv 2YHb6Y65AoTYpS0rIRksEUeUbBfGO2dx136fPRg1YBSQ7K2aIw9rhviu7rYgVlQmKEFh0j vlDuQEmmFVaZTHgaogoQTeTGH2NMWGl1tLYKQVKmiyRkxGe3EDanWrhX8myy6w== 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 4Q4k575VlHzPKn; Mon, 24 Apr 2023 11:52: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 33OBqBh2003215; Mon, 24 Apr 2023 11:52:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBqBZO003214; Mon, 24 Apr 2023 11:52:11 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:52:11 GMT Message-Id: <202304241152.33OBqBZO003214@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: b97e94d91ed8 - main - Move to a SMMU specific struct for the smmu pmap List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b97e94d91ed8489a90b7567861ca67e17730a103 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=b97e94d91ed8489a90b7567861ca67e17730a103 commit b97e94d91ed8489a90b7567861ca67e17730a103 Author: Andrew Turner AuthorDate: 2023-04-24 11:47:50 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 11:47:50 +0000 Move to a SMMU specific struct for the smmu pmap This is not managed through the VM subsystem so only needs to hold the data the SMMU driver needs. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39184 --- sys/arm64/iommu/iommu_pmap.c | 131 +++++++++++++++++++++++-------------------- sys/arm64/iommu/iommu_pmap.h | 25 ++++++--- sys/arm64/iommu/smmu.c | 7 +-- sys/arm64/iommu/smmuvar.h | 4 +- 4 files changed, 94 insertions(+), 73 deletions(-) diff --git a/sys/arm64/iommu/iommu_pmap.c b/sys/arm64/iommu/iommu_pmap.c index 6319d97ff763..c681f7827394 100644 --- a/sys/arm64/iommu/iommu_pmap.c +++ b/sys/arm64/iommu/iommu_pmap.c @@ -62,6 +62,11 @@ __FBSDID("$FreeBSD$"); #define IOMMU_PAGE_SIZE 4096 +#define SMMU_PMAP_LOCK(pmap) mtx_lock(&(pmap)->sp_mtx) +#define SMMU_PMAP_UNLOCK(pmap) mtx_unlock(&(pmap)->sp_mtx) +#define SMMU_PMAP_LOCK_ASSERT(pmap, type) \ + mtx_assert(&(pmap)->sp_mtx, (type)) + #define NL0PG (IOMMU_PAGE_SIZE/(sizeof (pd_entry_t))) #define NL1PG (IOMMU_PAGE_SIZE/(sizeof (pd_entry_t))) #define NL2PG (IOMMU_PAGE_SIZE/(sizeof (pd_entry_t))) @@ -80,9 +85,9 @@ __FBSDID("$FreeBSD$"); #define smmu_l2_index(va) (((va) >> IOMMU_L2_SHIFT) & IOMMU_Ln_ADDR_MASK) #define smmu_l3_index(va) (((va) >> IOMMU_L3_SHIFT) & IOMMU_Ln_ADDR_MASK) -static vm_page_t _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex); -static void _smmu_pmap_unwire_l3(pmap_t pmap, vm_offset_t va, vm_page_t m, - struct spglist *free); +static vm_page_t _pmap_alloc_l3(struct smmu_pmap *pmap, vm_pindex_t ptepindex); +static void _smmu_pmap_unwire_l3(struct smmu_pmap *pmap, vm_offset_t va, + vm_page_t m, struct spglist *free); /* * These load the old table data and store the new value. @@ -98,10 +103,10 @@ static void _smmu_pmap_unwire_l3(pmap_t pmap, vm_offset_t va, vm_page_t m, /********************/ static __inline pd_entry_t * -smmu_pmap_l0(pmap_t pmap, vm_offset_t va) +smmu_pmap_l0(struct smmu_pmap *pmap, vm_offset_t va) { - return (&pmap->pm_l0[smmu_l0_index(va)]); + return (&pmap->sp_l0[smmu_l0_index(va)]); } static __inline pd_entry_t * @@ -114,7 +119,7 @@ smmu_pmap_l0_to_l1(pd_entry_t *l0, vm_offset_t va) } static __inline pd_entry_t * -smmu_pmap_l1(pmap_t pmap, vm_offset_t va) +smmu_pmap_l1(struct smmu_pmap *pmap, vm_offset_t va) { pd_entry_t *l0; @@ -145,7 +150,7 @@ smmu_pmap_l1_to_l2(pd_entry_t *l1p, vm_offset_t va) } static __inline pd_entry_t * -smmu_pmap_l2(pmap_t pmap, vm_offset_t va) +smmu_pmap_l2(struct smmu_pmap *pmap, vm_offset_t va) { pd_entry_t *l1; @@ -181,7 +186,7 @@ smmu_pmap_l2_to_l3(pd_entry_t *l2p, vm_offset_t va) * The next level may or may not point to a valid page or block. */ static __inline pd_entry_t * -smmu_pmap_pde(pmap_t pmap, vm_offset_t va, int *level) +smmu_pmap_pde(struct smmu_pmap *pmap, vm_offset_t va, int *level) { pd_entry_t *l0, *l1, *l2, desc; @@ -216,7 +221,7 @@ smmu_pmap_pde(pmap_t pmap, vm_offset_t va, int *level) * the first invalid level. */ static __inline pt_entry_t * -smmu_pmap_pte(pmap_t pmap, vm_offset_t va, int *level) +smmu_pmap_pte(struct smmu_pmap *pmap, vm_offset_t va, int *level) { pd_entry_t *l1, *l2, desc; pt_entry_t *l3; @@ -266,25 +271,37 @@ smmu_pmap_l3_valid(pt_entry_t l3) CTASSERT(IOMMU_L1_BLOCK == IOMMU_L2_BLOCK); +#ifdef INVARIANTS static __inline void -smmu_pmap_resident_count_inc(pmap_t pmap, int count) +smmu_pmap_resident_count_inc(struct smmu_pmap *pmap, int count) { - PMAP_LOCK_ASSERT(pmap, MA_OWNED); - pmap->pm_stats.resident_count += count; + SMMU_PMAP_LOCK_ASSERT(pmap, MA_OWNED); + pmap->sp_resident_count += count; } static __inline void -smmu_pmap_resident_count_dec(pmap_t pmap, int count) +smmu_pmap_resident_count_dec(struct smmu_pmap *pmap, int count) { - PMAP_LOCK_ASSERT(pmap, MA_OWNED); - KASSERT(pmap->pm_stats.resident_count >= count, + SMMU_PMAP_LOCK_ASSERT(pmap, MA_OWNED); + KASSERT(pmap->sp_resident_count >= count, ("pmap %p resident count underflow %ld %d", pmap, - pmap->pm_stats.resident_count, count)); - pmap->pm_stats.resident_count -= count; + pmap->sp_resident_count, count)); + pmap->sp_resident_count -= count; +} +#else +static __inline void +smmu_pmap_resident_count_inc(struct smmu_pmap *pmap, int count) +{ } +static __inline void +smmu_pmap_resident_count_dec(struct smmu_pmap *pmap, int count) +{ +} +#endif + /*************************************************** * Page table page management routines..... ***************************************************/ @@ -316,7 +333,7 @@ smmu_pmap_add_delayed_free_list(vm_page_t m, struct spglist *free, * page table page was unmapped and FALSE otherwise. */ static inline boolean_t -smmu_pmap_unwire_l3(pmap_t pmap, vm_offset_t va, vm_page_t m, +smmu_pmap_unwire_l3(struct smmu_pmap *pmap, vm_offset_t va, vm_page_t m, struct spglist *free) { @@ -329,11 +346,11 @@ smmu_pmap_unwire_l3(pmap_t pmap, vm_offset_t va, vm_page_t m, } static void -_smmu_pmap_unwire_l3(pmap_t pmap, vm_offset_t va, vm_page_t m, +_smmu_pmap_unwire_l3(struct smmu_pmap *pmap, vm_offset_t va, vm_page_t m, struct spglist *free) { - PMAP_LOCK_ASSERT(pmap, MA_OWNED); + SMMU_PMAP_LOCK_ASSERT(pmap, MA_OWNED); /* * unmap the page table page */ @@ -385,7 +402,7 @@ _smmu_pmap_unwire_l3(pmap_t pmap, vm_offset_t va, vm_page_t m, } int -smmu_pmap_pinit(pmap_t pmap) +smmu_pmap_pinit(struct smmu_pmap *pmap) { vm_page_t m; @@ -394,14 +411,11 @@ smmu_pmap_pinit(pmap_t pmap) */ m = vm_page_alloc_noobj(VM_ALLOC_WAITOK | VM_ALLOC_WIRED | VM_ALLOC_ZERO); - pmap->pm_l0_paddr = VM_PAGE_TO_PHYS(m); - pmap->pm_l0 = (pd_entry_t *)PHYS_TO_DMAP(pmap->pm_l0_paddr); - - vm_radix_init(&pmap->pm_root); - bzero(&pmap->pm_stats, sizeof(pmap->pm_stats)); + pmap->sp_l0_paddr = VM_PAGE_TO_PHYS(m); + pmap->sp_l0 = (pd_entry_t *)PHYS_TO_DMAP(pmap->sp_l0_paddr); - pmap->pm_levels = 4; - pmap->pm_ttbr = VM_PAGE_TO_PHYS(m); + pmap->sp_resident_count = 0; + mtx_init(&pmap->sp_mtx, "smmu pmap", NULL, MTX_DEF); return (1); } @@ -418,11 +432,11 @@ smmu_pmap_pinit(pmap_t pmap) * race conditions. */ static vm_page_t -_pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex) +_pmap_alloc_l3(struct smmu_pmap *pmap, vm_pindex_t ptepindex) { vm_page_t m, l1pg, l2pg; - PMAP_LOCK_ASSERT(pmap, MA_OWNED); + SMMU_PMAP_LOCK_ASSERT(pmap, MA_OWNED); /* * Allocate a page table page. @@ -456,7 +470,7 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex) vm_pindex_t l0index; l0index = ptepindex - (NUL2E + NUL1E); - l0 = &pmap->pm_l0[l0index]; + l0 = &pmap->sp_l0[l0index]; smmu_pmap_store(l0, VM_PAGE_TO_PHYS(m) | IOMMU_L0_TABLE); } else if (ptepindex >= NUL2E) { vm_pindex_t l0index, l1index; @@ -466,7 +480,7 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex) l1index = ptepindex - NUL2E; l0index = l1index >> IOMMU_L0_ENTRIES_SHIFT; - l0 = &pmap->pm_l0[l0index]; + l0 = &pmap->sp_l0[l0index]; tl0 = smmu_pmap_load(l0); if (tl0 == 0) { /* recurse for allocating page dir */ @@ -492,7 +506,7 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex) l1index = ptepindex >> Ln_ENTRIES_SHIFT; l0index = l1index >> IOMMU_L0_ENTRIES_SHIFT; - l0 = &pmap->pm_l0[l0index]; + l0 = &pmap->sp_l0[l0index]; tl0 = smmu_pmap_load(l0); if (tl0 == 0) { /* recurse for allocating page dir */ @@ -542,19 +556,18 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex) * Should only be called if the map contains no valid mappings. */ void -smmu_pmap_release(pmap_t pmap) +smmu_pmap_release(struct smmu_pmap *pmap) { vm_page_t m; - KASSERT(pmap->pm_stats.resident_count == 0, + KASSERT(pmap->sp_resident_count == 0, ("pmap_release: pmap resident count %ld != 0", - pmap->pm_stats.resident_count)); - KASSERT(vm_radix_is_empty(&pmap->pm_root), - ("pmap_release: pmap has reserved page table page(s)")); + pmap->sp_resident_count)); - m = PHYS_TO_VM_PAGE(pmap->pm_l0_paddr); + m = PHYS_TO_VM_PAGE(pmap->sp_l0_paddr); vm_page_unwire_noq(m); vm_page_free_zero(m); + mtx_destroy(&pmap->sp_mtx); } /*************************************************** @@ -565,7 +578,7 @@ smmu_pmap_release(pmap_t pmap) * Add a single Mali GPU entry. This function does not sleep. */ int -pmap_gpu_enter(pmap_t pmap, vm_offset_t va, vm_paddr_t pa, +pmap_gpu_enter(struct smmu_pmap *pmap, vm_offset_t va, vm_paddr_t pa, vm_prot_t prot, u_int flags) { pd_entry_t *pde; @@ -578,7 +591,6 @@ pmap_gpu_enter(pmap_t pmap, vm_offset_t va, vm_paddr_t pa, int lvl; int rv; - KASSERT(pmap != kernel_pmap, ("kernel pmap used for GPU")); KASSERT(va < VM_MAXUSER_ADDRESS, ("wrong address space")); KASSERT((va & PAGE_MASK) == 0, ("va is misaligned")); KASSERT((pa & PAGE_MASK) == 0, ("pa is misaligned")); @@ -594,7 +606,7 @@ pmap_gpu_enter(pmap_t pmap, vm_offset_t va, vm_paddr_t pa, CTR2(KTR_PMAP, "pmap_gpu_enter: %.16lx -> %.16lx", va, pa); - PMAP_LOCK(pmap); + SMMU_PMAP_LOCK(pmap); /* * In the case that a page table page is not @@ -639,7 +651,7 @@ retry: rv = KERN_SUCCESS; out: - PMAP_UNLOCK(pmap); + SMMU_PMAP_UNLOCK(pmap); return (rv); } @@ -648,7 +660,7 @@ out: * Remove a single Mali GPU entry. */ int -pmap_gpu_remove(pmap_t pmap, vm_offset_t va) +pmap_gpu_remove(struct smmu_pmap *pmap, vm_offset_t va) { pd_entry_t *pde; pt_entry_t *pte; @@ -656,9 +668,8 @@ pmap_gpu_remove(pmap_t pmap, vm_offset_t va) int rc; KASSERT((va & PAGE_MASK) == 0, ("va is misaligned")); - KASSERT(pmap != kernel_pmap, ("kernel pmap used for GPU")); - PMAP_LOCK(pmap); + SMMU_PMAP_LOCK(pmap); pde = smmu_pmap_pde(pmap, va, &lvl); if (pde == NULL || lvl != 2) { @@ -674,7 +685,7 @@ pmap_gpu_remove(pmap_t pmap, vm_offset_t va) rc = KERN_SUCCESS; out: - PMAP_UNLOCK(pmap); + SMMU_PMAP_UNLOCK(pmap); return (rc); } @@ -683,7 +694,7 @@ out: * Add a single SMMU entry. This function does not sleep. */ int -smmu_pmap_enter(pmap_t pmap, vm_offset_t va, vm_paddr_t pa, +smmu_pmap_enter(struct smmu_pmap *pmap, vm_offset_t va, vm_paddr_t pa, vm_prot_t prot, u_int flags) { pd_entry_t *pde; @@ -707,7 +718,7 @@ smmu_pmap_enter(pmap_t pmap, vm_offset_t va, vm_paddr_t pa, CTR2(KTR_PMAP, "pmap_senter: %.16lx -> %.16lx", va, pa); - PMAP_LOCK(pmap); + SMMU_PMAP_LOCK(pmap); /* * In the case that a page table page is not @@ -737,7 +748,7 @@ retry: rv = KERN_SUCCESS; out: - PMAP_UNLOCK(pmap); + SMMU_PMAP_UNLOCK(pmap); return (rv); } @@ -746,13 +757,13 @@ out: * Remove a single SMMU entry. */ int -smmu_pmap_remove(pmap_t pmap, vm_offset_t va) +smmu_pmap_remove(struct smmu_pmap *pmap, vm_offset_t va) { pt_entry_t *pte; int lvl; int rc; - PMAP_LOCK(pmap); + SMMU_PMAP_LOCK(pmap); pte = smmu_pmap_pte(pmap, va, &lvl); KASSERT(lvl == 3, @@ -765,7 +776,7 @@ smmu_pmap_remove(pmap_t pmap, vm_offset_t va) } else rc = KERN_FAILURE; - PMAP_UNLOCK(pmap); + SMMU_PMAP_UNLOCK(pmap); return (rc); } @@ -776,7 +787,7 @@ smmu_pmap_remove(pmap_t pmap, vm_offset_t va) * this function panics. */ void -smmu_pmap_remove_pages(pmap_t pmap) +smmu_pmap_remove_pages(struct smmu_pmap *pmap) { pd_entry_t l0e, *l1, l1e, *l2, l2e; pt_entry_t *l3, l3e; @@ -787,11 +798,11 @@ smmu_pmap_remove_pages(pmap_t pmap) vm_paddr_t pa1; int i, j, k, l; - PMAP_LOCK(pmap); + SMMU_PMAP_LOCK(pmap); for (sva = VM_MINUSER_ADDRESS, i = smmu_l0_index(sva); (i < Ln_ENTRIES && sva < VM_MAXUSER_ADDRESS); i++) { - l0e = pmap->pm_l0[i]; + l0e = pmap->sp_l0[i]; if ((l0e & ATTR_DESCR_VALID) == 0) { sva += IOMMU_L0_SIZE; continue; @@ -848,11 +859,11 @@ smmu_pmap_remove_pages(pmap_t pmap) smmu_pmap_resident_count_dec(pmap, 1); vm_page_free(m0); - smmu_pmap_clear(&pmap->pm_l0[i]); + smmu_pmap_clear(&pmap->sp_l0[i]); } - KASSERT(pmap->pm_stats.resident_count == 0, - ("Invalid resident count %jd", pmap->pm_stats.resident_count)); + KASSERT(pmap->sp_resident_count == 0, + ("Invalid resident count %jd", pmap->sp_resident_count)); - PMAP_UNLOCK(pmap); + SMMU_PMAP_UNLOCK(pmap); } diff --git a/sys/arm64/iommu/iommu_pmap.h b/sys/arm64/iommu/iommu_pmap.h index 1b7027337242..e09c84c89ae9 100644 --- a/sys/arm64/iommu/iommu_pmap.h +++ b/sys/arm64/iommu/iommu_pmap.h @@ -33,19 +33,28 @@ #ifndef _ARM64_IOMMU_IOMMU_PMAP_H_ #define _ARM64_IOMMU_IOMMU_PMAP_H_ +struct smmu_pmap { + struct mtx sp_mtx; + vm_paddr_t sp_l0_paddr; + pd_entry_t *sp_l0; +#ifdef INVARIANTS + long sp_resident_count; +#endif +}; + /* System MMU (SMMU). */ -int smmu_pmap_enter(pmap_t pmap, vm_offset_t va, vm_paddr_t pa, vm_prot_t prot, - u_int flags); -int smmu_pmap_remove(pmap_t pmap, vm_offset_t va); +int smmu_pmap_enter(struct smmu_pmap *pmap, vm_offset_t va, vm_paddr_t pa, + vm_prot_t prot, u_int flags); +int smmu_pmap_remove(struct smmu_pmap *pmap, vm_offset_t va); /* Mali GPU */ -int pmap_gpu_enter(pmap_t pmap, vm_offset_t va, vm_paddr_t pa, +int pmap_gpu_enter(struct smmu_pmap *pmap, vm_offset_t va, vm_paddr_t pa, vm_prot_t prot, u_int flags); -int pmap_gpu_remove(pmap_t pmap, vm_offset_t va); +int pmap_gpu_remove(struct smmu_pmap *pmap, vm_offset_t va); /* Common */ -void smmu_pmap_remove_pages(pmap_t pmap); -void smmu_pmap_release(pmap_t pmap); -int smmu_pmap_pinit(pmap_t); +void smmu_pmap_remove_pages(struct smmu_pmap *pmap); +void smmu_pmap_release(struct smmu_pmap *pmap); +int smmu_pmap_pinit(struct smmu_pmap *pmap); #endif /* !_ARM64_IOMMU_IOMMU_PMAP_H_ */ diff --git a/sys/arm64/iommu/smmu.c b/sys/arm64/iommu/smmu.c index 9a9d7a4f6c2f..bd9889ede2d0 100644 --- a/sys/arm64/iommu/smmu.c +++ b/sys/arm64/iommu/smmu.c @@ -840,7 +840,7 @@ smmu_init_cd(struct smmu_softc *sc, struct smmu_domain *domain) uint64_t val; vm_size_t size; struct smmu_cd *cd; - pmap_t p; + struct smmu_pmap *p; size = 1 * (CD_DWORDS << 3); @@ -875,8 +875,8 @@ smmu_init_cd(struct smmu_softc *sc, struct smmu_domain *domain) val |= ((64 - sc->ias) << CD0_T0SZ_S); val |= CD0_IPS_48BITS; - paddr = p->pm_l0_paddr & CD1_TTB0_M; - KASSERT(paddr == p->pm_l0_paddr, ("bad allocation 1")); + paddr = p->sp_l0_paddr & CD1_TTB0_M; + KASSERT(paddr == p->sp_l0_paddr, ("bad allocation 1")); ptr[1] = paddr; ptr[2] = 0; @@ -1729,7 +1729,6 @@ smmu_domain_alloc(device_t dev, struct iommu_unit *iommu) domain->asid = (uint16_t)new_asid; smmu_pmap_pinit(&domain->p); - PMAP_LOCK_INIT(&domain->p); error = smmu_init_cd(sc, domain); if (error) { diff --git a/sys/arm64/iommu/smmuvar.h b/sys/arm64/iommu/smmuvar.h index 76d4f238002d..e12f311ed0f4 100644 --- a/sys/arm64/iommu/smmuvar.h +++ b/sys/arm64/iommu/smmuvar.h @@ -35,6 +35,8 @@ #ifndef _ARM64_IOMMU_SMMUVAR_H_ #define _ARM64_IOMMU_SMMUVAR_H_ +#include + #define SMMU_DEVSTR "ARM System Memory Management Unit" #define SMMU_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) #define SMMU_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) @@ -55,7 +57,7 @@ struct smmu_domain { LIST_ENTRY(smmu_domain) next; u_int entries_cnt; struct smmu_cd *cd; - struct pmap p; + struct smmu_pmap p; uint16_t asid; }; From nobody Mon Apr 24 11:52:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4k595mvrz46jyX; Mon, 24 Apr 2023 11:52: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 4Q4k5936Bcz3jLs; Mon, 24 Apr 2023 11:52:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682337133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MvKFHeWOSHgYmoR6dmeDrVWeYkPnszBuF5ib9pTHWCU=; b=mZ5kjn/HCMzscwCZCDppVwf3hCa7GcGkXspoRvmQ7UUorKHJhJr6rsooKl3ZVQMs9p8jJs f/ekDlXjpDxkS6QI9R02jQJj7lkg2pvA2uXZ4t+Ro6WBBR6kd1t1zkl3qS2bHur8awCkJ3 gKkKuKRaKjRsQl0PqRRH9vWx1JZetKXFvtPcepUdFABzvwKK36TaLE6JXDLtWieXJm6ZCR Ez3LU82F3PDN7uuVuorJQE26vEzluPtvaqB6uUQPK1+rQKjA+Mz4UOWg2s0VraBJxiyXQf XNM1PW8+ejF9i2QoTvpXR3F63AeORNBiuYYqd2jWxdD+N1Xffvwb7YJct/AfZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682337133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MvKFHeWOSHgYmoR6dmeDrVWeYkPnszBuF5ib9pTHWCU=; b=w49X6h4Vn+MPquO5wfW+rSHHiGPw0nqr29sP2MLp1asUmLxOYUrI4X/6KfcHDZjaRar6z7 pTBZbnUwUNsZr26tVRqJu6XdAk6Q4BCKv4axXtku2PH+r2SN/xObroH1CsNwQUDs7AqYkV 5iLXGM2C3xqRqdrQ8NRJOeL5Ee4W40An9uzt1FqU1mqvVTqVHW3FhgY6a40DkKF+qzfMPZ 7P6qPG336XHXYMs8EjQ1ARnf7/WVbgO9TmDcTS7JFLak52n2EYwYuVECC73qqrlKmEFY08 FoUTVnvroQ6vmr6a3pOrA1q3gWef/ykBiX14VoLGL1knT0cWw+MHWYlyRyGIXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682337133; a=rsa-sha256; cv=none; b=mBfC49lFiXK9JrJvTEjgE0sGihuJbhUYCIPaf38MJyLrHQn3/AdrAzZaAAMGpgliwjoZdw j+1K3k6xEDwXu8TR0EwRU2acio9S44jMfCPObSNlhz2IXy1+k1VK8vZrlj+uZtLzL/D07D yn9k5eBDLXCzBwAsnx8TbAFq3HUSfhDqcjb+A0PKvEciY5VBGMxIlnBR+QNv62noTA0FuH GEe86MTzNP9WeO17udqSys6w3Sog4t+o4EtkWUvoixUn2BWnikh3mUy4stc2cvL+NOsrCO DwDEGB5LVS+nsnoi3nLNFtwA0gLx8+X5tizg4BYgCuT57MQnu0tboFdyfNxbnQ== 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 4Q4k586QTrzPh5; Mon, 24 Apr 2023 11:52: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 33OBqCsw003234; Mon, 24 Apr 2023 11:52:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBqCCY003233; Mon, 24 Apr 2023 11:52:12 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:52:12 GMT Message-Id: <202304241152.33OBqCCY003233@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: cdd34e0038e5 - main - Remove virtual addresses from smmu_pmap_remove_pages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cdd34e0038e5b22c23cc6e343c8e9ad83f497adf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=cdd34e0038e5b22c23cc6e343c8e9ad83f497adf commit cdd34e0038e5b22c23cc6e343c8e9ad83f497adf Author: Andrew Turner AuthorDate: 2023-04-24 11:47:55 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 11:47:55 +0000 Remove virtual addresses from smmu_pmap_remove_pages This function needs to unmap all memory in a given SMMU context. Have it iterate over all page table entries to find what has been mapped rather than looking at virtual addresses. While here use SMMU specific macros. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39185 --- sys/arm64/iommu/iommu_pmap.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/sys/arm64/iommu/iommu_pmap.c b/sys/arm64/iommu/iommu_pmap.c index c681f7827394..1c45579835c7 100644 --- a/sys/arm64/iommu/iommu_pmap.c +++ b/sys/arm64/iommu/iommu_pmap.c @@ -503,7 +503,7 @@ _pmap_alloc_l3(struct smmu_pmap *pmap, vm_pindex_t ptepindex) pd_entry_t *l0, *l1, *l2; pd_entry_t tl0, tl1; - l1index = ptepindex >> Ln_ENTRIES_SHIFT; + l1index = ptepindex >> IOMMU_Ln_ENTRIES_SHIFT; l0index = l1index >> IOMMU_L0_ENTRIES_SHIFT; l0 = &pmap->sp_l0[l0index]; @@ -792,7 +792,6 @@ smmu_pmap_remove_pages(struct smmu_pmap *pmap) pd_entry_t l0e, *l1, l1e, *l2, l2e; pt_entry_t *l3, l3e; vm_page_t m, m0, m1; - vm_offset_t sva; vm_paddr_t pa; vm_paddr_t pa0; vm_paddr_t pa1; @@ -800,48 +799,43 @@ smmu_pmap_remove_pages(struct smmu_pmap *pmap) SMMU_PMAP_LOCK(pmap); - for (sva = VM_MINUSER_ADDRESS, i = smmu_l0_index(sva); - (i < Ln_ENTRIES && sva < VM_MAXUSER_ADDRESS); i++) { + for (i = 0; i < IOMMU_L0_ENTRIES; i++) { l0e = pmap->sp_l0[i]; if ((l0e & ATTR_DESCR_VALID) == 0) { - sva += IOMMU_L0_SIZE; continue; } pa0 = l0e & ~ATTR_MASK; m0 = PHYS_TO_VM_PAGE(pa0); l1 = (pd_entry_t *)PHYS_TO_DMAP(pa0); - for (j = smmu_l1_index(sva); j < Ln_ENTRIES; j++) { + for (j = 0; j < IOMMU_Ln_ENTRIES; j++) { l1e = l1[j]; if ((l1e & ATTR_DESCR_VALID) == 0) { - sva += IOMMU_L1_SIZE; continue; } if ((l1e & ATTR_DESCR_MASK) == IOMMU_L1_BLOCK) { - sva += IOMMU_L1_SIZE; continue; } pa1 = l1e & ~ATTR_MASK; m1 = PHYS_TO_VM_PAGE(pa1); l2 = (pd_entry_t *)PHYS_TO_DMAP(pa1); - for (k = smmu_l2_index(sva); k < Ln_ENTRIES; k++) { + for (k = 0; k < IOMMU_Ln_ENTRIES; k++) { l2e = l2[k]; if ((l2e & ATTR_DESCR_VALID) == 0) { - sva += IOMMU_L2_SIZE; continue; } pa = l2e & ~ATTR_MASK; m = PHYS_TO_VM_PAGE(pa); l3 = (pt_entry_t *)PHYS_TO_DMAP(pa); - for (l = smmu_l3_index(sva); l < Ln_ENTRIES; - l++, sva += IOMMU_L3_SIZE) { + for (l = 0; l < IOMMU_Ln_ENTRIES; l++) { l3e = l3[l]; if ((l3e & ATTR_DESCR_VALID) == 0) continue; - panic("%s: l3e found for va %jx\n", - __func__, sva); + panic( + "%s: l3e found (indexes %d %d %d %d)", + __func__, i, j, k, l); } vm_page_unwire_noq(m1); From nobody Mon Apr 24 11:52:13 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4k5B26xQz46kMH; Mon, 24 Apr 2023 11:52: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 4Q4k5B1C41z3jNw; Mon, 24 Apr 2023 11:52:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682337134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nu1mmYlNQcb/Lc6EO7EUJwB/PBrtNZX27J80TFOJ6n4=; b=n1jIw+W3KsPfTE8CzbUzL83BFjdWEDxZMpv5TYRjnj4GfntFMPxFvII6tyobyTzw63f9pv REmrN3cvsfr/N1nH7V+UupJFiqVSyC4WlMTgpDO2m4WA+iCMvgiQqP9RjNGky1MUQZ+tBE PmsvlGiphHRH9o3irruoP9BtqYw8dRQuFu9Wn4f5ix7fEw0KHN+IhRP+bycAFJV4NEJ2Fm +E666hXW2745owUNefau/PhXzjXL7LQKuU/GWek/91TUvrG8M9BT50o11Xv7XkX+InTLnH JviV3C2HO+BrebM2rgI/r8CUcwQdPhcRLUPUduegnoXstYAUbbVyv5pZgHZiIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682337134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nu1mmYlNQcb/Lc6EO7EUJwB/PBrtNZX27J80TFOJ6n4=; b=bkp2dHq+33xHZLaxH7Lw/0EpL+bsx3OIn+9l7vwPJRe5DxsQaE9q+iTj+WNdWefBh1IhE2 4RA4PbEqWDx1cXg3An7eXc+c8GzjDOY9EcLCD3kgG4RpJ48g+VOqe72P7hfgVFvxM1fSh3 OYsLVxevbpfufqeLknOB/KaaOzQXVeLWHxrImpiuW+KAeWeyn4qxj0ELq9ciyhtwctWO0R MYZ0YYCgdnuhWj+cgHf+WkLCcsq63gw9j2V2hGzkkUHPcNob1WSLOR7zW90wwvDe8HLRGY dZ28fmP4q+xCCgFZ21PqdzGFanjqGShL+4qsuglXlkvZUcN3uxBn0PVx9vLoiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682337134; a=rsa-sha256; cv=none; b=STTM6ZefSIJ0EbspFAexXsbEpabngx/Y0ZNPRcs6Y7xVjB5ZQY4ElDd/QIe3yMMSBsui2s chSElV8Z61X8Y0YIxoJoWZLMz5vxb9ITKdoslvj1fzI1uQyJ+Q/OWeQBINgwanctKtzi1L HGtMRUy1S4oBWnIygs6UuMYrQBe8mvMYhIOi+ShEX1dddGc0NvmqxEevFE1fEa323mpZW8 pY+WC3SZfbyW914hs1wt9erLgVh2yW70IJZDjx/5IBpKz63tR/iBoVNymEBE50am4Ebvoa hA4I8Zib4r84CEDuyB3t46PeZ1L6tt/imEdOO5LeeJmk9Iw7o2aUG8zSpJfAmA== 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 4Q4k5B0DP3zPKp; Mon, 24 Apr 2023 11:52: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 33OBqDsi003253; Mon, 24 Apr 2023 11:52:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OBqDSp003252; Mon, 24 Apr 2023 11:52:13 GMT (envelope-from git) Date: Mon, 24 Apr 2023 11:52:13 GMT Message-Id: <202304241152.33OBqDSp003252@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: c3785c3eb0e3 - main - Remove unneeded SMMU macros List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c3785c3eb0e3971a366ff4ee1e264ab316eb191f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c3785c3eb0e3971a366ff4ee1e264ab316eb191f commit c3785c3eb0e3971a366ff4ee1e264ab316eb191f Author: Andrew Turner AuthorDate: 2023-04-24 11:48:01 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 11:48:01 +0000 Remove unneeded SMMU macros Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39186 --- sys/arm64/iommu/iommu_pte.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/arm64/iommu/iommu_pte.h b/sys/arm64/iommu/iommu_pte.h index 88800c15ba42..5ddbc487642b 100644 --- a/sys/arm64/iommu/iommu_pte.h +++ b/sys/arm64/iommu/iommu_pte.h @@ -35,8 +35,6 @@ /* Level 0 table, 512GiB per entry */ #define IOMMU_L0_SHIFT 39 -#define IOMMU_L0_SIZE (1ul << IOMMU_L0_SHIFT) -#define IOMMU_L0_OFFSET (IOMMU_L0_SIZE - 1ul) #define IOMMU_L0_INVAL 0x0 /* An invalid address */ /* 0x1 Level 0 doesn't support block translation */ /* 0x2 also marks an invalid address */ @@ -44,14 +42,12 @@ /* Level 1 table, 1GiB per entry */ #define IOMMU_L1_SHIFT 30 -#define IOMMU_L1_SIZE (1 << IOMMU_L1_SHIFT) #define IOMMU_L1_INVAL IOMMU_L0_INVAL #define IOMMU_L1_BLOCK 0x1 #define IOMMU_L1_TABLE IOMMU_L0_TABLE /* Level 2 table, 2MiB per entry */ #define IOMMU_L2_SHIFT 21 -#define IOMMU_L2_SIZE (1 << IOMMU_L2_SHIFT) #define IOMMU_L2_INVAL IOMMU_L1_INVAL #define IOMMU_L2_BLOCK IOMMU_L1_BLOCK #define IOMMU_L2_TABLE IOMMU_L1_TABLE From nobody Mon Apr 24 11:54:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4k7h0d5Zz46k7M; Mon, 24 Apr 2023 11:54:24 +0000 (UTC) (envelope-from tuexen@fh-muenster.de) Received: from drew.franken.de (mail-n.franken.de [193.175.24.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.franken.de", Issuer "Sectigo RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4k7f4fL3z3nS2; Mon, 24 Apr 2023 11:54:22 +0000 (UTC) (envelope-from tuexen@fh-muenster.de) Authentication-Results: mx1.freebsd.org; none Received: from smtpclient.apple (unknown [IPv6:2a02:8109:1140:c3d:d46b:64eb:a5d4:750]) (Authenticated sender: micmac) by mail-n.franken.de (Postfix) with ESMTPSA id 6755F71A484CD; Mon, 24 Apr 2023 13:54:17 +0200 (CEST) Content-Type: multipart/signed; boundary="Apple-Mail=_38EE1C86-D39E-49BF-8B86-C5A67D61F615"; protocol="application/pkcs7-signature"; micalg=sha-256 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\)) Subject: Re: git: 7029f2c887a1 - main - Allow pci_host_generic attachments to manage registers From: tuexen@fh-muenster.de In-Reply-To: <202304241134.33OBYBwu071123@gitrepo.freebsd.org> Date: Mon, 24 Apr 2023 13:54:16 +0200 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <54618885-6BE8-4210-BAD4-B5E942A83F9B@fh-muenster.de> References: <202304241134.33OBYBwu071123@gitrepo.freebsd.org> To: Andrew Turner X-Mailer: Apple Mail (2.3731.500.231) X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, T_SCC_BODY_TEXT_LINE autolearn=disabled version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail-n.franken.de X-Rspamd-Queue-Id: 4Q4k7f4fL3z3nS2 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:680, ipnet:193.174.0.0/15, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_38EE1C86-D39E-49BF-8B86-C5A67D61F615 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On 24. Apr 2023, at 13:34, Andrew Turner wrote: >=20 > The branch main has been updated by andrew: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D7029f2c887a16c823faf08e8a79dc0d3= 887989ab >=20 > commit 7029f2c887a16c823faf08e8a79dc0d3887989ab > Author: Andrew Turner > AuthorDate: 2022-06-04 10:59:46 +0000 > Commit: Andrew Turner > CommitDate: 2023-04-24 11:33:50 +0000 >=20 > Allow pci_host_generic attachments to manage registers >=20 > To allow for attachments that don't use memory mapped registers add > a flag they can set when the base driver shouldn't map them. >=20 > Sponsored by: Arm Ltd > Differential Revision: https://reviews.freebsd.org/D39227 Not sure if it is related to this commit. But trying to run a kernel = with this revision on VM Fusion on an M1 MacBook Pro results in: Mounting from ufs:/dev/nda0p2 failed with error 19. A kernel build with = https://cgit.FreeBSD.org/src/commit/?id=3D390c31c4289e66f1bd9cb2349d6e55fd= 4dc468f8 = boots without problems. Best regards Michael > --- > sys/dev/pci/pci_host_generic.c | 45 = +++++++++++++++++++++++------------------- > sys/dev/pci/pci_host_generic.h | 2 ++ > 2 files changed, 27 insertions(+), 20 deletions(-) >=20 > diff --git a/sys/dev/pci/pci_host_generic.c = b/sys/dev/pci/pci_host_generic.c > index 986318548eab..ca74b0c650c3 100644 > --- a/sys/dev/pci/pci_host_generic.c > +++ b/sys/dev/pci/pci_host_generic.c > @@ -106,27 +106,30 @@ pci_host_generic_core_attach(device_t dev) > if (error !=3D 0) > return (error); >=20 > - rid =3D 0; > - sc->res =3D bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, > - PCI_RF_FLAGS | RF_ACTIVE); > - if (sc->res =3D=3D NULL) { > - device_printf(dev, "could not allocate memory.\n"); > - error =3D ENXIO; > - goto err_resource; > - } > + if ((sc->quirks & PCIE_CUSTOM_CONFIG_SPACE_QUIRK) =3D=3D 0) { > + rid =3D 0; > + sc->res =3D bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, > + PCI_RF_FLAGS | RF_ACTIVE); > + if (sc->res =3D=3D NULL) { > + device_printf(dev, "could not allocate memory.\n"); > + error =3D ENXIO; > + goto err_resource; > + } > #ifdef PCI_UNMAPPED > - resource_init_map_request(&req); > - req.memattr =3D VM_MEMATTR_DEVICE_NP; > - error =3D bus_map_resource(dev, SYS_RES_MEMORY, sc->res, &req, = &map); > - if (error !=3D 0) { > - device_printf(dev, "could not map memory.\n"); > - return (error); > - } > - rman_set_mapping(sc->res, &map); > + resource_init_map_request(&req); > + req.memattr =3D VM_MEMATTR_DEVICE_NP; > + error =3D bus_map_resource(dev, SYS_RES_MEMORY, sc->res, &req, > + &map); > + if (error !=3D 0) { > + device_printf(dev, "could not map memory.\n"); > + return (error); > + } > + rman_set_mapping(sc->res, &map); > #endif >=20 > - sc->bst =3D rman_get_bustag(sc->res); > - sc->bsh =3D rman_get_bushandle(sc->res); > + sc->bst =3D rman_get_bustag(sc->res); > + sc->bsh =3D rman_get_bushandle(sc->res); > + } >=20 > sc->has_pmem =3D false; > sc->pmem_rman.rm_type =3D RMAN_ARRAY; > @@ -196,7 +199,8 @@ err_io_rman: > err_mem_rman: > rman_fini(&sc->pmem_rman); > err_pmem_rman: > - bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->res); > + if (sc->res !=3D NULL) > + bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->res); > err_resource: > bus_dma_tag_destroy(sc->dmat); > return (error); > @@ -217,7 +221,8 @@ pci_host_generic_core_detach(device_t dev) > rman_fini(&sc->io_rman); > rman_fini(&sc->mem_rman); > rman_fini(&sc->pmem_rman); > - bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->res); > + if (sc->res !=3D NULL) > + bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->res); > bus_dma_tag_destroy(sc->dmat); >=20 > return (0); > diff --git a/sys/dev/pci/pci_host_generic.h = b/sys/dev/pci/pci_host_generic.h > index 80da4f523165..b3242c8bdaf5 100644 > --- a/sys/dev/pci/pci_host_generic.h > +++ b/sys/dev/pci/pci_host_generic.h > @@ -90,6 +90,8 @@ struct generic_pcie_core_softc { >=20 > /* Quirks */ > #define PCIE_ECAM_DESIGNWARE_QUIRK (1 << 0) > +/* Child will map resources to access config registers */ > +#define PCIE_CUSTOM_CONFIG_SPACE_QUIRK (1 << 1) >=20 > DECLARE_CLASS(generic_pcie_core_driver); >=20 --Apple-Mail=_38EE1C86-D39E-49BF-8B86-C5A67D61F615 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEfMw ggUSMIID+qADAgECAgkA4wvV+K8l2YEwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAkRFMSsw KQYDVQQKDCJULVN5c3RlbXMgRW50ZXJwcmlzZSBTZXJ2aWNlcyBHbWJIMR8wHQYDVQQLDBZULVN5 c3RlbXMgVHJ1c3QgQ2VudGVyMSUwIwYDVQQDDBxULVRlbGVTZWMgR2xvYmFsUm9vdCBDbGFzcyAy MB4XDTE2MDIyMjEzMzgyMloXDTMxMDIyMjIzNTk1OVowgZUxCzAJBgNVBAYTAkRFMUUwQwYDVQQK EzxWZXJlaW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMg ZS4gVi4xEDAOBgNVBAsTB0RGTi1QS0kxLTArBgNVBAMTJERGTi1WZXJlaW4gQ2VydGlmaWNhdGlv biBBdXRob3JpdHkgMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMtg1/9moUHN0vqH l4pzq5lN6mc5WqFggEcVToyVsuXPztNXS43O+FZsFVV2B+pG/cgDRWM+cNSrVICxI5y+NyipCf8F XRgPxJiZN7Mg9mZ4F4fCnQ7MSjLnFp2uDo0peQcAIFTcFV9Kltd4tjTTwXS1nem/wHdN6r1ZB+Ba L2w8pQDcNb1lDY9/Mm3yWmpLYgHurDg0WUU2SQXaeMpqbVvAgWsRzNI8qIv4cRrKO+KA3Ra0Z3qL NupOkSk9s1FcragMvp0049ENF4N1xDkesJQLEvHVaY4l9Lg9K7/AjsMeO6W/VRCrKq4Xl14zzsjz 9AkH4wKGMUZrAcUQDBHHWekCAwEAAaOCAXQwggFwMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU k+PYMiba1fFKpZFK4OpL4qIMz+EwHwYDVR0jBBgwFoAUv1kgNgB5oKAia4zV8mHSuCzLgkowEgYD VR0TAQH/BAgwBgEB/wIBAjAzBgNVHSAELDAqMA8GDSsGAQQBga0hgiwBAQQwDQYLKwYBBAGBrSGC LB4wCAYGZ4EMAQICMEwGA1UdHwRFMEMwQaA/oD2GO2h0dHA6Ly9wa2kwMzM2LnRlbGVzZWMuZGUv cmwvVGVsZVNlY19HbG9iYWxSb290X0NsYXNzXzIuY3JsMIGGBggrBgEFBQcBAQR6MHgwLAYIKwYB BQUHMAGGIGh0dHA6Ly9vY3NwMDMzNi50ZWxlc2VjLmRlL29jc3ByMEgGCCsGAQUFBzAChjxodHRw Oi8vcGtpMDMzNi50ZWxlc2VjLmRlL2NydC9UZWxlU2VjX0dsb2JhbFJvb3RfQ2xhc3NfMi5jZXIw DQYJKoZIhvcNAQELBQADggEBAIcL/z4Cm2XIVi3WO5qYi3FP2ropqiH5Ri71sqQPrhE4eTizDnS6 dl2e6BiClmLbTDPo3flq3zK9LExHYFV/53RrtCyD2HlrtrdNUAtmB7Xts5et6u5/MOaZ/SLick0+ hFvu+c+Z6n/XUjkurJgARH5pO7917tALOxrN5fcPImxHhPalR6D90Bo0fa3SPXez7vTXTf/D6OWS T1k+kEcQSrCFWMBvf/iu7QhCnh7U3xQuTY+8npTD5+32GPg8SecmqKc22CzeIs2LgtjZeOJVEqM7 h0S2EQvVDFKvaYwPBt/QolOLV5h7z/0HJPT8vcP9SpIClxvyt7bPZYoaorVyGTkwggWsMIIElKAD AgECAgcbY7rQHiw9MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJERTFFMEMGA1UEChM8VmVy ZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYu MRAwDgYDVQQLEwdERk4tUEtJMS0wKwYDVQQDEyRERk4tVmVyZWluIENlcnRpZmljYXRpb24gQXV0 aG9yaXR5IDIwHhcNMTYwNTI0MTEzODQwWhcNMzEwMjIyMjM1OTU5WjCBjTELMAkGA1UEBhMCREUx RTBDBgNVBAoMPFZlcmVpbiB6dXIgRm9lcmRlcnVuZyBlaW5lcyBEZXV0c2NoZW4gRm9yc2NodW5n c25ldHplcyBlLiBWLjEQMA4GA1UECwwHREZOLVBLSTElMCMGA1UEAwwcREZOLVZlcmVpbiBHbG9i YWwgSXNzdWluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ07eRxH3h+Gy8Zp 1xCeOdfZojDbchwFfylfS2jxrRnWTOFrG7ELf6Gr4HuLi9gtzm6IOhDuV+UefwRRNuu6cG1joL6W LkDh0YNMZj0cZGnlm6Stcq5oOVGHecwX064vXWNxSzl660Knl5BpBb+Q/6RAcL0D57+eGIgfn5mI TQ5HjUhfZZkQ0tkqSe3BuS0dnxLLFdM/fx5ULzquk1enfnjK1UriGuXtQX1TX8izKvWKMKztFwUk P7agCwf9TRqaA1KgNpzeJIdl5Of6x5ZzJBTN0OgbaJ4YWa52fvfRCng8h0uwN89Tyjo4EPPLR22M ZD08WkVKusqAfLjz56dMTM0CAwEAAaOCAgUwggIBMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYDVR0P AQH/BAQDAgEGMCkGA1UdIAQiMCAwDQYLKwYBBAGBrSGCLB4wDwYNKwYBBAGBrSGCLAEBBDAdBgNV HQ4EFgQUazqYi/nyU4na4K2yMh4JH+iqO3QwHwYDVR0jBBgwFoAUk+PYMiba1fFKpZFK4OpL4qIM z+EwgY8GA1UdHwSBhzCBhDBAoD6gPIY6aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9v dC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDBAoD6gPIY6aHR0cDovL2NkcDIucGNhLmRmbi5kZS9n bG9iYWwtcm9vdC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDCB3QYIKwYBBQUHAQEEgdAwgc0wMwYI KwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDBKBggrBgEF BQcwAoY+aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIvY2FjZXJ0 L2NhY2VydC5jcnQwSgYIKwYBBQUHMAKGPmh0dHA6Ly9jZHAyLnBjYS5kZm4uZGUvZ2xvYmFsLXJv b3QtZzItY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQCBeEWkTqR/ DlXwCbFqPnjMaDWpHPOVnj/z+N9rOHeJLI21rT7H8pTNoAauusyosa0zCLYkhmI2THhuUPDVbmCN T1IxQ5dGdfBi5G5mUcFCMWdQ5UnnOR7Ln8qGSN4IFP8VSytmm6A4nwDO/afr0X9XLchMX9wQEZc+ lgQCXISoKTlslPwQkgZ7nu7YRrQbtQMMONncsKk/cQYLsgMHM8KNSGMlJTx6e1du94oFOO+4oK4v 9NsH1VuEGMGpuEvObJAaguS5Pfp38dIfMwK/U+d2+dwmJUFvL6Yb+qQTkPp8ftkLYF3sv8pBoGH7 EUkp2KgtdRXYShjqFu9VNCIaE40GMIIHKTCCBhGgAwIBAgIMJrRClNKRzetB0jc/MA0GCSqGSIb3 DQEBCwUAMIGNMQswCQYDVQQGEwJERTFFMEMGA1UECgw8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVp bmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLDAdERk4tUEtJMSUw IwYDVQQDDBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENBMB4XDTIyMDUzMDEzMjIxNVoXDTI1 MDUyOTEzMjIxNVowgcQxCzAJBgNVBAYTAkRFMRwwGgYDVQQIDBNOb3JkcmhlaW4tV2VzdGZhbGVu MREwDwYDVQQHDAhNdWVuc3RlcjEUMBIGA1UECgwLRkggTXVlbnN0ZXIxMjAwBgNVBAsMKUZhY2hi ZXJlaWNoIEVsZWt0cm90ZWNobmlrIHVuZCBJbmZvcm1hdGlrMQ8wDQYDVQQEDAZUdWV4ZW4xEDAO BgNVBCoMB01pY2hhZWwxFzAVBgNVBAMMDk1pY2hhZWwgVHVleGVuMIICIjANBgkqhkiG9w0BAQEF AAOCAg8AMIICCgKCAgEA2QZ7Uheto325SEnX2BTxBvYnz7u/BVmzxKlogaR4K0MA8ZcfNIdQkiJU efjL6imq21BSFsr/tXcODFZmPrvx9aIxjntCxmEFr7qFaw3e3mUIxJyj5n6BxjzZ/hyJte8LBDbj zj+e8WPUzXmYbSxtrh9kgw8NMx3+bo3Hslic+PkKEGx9JJp2I2TEs88xD0rHC2Ljwcfk6bS9jC+/ BAuY/TsbJoq+8d64DYSLGiIYbvMMuxM2C8BlpHLIOLx2FaH+uMqdH2dLVvCacZJ9YzHvvZY8O2nQ OBFCG1UMpX5YLHN8g/t02a+IBt+oe97JMdJ/kZsPjolI98dcRdzz0hTXZql2xvp6zlocm9iGTRcv dCSxy+0x4CIZD1EkVX9zCPGpzdTXnrU+zvnz14Uq3Wbfl3GiVgK0Avr1enfZepruAxAy7KGIm2zi /qY3XSkN8fvWJmYnomOjCRjaPtqS/azmnyeodsxlVhqQKbES65u/PbOXjOlhiYAvemS0IbK4iR76 3iSmkpwSNpJt6BCtFJN+w3Y8tztCP66KPPC1Fri1oj27KPaf04J66MkSjlQdpI7POS6lDyN7X2Hw tgZKRVA94h/JvZp4ld7mTzXTEW2tdO5azPILsL9xOYjSS5VIyUFF4MoxSbfZtXWaZFsMC1fXDNNL uRDrISotdwADuU75Fe0CAwEAAaOCAk4wggJKMD4GA1UdIAQ3MDUwDwYNKwYBBAGBrSGCLAEBBDAQ Bg4rBgEEAYGtIYIsAQEECjAQBg4rBgEEAYGtIYIsAgEECjAJBgNVHRMEAjAAMA4GA1UdDwEB/wQE AwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFFDbROYIxDr3fvlX tkXqx7T8lihxMB8GA1UdIwQYMBaAFGs6mIv58lOJ2uCtsjIeCR/oqjt0MCAGA1UdEQQZMBeBFXR1 ZXhlbkBmaC1tdWVuc3Rlci5kZTCBjQYDVR0fBIGFMIGCMD+gPaA7hjlodHRwOi8vY2RwMS5wY2Eu ZGZuLmRlL2Rmbi1jYS1nbG9iYWwtZzIvcHViL2NybC9jYWNybC5jcmwwP6A9oDuGOWh0dHA6Ly9j ZHAyLnBjYS5kZm4uZGUvZGZuLWNhLWdsb2JhbC1nMi9wdWIvY3JsL2NhY3JsLmNybDCB2wYIKwYB BQUHAQEEgc4wgcswMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2 ZXIvT0NTUDBJBggrBgEFBQcwAoY9aHR0cDovL2NkcDEucGNhLmRmbi5kZS9kZm4tY2EtZ2xvYmFs LWcyL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDBJBggrBgEFBQcwAoY9aHR0cDovL2NkcDIucGNhLmRm bi5kZS9kZm4tY2EtZ2xvYmFsLWcyL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDANBgkqhkiG9w0BAQsF AAOCAQEALubmL854icQMxKxOxQK+deXTjC6CLYnUDwB8MvnDC+BSeh3tUHT37fSgsK1ShNUSNJX0 YF0VYLfZ6+lPyaFYLArVrAIHqvDiVURaulB9NA+3gck/VSuRz4ILYBy61XbcGQQ8Wx+g6TcqsjsF oOhqEBycj5QuITj+EFmX8nvfo0dJtVa2OPDk1N9beLfQBcLhspJ/nv0pKhpNWv5YETG26YqYfsC7 FA/ZNGvRcoOPkjkDhBTtG+qq9DDD75XtGEBZhYXbnG15tn4/UV07B+UyK4/cqQSA+My5FML3YsQw EYrV9klVD/mLMOdZV5+95xt7O8IdYeHrBapVlhANH5bFazGCBJ0wggSZAgEBMIGeMIGNMQswCQYD VQQGEwJERTFFMEMGA1UECgw8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBG b3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLDAdERk4tUEtJMSUwIwYDVQQDDBxERk4tVmVy ZWluIEdsb2JhbCBJc3N1aW5nIENBAgwmtEKU0pHN60HSNz8wDQYJYIZIAWUDBAIBBQCgggHPMBgG CSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMDQyNDExNTQxNlowLwYJ KoZIhvcNAQkEMSIEIMIL/fb7daNUmxzAdiJc+v89Tfw3s+r454fUupTbRE7SMIGvBgkrBgEEAYI3 EAQxgaEwgZ4wgY0xCzAJBgNVBAYTAkRFMUUwQwYDVQQKDDxWZXJlaW4genVyIEZvZXJkZXJ1bmcg ZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsMB0RGTi1QS0kx JTAjBgNVBAMMHERGTi1WZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0ECDCa0QpTSkc3rQdI3PzCBsQYL KoZIhvcNAQkQAgsxgaGggZ4wgY0xCzAJBgNVBAYTAkRFMUUwQwYDVQQKDDxWZXJlaW4genVyIEZv ZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsM B0RGTi1QS0kxJTAjBgNVBAMMHERGTi1WZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0ECDCa0QpTSkc3r QdI3PzANBgkqhkiG9w0BAQsFAASCAgBqE4yJY2wzL0oLtOv/AlwURoB0rd8jnT5WMc4c7kqOMXQJ /J46I5ojpKQ+bG0Am7HhoTFFG77P9y5dn06wYnuCxUgD07cuTBLfQjwuNFj5c3fdzSrhFBAs1K1U 5VPT1dff1ISkhiaSQLkaJGVL2h5wMIA09AhDnYDhVK6OP6kP9iRyrXEC1+V8dkuq521K8H55btnJ nqeuq5fFYlLLD5iq89bDAipyp4ojLsDi+nheW3gRj5ZzyoLuQlk0HeYjl++hIwzSQhSBJyTXUdn3 6Qak0QGA/1vU3rHeYYgp5RyK2lWm7k7RDqR6sx3TC0a+grnC2bSmTiGl6nz6n5L12YJJRM+UdOs8 sl42JFC/mgCWO/ykxWa6UGZvZMA4sFD3kZDqzmYdw2QxKTUGvIobTyU4hEYSII5GqtGDmkari07n E+AmknFYomYGUdOShpbEeYVrJs0J0Cjl5bwM1byB90s1TD7gObfyzK/d1Ro7vIURp8BI3bDSAuCR cWR0KFMzkKvlUrUoddf6oRPYCYjnkHlBLtpTSSnIs+OyX3ZiXBW/Q3ewyFqv+mztz4/UlVZtVaJd 37nvwBzGeyBEMGWm4OQAFZOvUH3hv/VsQCUSQr1Ksuh5zprp/EROTiP6P9zuHjpUzRM/bcEewF96 Bk3nuwIVtNuceZI3jjq5Qg5L3lPGIwAAAAAAAA== --Apple-Mail=_38EE1C86-D39E-49BF-8B86-C5A67D61F615-- From nobody Mon Apr 24 12:54:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4lT369KLz46nW2; Mon, 24 Apr 2023 12:54:31 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on20726.outbound.protection.outlook.com [IPv6:2a01:111:f400:feab::726]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4lT22h2bz3CgN; Mon, 24 Apr 2023 12:54:30 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=microsoft.com header.s=selector2 header.b=LK04xbrN; spf=pass (mx1.freebsd.org: domain of schakrabarti@microsoft.com designates 2a01:111:f400:feab::726 as permitted sender) smtp.mailfrom=schakrabarti@microsoft.com; dmarc=pass (policy=reject) header.from=microsoft.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ffwl0k/Mhf5sS94ljQEgN5rj3TzBqjn8jMnoFHc73J8Dwa60gUPNZ/Sp5fOJk9s2ZI133LqagYR9rUKWu5BlKgeNH4Dd8LdhBE7s5s/xOtAKgkFMiKGGGYvZQJ7eR2hcWSX++6XYNryHTY9H7/7bhY3AgNLtQ3QDTnrAsgbx5TOary5+HkscLjHQfyCm8M3gzBTCWC8nktSf8oMIQVB0jHw11+lOMi0XzLvKkjWxnVOIyGh3wW9s5THiK2QjSWxypDojKLx/Eo4QEhyctxFa7dZ28uNnfwPaEXxQPWqMabIjg00eZDEZzwhTO7ex2cp2R3OZhGIKB/Ls48rwYiWqwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vOqeBf4b0cSLYlisVD1uTMxp//u8V2pkMG8ioc1YDSE=; b=ZRLSwimtn+ncTzOSKpj74nbQVFrhAUK1jUuvEg6XsS5TcE6R2TWqin8ZEJIdfMnqzuZoJxlm5m8UFOjtcfvi9BEP5ZuZGROLt0CGfSEtlNiMewMm6Z+tr9X+rLvq3fVnkYF5qkFxbtmZS2F+4GFJECx1scI0bAXAM18rNFvgJF2Ocj4ujg1hCp57uSfOlBjDyeRxNpHSFDMvleQbLE0RmbzYMfMcVFUxQeQmoqb2lugwVTsy1vMX3msI77rFkZ99jKlu96P+sTTcTpaL3QkjwamYToSAKgk4ryD7bXnAM203U0K5PAs2pa1kfjCpuzLRe8w5BeK/mrRSv38RTliQ1g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vOqeBf4b0cSLYlisVD1uTMxp//u8V2pkMG8ioc1YDSE=; b=LK04xbrNLerkZVGWo5bB1IJY7jSNT9lHQYq8khk90k/35kWpykxw41UiCR+XsnHWgq15C+9mRhcOPoL8IFanEeimyv0E0Dpd3NsfgBbIpGBCBu9G9fi3B2pgepb6sniS+xeiQwLGyEIu9+Hr6mKC5NdNXNcqz+dXaLRsJ5mdacw= Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM (2603:1096:301:75::14) by SI2P153MB0410.APCP153.PROD.OUTLOOK.COM (2603:1096:4:ea::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.19; Mon, 24 Apr 2023 12:54:23 +0000 Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::3f0:d0e4:818f:7af0]) by PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::3f0:d0e4:818f:7af0%3]) with mapi id 15.20.6340.019; Mon, 24 Apr 2023 12:54:23 +0000 From: Souradeep Chakrabarti To: Kyle Evans , Wei Hu CC: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: RE: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Thread-Topic: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Thread-Index: AQHZcn/2gVTtqNix60WeYnOdZN2tzq86cNIw Date: Mon, 24 Apr 2023 12:54:23 +0000 Message-ID: References: <202210271354.29RDsUoH077155@gitrepo.freebsd.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=a4378dab-7589-4341-bb2d-fc18809cdbc9;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2023-04-24T12:47:21Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PSAP153MB0536:EE_|SI2P153MB0410:EE_ x-ms-office365-filtering-correlation-id: 4b6b156b-0138-44b9-491a-08db44c30724 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2JInFKmjVJkZo5CTeqglIwkx7KNBwCjZuGE2VOrIcustsrEBpGY1ABwpn4NmfTyC4r50PwNXKXFhTC0KnqSXU/UAjc4FuuL62zB9ajdBbPsxrKSUCcYhcPXQqm3T4aRnfEwDx5VkL4p8SgfryI7DN+TtzlyRI/SLS4hgtU/GQkihFp+rDPJfCi/q0zVz01NEAm7p6MAeoJjdmjVBQK2hzLfwQLgcLaUU3JoHfHac2ZnSljXn1byxtNtHJtUPDh8tXv5B+UtLW5qNC4nNhAWgcmjMkJQqmNZI+UFWiM5rWicYrzgqunpnSEEhUnheR55Z1290n1K/em3+W7VNOpr4i6oH2w526YSJvV/0kb12POQSp+YyEe1/ur78z0T1YTP/XhSUtJ5B9OPE4kMCa4pSS/sg9gruGJbx2et95VzwxbYVJtJCYm+ksG0cVsyFWEa3FTCE9je540OinhfRVIY+F1N5zu+rPuMl5ip21zIFGjF3gc+GaQ3e2v3Wdp3V9iYdWu+73fODZHrfB4bdb44WihQNO6x4fHXSBt29Ed4Zmc2iWbB4Jnd5F7NFKo3KUOMxg5ERd0NCXhFBOHxTlo5mCir+yzhm/g5D/GbYhdq4za/7KBjql6u5HPLDaxmt/HEF3CjH1QQDTe09Uy66fddC94TgkPdd1gz5OczHlvF5JGE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PSAP153MB0536.APCP153.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(346002)(136003)(396003)(39860400002)(366004)(451199021)(54906003)(8990500004)(110136005)(38070700005)(478600001)(10290500003)(82960400001)(82950400001)(316002)(786003)(4326008)(76116006)(64756008)(66446008)(66476007)(66556008)(55016003)(66946007)(122000001)(41300700001)(2906002)(8936002)(8676002)(4001150100001)(52536014)(450100002)(5660300002)(38100700002)(966005)(9686003)(6506007)(26005)(86362001)(186003)(33656002)(83380400001)(71200400001)(7696005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SGQ3dDR1ZC9sRmZYblhDc1gzZzZMN01QZkkyK1FsTi9DT1JyeEk3OSsrbzJS?= =?utf-8?B?L0x4Y2QvQWxUWXRnbTBxVkM1VzBna25sR3hUMzBjaUpvWjRSazkreTB4aDNq?= =?utf-8?B?bk4rWDNYR2FCTjZqV2NIUEhCUjBzZ0pBM3I3QUFrZk51bEJvYXRBTWd6MjlE?= =?utf-8?B?WjZ2RlBtM0d4d0ZZMlYxUkJIL1JybjkyWUw1dk1vL3BPU3ZVeWwxRnVXd29r?= =?utf-8?B?UlBGME1LWmJFTmtuMWdDT0dJbkROaE1QcTY4SGtvRDlyODc2U1AraU5EM0ZR?= =?utf-8?B?VkdnZy8zeTY2WC9yM2pRMFBFNkJ0UytjQnBGQWJsYkRIa2dQL0JvTzN4VW8w?= =?utf-8?B?RnRDeFhFNnBPR2Z4eGtySTFuczRVNjNBQytvRGlCT093RURsTE5xR0FLWENU?= =?utf-8?B?Z2E3U1dVb1ZwMlFnSXA2RUhRcFYzUkV2NzVkWnpNbHpjZWsraXkrKzltMm16?= =?utf-8?B?ekp2cVFrWU5OQzY2K3BLaEtiRUVzSzlwVG1YVzFaOXk5NjRUN1BWcWpZeEdW?= =?utf-8?B?UnRTOFhxYUVCSjRCYTBXQmQ4UXFmY3UxTEJHeFg5MG5lMHBRQlJHWnE4U1Zz?= =?utf-8?B?M2t2bUhXVW1NOW5NT0FtWGtPMnZSMGZDWnpXUmdFQlRsWVJ4U2ltZzR5dllr?= =?utf-8?B?N2FWTjBiVUFLWmNrc2pDaWluWktiT3B1dzROZ2dPbUw4NlFXQUgwakFySDV4?= =?utf-8?B?eHFoVjR0R0NIOTh5TkRPMnR4WERVUXdTOU1xQTRDTG9lMTdiSCtHK3lqMHFh?= =?utf-8?B?OEFVeEtVYkdyMHdGNlIvSUFYaUJkTHNCMFRvcXdMc1pNS0xjb0xobzVRbjhI?= =?utf-8?B?eWFpeFJGd1FFRTBsVG9SNHhSNndNeFNuVUE1WVVIU1JYb3JnSlRJYWlhbGhQ?= =?utf-8?B?WmJXVXNGanQ0TDZ0dGtNRDVoQ0NUSlBSN1daSEgrQ1pvSXRqUElPalBsNmFF?= =?utf-8?B?VHZWTVdwZEd3WnBsNXFFNlQzK2ZOT29aRThCSVZZVFF5T1FRMFJ4UWZmYUI1?= =?utf-8?B?UU5mUGdaN1dnZGZQV1lsWmlLOEtLRzZocUkyMGEvZit2cGpuVTFSdHNvK1FD?= =?utf-8?B?d2FBSm9sbkNQaHEwQ0xsNXAyd3Z5bW1PMG9QeGVmd0R4azdkYkpZd2xkRlZI?= =?utf-8?B?SjJkS2k0YXU4NjRocXlHRHEzOUpHK2huanl6R3RkTEFPTmdzdUxRUTlheWNZ?= =?utf-8?B?REFSUDQ3U0RseXYwdWhWU1JxMkFwc01SWmRHZGVHVmUvVTV5N1NUVmtMQzNr?= =?utf-8?B?RnV2OGgyV1ZILyt0K0dDMm1aUnlBZDRVMDg5TDZKM0Y0RnhmeXo3c3BKRUZO?= =?utf-8?B?bFBQSlh6VTJYYmdWRHdmcldjVWRrTGhyelVqVW9JYmRyTStWVmI0VUxaTHND?= =?utf-8?B?VHEzM2NqT0dmUDFiaFFJdllrb1ErWncxNWlxb3hSMkZaZFhBZDJvTWhnOXBi?= =?utf-8?B?K04rOXZmRXN2amhzRkhoN2xIVWV5MnR2K3BEakdtMS9teXR4bjlqR0E2ZU5U?= =?utf-8?B?OUhxQ1lDa3hzOEtEMnZ0QjQrc1NWR0t0UjBFNHQ2ZGhTaW5ubVlLRTJnalpq?= =?utf-8?B?eUVjVmUwUU1nYXdSZTJkRlZYY2FkNzZLK3pBTE1DWlNMNnlkeHAwSkxOaHVv?= =?utf-8?B?T0hsZU8rSUVmbXppeXFzYXBRQ25iRzNSTkgreitzRmxuV09tMFp5clpZRTE0?= =?utf-8?B?bUJpWWVLYUJ1UU0vZ3pjMFJnSXNHWkxpbFJSMmJaRUlvU3B2ZHgwMG9TbnhJ?= =?utf-8?B?YmlhaDNpczM0L2IwbGExbWdoQmpnS1pxMC9WeGpCQVNaeTRmay9yR2tzMnBm?= =?utf-8?B?Rko3dFJFTUJWN2V4OGhVVHB6WEQ5TmRxbFBpVnV1S28xL3BTL2FxNFFRN29r?= =?utf-8?B?eHlOSC9CU1VTeG95YkFhQzZhUjJIdzlJeG0wRURxc3Z4Q2lrRDlYTlJjczRM?= =?utf-8?B?eHBKNjJMYzlMeXd1QVA2Y3FPL2lXLzlZVjUxWUZyVVNmZmxPbUJaU0JuZ3hL?= =?utf-8?B?ckZhMndFSnA2bGdzMTM3Mjh1c2tjbUlzbEdmcmdTL2dDMFYzZit4TnowRGNE?= =?utf-8?Q?D4I71i?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PSAP153MB0536.APCP153.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 4b6b156b-0138-44b9-491a-08db44c30724 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Apr 2023 12:54:23.2035 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rfQHH9S5eWz3w32QbEB7jydtoWVAuI4awMmNt0wTbqIRcebDZEmgyHgQSR4ndr81pwToZtw3BltM6s0xe1bKJUeCyQi31J5qEw6nxsYfFyg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2P153MB0410 X-Spamd-Result: default: False [-8.89 / 15.00]; WHITELIST_SPF_DKIM(-3.00)[microsoft.com:d:+,microsoft.com:s:+]; DWL_DNSWL_LOW(-1.00)[microsoft.com:dkim]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.990]; DMARC_POLICY_ALLOW(-0.50)[microsoft.com,reject]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f400::/48]; R_DKIM_ALLOW(-0.20)[microsoft.com:s=selector2]; MIME_BASE64_TEXT(0.10)[]; MIME_GOOD(-0.10)[text/plain]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; RCVD_COUNT_THREE(0.00)[3]; RCPT_COUNT_FIVE(0.00)[5]; FROM_HAS_DN(0.00)[]; DKIM_TRACE(0.00)[microsoft.com:+]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[] X-Rspamd-Queue-Id: 4Q4lT22h2bz3CgN X-Spamd-Bar: -------- X-ThisMailContainsUnwantedMimeParts: N DQoNCg0KPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogS3lsZSBFdmFucyA8a2V2 YW5zQGZyZWVic2Qub3JnPg0KPlNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMTksIDIwMjMgMTE6MDAg QU0NCj5UbzogV2VpIEh1IDx3aHVAZnJlZWJzZC5vcmc+OyBTb3VyYWRlZXAgQ2hha3JhYmFydGkN Cj48c2NoYWtyYWJhcnRpQG1pY3Jvc29mdC5jb20+DQo+Q2M6IHNyYy1jb21taXR0ZXJzQGZyZWVi c2Qub3JnOyBkZXYtY29tbWl0cy1zcmMtYWxsQGZyZWVic2Qub3JnOyBkZXYtY29tbWl0cy0NCj5z cmMtbWFpbkBmcmVlYnNkLm9yZw0KPlN1YmplY3Q6IFtFWFRFUk5BTF0gUmU6IGdpdDogOTcyOWYw NzZlNGQ5IC0gbWFpbiAtIGFybTY0OiBIeXBlci1WOiBlbmFibGVtZW50DQo+Zm9yIEFSTTY0IGlu IEh5cGVyLVYgKFBhcnQgMywgZmluYWwpDQo+DQo+T24gVGh1LCBPY3QgMjcsIDIwMjIgYXQgODo1 NOKAr0FNIFdlaSBIdSA8d2h1QGZyZWVic2Qub3JnPiB3cm90ZToNCj4+DQo+PiBUaGUgYnJhbmNo IG1haW4gaGFzIGJlZW4gdXBkYXRlZCBieSB3aHU6DQo+Pg0KPj4gVVJMOg0KPj4gaHR0cHM6Ly9u YW0wNi5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJG Y2dpdA0KPj4NCj4uZnJlZWJzZC5vcmclMkZzcmMlMkZjb21taXQlMkYlM0ZpZCUzRDk3MjlmMDc2 ZTRkOTNjNWEzN2U3OGQ0MjdiZmUwDQo+ZjFhDQo+Pg0KPmI5OWJiY2M2JmRhdGE9MDUlN0MwMSU3 Q3NjaGFrcmFiYXJ0aSU0MG1pY3Jvc29mdC5jb20lN0MzOTNlODU1ZjEzYzYNCj40OWENCj4+DQo+ ODg4MzcwOGRiNDA5NzIxMWUlN0M3MmY5ODhiZjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0NyU3QzEl N0MwJTdDDQo+NjM4MTc0Nw0KPj4NCj45MDEwNjc4NjQ0OSU3Q1Vua25vd24lN0NUV0ZwYkdac2Iz ZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJam9pDQo+VjJsdU16DQo+Pg0KPklpTENKQlRpSTZJ azFoYVd3aUxDSlhWQ0k2TW4wJTNEJTdDMzAwMCU3QyU3QyU3QyZzZGF0YT1odWlhT0JTQjJaDQo+ UURuNVENCj4+IGN3JTJGTFdubUklMkZxYmJyaVFkN0hrWXRweG5HTEdFJTNEJnJlc2VydmVkPTAN Cj4+DQo+PiBjb21taXQgOTcyOWYwNzZlNGQ5M2M1YTM3ZTc4ZDQyN2JmZTBmMWFiOTliYmNjNg0K Pj4gQXV0aG9yOiAgICAgU291cmFkZWVwIENoYWtyYWJhcnRpIDxzY2hha3JhYmFydGlAbWljcm9z b2Z0LmNvbT4NCj4+IEF1dGhvckRhdGU6IDIwMjItMTAtMjcgMTM6NDY6MDggKzAwMDANCj4+IENv bW1pdDogICAgIFdlaSBIdSA8d2h1QEZyZWVCU0Qub3JnPg0KPj4gQ29tbWl0RGF0ZTogMjAyMi0x MC0yNyAxMzo1MzoyMiArMDAwMA0KPj4NCj4+ICAgICBhcm02NDogSHlwZXItVjogZW5hYmxlbWVu dCBmb3IgQVJNNjQgaW4gSHlwZXItViAoUGFydCAzLCBmaW5hbCkNCj4+DQo+PiAgICAgVGhpcyBp cyB0aGUgbGFzdCBwYXJ0IGZvciBBUk02NCBIeXBlci1WIGVuYWJsZW1lbnQuIFRoaXMgaW5jbHVk ZXMNCj4+ICAgICBjb21tb25lIGZpbGVzIGFuZCBtYWtlIGZpbGUgY2hhbmdlcyB0byBlbmFibGUg dGhlIEFSTTY0IEZyZWVCU0QNCj4+ICAgICBndWVzdCBvbiBIeXBlci1WLiBXaXRoIHRoaXMgcGF0 Y2gsIGl0IHNob3VsZCBiZSBhYmxlIHRvIGJ1aWxkDQo+PiAgICAgdGhlIEFSTTY0IGltYWdlIGFu ZCBpbnN0YWxsIGl0IG9uIEh5cGVyLVYuDQo+Pg0KPg0KPkhpLA0KPg0KPkZpcnN0IG9mZi0gdGhh bmtzIGZvciBkb2luZyB0aGlzIHdvcmshIEkgY2FuJ3Qgc2VlbSB0byBib290IGEgLUNVUlJFTlQg aW1hZ2UgdW5kZXINCj5IeXBlci1WIG9uIGEgVm9sdGVycmEgbWFjaGluZSwgc2VlbWluZ2x5IGR1 ZSB0byB2bWJ1cy4gSXQgc3RhbGxzIHJpZ2h0IGFmdGVyICJ2bWJ1czoNCj50aGUgaXJxIDE4IiBi dXQgYmVmb3JlIGVtaXR0aW5nIGEgdmVyc2lvbiBudW1iZXIsIEkgaGF2ZSBzb21lIG90aGVyIGNv bW1lbnRzDQo+aGVyZS4uLg0KPg0KPj4gWy4uLiBzbmlwIC4uLl0NCj4+IGRpZmYgLS1naXQgYS9z eXMvZGV2L2h5cGVydi92bWJ1cy92bWJ1cy5jDQo+PiBiL3N5cy9kZXYvaHlwZXJ2L3ZtYnVzL3Zt YnVzLmMgaW5kZXggYjBjZDc1MGIyNmM4Li5mMzcwZjJhNzViOTkgMTAwNjQ0DQo+PiAtLS0gYS9z eXMvZGV2L2h5cGVydi92bWJ1cy92bWJ1cy5jDQo+PiArKysgYi9zeXMvZGV2L2h5cGVydi92bWJ1 cy92bWJ1cy5jDQo+PiBbLi4uIHNuaXAgLi4uXQ0KPj4gQEAgLTEwNyw3ICsxMTMsNyBAQCBzdGF0 aWMgdWludDMyX3QNCj52bWJ1c19nZXRfdmNwdV9pZF9tZXRob2QoZGV2aWNlX3QgYnVzLA0KPj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlX3QgZGV2LCBpbnQgY3B1 KTsNCj4+ICBzdGF0aWMgc3RydWN0IHRhc2txdWV1ZSAgICAgICAgICAgICAgICAqdm1idXNfZ2V0 X2V2ZW50dHFfbWV0aG9kKGRldmljZV90LCBkZXZpY2VfdCwNCj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludCk7IC0jaWZkZWYgRUFSTFlfQVBfU1RBUlRVUA0KPj4gKyNp ZiBkZWZpbmVkKEVBUkxZX0FQX1NUQVJUVVApIHx8IGRlZmluZWQoX19hYXJjaDY0X18pDQo+PiAg c3RhdGljIHZvaWQgICAgICAgICAgICAgICAgICAgIHZtYnVzX2ludHJob29rKHZvaWQgKik7DQo+ PiAgI2VuZGlmDQo+Pg0KPg0KPk15IGd1dCByZWFjdGlvbiB0byB0aGlzIGlzIHRoYXQgdGhpcyBp cyBhIHJlZCBmbGFnLiBFQVJMWV9BUF9TVEFSVFVQIGltcGxpZXMNCj5jaGFyYWN0ZXJpc3RpY3Mg dGhhdCBhYXJjaDY0IGRvZXNuJ3QgZXhoaWJpdDsgaXQncyBoYXJkIHRvIHNlZSB3aHkgdGhpcyBj b25kaXRpb25hbCBpcw0KPk9LLCBvciB3aGV0aGVyIGl0J3MgdGVzdGluZyBFQVJMWV9BUF9TVEFS VFVQIGFzIGEgYmFkIHdheSB0byB3cml0ZSBfX2kzODZfXyB8fA0KPl9fYW1kNjRfXy4NCltTb3Vy YWRlZXBdIFdlIGhhZCBvcidkIHRoZSBhYXJjaDY0IGhlcmUsIGFzIHdlIHdhbnRlZCB0byBkZWZl ciB0aGUgdm1idXMgYXR0YWNobWVudA0KYWZ0ZXIgZ2ljIGFuZCBhcm0gZ2VuZXJpYyB0aW1lciBp cyBhdHRhY2hlZC4gQXMgd2UgbmVlZCBQQVVTRSBhbmQgREVMQVkgZm9yIHZtYnVzIGFuZCBoeXBl ci12IA0KZHJpdmVycy4gRm9yIHRoYXQgd2Ugd2FudGVkIHRvIHVzZSB2bWJ1c19pbnRyaG9vaygp Lg0KPg0KPj4gWy4uLiBzbmlwIC4uLl0NCj4+IEBAIC03NjAsNyArNzM2LDcgQEAgdm1idXNfc3lu aWNfc2V0dXAodm9pZCAqeHNjKQ0KPj4NCj4+ICAgICAgICAgaWYgKGh5cGVydl9mZWF0dXJlcyAm IENQVUlEX0hWX01TUl9WUF9JTkRFWCkgew0KPj4gICAgICAgICAgICAgICAgIC8qIFNhdmUgdmly dHVhbCBwcm9jZXNzb3IgaWQuICovDQo+PiAtICAgICAgICAgICAgICAgVk1CVVNfUENQVV9HRVQo c2MsIHZjcHVpZCwgY3B1KSA9IHJkbXNyKE1TUl9IVl9WUF9JTkRFWCk7DQo+PiArICAgICAgICAg ICAgICAgVk1CVVNfUENQVV9HRVQoc2MsIHZjcHVpZCwgY3B1KSA9DQo+PiArIFJETVNSKE1TUl9I Vl9WUF9JTkRFWCk7DQo+PiAgICAgICAgIH0gZWxzZSB7DQo+PiAgICAgICAgICAgICAgICAgLyog U2V0IHZpcnR1YWwgcHJvY2Vzc29yIGlkIHRvIDAgZm9yIGNvbXBhdGliaWxpdHkuICovDQo+PiAg ICAgICAgICAgICAgICAgVk1CVVNfUENQVV9HRVQoc2MsIHZjcHVpZCwgY3B1KSA9IDA7DQo+DQo+ VGhpcyBvbmUsIHZtYnVzX3N5bmljX3NldHVwKCksIGlzIGludm9rZWQgdmlhIHZtYnVzX2ludHJo b29rIC0+IHZtYnVzX2RvYXR0YWNoIC0NCj4+IHNtcF9yZW5kZXp2b3VzLiBPbiAhRUFSTFlfQVBf U1RBUlRVUCAoZS5nLiwgYWFyY2g2NCksIFNNUCBpc24ndCBmdW5jdGlvbmFsIGluDQo+aW50cmhv b2tzIGFuZCBzbXBfcmVuZGV6dm91cygpIHdpbGwganVzdCBjYWxsIHZtYnVzX3N5bmljX3NldHVw KCkgb24gdGhlIGJvb3QgQVAuDQo+VGhlcmUncyBub3RoaW5nIHRoYXQgd2lsbCBpbml0aWFsaXpl IHRoZSBwY3B1IGRhdGEgb24gZXZlcnkgb3RoZXIgQVAsIEFGQUlDVC4NCj4NCj5UaGF0IHNhaWQs IHRoZSAhRUFSTFlfQVBfU1RBUlRVUCBwYXRoIGlzIGFsc28gd3JvbmcuIFF1b3RpbmcgbGluZXMg dGhhdCB3ZXJlbid0IGluDQo+dGhpcyBlLW1haWwgZnJvbSB2bWJ1c19hdHRhY2goKToNCltTb3Vy YWRlZXBdIFRoYW5rcyEgVGhpcyBpcyBhIHJlYWxseSBnb29kIGNhdGNoLCBhbmQgeWVzLCB3ZSBh cmUgbWlzc2luZyB0aGUgc21wIGluaXRpYWxpemF0aW9uDQpkdXJpbmcgdm1idXMgc3luaWMgc2V0 dXAuIA0KPg0KPjE1MjcgI2Vsc2UgICAvKiAhRUFSTFlfQVBfU1RBUlRVUCAqLw0KPjE1MjggICAg ICAgICAvKg0KPjE1MjkgICAgICAgICAgKiBJZiB0aGUgc3lzdGVtIGhhcyBhbHJlYWR5IGJvb3Rl ZCBhbmQgdGhyZWFkDQo+MTUzMCAgICAgICAgICAqIHNjaGVkdWxpbmcgaXMgcG9zc2libGUgaW5k aWNhdGVkIGJ5IHRoZSBnbG9iYWwNCj4xNTMxICAgICAgICAgICogY29sZCBzZXQgdG8gemVybywg d2UganVzdCBjYWxsIHRoZSBkcml2ZXINCj4xNTMyICAgICAgICAgICogaW5pdGlhbGl6YXRpb24g ZGlyZWN0bHkuDQo+MTUzMyAgICAgICAgICAqLw0KPjE1MzQgICAgICAgICBpZiAoIWNvbGQpDQo+ MTUzNSAgICAgICAgICAgICAgICAgdm1idXNfZG9hdHRhY2godm1idXNfc2MpOw0KPjE1MzYgI2Vu ZGlmIC8qIEVBUkxZX0FQX1NUQVJUVVAgIGFuZCBhYXJjaDY0ICovDQo+DQo+VGhlIHR3byBpbW1l ZGlhdGUgaXNzdWVzIEkgc2VlIGlzIHRoYXQgaW4gYSBkZXZpY2VfYXR0YWNoLCBTTVAgd29uJ3Qg YmUgc3RhcnRlZC4gSXQncw0KPmFsc28gZ29pbmcgdG8gYmUgYmVmb3JlIFNJX1NVQl9DT05GSUdV UkUsIHNvIGBjb2xkYCB3aWxsIG5ldmVyIGJlIDAgaGVyZSAtLSB0aGlzIGlzDQo+ZWZmZWN0aXZl bHkgZGVhZCBjb2RlLCBhbmQgaWYgaXQgd2VyZW4ndCBkZWFkIGNvZGUgaXQgd291bGQgc3VmZmVy IHRoZSBzYW1lIHByb2JsZW0NCj5hcyBhYm92ZSB3aGVyZSBvdGhlciBBUHMgYXJlbid0IHN0YXJ0 ZWQgeWV0IHNvIHdlIHdvbid0IHNldCB0aGVpciBwY3B1IGRhdGEuIFRoaXMgaXMNCj5PSywgdGhv dWdoLCBiZWNhdXNlIHRoZW4gd2UgaGF2ZSB0aGlzIHN5c2luaXQgbGF0ZXIgb24gdGhhdCBkb2Vz IHRoZSBzYW1lIHRoaW5nIGZvcg0KPiFFQVJMWV9BUF9TVEFSVFVQICYmICFfX2FhcmNoNjRfX2As IGJ1dCB0aGF0IHNob3VsZCByZWFsbHkganVzdCBiZQ0KPmAhRUFSTFlfQVBfU1RBUlRVUGAgYXMg YWFyY2g2NCBhbHNvIG5lZWRzIHRvIGludm9rZQ0KPnZtYnVzX2RvYXR0YWNoKCkgYXQgU0lfU1VC X1NNUCAobXVjaCBsYXRlciB0aGFuIFNJX1NVQl9EUklWRVJTKS4NCltTb3VyYWRlZXBdIEkgaGF2 ZSB0cmllZCB0byB1c2UgdGhlIHN1Z2dlc3Rpb24gYnV0IGluIG11bHRpIHByb2Nlc3NvciBzeXN0 ZW0NCnRoZSBib290IGlzIGdldHRpbmcgc3R1Y2sgYXQgdGhlIGVuZCBhbmQgInZtYnVzMDogZGV2 aWNlIHNjYW4sIHByb2JlIGFuZCBhdHRhY2ggZG9uZSINCmlzIG5vdCBoYXBwZW5pbmcuDQpJIGFt IHRyeWluZyB0byBmaWd1cmUgb3V0IHdoYXQgaXMgZ29pbmcgd3JvbmcgaGVyZSwgYXMgdGhlIHNh bWUgY2hhbmdlIGlzIHdvcmtpbmcgd2l0aCBzaW5nbGUNCmNwdSBzeXN0ZW0uIEFueSBoZWxwIG9y IHBvaW50ZXIgd2lsbCBiZSByZWFsbHkgaGVscGZ1bC4NCg0KRm9yIHlvdXIgcmVmZXJlbmNlIEkg YW0gYXR0YWNoaW5nIHRoZSBkaWZmIGhlcmU6DQoNCmRpZmYgLS1naXQgYS9zeXMvZGV2L2h5cGVy di92bWJ1cy92bWJ1cy5jIGIvc3lzL2Rldi9oeXBlcnYvdm1idXMvdm1idXMuYw0KaW5kZXggZjM3 MGYyYTc1Yjk5Li4yNTQ1Mjk3NjQ3NjMgMTAwNjQ0DQotLS0gYS9zeXMvZGV2L2h5cGVydi92bWJ1 cy92bWJ1cy5jDQorKysgYi9zeXMvZGV2L2h5cGVydi92bWJ1cy92bWJ1cy5jDQpAQCAtMTEzLDcg KzExMyw3IEBAIHN0YXRpYyB1aW50MzJfdCAgICAgICAgIHZtYnVzX2dldF92Y3B1X2lkX21ldGhv ZChkZXZpY2VfdCBidXMsDQogICAgICAgICAgICAgICAgICAgIGRldmljZV90IGRldiwgaW50IGNw dSk7DQogc3RhdGljIHN0cnVjdCB0YXNrcXVldWUgICAgICAgICp2bWJ1c19nZXRfZXZlbnR0cV9t ZXRob2QoZGV2aWNlX3QsIGRldmljZV90LA0KICAgICAgICAgICAgICAgICAgICBpbnQpOw0KLSNp ZiBkZWZpbmVkKEVBUkxZX0FQX1NUQVJUVVApIHx8IGRlZmluZWQoX19hYXJjaDY0X18pDQorI2lm IGRlZmluZWQoRUFSTFlfQVBfU1RBUlRVUCkgLy98fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQ0KIHN0 YXRpYyB2b2lkICAgICAgICAgICAgdm1idXNfaW50cmhvb2sodm9pZCAqKTsNCiAjZW5kaWYNCg0K QEAgLTE0OTAsNyArMTQ5MCw3IEBAIHZtYnVzX2V2ZW50X3Byb2NfZHVtbXkoc3RydWN0IHZtYnVz X3NvZnRjICpzYyBfX3VudXNlZCwgaW50IGNwdSBfX3VudXNlZCkNCiB7DQogfQ0KDQotI2lmIGRl ZmluZWQoRUFSTFlfQVBfU1RBUlRVUCkgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykNCisjaWYgZGVm aW5lZChFQVJMWV9BUF9TVEFSVFVQKSAvL3x8IGRlZmluZWQoX19hYXJjaDY0X18pDQoNCiBzdGF0 aWMgdm9pZA0KIHZtYnVzX2ludHJob29rKHZvaWQgKnhzYykNCkBAIC0xNTE5LDcgKzE1MTksNyBA QCB2bWJ1c19hdHRhY2goZGV2aWNlX3QgZGV2KQ0KICAgICAqLw0KICAgIHZtYnVzX3NjLT52bWJ1 c19ldmVudF9wcm9jID0gdm1idXNfZXZlbnRfcHJvY19kdW1teTsNCg0KLSNpZiBkZWZpbmVkKEVB UkxZX0FQX1NUQVJUVVApIHx8IGRlZmluZWQoX19hYXJjaDY0X18pDQorI2lmIGRlZmluZWQoRUFS TFlfQVBfU1RBUlRVUCkgLy98fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQ0KICAgIC8qDQogICAgICog RGVmZXIgdGhlIHJlYWwgYXR0YWNoIHVudGlsIHRoZSBwYXVzZSg5KSB3b3JrcyBhcyBleHBlY3Rl ZC4NCiAgICAgKi8NCkBAIC0xNTMzLDggKzE1MzMsOCBAQCB2bWJ1c19hdHRhY2goZGV2aWNlX3Qg ZGV2KQ0KICAgICAqIGNvbGQgc2V0IHRvIHplcm8sIHdlIGp1c3QgY2FsbCB0aGUgZHJpdmVyDQog ICAgICogaW5pdGlhbGl6YXRpb24gZGlyZWN0bHkuDQogICAgICovDQotICAgaWYgKCFjb2xkKQ0K LSAgICAgICB2bWJ1c19kb2F0dGFjaCh2bWJ1c19zYyk7DQorICAgLyppZiAoIWNvbGQpDQorICAg ICAgIHZtYnVzX2RvYXR0YWNoKHZtYnVzX3NjKTsqLw0KICNlbmRpZiAvKiBFQVJMWV9BUF9TVEFS VFVQICBhbmQgYWFyY2g2NCAqLw0KDQogICAgcmV0dXJuICgwKTsNCkBAIC0xNTgwLDcgKzE1ODAs NyBAQCB2bWJ1c19kZXRhY2goZGV2aWNlX3QgZGV2KQ0KICAgIHJldHVybiAoMCk7DQogfQ0KDQot I2lmICFkZWZpbmVkKEVBUkxZX0FQX1NUQVJUVVApICYmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQ0K KyNpZiAhZGVmaW5lZChFQVJMWV9BUF9TVEFSVFVQKSAvLyYmICFkZWZpbmVkKF9fYWFyY2g2NF9f KQ0KDQogc3RhdGljIHZvaWQNCiB2bWJ1c19zeXNpbml0KHZvaWQgKmFyZyBfX3VudXNlZCkNCj4N Cj5UaGFua3MsDQo+DQo+S3lsZSBFdmFucw0K From nobody Mon Apr 24 14:12:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4nBd61xHz46tB6; Mon, 24 Apr 2023 14:12: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 4Q4nBd5Y9Tz4KLw; Mon, 24 Apr 2023 14:12:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682345529; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yTPConXIgMUpXfVxBxZzAs97B3r5FKqq7l83SpbZStw=; b=lafrS6wZVO+N6c38fHQQwLGmdWY4VtVpIYb7nGTsrD+RihKaz1cCA8etHTT/wjnMXZ+Yh1 xo3I2ZoPMMPuqYZ8PT8b7iw19oqI4sgv+7300DSV0UNdfKW08NMdXNh0f7EsIAyro4V+Dr ELUrrstuJdT183W6HfU3DLSuDn+NR9EFau0vNuW9hRdX1qTluwhyd9L/AhFu5WHpXB7X16 ZR1ybqArRG3nzsm404Dk0B7lNfDotmxzLpZvBEm6jmOzirlpEzaInG81pFq87r1jtl7spk 1c2e/oIXp1KirCKFStGdMQx20EohOl94x/pVqyIEAfqYtIESImT0Xs/6iT0Pxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682345529; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yTPConXIgMUpXfVxBxZzAs97B3r5FKqq7l83SpbZStw=; b=Exx5IOLhdHV5/UBalWzQCG+fEJo8c/mcJRq4YuFCEXxxNDIvT50HheGyisxllrwW8gel9F JeJzqFhR6CkZCljoIu0zxaBRPOuG0og8u1suj6CQsrRxoDDNWXUugoXntMb253FmIJFQnd GCfaK07ZNRZpifYL/dzKQzilusbZMHUONPio8II3KG9jGDA7BZpNhE4Sw9WWgyaVWm3ITV LwkbNdxKlMSMiHKqB6gNZdhqDiDeyLYWSZKzuD1HoLXe1Pdc3XVLL5wPqKw3j3yq+0OXOD 60ZMAVxgeHblBY29Zk3LE4lV9mJY8Yw7p/lgHBLz7C7eL7YPCJN0wJFY/Zk/JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682345529; a=rsa-sha256; cv=none; b=e8agcRnn5++lrmTcn0I5uD6A6tczSMAULEvGvvb/sHj1K7xMZVNOuHYrWUtRD7IoGHlayd +uv6hn56Vo5VGDBGiOSyCatB/l3y4fXUzwDl+954Trd85G7YMJUKH9tHsA0xOcTra2JE0j 5VOavnmxoGEJNJ1riAVxaAKXLGTOZjpmqzBulSlf5rjEWhGhwks6h/RRP+TqGkGZqcISIH z8SP2IYn/ilsdfREirdGf6tJnyZBurUSPqUsJ622pN9QVzh2wDPN8u9yE1KQFrZKvaMZdm zbJuGIYgnYbvoJfnt2NXgq89edLOEsugPfLGVeoho8jWeNCAqy3OJElngMDftQ== 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 4Q4nBd4dtRzT3q; Mon, 24 Apr 2023 14:12: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 33OEC9uV034529; Mon, 24 Apr 2023 14:12:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OEC9gi034528; Mon, 24 Apr 2023 14:12:09 GMT (envelope-from git) Date: Mon, 24 Apr 2023 14:12:09 GMT Message-Id: <202304241412.33OEC9gi034528@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: 97583aa25675 - main - linuxkpi: Migrate to IfAPI List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 97583aa2567589cb83540d2d9de1980b76db9a99 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=97583aa2567589cb83540d2d9de1980b76db9a99 commit 97583aa2567589cb83540d2d9de1980b76db9a99 Author: Justin Hibbits AuthorDate: 2023-04-03 14:48:28 +0000 Commit: Justin Hibbits CommitDate: 2023-04-24 13:54:22 +0000 linuxkpi: Migrate to IfAPI Summary: Trivial changes for LinuxKPI to use IfAPI. The 'bsdifp' looks unused, so removed it instead of converting it to a pointer. Bump __FreeBSD_version for change to struct net_device. Reviewed by: bz, hselasky Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D39491 --- sys/compat/linuxkpi/common/include/linux/if_vlan.h | 2 +- sys/compat/linuxkpi/common/include/linux/netdevice.h | 3 --- sys/sys/param.h | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/if_vlan.h b/sys/compat/linuxkpi/common/include/linux/if_vlan.h index 7c5531f6ec11..2cbb9b7e0b54 100644 --- a/sys/compat/linuxkpi/common/include/linux/if_vlan.h +++ b/sys/compat/linuxkpi/common/include/linux/if_vlan.h @@ -44,7 +44,7 @@ static inline int is_vlan_dev(struct ifnet *ifp) { - return (ifp->if_type == IFT_L2VLAN); + return (if_gettype(ifp) == IFT_L2VLAN); } static inline uint16_t diff --git a/sys/compat/linuxkpi/common/include/linux/netdevice.h b/sys/compat/linuxkpi/common/include/linux/netdevice.h index 8653b5df68bd..1093f3cff080 100644 --- a/sys/compat/linuxkpi/common/include/linux/netdevice.h +++ b/sys/compat/linuxkpi/common/include/linux/netdevice.h @@ -106,9 +106,6 @@ struct net_device_ops { }; struct net_device { - /* BSD specific for compat. */ - struct ifnet bsdifp; - /* net_device fields seen publicly. */ /* XXX can we later make some aliases to ifnet? */ char name[IFNAMSIZ]; diff --git a/sys/sys/param.h b/sys/sys/param.h index b6bbe545a5b1..25fac3efde1d 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 1400087 +#define __FreeBSD_version 1400088 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Mon Apr 24 14:12:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4nBg2c6rz46t6S; Mon, 24 Apr 2023 14:12: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 4Q4nBf71PJz4KH5; Mon, 24 Apr 2023 14:12:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682345531; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=60RsWzROegOqg1XYTQCrsSUQCOq3U4j1DHMsfk2drts=; b=E5SYAe4hAiiMablCns2wlJb0QyN/obLQx/mBYsgcYVnuKM9AF75uyPNA08/9E69pYq3Lo5 fHqEl3Md/G7zvOjiwtT+snVHbGXmBbB2cinnzvLNB/2CO9TYGuHU+FoU/y/4W7zIxPW0kF qvUSGutaz+Tuix57ogGusfsh6w6+76F8ddDZ3eK0NGZB6evPftho/MwP1cZj6Rzs6MAexS 8AlIYE0Wnd6HArSmCSQpJcy51CAktEWH8E1u2Q/p2UOQi9tB7+I5awPCF4/D12is5+cZo7 C1p9oe5u/Xe5OUw6rHWDRlaDSW2h5/xOqI1la1FX0OcPV48hukx6bkl3xyzg+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682345531; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=60RsWzROegOqg1XYTQCrsSUQCOq3U4j1DHMsfk2drts=; b=dy/LGHo9cj0kOkc4FNbHsCgcE/I7l5HR5FvvsYNwkF7rekGDIXCfXelAHsBkx5UzKgETYH T1ULI53B7WSk8Rqyor07LJl2YhuoMrtPehyYSJtVxoeYWzqcscyy165hLiKwT0SwLZ6ckN sE2TL10t62t56Ir04MyospPeSb2MLokaNP2c7GYMNf16zh9+2hC9+jtVAv7HFglhd0EHTv czVKAomZCmHlMVWCEB34fPlO/ZLEr7gIny5f8GHgq3P/cvWxQ5xO2PLMcE7uPgG/0QWFpE gFRuUgPFwfKeqe7Vkexj0jLT/XvPxWvbtBUPHjkYJ7LGeBqrrDxeVPWuqxnwlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682345531; a=rsa-sha256; cv=none; b=f7Eecmo3GF9GXIRcQjPNQJ9PiYjykMoii0ZkPnjJjfEWmyNV4CIgfgUXFQLIiFbPDRxeFZ xom/WsdAB6qvWGm11MrUsrDfiuU+OQ8LgEQSLtVpfdPZ8iQmXG0NsaMhCKXJVsbT8SEHsy 7ZIpUprJTeAQzfY7q/a/R0jZmslMV/UjEBBeQMYOexqoMpdNG0B1openzeazcn3s7COx8c OnM2oQDVDPODebQdlm634ZVYQG42eiGRr9sdh/BSHO1uawuvnWUrPk7o5orS4QE22RPccW TXoj+Ens2dDSorkVIb6WTEq2yjbXxSkju7ansfS1yHuRLg6foI3wuPrxetMkOg== 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 4Q4nBf5r2KzT3t; Mon, 24 Apr 2023 14:12: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 33OECAPg034548; Mon, 24 Apr 2023 14:12:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OECAjS034547; Mon, 24 Apr 2023 14:12:10 GMT (envelope-from git) Date: Mon, 24 Apr 2023 14:12:10 GMT Message-Id: <202304241412.33OECAjS034547@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: 7814374b7cd5 - main - IfAPI: Hide the macros that touch ifnet members List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7814374b7cd5d905583d4159f5f28b9970fcf5cd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=7814374b7cd5d905583d4159f5f28b9970fcf5cd commit 7814374b7cd5d905583d4159f5f28b9970fcf5cd Author: Justin Hibbits AuthorDate: 2023-04-07 19:13:53 +0000 Commit: Justin Hibbits CommitDate: 2023-04-24 13:54:23 +0000 IfAPI: Hide the macros that touch ifnet members Nothing should be directly touching the ifnet members, which are hidden in , so hide them in the same header to avoid errors from users. Sponsored by: Juniper Networks, Inc. --- sys/net/if_private.h | 17 +++++++++++++++++ sys/net/if_var.h | 17 ----------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/sys/net/if_private.h b/sys/net/if_private.h index 64ebf83f5850..8802b08c6a05 100644 --- a/sys/net/if_private.h +++ b/sys/net/if_private.h @@ -192,6 +192,23 @@ struct ifnet { int if_ispare[4]; /* general use */ }; +#define IF_AFDATA_LOCK_INIT(ifp) \ + mtx_init(&(ifp)->if_afdata_lock, "if_afdata", NULL, MTX_DEF) + +#define IF_AFDATA_WLOCK(ifp) mtx_lock(&(ifp)->if_afdata_lock) +#define IF_AFDATA_WUNLOCK(ifp) mtx_unlock(&(ifp)->if_afdata_lock) +#define IF_AFDATA_LOCK(ifp) IF_AFDATA_WLOCK(ifp) +#define IF_AFDATA_UNLOCK(ifp) IF_AFDATA_WUNLOCK(ifp) +#define IF_AFDATA_TRYLOCK(ifp) mtx_trylock(&(ifp)->if_afdata_lock) +#define IF_AFDATA_DESTROY(ifp) mtx_destroy(&(ifp)->if_afdata_lock) + +#define IF_AFDATA_LOCK_ASSERT(ifp) MPASS(in_epoch(net_epoch_preempt) || mtx_owned(&(ifp)->if_afdata_lock)) +#define IF_AFDATA_WLOCK_ASSERT(ifp) mtx_assert(&(ifp)->if_afdata_lock, MA_OWNED) +#define IF_AFDATA_UNLOCK_ASSERT(ifp) mtx_assert(&(ifp)->if_afdata_lock, MA_NOTOWNED) + +#define IF_LLADDR(ifp) \ + LLADDR((struct sockaddr_dl *)((ifp)->if_addr->ifa_addr)) + #endif /* _KERNEL */ #endif /* _NET_IF_PRIVATE_H_ */ diff --git a/sys/net/if_var.h b/sys/net/if_var.h index e21bf44516cc..98d65be2ef81 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -392,20 +392,6 @@ typedef void (*group_change_event_handler_t)(void *, const char *); EVENTHANDLER_DECLARE(group_change_event, group_change_event_handler_t); #endif /* _SYS_EVENTHANDLER_H_ */ -#define IF_AFDATA_LOCK_INIT(ifp) \ - mtx_init(&(ifp)->if_afdata_lock, "if_afdata", NULL, MTX_DEF) - -#define IF_AFDATA_WLOCK(ifp) mtx_lock(&(ifp)->if_afdata_lock) -#define IF_AFDATA_WUNLOCK(ifp) mtx_unlock(&(ifp)->if_afdata_lock) -#define IF_AFDATA_LOCK(ifp) IF_AFDATA_WLOCK(ifp) -#define IF_AFDATA_UNLOCK(ifp) IF_AFDATA_WUNLOCK(ifp) -#define IF_AFDATA_TRYLOCK(ifp) mtx_trylock(&(ifp)->if_afdata_lock) -#define IF_AFDATA_DESTROY(ifp) mtx_destroy(&(ifp)->if_afdata_lock) - -#define IF_AFDATA_LOCK_ASSERT(ifp) MPASS(in_epoch(net_epoch_preempt) || mtx_owned(&(ifp)->if_afdata_lock)) -#define IF_AFDATA_WLOCK_ASSERT(ifp) mtx_assert(&(ifp)->if_afdata_lock, MA_OWNED) -#define IF_AFDATA_UNLOCK_ASSERT(ifp) mtx_assert(&(ifp)->if_afdata_lock, MA_NOTOWNED) - /* * 72 was chosen below because it is the size of a TCP/IP * header (40) + the minimum mss (32). @@ -564,9 +550,6 @@ void if_data_copy(struct ifnet *, struct if_data *); uint64_t if_get_counter_default(struct ifnet *, ift_counter); void if_inc_counter(struct ifnet *, ift_counter, int64_t); -#define IF_LLADDR(ifp) \ - LLADDR((struct sockaddr_dl *)((ifp)->if_addr->ifa_addr)) - uint64_t if_setbaudrate(if_t ifp, uint64_t baudrate); uint64_t if_getbaudrate(const if_t ifp); int if_setcapabilities(if_t ifp, int capabilities); From nobody Mon Apr 24 14:12:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4nBh1R0Zz46tKK; Mon, 24 Apr 2023 14:12: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 4Q4nBh0Y0wz4KJt; Mon, 24 Apr 2023 14:12:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682345532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jkdpB2zuZVjnKkU/ay4nDD6PoWmCiriFWX1PsMvs/PE=; b=xTwQCnJYB2+OaS/hQYU6udKf3yXAN7op5vUqPkIoviekGcmSAGQQl9cs0Lw9bwwOzVeI9j Ktfp8Ggngxm3hWue1qSJ9ayG1FIqs5jQ0VYhVGL6tU8FjcMxMYIjcXces7oQmimgWnB9Ni e57LoPEX3oUvjCrxxJsbTAs/N19BSdhmy2CDVe8qxd56Pa53AYfXGB04HZKg9Gc90SlAh0 0uZgMWWKwOrBhw4ug3AUk5T8WhnUFuqoHhIXlQ0VPfN4Nx7imL724EKfos1X5ljoqGqw+X ME0BjcVNJ92Rzfk5+uR/RjpNomTf9std1GPqhSp8lauKnDQFFIRBeblvGOjSPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682345532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jkdpB2zuZVjnKkU/ay4nDD6PoWmCiriFWX1PsMvs/PE=; b=x0zilBPRUC59F1jE+KYfmXJxFo/mF5xlqcrGFLFYLlWOSuE9A3oEzE0CPQDr6cHjt4O0hX LRNNTZyt8F78+NNyqObrdAiTvpXjnvUkoIA4iE3z0AgVuEiYS7HJzSgJ2Y4CurDvJpEp22 ykZsxobi6wtV+i6+txnGOcMY8v55xgL62Z3ZceqVU9Et9mHuY5ll7mAmJkxKMHDv6fd1xl 5QLYdsQqx/L4HnGz4nTKzj+ceurYB4/4jL/TrkXvuYP7S3MaCygFa+PsarBK3s8lUeNyXg gnN5KZKwtZztOSxLW3qEjjRNS/b3W5PlSEGEPHz+dnAFxf6EmoIjR+XCGyjJFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682345532; a=rsa-sha256; cv=none; b=ftbHZCs/deU7ojW22b+XbdLrqiO+IsdFwpELt4zvUJeoVzL+9kEyRI+t/YlOw/yaoq3E4q 017suPrOFeBLXBomDOJQqofJGj/qQt54irGtKim6NtSSwqN/Dme5tbuiPFnuU/Ls57B/V9 GRR/olO+xcZd96rMF37dJ9reZDBkn8vUbQkMnnGGmSIzPcgpLReAEmf7hJBGrY0cCVOyDE K0K3N76VYuSekmloLGJ/FHnDNfZzt6G8Mqygheq6gVkke/Gh+GdJvP+aXeTK5GoIcC4A/U J2Xd0EoDTUIm6tFAW12vPqBXilNXQznB5kT/sWj0x3+ASBaq7H/cd0hkZaBfaQ== 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 4Q4nBg6YJRzT0r; Mon, 24 Apr 2023 14:12: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 33OECB9v034567; Mon, 24 Apr 2023 14:12:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OECBv3034566; Mon, 24 Apr 2023 14:12:11 GMT (envelope-from git) Date: Mon, 24 Apr 2023 14:12:11 GMT Message-Id: <202304241412.33OECBv3034566@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: 02f3b17fa596 - main - Mechanically convert Xen netfront/netback(4) to IfAPI List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 02f3b17fa5967b15d3841d9f7df56264557d1bfb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=02f3b17fa5967b15d3841d9f7df56264557d1bfb commit 02f3b17fa5967b15d3841d9f7df56264557d1bfb Author: Justin Hibbits AuthorDate: 2022-03-01 17:52:45 +0000 Commit: Justin Hibbits CommitDate: 2023-04-24 13:54:23 +0000 Mechanically convert Xen netfront/netback(4) to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37800 --- sys/dev/xen/netback/netback.c | 124 ++++++++++++++-------------- sys/dev/xen/netfront/netfront.c | 179 ++++++++++++++++++++-------------------- 2 files changed, 153 insertions(+), 150 deletions(-) diff --git a/sys/dev/xen/netback/netback.c b/sys/dev/xen/netback/netback.c index ddd5218a8936..3c6ebde3ee49 100644 --- a/sys/dev/xen/netback/netback.c +++ b/sys/dev/xen/netback/netback.c @@ -147,20 +147,20 @@ static void xnb_attach_failed(struct xnb_softc *xnb, static int xnb_shutdown(struct xnb_softc *xnb); static int create_netdev(device_t dev); static int xnb_detach(device_t dev); -static int xnb_ifmedia_upd(struct ifnet *ifp); -static void xnb_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr); +static int xnb_ifmedia_upd(if_t ifp); +static void xnb_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr); static void xnb_intr(void *arg); static int xnb_send(netif_rx_back_ring_t *rxb, domid_t otherend, const struct mbuf *mbufc, gnttab_copy_table gnttab); static int xnb_recv(netif_tx_back_ring_t *txb, domid_t otherend, - struct mbuf **mbufc, struct ifnet *ifnet, + struct mbuf **mbufc, if_t ifnet, gnttab_copy_table gnttab); static int xnb_ring2pkt(struct xnb_pkt *pkt, const netif_tx_back_ring_t *tx_ring, RING_IDX start); static void xnb_txpkt2rsp(const struct xnb_pkt *pkt, netif_tx_back_ring_t *ring, int error); -static struct mbuf *xnb_pkt2mbufc(const struct xnb_pkt *pkt, struct ifnet *ifp); +static struct mbuf *xnb_pkt2mbufc(const struct xnb_pkt *pkt, if_t ifp); static int xnb_txpkt2gnttab(const struct xnb_pkt *pkt, struct mbuf *mbufc, gnttab_copy_table gnttab, @@ -180,9 +180,9 @@ static int xnb_rxpkt2rsp(const struct xnb_pkt *pkt, const gnttab_copy_table gnttab, int n_entries, netif_rx_back_ring_t *ring); static void xnb_stop(struct xnb_softc*); -static int xnb_ioctl(struct ifnet*, u_long, caddr_t); -static void xnb_start_locked(struct ifnet*); -static void xnb_start(struct ifnet*); +static int xnb_ioctl(if_t, u_long, caddr_t); +static void xnb_start_locked(if_t); +static void xnb_start(if_t); static void xnb_ifinit_locked(struct xnb_softc*); static void xnb_ifinit(void*); #ifdef XNB_DEBUG @@ -396,7 +396,7 @@ struct xnb_softc { struct ifmedia sc_media; /** Media carrier info */ - struct ifnet *xnb_ifp; + if_t xnb_ifp; /** Our own private carrier state */ unsigned carrier; @@ -1180,7 +1180,7 @@ xnb_setup_sysctl(struct xnb_softc *xnb) int create_netdev(device_t dev) { - struct ifnet *ifp; + if_t ifp; struct xnb_softc *xnb; int err = 0; uint32_t handle; @@ -1224,18 +1224,18 @@ create_netdev(device_t dev) if (err == 0) { /* Set up ifnet structure */ ifp = xnb->xnb_ifp = if_alloc(IFT_ETHER); - ifp->if_softc = xnb; + if_setsoftc(ifp, xnb); if_initname(ifp, xnb->if_name, IF_DUNIT_NONE); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = xnb_ioctl; - ifp->if_start = xnb_start; - ifp->if_init = xnb_ifinit; - ifp->if_mtu = ETHERMTU; - ifp->if_snd.ifq_maxlen = NET_RX_RING_SIZE - 1; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, xnb_ioctl); + if_setstartfn(ifp, xnb_start); + if_setinitfn(ifp, xnb_ifinit); + if_setmtu(ifp, ETHERMTU); + if_setsendqlen(ifp, NET_RX_RING_SIZE - 1); - ifp->if_hwassist = XNB_CSUM_FEATURES; - ifp->if_capabilities = IFCAP_HWCSUM; - ifp->if_capenable = IFCAP_HWCSUM; + if_sethwassist(ifp, XNB_CSUM_FEATURES); + if_setcapabilities(ifp, IFCAP_HWCSUM); + if_setcapenable(ifp, IFCAP_HWCSUM); ether_ifattach(ifp, xnb->mac); xnb->carrier = 0; @@ -1425,7 +1425,7 @@ static void xnb_intr(void *arg) { struct xnb_softc *xnb; - struct ifnet *ifp; + if_t ifp; netif_tx_back_ring_t *txb; RING_IDX req_prod_local; @@ -1449,7 +1449,7 @@ xnb_intr(void *arg) break; /* Send the packet to the generic network stack */ - (*xnb->xnb_ifp->if_input)(xnb->xnb_ifp, mbufc); + if_input(xnb->xnb_ifp, mbufc); } RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(txb, notify); @@ -1653,7 +1653,7 @@ xnb_txpkt2rsp(const struct xnb_pkt *pkt, netif_tx_back_ring_t *ring, * NULL on failure */ static struct mbuf* -xnb_pkt2mbufc(const struct xnb_pkt *pkt, struct ifnet *ifp) +xnb_pkt2mbufc(const struct xnb_pkt *pkt, if_t ifp) { /** * \todo consider using a memory pool for mbufs instead of @@ -1805,7 +1805,7 @@ xnb_update_mbufc(struct mbuf *mbufc, const gnttab_copy_table gnttab, */ static int xnb_recv(netif_tx_back_ring_t *txb, domid_t otherend, struct mbuf **mbufc, - struct ifnet *ifnet, gnttab_copy_table gnttab) + if_t ifnet, gnttab_copy_table gnttab) { struct xnb_pkt pkt; /* number of tx requests consumed to build the last packet */ @@ -2189,18 +2189,18 @@ xnb_add_mbuf_cksum(struct mbuf *mbufc) static void xnb_stop(struct xnb_softc *xnb) { - struct ifnet *ifp; + if_t ifp; mtx_assert(&xnb->sc_lock, MA_OWNED); ifp = xnb->xnb_ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING | IFF_DRV_OACTIVE); if_link_state_change(ifp, LINK_STATE_DOWN); } static int -xnb_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +xnb_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct xnb_softc *xnb = ifp->if_softc; + struct xnb_softc *xnb = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq*) data; #ifdef INET struct ifaddr *ifa = (struct ifaddr*)data; @@ -2210,10 +2210,10 @@ xnb_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) switch (cmd) { case SIOCSIFFLAGS: mtx_lock(&xnb->sc_lock); - if (ifp->if_flags & IFF_UP) { + if (if_getflags(ifp) & IFF_UP) { xnb_ifinit_locked(xnb); } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { xnb_stop(xnb); } } @@ -2227,14 +2227,14 @@ xnb_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) #ifdef INET mtx_lock(&xnb->sc_lock); if (ifa->ifa_addr->sa_family == AF_INET) { - ifp->if_flags |= IFF_UP; - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | - IFF_DRV_OACTIVE); + if_setflagbits(ifp, IFF_UP, 0); + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { + if_setdrvflagbits(ifp, 0, + IFF_DRV_RUNNING | IFF_DRV_OACTIVE); if_link_state_change(ifp, LINK_STATE_DOWN); - 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); if_link_state_change(ifp, LINK_STATE_UP); } @@ -2251,16 +2251,16 @@ xnb_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) case SIOCSIFCAP: mtx_lock(&xnb->sc_lock); if (ifr->ifr_reqcap & IFCAP_TXCSUM) { - ifp->if_capenable |= IFCAP_TXCSUM; - ifp->if_hwassist |= XNB_CSUM_FEATURES; + if_setcapenablebit(ifp, IFCAP_TXCSUM, 0); + if_sethwassistbits(ifp, XNB_CSUM_FEATURES, 0); } else { - ifp->if_capenable &= ~(IFCAP_TXCSUM); - ifp->if_hwassist &= ~(XNB_CSUM_FEATURES); + if_setcapenablebit(ifp, 0, IFCAP_TXCSUM); + if_sethwassistbits(ifp, 0, XNB_CSUM_FEATURES); } if ((ifr->ifr_reqcap & IFCAP_RXCSUM)) { - ifp->if_capenable |= IFCAP_RXCSUM; + if_setcapenablebit(ifp, IFCAP_RXCSUM, 0); } else { - ifp->if_capenable &= ~(IFCAP_RXCSUM); + if_setcapenablebit(ifp, 0, IFCAP_RXCSUM); } /* * TODO enable TSO4 and LRO once we no longer need @@ -2268,30 +2268,30 @@ xnb_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) */ #if 0 if (ifr->if_reqcap |= IFCAP_TSO4) { - if (IFCAP_TXCSUM & ifp->if_capenable) { + if (IFCAP_TXCSUM & if_getcapenable(ifp)) { printf("xnb: Xen netif requires that " "TXCSUM be enabled in order " "to use TSO4\n"); error = EINVAL; } else { - ifp->if_capenable |= IFCAP_TSO4; - ifp->if_hwassist |= CSUM_TSO; + if_setcapenablebit(ifp, IFCAP_TSO4, 0); + if_sethwassistbits(ifp, CSUM_TSO, 0); } } else { - ifp->if_capenable &= ~(IFCAP_TSO4); - ifp->if_hwassist &= ~(CSUM_TSO); + if_setcapenablebit(ifp, 0, IFCAP_TSO4); + if_sethwassistbits(ifp, 0, (CSUM_TSO)); } if (ifr->ifreqcap |= IFCAP_LRO) { - ifp->if_capenable |= IFCAP_LRO; + if_setcapenablebit(ifp, IFCAP_LRO, 0); } else { - ifp->if_capenable &= ~(IFCAP_LRO); + if_setcapenablebit(ifp, 0, IFCAP_LRO); } #endif mtx_unlock(&xnb->sc_lock); break; case SIOCSIFMTU: - ifp->if_mtu = ifr->ifr_mtu; - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setmtu(ifp, ifr->ifr_mtu); + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); xnb_ifinit(xnb); break; case SIOCADDMULTI: @@ -2309,14 +2309,14 @@ xnb_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } static void -xnb_start_locked(struct ifnet *ifp) +xnb_start_locked(if_t ifp) { netif_rx_back_ring_t *rxb; struct xnb_softc *xnb; struct mbuf *mbufc; RING_IDX req_prod_local; - xnb = ifp->if_softc; + xnb = if_getsoftc(ifp); rxb = &xnb->ring_configs[XNB_RING_TYPE_RX].back_ring.rx_ring; if (!xnb->carrier) @@ -2330,7 +2330,7 @@ xnb_start_locked(struct ifnet *ifp) for (;;) { int error; - IF_DEQUEUE(&ifp->if_snd, mbufc); + mbufc = if_dequeue(ifp); if (mbufc == NULL) break; error = xnb_send(rxb, xnb->otherend_id, mbufc, @@ -2342,7 +2342,7 @@ xnb_start_locked(struct ifnet *ifp) * Requeue pkt and send when space is * available. */ - IF_PREPEND(&ifp->if_snd, mbufc); + if_sendq_prepend(ifp, mbufc); /* * Perhaps the frontend missed an IRQ * and went to sleep. Notify it to wake @@ -2414,11 +2414,11 @@ xnb_send(netif_rx_back_ring_t *ring, domid_t otherend, const struct mbuf *mbufc, } static void -xnb_start(struct ifnet *ifp) +xnb_start(if_t ifp) { struct xnb_softc *xnb; - xnb = ifp->if_softc; + xnb = if_getsoftc(ifp); mtx_lock(&xnb->rx_lock); xnb_start_locked(ifp); mtx_unlock(&xnb->rx_lock); @@ -2428,19 +2428,19 @@ xnb_start(struct ifnet *ifp) static void xnb_ifinit_locked(struct xnb_softc *xnb) { - struct ifnet *ifp; + if_t ifp; ifp = xnb->xnb_ifp; mtx_assert(&xnb->sc_lock, MA_OWNED); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) return; xnb_stop(xnb); - 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); if_link_state_change(ifp, LINK_STATE_UP); } @@ -2459,7 +2459,7 @@ xnb_ifinit(void *xsc) * state has changed. Since we don't have a physical carrier, we don't care */ static int -xnb_ifmedia_upd(struct ifnet *ifp) +xnb_ifmedia_upd(if_t ifp) { return (0); } @@ -2469,7 +2469,7 @@ xnb_ifmedia_upd(struct ifnet *ifp) * state is. Since we don't have a physical carrier, this is very simple */ static void -xnb_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +xnb_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { ifmr->ifm_status = IFM_AVALID|IFM_ACTIVE; ifmr->ifm_active = IFM_ETHER|IFM_MANUAL; diff --git a/sys/dev/xen/netfront/netfront.c b/sys/dev/xen/netfront/netfront.c index cfb6172dbe19..b833dfc0a42d 100644 --- a/sys/dev/xen/netfront/netfront.c +++ b/sys/dev/xen/netfront/netfront.c @@ -129,7 +129,7 @@ static void xn_rxq_intr(struct netfront_rxq *); static void xn_txq_intr(struct netfront_txq *); static void xn_intr(void *); static int xn_assemble_tx_request(struct netfront_txq *, struct mbuf *); -static int xn_ioctl(struct ifnet *, u_long, caddr_t); +static int xn_ioctl(if_t, u_long, caddr_t); static void xn_ifinit_locked(struct netfront_info *); static void xn_ifinit(void *); static void xn_stop(struct netfront_info *); @@ -139,15 +139,15 @@ static void netif_free(struct netfront_info *info); static int netfront_detach(device_t dev); static int xn_txq_mq_start_locked(struct netfront_txq *, struct mbuf *); -static int xn_txq_mq_start(struct ifnet *, struct mbuf *); +static int xn_txq_mq_start(if_t, struct mbuf *); static int talk_to_backend(device_t dev, struct netfront_info *info); static int create_netdev(device_t dev); static void netif_disconnect_backend(struct netfront_info *info); static int setup_device(device_t dev, struct netfront_info *info, unsigned long); -static int xn_ifmedia_upd(struct ifnet *ifp); -static void xn_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr); +static int xn_ifmedia_upd(if_t ifp); +static void xn_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr); static int xn_connect(struct netfront_info *); static void xn_kick_rings(struct netfront_info *); @@ -215,7 +215,7 @@ struct netfront_txq { }; struct netfront_info { - struct ifnet *xn_ifp; + if_t xn_ifp; struct mtx sc_lock; @@ -637,14 +637,14 @@ talk_to_backend(device_t dev, struct netfront_info *info) message = "writing feature-sg"; goto abort_transaction; } - if ((info->xn_ifp->if_capenable & IFCAP_LRO) != 0) { + if ((if_getcapenable(info->xn_ifp) & IFCAP_LRO) != 0) { err = xs_printf(xst, node, "feature-gso-tcpv4", "%d", 1); if (err != 0) { message = "writing feature-gso-tcpv4"; goto abort_transaction; } } - if ((info->xn_ifp->if_capenable & IFCAP_RXCSUM) == 0) { + if ((if_getcapenable(info->xn_ifp) & IFCAP_RXCSUM) == 0) { err = xs_printf(xst, node, "feature-no-csum-offload", "%d", 1); if (err != 0) { message = "writing feature-no-csum-offload"; @@ -685,7 +685,7 @@ static void xn_txq_start(struct netfront_txq *txq) { struct netfront_info *np = txq->info; - struct ifnet *ifp = np->xn_ifp; + if_t ifp = np->xn_ifp; XN_TX_LOCK_ASSERT(txq); if (!drbr_empty(ifp, txq->br)) @@ -1007,6 +1007,12 @@ out: } #ifdef INET +static u_int +netfront_addr_cb(void *arg, struct ifaddr *a, u_int count) +{ + arp_ifinit((if_t)arg, a); + return (1); +} /** * If this interface has an ipv4 address, send an arp for it. This * helps to get the network going again after migrating hosts. @@ -1014,15 +1020,10 @@ out: static void netfront_send_fake_arp(device_t dev, struct netfront_info *info) { - struct ifnet *ifp; - struct ifaddr *ifa; + if_t ifp; ifp = info->xn_ifp; - CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { - if (ifa->ifa_addr->sa_family == AF_INET) { - arp_ifinit(ifp, ifa); - } - } + if_foreach_addr_type(ifp, AF_INET, netfront_addr_cb, ifp); } #endif @@ -1036,7 +1037,7 @@ netfront_backend_changed(device_t dev, XenbusState newstate) DPRINTK("newstate=%d\n", newstate); - CURVNET_SET(sc->xn_ifp->if_vnet); + CURVNET_SET(if_getvnet(sc->xn_ifp)); switch (newstate) { case XenbusStateInitialising: @@ -1228,7 +1229,7 @@ xn_release_rx_bufs(struct netfront_rxq *rxq) static void xn_rxeof(struct netfront_rxq *rxq) { - struct ifnet *ifp; + if_t ifp; struct netfront_info *np = rxq->info; #if (defined(INET) || defined(INET6)) struct lro_ctrl *lro = &rxq->lro; @@ -1313,16 +1314,16 @@ xn_rxeof(struct netfront_rxq *rxq) if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); #if (defined(INET) || defined(INET6)) /* Use LRO if possible */ - if ((ifp->if_capenable & IFCAP_LRO) == 0 || + if ((if_getcapenable(ifp) & IFCAP_LRO) == 0 || lro->lro_cnt == 0 || tcp_lro_rx(lro, m, 0)) { /* * If LRO fails, pass up to the stack * directly. */ - (*ifp->if_input)(ifp, m); + if_input(ifp, m); } #else - (*ifp->if_input)(ifp, m); + if_input(ifp, m); #endif } @@ -1339,7 +1340,7 @@ xn_txeof(struct netfront_txq *txq) { RING_IDX i, prod; unsigned short id; - struct ifnet *ifp; + if_t ifp; netif_tx_response_t *txr; struct mbuf *m; struct netfront_info *np = txq->info; @@ -1387,7 +1388,7 @@ xn_txeof(struct netfront_txq *txq) txq->mbufs_cnt--; mbuf_release(m); /* Only mark the txq active if we've freed up at least one slot to try */ - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } txq->ring.rsp_cons = prod; @@ -1589,7 +1590,7 @@ static int xn_assemble_tx_request(struct netfront_txq *txq, struct mbuf *m_head) { struct netfront_info *np = txq->info; - struct ifnet *ifp = np->xn_ifp; + if_t ifp = np->xn_ifp; int otherend_id, error, nfrags; bus_dma_segment_t *segs = txq->segs; struct mbuf_xennet *tag; @@ -1768,7 +1769,7 @@ xn_assemble_tx_request(struct netfront_txq *txq, struct mbuf *m_head) static void xn_ifinit_locked(struct netfront_info *np) { - struct ifnet *ifp; + if_t ifp; int i; struct netfront_rxq *rxq; @@ -1776,7 +1777,7 @@ xn_ifinit_locked(struct netfront_info *np) ifp = np->xn_ifp; - if (ifp->if_drv_flags & IFF_DRV_RUNNING || !netfront_carrier_ok(np)) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING || !netfront_carrier_ok(np)) return; xn_stop(np); @@ -1791,8 +1792,8 @@ xn_ifinit_locked(struct netfront_info *np) XN_RX_UNLOCK(rxq); } - 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); if_link_state_change(ifp, LINK_STATE_UP); } @@ -1807,9 +1808,9 @@ xn_ifinit(void *xsc) } static int -xn_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +xn_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct netfront_info *sc = ifp->if_softc; + struct netfront_info *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; device_t dev; #ifdef INET @@ -1824,8 +1825,8 @@ xn_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) #ifdef INET XN_LOCK(sc); 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)) xn_ifinit_locked(sc); arp_ifinit(ifp, ifa); XN_UNLOCK(sc); @@ -1838,16 +1839,16 @@ xn_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) #endif break; case SIOCSIFMTU: - if (ifp->if_mtu == ifr->ifr_mtu) + if (if_getmtu(ifp) == ifr->ifr_mtu) break; - ifp->if_mtu = ifr->ifr_mtu; - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setmtu(ifp, ifr->ifr_mtu); + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); xn_ifinit(sc); break; case SIOCSIFFLAGS: XN_LOCK(sc); - if (ifp->if_flags & IFF_UP) { + if (if_getflags(ifp) & IFF_UP) { /* * If only the state of the PROMISC flag changed, * then just use the 'set promisc mode' command @@ -1858,24 +1859,24 @@ xn_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) */ xn_ifinit_locked(sc); } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { xn_stop(sc); } } - sc->xn_if_flags = ifp->if_flags; + sc->xn_if_flags = if_getflags(ifp); XN_UNLOCK(sc); break; case SIOCSIFCAP: - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); reinit = 0; if (mask & IFCAP_TXCSUM) { - ifp->if_capenable ^= IFCAP_TXCSUM; - ifp->if_hwassist ^= XN_CSUM_FEATURES; + if_togglecapenable(ifp, IFCAP_TXCSUM); + if_togglehwassist(ifp, XN_CSUM_FEATURES); } if (mask & IFCAP_TSO4) { - ifp->if_capenable ^= IFCAP_TSO4; - ifp->if_hwassist ^= CSUM_TSO; + if_togglecapenable(ifp, IFCAP_TSO4); + if_togglehwassist(ifp, CSUM_TSO); } if (mask & (IFCAP_RXCSUM | IFCAP_LRO)) { @@ -1883,9 +1884,9 @@ xn_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) reinit = 1; if (mask & IFCAP_RXCSUM) - ifp->if_capenable ^= IFCAP_RXCSUM; + if_togglecapenable(ifp, IFCAP_RXCSUM); if (mask & IFCAP_LRO) - ifp->if_capenable ^= IFCAP_LRO; + if_togglecapenable(ifp, IFCAP_LRO); } if (reinit == 0) @@ -1943,13 +1944,13 @@ xn_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) static void xn_stop(struct netfront_info *sc) { - struct ifnet *ifp; + if_t ifp; XN_LOCK_ASSERT(sc); ifp = sc->xn_ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING | IFF_DRV_OACTIVE); if_link_state_change(ifp, LINK_STATE_DOWN); } @@ -2077,9 +2078,9 @@ xn_query_features(struct netfront_info *np) "feature-gso-tcpv4", NULL, "%d", &val) != 0) val = 0; - np->xn_ifp->if_capabilities &= ~(IFCAP_TSO4|IFCAP_LRO); + if_setcapabilitiesbit(np->xn_ifp, 0, IFCAP_TSO4 | IFCAP_LRO); if (val) { - np->xn_ifp->if_capabilities |= IFCAP_TSO4|IFCAP_LRO; + if_setcapabilitiesbit(np->xn_ifp, IFCAP_TSO4 | IFCAP_LRO, 0); printf(" feature-gso-tcp4"); } @@ -2091,9 +2092,9 @@ xn_query_features(struct netfront_info *np) "feature-no-csum-offload", NULL, "%d", &val) != 0) val = 0; - np->xn_ifp->if_capabilities |= IFCAP_HWCSUM; + if_setcapabilitiesbit(np->xn_ifp, IFCAP_HWCSUM, 0); if (val) { - np->xn_ifp->if_capabilities &= ~(IFCAP_HWCSUM); + if_setcapabilitiesbit(np->xn_ifp, 0, IFCAP_HWCSUM); printf(" feature-no-csum-offload"); } @@ -2107,49 +2108,50 @@ xn_configure_features(struct netfront_info *np) #if (defined(INET) || defined(INET6)) int i; #endif - struct ifnet *ifp; + if_t ifp; ifp = np->xn_ifp; err = 0; - if ((ifp->if_capenable & ifp->if_capabilities) == ifp->if_capenable) { + if ((if_getcapenable(ifp) & if_getcapabilities(ifp)) == if_getcapenable(ifp)) { /* Current options are available, no need to do anything. */ return (0); } /* Try to preserve as many options as possible. */ - cap_enabled = ifp->if_capenable; - ifp->if_capenable = ifp->if_hwassist = 0; + cap_enabled = if_getcapenable(ifp); + if_setcapenable(ifp, 0); + if_sethwassist(ifp, 0); #if (defined(INET) || defined(INET6)) if ((cap_enabled & IFCAP_LRO) != 0) for (i = 0; i < np->num_queues; i++) tcp_lro_free(&np->rxq[i].lro); if (xn_enable_lro && - (ifp->if_capabilities & cap_enabled & IFCAP_LRO) != 0) { - ifp->if_capenable |= IFCAP_LRO; + (if_getcapabilities(ifp) & cap_enabled & IFCAP_LRO) != 0) { + if_setcapenablebit(ifp, IFCAP_LRO, 0); for (i = 0; i < np->num_queues; i++) { err = tcp_lro_init(&np->rxq[i].lro); if (err != 0) { device_printf(np->xbdev, "LRO initialization failed\n"); - ifp->if_capenable &= ~IFCAP_LRO; + if_setcapenablebit(ifp, 0, IFCAP_LRO); break; } np->rxq[i].lro.ifp = ifp; } } - if ((ifp->if_capabilities & cap_enabled & IFCAP_TSO4) != 0) { - ifp->if_capenable |= IFCAP_TSO4; - ifp->if_hwassist |= CSUM_TSO; + if ((if_getcapabilities(ifp) & cap_enabled & IFCAP_TSO4) != 0) { + if_setcapenablebit(ifp, IFCAP_TSO4, 0); + if_sethwassistbits(ifp, CSUM_TSO, 0); } #endif - if ((ifp->if_capabilities & cap_enabled & IFCAP_TXCSUM) != 0) { - ifp->if_capenable |= IFCAP_TXCSUM; - ifp->if_hwassist |= XN_CSUM_FEATURES; + if ((if_getcapabilities(ifp) & cap_enabled & IFCAP_TXCSUM) != 0) { + if_setcapenablebit(ifp, IFCAP_TXCSUM, 0); + if_sethwassistbits(ifp, XN_CSUM_FEATURES, 0); } - if ((ifp->if_capabilities & cap_enabled & IFCAP_RXCSUM) != 0) - ifp->if_capenable |= IFCAP_RXCSUM; + if ((if_getcapabilities(ifp) & cap_enabled & IFCAP_RXCSUM) != 0) + if_setcapenablebit(ifp, IFCAP_RXCSUM, 0); return (err); } @@ -2158,7 +2160,7 @@ static int xn_txq_mq_start_locked(struct netfront_txq *txq, struct mbuf *m) { struct netfront_info *np; - struct ifnet *ifp; + if_t ifp; struct buf_ring *br; int error, notify; @@ -2169,7 +2171,7 @@ xn_txq_mq_start_locked(struct netfront_txq *txq, struct mbuf *m) XN_TX_LOCK_ASSERT(txq); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0 || !netfront_carrier_ok(np)) { if (m != NULL) error = drbr_enqueue(ifp, br, m); @@ -2209,13 +2211,13 @@ xn_txq_mq_start_locked(struct netfront_txq *txq, struct mbuf *m) } static int -xn_txq_mq_start(struct ifnet *ifp, struct mbuf *m) +xn_txq_mq_start(if_t ifp, struct mbuf *m) { struct netfront_info *np; struct netfront_txq *txq; int i, npairs, error; - np = ifp->if_softc; + np = if_getsoftc(ifp); npairs = np->num_queues; if (!netfront_carrier_ok(np)) @@ -2243,14 +2245,14 @@ xn_txq_mq_start(struct ifnet *ifp, struct mbuf *m) } static void -xn_qflush(struct ifnet *ifp) +xn_qflush(if_t ifp) { struct netfront_info *np; struct netfront_txq *txq; struct mbuf *m; int i; - np = ifp->if_softc; + np = if_getsoftc(ifp); for (i = 0; i < np->num_queues; i++) { txq = &np->txq[i]; @@ -2273,7 +2275,7 @@ create_netdev(device_t dev) { struct netfront_info *np; int err; - struct ifnet *ifp; + if_t ifp; np = device_get_softc(dev); @@ -2291,25 +2293,26 @@ create_netdev(device_t dev) /* Set up ifnet structure */ ifp = np->xn_ifp = if_alloc(IFT_ETHER); - ifp->if_softc = np; - if_initname(ifp, "xn", device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = xn_ioctl; + if_setsoftc(ifp, np); + if_initname(ifp, "xn", device_get_unit(dev)); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, xn_ioctl); - ifp->if_transmit = xn_txq_mq_start; - ifp->if_qflush = xn_qflush; + if_settransmitfn(ifp, xn_txq_mq_start); + if_setqflushfn(ifp, xn_qflush); - ifp->if_init = xn_ifinit; + if_setinitfn(ifp, xn_ifinit); - ifp->if_hwassist = XN_CSUM_FEATURES; + if_sethwassist(ifp, XN_CSUM_FEATURES); /* Enable all supported features at device creation. */ - ifp->if_capenable = ifp->if_capabilities = - IFCAP_HWCSUM|IFCAP_TSO4|IFCAP_LRO; - ifp->if_hw_tsomax = 65536 - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN); - ifp->if_hw_tsomaxsegcount = MAX_TX_REQ_FRAGS; - ifp->if_hw_tsomaxsegsize = PAGE_SIZE; + if_setcapabilities(ifp, IFCAP_HWCSUM|IFCAP_TSO4|IFCAP_LRO); + if_setcapenable(ifp, if_getcapabilities(ifp)); + + if_sethwtsomax(ifp, 65536 - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN)); + if_sethwtsomaxsegcount(ifp, MAX_TX_REQ_FRAGS); + if_sethwtsomaxsegsize(ifp, PAGE_SIZE); - ether_ifattach(ifp, np->mac); + ether_ifattach(ifp, np->mac); netfront_carrier_off(np); err = bus_dma_tag_create( @@ -2383,14 +2386,14 @@ netif_disconnect_backend(struct netfront_info *np) } static int -xn_ifmedia_upd(struct ifnet *ifp) +xn_ifmedia_upd(if_t ifp) { return (0); } static void -xn_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +xn_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { ifmr->ifm_status = IFM_AVALID|IFM_ACTIVE; From nobody Mon Apr 24 15:26:37 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4prY3Csfz46ybV; Mon, 24 Apr 2023 15:26: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 4Q4prY2Tm7z3tLt; Mon, 24 Apr 2023 15:26:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682349997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Twk/HJ2WBZ2euIIrNTO2rNNujcoVExAAXFMBKKE+Hew=; b=QETHbl2+GPSkUWyedGs34P8nNIkzu0Y8v3PVzPi2y7zEFBucNINQFMPodEzZqrD5gb+38W lYqhZ5WagUEhoovpmBqy5NTwjHckxxtYpyJ4M+xEYuBb26DLbG+ZhgjvKFbiijg/xyWjTy k0nY9vNKqMbS32G3DGprRV4+B5Atq7XPZA4Kv0u5+y9fzeBktEIjYaTu+uTbe04lKzgACn VOgCzk9w6hhW9dyrwlGAak8r7tUFDhUq/TcGkZOUeEVNbw/H6axfJ44XXj+dQYFQBKMMY0 +dEnr2jurwGQSq8XC5R5sUIo8kMtStBu55eJOAimXYGnQURT55heRjkeNa1z5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682349997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Twk/HJ2WBZ2euIIrNTO2rNNujcoVExAAXFMBKKE+Hew=; b=pK5YySYm4kpFCXj+nS8Zc7RxClMAHcqcyXU6uTxlJi4yBVwnUEYHUYfb5pHvnnT8TzKfbM 1Cb12sn8WDCbh2cHTJc8sOF96OPkNhol+61mcQT6TTWqvdQyNFx7d2WHhEgouogwaTDkyR pTNAskWwSg+wEKqB3Z8hxXHifq/TvgGMZM3vvI8iH5y6iDKP65tmycYKF8JUrZcWZstfdv aeaG1mKwLXqCTheqLJc+i5Gy7khuurJuBOvigwCPy0D/Yn++rajaitc7nKGnhIon+0GGOW FXW7bnE+GNpEWUyBB3E1kT6OXxx5vrrL0iYEFyd+oOFHJweaSX4Wdjr3i1vAHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682349997; a=rsa-sha256; cv=none; b=pQyFuhlaQUBQG68RSN9JUAFOASsfiwvrofb5x/5aCO7dvdNLFl/UnIY52yMlgffrrwfyYw RPu6P3i0nV133psM3yJLB3ZO0nBBc32mBVsryJQrWQLkTLJhigLG7cuWyHfiUYWjnI9DqC 6MTeF8kCDuv33nCWqFCGTMO6rfwLJahyz7JXD3VgQ9B5sNyMRiRnEbLsaJJ8q+Dp2qVOqL emiBjJlLLRoUuZNT3qA7E33YZxahwSitKDRBnpr1fIWkPRdpbySEGhjKW7/FSjiUwvy9HH dy3sKD4e75Z1a/QYGTn1ZvJkirS+eu6Q4sshQOTVJUfLfbOa1QtKA1UX/ByloQ== 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 4Q4prY1R5fzWFn; Mon, 24 Apr 2023 15:26: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 33OFQbx9051077; Mon, 24 Apr 2023 15:26:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OFQbot051076; Mon, 24 Apr 2023 15:26:37 GMT (envelope-from git) Date: Mon, 24 Apr 2023 15:26:37 GMT Message-Id: <202304241526.33OFQbot051076@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: d4c78130f418 - main - powerpc: syscalls.c is standard List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d4c78130f4188a7320b09134f73cfca38ca4c1a7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d4c78130f4188a7320b09134f73cfca38ca4c1a7 commit d4c78130f4188a7320b09134f73cfca38ca4c1a7 Author: Warner Losh AuthorDate: 2023-04-24 15:25:42 +0000 Commit: Warner Losh CommitDate: 2023-04-24 15:25:42 +0000 powerpc: syscalls.c is standard No need to add it here, much less make it optional on ktr. Sponsored by: Netflix --- sys/conf/files.powerpc | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/conf/files.powerpc b/sys/conf/files.powerpc index a55f3e96c196..4a88e66800ae 100644 --- a/sys/conf/files.powerpc +++ b/sys/conf/files.powerpc @@ -183,7 +183,6 @@ dev/usb/controller/ehci_fsl.c optional ehci mpc85xx dev/vt/hw/ofwfb/ofwfb.c optional vt aim kern/subr_atomic64.c optional powerpc | powerpcspe kern/subr_dummy_vdso_tc.c standard -kern/syscalls.c optional ktr kern/subr_sfbuf.c standard libkern/ashldi3.c optional powerpc | powerpcspe libkern/ashrdi3.c optional powerpc | powerpcspe From nobody Mon Apr 24 15:51:17 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qP13Jydz470f3; Mon, 24 Apr 2023 15: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 4Q4qP12lm6z3x53; Mon, 24 Apr 2023 15: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=1682351477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T5sTAJqj6aVnEZwI2wQA0NklPlLm0RbIpleeUBEWOMM=; b=BKvh2eoTw39sa2p4u6uXn8u9a/DH2TFmlbZ3nlcTLZS6CACMcCDaToiHxCFBsJd0qMTFK8 tPHB9HQGT1dBRXYlWweXcblSIPY4aXiFjNNLS6V/j2Ra6qBwN2Td8SpifEa3Hza3jZp2WX H127bTpmCO4gMdZNiJvS8OienV8s3MzCJrj1kZMFbFwT9Ev+R5E1kZZFukJ5lwzafNjbSM qLKGDAQLAmMVii0pDHZIcqDX3/AF/L7+sgGih0Aizvm1OIsbgX0TivOuc+E+M7+dT7wTzG D+zfpr4WDxp8SE6U0XEnEoKbYWFdySfy+J8rlZprp5uvINgiMwn1ytoNj1YeZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T5sTAJqj6aVnEZwI2wQA0NklPlLm0RbIpleeUBEWOMM=; b=eq/UGXtyX7jT0ym9BpXKX1NxYl+e7uD/4jmwdDkAjSiTeiwv21oqw1D6LaZRgekjFQ0k+e z4SKwGmRLi087CA/+4dtFELuNBr8zKwLVbG07EAbCovHpFB0m/YZAsz3UINmsOsn7mjdBB MNjEOqDc+7NboijFGZRwqcHrJ9uwZoxcHr2UYJxgcCpsUS/lAV84c5Y2RJIef8WaOoG5Ok f6i3NINDsHcSluFcJBoQaoG1VqWB9qFwJKz0DssqxvPHdfaDwrdwWiUX0iwvfrnvIeZba4 WeseHLyqz60Yrh1eO3StSDXN1mPrGz2OgrKq7PVztIl9BanS+kINJhDuVo1PIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682351477; a=rsa-sha256; cv=none; b=GgmYfEXELhcO2TRJo5wdMGZMkgI+GPcXoyH8vo2U7KXtv3G1zTznIjX6++eSDExfv5vLmn NYCdpOfEEjcx0G1bBFgaRbJvBMqh7wUiK8rEPTjUGj/EUMfexBW4KChXqO+qMKHyOWAZvP DpddFgXHlGyR28hMhltZ5TJ78hMYF+yRVec/yk25ch5z3dn57bYkTxdeBLqVBOI5BBcTr+ 6qrYYCC9RqnKsH4ai8f0sJoiznWfUINqIqLokSHNUsutu5UeUAGk+qot4kHpOoQZ/ogS80 Xuf7ScysctWzZ5S2iG2EKzPff6mD2eZx4l3KJh5IuXW5FQn81VJozb6C+nrKlg== 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 4Q4qP11rKQzWRB; Mon, 24 Apr 2023 15: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 33OFpHbP096454; Mon, 24 Apr 2023 15: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 33OFpHnX096453; Mon, 24 Apr 2023 15:51:17 GMT (envelope-from git) Date: Mon, 24 Apr 2023 15:51:17 GMT Message-Id: <202304241551.33OFpHnX096453@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: c94e4d91da37 - main - Clean up PCI DEN0115 driver probing List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c94e4d91da37f6216f3c9cd128e508fd334f06e8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c94e4d91da37f6216f3c9cd128e508fd334f06e8 commit c94e4d91da37f6216f3c9cd128e508fd334f06e8 Author: Andrew Turner AuthorDate: 2023-04-24 14:35:56 +0000 Commit: Andrew Turner CommitDate: 2023-04-24 15:34:21 +0000 Clean up PCI DEN0115 driver probing Rather than checking for the SMCCC version check if the PCI_VERSION call returns a valid version. Sponsored by: Arm Ltd --- sys/dev/pci/pci_host_generic_den0115.c | 43 ++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/sys/dev/pci/pci_host_generic_den0115.c b/sys/dev/pci/pci_host_generic_den0115.c index 08cb77cea22c..d620a755a1ca 100644 --- a/sys/dev/pci/pci_host_generic_den0115.c +++ b/sys/dev/pci/pci_host_generic_den0115.c @@ -52,13 +52,14 @@ static device_attach_t pci_host_acpi_smccc_attach; static pcib_read_config_t pci_host_acpi_smccc_read_config; static pcib_write_config_t pci_host_acpi_smccc_write_config; +static bool pci_host_acpi_smccc_pci_version(uint32_t *); + static int pci_host_acpi_smccc_probe(device_t dev) { ACPI_DEVICE_INFO *devinfo; struct resource *res; ACPI_HANDLE h; - uint32_t smccc_version; int rid, root; if (acpi_disabled("pcib") || (h = acpi_get_handle(dev)) == NULL || @@ -80,17 +81,13 @@ pci_host_acpi_smccc_probe(device_t dev) return (ENXIO); } - /* Check the SMCCC is at least v1.1 */ - smccc_version = smccc_get_version(); - if (SMCCC_VERSION_MAJOR(smccc_version) > 1 || - (SMCCC_VERSION_MAJOR(smccc_version) == 1 && - SMCCC_VERSION_MINOR(smccc_version) == 0)) { - device_set_desc(dev, - "ARM PCI Firmware config space host controller"); - return (BUS_PROBE_SPECIFIC); + /* Check for the PCI_VERSION call */ + if (!pci_host_acpi_smccc_pci_version(NULL)) { + return (ENXIO); } - return (EINVAL); + device_set_desc(dev, "ARM PCI Firmware config space host controller"); + return (BUS_PROBE_SPECIFIC); } #define SMCCC_PCI_VERSION \ @@ -134,11 +131,28 @@ pci_host_acpi_smccc_has_feature(uint32_t pci_func_id) return (true); } +static bool +pci_host_acpi_smccc_pci_version(uint32_t *versionp) +{ + struct arm_smccc_res result; + + if (psci_callfn(SMCCC_PCI_VERSION, 0, 0, 0, 0, 0, 0, 0, &result) < 0) { + return (false); + } + + if (versionp != NULL) { + *versionp = result.a0; + } + + return (true); +} + static int pci_host_acpi_smccc_attach(device_t dev) { struct generic_pcie_acpi_softc *sc; struct arm_smccc_res result; + uint32_t version; int end, start; int error; @@ -147,17 +161,16 @@ pci_host_acpi_smccc_attach(device_t dev) MPASS(psci_callfn != NULL); - /* Check there is a version */ - if (psci_callfn(SMCCC_PCI_VERSION, 0, 0, 0, 0, 0, 0, 0, &result) < 0) { + /* Read the version */ + if (!pci_host_acpi_smccc_pci_version(&version)) { device_printf(dev, - "Failed to read the SMCCC PCI version: %lx\n", result.a0); + "Failed to read the SMCCC PCI version\n"); return (ENXIO); } if (bootverbose) { device_printf(dev, "Firmware v%d.%d\n", - SMCCC_PCI_MAJOR((uint32_t)result.a0), - SMCCC_PCI_MINOR((uint32_t)result.a0)); + SMCCC_PCI_MAJOR(version), SMCCC_PCI_MINOR(version)); } if (!pci_host_acpi_smccc_has_feature(SMCCC_PCI_READ) || From nobody Mon Apr 24 15:51:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qQ42N21z4712b for ; Mon, 24 Apr 2023 15:52:12 +0000 (UTC) (envelope-from bT.fcc61prd30=b4j9z3s4h8ek=25o6zyrho5@return.smtpservice.net) Received: from e2i580.smtp2go.com (e2i580.smtp2go.com [103.2.142.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4qQ24MjZz3xyQ for ; Mon, 24 Apr 2023 15:52:10 +0000 (UTC) (envelope-from bT.fcc61prd30=b4j9z3s4h8ek=25o6zyrho5@return.smtpservice.net) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpservice.net; s=mgy720.a1-4.dyn; x=1682352430; h=Feedback-ID: X-Smtpcorp-Track:To:Date:Subject:Message-Id:From:Reply-To:Sender: List-Unsubscribe; bh=GWtVLGr8P1U717p3zaDYbCs+vm2jiL2999cPLeGDZrA=; b=gwOO4QWs VMyKiS5pQJy11O3Tv0qBQjfqZNtxngDc/7rw1TsP7MJ6H4HKGAVmmBrErcfIo3T+IMqUaPRwT4BHV TiZQO69XNDNy2R/ju+Ku0c4BUZUxY4xPKvel6rdR5NOFwxWD3n5ym9YBh9UURYRcgGBHVMJSkDtSr Kk2jn9RALWziGNchV1Dwr4elgreqj042GlvfzCCULSUJAfkY+r99MQzx7fEdjoRCFtjteTT/Y9yad dVs+pEHzODoc58IJYHVIooP/0fRbywUo3bC5Oxxc+zlhzfY1+lkzDUpWRxo8G4MEsgUnAHK5qupfP i1Lifr3ApbSSnPIY/2l6TsyIag==; Received: from [10.176.58.103] (helo=SmtpCorp) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.94.2-S2G) (envelope-from ) id 1pqyU0-qt4Eck-Go; Mon, 24 Apr 2023 15:52:04 +0000 Received: from [10.162.55.164] (helo=morbo.fubar.geek.nz) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.96-S2G) (envelope-from ) id 1pqyU0-9EQBXi-2E; Mon, 24 Apr 2023 15:52:04 +0000 Received: from smtpclient.apple (cpc91210-cmbg18-2-0-cust37.5-4.cable.virginm.net [81.102.44.38]) by morbo.fubar.geek.nz (Postfix) with ESMTPSA id A2D371A213; Mon, 24 Apr 2023 15:52:03 +0000 (UTC) From: Andrew Turner Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_457FB4A9-876C-45BD-9C26-29A12525CBD4" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\)) Subject: Re: git: 7029f2c887a1 - main - Allow pci_host_generic attachments to manage registers Date: Mon, 24 Apr 2023 16:51:52 +0100 In-Reply-To: <54618885-6BE8-4210-BAD4-B5E942A83F9B@fh-muenster.de> Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" To: tuexen@fh-muenster.de References: <202304241134.33OBYBwu071123@gitrepo.freebsd.org> <54618885-6BE8-4210-BAD4-B5E942A83F9B@fh-muenster.de> X-Mailer: Apple Mail (2.3731.400.51.1.1) X-Smtpcorp-Track: 1pqyl09EQUbi2E.RnWXSrS6KNKd_ Feedback-ID: 790814m:790814amQcrys:790814sW1epb7nWL X-Report-Abuse: Please forward a copy of this message, including all headers, to X-Rspamd-Queue-Id: 4Q4qQ24MjZz3xyQ X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:23352, ipnet:103.2.140.0/22, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_457FB4A9-876C-45BD-9C26-29A12525CBD4 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On 24 Apr 2023, at 12:54, tuexen@fh-muenster.de wrote: >=20 >> On 24. Apr 2023, at 13:34, Andrew Turner wrote: >>=20 >> The branch main has been updated by andrew: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D7029f2c887a16c823faf08e8a79dc0d3= 887989ab >>=20 >> commit 7029f2c887a16c823faf08e8a79dc0d3887989ab >> Author: Andrew Turner >> AuthorDate: 2022-06-04 10:59:46 +0000 >> Commit: Andrew Turner >> CommitDate: 2023-04-24 11:33:50 +0000 >>=20 >> Allow pci_host_generic attachments to manage registers >>=20 >> To allow for attachments that don't use memory mapped registers add >> a flag they can set when the base driver shouldn't map them. >>=20 >> Sponsored by: Arm Ltd >> Differential Revision: https://reviews.freebsd.org/D39227 > Not sure if it is related to this commit. But trying to run a kernel = with > this revision on VM Fusion on an M1 MacBook Pro results in: >=20 > Mounting from ufs:/dev/nda0p2 failed with error 19. >=20 > A kernel build with > = https://cgit.FreeBSD.org/src/commit/?id=3D390c31c4289e66f1bd9cb2349d6e55fd= 4dc468f8 = > boots without problems. It should be fixed in c94e4d91da Andrew= --Apple-Mail=_457FB4A9-876C-45BD-9C26-29A12525CBD4 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii

On 24 = Apr 2023, at 12:54, tuexen@fh-muenster.de wrote:

On 24. Apr 2023, = at 13:34, Andrew Turner <andrew@FreeBSD.org> wrote:

The = branch main has been updated by andrew:

URL: = https://cgit.FreeBSD.org/src/commit/?id=3D7029f2c887a16c823faf08e8a79dc0d3= 887989ab

commit = 7029f2c887a16c823faf08e8a79dc0d3887989ab
Author: =     Andrew Turner = <andrew@FreeBSD.org>
AuthorDate: 2022-06-04 10:59:46 = +0000
Commit:     Andrew Turner = <andrew@FreeBSD.org>
CommitDate: 2023-04-24 11:33:50 = +0000

  Allow pci_host_generic attachments to manage = registers

  To allow for attachments that don't use = memory mapped registers add
  a flag they can set when the = base driver shouldn't map them.

  Sponsored by: =   Arm Ltd
  Differential Revision: =  https://reviews.freebsd.org/D39227
Not sure if it is related to this commit. = But trying to run a kernel with
this = revision on VM Fusion on an M1 MacBook Pro results in:

Mounting from ufs:/dev/nda0p2 failed with = error 19.

A kernel build = with
https://cgit.FreeBSD.org/src/commit/?id=3D390c31c4289e66f1bd9cb2349d= 6e55fd4dc468f8<https://cgit.freebsd.org/src/commit/?id=3D390c31c4289e66f1bd9cb2349d= 6e55fd4dc468f8>
boots without problems.

It should be fixed in = c94e4d91da

Andrew
= --Apple-Mail=_457FB4A9-876C-45BD-9C26-29A12525CBD4-- From nobody Mon Apr 24 15:54:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qSF1VYmz4716c; Mon, 24 Apr 2023 15:54: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 4Q4qSF0pzkz3yp1; Mon, 24 Apr 2023 15:54:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ditA86o2MBePg11jbkD2Tu3ae8ZNjB+JCSE7XjcOMsg=; b=whrEb7IARYDzsNm73TACvgr9lukyRcU+qlvyQ7m+Ln3zNg3j1OLrGkjLFmrCD875UMb0+E YTIEqr8Dc6huhNqKxxLYCylXfCExr86CoyloMZY6XWgsPo/A50srfVRAXP5hO9fJbEXZqf gfD4g9T4Ndzi17cIRZYGIoiWjAeepNSucnyMkn0AoHvLqX0H0G5KKlkBqvYNXOzzLcQe+L G4BKKg80euDF1EbiIhLZESd1nixtWLlymEU6MqdeJPv+tHvYW7xX1wrGle5L4R7Kw3Ybs4 IGN3hnbVZHfw/R5W3wmfaWpCwPn5s8IpMi8t7db/7A8k+91xrIBdZhhmg3CKDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ditA86o2MBePg11jbkD2Tu3ae8ZNjB+JCSE7XjcOMsg=; b=YG7aIGxFNss3FXWKKzgDLPpl/vIBcExyBgbmty3cBaCSpohqoxROCdxsONnFElv6GfrmrW ifyZXZjQ5jIiCQSg7yF3gfNPqyPbc8zAS3farvONM/KvldQh9ze71SkQtxL6fhH2Hd36Hc hWMNOc9lxcL1xDmWx7swsGPuCKhC9J0mkLMzGwiDDMDyK/vcYLUpjnbGK/tu0hH/4GQUIa VSV4F9xQoyGz5VEg9tp/RWx54dY0bunA/7OrzflEetYEZO7mKqp19bNP4dHo9pcc145pQ8 uIgXdp2b7HUC1Ua4Mkhm/lItkifRWeHhP5c3y0Q9TGuWEm/rMNHpPm+r/G4E3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682351645; a=rsa-sha256; cv=none; b=JqEtuNXqTMOt+VtaDGbZwLj6XW9KwFZyA1MY5zc8HEN6o0LemKDr22NLoUxQGNTF/p/dIt hgDuF+wID6ce3RLPULc3npFR6Y7ZgKpa3X1AN8kmEuLUsROoa54yfpVUB2QoKc1tsOsW8E ZQ815pdNXo5TMMLPXJ7V60QtLkcjWrqcsWElcvX9akm1SAUNIf/pvjiflkMXJBjxF4zGyI yaRpLp4ShIhIOzuYAmhSlFSBp/1fpKFExlwhWbrgmiPsz1XH90S8w3UnuVawwp3ZlcjWr5 VNcfjWu2IVPWFu3xrlh0sA6U1RRRw4+rMjTMW/5tsJSvObcsWhUsYDJ7YEdcpA== 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 4Q4qSD6zZKzXBJ; Mon, 24 Apr 2023 15:54: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 33OFs4NT099848; Mon, 24 Apr 2023 15:54:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OFs4s4099847; Mon, 24 Apr 2023 15:54:04 GMT (envelope-from git) Date: Mon, 24 Apr 2023 15:54:04 GMT Message-Id: <202304241554.33OFs4s4099847@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: 14b57ade9416 - main - zlib: Silence -Wstrict-prototype warnings. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 14b57ade94168bb6988859892effef5e1868f9b2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=14b57ade94168bb6988859892effef5e1868f9b2 commit 14b57ade94168bb6988859892effef5e1868f9b2 Author: John Baldwin AuthorDate: 2023-04-24 15:53:49 +0000 Commit: John Baldwin CommitDate: 2023-04-24 15:53:49 +0000 zlib: Silence -Wstrict-prototype warnings. Presumably upstream will fix this eventually. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D39724 --- lib/libz/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libz/Makefile b/lib/libz/Makefile index abc490980deb..734da7fa539d 100644 --- a/lib/libz/Makefile +++ b/lib/libz/Makefile @@ -84,4 +84,4 @@ PCFILES= zlib.pc .include -CWARNFLAGS+= ${NO_WDEPRECATED_NON_PROTOTYPE} +CWARNFLAGS+= ${NO_WDEPRECATED_NON_PROTOTYPE} ${NO_WSTRICT_PROTOTYPES} From nobody Mon Apr 24 15:54:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qSG2bPLz471DY; Mon, 24 Apr 2023 15:54: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 4Q4qSG1flNz400M; Mon, 24 Apr 2023 15:54:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0GeSi9gM8NwDHTNlctE2bvj3bm92YjY6+9jFraGPWfc=; b=ZSdjczqT524UEUWPEMrzpIQ2WewhfcIZt6qiigHmNRK23GLNZCSPnD1CFimTUq3gcMUTTJ wMGPVdZwdhFukYXwrWYUktc8LVWLLjrtVzYd7lrnRWVNl5RtNxxX1kk9YyjwZbVATXDPss 91XVfHsGW8tqWW1KAVnQpZwttAyv5beTI/ksZKzi0L1rcCvAXxA1Qs29ebzjZfGc1+QfWY vejKhbqGbXqPXJvsY8tMBNPsxaPb1FyPPR4NPjDKIe3kcR9TpRv4huB6G3znn48X42Lej1 UgP3P0WPqKUNXYLi+tsknZY+/bRI7o2Sq5mdhG4PgQeK3LgTzPtw4q0pVDmbtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0GeSi9gM8NwDHTNlctE2bvj3bm92YjY6+9jFraGPWfc=; b=SA9ydEC8vVsKaRBZct2cFi2iF2YjKu86vd+rpIpadmKNwVYINYeW8PAv+Tqq3P4iL+EGzm GsuXpKzki4KfrCwM7cKEdYzcA4s6F4bHeb4RbX+NXwVf448vYu1plYH7zpm9b3z2Qe26eM vXXMXMmXj+QAiU0vWy7Mfqmv/g4rlIUzkFN4lZIKPVf1jxGU8/reWp1wKRZw0i6ci3C6wE IIXOEn7+ABzo7OEGVS7dsi7nk5BwRTMxUdvfML02Qag83Gn1K/cWzaZC6lFyh4gpgryv1Z piW9Qb7T45ALXD7LMpRJE3qpt+O524DJNEa9WZo4s3T23VnJT4Pm90OVKnhh7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682351646; a=rsa-sha256; cv=none; b=MDVIdfY+SNUaf9H2sBiOIw79si0byFE96wuHb+iJJmrr753YQnA/gav9u85OtSi/MJUuF1 xbbmmvnB9mGehmjSspY64lKPW2GOuP8LPJuA+wKmU/uJcLLSfXgb0NxiQmU14MzKmL4nx1 srY6mp3A+lB1GZBO5RJN/jpHutCuUqoK+VufyvmS1gaMuoytsmylHtTshst+Hvqi5NMdsx C1HM7Aaptw+jm5xTvwDfS6w3WGhCQ8uV8IZ6sm8zIaO1raJy7SdoOzvixQslbm0RWTGQw6 ZfonH/wdJo8zr0drLOiJejnX0Q8rFBkD7iXL9EzUrMAzx8kFkRCc+IYwP/L5hQ== 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 4Q4qSG0ld3zWHq; Mon, 24 Apr 2023 15:54: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 33OFs6SJ099867; Mon, 24 Apr 2023 15:54:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OFs6oe099866; Mon, 24 Apr 2023 15:54:06 GMT (envelope-from git) Date: Mon, 24 Apr 2023 15:54:06 GMT Message-Id: <202304241554.33OFs6oe099866@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: 76318a013dd6 - main - libsmdb: Silence -Wstrict-prototype warnings. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 76318a013dd68d91f2df8c17f834404a9a89c3ab Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=76318a013dd68d91f2df8c17f834404a9a89c3ab commit 76318a013dd68d91f2df8c17f834404a9a89c3ab Author: John Baldwin AuthorDate: 2023-04-24 15:53:49 +0000 Commit: John Baldwin CommitDate: 2023-04-24 15:53:49 +0000 libsmdb: Silence -Wstrict-prototype warnings. Presumably upstream will fix this eventually. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D39725 --- lib/libsmdb/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libsmdb/Makefile b/lib/libsmdb/Makefile index 5dff6b572d1d..9af91b4e8986 100644 --- a/lib/libsmdb/Makefile +++ b/lib/libsmdb/Makefile @@ -25,4 +25,4 @@ sm_os.h: ${SENDMAIL_DIR}/include/sm/os/sm_os_freebsd.h .NOMETA .include -CWARNFLAGS+= ${NO_WDEPRECATED_NON_PROTOTYPE} +CWARNFLAGS+= ${NO_WDEPRECATED_NON_PROTOTYPE} ${NO_WSTRICT_PROTOTYPES} From nobody Mon Apr 24 15:54:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qSH4dClz4716h; Mon, 24 Apr 2023 15:54:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4qSH2cGSz40Pp; Mon, 24 Apr 2023 15:54:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BpoW2Y48XhNQST39zYoxHjn6ZAlYMSk770iKjS1IM/4=; b=bwmes3Kpf2QlC7Xpuxhuyw6rEYynj9NeXlEcZwJMZP7v7MfK01cFlyfuOJbBacu4sqUg11 VUTJ0/xBDJ/eXo+eyEPllRCoH/iPY2JDWPKg52H+VUItT4yowOyhMwT/O8WsogfNeO90++ VhMhNRWiq3Z/M+h1uCs9kFkENGKBocAg8CmmLNXsL0DdcrvUEE6lCnWGO6k6YD0qFbfPPE pkpGkWiydYqza5Kd5lHUvNRgfOxeyWXJR/88b5aWQPTMeatP04Z/Q1dWqW7+sZQi665ueq E58/QEMJilIaPF6LnjBa4xGuhzS1bY7GC8tOzqMsJC1RzgT3OJhv56wcy9vg4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BpoW2Y48XhNQST39zYoxHjn6ZAlYMSk770iKjS1IM/4=; b=fVmeA6yejXEVB5gwjmm9z6f/NUAacrQhJl0RVexQHabZyweuRThMTuxm7/HcnMNDVqp5Tc FcTBmu6r4AnfzWU5uG/bWjGwi9liMnTKQlHMl71+D334xDCa1JunuS+hRfsl2f8yIbF5M/ Acj0vExQYxmTTYcNzN+ic1nEpM/CtSttADXvw8tCZahYVVZCHB52RFZcTJF0i5DXf/prO6 hN8S07Qif3VOwu4Qh9CZteYMIWQtznnTnbnmUlRhzeL1R3l331wT3laPNqsm8ynZpnMj2K QOkhpX2arm91c50GDY0W7H/wuTUBmACL7lcIVSl/10IABab7fRUo2bryja9b3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682351647; a=rsa-sha256; cv=none; b=HaevZqkDo062obGC9h76VljshcwTtvjxG7i471IRF5tloxpiaoCPuosqkqOdVyF5luLSue iQLr7HdI+JCpVMg+9ZnVCFGkWok/Abcs94LCcxDa8vGbnSVYYwuSjVp/3cW0dDFKDjCrHG qqFFlQQ8dW3EswC/551iy4Gfzqa/PEGwBKjPkYowf5ahqid1rR1XP0uGg7msad714p+voT r5HjxzhBqISXgkQodjf5PEDkYvC9rAUnruKQjtsMUNAIDxqK6ZgPOlPzGBJwVjt8Q8q2s7 PWaiojn2SlGvDIzqVybTnNNwMEZOK/CyRUePqzxlJEI6uV3UdZ0JPMUmTynfSw== 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 4Q4qSH1gHKzX5j; Mon, 24 Apr 2023 15:54: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 33OFs7VN099886; Mon, 24 Apr 2023 15:54:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OFs76T099885; Mon, 24 Apr 2023 15:54:07 GMT (envelope-from git) Date: Mon, 24 Apr 2023 15:54:07 GMT Message-Id: <202304241554.33OFs76T099885@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: 0a04bb7a4fef - main - fdisk: Use valid prototypes for function declarations with no arguments. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0a04bb7a4fef8cd7277acc1490803b9939a9b1e1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=0a04bb7a4fef8cd7277acc1490803b9939a9b1e1 commit 0a04bb7a4fef8cd7277acc1490803b9939a9b1e1 Author: John Baldwin AuthorDate: 2023-04-24 15:53:49 +0000 Commit: John Baldwin CommitDate: 2023-04-24 15:53:49 +0000 fdisk: Use valid prototypes for function declarations with no arguments. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D39726 --- sbin/fdisk/fdisk.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sbin/fdisk/fdisk.c b/sbin/fdisk/fdisk.c index a9afd50ed441..451ee21830d2 100644 --- a/sbin/fdisk/fdisk.c +++ b/sbin/fdisk/fdisk.c @@ -449,7 +449,7 @@ main(int argc, char *argv[]) } static void -usage() +usage(void) { fprintf(stderr, "%s%s", "usage: fdisk [-BIaipqstu] [-b bootcode] [-1234] [disk]\n", @@ -610,7 +610,7 @@ change_part(int i) } static void -print_params() +print_params(void) { printf("parameters extracted from in-core disklabel are:\n"); printf("cylinders=%d heads=%d sectors/track=%d (%d blks/cyl)\n\n" @@ -661,14 +661,14 @@ setactive: } static void -change_code() +change_code(void) { if (ok("Do you want to change the boot code?")) init_boot(); } void -get_params_to_use() +get_params_to_use(void) { int tmp; print_params(); @@ -807,7 +807,7 @@ write_disk(off_t sector, void *buf) } static int -get_params() +get_params(void) { int error; u_int u; @@ -845,7 +845,7 @@ get_params() } static int -read_s0() +read_s0(void) { int i; @@ -874,7 +874,7 @@ read_s0() } static int -write_s0() +write_s0(void) { int sector, i; From nobody Mon Apr 24 15:54:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qSJ50T6z471Mt; Mon, 24 Apr 2023 15:54: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 4Q4qSJ3FxHz40YR; Mon, 24 Apr 2023 15:54:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qRvKuSH3l1z9uYPQUXuueBd2Xh22mLAC+ZVzNytHp80=; b=JWmDJORlIBFvgAJJQI/vitZcgXIKl5ke/tL7eVecwWYbWCz6pGxRTnQOg1Zd3WAYSsrgwX FivlDjgaTut7yjJlGi7SMqe2IjFuzVxL7VKvYlqIpb6XJL4fVpP4M1olE/GCWWfsbp9ICm I9Cjis+xo3XJixu1qU7EjZM7KcpsYHj+3omCXctqhuOBMu2X/u2y8wMDfCFvc2VCMorbc+ s72dTAYev3tQb/SeWPCoBEGJIZlDowuKsjfmEJX9JCQJh0Eit2EprsgQvtRYEz+akNwZJd 3FKrNHWkx/lHzRVVzsTdbtieEh9nIsJtupZbMbbV4pNYQQxBia4ioLkzcaLlTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qRvKuSH3l1z9uYPQUXuueBd2Xh22mLAC+ZVzNytHp80=; b=p0ZFV2l0s6tjjL/tLUWZIrOpDR7F+1MEcH+LGmhYQluy/rOX8eXZVq/JoAfMJAzMXTptTH HXwylYKY4GIkNgdAHhRt+3TldY57A6mCnilpl5wDfEXSw7MZh3qwCoaK3X4rDG+3Qf53y0 o3xk4lrKPN4o5qFkLdE2D5+yGPF05AQUNLvZEIiAGsn01CDswE/ageykXY9/KkouJTSJSj ospECAfjp9IbSqnGBkmqaT2P3/rlf42fxb+/ZHhmx/RaqU4fzU7GovNcGpk5VoQNq5DjJ9 dBqkkl4vBguqGzp5gDo+mL1F1yg1khzQVG8Olv3uG0IwMlY+PUmHR0AX3xOrSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682351648; a=rsa-sha256; cv=none; b=adSfubHylNAzDib13U/t/vq+B0iuMqPNdZhmsLGbWwXhyxLbTZiSlYA7h7naPaLxJDouHo 7dBNbpAwdh4hOkMh1CCQS4Nv7Rbf8tMonkjp9gD+7lM3jDPmc+v7O/1ryMkT5ezcmcsRIb ayKdiY1XCYQCadMMFlQVPV55yl4I/2BDpCVmPEsOJpFDpHjucVC5wp7F6FYoW4aw9d7sHa KAtJN7wRN/feQZ5YC/yP3Yz5/S+Fn7B4QKVozpIOqbCr7gEMUkaPUxprznh+pKqfs7DiAd V8bt3z/kYrpDfFspObtaxSlYirNjtizBEsWESkfWIaE4SUhn/oYGwTcXSv6Xng== 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 4Q4qSJ2MsGzX84; Mon, 24 Apr 2023 15:54: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 33OFs8eO099908; Mon, 24 Apr 2023 15:54:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OFs8XG099906; Mon, 24 Apr 2023 15:54:08 GMT (envelope-from git) Date: Mon, 24 Apr 2023 15:54:08 GMT Message-Id: <202304241554.33OFs8XG099906@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: 7b043ce59864 - main - rpc.lockd: Use valid prototypes for function declarations with no arguments. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7b043ce598649e54b9e752a670f6dd9c20391210 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=7b043ce598649e54b9e752a670f6dd9c20391210 commit 7b043ce598649e54b9e752a670f6dd9c20391210 Author: John Baldwin AuthorDate: 2023-04-24 15:53:49 +0000 Commit: John Baldwin CommitDate: 2023-04-24 15:53:49 +0000 rpc.lockd: Use valid prototypes for function declarations with no arguments. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D39727 --- usr.sbin/rpc.lockd/lockd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usr.sbin/rpc.lockd/lockd.c b/usr.sbin/rpc.lockd/lockd.c index 24dacc81a37a..0a4832256b4e 100644 --- a/usr.sbin/rpc.lockd/lockd.c +++ b/usr.sbin/rpc.lockd/lockd.c @@ -845,7 +845,7 @@ sigalarm_handler(void) } void -usage() +usage(void) { errx(1, "usage: rpc.lockd [-d ]" " [-F] [-g ] [-h ] [-p ]"); @@ -904,7 +904,8 @@ init_nsm(void) /* * Out of memory, fatal */ -void out_of_mem() +void +out_of_mem(void) { syslog(LOG_ERR, "out of memory"); exit(2); From nobody Mon Apr 24 15:54:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qSK4QgHz471Dh; Mon, 24 Apr 2023 15:54: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 4Q4qSK3s0Sz40Ym; Mon, 24 Apr 2023 15:54:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E5wmC0RWxk6EN/c7wcYKDxK2GbYwP9om8G8MQQEyES8=; b=bb2VpFCx3OG8914QVGeTYoqmdwG/vMUevGcurFvbI68mO1v3ckiDeMb+5aCoVpYVcrcfD7 01wwUk+gLxsWB6VfrDdkj+lBMHSjkkxketLhtbZ24SULVamCN8Ogs2IIzCT4BIFMYYxYGV kM0XWbQboD5JT3xQ7qs+QDCY/J9yWuau2Aqgs3skNDNSRhrc3tqa+cjSPCPhlRx1ne4UgW BXpIutcxqU88QMnRtd6s5FKK078SxC0NAp5q8jOcYBO/I7VblDPwYD2Cf/GslN9ufhZz0s nQycgcPqUlVqrDbZ6LBkzd+kHEbs0VEa2FKbX4f4XkGH9thsHA20HuTIR7NQuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E5wmC0RWxk6EN/c7wcYKDxK2GbYwP9om8G8MQQEyES8=; b=Zn6k3uN6apAheUjXFNXlD+AlZDgq8OvHitGPCH74uC+yjdBsPgNiXT2j4gq+3fv73Z0e7Q H0N9+BEOdENUPZZk375n3U2e/WDq/l+EsGO9Cgf9IFhkEtcKQA+L27KtX7iBBKQ8y9zFmX h0q8VZYwcndVNCyNKkIHtVA/qKi/RIOJEbRYZyNbryuGpJGTf+/fcrZQIk12DqJ79yxOCQ llFEW17ZmUx5etJu5XTzwNfOWVwUdAKSK1lwFA8IJBH2mfQPKl+LaT5VzTUPflwk06gvbq cHMg0Hlbo6He7X3qq54JduZ9El1f/J66TEW6uJB+3xcTbeUMz5atk4kQ/Fpekw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682351649; a=rsa-sha256; cv=none; b=I2munshFh1zQ4iNFB7tTEPVPr2YKHykc4/9zjaESGqoqfh6Jxr1A3cF7vewVuOCA7l/wS0 H+045KChQhBDdc7AT8twcrGSAB9e75j7HUFsMycE2HNiY/x5kag7JdvwRGApds4VqdtssF fs8NuXS8uTZWPN2Hg7nqgXvT7L7IdY01Vz9M7NqjAre0p+uItXr8X//eZQkl+lbdT6/Fiw rW1ynuSpx6aPBJ5LGytzzVSBKo5KveXGeqXclNHtbUzTsf9uKw7VEckM7kBBsCfkkZG9Si vbzyoVUDeSuOqUm5wAFa+AyV3/3t7/cwQw+digWzGDyH5lXHNV9wntdqO8Sb6w== 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 4Q4qSK2xgQzWWd; Mon, 24 Apr 2023 15:54: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 33OFs9PP099933; Mon, 24 Apr 2023 15:54:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OFs94U099932; Mon, 24 Apr 2023 15:54:09 GMT (envelope-from git) Date: Mon, 24 Apr 2023 15:54:09 GMT Message-Id: <202304241554.33OFs94U099932@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: bd22d268d36c - main - rpc.umntall: Use valid prototype for function declaration with no arguments. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bd22d268d36c94d3806890a0713697ccd1e1f796 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=bd22d268d36c94d3806890a0713697ccd1e1f796 commit bd22d268d36c94d3806890a0713697ccd1e1f796 Author: John Baldwin AuthorDate: 2023-04-24 15:53:49 +0000 Commit: John Baldwin CommitDate: 2023-04-24 15:53:49 +0000 rpc.umntall: Use valid prototype for function declaration with no arguments. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D39728 --- usr.sbin/rpc.umntall/rpc.umntall.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.sbin/rpc.umntall/rpc.umntall.c b/usr.sbin/rpc.umntall/rpc.umntall.c index 74df093e6d18..1ee5c6a7eb41 100644 --- a/usr.sbin/rpc.umntall/rpc.umntall.c +++ b/usr.sbin/rpc.umntall/rpc.umntall.c @@ -261,7 +261,8 @@ xdr_dir(XDR *xdrsp, char *dirp) { } static void -usage() { +usage(void) +{ (void)fprintf(stderr, "%s\n", "usage: rpc.umntall [-kv] [-e expire] [-h host] [-p path]"); exit(1); From nobody Mon Apr 24 15:54:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qSL5S0lz471Ks; Mon, 24 Apr 2023 15:54: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 4Q4qSL4plQz40Qq; Mon, 24 Apr 2023 15:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QGTl+JrEZwy/FxQbCwSoz99lPeZe0Fah6oJoAFm0c9Y=; b=E3hnoYCWOcoyX68iO+YeMJFQuQTeizqfmKijBhD4sLr8ZQNAGpXTrGWfN8o/Icf1v9Zalu 8EgBwK/w8k8kM7PAe0YeJto30oOCJu3FKqw5Gsp9Sz4b3DPtwA6cFme/BZUXxfG8U0nSZz kDKIM4il8Di07S4jxg8FQwAWe9pkEI8dsIJCOdyslC391dXKVgVev9g4B56c27a1LEewQi DXgJuBge1HVujTfvvyFIOcMOVjYJxN7QgvYwK081k09aAZI0P8MD54VS+ymkDF562dyr9H 1idjReq/91sDikaYSJS8U5BauGu+XnCx3R6RMaeT+aTB5aa702VJ3oYp0oP79A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QGTl+JrEZwy/FxQbCwSoz99lPeZe0Fah6oJoAFm0c9Y=; b=HzZoz53XPO1JilElmR9ZDv8YLsHSE357ccp4/fU1EhXfXriYV1Ql+oJkX70tq9/7EN+Amz ugD6Oztvjcdzc0Zo/nsP84/iOvNFGtQHFgbUC0MY6oDO0+eSMQsq9xqpDX9jSvWx2p0Vaa a3N5bLDnm8LVU5VpcFuUgEJAUgXthmMmXJ+CIxY4GBb62KqX6wTGAYqnvJ74E04f5N72qB sD5ufqvzErgvY0X/ODOpcdJ2h+aDm7fitEt1Qc0Rg3myQyNCFoBVkOh4yqAWJrtr3KuP75 8OAfCBuiYh4dDIirVxvdCvIQuhulPcgs67U8PiItX1SUU/saALl+fmV/i8SRzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682351650; a=rsa-sha256; cv=none; b=ZkXhLeYUYJWfVigGLRWWuPue7txNfrkXEx2NFbYwShWqEU1RwNAtuBeM6Ay0WfU11tPTbp 0Dp1ILfRpLA1I0+D7FI4yjBBj+gPi5NSF0f1oNzGlTV21ARN+88/AVOcq6CtVyui0DGFRL Y+1fqM3WXr9mREcMO/Z/MN8PE33on/KUxy8s5N/04pgvMfuU9ZViEQRSOzJwO6Uy5GHooD /yhnZSqD43zX4VUnaC9+o0q8hRitULnvg2jIgBxlu+xEZXLh3l7f5iQcOpljxh2uVkctoP 0yqi1WE0fL7tC0JDZgHCcfDcBkwoITPT/tCKpIERlw4n4Nq/fJkE6OcXL79uIQ== 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 4Q4qSL3sD1zX5k; Mon, 24 Apr 2023 15:54: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 33OFsA83099952; Mon, 24 Apr 2023 15:54:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OFsASW099951; Mon, 24 Apr 2023 15:54:10 GMT (envelope-from git) Date: Mon, 24 Apr 2023 15:54:10 GMT Message-Id: <202304241554.33OFsASW099951@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: 4b75b42ddb8b - main - ndp: Use valid prototypes for function declarations with no arguments. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b75b42ddb8b48c8174bfdb361e7ad1e452e2fe8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4b75b42ddb8b48c8174bfdb361e7ad1e452e2fe8 commit 4b75b42ddb8b48c8174bfdb361e7ad1e452e2fe8 Author: John Baldwin AuthorDate: 2023-04-24 15:53:49 +0000 Commit: John Baldwin CommitDate: 2023-04-24 15:53:49 +0000 ndp: Use valid prototypes for function declarations with no arguments. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D39729 --- usr.sbin/ndp/ndp.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c index 5097c156e624..eaf652507e09 100644 --- a/usr.sbin/ndp/ndp.c +++ b/usr.sbin/ndp/ndp.c @@ -360,7 +360,7 @@ file(char *name) } static void -getsocket() +getsocket(void) { if (s < 0) { s = socket(PF_ROUTE, SOCK_RAW, 0); @@ -854,7 +854,7 @@ ndp_ether_aton(char *a, u_char *n) } static void -usage() +usage(void) { printf("usage: ndp [-nt] hostname\n"); printf(" ndp [-nt] -a | -c | -p | -r | -H | -P | -R\n"); @@ -1096,7 +1096,7 @@ ifinfo(char *ifname, int argc, char **argv) #endif static void -rtrlist() +rtrlist(void) { int mib[] = { CTL_NET, PF_INET6, IPPROTO_ICMPV6, ICMPV6CTL_ND6_DRLIST }; char *buf; @@ -1178,7 +1178,7 @@ rtrlist() } static void -plist() +plist(void) { int mib[] = { CTL_NET, PF_INET6, IPPROTO_ICMPV6, ICMPV6CTL_ND6_PRLIST }; char *buf; @@ -1330,7 +1330,7 @@ plist() } static void -pfx_flush() +pfx_flush(void) { char dummyif[IFNAMSIZ+8]; int sock; @@ -1345,7 +1345,7 @@ pfx_flush() } static void -rtr_flush() +rtr_flush(void) { char dummyif[IFNAMSIZ+8]; int sock; @@ -1360,7 +1360,7 @@ rtr_flush() } static void -harmonize_rtr() +harmonize_rtr(void) { char dummyif[IFNAMSIZ+8]; int sock; @@ -1402,7 +1402,7 @@ setdefif(char *ifname) } static void -getdefif() +getdefif(void) { struct in6_ndifreq ndifreq; char ifname[IFNAMSIZ+8]; From nobody Mon Apr 24 15:54:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qSM6JTvz471Dn; Mon, 24 Apr 2023 15:54: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 4Q4qSM5RRzz40Tx; Mon, 24 Apr 2023 15:54:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351651; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jPL/ty013IOCy92yaKo7AkfPahb5vRq6PU+dK1a5zWg=; b=Wy1RAAXur01RWsKdeM0HRiHGIDJ5j+Cy/dse7tOBg2jqBZJdFZNMlgQwsex8mQucYBLiA3 tEsLv5Uz38zIPVKp97MZYLQ8W3agb9R324yVHEc32JjAwZi5hjGPbyKtuxojXE1ihnv/Ft L2Q6bsreJXGyV6/J8Vh4zNtS0UfZPFXk8YrVyeeY0hoUqNWVXVjPaUqx00Xm73o3vn0ytN VCQGwRbNDYSIu0lLabZPGNbC9/mXmcf07P/xHsQoLIr3KcBR8XB8Ex0a3GGN9QF0UiMQg0 fQVLGC7k7EJwWxDLlah8eOBDpwLAb374TveTaGg6BzEz2IZ7b26WpcV6ZO64YQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351651; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jPL/ty013IOCy92yaKo7AkfPahb5vRq6PU+dK1a5zWg=; b=Qd46L+4sW7V8z+WXU9uhKm/gENE0uE3oqf6uVZ42CJMCoueohsZ3yfV5M82KilWz7cqfG9 Sd4k4ugkoDIc2Bpb/kgTADRpFGpU562mPCJifwiKRfZSWAY4Frx7BuXCa8dozt8hR1R795 CzYYq91ki0cpe6EMRi1H4XxjNnGibtJDG69DSRp+eDsrrNrp9lOs55iqpjKvIGqY0wubEX RWOWeJ0QfCUtuAebHs+LiblQo+OUuIbFeBAn1zBiDJciXnYef0O4dhTEQGb8dxnFVzPpVv hMdd2ucO8Z/QwZ/nnqp8Kr4VJXMG+y6jULHjcPwW4dWqVwpZt+f9WppjnLdjXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682351651; a=rsa-sha256; cv=none; b=QqYzGBjth12qL4NbagFZVnrT232VbS6VMC1/SnoHURJggARNtVGVCI2rFF1DmV2FO045cZ MMeTxyy6qrryJ1U/miujGZE0sB+mCuYJd6tT/bBS6I9gXGw4ri963SnlJgoXoSbU2ZXC/t 8jgwohpX6DocxkBnE/KeSnQGe0qKkMfQ6Aeb02jTaiTGuLcsA8ugpAWTGZhW8C5a7GcCb+ VvwGd0GyZDlY5zpdCkFv7GEvKAxn74mzB5/DnKVLkgxrQrCVDX8+OafXHuFgmBZ/pnI8nf jSWS2O0PuDyxSjo6ozRQo/F+Pyt6SAQwNQpZPv3s7nl+RDVmmlg21n8aHkg9pA== 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 4Q4qSM4Y3zzX85; Mon, 24 Apr 2023 15:54: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 33OFsB3K099971; Mon, 24 Apr 2023 15:54:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OFsB42099970; Mon, 24 Apr 2023 15:54:11 GMT (envelope-from git) Date: Mon, 24 Apr 2023 15:54:11 GMT Message-Id: <202304241554.33OFsB42099970@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: 672eba2435ee - main - ppp: Use valid prototypes for function declarations with no arguments. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 672eba2435eef4d20306e439169ed826a07c94bd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=672eba2435eef4d20306e439169ed826a07c94bd commit 672eba2435eef4d20306e439169ed826a07c94bd Author: John Baldwin AuthorDate: 2023-04-24 15:53:49 +0000 Commit: John Baldwin CommitDate: 2023-04-24 15:53:49 +0000 ppp: Use valid prototypes for function declarations with no arguments. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D39730 --- usr.sbin/ppp/bundle.c | 2 +- usr.sbin/ppp/defs.c | 2 +- usr.sbin/ppp/id.c | 4 ++-- usr.sbin/ppp/log.c | 8 ++++---- usr.sbin/ppp/main.c | 2 +- usr.sbin/ppp/physical.c | 2 +- usr.sbin/ppp/probe.c | 2 +- usr.sbin/ppp/sig.c | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/usr.sbin/ppp/bundle.c b/usr.sbin/ppp/bundle.c index 1af2924b8d56..91e92cf009bd 100644 --- a/usr.sbin/ppp/bundle.c +++ b/usr.sbin/ppp/bundle.c @@ -1354,7 +1354,7 @@ bundle_GetLabel(struct bundle *bundle) } int -bundle_LinkSize() +bundle_LinkSize(void) { struct iovec iov[SCATTER_SEGMENTS]; int niov, expect, f; diff --git a/usr.sbin/ppp/defs.c b/usr.sbin/ppp/defs.c index 7f89ef8b9f9e..627715360ee0 100644 --- a/usr.sbin/ppp/defs.c +++ b/usr.sbin/ppp/defs.c @@ -384,7 +384,7 @@ SetTitle(const char *title) } fd_set * -mkfdset() +mkfdset(void) { return (fd_set *)malloc(howmany(getdtablesize(), NFDBITS) * sizeof (fd_mask)); } diff --git a/usr.sbin/ppp/id.c b/usr.sbin/ppp/id.c index 48ea7ce4a7f0..87e70d4eed4d 100644 --- a/usr.sbin/ppp/id.c +++ b/usr.sbin/ppp/id.c @@ -61,7 +61,7 @@ static int uid; static int euid; void -ID0init() +ID0init(void) { uid = getuid(); euid = geteuid(); @@ -77,7 +77,7 @@ ID0setuser(void) } uid_t -ID0realuid() +ID0realuid(void) { return uid; } diff --git a/usr.sbin/ppp/log.c b/usr.sbin/ppp/log.c index 72f1ca9a9a91..ec689ae14ed7 100644 --- a/usr.sbin/ppp/log.c +++ b/usr.sbin/ppp/log.c @@ -83,7 +83,7 @@ struct prompt *log_PromptContext; int log_PromptListChanged; struct prompt * -log_PromptList() +log_PromptList(void) { return promptlist; } @@ -163,7 +163,7 @@ log_DestroyPrompts(struct server *s) } void -log_DisplayPrompts() +log_DisplayPrompts(void) { struct prompt *p; @@ -254,7 +254,7 @@ log_DiscardLocal(int id, u_long *mask) } void -log_DiscardAll() +log_DiscardAll(void) { LogMask = 0; } @@ -306,7 +306,7 @@ log_SetTun(int tunno, const char *ifaceName) } void -log_Close() +log_Close(void) { closelog(); LogTunno = -1; diff --git a/usr.sbin/ppp/main.c b/usr.sbin/ppp/main.c index 3545d4753fcb..6bcb1e443a16 100644 --- a/usr.sbin/ppp/main.c +++ b/usr.sbin/ppp/main.c @@ -112,7 +112,7 @@ static struct prompt *SignalPrompt; struct libalias *la; void -Cleanup() +Cleanup(void) { SignalBundle->CleaningUp = 1; bundle_Close(SignalBundle, NULL, CLOSE_STAYDOWN); diff --git a/usr.sbin/ppp/physical.c b/usr.sbin/ppp/physical.c index 5612c1194e9d..3f7dbc4a7429 100644 --- a/usr.sbin/ppp/physical.c +++ b/usr.sbin/ppp/physical.c @@ -646,7 +646,7 @@ iov2physical(struct datalink *dl, struct iovec *iov, int *niov, int maxiov, } unsigned -physical_MaxDeviceSize() +physical_MaxDeviceSize(void) { unsigned biggest, sz, n; diff --git a/usr.sbin/ppp/probe.c b/usr.sbin/ppp/probe.c index 34e65d03b1ed..74bc4a1cefb2 100644 --- a/usr.sbin/ppp/probe.c +++ b/usr.sbin/ppp/probe.c @@ -67,7 +67,7 @@ ipv6_available(void) #endif void -probe_Init() +probe_Init(void) { probe.select_changes_time = select_changes_time() ? 1 : 0; log_Printf(LogDEBUG, "Select changes time: %s\n", diff --git a/usr.sbin/ppp/sig.c b/usr.sbin/ppp/sig.c index c7b2f469826c..c662d48892d7 100644 --- a/usr.sbin/ppp/sig.c +++ b/usr.sbin/ppp/sig.c @@ -94,7 +94,7 @@ sig_signal(int sig, sig_type fn) * select() returned due to a signal being recorded by signal_recorder(). */ int -sig_Handle() +sig_Handle(void) { int sig; int got; From nobody Mon Apr 24 15:54:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qSP2dsxz471Ds; Mon, 24 Apr 2023 15:54: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 4Q4qSN6fgNz40fQ; Mon, 24 Apr 2023 15:54:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iBNQ4M8ZOk9CEfR3HElHfUEq1THrmvKTyO85/Ja190w=; b=KjeKLyxSbqRYHfiPINwexVGrCyIrYkL946UOkP8X0bIy/McIXm4SwlCDLASCMdhxKYs+3F p2bvg4zk9c4WIyl0pd9s9PvnG7cGA3VMjc5TTJmSzDLZRTn8ws6KAsTstGwE7T7ywbN5U4 AgM6plXgKuZ7gZU07mb/NO/CA2kYI9yyV1VMeYj1siw2JFzmAXc7D+BDtlku82aNnknFyH X3AYouLIP3IL18VHXeJrR6+umOo3QPa17LIQi6E0M/KAMDyTthobsC3aUL+Srj3JjBHjsz EWF2GXRPPs0BRH4ZQUZRpIJGm3zVdEK1SouLpz3UMj1DPmzyl+hnQXmyoeK7WQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iBNQ4M8ZOk9CEfR3HElHfUEq1THrmvKTyO85/Ja190w=; b=x9hAwC1Y0xWS9rbfIliIsL4+rrMlNSutHYe3wLcnV0wdwYK3p5TsLDr4sc5BjlwBnGgBoD AbCUWjRqGRavld4QxyOUP8v2pAcgXS5gP7S93QMWQhfzQ3r99nZ+d9145euA8D+XbrSOi+ 8rD14PxsXfm7MEU+c+I9++iknj0vuJmRNkJ0jMOrBrYXK1/Ied2VuAIxd0Ifyn/hlM4Tv0 WDwIFxIFAu5TEZ15wZNJOFDxB/8HLDk39IVe/2ykCUtHPrMImawR9bEVQsjOgNO/NrdmHq TQd/rPNBthduGYkEKdnRqtMKMuNR1dKgmLPxg3x3ktgE1QcZ4Qe6bwF7LxuV+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682351652; a=rsa-sha256; cv=none; b=yc+MWrBt+bO3SkBYGHPYEIPxXXzjrYi73r0U7O22EHqaMoCsFOlGXAbzrSHk/112bYtkXh +V0t2USNGhIu7ItzP0BCo4aOVyNYeo8rNCAdz6N+R95gzsp/j/lfZgsEWyjoM+H92oCg/n oCFVCADBqe+y0dTAy/bg3PA88rMB8a9kfF9K4vcAVeQl6oIXsWmrePIth550zUcCYdCujX Bi5/mGvxhhhyDUn4sst9aETul2DATojClXJYEILOyroK+ny6X+ne1O/y2+6AlvDER+++8J 6KEXABpIByY7NOK1wJPQQRRovijRsYYpYfcIJV3FbMXmLiH0P6ljSV+HeTuyMg== 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 4Q4qSN5l5szWx1; Mon, 24 Apr 2023 15:54: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 33OFsCjA099995; Mon, 24 Apr 2023 15:54:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OFsCnR099994; Mon, 24 Apr 2023 15:54:12 GMT (envelope-from git) Date: Mon, 24 Apr 2023 15:54:12 GMT Message-Id: <202304241554.33OFsCnR099994@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: 4640fd28a1fe - main - netstat: Use valid prototypes for function declarations with no arguments. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4640fd28a1fe569476436c98558e05ea377c0eae Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4640fd28a1fe569476436c98558e05ea377c0eae commit 4640fd28a1fe569476436c98558e05ea377c0eae Author: John Baldwin AuthorDate: 2023-04-24 15:53:50 +0000 Commit: John Baldwin CommitDate: 2023-04-24 15:53:50 +0000 netstat: Use valid prototypes for function declarations with no arguments. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D39731 --- usr.bin/netstat/mroute.c | 4 ++-- usr.bin/netstat/mroute6.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.bin/netstat/mroute.c b/usr.bin/netstat/mroute.c index a7ce983d13a2..73b51b57c89e 100644 --- a/usr.bin/netstat/mroute.c +++ b/usr.bin/netstat/mroute.c @@ -236,7 +236,7 @@ print_mfc(struct mfc *m, int maxvif, int *banner_printed) } void -mroutepr() +mroutepr(void) { struct sockaddr_in sin; struct sockaddr *sa = (struct sockaddr *)&sin; @@ -411,7 +411,7 @@ mroutepr() } void -mrt_stats() +mrt_stats(void) { struct mrtstat mrtstat; u_long mstaddr; diff --git a/usr.bin/netstat/mroute6.c b/usr.bin/netstat/mroute6.c index 6360fd6ed4ee..e992d11e7d39 100644 --- a/usr.bin/netstat/mroute6.c +++ b/usr.bin/netstat/mroute6.c @@ -102,7 +102,7 @@ __FBSDID("$FreeBSD$"); #define WID_GRP (Wflag ? 18 : (numeric_addr ? 16 : 18)) /* width of group column */ void -mroute6pr() +mroute6pr(void) { struct mf6c *mf6ctable[MF6CTBLSIZ], *mfcp; struct mif6_sctl mif6table[MAXMIFS]; @@ -230,7 +230,7 @@ mroute6pr() } void -mrt6_stats() +mrt6_stats(void) { struct mrt6stat mrtstat; From nobody Mon Apr 24 15:54:13 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qSQ22jtz471Ht; Mon, 24 Apr 2023 15:54: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 4Q4qSQ02Pmz40by; Mon, 24 Apr 2023 15:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xlOBQMX0ej4NQLH+BUFUHToQyK9M2RpPo7qJwJltpTo=; b=JEGQ0/w2LVa0lnmWeXGAHsajRKInjH1up2qAk2seL2lRWC7ZWobGFhWrvXOrdDv3osNjvy nPHK47N/65T58spcaX+RrSdw1+LwrN7AYZyvBHIC27KjE46tONFaZ2vsVDyzTSEnv5hQ48 vIHi5mSG13144NqEjeY/l4e7seCd8YKs9VbF1ODnBEdEOeNAn2buSHJK3HdkGtThrDxcWi emb5EDEgwcH98DulODGSToyxDg5bVkOs5U6h7csMFKZiNWhh9Ex56fCJBEmGTRiUEzso0y prWePvq1JBvRMWZ1O+8p2+zPfVTws1H2ge6e5qafSr0zZZb9IWhJjuZe+gSxHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682351654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xlOBQMX0ej4NQLH+BUFUHToQyK9M2RpPo7qJwJltpTo=; b=mw6GIK4e3Lb0nCcHFkVu1l8VWCzW6Qm+O9FMyAg7UZrxy9UaQAmBJbwm1QHkGZm2U+GqCq A+eU065lsCjgaw3BPSUpQIigRFU//WwXORH63qOK4aCX9VH5fRrjnAMsSwKcKKLiAl9fuL 8MtJ2XPepP3Loiypc8Wj8whs/fLrZDH6zZtc9qFi/Zs63uq56PyKxNiP4MvfjWuJzAixTK K6GvFKwJhMSGG5I2SwiWWj6xm/+Qcrkg5A2krC4N48a1VwUmIhA1JI0gKPMP7QymP2Ft75 mzHId7JBb2puWe8/4KpRAZ93mPwVvHjTTDKwwIHsaANH0YWjjjC6Osc+oPt98g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682351654; a=rsa-sha256; cv=none; b=DHd/lShA3upddpWhxeFlRlwmfk3PsV0JaIcspGzAINoelD23IiJjYE4FYQXYuNffDLbvjP /KuDUz2e/cdn44phZYeEI7zpC+t1wJ/hmXc/CZaphv32i2zMfQN4Wz1NKMIGTDRlqQu27x fzVcVnCmjfH/H4yVGkDg7u6IoJ4w4SOu9rXiEEyy30W3TuhUWDO0ymv6j7/RlaxrSy0hWh w2kH76RFk/0ryC/VRj1LJHbCJExeR/1H0odYPSuGsAHeR2oD+p26Jp05SgkjVBNXyGDlDK 7oV8agf9jhWE+uK2qzI0wiZXuOKifQBED4QA7Of0kmofwp9x7GBaBPkjQDrLUg== 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 4Q4qSP6DkbzXBK; Mon, 24 Apr 2023 15:54: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 33OFsDsQ000039; Mon, 24 Apr 2023 15:54:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OFsDws000038; Mon, 24 Apr 2023 15:54:13 GMT (envelope-from git) Date: Mon, 24 Apr 2023 15:54:13 GMT Message-Id: <202304241554.33OFsDws000038@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: 9b02f2daf448 - main - powerpc: Use valid prototypes for function declarations with no arguments. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9b02f2daf4480ef5926d61e5a605d028ace0b522 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9b02f2daf4480ef5926d61e5a605d028ace0b522 commit 9b02f2daf4480ef5926d61e5a605d028ace0b522 Author: John Baldwin AuthorDate: 2023-04-24 15:53:50 +0000 Commit: John Baldwin CommitDate: 2023-04-24 15:53:50 +0000 powerpc: Use valid prototypes for function declarations with no arguments. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D39733 --- sys/contrib/ncsw/user/env/core.c | 2 +- sys/powerpc/aim/mmu_oea.c | 4 ++-- sys/powerpc/booke/pmap.c | 6 +++--- sys/powerpc/cpufreq/mpc85xx_jog.c | 2 +- sys/powerpc/powerpc/elf32_machdep.c | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/contrib/ncsw/user/env/core.c b/sys/contrib/ncsw/user/env/core.c index 751867526fe2..5a2e811fc8e0 100644 --- a/sys/contrib/ncsw/user/env/core.c +++ b/sys/contrib/ncsw/user/env/core.c @@ -33,7 +33,7 @@ #include "types_ext.h" #include "core_ext.h" -uint32_t E500_GetId() +uint32_t E500_GetId(void) { return PCPU_GET(cpuid); } diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index d646312eff4a..1e4e93c7b874 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -1311,7 +1311,7 @@ moea_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot) } void -moea_init() +moea_init(void) { moea_upvo_zone = uma_zcreate("UPVO entry", sizeof (struct pvo_entry), @@ -2775,7 +2775,7 @@ moea_dumpsys_map(vm_paddr_t pa, size_t sz, void **va) extern struct dump_pa dump_map[PHYS_AVAIL_SZ + 1]; void -moea_scan_init() +moea_scan_init(void) { struct pvo_entry *pvo; vm_offset_t va; diff --git a/sys/powerpc/booke/pmap.c b/sys/powerpc/booke/pmap.c index bed0b2b4b174..606669a07b2f 100644 --- a/sys/powerpc/booke/pmap.c +++ b/sys/powerpc/booke/pmap.c @@ -1054,7 +1054,7 @@ mmu_booke_kextract(vm_offset_t va) * system needs to map virtual memory. */ static void -mmu_booke_init() +mmu_booke_init(void) { int shpgperproc = PMAP_SHPGPERPROC; @@ -2119,7 +2119,7 @@ mmu_booke_dumpsys_unmap(vm_paddr_t pa, size_t sz, void *va) extern struct dump_pa dump_map[PHYS_AVAIL_SZ + 1]; void -mmu_booke_scan_init() +mmu_booke_scan_init(void) { vm_offset_t va; pte_t *pte; @@ -2822,7 +2822,7 @@ tlb1_mapin_region(vm_offset_t va, vm_paddr_t pa, vm_size_t size, int wimge) * assembler level setup done in locore.S. */ void -tlb1_init() +tlb1_init(void) { vm_offset_t mas2; uint32_t mas0, mas1, mas3, mas7; diff --git a/sys/powerpc/cpufreq/mpc85xx_jog.c b/sys/powerpc/cpufreq/mpc85xx_jog.c index edced1237d71..31b3143cc42c 100644 --- a/sys/powerpc/cpufreq/mpc85xx_jog.c +++ b/sys/powerpc/cpufreq/mpc85xx_jog.c @@ -121,7 +121,7 @@ static struct ofw_compat_data jog_compat[] = { }; static struct ofw_compat_data * -mpc85xx_jog_devcompat() +mpc85xx_jog_devcompat(void) { phandle_t node; int i; diff --git a/sys/powerpc/powerpc/elf32_machdep.c b/sys/powerpc/powerpc/elf32_machdep.c index c518080ebad3..7a035361b83f 100644 --- a/sys/powerpc/powerpc/elf32_machdep.c +++ b/sys/powerpc/powerpc/elf32_machdep.c @@ -407,7 +407,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } static void -ppc32_runtime_resolve() +ppc32_runtime_resolve(void) { /* From nobody Mon Apr 24 16:06:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qkX1Yxyz472TT; Mon, 24 Apr 2023 16:06:28 +0000 (UTC) (envelope-from tuexen@freebsd.org) Received: from drew.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.franken.de", Issuer "Sectigo RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q4qkW6gvwz475s; Mon, 24 Apr 2023 16:06:27 +0000 (UTC) (envelope-from tuexen@freebsd.org) Authentication-Results: mx1.freebsd.org; none Received: from smtpclient.apple (unknown [IPv6:2a00:20:7009:f2dc:f125:e35c:2d78:fbde]) (Authenticated sender: micmac) by mail-n.franken.de (Postfix) with ESMTPSA id 2751B722C872B; Mon, 24 Apr 2023 18:06:17 +0200 (CEST) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\)) Subject: Re: git: 7029f2c887a1 - main - Allow pci_host_generic attachments to manage registers From: tuexen@freebsd.org In-Reply-To: Date: Mon, 24 Apr 2023 18:06:16 +0200 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: <202304241134.33OBYBwu071123@gitrepo.freebsd.org> <54618885-6BE8-4210-BAD4-B5E942A83F9B@fh-muenster.de> To: Andrew Turner X-Mailer: Apple Mail (2.3731.500.231) X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, T_SCC_BODY_TEXT_LINE autolearn=disabled version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail-n.franken.de X-Rspamd-Queue-Id: 4Q4qkW6gvwz475s X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:680, ipnet:2001:638::/32, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N > On 24. Apr 2023, at 17:51, Andrew Turner wrote: >=20 >=20 >=20 >> On 24 Apr 2023, at 12:54, tuexen@fh-muenster.de wrote: >>=20 >>> On 24. Apr 2023, at 13:34, Andrew Turner wrote: >>>=20 >>> The branch main has been updated by andrew: >>>=20 >>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D7029f2c887a16c823faf08e8a79dc0d3= 887989ab >>>=20 >>> commit 7029f2c887a16c823faf08e8a79dc0d3887989ab >>> Author: Andrew Turner >>> AuthorDate: 2022-06-04 10:59:46 +0000 >>> Commit: Andrew Turner >>> CommitDate: 2023-04-24 11:33:50 +0000 >>>=20 >>> Allow pci_host_generic attachments to manage registers >>>=20 >>> To allow for attachments that don't use memory mapped registers add >>> a flag they can set when the base driver shouldn't map them. >>>=20 >>> Sponsored by: Arm Ltd >>> Differential Revision: https://reviews.freebsd.org/D39227 >> Not sure if it is related to this commit. But trying to run a kernel = with >> this revision on VM Fusion on an M1 MacBook Pro results in: >>=20 >> Mounting from ufs:/dev/nda0p2 failed with error 19. >>=20 >> A kernel build with >> = https://cgit.FreeBSD.org/src/commit/?id=3D390c31c4289e66f1bd9cb2349d6e55fd= 4dc468f8 >> boots without problems. >=20 > It should be fixed in c94e4d91da Yes, it does. Thank you very much for the quick fix. Best regards Michael >=20 > Andrew From nobody Mon Apr 24 16:07:05 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qlF4Tryz472WF; Mon, 24 Apr 2023 16:07: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 4Q4qlF3z1Kz47LF; Mon, 24 Apr 2023 16:07:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682352425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JQYfdnIMZGL+4wJpNEqADuySVzbdMIMmKzDqQpEciBo=; b=gNJfqegRf2TX8Zi7NeezeOIKnv2LuchPdZpMgMid4Uh13VjPQVxO8OBfNcC/AWoB79oc9y ZGz+I+DcMjQx1Bxbvj7La9pUzjk7l3FqenG/TQ/R+txRi5XAsKjZTTAiaf3IzaeAmpshzu JbIY0UKlZZImrUMN/DquWVhibAO5Ut06VVwUd9ibsdmlAR3D35UXty7QLwjReLYLc4uaLr vmt3OWfAvnz3Vv70AOwPLnz+1Sxdt2NPTa8dwoGCakBYTyoBBhoXJEN64p/B0LvZdzory0 6Im6DUuwzPaB5z5NVEAj2mbSqf7plght4pYY88F8KNJ/cmLFxXcU5Us3mc7odg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682352425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JQYfdnIMZGL+4wJpNEqADuySVzbdMIMmKzDqQpEciBo=; b=xgqNhl1Z2mnVF4IohyFI8oghACJZdh00ncvTKgLIYcaq+DCjR4jYJ0MaSEIKqJ71UWXcM6 E+hGgNjKdyVMsG8gwRnOulV9XyST0BkzbkwTqwOQdB4E6+9wX1Oh4XkhEyrwvaFtonWvi8 0x8RBdLjRo+YFHaEuzIZYSx0Xvf+DkYX2NZS/FvamR3vMfKsFkStLEEuiKS2mpH0Y+OELv 7DIEjfAPUufcHTmHX666F9YpZNpJ/K4WQHt2Sksw3XmybpAyqvUlL74glm/2taX41oYdOU FHqaBdpJvVsC+AHH+vWk05jRUFSYYv16ZuJueM9ygMsriiHYZWiuYP7VtUDk3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682352425; a=rsa-sha256; cv=none; b=u0RaC8rvijmCg1thKTEM0GSrYwkb+mAszrW3vx3L6bDc+G+nQHZVaVKJYc6fiFhjNN1Gg7 PWpRinDjIFWIpJ8jgWzaY6xlGOpOL6bNkQ5YsK3MeRjhmQ/Bm0pt3lvpTx/1tbTINdBIX8 c6J1Gp6DizGbN7nlPPRJEdRjLvyBBwFuldEEcY7v6d3MA6AA7WI9vg3sigXntFlcQ0yvc2 4No9lzSS+HGz9OhaFPHr19XnmfVrOBS7/XaiHkuI+IqmZrlQ1N5YcyIBxR/VkzwUsRW9+D 9zN+GQz6JqGf/rpgFRqiX1/pGA3VXHVoC9Enn0uV03O3lMZ1womMdqFEBOAYQg== 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 4Q4qlF33S8zX8v; Mon, 24 Apr 2023 16:07:05 +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 33OG75K9017707; Mon, 24 Apr 2023 16:07:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OG75nS017706; Mon, 24 Apr 2023 16:07:05 GMT (envelope-from git) Date: Mon, 24 Apr 2023 16:07:05 GMT Message-Id: <202304241607.33OG75nS017706@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: c5b5f2d8086f - main - cp: Revert "If copy_file_range(2) fails with EXDEV, use fall-back." List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c5b5f2d8086f540fefe4826da013dd31d4e45fe8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=c5b5f2d8086f540fefe4826da013dd31d4e45fe8 commit c5b5f2d8086f540fefe4826da013dd31d4e45fe8 Author: Mateusz Guzik AuthorDate: 2023-04-24 16:04:53 +0000 Commit: Mateusz Guzik CommitDate: 2023-04-24 16:04:53 +0000 cp: Revert "If copy_file_range(2) fails with EXDEV, use fall-back." This reverts commit 64333654908153cd8e2dcb408c57cc3e3c4f29af. The error is not valid per api contract, it showed up as a regression after 15f0b8c309dea1dcb14d3e374686576ff68ac43f 15f0b8c309dea1dc ("zfs: merge openzfs/zfs@9cd71c860 (master)") and was subsequently in d012836fb6165494 ("zfs: fix up EXDEV handling for clone_range"). Sponsored by: Rubicon Communications, LLC ("Netgate") --- bin/cp/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/cp/utils.c b/bin/cp/utils.c index 9794152ac724..8c1c350ff6f1 100644 --- a/bin/cp/utils.c +++ b/bin/cp/utils.c @@ -180,7 +180,7 @@ copy_file(const FTSENT *entp, int dne) if (use_copy_file_range) { wcount = copy_file_range(from_fd, NULL, to_fd, NULL, SSIZE_MAX, 0); - if (wcount < 0 && (errno == EINVAL || errno == EXDEV)) { + if (wcount < 0 && errno == EINVAL) { /* Prob a non-seekable FD */ use_copy_file_range = 0; } From nobody Mon Apr 24 16:16:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qy81P4dz473CB; Mon, 24 Apr 2023 16:16: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 4Q4qy80L2pz49KQ; Mon, 24 Apr 2023 16:16:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682352992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9S0UfgQ/BbfimqUX9wZlfZgRVebNX15GsbEq9Oqa3Yc=; b=i4sE8FE3czhq7cCP0AaGJu3P3eiOkJXUJHto+eB+P0JVcnDARkRyzzTKug7kerit5Bdw/e mGfm9VfPT6+Jpzcix2TdUPbpQNikntFJBLMK5bZz+MQ3NKADwd33bQpEvvkfQ9qkTK+Uu1 VeF4TsMPwtL07DqrTmLvnYzP5jYY+fTjKu4xJ+17r30c4fYXkkSNAa7Fd01zJwwVAkrQk0 DDwjA9TBJyxi+qQvjxtg94svQZPOU6za0JIoqMMfv69HkLWrZEmlWBJvfXGfJ29TEAwjg6 9yQ+DWMnKEVr5txw2cRi1fyoT7UPX9KDN0v33uZVigxbzkW3JPQxwdboh+QcfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682352992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9S0UfgQ/BbfimqUX9wZlfZgRVebNX15GsbEq9Oqa3Yc=; b=k9tqbOWJRcb7am8NIPq3c/r1f1OIeT/2RULSfpB0zZVNskW/c9IChDo836unhLRl9fMTM2 UJdaqutGgb6ZjPC+z2TJjVxH2UPk9cC3POBCRFDN/LQfK7HhVrDGnTnbUAjiyfwXTBQYAg jV+XnPENutnJK51HpX3pJoUeg/gzch13hv9R4R6grQdanu2ErWpWpdg9Dq0BU+6BamQdNi W/02Gma49itEpZpB+ltpt2r8F3/sce/XZNHHlJejYFZbc/RaidgXXx81rGWjgdpZcj5smy ebTfMFzWL2BdGsW0S5bB1wpLzqNbiWjGo9EdlC3mKZ2TdGqbjfeDxTrT6J/GGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682352992; a=rsa-sha256; cv=none; b=JD/Vky6pplNpeU/TcVmTZSVvqk9UtHAIBx5gGo2kywkHGLVPOO3ocgzTJu8S/KjNK7tE1E 1BciCEhZNAIiefwT5RVquFJwPQAV3XUodBRPxzG96P78/qHwGrXAZpfWKzOmP5cBTSUefg 3a+131OB9UfgLuOhSU3RAdkC139Ng5pFDE6uht1MLvc3v4nYziEns8TQzTiTKRBOwhavi7 k5jJS7RvFFeb4oR7OnzYXH/Qjq6YiB1Vnz+K59fX8ysnI0zJBFBj2oYfNSoZvRXck8V6TL adcN3sTJwSmHnbR6lJ1Wq2JMEpqrgMvFBzI5eol9xlRcY4377fIdhm7g36plew== 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 4Q4qy76QkgzXFY; Mon, 24 Apr 2023 16:16: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 33OGGVAX033585; Mon, 24 Apr 2023 16:16:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OGGVjq033584; Mon, 24 Apr 2023 16:16:31 GMT (envelope-from git) Date: Mon, 24 Apr 2023 16:16:31 GMT Message-Id: <202304241616.33OGGVjq033584@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: a0b1e754b7d2 - stable/13 - vfs cache: fix vfs.cache.stats.* name typos List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a0b1e754b7d23a21399934bf968afe5cf07418df Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=a0b1e754b7d23a21399934bf968afe5cf07418df commit a0b1e754b7d23a21399934bf968afe5cf07418df Author: Igor Ostapenko AuthorDate: 2023-04-19 17:12:25 +0000 Commit: Mateusz Guzik CommitDate: 2023-04-24 16:15:35 +0000 vfs cache: fix vfs.cache.stats.* name typos Two vfs.cache.stats names are fixed: - s/.dotdothis/.dotdothits/ - s/.posszaps/.poszaps/ Signed-off-by: Igor Ostapenko [mjg: massaged the header a little bit] (cherry picked from commit 0e0c47ecd624da976bf7e1ff391cb4a00c76b200) --- sys/kern/vfs_cache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 2b07dbbc34f0..b9e07a2b8dcb 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -539,10 +539,10 @@ STATNODE_ULONG(count, numcache, "Number of cache entries"); STATNODE_COUNTER(heldvnodes, numcachehv, "Number of namecache entries with vnodes held"); STATNODE_COUNTER(drops, numdrops, "Number of dropped entries due to reaching the limit"); STATNODE_COUNTER(dothits, dothits, "Number of '.' hits"); -STATNODE_COUNTER(dotdothis, dotdothits, "Number of '..' hits"); +STATNODE_COUNTER(dotdothits, dotdothits, "Number of '..' hits"); STATNODE_COUNTER(miss, nummiss, "Number of cache misses"); STATNODE_COUNTER(misszap, nummisszap, "Number of cache misses we do not want to cache"); -STATNODE_COUNTER(posszaps, numposzaps, +STATNODE_COUNTER(poszaps, numposzaps, "Number of cache hits (positive) we do not want to cache"); STATNODE_COUNTER(poshits, numposhits, "Number of cache hits (positive)"); STATNODE_COUNTER(negzaps, numnegzaps, From nobody Mon Apr 24 16:16:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4qy902NSz472n4; Mon, 24 Apr 2023 16:16: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 4Q4qy86QYTz48vm; Mon, 24 Apr 2023 16:16:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682352992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lZNehjY+dEreUnx/fDpmHLVeGP9/jvM0eTiCxlHB37E=; b=UX6DaW7AmID5O517tDVYMT1PHljASRvpVLuU9tvskf8Mw8CTlAxM4KqIHGTlWiAdFAWwiM TKp5TnkWdeJWxXrA4Bi5T1XrzHs7NgptExsLOaBshWmbZGjSuMAf7hR4i6m9z1DJBMD2q1 c+8QsnVQMnAepWusGIXMjxgRDmNU35JzyOJy2XucTaDM2jtLprlAC1N7rA7X6G/rNZILZL NmZK/MuEaVxFOI+oDlbmnashEx9FS6PyqJxXGGyBawTA2MY9wwqfo9Hv0A3kJGg9o7ONws 0Q4j+5kzwitC/ay5HtaUD9uQgTuiTTDp08xEMs7CB9kMLl8Qp116frPcGk8J+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682352992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lZNehjY+dEreUnx/fDpmHLVeGP9/jvM0eTiCxlHB37E=; b=iKFRFXXF2PrqO1x7cjoAiu96FtMH1Dx7nxljOOtZfkbydC41MoTyhgEWJEryrKDJzaDeMX QfsMwuyzQaM5AGbbmvz87kLnfj69zZev9fuu3CJatJSTV/H2yRIcH4Sa0vNZK44h/+FISL ZWiViH/trO0WhEFwAwgKqgaij1d9QqX6SHMFn34wqtoX3KM9eCFQJOzysg5E1Ft/XZwaF9 UCM56aNnMAAKVxIobddq8lEMpDYTLJz3SBuyIqLMZey3ftDJGjJ2q3f0DloJWZ8wZfRsoa UWLJ1Hd5A3fvDya0j6CttonIWlXWDO1ZQF5cMtRbrMc4Pu/AOjJuUJ7kLRT/Uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682352992; a=rsa-sha256; cv=none; b=gqeLmaC9GPkNhywNygeQgd80eGQkUSo9ujX3F7DrHChySPNDN4Zgk2eqXj+ndPH/xGjbx6 iEdegmtbpoziGnmEnQ8jlP7BpA3WPQLztG17QRx6uwDtA8dzsN8PpmIgTzwk5bOEO3njoC a4GAdH46Vy4xi7YByP01ZDUD2+XRCrI0OzgN7naSYkn/QsnE/xC8FODLbXoBFmv6A7gRbi 7Rn4owehHSqE4TC6ONuaGyMmpSNlMod3QY93Srruv12iechBrktr/6yTS5BNjztgVMuT1E /c3Qkz6vCuNYwqmnoxkNpZYSjC/CXmLxJy82hAQIk328S+IubJqtGOHP52YviQ== 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 4Q4qy85LVczX2W; Mon, 24 Apr 2023 16:16: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 33OGGWHh033604; Mon, 24 Apr 2023 16:16:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OGGWwY033603; Mon, 24 Apr 2023 16:16:32 GMT (envelope-from git) Date: Mon, 24 Apr 2023 16:16:32 GMT Message-Id: <202304241616.33OGGWwY033603@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 84b812d5b330 - stable/13 - zfs: fix up EINVAL from getdirentries on .zfs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 84b812d5b330f6f20477da4f6577c3c84655b0a5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=84b812d5b330f6f20477da4f6577c3c84655b0a5 commit 84b812d5b330f6f20477da4f6577c3c84655b0a5 Author: Mateusz Guzik AuthorDate: 2023-04-20 08:36:53 +0000 Commit: Mateusz Guzik CommitDate: 2023-04-24 16:16:03 +0000 zfs: fix up EINVAL from getdirentries on .zfs PR: 270909 (cherry picked from commit 9c4e270822a3592bf122f9a8e4e815b4602329f1) --- sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c index 5bd2e1510ddb..6e49fff9a110 100644 --- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c +++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c @@ -675,6 +675,17 @@ zfsctl_root_readdir(struct vop_readdir_args *ap) ASSERT3S(vp->v_type, ==, VDIR); + /* + * FIXME: this routine only ever emits 3 entries and does not tolerate + * being called with a buffer too small to handle all of them. + * + * The check below facilitates the idiom of repeating calls until the + * count to return is 0. + */ + if (zfs_uio_offset(&uio) == 3 * sizeof(entry)) { + return (0); + } + error = sfs_readdir_common(zfsvfs->z_root, ZFSCTL_INO_ROOT, ap, &uio, &dots_offset); if (error != 0) { From nobody Mon Apr 24 17:21:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4sNv58qMz476ft; Mon, 24 Apr 2023 17:21: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 4Q4sNv4jxCz4L5H; Mon, 24 Apr 2023 17:21:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682356879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LcCBdOf8C98EuiAn8N1G1cdFGiHj/Ld/mIjHn5fKu/4=; b=NgJFQxes6qUSVXFjOpP9/n2Tx7ctCVsqWlkMaylKdJPaA+4O+thDVd47fWfKNjmQPxfRt0 Rl4F7cwMNJY0aa4J/qNM4/8MMfTodphPuN3B6mh8RJByEYHjxZUqulv0SLF08vhonZ5Dyl 7nLwYh6xAVPtkK2wm8Enspqj2jHf3JyIqHZQKCFUn7GHyWFRwzMi7b3N/iwqwO2kK+E1a8 V8fVGhtcTd7+IXxWbP/OSRjUpytVhfGEHGfzxYoNLcVvgebKj670d4DfoBeeUSSMQ4Aqhq HP6jY35PJJJEnxRVDCldSNWtaxbGqcxEYeelcv+lMcMFKbDT2GXg2lTJn9jcCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682356879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LcCBdOf8C98EuiAn8N1G1cdFGiHj/Ld/mIjHn5fKu/4=; b=Xi5EXjmaG6LWt2QnVlYFjChVovEwgUcGXIG9uNo7QFNko9wpWykIvTrZgJsW4GG/ln2hra l5sytYc+gKgTGwk68Cnk9PD8CRnQTlhh9t8oCUrQhnnmha478M5MsiTkTpFTQgIPtW4+uY qnSaLar/wPhTzaGtbGorqko1GMLgo54yKxx4tSJsNM9Y117m75lfhTplc1KFyciJ0L5g0u OX2S4xz13VKh1qbHuwMKYrUYc02Q/L8kmdrdv8T63oyOhn8llMEXqsT5CZJugQ/Uq84kEJ L5px/IXErINkLmMEuA2M3m1caVt0l0v5qMdYViv24NEtFJwajCjy2hpNeHQsjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682356879; a=rsa-sha256; cv=none; b=AUG90MIEHHwAuuS49rp6eE55j/ebbG5JiPrYgRe3UkIA7XjDFBs4DpKPG7BMg+vum4Z/Cn X5o3Yc+TLDpKLH6FP0R90UUN3VwIEWB0GzMIqTII5UmWy9Gvnba/cY3FpMmFiymMbbuhqR dwzH0/Tqra1TgEM6Y1jq9bE6j0aPTGFks0dGLeF6tAs0HW3lJMEaUW/HEkpRApap1mM4n0 gYQeby7/ECmT0cSPlv34xIzbfCLddSPlqDGzQxHxPtksKlp7e4+T5xaP8rEaeABqzt7UB3 R5i5A8RY+WPMj1AKUAi1lu4iippVTqKHKc8vF/qKQ+kCFDIuNv2aBupoNGrDww== 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 4Q4sNv3nH2zYqv; Mon, 24 Apr 2023 17:21: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 33OHLJik043813; Mon, 24 Apr 2023 17:21:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OHLJSX043812; Mon, 24 Apr 2023 17:21:19 GMT (envelope-from git) Date: Mon, 24 Apr 2023 17:21:19 GMT Message-Id: <202304241721.33OHLJSX043812@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 976ba7f02a21 - main - Enable building tar for non-FreeBSD host List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 976ba7f02a211c57709301782e710c5b38a3f272 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=976ba7f02a211c57709301782e710c5b38a3f272 commit 976ba7f02a211c57709301782e710c5b38a3f272 Author: Simon J. Gerraty AuthorDate: 2023-04-24 17:20:17 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-24 17:20:17 +0000 Enable building tar for non-FreeBSD host For DIRDEPS_BUILD we need Makefile.depend.options to force libegacy to be built on older FreeBSD and non-FreeBSD hosts. Add readpassphrase to libegacy to avoid the need for libbsd on Linux src.opts.mk disable TESTS for host if MK_host_egacy is yes Reviewed by: imp Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D39766 --- lib/libarchive/config_freebsd.h | 2 ++ share/mk/src.opts.mk | 6 ++++++ tools/build/Makefile | 12 ++++++++++++ tools/build/cross-build/include/linux/includes.h | 4 ++++ usr.bin/tar/Makefile.depend.host | 11 +++++++++++ usr.bin/tar/Makefile.depend.options | 6 ++++++ 6 files changed, 41 insertions(+) diff --git a/lib/libarchive/config_freebsd.h b/lib/libarchive/config_freebsd.h index 20230ca26adf..dabc84d17ee6 100644 --- a/lib/libarchive/config_freebsd.h +++ b/lib/libarchive/config_freebsd.h @@ -100,7 +100,9 @@ #define HAVE_DIRENT_H 1 #define HAVE_DIRFD 1 #define HAVE_DLFCN_H 1 +#ifndef __linux__ #define HAVE_D_MD_ORDER 1 +#endif #define HAVE_EFTYPE 1 #define HAVE_EILSEQ 1 #define HAVE_ERRNO_H 1 diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 8f56f757b60b..62d3936ded20 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -360,6 +360,12 @@ __DEFAULT_YES_OPTIONS+=NETLINK_SUPPORT __DEFAULT_NO_OPTIONS+=NETLINK_SUPPORT .endif +# MK_host_egacy is set by local.sys.mk so is valid here +.if ${MACHINE} == "host" && ${MK_host_egacy} == "yes" +# we cannot expect tests to work +BROKEN_OPTIONS+= TESTS +.endif + .-include .include diff --git a/tools/build/Makefile b/tools/build/Makefile index a1b8bbb8b2aa..1dc6e9fc189b 100644 --- a/tools/build/Makefile +++ b/tools/build/Makefile @@ -208,6 +208,18 @@ CFLAGS.closefrom.c+= -DSTDC_HEADERS -DHAVE_SYS_DIR_H -DHAVE_DIRENT_H \ SRCS+= progname.c # Stub implementations of fflagstostr/strtofflags SRCS+= fflags.c + +# tar needs readpassphrase +# the version from openssh is already "portable" +# but we need to take care with .PATH as we +# do not want getopt_long.c from crypto/openssh/openbsd-compat +# and we do not want readpassphrase.c from libc/gen +.PATH: ${SRCTOP}/crypto/openssh +OBJS_SRCS_FILTER= T R +SRCS+= openbsd-compat/readpassphrase.c + +INCS+= ${SRCTOP}/crypto/openssh/openbsd-compat/readpassphrase.h + .endif # ${MAKE.OS} == "Linux" .if ${.MAKE.OS} == "Darwin" diff --git a/tools/build/cross-build/include/linux/includes.h b/tools/build/cross-build/include/linux/includes.h new file mode 100644 index 000000000000..ed9ea212ee10 --- /dev/null +++ b/tools/build/cross-build/include/linux/includes.h @@ -0,0 +1,4 @@ +#include +#include + +#define DEF_WEAK(a) diff --git a/usr.bin/tar/Makefile.depend.host b/usr.bin/tar/Makefile.depend.host new file mode 100644 index 000000000000..f80275d86ab1 --- /dev/null +++ b/usr.bin/tar/Makefile.depend.host @@ -0,0 +1,11 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/usr.bin/tar/Makefile.depend.options b/usr.bin/tar/Makefile.depend.options new file mode 100644 index 000000000000..4dcc6c412671 --- /dev/null +++ b/usr.bin/tar/Makefile.depend.options @@ -0,0 +1,6 @@ +DIRDEPS_OPTIONS = host_egacy + +DIRDEPS.host_egacy.yes = tools/build + +.include + From nobody Mon Apr 24 19:05:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4vhZ3zH4z47DRf; Mon, 24 Apr 2023 19:05: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 4Q4vhZ3Rz5z3J0T; Mon, 24 Apr 2023 19:05:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682363102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2zCjZzEAJVlmJIFSGM1cD7B78szDvIZ/OXFaDieKFQg=; b=ErJEgvwZsmxMX+elDZ1nyUoc5/NaBsN8qTVHxTQ+auyxc1P+hw6QPT9wXir0zVNIyoYS1H aBuygGjv+oa6Hrbw2B2MYGCQpAsVO0EVyzWUinuUONSLjut116yj9bD9h0+IKU4NGq3lzY mdg+4uUzggEwPoCikoD9bBhG8WXZaIwH519lMpyeiXVs6vvJ7FdU49hcT5upWPWJugjpWs HG5cR9pbBADATfgn+42l0FhaAuEqvVSTzbOjYj0SrtmQRKr/tQXTxBPPa6v3QOzpmWeQVg A7T/58uRZDna/GobdTiygJI3/XPLrD5fcP9nsCO0MriLMiZABgadf26GxgfH0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682363102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2zCjZzEAJVlmJIFSGM1cD7B78szDvIZ/OXFaDieKFQg=; b=QhIHixF3hffqLAqyP6iUO2NODQpCZFjzh9bEKihdblJ2Dq9aY9yx7jAYwm4I9mKISf1m1n /jdtvQShKSqWLFD171KhYAQRiYHIdKveN2zdzjSvsrcyGJrkAc3BLKb8Pj97fPCVwJD9YL yeJsShx1QyOD2DhrmBR2vT57UTlZ5S8MkEtvlndlbt5f0dlOmPqIFdAfQs2tVV8tm+Btwx JaiQAJGH2yNY2PLJa7loJp/iPOTVCXVFFpnwWI8ATKnLOFc061ZGGMCB1smuYoQm2hqGft 1TZ3FD8DnCeXEe2loJoR/lxUiH2+UBWK/aaVIo5VB8y/eFUZ+WvxbIFUk1knRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682363102; a=rsa-sha256; cv=none; b=j242q2KsZeefm4T9nKNdaIXbSpjzX0cczNQoxKUnMIZTlYRvGR0GzVxap1QzYwtYgH3vs6 O09BeeTGKxAbNBW/ru4JFj31bpnKGiyORa/PhHG0GrBKn5hNYTFNlVOJFqe55RszO3EaYw p0yI82ScQdgeS1hUc/KDQX2xahlKGHy0xLR8uF+OjgTQ6ZnxfbV4LeFUKxREvY4e5Ic4CM Ikqa4fYYIH1NCU8I1h8sLgoopfY3e9Ftdnb6JQiEdRy57fjp6K2Y22OuQ02UKqA8awsc2Q qBLcIyx3UFuyAvJGtHGbkexMPIH43eswBfUHikrrkDeWfxJ458KvHnTzJo6/mw== 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 4Q4vhZ2Vs8zcVW; Mon, 24 Apr 2023 19:05: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 33OJ52f8014512; Mon, 24 Apr 2023 19:05:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OJ52vf014511; Mon, 24 Apr 2023 19:05:02 GMT (envelope-from git) Date: Mon, 24 Apr 2023 19:05:02 GMT Message-Id: <202304241905.33OJ52vf014511@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Graham Perrin Subject: git: b6d173e44b9e - main - share/misc/committers-doc.dot: dru: 2020, not 202 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: grahamperrin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b6d173e44b9e99310ed2fb58f4bb33584a448145 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by grahamperrin: URL: https://cgit.FreeBSD.org/src/commit/?id=b6d173e44b9e99310ed2fb58f4bb33584a448145 commit b6d173e44b9e99310ed2fb58f4bb33584a448145 Author: Graham Perrin AuthorDate: 2023-04-24 19:00:45 +0000 Commit: Graham Perrin CommitDate: 2023-04-24 19:00:45 +0000 share/misc/committers-doc.dot: dru: 2020, not 202 Dru Lavigne's doc commit bit was taken in 2020-05-05 https://cgit.freebsd.org/doc/commit/access?h=refs/internal/admin&id=fb28136a81580786a66ab2494da40b01f4b7a75b Fixes: 52f576459855 committers-doc.dot: bring file up to date --- share/misc/committers-doc.dot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/misc/committers-doc.dot b/share/misc/committers-doc.dot index b070296e790d..a9dc04432d6f 100644 --- a/share/misc/committers-doc.dot +++ b/share/misc/committers-doc.dot @@ -37,7 +37,7 @@ chinsan [label="Chinsan Huang\nchinsan@FreeBSD.org\n2006/09/20\n2014/03/02"] crees [label="Chris Rees\ncrees@FreeBSD.org\n2013/05/27\n2022/11/08"] den [label="Denis Peplin\nden@FreeBSD.org\n2003/09/13\n2009/07/09"] dexter [label="Michael Dexter\ndexter@FreeBSD.org\n2016/11/15\n2019/04/02"] -dru [label="Dru Lavigne\ndru@FreeBSD.org\n2013/01/22\n202/05/05"] +dru [label="Dru Lavigne\ndru@FreeBSD.org\n2013/01/22\n2020/05/05"] eadler [label="Eitan Adler\neadler@FreeBSD.org\n2012/10/15\2022/09/15"] gabor [label="Gabor Kovesdan\ngabor@FreeBSD.org\n2007/02/02\n2021/09/21"] garys [label="Gary W. Swearingen\ngarys@FreeBSD.org\n2005/08/21\n2008/03/02"] From nobody Mon Apr 24 20:50:56 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4y2m65xBz47KqY; Mon, 24 Apr 2023 20:50: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 4Q4y2m5YmWz3m1R; Mon, 24 Apr 2023 20:50:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682369456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kjYIcJtQe0IU8uh+ULp34Qyj266wOZD+HiNOyvpTyUM=; b=Ue8bFUviQeomyVRab8N4Ye2SXELLNRlSR4be+d13LFfzIBaUc3aZxMSZKn6CfK1bzXvndz VBhoO/Be6V1WhrjW1l6Efm5NOxtEnuRA0oh36aFw+E/QHNhnIqi9Pc2UuyAnIFyevXwycv MQWkbUDImZ0qC6BNepriY6+ZIMSqzdEztnpqsISlQJSkQdyPWniCrmmi/STjRhOCGU8oPp CTT+bIw/1sv0Dym8D3Z2wS0THPapSifQZHrkJQ3d0rbwHTj5KnAn8waP6SqWdugsk4tjgr NBfGdlmC6gpeGcXYL2LtmgX3EK5Rpho8iUKqPnD5t0po9RCjJGFTYZh/7cDNEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682369456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kjYIcJtQe0IU8uh+ULp34Qyj266wOZD+HiNOyvpTyUM=; b=cZ4ITm+Y9L4h4JIo4s5SlbChBdezN6SN4NcNjmo66Kn09yBRChqo2BdW0ADZdqQjQhWUUG UT50KH7Dwc2TWNKClvAAH2eRfnuNzj8MTcPpVp9zv2TbwIdFn85MN2s6aozut/CyXXdtPZ vQk86gAd8txy4uccDm/T6loshubeAt/YWCV6vMCXGL0OEUhI/WmtY3bRz2+q1CwKKF7waT 8kRrHQEBQ0MKAl8anGw7VwmCL8wvWF4do/s/OoMb43xiY+uP0x18sk8fcPrnjq61rVQebk yHDA11RS7j52KuX2xR2/NvL4mhzUKiZHt4AJuyXix0pL7Vj4lXNXwvrps3wM+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682369456; a=rsa-sha256; cv=none; b=fXOepzSmEny6c5y9eG3+DpSCT0lReQ5yr6JoDopmbn33Px45NXeZsKSd0eEFIrod6Pqtej f/sW50kQ8Ev6BsEEoHakAjgoHnomeCyclOVCbLqaRe4v49WgyNfEgCbvHgkyeD57i5iVqw Qn2/DC2rEJhiB9YZ4qsxpnGlX7IfITlBEETmriENzTgnFApBAVd4UgBKzboFC1v7iJqcp1 OJCYJyPl6NZBUGFbEKg0tTE3r5Up3jiPuP8mCs9thOLoB1WiJuv42OPRwcbrM/9+aSWni0 CGBH7/rpt2nm7bs7zYXFL21PyokPOD3HdmVjwytVSe4O4DCC6wcd0UBVpsuGug== 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 4Q4y2m4cPlzfxW; Mon, 24 Apr 2023 20:50: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 33OKouco087487; Mon, 24 Apr 2023 20:50:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OKouDP087486; Mon, 24 Apr 2023 20:50:56 GMT (envelope-from git) Date: Mon, 24 Apr 2023 20:50:56 GMT Message-Id: <202304242050.33OKouDP087486@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 644d346d998e - main - We do not need readpassphrase from openssh List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 644d346d998e2785bfa35ec0ddd4cea2885e2da7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=644d346d998e2785bfa35ec0ddd4cea2885e2da7 commit 644d346d998e2785bfa35ec0ddd4cea2885e2da7 Author: Simon J. Gerraty AuthorDate: 2023-04-24 20:50:18 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-24 20:50:18 +0000 We do not need readpassphrase from openssh When building tar for linux, just disable HAVE_READPASSPHRASE in config_freebsd.h and libarchive will provide for readpassphrase Otherwise the two conflict. --- lib/libarchive/config_freebsd.h | 2 ++ tools/build/Makefile | 11 ----------- tools/build/cross-build/include/linux/includes.h | 4 ---- 3 files changed, 2 insertions(+), 15 deletions(-) diff --git a/lib/libarchive/config_freebsd.h b/lib/libarchive/config_freebsd.h index dabc84d17ee6..2d891bc9bd5e 100644 --- a/lib/libarchive/config_freebsd.h +++ b/lib/libarchive/config_freebsd.h @@ -166,8 +166,10 @@ #define HAVE_READDIR_R 1 #define HAVE_READLINK 1 #define HAVE_READLINKAT 1 +#ifndef __linux__ #define HAVE_READPASSPHRASE 1 #define HAVE_READPASSPHRASE_H 1 +#endif #define HAVE_REGEX_H 1 #define HAVE_SELECT 1 #define HAVE_SETENV 1 diff --git a/tools/build/Makefile b/tools/build/Makefile index 1dc6e9fc189b..eb5bd44db6a1 100644 --- a/tools/build/Makefile +++ b/tools/build/Makefile @@ -209,17 +209,6 @@ SRCS+= progname.c # Stub implementations of fflagstostr/strtofflags SRCS+= fflags.c -# tar needs readpassphrase -# the version from openssh is already "portable" -# but we need to take care with .PATH as we -# do not want getopt_long.c from crypto/openssh/openbsd-compat -# and we do not want readpassphrase.c from libc/gen -.PATH: ${SRCTOP}/crypto/openssh -OBJS_SRCS_FILTER= T R -SRCS+= openbsd-compat/readpassphrase.c - -INCS+= ${SRCTOP}/crypto/openssh/openbsd-compat/readpassphrase.h - .endif # ${MAKE.OS} == "Linux" .if ${.MAKE.OS} == "Darwin" diff --git a/tools/build/cross-build/include/linux/includes.h b/tools/build/cross-build/include/linux/includes.h deleted file mode 100644 index ed9ea212ee10..000000000000 --- a/tools/build/cross-build/include/linux/includes.h +++ /dev/null @@ -1,4 +0,0 @@ -#include -#include - -#define DEF_WEAK(a) From nobody Mon Apr 24 21:05:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4yMb0Lzrz47M87; Mon, 24 Apr 2023 21: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 4Q4yMZ71b7z3nT5; Mon, 24 Apr 2023 21:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682370331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VsUMD1jEXeJgN3wW0xuVAEex0zInE1n0lDOkxuM2rWY=; b=JaXzXwOP+gU+U6kUIG1sLcyVrrn/wpkgguPxo2LHUweoMcQDPIBhHmrd3lKD7V8S/4u+oK Tk7Hc7xs5WvW0eaSKmmC76RNsN6dLsXWVt9QlmjbIbNarJYTB7R4REaR69uo332MAfRSMS 19goIFWLiJIipAPG4sALalM7fzI729mPSdwWEam30v/BMG9nE3LRd40lsUa71Gmvz1QHTy PQVN5gzB8Cvr507vJ+LOGbCRxJzxo46IHD6WDxus0KhLYNeMDzM6Zno97dC0PjF8O8reHK niM8RNT8W9U27gZfKUvVNMJaJMI50VGa9mpo3c1HYYqX6tUGK2rDy2K6tx0fFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682370331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VsUMD1jEXeJgN3wW0xuVAEex0zInE1n0lDOkxuM2rWY=; b=yYymXGJktowZX55z0Yw4PznC5LHet8Q9+GCSBMXG76tHjm5Qd6u1SAn+5Gi48YDymxdv/n xUnKARTNdb1NZmzqZbzc3U7p6NW/2vREs4oSqpnldOz89FOrCjdUdypbapvCMpsvq6T0Z6 XYAIaWwUFhv6K5qCVov8c9tuLC/++iBtyabEjlDR+YYZHa3jix/JvmcgZf0dOpIzf0O3JH f0mEzYcOY+6WGIOyKb1BsT17DyZcl4a3NQx06M9F5Kxhp/9haDM6kN7l461GMRD0ovfBl6 CbL/PL70DzcITqEpXbPah4qCxYL6VHcxHFb+XeilARd2099Yj3DQiPmcGqEctw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682370331; a=rsa-sha256; cv=none; b=wcvxo8dMx3F/6U2qWv7LGu/qcyaKmLK1n7pzyf4Tsg/zpYoLFDnMPtJ4feC566TuY6X9tS U9ire4JoWWOjEf1f5LG88ATAQz0bWDVlHz1fDD16rCBws6CMhsO9S8vormJ+ERq+ImfYrr dExWD32TujmVTjwRlxlkje6qf2Lr3EHDngeY4wYaYmD+YeS0UIm2FqNAVJ3nj3gXTbTRC3 /qAKYZdvsEUpdaJGi2qEmC4f84GKAzZNXUHcvkOJXmchbUvyKKs4mAZsbOKXFZ+CmJN51K 1kG7kTP9iE4wetr8rwuLtB2VBssl/62aJRTusq+3ToO4gS1+QEM/VJq0zjv56g== 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 4Q4yMZ64xGzgQx; Mon, 24 Apr 2023 21: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 33OL5UGf012476; Mon, 24 Apr 2023 21: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 33OL5UMh012475; Mon, 24 Apr 2023 21:05:30 GMT (envelope-from git) Date: Mon, 24 Apr 2023 21:05:30 GMT Message-Id: <202304242105.33OL5UMh012475@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: 77d2a2d065cb - main - depend-cleanup.sh: Handle kqueue1() becoming a wrapper around kqueuex(). List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 77d2a2d065cb35fb848faf2253c30eaeee33c784 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=77d2a2d065cb35fb848faf2253c30eaeee33c784 commit 77d2a2d065cb35fb848faf2253c30eaeee33c784 Author: John Baldwin AuthorDate: 2023-04-24 21:05:18 +0000 Commit: John Baldwin CommitDate: 2023-04-24 21:05:18 +0000 depend-cleanup.sh: Handle kqueue1() becoming a wrapper around kqueuex(). For a brief period kqueue1() was a system call and stale dependencies cause it to not be re-built. --- tools/build/depend-cleanup.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index 91b14ed29c84..f047553c377f 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -112,3 +112,6 @@ clean_dep usr.sbin/config mkmakefile c # 20230209 83d7ed8af3d9 convert to main.cc and mkoptions.cc clean_dep usr.sbin/config main c clean_dep usr.sbin/config mkoptions c + +# 20230401 54579376c05e kqueue1 from syscall to C wrapper +clean_dep lib/libc kqueue1 S From nobody Mon Apr 24 21:32:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4yyj6z9vz47NNl; Mon, 24 Apr 2023 21:32: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 4Q4yyj6DPfz3qpx; Mon, 24 Apr 2023 21:32:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682371949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GtW59GqAUjbqZgVC3PPx3YUt+tsqPi/olaPOlyMqgto=; b=yBvWfpQfRQPPHbdxZi+65r5j6+EvMBJm9XnPHWAnoyVSaZaMmEWZVjQfLod86zJ8bXOc/8 /t9HxOzWijrWUHLbqRln6wJuFzIYd28fTZ6myd9FHmt6Szp25wA0CoMlNW8rLhK72EBsX7 xY0eTl0Lm9qypJvq07jFEkWW2UJxavHhh8GIsAlm1kYpWR6325mS/PacutzUFBJco7J72h r3SmbfYqfUQFlRuWO7x0C4rx3taCtHm1YszWfAUyJ7COQibuTvrG0/WjznRJeiLrvAW+Lb NYmq80+CTNAJtjeoZvmAYNWXXWKr+pMG2U9a7ddronkbYRAtR9bkzFY1F4ATUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682371949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GtW59GqAUjbqZgVC3PPx3YUt+tsqPi/olaPOlyMqgto=; b=FeKhrG7SM7o5sk969/FJvaBB9WKv0jBcyPxqFqPCd90s8fFdbGRjX2nFxQasipGFoudub3 xGq/fn41Ym//lH0W/U0ryM1X0tcaddYVNXy5zh/lBRJdiLBtrT9nulOIsdY2s03Yq3lVSJ UrsvAwoDOiKGjfU+Q5TDTCLpkfyQ5km0ovKEcof5tJTeeo/Ck8Z2WrS03dzV4RxSeMGuHh iiQxQ1gprdqnCUah1IId82x933QxZgEzzNtOJlqyAXt5dDRJs5RtFMA69sWoHoZnftcFUl P1fUQ1uZeabi0nsyBu9/B9YL4QPABvnRhWv4yTHxmhvlAVzDUAgpx4yl90suDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682371949; a=rsa-sha256; cv=none; b=bAfFRwfngjKYxTFwfJsYNHRC/yaV9/06uu7b6tkS7IvplqW+m9Nbo8ZpNzKOYWaYW9PJwy TCbUNiSb4y+t0qqLuCOx21jTS/H3tKMzmC/wjoKj68/gR2DVtjCx6V0gL0fGofHq37tE4L oQymfzN8+3fS1BlUZjdiwM+6Y8uIYOXsnMCHQBzJ7L8Ocd5yhYKTssDT9gb+X30kcZWyx0 KyZdQwIOsYJf1tZR7LALko8iS1QLmnHdo8HT0qxxe4J64oZK42L6hFDBDuCm7zhP0+r5GA CgC6gnec8X+OW/BvJXQq9U6odIztDua6Io48qIvkmATS9L3sgGSaHziGURyNHw== 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 4Q4yyj5H7hzgt5; Mon, 24 Apr 2023 21:32: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 33OLWTo7060853; Mon, 24 Apr 2023 21:32:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OLWTCn060852; Mon, 24 Apr 2023 21:32:29 GMT (envelope-from git) Date: Mon, 24 Apr 2023 21:32:29 GMT Message-Id: <202304242132.33OLWTCn060852@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: a718431c30a5 - main - lookup(): ensure that openat("/", "..", O_RESOLVE_BENEATH) fails List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a718431c30a57226bc7c1a9181fc84bab00641a1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a718431c30a57226bc7c1a9181fc84bab00641a1 commit a718431c30a57226bc7c1a9181fc84bab00641a1 Author: Konstantin Belousov AuthorDate: 2023-04-23 23:21:42 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-24 21:32:10 +0000 lookup(): ensure that openat("/", "..", O_RESOLVE_BENEATH) fails PR: 269780 Reported by: Dan Gohman Reviewed by: emaste, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D39773 --- sys/kern/vfs_lookup.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c index d9a9cabde177..66a8b267f346 100644 --- a/sys/kern/vfs_lookup.c +++ b/sys/kern/vfs_lookup.c @@ -1083,12 +1083,16 @@ dirloop: pr = pr->pr_parent) if (dp == pr->pr_root) break; - if (dp == ndp->ni_rootdir || - dp == ndp->ni_topdir || - dp == rootvnode || - pr != NULL || - ((dp->v_vflag & VV_ROOT) != 0 && - (cnp->cn_flags & NOCROSSMOUNT) != 0)) { + bool isroot = dp == ndp->ni_rootdir || + dp == ndp->ni_topdir || dp == rootvnode || + pr != NULL; + if (isroot && (ndp->ni_lcf & + NI_LCF_STRICTRELATIVE) != 0) { + error = ENOTCAPABLE; + goto capdotdot; + } + if (isroot || ((dp->v_vflag & VV_ROOT) != 0 && + (cnp->cn_flags & NOCROSSMOUNT) != 0)) { ndp->ni_dvp = dp; ndp->ni_vp = dp; VREF(dp); @@ -1109,6 +1113,7 @@ dirloop: LK_RETRY, ISDOTDOT)); error = nameicap_check_dotdot(ndp, dp); if (error != 0) { +capdotdot: #ifdef KTRACE if (KTRPOINT(curthread, KTR_CAPFAIL)) ktrcapfail(CAPFAIL_LOOKUP, NULL, NULL); From nobody Mon Apr 24 21:32:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q4yyl0XPXz47NSY; Mon, 24 Apr 2023 21:32: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 4Q4yyk6msbz3rHP; Mon, 24 Apr 2023 21:32:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682371950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3H4+yCT+HuYKLWpGvNsE4z+pu/0Cy0OUxoREyj044oA=; b=M89WtqpBGL/GqPuLs2SR7Xxw2UzHju1g4wmKXDwdqNyk+HYfsI+9sYgD4VX+tptvu5Fxhd 87JU2xkVD5+Of1Wfs9N44vywUa8LAQRcFcu0+Yj4+Gp0zs+6VieUElEKJ1Bto4UM4wORLe Nbz683K/yte0QoIap+dmwjUFV27ZIg9pUlPezV/12DJTIyIndIEYj5khVMPT7CVudJpn5P EKxc+XvBbPRQ+oD7GULCoEYEGsyaCxsS+/LzGk3dAQtgxQq4WG0ucn9xpPCuFuqcD8igCA /znc1OBOq2zTb5m1KSYWKlfD9Z+otXDra79wD76qxaaoIDyRI8nm6R0vdloErQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682371950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3H4+yCT+HuYKLWpGvNsE4z+pu/0Cy0OUxoREyj044oA=; b=npXDQSBrsqFnu5rtrLcPznptWVjv2qJASUneku6QcG0qOu7rc1podI7p+NnH8VL6cjt8Uv LJ71TH0tXQ8JUe86mi+yzcbtyKjT19yvMJyOMbtgcpUBqqc99lPhP2/c8yAvhUo8N9z6OR M2dca3xkUkeQH3e3Aer8PsUtMbIIyIJx89g/wf9hLayMq9CPNdiNte8P71pUyuACMlMhTa F7ZzwZZu/Z457Z2AikIO8Te5ZXsOaLo5xJz0YUPK+hMX61YgnZhKYzYkBP033/blaH11dt FwVpg02jq8HCV1Zz7ABxvRCzMRX0ScvcYcpHdCxSPhr503rJAcnPIlJToLjp+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682371950; a=rsa-sha256; cv=none; b=GX/Oz0CmjsVP7PgIZR/tle8v6SgeJCaFIw8QaZ7pQmJTsbFU8CfvBasQm8UC8Yf49SoalO 46lF4LUl0Qxss7+/v3+EXmNSZko019RqnpN3G2sE4N9B2Y5Zs4cITpRoWl3NE+whAeqZuW wXHmZVCRtD+LP7JZi+PHovXTOiCZHb2MKhY+wFXuYICRN7XmlSWQ+XleU7+czUNWv6Y9TJ Fw29iX24aMsHovfjGTyJi2XairNkHmXEbVPerCU93uHh2w+MUCiL35Qcjn0dRr5ftnfA2q 52uQ7v0s+FeEOaElQhydiYrsLltBb8CsrYJVXoib15te0fHAveOD7Gpb0sjGBA== 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 4Q4yyk5tRnzhYh; Mon, 24 Apr 2023 21:32: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 33OLWUlM060872; Mon, 24 Apr 2023 21:32:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OLWUOM060871; Mon, 24 Apr 2023 21:32:30 GMT (envelope-from git) Date: Mon, 24 Apr 2023 21:32:30 GMT Message-Id: <202304242132.33OLWUOM060871@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: faec42a3ef60 - main - sys/dirent.h: comment update, 'd_off' is offset of next entry List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: faec42a3ef60d1c5e80da3e9aa3178ad1e0e7701 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=faec42a3ef60d1c5e80da3e9aa3178ad1e0e7701 commit faec42a3ef60d1c5e80da3e9aa3178ad1e0e7701 Author: Olivier Certner AuthorDate: 2023-04-23 08:05:06 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-24 21:32:10 +0000 sys/dirent.h: comment update, 'd_off' is offset of next entry This is the historical (and still current) behavior, as well as that of NetBSD, OpenBSD, illumos and Linux (getdents()/getdents64()). Reviewed by: kib MFC after: 3 days --- sys/sys/dirent.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/dirent.h b/sys/sys/dirent.h index 5bc6cf49afe7..b3c5e00cd9ad 100644 --- a/sys/sys/dirent.h +++ b/sys/sys/dirent.h @@ -65,7 +65,7 @@ typedef __off_t off_t; struct dirent { ino_t d_fileno; /* file number of entry */ - off_t d_off; /* directory offset of entry */ + off_t d_off; /* directory offset of next entry */ __uint16_t d_reclen; /* length of this record */ __uint8_t d_type; /* file type, see below */ __uint8_t d_pad0; From nobody Mon Apr 24 22:39:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q50S32qN5z45xsH; Mon, 24 Apr 2023 22:39: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 4Q50S32P3Sz3y4D; Mon, 24 Apr 2023 22:39:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682375971; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3i/Fst6pxotdirKcrIowbkr+ywDfWdwmhNe+0yBTCEE=; b=W5Twhh3JlGDsTK69tRH1u+krOEtG45eEy5E2CNKL/ZIDIcv4TWoXxBWjrPxazGhtHjCVih IQYcBNL4wfBKFD8/Ftl+5HyPmXhFRndSuDT6DWwSC9KKtw/rMhxiHYvdcMWO81sLYDYXGA jF1y7wTzmcmNaKJbn7km3whF6+qO8MzMPsvR7PEyI/BiGu5N3VfLqLojPReebqVhweMYW1 TiiMRe9QOMytxaWCxW6AZb0hm/chD8VJz2a2aUSUgd+tLwGHgjKchu7wf3kY3xoGU9OBOQ BpWrCjgHc56COfGzDVmu077yrm9h2Il5R/CfkpViOxltHktRsqAW8M7iNvJzGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682375971; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3i/Fst6pxotdirKcrIowbkr+ywDfWdwmhNe+0yBTCEE=; b=QyucAoLy9jV6BdubZzn3x542IofIaK5pteWRhD1Lw5hKeeQHJSCuDw85GJxJUSmjGQHaF9 DBj6byc6/Uq7g8w75HzPev66e5eaK1KUn3uLoQ7tyWyHmgz0I2Kehp7LYBYbQJqswKiZVD 9BnexzdJ3av6kNDFg4lorO9ZwdDwCmtNPGHag4Wrbe/9eSWjs0wWIANfolUNqxhLpsh3Vy LZfTDEpdNm8mFIWvOAXRzmXyGLs6MsjI21VoIu6JwVMXu+eOyP7/XWmen93SUMEk/tCYSt yeYzC9Bf/BLkvflPucqfxcq5V6VBYLskmrbT2gvmHUv4rjO3gIHtqoR/hakezw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682375971; a=rsa-sha256; cv=none; b=wvcb5Du+ezf0oNeOAmf2xnjSABfcvKZ7Icd+JKFueH81LV/v/ThQbgdjtGu9/b9FGjRmMi a9nIXV/swJfgLR7fKCmoiL+Z9k6Y+L4tlWY3jBpwSPaAAvBTkl6ZFmn5gGm6ITiXH2q6Wr tUEg2VYt/Rc37nBjdIqrlqJKcWhDFEMNeS/x0vSOjnUQ86+gVMdBtSP7ygPMdJw1dO29NW 1ECeXSHZfRoxTzmKp4+TG1TsJ0cl4zlqa1cWz2ZZzdRrRlWgP/XmxOaP0zO6rYmSFIQkNU qcShYGPGUlZ6WcbZJtlLbro6kE1TKC8zTdDRMX1Yux1aNKlRMB3gid3lSetKmQ== 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 4Q50S31S3QzjMv; Mon, 24 Apr 2023 22:39: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 33OMdVug059916; Mon, 24 Apr 2023 22:39:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33OMdVK6059915; Mon, 24 Apr 2023 22:39:31 GMT (envelope-from git) Date: Mon, 24 Apr 2023 22:39:31 GMT Message-Id: <202304242239.33OMdVK6059915@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: 6a5e61401502 - main - vn_open_vnode(): fix locking around VOP_CLOSE() on advisory lock error List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6a5e61401502288ec10629beb28be048c1cce34a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6a5e61401502288ec10629beb28be048c1cce34a commit 6a5e61401502288ec10629beb28be048c1cce34a Author: Olivier Certner AuthorDate: 2023-04-24 09:36:09 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-24 22:37:58 +0000 vn_open_vnode(): fix locking around VOP_CLOSE() on advisory lock error In the case of a FIFO or if trying to open a file for writing, an exclusive lock is necessary. Reviewed by: kib MFC after: 1 week --- sys/kern/vfs_vnops.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 52242cce0692..e42d17ec2478 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -483,8 +483,8 @@ vn_open_vnode(struct vnode *vp, int fmode, struct ucred *cred, * If there is no fp, due to kernel-mode open, * we can call VOP_CLOSE() now. */ - if (vp->v_type != VFIFO && (fmode & FWRITE) != 0 && - !MNT_EXTENDED_SHARED(vp->v_mount) && + if ((vp->v_type == VFIFO || (fmode & FWRITE) != 0 || + !MNT_EXTENDED_SHARED(vp->v_mount)) && VOP_ISLOCKED(vp) != LK_EXCLUSIVE) vn_lock(vp, LK_UPGRADE | LK_RETRY); (void)VOP_CLOSE(vp, fmode & (FREAD | FWRITE | FEXEC), From nobody Mon Apr 24 23:18:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q51JX5MQVz461dW; Mon, 24 Apr 2023 23:18:04 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from omta002.cacentral1.a.cloudfilter.net (omta002.cacentral1.a.cloudfilter.net [3.97.99.33]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q51JX38GTz447D; Mon, 24 Apr 2023 23:18:04 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Authentication-Results: mx1.freebsd.org; none Received: from shw-obgw-4003a.ext.cloudfilter.net ([10.228.9.183]) by cmsmtp with ESMTP id qvvJpVskA6Nwhr5RapK6df; Mon, 24 Apr 2023 23:18:02 +0000 Received: from spqr.komquats.com ([70.66.148.124]) by cmsmtp with ESMTPA id r5RZpFD9Bcyvur5RapUSpG; Mon, 24 Apr 2023 23:18:02 +0000 X-Authority-Analysis: v=2.4 cv=VbHkgXl9 c=1 sm=1 tr=0 ts=64470e2a a=Cwc3rblV8FOMdVN/wOAqyQ==:117 a=Cwc3rblV8FOMdVN/wOAqyQ==:17 a=kj9zAlcOel0A:10 a=dKHAf1wccvYA:10 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=EkcXrb_YAAAA:8 a=8eDjnTVNkIfJR_YP0n4A:9 a=CjuIK1q_8ugA:10 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=LK5xJRSDVpKd5WXXoEvA:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTP id 091382DB; Mon, 24 Apr 2023 16:18:00 -0700 (PDT) Received: by slippy.cwsent.com (Postfix, from userid 1000) id B9E7F12A; Mon, 24 Apr 2023 16:18:00 -0700 (PDT) X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.8+dev Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Konstantin Belousov cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: a718431c30a5 - main - lookup(): ensure that openat("/", "..", O_RESOLVE_BENEATH) fails In-reply-to: <202304242132.33OLWTCn060852@gitrepo.freebsd.org> References: <202304242132.33OLWTCn060852@gitrepo.freebsd.org> Comments: In-reply-to Konstantin Belousov message dated "Mon, 24 Apr 2023 21:32:29 +0000." List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 24 Apr 2023 16:18:00 -0700 Message-Id: <20230424231800.B9E7F12A@slippy.cwsent.com> X-CMAE-Envelope: MS4xfH94aRl7EirFFE8OvIGoX4bNTLzM7QHdiFQRMqe+OV0m3v3S1gSjubVV4qLJgYGJ9jhdMA/tmSKJObzjg7C9gyQ6QoYZWRm5DXPILOrQyUB2IVrnWoQS kMzM0XkcjBsBdzT/eIASChE0dL7O2/beFjym5/W9iyZD5dt5ubaal9O2l0cAK3PIoBQDO8GoB7uA0/Euwv7GflGLVPMVCtBvcR8QHuG7IIfV1mWn4kCsjWw6 PbO8U9BOGmEhNJWp3WQWjsaASRKKouycx7t/th8UdELCQoXTSCfCAa1dCJNhp73BCV2Q4qA5To0pwJE4l1puDrNH/Ghjb7oNHWmROf8LXns= X-Rspamd-Queue-Id: 4Q51JX38GTz447D X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:16509, ipnet:3.96.0.0/15, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N In message <202304242132.33OLWTCn060852@gitrepo.freebsd.org>, Konstantin Belous ov writes: > The branch main has been updated by kib: > > URL: https://cgit.FreeBSD.org/src/commit/?id=a718431c30a57226bc7c1a9181fc84ba > b00641a1 > > commit a718431c30a57226bc7c1a9181fc84bab00641a1 > Author: Konstantin Belousov > AuthorDate: 2023-04-23 23:21:42 +0000 > Commit: Konstantin Belousov > CommitDate: 2023-04-24 21:32:10 +0000 > > lookup(): ensure that openat("/", "..", O_RESOLVE_BENEATH) fails > > PR: 269780 > Reported by: Dan Gohman > Reviewed by: emaste, markj > Sponsored by: The FreeBSD Foundation > MFC after: 1 week > Differential revision: https://reviews.freebsd.org/D39773 Should this also require a CVE number? -- Cheers, Cy Schubert FreeBSD UNIX: Web: https://FreeBSD.org NTP: Web: https://nwtime.org e^(i*pi)+1=0 From nobody Mon Apr 24 23:19:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q51Kw36LHz461h0; Mon, 24 Apr 2023 23:19:16 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.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 4Q51Kw0zw8z44Vq; Mon, 24 Apr 2023 23:19:16 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.17.1/8.17.1) with ESMTPS id 33ONJ4Cv083542 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 25 Apr 2023 02:19:07 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 33ONJ4Cv083542 Received: (from kostik@localhost) by tom.home (8.17.1/8.17.1/Submit) id 33ONJ4ke083541; Tue, 25 Apr 2023 02:19:04 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 25 Apr 2023 02:19:04 +0300 From: Konstantin Belousov To: Cy Schubert Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: a718431c30a5 - main - lookup(): ensure that openat("/", "..", O_RESOLVE_BENEATH) fails Message-ID: References: <202304242132.33OLWTCn060852@gitrepo.freebsd.org> <20230424231800.B9E7F12A@slippy.cwsent.com> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230424231800.B9E7F12A@slippy.cwsent.com> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Rspamd-Queue-Id: 4Q51Kw0zw8z44Vq X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Mon, Apr 24, 2023 at 04:18:00PM -0700, Cy Schubert wrote: > In message <202304242132.33OLWTCn060852@gitrepo.freebsd.org>, Konstantin > Belous > ov writes: > > The branch main has been updated by kib: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=a718431c30a57226bc7c1a9181fc84ba > > b00641a1 > > > > commit a718431c30a57226bc7c1a9181fc84bab00641a1 > > Author: Konstantin Belousov > > AuthorDate: 2023-04-23 23:21:42 +0000 > > Commit: Konstantin Belousov > > CommitDate: 2023-04-24 21:32:10 +0000 > > > > lookup(): ensure that openat("/", "..", O_RESOLVE_BENEATH) fails > > > > PR: 269780 > > Reported by: Dan Gohman > > Reviewed by: emaste, markj > > Sponsored by: The FreeBSD Foundation > > MFC after: 1 week > > Differential revision: https://reviews.freebsd.org/D39773 > > Should this also require a CVE number? I do not see why. From nobody Mon Apr 24 23:29:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q51YH6Pf1z461cw; Mon, 24 Apr 2023 23:29:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q51YH5xYyz4528; Mon, 24 Apr 2023 23:29:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682378947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IoKy1mFgqLv+zVhhuz6vpyhIqbn8mI3p0Hl6KUWVL3k=; b=FLU5wk+BV3kDlKfgoPH7H4kKyPtAwuOEtpgvIxMK8IQSfTMrOHMuBr4E7XzkkK5Qi7OlCe tYYcr5vCUIBGiisVCOMKh5tj4Na7YjQuE3dig8YdAGXCzDyHBxZAhJ/wfsoD15RtWjnZLG 04QW8MqC1LZTZwHn+RQjO3ETlTjLzWGTQmCU4OMWFaviC1xCzwOlvrs6seCv8WktT1P4k7 VN56hqos4OBLlXM3X+w84kCKoJaPTy1B+99PFVO0zdH5jYzQ/FSRJc4KWhRzNm3Dpr6Uua hha544gi2M8f0yrvWY5AbYplMuVppWcHQ/4O6mN1+DR0uLLp2sOlYt3He1Aegg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682378947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IoKy1mFgqLv+zVhhuz6vpyhIqbn8mI3p0Hl6KUWVL3k=; b=Ybgtod9qIYnu3TZOkIUAHZuOqqumPTKXmMF1oYfJeJvUIBB8iZ+IS17m1yccy3sA/qoZEA 0n6GTNHix78Y2NqdQeGsVrs6qFCMpvWOeOCSejFuIjYUFyJkJdf2DpYJbKBHqM590mCKHd LtW+Ya5NWM8RRehSyYlOkCsIBQUmb9CaAS2q0BxqlCU+JDASM4fVkILejvGDDsE37Fuy8d f0FuYJ0+i91SoeKcZN4oqcrAj0cEhCFpEwPHOmkdI/n2vzs0NAbey4I3CIaqVlpsLx5ufK P9jzvTDHVfkyKlJhwaQJ/MpsMJ/SiFkzbp3h2QgccpGBHN7Qje6JMxnrkJ9u7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682378947; a=rsa-sha256; cv=none; b=Uzgykb1YDRg3pKNgFOMNdAIuq0g8jR8sC/mIHIP+x1jWlqd/reL9pBXYZT12bZL8R9Ecmb rPd5B85UTB4EUOmQcm7en7PG8qJE3uKnqKsP5TbpNWqdkytVZlt1G32LE+FKIFKDiWvqRh 3liGaqMuEeQ8no5JJGauoEJKHFCzBOWu6VMfJ8O4s6uagzFIWFrAT/xgKvuRNrkz1OOKsD OSNVQ8oLKUjVPl48FhYpV2qPMSSKDo9GbCfhrUh8TeqGmKxKq0pKB3aBAbYmZyj0mZCzq2 hu/EItWN5zwKYEiWNY+lQn49SK0jNxRJKCAcQ1BLfGElRkZpPSKR97+xBXrkPw== 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 4Q51YH4zgTzky2; Mon, 24 Apr 2023 23:29: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 33ONT7aL042042; Mon, 24 Apr 2023 23:29:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33ONT7oj042041; Mon, 24 Apr 2023 23:29:07 GMT (envelope-from git) Date: Mon, 24 Apr 2023 23:29:07 GMT Message-Id: <202304242329.33ONT7oj042041@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cheng Cui Subject: git: 8aa2be695e0c - main - Correct the value of macro TF2_TCP_ACCOUNTING. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8aa2be695e0c1e48ffef0de57b3b3dbee18486d8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cc: URL: https://cgit.FreeBSD.org/src/commit/?id=8aa2be695e0c1e48ffef0de57b3b3dbee18486d8 commit 8aa2be695e0c1e48ffef0de57b3b3dbee18486d8 Author: Cheng Cui AuthorDate: 2023-04-20 07:43:47 +0000 Commit: Cheng Cui CommitDate: 2023-04-24 19:28:41 +0000 Correct the value of macro TF2_TCP_ACCOUNTING. Summary: Make sure the values are in order. Reviewers: rscheff, tuexen, #transport! Approved by: rscheff, tuexen, glebius Subscribers: imp, melifaro, glebius Differential Revision: https://reviews.freebsd.org/D39716 --- sys/netinet/tcp_var.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index 5632e5d8bb41..f80e9fc37ff4 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -834,7 +834,7 @@ tcp_packets_this_ack(struct tcpcb *tp, tcp_seq ack) #define TF2_ACE_PERMIT 0x00000100 /* Accurate ECN mode */ #define TF2_FBYTES_COMPLETE 0x00000400 /* We have first bytes in and out */ #define TF2_ECN_USE_ECT1 0x00000800 /* Use ECT(1) marking on session */ -#define TF2_TCP_ACCOUNTING 0x00010000 /* Do TCP accounting */ +#define TF2_TCP_ACCOUNTING 0x00001000 /* Do TCP accounting */ /* * Structure to hold TCP options that are only used during segment From nobody Mon Apr 24 23:31:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q51c85dTSz462L4; Mon, 24 Apr 2023 23:31: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 4Q51c85BG5z462H; Mon, 24 Apr 2023 23:31:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682379096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ec1C/+ppDN300bif3SeH28JJiiKsIIkc4HUDlR0uOX4=; b=GtR9dovx/7yfC+VR+gQ4bVb9ELZGFxwIiiY/KLQ9Fcf51w5bmHZPYeOnY1BcU1swCM/Wro H60gmuc4awsqV5EA6s8uc60pzjASii6ZlsJ+ta1DJtFkSV+C5J4hzBI3b4CGPxw9Ew4vk0 RWSfTVXlPXsZIZWogu+wwEz+OOaylLF6m2eKp1IUh6Udafsp2AWa3vAPsW7qi20ysukFC7 mg2TRPp15YdXfRlKw/ex+G2qhQNpYKDJHaZWL77Xp4j4PEafRHddgZbMa8G6rk0LTN7xUy F00T3f9LAmUMHNCLwKnRFsqkfe6Hx4zy597HQEdB7Fm45L9koqTIOSrrVsTy5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682379096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ec1C/+ppDN300bif3SeH28JJiiKsIIkc4HUDlR0uOX4=; b=XhO/ip7GOGDe2CUHwzC5yyA0VpFK/FxeRmKHZLJcQpciMnJp9Dpy/QmMb/eaVD68RGVj5l cDEx1Ek4bmex+UnZgsM+fy6RAwk/KHGfHSgX9JuuUSG3l9f4NOWtqkDN0sSvqhjL+TvclA DfEHLSrRGeAy+VuI5R+DBATNCcp7OaaVoJCUzeegbviWhsuGl2kK+yFDLFwis9Lb3R6KDS Xk/Ep8YsNX1D/i5irEKJ1Lok+JQMxhzw6dkn7N5aadQvEP0bpr8i2RiY8Q7RJPPgtfxdzg Q16t+quvJATQw/cmxU7HxWRFvCg8z34OvMf2QlRLhSJTeF8VxaCCzUT5aJQVdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682379096; a=rsa-sha256; cv=none; b=wdOKobD8zwyUG8Jc8yAEJKsfmfYAyGvjiFIJX8cnhjbJLioe3t0W4T5NUIkzoSbvu7EHQu Zk2vElIRB1dRSIXjO88gzsnrLQ51WB2NNdmaC1X6g54EF4LGfXZmnYPQamAUNVHdHAu0p3 jEMsteHeI8737olwM+WxsM0y1EGHl0l5Qgtjo7hL7m1t3dIx6C3tkk5YGv9TDZJQL9Lyup gjmVY7n1RZARqQvmWy1MnDRtE99UolmCPE74Bi72hhHLhNo5TMz92JtE9J034bB88DDUy4 cTq+n0QpO9Y7S/sYUugl5uNeYYuFcZMFDmDIXXZil9Bh1PRF6gmWozvi4sxw+A== 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 4Q51c84GgJzlCd; Mon, 24 Apr 2023 23:31: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 33ONVamB056857; Mon, 24 Apr 2023 23:31:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33ONVap6056856; Mon, 24 Apr 2023 23:31:36 GMT (envelope-from git) Date: Mon, 24 Apr 2023 23:31:36 GMT Message-Id: <202304242331.33ONVap6056856@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cheng Cui Subject: git: 1f782fcc0cf1 - main - Remove unused fields in siftr_stats. Thus, update the man page as well. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1f782fcc0cf1042c6a08148cde0a81b4c6245e29 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cc: URL: https://cgit.FreeBSD.org/src/commit/?id=1f782fcc0cf1042c6a08148cde0a81b4c6245e29 commit 1f782fcc0cf1042c6a08148cde0a81b4c6245e29 Author: Cheng Cui AuthorDate: 2023-04-24 07:45:47 +0000 Commit: Cheng Cui CommitDate: 2023-04-24 19:31:15 +0000 Remove unused fields in siftr_stats. Thus, update the man page as well. Summary: Remove unused fields in siftr_stats. Thus, update the man page as well. Test Plan: Tested in Emulab testbed. Reviewers: rscheff, tuexen Approved by: rscheff, tuexen Subscribers: imp, melifaro, glebius Differential Revision: https://reviews.freebsd.org/D39776 --- share/man/man4/siftr.4 | 15 ++------------- sys/netinet/siftr.c | 16 +++------------- 2 files changed, 5 insertions(+), 26 deletions(-) diff --git a/share/man/man4/siftr.4 b/share/man/man4/siftr.4 index be5bf7d5411b..0406a38779b6 100644 --- a/share/man/man4/siftr.4 +++ b/share/man/man4/siftr.4 @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 7, 2022 +.Dd April 24, 2023 .Dt SIFTR 4 .Os .Sh NAME @@ -370,8 +370,7 @@ operations since the module was most recently enabled. disable_time_secs=1238556197 disable_time_usecs=933607 \\ num_inbound_tcp_pkts=356 num_outbound_tcp_pkts=627 \\ total_tcp_pkts=983 num_inbound_skipped_pkts_malloc=0 \\ -num_outbound_skipped_pkts_malloc=0 num_inbound_skipped_pkts_mtx=0 \\ -num_outbound_skipped_pkts_mtx=0 num_inbound_skipped_pkts_tcb=0 \\ +num_outbound_skipped_pkts_malloc=0 num_inbound_skipped_pkts_tcb=0 \\ num_outbound_skipped_pkts_tcb=0 num_inbound_skipped_pkts_icb=0 \\ num_outbound_skipped_pkts_icb=0 total_skipped_tcp_pkts=0 \\ flow_list=172.16.7.28;22-172.16.2.5;55931, @@ -417,16 +416,6 @@ Number of outbound packets that were not processed because of failed calls. .El .Bl -tag -offset indent -width Va -.It Va num_inbound_skipped_pkts_mtx -Number of inbound packets that were not processed because of failure to add the -packet to the packet processing queue. -.El -.Bl -tag -offset indent -width Va -.It Va num_outbound_skipped_pkts_mtx -Number of outbound packets that were not processed because of failure to add the -packet to the packet processing queue. -.El -.Bl -tag -offset indent -width Va .It Va num_inbound_skipped_pkts_tcb Number of inbound packets that were not processed because of failure to find the TCP control block associated with the packet. diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c index 7861031b724b..a23980704e17 100644 --- a/sys/netinet/siftr.c +++ b/sys/netinet/siftr.c @@ -112,8 +112,8 @@ __FBSDID("$FreeBSD$"); * Z is bumped to mark backwards compatible changes */ #define V_MAJOR 1 -#define V_BACKBREAK 2 -#define V_BACKCOMPAT 4 +#define V_BACKBREAK 3 +#define V_BACKCOMPAT 0 #define MODVERSION __CONCAT(V_MAJOR, __CONCAT(V_BACKBREAK, V_BACKCOMPAT)) #define MODVERSION_STR __XSTRING(V_MAJOR) "." __XSTRING(V_BACKBREAK) "." \ __XSTRING(V_BACKCOMPAT) @@ -257,9 +257,6 @@ struct siftr_stats /* # pkts skipped due to failed malloc calls. */ uint32_t nskip_in_malloc; uint32_t nskip_out_malloc; - /* # pkts skipped due to failed mtx acquisition. */ - uint32_t nskip_in_mtx; - uint32_t nskip_out_mtx; /* # pkts skipped due to failed inpcb lookups. */ uint32_t nskip_in_inpcb; uint32_t nskip_out_inpcb; @@ -1314,16 +1311,13 @@ siftr_manage_ops(uint8_t action) totalss.n_out = DPCPU_VARSUM(ss, n_out); totalss.nskip_in_malloc = DPCPU_VARSUM(ss, nskip_in_malloc); totalss.nskip_out_malloc = DPCPU_VARSUM(ss, nskip_out_malloc); - totalss.nskip_in_mtx = DPCPU_VARSUM(ss, nskip_in_mtx); - totalss.nskip_out_mtx = DPCPU_VARSUM(ss, nskip_out_mtx); totalss.nskip_in_tcpcb = DPCPU_VARSUM(ss, nskip_in_tcpcb); totalss.nskip_out_tcpcb = DPCPU_VARSUM(ss, nskip_out_tcpcb); totalss.nskip_in_inpcb = DPCPU_VARSUM(ss, nskip_in_inpcb); totalss.nskip_out_inpcb = DPCPU_VARSUM(ss, nskip_out_inpcb); total_skipped_pkts = totalss.nskip_in_malloc + - totalss.nskip_out_malloc + totalss.nskip_in_mtx + - totalss.nskip_out_mtx + totalss.nskip_in_tcpcb + + totalss.nskip_out_malloc + totalss.nskip_in_tcpcb + totalss.nskip_out_tcpcb + totalss.nskip_in_inpcb + totalss.nskip_out_inpcb; @@ -1334,8 +1328,6 @@ siftr_manage_ops(uint8_t action) "num_inbound_tcp_pkts=%ju\tnum_outbound_tcp_pkts=%ju\t" "total_tcp_pkts=%ju\tnum_inbound_skipped_pkts_malloc=%u\t" "num_outbound_skipped_pkts_malloc=%u\t" - "num_inbound_skipped_pkts_mtx=%u\t" - "num_outbound_skipped_pkts_mtx=%u\t" "num_inbound_skipped_pkts_tcpcb=%u\t" "num_outbound_skipped_pkts_tcpcb=%u\t" "num_inbound_skipped_pkts_inpcb=%u\t" @@ -1348,8 +1340,6 @@ siftr_manage_ops(uint8_t action) (uintmax_t)(totalss.n_in + totalss.n_out), totalss.nskip_in_malloc, totalss.nskip_out_malloc, - totalss.nskip_in_mtx, - totalss.nskip_out_mtx, totalss.nskip_in_tcpcb, totalss.nskip_out_tcpcb, totalss.nskip_in_inpcb, From nobody Mon Apr 24 23:45:42 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q51wR0L1wz463GJ for ; Mon, 24 Apr 2023 23:45: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 4Q51wQ6zY4z46rF; Mon, 24 Apr 2023 23:45:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682379943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cQLmtIhDKkIgMYEl6d40qkQDh9fV3b9V+rKV9RPyPgs=; b=o3tw/4bSATA0UHRQ4glT4We0YrNwQRn/Nljr9MTUoBC/i7eCQ+sfW7efkj6I4UfYL/p4IX j1dkRRS9Ybf+Kxh/CmhhcUDK4lvK2Ej66AjsHRhqWSjgpE30EVvALtES6JdjYQL46IG9PO x4v03cxRDY2Iq6QjXdw9O5LUnB0w8V30NzmJHta/DihUdgZqxI3looE9LChsvFGC/kQHxR SULfFujyoULpOr3DuEITFWVUAwB4ZjVqSYcDvVh3x+b1f3HCPlgNQcFfE0rV54zFiqRbPv PoQA4SS6zImpANJxLvrE2l5v+W4/ORR7X46hjO5ETyzS90qkkvGZw62iynsU0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682379943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cQLmtIhDKkIgMYEl6d40qkQDh9fV3b9V+rKV9RPyPgs=; b=hDq68h/Owm/dTDWsaG0QoTMB6RGwvSsVo+kFnXQkVoVjhWApFMsxv7bhSw9Ykcrxt3P/n+ M1RrwW5vfTFeIEXPrbP6MQD+JymBvqaMAtv6R7U7faugt1pPt8F3IgxHwRNExaun61+iy1 GBsR4O7njlwyso87/oRUvwO1OAWE2GhjodZw5PAkEJeQxY5FCuQx8doPQArSOwfKnVI0lI SeYWnZBlvd+QvT0avilLfbMozyXxBsFikHhf2uV6h6R5IOpU3Xz9HAmzvN/wTAWCxMq/3U 2sJlbwSCu4S3a4x7Xjj4RI+9pKl5PpPMoToTJzpU8/yc+iwJlmq3OeX0Hq+9xA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682379943; a=rsa-sha256; cv=none; b=OInjZqT7pZ7L8Q7lOz2dNwbTr98U6Xmrb3tN6EBDeKOc3m1FS94Le+E1SBWJQWIY0uVKvg 1EQBfiCmpG7VFmhFHPAVWW6kuvhksXCTdJK/K6fhqoj6Q3aqmml9NaGF1+38hxlJuJehww kt1R6ZkhXXrKnZ/AIVTNcpIUOb5nDw/qD5Mur7Z0IqkPPQVQi8CJR46KjlxAYZkb8SkhlZ CJnyi9Wi6DMsMvLd6yov5SS0FZoxzRR6HQ/U8HWy3CN1UnG6iBKPgPFx9MU7CG0M6yrSq/ bkBi7FowaXK7guh+Z7g9zi5jvEBDiKXDtNlJhGbxfaPDHYBqoTG+7Cz/776JFA== 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 4Q51wQ5fNlzlhw; Mon, 24 Apr 2023 23:45: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 33ONjggr074698; Mon, 24 Apr 2023 23:45:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33ONjg57074697; Mon, 24 Apr 2023 23:45:42 GMT (envelope-from git) Date: Mon, 24 Apr 2023 23:45:42 GMT Message-Id: <202304242345.33ONjg57074697@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: "Simon J. Gerraty" Subject: git: f4d51098686d..51d8a8b4ac1d - vendor/NetBSD/bmake - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/vendor/NetBSD/bmake X-Git-Reftype: branch X-Git-Commit: 51d8a8b4ac1dd7265e891149e470a803906de2a7 X-Git-Oldrev: f4d51098686d961fc03dc5aa327619d0af3c9dcd X-Git-Newrev: 51d8a8b4ac1dd7265e891149e470a803906de2a7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch vendor/NetBSD/bmake has been updated by sjg: URL: https://cgit.FreeBSD.org/src/log/?id=f4d51098686d..51d8a8b4ac1d 51d8a8b4ac1d Import bmake-20230414 From nobody Mon Apr 24 23:45:42 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q51wR0Syvz462qj for ; Mon, 24 Apr 2023 23:45: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 4Q51wR0132z4779; Mon, 24 Apr 2023 23:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682379943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J1MZumomgEP2laAvtXzZ9fYYuZMRhgZzY1kSNd66qSs=; b=yA28Hwz8HSi+RV8ijaivBbjOlx5oSUCx6+wlsWOyklpKCrVpuvLxy7n0NDtwl4uBvDLu1C 1Irl4hHZeXYv0ZASj3rXzFCAJ90x+55Lit8FmySOv9zOIgzOW54IpEuVLtCfqc/IIAkmnX pQ3U91XYVX9HgRP4uV8xTZIG5+4MiOEZy1tMaXjbfQCHaRJWL4vPO+OhTJzOgqIJAyb/Sp ZvA1Q2YS5MJmeA9NlmS7JorK7/oKRYHoxAP+fUrjyx1G3WMwinzj9T8cO2xY/UOfkR/YrK 7JScLcI4L2QX73iQDDvv9kG+wdKPIoWf8xNQNEQgwAnhW2oy+fRAYIf1pdVxyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682379943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J1MZumomgEP2laAvtXzZ9fYYuZMRhgZzY1kSNd66qSs=; b=Nz45fxhsdCCd5xo8OqWlKhSW0JZywb50tRnM1FhEFxXqHUkFWCNfsJPqKj2WlJt6R/sBOt SLQaCT5Y3pYtWUFy/q1V9tlaoOmeuGVooZfdlvF+p8wWJYHQVGqskgbmfFp77wQbJmuzEc CGz5NrKaIPntz7Dh85KDdu+SdVHS2IrZPv8MqPYC5KfnEjjYAzx57y6OLzxfdLB46eEkTK B1j64x5atxz3iqypQhF/6nHfFxGPQq0u0TqFj4ovQtLIpkgazdeGpPzfqfSoXdJxadxfpt CQ8yD5aiMqE+VudUf0LoYrzEqXsCgbN3Q9JuiIj3GItMY+QSerOzPfvNeT1MJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682379943; a=rsa-sha256; cv=none; b=YeW+t9UWNF3AynBh2nfAEhvQUPCTbntb1WzvJ6gYucJ8jBNkb6XecBRC6+gf4sU/n6xM8r Z/jNYygHFVH0OLCWn7m3qraWDtluqQRWoVxvd0luVZ4fQmlyr39rcTq/AnY9PfmOMfdrGE NXeH12dcswde7wOMoZEXTojeP66dRXjOpVfbxeWyPhe7WJU3YPosuU2mM2y1+ISogksd1M rsXjW7Wpi6sZwrbJnqREIh61zHuQR68pMhvJRrBeuYv53slq5em/yQCbDj5N6mgC7pq6m1 4HAeMgAA3zR8u1UwNI8i3IFOosWqowSRxH/wxfc6Q3LHwsj9Fa82lbLBRqjJNA== 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 4Q51wQ647Nzl9y; Mon, 24 Apr 2023 23:45: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 33ONjgQ5074717; Mon, 24 Apr 2023 23:45:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33ONjghi074716; Mon, 24 Apr 2023 23:45:42 GMT (envelope-from git) Date: Mon, 24 Apr 2023 23:45:42 GMT Message-Id: <202304242345.33ONjghi074716@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 01d25f13d5b7 - Create tag vendor/NetBSD/bmake/20230414 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/tags/vendor/NetBSD/bmake/20230414 X-Git-Reftype: annotated tag X-Git-Commit: 01d25f13d5b7a759e50c7780097c819c71cb4a52 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The annotated tag vendor/NetBSD/bmake/20230414 has been created by sjg: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/NetBSD/bmake/20230414 tag vendor/NetBSD/bmake/20230414 Tagger: Simon J. Gerraty TaggerDate: 2023-04-24 23:44:59 +0000 Tag bmake/20230414 commit 51d8a8b4ac1dd7265e891149e470a803906de2a7 Author: Simon J. Gerraty AuthorDate: 2023-04-24 23:44:30 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-24 23:44:30 +0000 Import bmake-20230414 Relevant/interesting changes: * make.1: document seemingly unexplained Error code 6. o compat.c: CompatDeleteTarget skip .PHONY targets to be consistent with JobDeleteTarget. o job.c: fix memory leak in handling sysv :from=to modifiers o unit tests for .MAKE.META.IGNORE_{FILTER,PATHS,PATTERNS} o var.c: fix parsing of unevaluated subexpressions with unbalanced '{}' o cond.c: reduce complexity of evaluating expressions From nobody Mon Apr 24 23:51:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q522m57BMz463LM; Mon, 24 Apr 2023 23:51: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 4Q522m4tspz47fR; Mon, 24 Apr 2023 23:51:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682380272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bq20Jg/K5dxWPypmRJxfBpsZFvZuZEDT1g7APCFkAZI=; b=MVu72jpTeSKzXe2xfiVd/Ft/vfYTUYE3itmwzYzQy87t/Ww4lTImwCdE/HUVarfh2rJaVq 0jZ+O4cgHBLeSCq4Wdo/1GH2vdaAeMW9pNb76vi+JZQ+QEK5jvSM9+Jg47L9vBjIIp8rAV lgLAe9lGR2Po44yVkCgpzX/7nXmjZ7mH+R+hPIIWj+8qyp72/ZeGua9USgAe6MZsV0Lztp j79oeqrzQlFW1g/le67+3nvAMZ8PMv/zcE2eTYqmeqMn8cjglC88OVYJu7rVkfXl8a7uNJ i94vPrAU2DB01rZu49nXIGzRdCZbFqtRSChpaUmH2xppvlZL789cc0KTgd++Ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682380272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bq20Jg/K5dxWPypmRJxfBpsZFvZuZEDT1g7APCFkAZI=; b=VYHOKmr1n8VBRfUlA6OOdgdlSp5G0qXyNfu+HfKq3FVFM9gLM8Lpr/0wfdWg5NmP8cz0Yq 4ZXkGdk2oVwSUofN8HouTop8NeXRPL04URYjdsEUMawYrlLRAXrntF/j5l+6/pHzBrJxk7 OypqaIyhH8XW8+LaIOhkQO5t1tgNAChzvc15v7glIsBgwSCN7HiAJqGxVtycGyzgxakZeN X0iFgveXBSUWtLLq72htPkBHdXZwyDWjYTibRHqaqDRIL23EisBKRbVFwrQOftAwmhlkxd ozxDOqNE216fjymiYm3AzcD16rmyDBy513LHKouE0RB9xyIHbz6S7JT8ovEWPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682380272; a=rsa-sha256; cv=none; b=yDe7BoXbbly6kU9pIuYGo85rcjcTTV/BFUxNGYf0aVMZ387HdOXnFtzUTxzfRrEorlk+UK sFlS69aQZXvCtHIV9Pc4P/xgvFjI2uH0OD25bhUu23Yi8DXY4cECrBxD2hGmuHgVp6Md7A siIWmlJXxTVJNOAoMrKM4Ud/4S6oYU8nTWCOTlBaM9HC4U/j2aTqqUA6B/2cvHmSmi5q3Y E53hhTz+bjY98FTwgakngcL9yJplYvnpswlbgJpcyBoQF4PzXHtMdiW8saS8YCpXo+y7oQ W5FzuP7riwWprAa38vYm5rEZ8Zx/JqZQkD7dHmmgs2F2KGevkfgBBiPHMviCZA== 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 4Q522m3zhDzlQg; Mon, 24 Apr 2023 23:51: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 33ONpCR5084789; Mon, 24 Apr 2023 23:51:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33ONp9eN084784; Mon, 24 Apr 2023 23:51:09 GMT (envelope-from git) Date: Mon, 24 Apr 2023 23:51:09 GMT Message-Id: <202304242351.33ONp9eN084784@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 8c973ee23d64 - main - Merge bmake-20230414 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8c973ee23d647bbdebd2c12cb51460d80101e11a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=8c973ee23d647bbdebd2c12cb51460d80101e11a commit 8c973ee23d647bbdebd2c12cb51460d80101e11a Merge: 1f782fcc0cf1 51d8a8b4ac1d Author: Simon J. Gerraty AuthorDate: 2023-04-24 23:46:44 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-24 23:50:16 +0000 Merge bmake-20230414 Merge commit '51d8a8b4ac1dd7265e891149e470a803906de2a7' contrib/bmake/ChangeLog | 52 ++++ contrib/bmake/FILES | 1 + contrib/bmake/Makefile | 4 +- contrib/bmake/VERSION | 2 +- contrib/bmake/arch.c | 11 +- contrib/bmake/bmake.1 | 27 +- contrib/bmake/bmake.cat1 | 32 ++- contrib/bmake/compat.c | 9 +- contrib/bmake/cond.c | 39 +-- contrib/bmake/for.c | 8 +- contrib/bmake/job.c | 19 +- contrib/bmake/main.c | 64 ++--- contrib/bmake/make.1 | 27 +- contrib/bmake/make.c | 6 +- contrib/bmake/make.h | 52 ++-- contrib/bmake/meta.c | 89 +++---- contrib/bmake/mk/ChangeLog | 59 +++++ contrib/bmake/mk/FILES | 1 + contrib/bmake/mk/autoconf.mk | 4 +- contrib/bmake/mk/dirdeps.mk | 29 ++- contrib/bmake/mk/gendirdeps.mk | 35 ++- contrib/bmake/mk/install-mk | 4 +- contrib/bmake/mk/jobs.mk | 88 +++++++ contrib/bmake/mk/lib.mk | 17 +- contrib/bmake/mk/meta.stage.mk | 6 +- contrib/bmake/mk/meta.sys.mk | 43 +++- contrib/bmake/mk/mk-files.txt | 29 ++- contrib/bmake/mk/prog.mk | 4 +- contrib/bmake/mk/sys.vars.mk | 10 +- contrib/bmake/mk/warnings.mk | 70 +++-- contrib/bmake/os.sh | 0 contrib/bmake/parse.c | 36 ++- contrib/bmake/suff.c | 10 +- contrib/bmake/trace.c | 6 +- contrib/bmake/unit-tests/Makefile | 63 +++-- contrib/bmake/unit-tests/cmd-interrupt.exp | 1 - contrib/bmake/unit-tests/cmd-interrupt.mk | 4 +- contrib/bmake/unit-tests/cond-cmp-numeric.exp | 8 +- contrib/bmake/unit-tests/cond-cmp-numeric.mk | 11 +- contrib/bmake/unit-tests/cond-cmp-string.exp | 16 +- contrib/bmake/unit-tests/cond-cmp-string.mk | 10 +- contrib/bmake/unit-tests/cond-func-empty.exp | 4 +- contrib/bmake/unit-tests/cond-func-empty.mk | 47 ++-- contrib/bmake/unit-tests/cond-short.exp | 11 +- contrib/bmake/unit-tests/cond-short.mk | 140 +++++----- contrib/bmake/unit-tests/cond-token-number.exp | 1 - contrib/bmake/unit-tests/cond-token-number.mk | 22 +- contrib/bmake/unit-tests/cond-token-plain.exp | 1 + contrib/bmake/unit-tests/cond-token-plain.mk | 8 +- contrib/bmake/unit-tests/cond-undef-lint.exp | 3 + contrib/bmake/unit-tests/dep-var.exp | 24 ++ contrib/bmake/unit-tests/dep-var.mk | 21 +- .../bmake/unit-tests/deptgt-delete_on_error.exp | 2 - contrib/bmake/unit-tests/meta-ignore.inc | 63 +++++ contrib/bmake/unit-tests/opt-debug-lint.exp | 2 + contrib/bmake/unit-tests/opt.mk | 4 +- contrib/bmake/unit-tests/parse-var.exp | 6 +- contrib/bmake/unit-tests/parse-var.mk | 40 ++- contrib/bmake/unit-tests/var-eval-short.exp | 4 + contrib/bmake/unit-tests/var-scope-cmdline.exp | 4 +- contrib/bmake/unit-tests/var-scope-cmdline.mk | 6 +- contrib/bmake/unit-tests/varcmd.mk | 6 +- contrib/bmake/unit-tests/varmod-ifelse.exp | 7 + contrib/bmake/unit-tests/varmod-ifelse.mk | 66 ++++- contrib/bmake/unit-tests/varmod-loop.exp | 6 +- contrib/bmake/unit-tests/varmod-loop.mk | 24 +- contrib/bmake/unit-tests/varmod-no-match.mk | 98 ++++++- contrib/bmake/unit-tests/varmod-order-shuffle.mk | 7 +- contrib/bmake/unit-tests/varmod-order.exp | 2 + contrib/bmake/unit-tests/varmod-order.mk | 16 +- .../varname-dot-make-meta-ignore_filter.exp | 10 + .../varname-dot-make-meta-ignore_filter.mk | 7 +- .../varname-dot-make-meta-ignore_paths.exp | 10 + .../varname-dot-make-meta-ignore_paths.mk | 7 +- .../varname-dot-make-meta-ignore_patterns.exp | 10 + .../varname-dot-make-meta-ignore_patterns.mk | 7 +- contrib/bmake/unit-tests/varname-dot-makeflags.exp | 11 +- contrib/bmake/unit-tests/varname-dot-makeflags.mk | 39 ++- .../bmake/unit-tests/varname-dot-makeoverrides.exp | 7 + .../bmake/unit-tests/varname-dot-makeoverrides.mk | 25 +- contrib/bmake/unit-tests/varname-makeflags.exp | 20 ++ contrib/bmake/unit-tests/varname-makeflags.mk | 182 +++++++++++-- contrib/bmake/unit-tests/varparse-errors.exp | 8 +- contrib/bmake/unit-tests/varparse-errors.mk | 3 +- contrib/bmake/var.c | 281 ++++++++------------- usr.bin/bmake/Makefile | 4 +- usr.bin/bmake/Makefile.config | 2 +- usr.bin/bmake/unit-tests/Makefile | 63 +++-- 88 files changed, 1594 insertions(+), 753 deletions(-) diff --cc contrib/bmake/Makefile index 4ad9ac92b266,000000000000..212885f7b900 mode 100644,000000..100644 --- a/contrib/bmake/Makefile +++ b/contrib/bmake/Makefile @@@ -1,238 -1,0 +1,236 @@@ - # $Id: Makefile,v 1.123 2023/01/28 02:49:20 sjg Exp $ ++# $Id: Makefile,v 1.124 2023/02/25 20:27:44 sjg Exp $ + +PROG= bmake + +SRCS= \ + arch.c \ + buf.c \ + compat.c \ + cond.c \ + dir.c \ + for.c \ + hash.c \ + job.c \ + lst.c \ + main.c \ + make.c \ + make_malloc.c \ + meta.c \ + metachar.c \ + parse.c \ + str.c \ + suff.c \ + targ.c \ + trace.c \ + util.c \ + var.c + +.-include "VERSION" +.-include "Makefile.inc" + +# this file gets generated by configure +.-include "Makefile.config" + +.if !empty(LIBOBJS) +SRCS+= ${LIBOBJS:T:.o=.c} +.endif + +# just in case +prefix?= /usr +srcdir?= ${.CURDIR} + +DEFAULT_SYS_PATH?= ${prefix}/share/mk + +CPPFLAGS+= -DUSE_META +CFLAGS+= ${CPPFLAGS} +CFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" +CFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE +CFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}} +COPTS.main.c+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\"" + +.for x in FORCE_MACHINE FORCE_MACHINE_ARCH +.ifdef $x +COPTS.main.c+= "-D$x=\"${$x}\"" +.endif +.endfor + +# meta mode can be useful even without filemon +# should be set by now +USE_FILEMON ?= no +.if ${USE_FILEMON:tl} != "no" +.PATH: ${srcdir}/filemon +SRCS+= filemon_${USE_FILEMON}.c +COPTS.meta.c+= -DUSE_FILEMON -DUSE_FILEMON_${USE_FILEMON:tu} +COPTS.job.c+= ${COPTS.meta.c} + +.if ${USE_FILEMON} == "dev" +FILEMON_H ?= /usr/include/dev/filemon/filemon.h +.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" +COPTS.filemon_dev.c += -DHAVE_FILEMON_H -I${FILEMON_H:H} +.endif +.endif # USE_FILEMON == dev + +.endif # USE_FILEMON + +.PATH: ${srcdir} + +.if make(obj) || make(clean) +SUBDIR+= unit-tests +.endif + +# start-delete1 for bsd.after-import.mk +# we skip a lot of this when building as part of FreeBSD etc. + +# list of OS's which are derrived from BSD4.4 +BSD44_LIST= NetBSD FreeBSD OpenBSD DragonFly MirBSD Bitrig +# we are... +OS := ${.MAKE.OS:U${uname -s:L:sh}} +# are we 4.4BSD ? +isBSD44:=${BSD44_LIST:M${OS}} + +.if ${isBSD44} == "" && ${OS:NDarwin:NLinux} != "" +MANTARGET= cat +INSTALL?=${srcdir}/install-sh +.if ${MACHINE} == "sun386" +# even I don't have one of these anymore :-) +CFLAGS+= -DPORTAR +.elif ${OS} != "SunOS" +# assume the worst +SRCS+= sigcompat.c +CFLAGS+= -DSIGNAL_FLAGS=SA_RESTART +.endif +.else +MANTARGET?= man +.endif + +# turn this on by default - ignored if we are root +WITH_INSTALL_AS_USER= + +# suppress with -DWITHOUT_* +OPTIONS_DEFAULT_YES+= \ + AUTOCONF_MK \ + INSTALL_MK \ + PROG_LINK + +OPTIONS_DEFAULT_NO+= \ + PROG_VERSION + +# process options now +.include + +.if ${MK_PROG_VERSION} == "yes" +PROG_NAME= ${PROG}-${_MAKE_VERSION} +.if ${MK_PROG_LINK} == "yes" +SYMLINKS+= ${PROG_NAME} ${BINDIR}/${PROG} +.endif +.endif + +EXTRACT_MAN=no +# end-delete1 + +MAN= ${PROG}.1 +MAN1= ${MAN} + +.if ${PROG} != "make" +CLEANFILES+= my.history +.if make(${MAN}) || !exists(${srcdir}/${MAN}) +my.history: + @(echo ".Nm"; \ + echo "is derived from NetBSD"; \ + echo ".Xr make 1 ."; \ + echo "It uses autoconf to facilitate portability to other platforms."; \ + echo ".Pp") > $@ + +.NOPATH: ${MAN} +${MAN}: make.1 my.history + @echo making $@ + @sed \ + -e '/^.Dt/s/MAKE/${PROG:tu}/' \ + -e 's/^.Nx/NetBSD/' \ + -e '/^.Nm/s/make/${PROG}/' \ + -e '/^.Sh HISTORY/rmy.history' \ + -e '/^.Sh HISTORY/,$$s,^.Nm,make,' ${srcdir}/make.1 > $@ + +all beforeinstall: ${MAN} +_mfromdir=. +.endif +.endif + +MANTARGET?= cat +MANDEST?= ${MANDIR}/${MANTARGET}1 + +.if ${MANTARGET} == "cat" +_mfromdir=${srcdir} +.endif + +.include + +CPPFLAGS+= -DMAKE_NATIVE -DHAVE_CONFIG_H +COPTS.var.c += -Wno-cast-qual +COPTS.job.c += -Wno-format-nonliteral +COPTS.parse.c += -Wno-format-nonliteral +COPTS.var.c += -Wno-format-nonliteral + +# Force these +SHAREDIR= ${SHAREDIR.bmake:U${prefix}/share} +BINDIR= ${BINDIR.bmake:U${prefix}/bin} +MANDIR= ${MANDIR.bmake:U${SHAREDIR}/man} + - .if !exists(.depend) +${OBJS}: config.h - .endif + +# start-delete2 for bsd.after-import.mk + +# make sure that MAKE_VERSION gets updated. +main.o: ${srcdir}/VERSION + +.if ${MK_AUTOCONF_MK} == "yes" +CONFIGURE_DEPS += ${.CURDIR}/VERSION +# we do not need or want the generated makefile +CONFIGURE_ARGS += --without-makefile +AUTOCONF_GENERATED_MAKEFILE = Makefile.config +.include +.endif +SHARE_MK ?= ${SHAREDIR}/mk +MKSRC = ${srcdir}/mk +INSTALL ?= ${srcdir}/install-sh + +.if ${MK_INSTALL_MK} == "yes" +install: install-mk +.endif + +beforeinstall: + test -d ${DESTDIR}${BINDIR} || ${INSTALL} -m ${DIRMODE} -d ${DESTDIR}${BINDIR} + test -d ${DESTDIR}${MANDEST} || ${INSTALL} -m ${DIRMODE} -d ${DESTDIR}${MANDEST} + +install-mk: +.if exists(${MKSRC}/install-mk) + test -d ${DESTDIR}${SHARE_MK} || ${INSTALL} -m ${DIRMODE} -d ${DESTDIR}${SHARE_MK} + sh ${MKSRC}/install-mk -v -m ${NONBINMODE} ${DESTDIR}${SHARE_MK} +.else + @echo need to unpack mk.tar.gz under ${srcdir} or set MKSRC; false +.endif +# end-delete2 + +# A simple unit-test driver to help catch regressions +TEST_MAKE ?= ${.OBJDIR}/${PROG:T} +accept test: .NOMETA + cd ${.CURDIR}/unit-tests && \ + MAKEFLAGS= ${TEST_MAKE} -r -m / ${.TARGET} ${TESTS:DTESTS=${TESTS:Q}} + + +.if make(test) && ${MK_AUTO_OBJ} == "yes" +# The test target above visits unit-tests with -r -m / +# which prevents MK_AUTO_OBJ doing its job +# so do it here +.if defined(MAKEOBJDIRPREFIX) || ${MAKEOBJDIR:U:M*/*} != "" +_utobj = ${.OBJDIR}/unit-tests +.else +_utobj = ${.CURDIR}/unit-tests/${MAKEOBJDIR:Uobj} +.endif +utobj: .NOMETA + @test -d ${_utobj} && exit 0; \ + echo "[Creating ${_utobj}...]"; \ + umask ${OBJDIR_UMASK:U002}; \ + mkdir -p ${_utobj} +test: utobj +.endif diff --cc contrib/bmake/mk/jobs.mk index 000000000000,f465ea06310b..f465ea06310b mode 000000,100644..100644 --- a/contrib/bmake/mk/jobs.mk +++ b/contrib/bmake/mk/jobs.mk diff --cc contrib/bmake/os.sh index 6bf52420c90f,6bf52420c90f..6bf52420c90f mode 100644,100755..100755 --- a/contrib/bmake/os.sh +++ b/contrib/bmake/os.sh diff --cc contrib/bmake/unit-tests/meta-ignore.inc index 000000000000,ed74f4d79017..ed74f4d79017 mode 000000,100644..100644 --- a/contrib/bmake/unit-tests/meta-ignore.inc +++ b/contrib/bmake/unit-tests/meta-ignore.inc diff --cc usr.bin/bmake/Makefile index f94c7d3d2914,000000000000..ed2f5b3d5e2f mode 100644,000000..100644 --- a/usr.bin/bmake/Makefile +++ b/usr.bin/bmake/Makefile @@@ -1,181 -1,0 +1,179 @@@ +# This is a generated file, do NOT edit! +# See contrib/bmake/bsd.after-import.mk +# +# $FreeBSD$ + +SRCTOP?= ${.CURDIR:H:H} + +# look here first for config.h +CFLAGS+= -I${.CURDIR} + +# for after-import +CLEANDIRS+= FreeBSD +CLEANFILES+= bootstrap + - # $Id: Makefile,v 1.123 2023/01/28 02:49:20 sjg Exp $ ++# $Id: Makefile,v 1.124 2023/02/25 20:27:44 sjg Exp $ + +PROG?= ${.CURDIR:T} + +SRCS= \ + arch.c \ + buf.c \ + compat.c \ + cond.c \ + dir.c \ + for.c \ + hash.c \ + job.c \ + lst.c \ + main.c \ + make.c \ + make_malloc.c \ + meta.c \ + metachar.c \ + parse.c \ + str.c \ + suff.c \ + targ.c \ + trace.c \ + util.c \ + var.c + +.sinclude "Makefile.inc" + +# this file gets generated by configure +.sinclude "Makefile.config" + +.if !empty(LIBOBJS) +SRCS+= ${LIBOBJS:T:.o=.c} +.endif + +# just in case +prefix?= /usr +srcdir?= ${.CURDIR} + +DEFAULT_SYS_PATH?= ${prefix}/share/mk + +CPPFLAGS+= -DUSE_META +CFLAGS+= ${CPPFLAGS} +CFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" +CFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE +CFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}} +COPTS.main.c+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\"" + +.for x in FORCE_MACHINE FORCE_MACHINE_ARCH +.ifdef $x +COPTS.main.c+= "-D$x=\"${$x}\"" +.endif +.endfor + +# meta mode can be useful even without filemon +# should be set by now +USE_FILEMON ?= no +.if ${USE_FILEMON:tl} != "no" +.PATH: ${srcdir}/filemon +SRCS+= filemon_${USE_FILEMON}.c +COPTS.meta.c+= -DUSE_FILEMON -DUSE_FILEMON_${USE_FILEMON:tu} +COPTS.job.c+= ${COPTS.meta.c} + +.if ${USE_FILEMON} == "dev" +FILEMON_H ?= /usr/include/dev/filemon/filemon.h +.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" +COPTS.filemon_dev.c += -DHAVE_FILEMON_H -I${FILEMON_H:H} +.endif +.endif # USE_FILEMON == dev + +.endif # USE_FILEMON + +.PATH: ${srcdir} + +.if make(obj) || make(clean) +SUBDIR+= unit-tests +.endif + + +MAN= ${PROG}.1 +MAN1= ${MAN} + +.if ${PROG} != "make" +CLEANFILES+= my.history +.if make(${MAN}) || !exists(${srcdir}/${MAN}) +my.history: + @(echo ".Nm"; \ + echo "is derived from NetBSD"; \ + echo ".Xr make 1 ."; \ + echo "It uses autoconf to facilitate portability to other platforms."; \ + echo ".Pp") > $@ + +.NOPATH: ${MAN} +${MAN}: make.1 my.history + @echo making $@ + @sed \ + -e '/^.Dt/s/MAKE/${PROG:tu}/' \ + -e 's/^.Nx/NetBSD/' \ + -e '/^.Nm/s/make/${PROG}/' \ + -e '/^.Sh HISTORY/rmy.history' \ + -e '/^.Sh HISTORY/,$$s,^.Nm,make,' ${srcdir}/make.1 > $@ + +all beforeinstall: ${MAN} +_mfromdir=. +.endif +.endif + +MANTARGET?= cat +MANDEST?= ${MANDIR}/${MANTARGET}1 + +.if ${MANTARGET} == "cat" +_mfromdir=${srcdir} +.endif + +.include + +CPPFLAGS+= -DMAKE_NATIVE -DHAVE_CONFIG_H +COPTS.var.c += -Wno-cast-qual +COPTS.job.c += -Wno-format-nonliteral +COPTS.parse.c += -Wno-format-nonliteral +COPTS.var.c += -Wno-format-nonliteral + +# Force these +SHAREDIR= ${SHAREDIR.bmake:U${prefix}/share} +BINDIR= ${BINDIR.bmake:U${prefix}/bin} +MANDIR= ${MANDIR.bmake:U${SHAREDIR}/man} + - .if !exists(.depend) +${OBJS}: config.h - .endif + + +# A simple unit-test driver to help catch regressions +TEST_MAKE ?= ${.OBJDIR}/${PROG:T} +accept test: .NOMETA + cd ${.CURDIR}/unit-tests && \ + MAKEFLAGS= ${TEST_MAKE} -r -m / ${.TARGET} ${TESTS:DTESTS=${TESTS:Q}} + + +.if make(test) && ${MK_AUTO_OBJ} == "yes" +# The test target above visits unit-tests with -r -m / +# which prevents MK_AUTO_OBJ doing its job +# so do it here +.if defined(MAKEOBJDIRPREFIX) || ${MAKEOBJDIR:U:M*/*} != "" +_utobj = ${.OBJDIR}/unit-tests +.else +_utobj = ${.CURDIR}/unit-tests/${MAKEOBJDIR:Uobj} +.endif +utobj: .NOMETA + @test -d ${_utobj} && exit 0; \ + echo "[Creating ${_utobj}...]"; \ + umask ${OBJDIR_UMASK:U002}; \ + mkdir -p ${_utobj} +test: utobj +.endif + +# override some simple things +BINDIR= /usr/bin +MANDIR= /usr/share/man/man + +# make sure we get this +CFLAGS+= ${COPTS.${.IMPSRC:T}} + +after-import: ${SRCTOP}/contrib/bmake/bsd.after-import.mk + cd ${.CURDIR} && ${.MAKE} -f ${SRCTOP}/contrib/bmake/bsd.after-import.mk + diff --cc usr.bin/bmake/Makefile.config index a0310f91a5f8,000000000000..60e86b185246 mode 100644,000000..100644 --- a/usr.bin/bmake/Makefile.config +++ b/usr.bin/bmake/Makefile.config @@@ -1,28 -1,0 +1,28 @@@ +# This is a generated file, do NOT edit! +# See contrib/bmake/bsd.after-import.mk +# +# $FreeBSD$ + +SRCTOP?= ${.CURDIR:H:H} + +# things set by configure + - _MAKE_VERSION?=20230208 ++_MAKE_VERSION?=20230414 + +prefix?= /usr +srcdir= ${SRCTOP}/contrib/bmake +CC?= cc +DEFAULT_SYS_PATH?= .../share/mk:/usr/share/mk + +EGREP = egrep +CPPFLAGS+= +CFLAGS+= ${CPPFLAGS} -DHAVE_CONFIG_H +LDFLAGS+= +LIBOBJS+= ${LIBOBJDIR}stresep$U.o +LDADD+= +USE_META?= yes +USE_FILEMON?= dev +FILEMON_H?= /usr/include/dev/filemon/filemon.h +BMAKE_PATH_MAX?= 1024 +# used if MAXPATHLEN not defined +CPPFLAGS+= -DBMAKE_PATH_MAX=${BMAKE_PATH_MAX} diff --cc usr.bin/bmake/unit-tests/Makefile index 3214dacda5fc,000000000000..6594bdd5cd81 mode 100644,000000..100644 --- a/usr.bin/bmake/unit-tests/Makefile +++ b/usr.bin/bmake/unit-tests/Makefile @@@ -1,850 -1,0 +1,859 @@@ +# This is a generated file, do NOT edit! +# See contrib/bmake/bsd.after-import.mk +# +# $FreeBSD$ - # $Id: Makefile,v 1.191 2023/01/24 06:09:49 sjg Exp $ ++# $Id: Makefile,v 1.193 2023/02/25 20:03:25 sjg Exp $ +# - # $NetBSD: Makefile,v 1.331 2023/01/24 00:24:02 sjg Exp $ ++# $NetBSD: Makefile,v 1.333 2023/02/25 19:30:32 sjg Exp $ +# +# Unit tests for make(1) +# +# The main targets are: +# +# all: +# run all the tests +# test: +# run 'all', and compare to expected results +# accept: +# move generated output to expected results +# +# Settable variables +# +# TEST_MAKE +# The make program to be tested. +# +# +# Adding a test case +# +# Each feature should get its own set of tests in its own suitably +# named makefile (*.mk), with its own set of expected results (*.exp), +# and it should be added to the TESTS list. +# + +.MAIN: all + +# we use these below but we might be an older make +.MAKE.OS?= ${uname -s:L:sh} +.MAKE.UID?= ${id -u:L:sh} + ++# for many tests we need a TMPDIR that will not collide ++# with other users. ++.if ${.OBJDIR} != ${.CURDIR} ++# easy ++TMPDIR:= ${.OBJDIR}/tmp ++.elif defined(TMPDIR) ++TMPDIR:= ${TMPDIR}/uid${.MAKE.UID} ++.else ++TMPDIR:= /tmp/uid${.MAKE.UID} ++.endif ++# make sure it exists ++.if !exist(${TMPDIR}) ++_!= mkdir -p ${TMPDIR} ++.endif ++ +# Each test is in a sub-makefile. +# Keep the list sorted. +# Any test that is commented out must be ignored in +# src/tests/usr.bin/make/t_make.sh as well. +#TESTS+= archive +#TESTS+= archive-suffix +TESTS+= cmd-errors +TESTS+= cmd-errors-jobs +TESTS+= cmd-errors-lint +TESTS+= cmd-interrupt +TESTS+= cmdline +TESTS+= cmdline-redirect-stdin +TESTS+= cmdline-undefined +TESTS+= comment +TESTS+= compat-error +TESTS+= cond-cmp-numeric +TESTS+= cond-cmp-numeric-eq +TESTS+= cond-cmp-numeric-ge +TESTS+= cond-cmp-numeric-gt +TESTS+= cond-cmp-numeric-le +TESTS+= cond-cmp-numeric-lt +TESTS+= cond-cmp-numeric-ne +TESTS+= cond-cmp-string +TESTS+= cond-cmp-unary +TESTS+= cond-eof +TESTS+= cond-func +TESTS+= cond-func-commands +TESTS+= cond-func-defined +TESTS+= cond-func-empty +TESTS+= cond-func-exists +TESTS+= cond-func-make +TESTS+= cond-func-make-main +TESTS+= cond-func-target +TESTS+= cond-late +TESTS+= cond-op +TESTS+= cond-op-and +TESTS+= cond-op-and-lint +TESTS+= cond-op-not +TESTS+= cond-op-or +TESTS+= cond-op-or-lint +TESTS+= cond-op-parentheses +TESTS+= cond-short +TESTS+= cond-token-number +TESTS+= cond-token-plain +TESTS+= cond-token-string +TESTS+= cond-token-var +TESTS+= cond-undef-lint +TESTS+= counter +TESTS+= counter-append +TESTS+= dep +TESTS+= dep-colon +TESTS+= dep-colon-bug-cross-file +TESTS+= dep-double-colon +TESTS+= dep-double-colon-indep +TESTS+= dep-duplicate +TESTS+= dep-exclam +TESTS+= dep-none +TESTS+= dep-op-missing +TESTS+= dep-percent +TESTS+= dep-var +TESTS+= dep-wildcards +TESTS+= depsrc +TESTS+= depsrc-end +TESTS+= depsrc-exec +TESTS+= depsrc-ignore +TESTS+= depsrc-made +TESTS+= depsrc-make +TESTS+= depsrc-meta +TESTS+= depsrc-nometa +TESTS+= depsrc-nometa_cmp +TESTS+= depsrc-nopath +TESTS+= depsrc-notmain +TESTS+= depsrc-optional +TESTS+= depsrc-phony +TESTS+= depsrc-precious +TESTS+= depsrc-recursive +TESTS+= depsrc-silent +TESTS+= depsrc-use +TESTS+= depsrc-usebefore +TESTS+= depsrc-usebefore-double-colon +TESTS+= depsrc-wait +TESTS+= deptgt +TESTS+= deptgt-begin +TESTS+= deptgt-begin-fail +TESTS+= deptgt-begin-fail-indirect +TESTS+= deptgt-default +TESTS+= deptgt-delete_on_error +TESTS+= deptgt-end +TESTS+= deptgt-end-fail +TESTS+= deptgt-end-fail-all +TESTS+= deptgt-end-fail-indirect +TESTS+= deptgt-end-jobs +TESTS+= deptgt-error +TESTS+= deptgt-ignore +TESTS+= deptgt-interrupt +TESTS+= deptgt-main +TESTS+= deptgt-makeflags +TESTS+= deptgt-no_parallel +TESTS+= deptgt-nopath +TESTS+= deptgt-notparallel +TESTS+= deptgt-objdir +TESTS+= deptgt-order +TESTS+= deptgt-path +TESTS+= deptgt-path-suffix +TESTS+= deptgt-phony +TESTS+= deptgt-posix +TESTS+= deptgt-precious +TESTS+= deptgt-shell +TESTS+= deptgt-silent +TESTS+= deptgt-silent-jobs +TESTS+= deptgt-stale +TESTS+= deptgt-suffixes +TESTS+= dir +TESTS+= dir-expand-path +TESTS+= directive +TESTS+= directive-dinclude +TESTS+= directive-elif +TESTS+= directive-elifdef +TESTS+= directive-elifmake +TESTS+= directive-elifndef +TESTS+= directive-elifnmake +TESTS+= directive-else +TESTS+= directive-endfor +TESTS+= directive-endif +TESTS+= directive-error +TESTS+= directive-export +TESTS+= directive-export-env +TESTS+= directive-export-impl +TESTS+= directive-export-gmake +TESTS+= directive-export-literal +TESTS+= directive-for +TESTS+= directive-for-break +TESTS+= directive-for-empty +TESTS+= directive-for-errors +TESTS+= directive-for-escape +TESTS+= directive-for-generating-endif +TESTS+= directive-for-if +TESTS+= directive-for-lines +TESTS+= directive-for-null +TESTS+= directive-hyphen-include +TESTS+= directive-if +TESTS+= directive-if-nested +TESTS+= directive-ifdef +TESTS+= directive-ifmake +TESTS+= directive-ifndef +TESTS+= directive-ifnmake +TESTS+= directive-include +TESTS+= directive-include-fatal +TESTS+= directive-info +TESTS+= directive-misspellings +TESTS+= directive-sinclude +TESTS+= directive-undef +TESTS+= directive-unexport +TESTS+= directive-unexport-env +TESTS+= directive-warning +TESTS+= dollar +TESTS+= doterror +TESTS+= dotwait +TESTS+= error +TESTS+= # escape # broken by reverting POSIX changes +TESTS+= export +TESTS+= export-all +TESTS+= export-env +TESTS+= export-variants +TESTS+= forloop +TESTS+= forsubst +TESTS+= gnode-submake +TESTS+= hanoi-include +TESTS+= impsrc +TESTS+= include-main +TESTS+= job-flags +#TESTS+= job-output-long-lines +TESTS+= job-output-null +TESTS+= jobs-empty-commands +TESTS+= jobs-empty-commands-error +TESTS+= jobs-error-indirect +TESTS+= jobs-error-nested +TESTS+= jobs-error-nested-make +TESTS+= lint +TESTS+= make-exported +TESTS+= meta-cmd-cmp +TESTS+= moderrs +TESTS+= modmatch +TESTS+= modmisc +.if ${.MAKE.UID} > 0 +TESTS+= objdir-writable +.endif +TESTS+= opt +TESTS+= opt-backwards +TESTS+= opt-chdir +TESTS+= opt-debug +TESTS+= opt-debug-all +TESTS+= opt-debug-archive +TESTS+= opt-debug-curdir +TESTS+= opt-debug-cond +TESTS+= opt-debug-dir +TESTS+= opt-debug-errors +TESTS+= opt-debug-errors-jobs +TESTS+= opt-debug-file +TESTS+= opt-debug-for +TESTS+= opt-debug-graph1 +TESTS+= opt-debug-graph2 +TESTS+= opt-debug-graph3 +TESTS+= opt-debug-hash +#TESTS+= opt-debug-jobs +TESTS+= opt-debug-lint +TESTS+= opt-debug-loud +TESTS+= opt-debug-meta +TESTS+= opt-debug-making +TESTS+= opt-debug-no-rm +TESTS+= opt-debug-parse +TESTS+= opt-debug-suff +TESTS+= opt-debug-targets +TESTS+= opt-debug-varraw +TESTS+= opt-debug-var +TESTS+= opt-debug-x-trace +TESTS+= opt-define +TESTS+= opt-env +TESTS+= opt-file +TESTS+= opt-ignore +TESTS+= opt-include-dir +TESTS+= opt-jobs +TESTS+= opt-jobs-internal +TESTS+= opt-jobs-no-action +TESTS+= opt-keep-going +TESTS+= opt-keep-going-indirect +TESTS+= opt-keep-going-multiple +TESTS+= opt-m-include-dir +TESTS+= opt-no-action +TESTS+= opt-no-action-at-all +TESTS+= opt-no-action-runflags +TESTS+= opt-no-action-touch +TESTS+= opt-query +TESTS+= opt-raw +TESTS+= opt-silent +TESTS+= opt-touch +TESTS+= opt-touch-jobs +TESTS+= opt-tracefile +TESTS+= opt-var-expanded +TESTS+= opt-var-literal +TESTS+= opt-version +TESTS+= opt-warnings-as-errors +TESTS+= opt-where-am-i +TESTS+= opt-x-reduce-exported +TESTS+= order +TESTS+= parse +TESTS+= parse-var +TESTS+= phony-end +TESTS+= posix +TESTS+= # posix1 # broken by reverting POSIX changes +TESTS+= recursive +TESTS+= sh +TESTS+= sh-dots +TESTS+= sh-errctl +TESTS+= sh-flags +TESTS+= sh-jobs +TESTS+= sh-jobs-error +TESTS+= sh-leading-at +TESTS+= sh-leading-hyphen +TESTS+= sh-leading-plus +TESTS+= sh-meta-chars +TESTS+= sh-multi-line +TESTS+= sh-single-line +TESTS+= shell-csh +TESTS+= shell-custom +.if exists(/bin/ksh) +TESTS+= shell-ksh +.endif +TESTS+= shell-sh +TESTS+= suff-add-later +TESTS+= suff-clear-regular +TESTS+= suff-clear-single +TESTS+= suff-incomplete +TESTS+= suff-lookup +TESTS+= suff-main +TESTS+= suff-main-several +TESTS+= suff-phony +TESTS+= suff-rebuild +TESTS+= suff-self +TESTS+= suff-transform-debug +TESTS+= suff-transform-endless +TESTS+= suff-transform-expand +TESTS+= suff-transform-select +TESTS+= suff-use +TESTS+= sunshcmd +TESTS+= ternary +TESTS+= unexport +TESTS+= unexport-env +TESTS+= use-inference +TESTS+= var-readonly +TESTS+= var-scope +TESTS+= var-scope-cmdline +TESTS+= var-scope-env +TESTS+= var-scope-global +TESTS+= var-scope-local +TESTS+= var-scope-local-legacy +TESTS+= var-eval-short +TESTS+= var-op +TESTS+= var-op-append +TESTS+= var-op-assign +TESTS+= var-op-default +TESTS+= var-op-expand +TESTS+= var-op-shell +TESTS+= var-op-sunsh +TESTS+= var-recursive +TESTS+= varcmd +TESTS+= vardebug +TESTS+= varfind +TESTS+= varmisc +TESTS+= varmod +TESTS+= varmod-assign +TESTS+= varmod-assign-shell +TESTS+= varmod-defined +TESTS+= varmod-edge +TESTS+= varmod-exclam-shell +TESTS+= varmod-extension +TESTS+= varmod-gmtime +TESTS+= varmod-hash +TESTS+= varmod-head +TESTS+= varmod-ifelse +TESTS+= varmod-indirect +TESTS+= varmod-l-name-to-value +TESTS+= varmod-localtime +TESTS+= varmod-loop +TESTS+= varmod-loop-delete +TESTS+= varmod-loop-varname +TESTS+= varmod-match +TESTS+= varmod-match-escape +TESTS+= varmod-no-match +TESTS+= varmod-order +TESTS+= varmod-order-numeric +TESTS+= varmod-order-reverse +TESTS+= varmod-order-shuffle +TESTS+= varmod-order-string +TESTS+= varmod-path +TESTS+= varmod-quote +TESTS+= varmod-quote-dollar +TESTS+= varmod-range *** 493 LINES SKIPPED *** From nobody Mon Apr 24 23:55:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q52881Wcmz463Sw; Mon, 24 Apr 2023 23:55: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 4Q528813CGz48lj; Mon, 24 Apr 2023 23:55:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682380552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ER0Apq4NfMcC7OFYQAHzw9Gv6zM5CzSsIs7yuBJ6cgc=; b=jpKfFOHkyKdEsCAmvpVgu1hj1WaVOs//Ri/6p8vMpDshtSey9ISoKLZOAunPPjjYaF1nI3 HfWsURnKd62LDSjxHvGDYP0HLpUYHLZIXiMAi9LcdisEYZx3OiQ/0rPEPIhJOqkGvSmgNn mvjh4tM26EOYwNocxWm2KNjxobf22J3A5vyPHPDoQuYsWM77nNr6mP/1ISRTqLymVACRJI tXQcsSgBaPLlgM3ludj+YG68SggT5Oi6W3DQwpmyi0qd3alshyFDI00rrsKqsqK3LlVFj3 KQ/X2RkwfNgdaSDYsl/ip7aiNdDXQtQaJAYXgR0/AZ15+Xjlru6CZBWZBMJfkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682380552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ER0Apq4NfMcC7OFYQAHzw9Gv6zM5CzSsIs7yuBJ6cgc=; b=ygUF8frkPGXVVH7OQbLsntACb3cAxcETI3miYkK/oxyyYf6WOAy2eOKssr4ZexXkIATfME T9KgI9r93kRXgQ4BYPimbCuY+dUAvrxe+WN7yqy+A2ujV/kJYtDZQB60U+5Fls2wB2j+iz 41Ek9Ogv0+fD0F6KkpZmunAgyd60htxIYRCM48SOhlXuOfxdj5WbbR3QOEVR0v+bpzy3R1 F77gI2DxhjqfSr0YtT59jm2v9D8+XoSn19rgp5QFWNICicWv8PDXuHNEIDFK7DDEevKxxe ghDDz9ZHtLI+uHgvGvszpWPwQZV0aOmQajHb7QZH053UAmv61Qm2XGYjOnW2IA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682380552; a=rsa-sha256; cv=none; b=MzemGMiec5nJDeKIcvE5fggvkGfQh8xw96vqCEmYxb0j2TP32RGZZxc3cBx3XnLheqloj7 C8BJxeKLkKkvtn5pbKoZ8LgiYlEvfF30GOB7G60uBpbeUW/SA/g1ILTmmfodoIai12Xcdf tmchTVCTym8lHXmzl04vymbbbEKk6CoBQXjtwrWk5vFCHqLExD+fmUzryYQi1JyYpWQY6P 0MMQfbWN85IbTry2zSltvjekLg9CElOwg/BGqTm0tiGHmNlEI2lSt48ggKzq+9bDGvjoCb qQEJwPuEltMb7DzxnoOlxZtjUUdHcCZ/WbJGTcDkLSdD7RSn9bYT+uiovvbQBg== 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 4Q528807dDzld6; Mon, 24 Apr 2023 23:55:52 +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 33ONtp24090735; Mon, 24 Apr 2023 23:55:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33ONtptD090734; Mon, 24 Apr 2023 23:55:51 GMT (envelope-from git) Date: Mon, 24 Apr 2023 23:55:51 GMT Message-Id: <202304242355.33ONtptD090734@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: cb3c414f2ff3 - main - bmake does not need libegacy List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb3c414f2ff3ccc02da70022f1ab8bf61bc06f27 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=cb3c414f2ff3ccc02da70022f1ab8bf61bc06f27 commit cb3c414f2ff3ccc02da70022f1ab8bf61bc06f27 Author: Simon J. Gerraty AuthorDate: 2023-04-24 23:55:45 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-24 23:55:45 +0000 bmake does not need libegacy --- usr.bin/bmake/Makefile.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/usr.bin/bmake/Makefile.inc b/usr.bin/bmake/Makefile.inc index 8e10a654a754..22799321f69e 100644 --- a/usr.bin/bmake/Makefile.inc +++ b/usr.bin/bmake/Makefile.inc @@ -1,5 +1,8 @@ # $FreeBSD$ +# we do not need this +MK_host_egacy= no + .sinclude .if defined(.PARSEDIR) From nobody Tue Apr 25 00:38:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q53581Z06z466XC; Tue, 25 Apr 2023 00:38: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 4Q535812cSz4D4D; Tue, 25 Apr 2023 00:38:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682383100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O5tn+26hZitY/ehp/822o7v2GA6k6wUgJSyT6S6gCwg=; b=UF6z+ieFICeHCy7398qPCBdzyiVTY7Gl6s1tLiAFz099GXYPs3Es01DdBUWanOskzjbCWl 8aeOF2la30D+tlH/6PMt+wPXQW9GuOgcjfR0n8WS0k7WqTPvM3qs2cwFMJAj+mqlJYz2tz tb/fKO+TR/9swPiZ10YD/zbFZGgs+Q6aBWOUkw7UCZP+WZ/P6DObKaME6LKbIoxuKAinON 9ZtvEpFW10XP0fT/q6g5Ot9avRmuGu/djbdHlGeHwBUlK8lBYVihWoF8ub/PZqXtbAqS9Z Sgfcg8IboZK3TAFTVMy8jphTjY4zg9i6aDwYyupEJsZS/b47YSCngZX/dRGHag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682383100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O5tn+26hZitY/ehp/822o7v2GA6k6wUgJSyT6S6gCwg=; b=Dj0iXVeDWslWzex1AN9DmTQW5USQBUSr6qn3FHCX8rY2ndWPGQrvoiR2w/1jImkrI0MfiZ dTz/RR2axokCnZ5amRHnevq6826/loA3czHvVZFOqKs9W1Ds+FfJEDCCcbWIW7fxvpqoJn DDuZoCbcvKaSTYni99sg3zlO3/ly8HkYWOTNuD/2vepEimo5vbAUzM1YOfnxLrgp+ymZoN P/nc39AoppnJdSqK3ooB6cpQUaf8xrLnIawvSgAskS5sh2AsB9NsSRO4YOiuTRzrR7/1ud z3hDul33AzEQSl7qMr9QV0PjLtNLVNQCcFWqGP+FtKhSg0vczgvvwVfGBBBZOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682383100; a=rsa-sha256; cv=none; b=kppOsqdWYOMqggjphNsOwIf/a7mVJfCPF4x6f6yT++bY5jWj8K4uKCx5DclQIHlKPT94p6 Eac5dXXuzSlUlE0uFY3Ec9YBVQCkYolYW6IhRpEw82Sei0311nujYoJnUB0nvX/CVlfw5Q FkrFXy5A3gCPu/tbPnTllS8hBrTUqBe57kqbTZi++a52XX/ExxG82dwEAyFqW8ocf6GXGT ivyBMFfitXZK7qAgoDf4FGtKlodKYoGPefkN8DAgtexfz2pwF5AyBiQJ0iKHPfEDzlp6O0 OFFHS9oTtvBLgTid5A/FRfzHgshfxNcMQ5rNYhnZLF3LliM0jwaY9Qv973gL+A== 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 4Q5358072YzmJV; Tue, 25 Apr 2023 00:38: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 33P0cJ1o057316; Tue, 25 Apr 2023 00:38:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P0cJ6I057315; Tue, 25 Apr 2023 00:38:19 GMT (envelope-from git) Date: Tue, 25 Apr 2023 00:38:19 GMT Message-Id: <202304250038.33P0cJ6I057315@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: aad9b8f78c31 - stable/13 - sync_vnode(): add assert to check vn_start_write() correctness List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: aad9b8f78c311c0ed6182234fe0c441e70f76613 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=aad9b8f78c311c0ed6182234fe0c441e70f76613 commit aad9b8f78c311c0ed6182234fe0c441e70f76613 Author: Konstantin Belousov AuthorDate: 2023-04-15 19:41:44 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-25 00:27:27 +0000 sync_vnode(): add assert to check vn_start_write() correctness (cherry picked from commit d8a096621bcf4539d0920eb0711d19fcb30c0576) --- sys/kern/vfs_subr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 7ebd63447caa..672000ded079 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -2651,6 +2651,9 @@ sync_vnode(struct synclist *slp, struct bufobj **bo, struct thread *td) mtx_lock(&sync_mtx); return (*bo == LIST_FIRST(slp)); } + MPASSERT(mp == NULL || (curthread->td_pflags & TDP_IGNSUSP) != 0 || + (mp->mnt_kern_flag & MNTK_SUSPENDED) == 0, mp, + ("suspended mp syncing vp %p", vp)); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); (void) VOP_FSYNC(vp, MNT_LAZY, td); VOP_UNLOCK(vp); From nobody Tue Apr 25 00:38:21 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q53592lGQz466cc; Tue, 25 Apr 2023 00:38: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 4Q53592G1hz4Dcn; Tue, 25 Apr 2023 00:38:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682383101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j8ZUDpaEoczdOK+Vuv2voYhjuqP2b8cnH1qirmUsGGg=; b=yRZygIZn5714TJnez2QBi07u7Aeu0Rx3VQg087nKXAVewu9Oxu3dHpzyuhfiPCGtboO/Vl Mqi3Z0U9kBoBoaBnu62/Bk/oyW5mVD2aS+qXbx1jrtc48AEg1mx57RNG+Cnzz73LLuKi47 ntyybZeUUM+uVP4eWsloCCyJhg4vuKwnyqa5ug6N9pEwqcyVoYpWbBzr5Nkg+NGc0Jc5lQ +bJJeM2TCv9MvYJyvnbqgfwdo273i+G7HIWMQr86D868z+zo8F8Fol9NfXlxwxBQ08w5KK FnuV5kO/EqLCtvC+edTwucO9TcXf9GzD+KSVP1dNa9m1U83HMw+W8ZGJNbFxQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682383101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j8ZUDpaEoczdOK+Vuv2voYhjuqP2b8cnH1qirmUsGGg=; b=dg/hfaGGagV7t/vJ1vdX0BaI/OqssnnkWW1xIUw3JXcooBirlJcBGvsKhtjt/KY6ly8ueP rJkCawQi6Lyhp8XgWUUL3Wt2DETmmVVyXgRBmhLtH0fkMjHNQnWmihxCrGXpPVI7HyfG2p LEX47M/qeQyEi6xAby89hbyD+7QAI0XbRhv6TLcMhKnDlvNxva6v9pCgOQNBdu9tryBna8 qHAV034gjK1c5qf4WU5gSdR0miY5dsakx77vQXy4+jC7sHEcXk1K/IKjciiCpamSkAm0+X Xdr08AXQMw1m89HvO/rJnakkNeqGlUk+Ueo6HNwDaLAGlWxDxZTuyu6iugpXCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682383101; a=rsa-sha256; cv=none; b=PuRINUEXONEc3Yh3NzrxlvASoidUhNm+zAZRN/jMfwSWpnCwn931MYvyyrFAAs7bWJ6DyC hOA+IEWueX7/kwXvGAqXoHGvJ+ryxk9Zt19AG7nXlVEuEjnBNLgJuhSLbEjOzZWG2B2ieK cvVecCjkCENvr1lTuewQqoQOWGTo5HaMT99CkVclWZop2WBayrfCnSZOpzN+hPxXBVBGU7 qzixIHNffo2iYxwtRGCW0HS4sckeFbmgP/GNEu2s8SfbVMkLkcpL/0brUKFsXey2mQDnr8 8P1UQuw19HfsBop4/VEjUV3FOxIi8t2Tm+MjYiHINQabvuZOyH9Iq61tjIL6Zw== 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 4Q53591J60zmms; Tue, 25 Apr 2023 00:38: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 33P0cL5G057340; Tue, 25 Apr 2023 00:38:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P0cLXW057339; Tue, 25 Apr 2023 00:38:21 GMT (envelope-from git) Date: Tue, 25 Apr 2023 00:38:21 GMT Message-Id: <202304250038.33P0cLXW057339@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 8b09e4b98e96 - stable/13 - syncer vnode: add VOP_GETWRITEMOUNT() definition explicitly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8b09e4b98e96256c7fa35145f06a51a96bf49c98 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8b09e4b98e96256c7fa35145f06a51a96bf49c98 commit 8b09e4b98e96256c7fa35145f06a51a96bf49c98 Author: Konstantin Belousov AuthorDate: 2023-04-16 17:04:53 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-25 00:27:27 +0000 syncer vnode: add VOP_GETWRITEMOUNT() definition explicitly (cherry picked from commit 7aeea73e30789c8987fbfa52cde93bab577bbc09) --- sys/kern/vfs_subr.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 672000ded079..ff5b4822316f 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -5063,6 +5063,7 @@ static struct vop_vector sync_vnodeops = { .vop_bypass = VOP_EOPNOTSUPP, .vop_close = sync_close, /* close */ .vop_fsync = sync_fsync, /* fsync */ + .vop_getwritemount = vop_stdgetwritemount, .vop_inactive = sync_inactive, /* inactive */ .vop_need_inactive = vop_stdneed_inactive, /* need_inactive */ .vop_reclaim = sync_reclaim, /* reclaim */ From nobody Tue Apr 25 00:38:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q535B3xXwz466ch; Tue, 25 Apr 2023 00:38: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 4Q535B37pBz4DJx; Tue, 25 Apr 2023 00:38:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682383102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L9fqInqDNySNtARkkmA6L9PHrp6n9mPGlpd0TMiyoPk=; b=yr9/0pKDDKIXvgZqo4MWKnVatJVDMndYFxgVUH9S78FL9ofyikyHTQNkrqwQVrhX0BAmjD KHVK9VNBlbY6PAK0hNzGM9add70oQTMvjnYBEVxlrt/gAw3TnLDl42shZoFocaGmYS+bLj 2/R4xbWspLCNmtMtCMtr8p5tBekkAzztNUiR+V8H5nxqG3y7ebTgPUIMf+bMLTHWW1bPE6 5epAZh9Q/yd+znLlJtKyBvGJE168Z8CsaB7mdvbSpyWADfdLTrUjUR7FsVl7pJQmuPSiEB 5Ds7xL1WqxTXEmoI9wO0Y4C57DIT9L2e/Ulo5dOUl+qdgm0lI43bavkulkW5cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682383102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L9fqInqDNySNtARkkmA6L9PHrp6n9mPGlpd0TMiyoPk=; b=bmstvjFRXUWqTZnQtiZ3AwsISnjw1p7mZrvmDqbEYxF8iEfm/vUqSoBnqE4vRGQq1/T155 hmqYYAJLXrhSl/G/eDsBtwgQaSbDR7MUjtgod+PU1J4Qu3+5bsmT8GnGeeCv3LaHop6/ZS Bt9Uej390zRoUDypIzj+ta74FCz53YL7B0QDh/DeBiRe3d8k1fj2TolkI4S2xnXlq/i0uz f1Hg93S6CX8QqzNllhcsKcAqgng4IRCa8apAlIXy/+cHrx9nNoqneRenLaHH3tsUpQ7dFa UX3okyqSO+uLd1NLXO623srQla5vh+6fGjK0K31IMPW3NYVgW8MQKfVDu8UJBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682383102; a=rsa-sha256; cv=none; b=bNyH1qMHZXrJzyZxY6+pMNuSnjDu7++jenGxS9rc0NTpc+bf2nnbDiQP9mbjFzJxIGJ2HU sNHoVV+fZv0s6v9dH8v76i3of4NU0i8bF+kBTMmANTkBRqFkugLc9jqJAkxfYZgYKstYnE 2lA2RyZrWS0Mm1/v6ofYc+qPFqNxJnnbXOC3nB8C+jd1KLHw+uX3AEY3dR6YorLklvWgd6 VQjF+KveSRvufYNFhrpVQgRI8yORk+eK3tHz5+b2DyBtSwZpPOljHSD09jk1XMXS3sg+t9 gH+e/e37SZkp/tH5bvD36YR1untXzDXiM8rGhdOdizfmKTiPtyz+sEmoRe2T1A== 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 4Q535B2F4tzmYx; Tue, 25 Apr 2023 00:38: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 33P0cMrP057361; Tue, 25 Apr 2023 00:38:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P0cMQC057360; Tue, 25 Apr 2023 00:38:22 GMT (envelope-from git) Date: Tue, 25 Apr 2023 00:38:22 GMT Message-Id: <202304250038.33P0cMQC057360@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 7f7e8fd3fe7b - stable/13 - x86: initialize use_xsave once List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7f7e8fd3fe7b2edba5d90ed5bae25a1a5a8a3ca1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7f7e8fd3fe7b2edba5d90ed5bae25a1a5a8a3ca1 commit 7f7e8fd3fe7b2edba5d90ed5bae25a1a5a8a3ca1 Author: Konstantin Belousov AuthorDate: 2023-04-18 15:50:26 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-25 00:27:27 +0000 x86: initialize use_xsave once (cherry picked from commit 617a11eab6337693eae9d160453adf1943ab6a37) --- sys/amd64/amd64/fpu.c | 16 ---------------- sys/amd64/amd64/machdep.c | 5 +++++ sys/i386/i386/machdep.c | 6 ++++++ sys/i386/i386/npx.c | 14 -------------- 4 files changed, 11 insertions(+), 30 deletions(-) diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c index f51c042bf8de..38058f4d3e57 100644 --- a/sys/amd64/amd64/fpu.c +++ b/sys/amd64/amd64/fpu.c @@ -260,22 +260,8 @@ fpurestore_fxrstor(void *addr) fxrstor((char *)addr); } -static void -init_xsave(void) -{ - - if (use_xsave) - return; - if ((cpu_feature2 & CPUID2_XSAVE) == 0) - return; - use_xsave = 1; - TUNABLE_INT_FETCH("hw.use_xsave", &use_xsave); -} - DEFINE_IFUNC(, void, fpusave, (void *)) { - - init_xsave(); if (!use_xsave) return (fpusave_fxsave); if ((cpu_stdext_feature & CPUID_EXTSTATE_XSAVEOPT) != 0) { @@ -288,8 +274,6 @@ DEFINE_IFUNC(, void, fpusave, (void *)) DEFINE_IFUNC(, void, fpurestore, (void *)) { - - init_xsave(); if (!use_xsave) return (fpurestore_fxrstor); return ((cpu_stdext_feature & CPUID_STDEXT_NFPUSG) != 0 ? diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index c27e15c7e1a4..0a21dba19ff0 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1353,6 +1353,11 @@ hammer_time(u_int64_t modulep, u_int64_t physfree) &pmap_pcid_invlpg_workaround_uena); cpu_init_small_core(); + if ((cpu_feature2 & CPUID2_XSAVE) != 0) { + use_xsave = 1; + TUNABLE_INT_FETCH("hw.use_xsave", &use_xsave); + } + link_elf_ireloc(kmdp); /* diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index 97b095337852..f32fba72271a 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -1550,6 +1550,11 @@ init386(int first) i386_kdb_init(); } + if (cpu_fxsr && (cpu_feature2 & CPUID2_XSAVE) != 0) { + use_xsave = 1; + TUNABLE_INT_FETCH("hw.use_xsave", &use_xsave); + } + kmdp = preload_search_by_type("elf kernel"); link_elf_ireloc(kmdp); @@ -1570,6 +1575,7 @@ init386(int first) msgbufinit(msgbufp, msgbufsize); npxinit(true); + /* * Set up thread0 pcb after npxinit calculated pcb + fpu save * area size. Zero out the extended state header in fpu save diff --git a/sys/i386/i386/npx.c b/sys/i386/i386/npx.c index 86291ae9b96b..d9af3f7bf965 100644 --- a/sys/i386/i386/npx.c +++ b/sys/i386/i386/npx.c @@ -341,22 +341,8 @@ fpusave_fnsave(union savefpu *addr) fnsave((char *)addr); } -static void -init_xsave(void) -{ - - if (use_xsave) - return; - if (!cpu_fxsr || (cpu_feature2 & CPUID2_XSAVE) == 0) - return; - use_xsave = 1; - TUNABLE_INT_FETCH("hw.use_xsave", &use_xsave); -} - DEFINE_IFUNC(, void, fpusave, (union savefpu *)) { - - init_xsave(); if (use_xsave) return ((cpu_stdext_feature & CPUID_EXTSTATE_XSAVEOPT) != 0 ? fpusave_xsaveopt : fpusave_xsave); From nobody Tue Apr 25 00:38:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q535C62Csz466XM; Tue, 25 Apr 2023 00:38: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 4Q535C48QWz4DhN; Tue, 25 Apr 2023 00:38:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682383103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p4sYI5iLewrzxrNKpqwWZY1byx0LPafxfDEUQkfqDKs=; b=HxgayMMBKyfYJerRHl2uLASPsAqaO7Tj9LqKcddlbA7wwtMY76hRDJdhjN5P/q6zMuEOlN tASEvnhDCi+K1hVSwkvKjd6Dp0RVmcO3ngwIu5UWSIWc5XrWjUYpEy+LsqWwy8+xjO60zy dxQFGlaqHrZot+GbeEsKrIbHXHdoGx3RKYzTX+2mazGDUNZztU7H/0KtHRHtcADztPb1DF nVVwPHIwuWNKJrNGNL72YA0IiHTyGDA5thwB/ojUJDjw6yTzAWZAasNNYQWqm3NkpTvMNM qRJvuKigvdf0nEtAD3o/tZGKDXVo9V0cGseO8cy4eZk+ZYi1t7GqdIdEwla5Pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682383103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p4sYI5iLewrzxrNKpqwWZY1byx0LPafxfDEUQkfqDKs=; b=JmL+06tUigZhyeaYh7pqw1fX4nSi6nn8ob+D/X52czt0et/5sGh+IniuukyHA387dXXwtF r7kqK8e4su4CgjPpJV5J4PaSDqumZs8/8KHPpvt8rzKLJY1zYTuoIcRIKEzdIRgsqzSHku ridekScheOvdg7+CK5OBu8lAHzJEqPLGSr9AO2AtXIsHSpkYHBOrT7rxLMMGC/f/NvSooZ SytaoFizP1Ba5buoJf8W4akv2g4Y+VwBjcBFtdh4bTp/eXm2C032v0r3peikZUoH8OHLxL T691+S12NakCcGFL4PTUvuLvZmAYVtndkzbEVWpVFblbZBbE8xaM91cI7GQATw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682383103; a=rsa-sha256; cv=none; b=WVlqXWvFbh85jFZBJjSsbzGFtVNp5a/NfNQT5Hax/3o1SV6FeHdzRrN2jHY6I3Z9lvotW/ 9PLGfmAT0IAsmmArvLDQQBgeZ2AStYYjXTjQS8vQ2sQsOOdh4qmjd/wEe3eN3I53IS7AHf /bEH8In2g+uBQ1OeQDuAZG6sPyq8gIlVE7dMgsQTHi92z1lZmxMPGoLac9eAz0ezyxFXLk N++xULVV2MpOfg6djDZ/UFl4kejbxoPWV/zIx4a+0Sc6NGDa2HEGu1ikOk/m93WGNX7Sew SAH3CfHEd6pWdsPPt8C45MljwysKB8qzj1HExVGxEnXBycWr5Cfd0gXNCbNv1A== 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 4Q535C3FDNzmMW; Tue, 25 Apr 2023 00:38: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 33P0cNTu057380; Tue, 25 Apr 2023 00:38:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P0cNBM057379; Tue, 25 Apr 2023 00:38:23 GMT (envelope-from git) Date: Tue, 25 Apr 2023 00:38:23 GMT Message-Id: <202304250038.33P0cNBM057379@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 68a69739cb90 - stable/13 - umtx: allow to configure minimal timeout (in nanoseconds) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 68a69739cb902d083aacdb0974b9b957e0e1353b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=68a69739cb902d083aacdb0974b9b957e0e1353b commit 68a69739cb902d083aacdb0974b9b957e0e1353b Author: Konstantin Belousov AuthorDate: 2023-04-15 17:46:12 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-25 00:27:27 +0000 umtx: allow to configure minimal timeout (in nanoseconds) PR: 270785 (cherry picked from commit 93ca6ff2958cace3b7b883ed797ea6539881a6a2) --- lib/libc/sys/_umtx_op.2 | 11 +++++++++++ lib/libthr/libthr.3 | 6 ++++++ lib/libthr/thread/thr_init.c | 11 +++++++++++ sys/kern/kern_fork.c | 1 + sys/kern/kern_umtx.c | 45 ++++++++++++++++++++++++++++++++++++++++++++ sys/sys/proc.h | 1 + sys/sys/umtx.h | 2 ++ 7 files changed, 77 insertions(+) diff --git a/lib/libc/sys/_umtx_op.2 b/lib/libc/sys/_umtx_op.2 index ecd46b7d0247..7aa095e6532a 100644 --- a/lib/libc/sys/_umtx_op.2 +++ b/lib/libc/sys/_umtx_op.2 @@ -1271,6 +1271,17 @@ in which case list processing is continued. See .Sx ROBUST UMUTEXES subsection for details. +.It Dv UMTX_OP_GET_MIN_TIMEOUT +Writes out the current value of minimal umtx operations timeout, +in nanoseconds, into the long integer variable pointed to by +.Fa uaddr1 . +.It Dv UMTX_OP_SET_MIN_TIMEOUT +Set the minimal amount of time, in nanoseconds, the thread is required +to sleep for umtx operations specifying a timeout using absolute clocks. +The value is taken from the +.Fa val +argument of the call. +Zero means no minimum. .El .Pp The diff --git a/lib/libthr/libthr.3 b/lib/libthr/libthr.3 index 3018a6f20b86..0477ac0647a8 100644 --- a/lib/libthr/libthr.3 +++ b/lib/libthr/libthr.3 @@ -196,6 +196,12 @@ The integer value of the variable specifies how often blocked threads are inserted at the head of the sleep queue, instead of its tail. Bigger values reduce the frequency of the FIFO discipline. The value must be between 0 and 255. +.It Dv LIBPTHREAD_UMTX_MIN_TIMEOUT +The minimal amount of time, in nanoseconds, the thread is required to sleep +for pthread operations specifying a timeout. +If the operation requests a timeout less than the value provided, +it is silently increased to the value. +The value of zero means no minimum (default). .Pp .El The following diff --git a/lib/libthr/thread/thr_init.c b/lib/libthr/thread/thr_init.c index 1c4867cb8185..6010dd4c0451 100644 --- a/lib/libthr/thread/thr_init.c +++ b/lib/libthr/thread/thr_init.c @@ -522,6 +522,17 @@ init_private(void) if (env) _thr_queuefifo = atoi(env); TAILQ_INIT(&_thr_atfork_list); + env = getenv("LIBPTHREAD_UMTX_MIN_TIMEOUT"); + if (env) { + char *endptr; + long mint; + + mint = strtol(env, &endptr, 0); + if (*endptr == '\0' && mint >= 0) { + _umtx_op(NULL, UMTX_OP_SET_MIN_TIMEOUT, + mint, NULL, NULL); + } + } } init_once = 1; } diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index d6d90dd9534c..068dfdb097d3 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -381,6 +381,7 @@ do_fork(struct thread *td, struct fork_req *fr, struct proc *p2, struct thread * bcopy(&p1->p_startcopy, &p2->p_startcopy, __rangeof(struct proc, p_startcopy, p_endcopy)); pargs_hold(p2->p_args); + p2->p_umtx_min_timeout = p1->p_umtx_min_timeout; PROC_UNLOCK(p1); bzero(&p2->p_startzero, diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c index dca7bc34700a..efe548a67bd1 100644 --- a/sys/kern/kern_umtx.c +++ b/sys/kern/kern_umtx.c @@ -701,6 +701,19 @@ umtx_abs_timeout_init2(struct umtx_abs_timeout *timo, (umtxtime->_flags & UMTX_ABSTIME) != 0, &umtxtime->_timeout); } +static void +umtx_abs_timeout_enforce_min(sbintime_t *sbt) +{ + sbintime_t when, mint; + + mint = curproc->p_umtx_min_timeout; + if (__predict_false(mint != 0)) { + when = sbinuptime() + mint; + if (*sbt < when) + *sbt = when; + } +} + static int umtx_abs_timeout_getsbt(struct umtx_abs_timeout *timo, sbintime_t *sbt, int *flags) @@ -740,6 +753,7 @@ umtx_abs_timeout_getsbt(struct umtx_abs_timeout *timo, sbintime_t *sbt, return (0); } *sbt = bttosbt(bt); + umtx_abs_timeout_enforce_min(sbt); /* * Check if the absolute time should be aligned to @@ -4595,6 +4609,33 @@ __umtx_op_robust_lists(struct thread *td, struct _umtx_op_args *uap, return (0); } +static int +__umtx_op_get_min_timeout(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) +{ + long val; + int error, val1; + + val = sbttons(td->td_proc->p_umtx_min_timeout); + if (ops->compat32) { + val1 = (int)val; + error = copyout(&val1, uap->uaddr1, sizeof(val1)); + } else { + error = copyout(&val, uap->uaddr1, sizeof(val)); + } + return (error); +} + +static int +__umtx_op_set_min_timeout(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) +{ + if (uap->val < 0) + return (EINVAL); + td->td_proc->p_umtx_min_timeout = nstosbt(uap->val); + return (0); +} + #if defined(__i386__) || defined(__amd64__) /* * Provide the standard 32-bit definitions for x86, since native/compat32 use a @@ -4817,6 +4858,8 @@ static const _umtx_op_func op_table[] = { [UMTX_OP_SEM2_WAKE] = __umtx_op_sem2_wake, [UMTX_OP_SHM] = __umtx_op_shm, [UMTX_OP_ROBUST_LISTS] = __umtx_op_robust_lists, + [UMTX_OP_GET_MIN_TIMEOUT] = __umtx_op_get_min_timeout, + [UMTX_OP_SET_MIN_TIMEOUT] = __umtx_op_set_min_timeout, }; static const struct umtx_copyops umtx_native_ops = { @@ -4991,6 +5034,8 @@ umtx_exec(struct proc *p) umtx_thread_cleanup(td); td->td_rb_list = td->td_rbp_list = td->td_rb_inact = 0; } + + p->p_umtx_min_timeout = 0; } /* diff --git a/sys/sys/proc.h b/sys/sys/proc.h index e3806a86c2a2..0f04921fffe6 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -729,6 +729,7 @@ struct proc { char *p_binname; /* (b) Binary hardlink name. */ void *p_elf_brandinfo; /* (x) Elf_Brandinfo, NULL for non ELF binaries. */ + sbintime_t p_umtx_min_timeout; }; #define p_session p_pgrp->pg_session diff --git a/sys/sys/umtx.h b/sys/sys/umtx.h index 82a8e0e4b0f0..ddd3bd387099 100644 --- a/sys/sys/umtx.h +++ b/sys/sys/umtx.h @@ -103,6 +103,8 @@ #define UMTX_OP_SEM2_WAKE 24 #define UMTX_OP_SHM 25 #define UMTX_OP_ROBUST_LISTS 26 +#define UMTX_OP_GET_MIN_TIMEOUT 27 +#define UMTX_OP_SET_MIN_TIMEOUT 28 /* * Flags for ops; the double-underbar convention must be maintained for future From nobody Tue Apr 25 06:30:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5Btz1qlPz46k2Z; Tue, 25 Apr 2023 06:30: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 4Q5Btz10JVz3Jw3; Tue, 25 Apr 2023 06:30:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682404203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CZ9CY5qgvKYTCfyVzMikGafjht/EeURsgJDHz2MdQMo=; b=Z6FNEB9stk1I9NUejpNuAGpcEg0C4DsDGltCBkfKZVhTVBQKgSgsg01w+35lAZ46OpLZg1 L/fRIgUITO60NVuqYipLb3EZze0Nekluxau65uUPmbVjaF549SxfbiGz2pVeUSqyfDWuWc 0nGtdFO/GLGOIX91hrm6KJK4M0+lQd/cnS8dRfLHpmh6jupDygOsPR9nI/aoawuf14+KPT J6+wWmPg+QYK08qPfYEgC/8o5e/Q8h3j6sHM7ZXnSwjnQccOer3T8LjXKdUupa4hgJPXCF pg6NQZf/xUI28xvVaa/wCS9Suxy0vhd/ed6yfoeFCGyChe7ib1ocLGHYn+Vbsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682404203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CZ9CY5qgvKYTCfyVzMikGafjht/EeURsgJDHz2MdQMo=; b=Qbn9P6NIIpIek4at18zlNqbdjzN9qj2BPjX4NIsdxPrXt/w/2QYMEQP8OpmHskJAZ7HwIT 8yDn0Ai8XNrgFO9vZ74MUHzbEUhqOm42+gqAidqnIaoQ5u6yyJQ+7hJlzGlQDkw4lUlRoZ 2qw6lOEARxVOo5MyRWgrewLHFjOQQw0BkpC5/QtnzSk/oauvLYUtftUvh351p6b2/iJHFs 9w1pIF0WniNlal3zOqar6ZTGXIRCl5CVMDjDSEa2GRBQEz/cHQD0k9i7YaCRO5E0S5jTTW lxbV2+vf2K+Zds5e4aovTQP75uWsz/muQatJCqUnSIV+kJdJtmgYPd3Z6ixKng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682404203; a=rsa-sha256; cv=none; b=SC6GNQnUcjFi/P0Dcvhr5EOaoYCgq2Kld2P1xpwJ9ZSWZ48PEGGbAJcZvlHbw0pXLGCM4T TCgInRTd2k2TCl+9lNM1m3w+1TNWCvvqXh5hqi7eUPp5CLB9p6OabUJXMDNGU5C3K4n5mk gH7AZYVi3PYx2UAPzqDlnK4aGjeiAqb/cGLr2OBt22ON40Bi4lv16/GfDJCVtkleahF68U 1sOA1DiPgWhnDZmDachPG9Ibn3uR56tN8+K0/z6SjKDBYksEQrs83PV5ThI0SwPt+SrKa2 1+godidwh6e6rAoFIGLZ1EMlix6o+MSvWmJP5HK348xnPiZjfsYM1f3/QC/Sig== 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 4Q5Btz03mszwy5; Tue, 25 Apr 2023 06:30: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 33P6U2oW036672; Tue, 25 Apr 2023 06:30:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P6U2Cc036669; Tue, 25 Apr 2023 06:30:02 GMT (envelope-from git) Date: Tue, 25 Apr 2023 06:30:02 GMT Message-Id: <202304250630.33P6U2Cc036669@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: f565b4d6303f - main - bhyve: add helper struct for qemus acpi table loader List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f565b4d6303f4798a2cb0dc51ef88de9e4a24047 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=f565b4d6303f4798a2cb0dc51ef88de9e4a24047 commit f565b4d6303f4798a2cb0dc51ef88de9e4a24047 Author: Corvin Köhne AuthorDate: 2022-04-06 09:10:36 +0000 Commit: Corvin Köhne CommitDate: 2023-04-25 06:29:25 +0000 bhyve: add helper struct for qemus acpi table loader The hypervisor is aware of all system properties. For the guest bios it's hard and complex to detect all system properties. For that reason, it would be better if the hypervisor creates acpi tables instead of the guest. Therefore, the hypervisor has to send the acpi tables to the guest. At the moment, bhyve just copies the acpi tables into the guest memory. This approach has some restrictions. You have to keep sure that the guest doesn't overwrite them accidentally. Additionally, the size of acpi tables is limited. Providing a plain copy of all acpi tables by fwcfg isn't possible. Acpi tables have to point to each other. So, if the guest copies the acpi tables into memory by it's own, it has to patch the tables. Due to different layouts for different acpi tables, there's no generic way to do that. For that reason, qemu created a table loader interface. It contains commands for the guest for loading specific blobs into guest memory and patching those blobs. This commit adds a qemu_loader class which handles the creation of qemu loader commands. At the moment, the WRITE_POINTER command isn't implement. It won't be required by bhyve's acpi table generation yet. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38438 --- usr.sbin/bhyve/Makefile | 1 + usr.sbin/bhyve/qemu_loader.c | 274 +++++++++++++++++++++++++++++++++++++++++++ usr.sbin/bhyve/qemu_loader.h | 77 ++++++++++++ 3 files changed, 352 insertions(+) diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index e211a58defd9..7f67c5bf0489 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -65,6 +65,7 @@ SRCS= \ ps2kbd.c \ ps2mouse.c \ qemu_fwcfg.c \ + qemu_loader.c \ rfb.c \ rtc.c \ smbiostbl.c \ diff --git a/usr.sbin/bhyve/qemu_loader.c b/usr.sbin/bhyve/qemu_loader.c new file mode 100644 index 000000000000..b0e1197a4b6b --- /dev/null +++ b/usr.sbin/bhyve/qemu_loader.c @@ -0,0 +1,274 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 Beckhoff Automation GmbH & Co. KG + * Author: Corvin Köhne + */ + +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include "qemu_fwcfg.h" +#include "qemu_loader.h" + +struct qemu_loader_entry { + uint32_t cmd_le; + union { + struct { + uint8_t name[QEMU_FWCFG_MAX_NAME]; + uint32_t alignment_le; + uint8_t zone; + } alloc; + struct { + uint8_t dest_name[QEMU_FWCFG_MAX_NAME]; + uint8_t src_name[QEMU_FWCFG_MAX_NAME]; + uint32_t off_le; + uint8_t size; + } add_pointer; + struct { + uint8_t name[QEMU_FWCFG_MAX_NAME]; + uint32_t off_le; + uint32_t start_le; + uint32_t len_le; + } add_checksum; + struct { + uint8_t dest_name[QEMU_FWCFG_MAX_NAME]; + uint8_t src_name[QEMU_FWCFG_MAX_NAME]; + uint32_t dest_off_le; + uint32_t src_off_le; + uint8_t size; + } write_pointer; + + /* padding */ + uint8_t pad[124]; + }; +} __packed; + +enum qemu_loader_command { + QEMU_LOADER_CMD_ALLOC = 0x1, + QEMU_LOADER_CMD_ADD_POINTER = 0x2, + QEMU_LOADER_CMD_ADD_CHECKSUM = 0x3, + QEMU_LOADER_CMD_WRITE_POINTER = 0x4, +}; + +struct qemu_loader_element { + STAILQ_ENTRY(qemu_loader_element) chain; + struct qemu_loader_entry entry; +}; + +struct qemu_loader { + uint8_t fwcfg_name[QEMU_FWCFG_MAX_NAME]; + STAILQ_HEAD(qemu_loader_list, qemu_loader_element) list; +}; + +int +qemu_loader_alloc(struct qemu_loader *const loader, const uint8_t *name, + const uint32_t alignment, const enum qemu_loader_zone zone) +{ + struct qemu_loader_element *element; + + if (strlen(name) >= QEMU_FWCFG_MAX_NAME) + return (EINVAL); + + element = calloc(1, sizeof(struct qemu_loader_element)); + if (element == NULL) { + warnx("%s: failed to allocate command", __func__); + return (ENOMEM); + } + + element->entry.cmd_le = htole32(QEMU_LOADER_CMD_ALLOC); + strncpy(element->entry.alloc.name, name, QEMU_FWCFG_MAX_NAME); + element->entry.alloc.alignment_le = htole32(alignment); + element->entry.alloc.zone = zone; + + /* + * The guest always works on copies of the fwcfg item, which where + * loaded into guest memory. Loading a fwcfg item is caused by ALLOC. + * For that reason, ALLOC should be scheduled in front of any other + * commands. + */ + STAILQ_INSERT_HEAD(&loader->list, element, chain); + + return (0); +} + +int +qemu_loader_add_checksum(struct qemu_loader *const loader, const uint8_t *name, + const uint32_t off, const uint32_t start, const uint32_t len) +{ + struct qemu_loader_element *element; + + if (strlen(name) >= QEMU_FWCFG_MAX_NAME) + return (EINVAL); + + element = calloc(1, sizeof(struct qemu_loader_element)); + if (element == NULL) { + warnx("%s: failed to allocate command", __func__); + return (ENOMEM); + } + + element->entry.cmd_le = htole32(QEMU_LOADER_CMD_ADD_CHECKSUM); + strncpy(element->entry.add_checksum.name, name, QEMU_FWCFG_MAX_NAME); + element->entry.add_checksum.off_le = htole32(off); + element->entry.add_checksum.start_le = htole32(start); + element->entry.add_checksum.len_le = htole32(len); + + STAILQ_INSERT_TAIL(&loader->list, element, chain); + + return (0); +} + +int +qemu_loader_add_pointer(struct qemu_loader *const loader, + const uint8_t *dest_name, const uint8_t *src_name, const uint32_t off, + const uint8_t size) +{ + struct qemu_loader_element *element; + + if (strlen(dest_name) >= QEMU_FWCFG_MAX_NAME || + strlen(src_name) >= QEMU_FWCFG_MAX_NAME) + return (EINVAL); + + element = calloc(1, sizeof(struct qemu_loader_element)); + if (element == NULL) { + warnx("%s: failed to allocate command", __func__); + return (ENOMEM); + } + + element->entry.cmd_le = htole32(QEMU_LOADER_CMD_ADD_POINTER); + strncpy(element->entry.add_pointer.dest_name, dest_name, + QEMU_FWCFG_MAX_NAME); + strncpy(element->entry.add_pointer.src_name, src_name, + QEMU_FWCFG_MAX_NAME); + element->entry.add_pointer.off_le = htole32(off); + element->entry.add_pointer.size = size; + + STAILQ_INSERT_TAIL(&loader->list, element, chain); + + return (0); +} + +int +qemu_loader_create(struct qemu_loader **const new_loader, + const uint8_t *fwcfg_name) +{ + struct qemu_loader *loader; + + if (new_loader == NULL || strlen(fwcfg_name) >= QEMU_FWCFG_MAX_NAME) { + return (EINVAL); + } + + loader = calloc(1, sizeof(struct qemu_loader)); + if (loader == NULL) { + warnx("%s: failed to allocate loader", __func__); + return (ENOMEM); + } + + strncpy(loader->fwcfg_name, fwcfg_name, QEMU_FWCFG_MAX_NAME); + STAILQ_INIT(&loader->list); + + *new_loader = loader; + + return (0); +} + +static const uint8_t * +qemu_loader_get_zone_name(const enum qemu_loader_zone zone) +{ + switch (zone) { + case QEMU_LOADER_ALLOC_HIGH: + return ("HIGH"); + case QEMU_LOADER_ALLOC_FSEG: + return ("FSEG"); + default: + return ("Unknown"); + } +} + +static void __unused +qemu_loader_dump_entry(const struct qemu_loader_entry *const entry) +{ + switch (le32toh(entry->cmd_le)) { + case QEMU_LOADER_CMD_ALLOC: + printf("CMD_ALLOC\n\r"); + printf(" name : %s\n\r", entry->alloc.name); + printf(" alignment: %8x\n\r", + le32toh(entry->alloc.alignment_le)); + printf(" zone : %s\n\r", + qemu_loader_get_zone_name(entry->alloc.zone)); + break; + case QEMU_LOADER_CMD_ADD_POINTER: + printf("CMD_ADD_POINTER\n\r"); + printf(" dest_name: %s\n\r", entry->add_pointer.dest_name); + printf(" src_name : %s\n\r", entry->add_pointer.src_name); + printf(" off : %8x\n\r", + le32toh(entry->add_pointer.off_le)); + printf(" size : %8x\n\r", entry->add_pointer.size); + break; + case QEMU_LOADER_CMD_ADD_CHECKSUM: + printf("CMD_ADD_CHECKSUM\n\r"); + printf(" name : %s\n\r", entry->add_checksum.name); + printf(" off : %8x\n\r", + le32toh(entry->add_checksum.off_le)); + printf(" start : %8x\n\r", + le32toh(entry->add_checksum.start_le)); + printf(" length : %8x\n\r", + le32toh(entry->add_checksum.len_le)); + break; + case QEMU_LOADER_CMD_WRITE_POINTER: + printf("CMD_WRITE_POINTER\n\r"); + printf(" dest_name: %s\n\r", entry->write_pointer.dest_name); + printf(" src_name : %s\n\r", entry->write_pointer.src_name); + printf(" dest_off : %8x\n\r", + le32toh(entry->write_pointer.dest_off_le)); + printf(" src_off : %8x\n\r", + le32toh(entry->write_pointer.src_off_le)); + printf(" size : %8x\n\r", entry->write_pointer.size); + break; + default: + printf("UNKNOWN\n\r"); + break; + } +} + +int +qemu_loader_finish(struct qemu_loader *const loader) +{ + struct qemu_loader_element *element; + struct qemu_loader_entry *data; + size_t len = 0; + + STAILQ_FOREACH(element, &loader->list, chain) { + len += sizeof(struct qemu_loader_entry); + } + if (len == 0) { + warnx("%s: bios loader empty", __func__); + return (EFAULT); + } + + data = calloc(1, len); + if (data == NULL) { + warnx("%s: failed to allocate fwcfg data", __func__); + return (ENOMEM); + } + + int i = 0; + STAILQ_FOREACH(element, &loader->list, chain) { + memcpy(&data[i], &element->entry, + sizeof(struct qemu_loader_entry)); + ++i; + } + + return (qemu_fwcfg_add_file(loader->fwcfg_name, len, data)); +} diff --git a/usr.sbin/bhyve/qemu_loader.h b/usr.sbin/bhyve/qemu_loader.h new file mode 100644 index 000000000000..b6ce48ad0871 --- /dev/null +++ b/usr.sbin/bhyve/qemu_loader.h @@ -0,0 +1,77 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 Beckhoff Automation GmbH & Co. KG + * Author: Corvin Köhne + */ + +#pragma once + +#include "qemu_fwcfg.h" + +struct qemu_loader; + +/* + * Some guest bios like seabios assume the RSDP to be located in the FSEG. Bhyve + * only supports OVMF which has no such requirement. + */ +enum qemu_loader_zone { + QEMU_LOADER_ALLOC_HIGH = 1, + QEMU_LOADER_ALLOC_FSEG, /* 0x0F000000 - 0x100000 */ +}; + +/** + * Loads a fwcfg item into guest memory. This command has to be issued before + * any subsequent command can be used. + * + * @param loader Qemu loader instance the command should be added to. + * @param name Name of the fwcfg item which should be allocated. + * @param alignment Alignment required by the data. + * @param zone Memory zone in which it should be loaded. + */ +int qemu_loader_alloc(struct qemu_loader *loader, const uint8_t *name, + uint32_t alignment, enum qemu_loader_zone zone); +/** + * Calculates a checksum for @p name and writes it to @p name + @p off . The + * checksum calculation ranges from @p start to @p start + @p len. The checksum + * field is always one byte large and all bytes in the specified range, + * including the checksum, have to sum up to 0. + * + * @param loader Qemu loader instance the command should be added to. + * @param name Name of the fwcfg item which should be patched. + * @param off Offset into @p name . + * @param start Start offset of checksum calculation. + * @param len Length of the checksum calculation. + */ +int qemu_loader_add_checksum(struct qemu_loader *loader, const uint8_t *name, + uint32_t off, uint32_t start, uint32_t len); +/** + * Adds the address of @p src_name to the value at @p dest_name + @p off . The + * size of the pointer is determined by @p dest_size and should be 1, 2, 4 or 8. + * + * @param loader Qemu loader instance the command should be added to. + * @param dest_name Name of the fwcfg item which should be patched. + * @param src_name Name of the fwcfg item which address should be written to + * @p dest_name + @p off. + * @param off Offset into @p dest_name . + * @param size Size of the pointer (1, 2, 4 or 8). + */ +int qemu_loader_add_pointer(struct qemu_loader *loader, + const uint8_t *dest_name, const uint8_t *src_name, uint32_t off, + uint8_t size); + +/** + * Creates a qemu loader instance. + * + * @param new_loader Returns the newly created qemu loader instance. + * @param fwcfg_name Name of the FwCfg item which represents the qemu loader + */ +int qemu_loader_create(struct qemu_loader **new_loader, + const uint8_t *fwcfg_name); +/** + * Signals that all commands are written to the qemu loader. This function + * creates a proper FwCfg item and registers it. + * + * @param loader Qemu loader instance which should be finished. + */ +int qemu_loader_finish(struct qemu_loader *loader); From nobody Tue Apr 25 06:30:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5Bv02r1Wz46k3r; Tue, 25 Apr 2023 06:30: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 4Q5Bv023lZz3JwX; Tue, 25 Apr 2023 06:30:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682404204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BXaXDGH9E5N5J5KzNnESBgF/TMUaMuH5fSsKr0tCPjs=; b=SPRr3p25FG3cmMHCb3dXx81frsDCLfkZucXfmOJql4JVqya7j/2TBomvZZi6H5LJ1e0S/3 JNAbcNLfDjjuTJhLnLYl/dv5XWJ0kz56v0PSqfuJ29EgPEn0rzODeUgttKTnnZj5fxwo9/ P1kqFczw7n9lZ/ol2sz308BOmyPlp1qPK7UyRYAQXfnwB2u7xO6Bk+O/KTH2ckmqF+OJZG pTyVReee8RC3y/zHhhV3zDXkDvmVdqBWAugtsJOV29+0BZdtmG8Ngkakyya1rErRZ0VssG vV+GAtUlRLfW6ZvuMnaLWx7vIWXXoYW85xOxjAixYpwBmf4+FD2s3VZvuezBmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682404204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BXaXDGH9E5N5J5KzNnESBgF/TMUaMuH5fSsKr0tCPjs=; b=F8Oj1A/xLzbSMPk8tvH/1i56TQc79J3+O1dYhVBERP+3DRYVvKn+VtafTjKJgK5ny2P5Vs E0cwS1h44IXZS74ejpQ6Dq93m3WCrBcabqgp2swNLC6cI54dCGs3ATK4h7Qgbjelwrd76Y iwJwWML1wUc5HFUYawj7fmCvVVZSfnNO+9Acbu6RQ5rkA8mv8TdS2DJRqRjwSHGJVtbyHz p2KOWsJYL1QXxvzjL24wduIwLbScRMKFSWpRcMu7yYT+sd+00EGdZVsRO8bt/sZH17f9fz SI/j/iqbJd1DcVeeZYINrdyMRWV4UfX+DlpdCc35l9uHIlvMmmUDdf9pFjQabw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682404204; a=rsa-sha256; cv=none; b=thN9m0TNCHAMsCw2H/xOPMh1XuEdlGRiqP3mwYQgpnTXo3eY5cdYPZKVmwVhYph643EVG2 cqlIXAXx6xvz8F38I4fPzKta0MkdRDH1AttZfldyyw/1amYzxoqu48ouzEkh5xAsnCFWm2 VJ+XpGf3GbZbygRJF4JcwAh82MTlICw17jC3NEBmI7obs+ipp9Z0wixOhXFtu5gEXYnuuc LFcfCJ+FkvBnk2ATttVcv36E88rYa9HMslsZTmbffsOYjwMzWaGtGn6zhwgzPuHBym7en7 M+92uczXLxyUga+gM3C3CbSOpE76DO8KdZy/OmbRdPktaBv1UFgs1+h4DQihCg== 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 4Q5Bv00ZFgzxCw; Tue, 25 Apr 2023 06:30: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 33P6U3XV036930; Tue, 25 Apr 2023 06:30:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P6U3oJ036927; Tue, 25 Apr 2023 06:30:03 GMT (envelope-from git) Date: Tue, 25 Apr 2023 06:30:03 GMT Message-Id: <202304250630.33P6U3oJ036927@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: 7959d80d99ae - main - bhyve: make use of qemus acpi table loader List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7959d80d99ae06ba06cbe7a206ef9bc513e4109b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=7959d80d99ae06ba06cbe7a206ef9bc513e4109b commit 7959d80d99ae06ba06cbe7a206ef9bc513e4109b Author: Corvin Köhne AuthorDate: 2022-04-06 09:10:37 +0000 Commit: Corvin Köhne CommitDate: 2023-04-25 06:29:29 +0000 bhyve: make use of qemus acpi table loader Add all acpi tables to qemus acpi table loader. This passes the acpi tables by fwcfg to the guest. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38439 --- usr.sbin/bhyve/basl.c | 21 ++++++++++++++++++++- usr.sbin/bhyve/basl.h | 4 ++-- usr.sbin/bhyve/qemu_fwcfg.h | 2 ++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/basl.c b/usr.sbin/bhyve/basl.c index e002c3724ef0..348174c6520d 100644 --- a/usr.sbin/bhyve/basl.c +++ b/usr.sbin/bhyve/basl.c @@ -20,6 +20,7 @@ #include #include "basl.h" +#include "qemu_loader.h" struct basl_table_checksum { STAILQ_ENTRY(basl_table_checksum) chain; @@ -56,6 +57,8 @@ struct basl_table { static STAILQ_HEAD(basl_table_list, basl_table) basl_tables = STAILQ_HEAD_INITIALIZER( basl_tables); +static struct qemu_loader *basl_loader; + static __inline uint64_t basl_le_dec(void *pp, size_t len) { @@ -163,6 +166,12 @@ basl_finish_install_guest_tables(struct basl_table *const table, uint32_t *const } memcpy(gva, table->data, table->len); + /* Cause guest bios to copy the ACPI table into guest memory. */ + BASL_EXEC( + qemu_fwcfg_add_file(table->fwcfg_name, table->len, table->data)); + BASL_EXEC(qemu_loader_alloc(basl_loader, table->fwcfg_name, + table->alignment, QEMU_LOADER_ALLOC_HIGH)); + return (0); } @@ -219,6 +228,10 @@ basl_finish_patch_checksums(struct basl_table *const table) sum += *(gva + i); } *checksum_gva = -sum; + + /* Cause guest bios to patch the checksum. */ + BASL_EXEC(qemu_loader_add_checksum(basl_loader, + table->fwcfg_name, checksum->off, checksum->start, len)); } return (0); @@ -286,6 +299,11 @@ basl_finish_patch_pointers(struct basl_table *const table) val = basl_le_dec(gva + pointer->off, pointer->size); val += BHYVE_ACPI_BASE + src_table->off; basl_le_enc(gva + pointer->off, val, pointer->size); + + /* Cause guest bios to patch the pointer. */ + BASL_EXEC( + qemu_loader_add_pointer(basl_loader, table->fwcfg_name, + src_table->fwcfg_name, pointer->off, pointer->size)); } return (0); @@ -335,6 +353,7 @@ basl_finish(void) */ BASL_EXEC(basl_finish_patch_checksums(table)); } + BASL_EXEC(qemu_loader_finish(basl_loader)); return (0); } @@ -342,7 +361,7 @@ basl_finish(void) int basl_init(void) { - return (0); + return (qemu_loader_create(&basl_loader, QEMU_FWCFG_FILE_TABLE_LOADER)); } int diff --git a/usr.sbin/bhyve/basl.h b/usr.sbin/bhyve/basl.h index c7fdd783a9d5..4d9ab4c589a8 100644 --- a/usr.sbin/bhyve/basl.h +++ b/usr.sbin/bhyve/basl.h @@ -11,6 +11,8 @@ #include #pragma GCC diagnostic pop +#include "qemu_fwcfg.h" + #define ACPI_GAS_ACCESS_WIDTH_LEGACY 0 #define ACPI_GAS_ACCESS_WIDTH_UNDEFINED 0 #define ACPI_GAS_ACCESS_WIDTH_BYTE 1 @@ -59,8 +61,6 @@ } \ } while (0) -#define QEMU_FWCFG_MAX_NAME 56 - struct basl_table; void basl_fill_gas(ACPI_GENERIC_ADDRESS *gas, uint8_t space_id, diff --git a/usr.sbin/bhyve/qemu_fwcfg.h b/usr.sbin/bhyve/qemu_fwcfg.h index f3846d64085a..d318d0434285 100644 --- a/usr.sbin/bhyve/qemu_fwcfg.h +++ b/usr.sbin/bhyve/qemu_fwcfg.h @@ -13,6 +13,8 @@ #define QEMU_FWCFG_MAX_ENTRIES 0x4000 #define QEMU_FWCFG_MAX_NAME 56 +#define QEMU_FWCFG_FILE_TABLE_LOADER "etc/table-loader" + struct qemu_fwcfg_item { uint32_t size; uint8_t *data; From nobody Tue Apr 25 06:44:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5CC84DtPz46khc; Tue, 25 Apr 2023 06:44: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 4Q5CC82Zvbz3LnN; Tue, 25 Apr 2023 06:44:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682405044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DjmdDFTJQ8rYaN537xOML58cyLPM69lK/qZMNofHh0c=; b=cGKA+Sky3GBCkO9MpB3i75avQIZc/G/rfFX5Mb2sPbh+7q1HNvEHHQCTYZG8rymFPDAv5f PhAuxCX+6wTNQgJPf4MwIdDNqYP1Pni+BZB3G2L95iCpkPEsGpTPna+wfrAzykmGB17H1T JRRk75RQeTZ7PY2SJ36T9Q94PKTlNKmWaxb8JB+fYbbqI2t7HadY8xEYHBywyUnwPWDGwq bUurxazi7/S0ONJksiuLMqGLt+lc26+IEvFc3ko4PzGW0tKN0ZZq3aoGlBpWOWG+TkKH8T CIo54FWpF/jjM47fepVEDo24Wx2LPuUBaCsmnRoaDh6Y0jymT2FUMr2JeLhbjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682405044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DjmdDFTJQ8rYaN537xOML58cyLPM69lK/qZMNofHh0c=; b=M590bz5OhPl0BvUpXKefpXXovcEzXsTFozQIpvKA4Y/90fjjj8b8tqm2sDH86RyoPMUppU 0dVOxIs1ZKWb++VZ/EiEia5mBM1DMbIRASuKJT+yZH1IEmLcdUNbeerHJWaVRaQuHLFJz0 azZLas3uU9qvRUs3EuTHrKg81Kf+kg9ItSMj3m+l5/TW8vojJlz1MgNVWzpF4JQ3OOe0kB YwHiKzqEF9AEi3QyUWTT5RV5zQI4TJenxFOkWowdnewFwcsrXl5q9WosV2Bi8GfVbc5jSe ZSP57FwvP4ozIqzTgwMKW0NxJISj6j+aCBm31sk+WMvEhoQLEmTDkSMKwoDHFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682405044; a=rsa-sha256; cv=none; b=PTh9F3U80t3hPHWRKPYbQlwSN+UrGPXNlz21xXHVtBbc/yLodyfLbH9/sIkP6NGTTzZMfH Ly2B+5O8K05Al16unfEjmb43AIeat39UxZaRUfTk49oRNXDYqlbyixEKaN2E4FKhq1S5P7 TZJlJrU10ep6y4mcQ4BdBJl6GoAzGmFGxan0psCvg+nUwO3vlPyahhSpGvvD6fGoqCFhlm kjigc+RcEML2Bi1w7ZNaHVtXGcjgBpxSwOwFTldcVVlPJ/xBKWCbBjdpa6GjXNrLnKTu1D 0G07kbNjsJ1e34afQN0lgr8zlsDEdZDiBwC1nt0QoSsQ2Ov8JP2muMgfa4v8tA== 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 4Q5CC8141Hzxdt; Tue, 25 Apr 2023 06:44: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 33P6i4W7066857; Tue, 25 Apr 2023 06:44:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P6i46n066856; Tue, 25 Apr 2023 06:44:04 GMT (envelope-from git) Date: Tue, 25 Apr 2023 06:44:04 GMT Message-Id: <202304250644.33P6i46n066856@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: fcc7aabdcabb - main - netipsec: some style List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fcc7aabdcabbce82b7281607fa3a51c52de6c1b4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=fcc7aabdcabbce82b7281607fa3a51c52de6c1b4 commit fcc7aabdcabbce82b7281607fa3a51c52de6c1b4 Author: Konstantin Belousov AuthorDate: 2021-07-31 01:46:17 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-25 06:39:51 +0000 netipsec: some style Sponsored by: NVidia networking --- sys/netipsec/key.c | 8 ++++---- sys/netipsec/keysock.c | 23 +++++++++++------------ 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/sys/netipsec/key.c b/sys/netipsec/key.c index 62aa99019437..e759dcf770a6 100644 --- a/sys/netipsec/key.c +++ b/sys/netipsec/key.c @@ -8243,7 +8243,7 @@ spdcache_init(void) V_spdcache_lock = malloc(sizeof(struct mtx) * (V_spdcachehash_mask + 1), - M_IPSEC_SPDCACHE, M_WAITOK|M_ZERO); + M_IPSEC_SPDCACHE, M_WAITOK | M_ZERO); for (i = 0; i < V_spdcachehash_mask + 1; ++i) SPDCACHE_LOCK_INIT(i); @@ -8255,10 +8255,10 @@ spdcache_entry_alloc(const struct secpolicyindex *spidx, struct secpolicy *sp) { struct spdcache_entry *entry; - entry = malloc(sizeof(struct spdcache_entry), - M_IPSEC_SPDCACHE, M_NOWAIT|M_ZERO); + entry = malloc(sizeof(struct spdcache_entry), M_IPSEC_SPDCACHE, + M_NOWAIT | M_ZERO); if (entry == NULL) - return NULL; + return (NULL); if (sp != NULL) SP_ADDREF(sp); diff --git a/sys/netipsec/keysock.c b/sys/netipsec/keysock.c index d0ab2f6020ec..e2fca3b881dc 100644 --- a/sys/netipsec/keysock.c +++ b/sys/netipsec/keysock.c @@ -134,9 +134,9 @@ key_send(struct socket *so, int flags, struct mbuf *m, error = key_parse(m, so); m = NULL; end: - if (m) + if (m != NULL) m_freem(m); - return error; + return (error); } /* @@ -168,11 +168,11 @@ key_sendup0(struct keycb *kp, struct mbuf *m, int promisc) PFKEYSTAT_INC(in_nomem); m_freem(m); soroverflow(kp->kp_socket); - return ENOBUFS; + return (ENOBUFS); } sorwakeup(kp->kp_socket); - return 0; + return (0); } /* so can be NULL if target != KEY_SENDUP_ONE */ @@ -195,7 +195,7 @@ key_sendup_mbuf(struct socket *so, struct mbuf *m, int target) m = m_pullup(m, sizeof(struct sadb_msg)); if (m == NULL) { PFKEYSTAT_INC(in_nomem); - return ENOBUFS; + return (ENOBUFS); } } if (m->m_len >= sizeof(struct sadb_msg)) { @@ -222,8 +222,8 @@ key_sendup_mbuf(struct socket *so, struct mbuf *m, int target) if (so != NULL && so->so_pcb == kp) continue; - if (target == KEY_SENDUP_ONE || ( - target == KEY_SENDUP_REGISTERED && kp->kp_registered == 0)) + if (target == KEY_SENDUP_ONE || (target == + KEY_SENDUP_REGISTERED && kp->kp_registered == 0)) continue; /* KEY_SENDUP_ALL + KEY_SENDUP_REGISTERED */ @@ -267,12 +267,12 @@ key_attach(struct socket *so, int proto, struct thread *td) if (td != NULL) { error = priv_check(td, PRIV_NET_RAW); - if (error) - return error; + if (error != 0) + return (error); } error = soreserve(so, key_sendspace, key_recvspace); - if (error) + if (error != 0) return (error); kp = malloc(sizeof(*kp), M_PCB, M_WAITOK); @@ -313,7 +313,6 @@ key_detach(struct socket *so) static int key_shutdown(struct socket *so) { - socantsendmore(so); return (0); } @@ -324,7 +323,7 @@ SYSCTL_NODE(_net, PF_KEY, key, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, static struct protosw keysw = { .pr_type = SOCK_RAW, .pr_protocol = PF_KEY_V2, - .pr_flags = PR_ATOMIC|PR_ADDR, + .pr_flags = PR_ATOMIC | PR_ADDR, .pr_abort = key_close, .pr_attach = key_attach, .pr_detach = key_detach, From nobody Tue Apr 25 06:44:05 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5CC93hw2z46kgW; Tue, 25 Apr 2023 06:44: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 4Q5CC92tnCz3LR4; Tue, 25 Apr 2023 06:44:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682405045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c46k50gV9xd+YGKSKydOBJTDQBtk79H8FwOIEbMn8QA=; b=OEMU7oEwgU7pGFBqR3eLrTmC5GC09+FS5pvtirKV9qL9iXa1lNQvMQMjAsJJjP3AJHd08n YyLoPIVtRBdiseEU87IWpyotBKM5W6fkGCWaf+peMCmfrnuk+2kUkUh34hUlbLmoMJB1KZ jleNTigV5npuvJJE3I53raXezZkwTPh26vAWx5VpwUSr24R2rUJO37DPewG5zBdcg0iq79 fI3KZSixSjiKAXyfUa5pXbbTzMf9nTRht2qgqbI8TJQ7xTQAQOF8mrrwH7tLE0PaU+Ry8a wqhKMi0P30nt6chI+uBgfPGcBt7yh6teJbgt2kR3paK0ApcLVNU8vWpNdGivGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682405045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c46k50gV9xd+YGKSKydOBJTDQBtk79H8FwOIEbMn8QA=; b=EBeg11LdLPvnVXGbgFovxqaW4uHy8Uf7Kp8XAF8a+zL4wGxA+ltHvpXsL0vY8kFEEIxjaM ZwqZNgBvhmGroUvFH6N9x9b8TAH5yHuoXB8mibReUdfPemhJt65CKid3vY/M8lGa7rbyMH nRiFniwgjoBSwPytFkcEqOf0LjJyD666VghtnM92KGCiG3t3uVWUmdgOoeZOVym+hYrLAj UuK4QYrrcxegVlIB9jtJtOVaT+wff5WHptuJhGdiAcizscxcsBhbzeVUjWhnkA697OPDWQ bIEoFGfKIyGgcsjzrV41oDmORRZ1oQft38XFbcRnotS1xeD9+veQLCgKoviBWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682405045; a=rsa-sha256; cv=none; b=sgd59n2W5Nr/LGrMLUjFY0maGlvAYchBO9rDTM3+Om5d0Aebun5Ag3bO3I8r/J/RHXKzTb P3UIrSTwWacOMpAnauzNBwXa4zkx1gJvCRk5FJA+PRbTaimlM5/JuHeVODKA/Q0t/sBxRj VvG2gqW/hhYrS70XWZr3B4gnC4DAkAE8kCt5p1pXCC5m3o4lxQAHkojLMOK+Iy7OYw+Q6E xjozyf81XBhprJKl+px3RRhpIxra347GHE2VkC1JsSMhO2roayzximh7/dkq1wzIdf6KnJ jZSEFvtRlX2Vr5AsDB0ZUHhHDejP2Mb0Ke2SBqp+ssyPxlketfyVbAUeP3CoSw== 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 4Q5CC920TBzxK5; Tue, 25 Apr 2023 06:44:05 +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 33P6i5hP066876; Tue, 25 Apr 2023 06:44:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P6i5p8066875; Tue, 25 Apr 2023 06:44:05 GMT (envelope-from git) Date: Tue, 25 Apr 2023 06:44:05 GMT Message-Id: <202304250644.33P6i5p8066875@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: 04d815f11557 - main - netipsec/key.c: use designated initializers for arrays List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04d815f1155796552e431818b741d6aba6ca3883 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=04d815f1155796552e431818b741d6aba6ca3883 commit 04d815f1155796552e431818b741d6aba6ca3883 Author: Konstantin Belousov AuthorDate: 2021-08-03 01:02:04 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-25 06:41:24 +0000 netipsec/key.c: use designated initializers for arrays Also de-expand nitems() use in related asserts, and fix maxsize array name in the assert message. Sponsored by: NVidia networking --- sys/netipsec/key.c | 168 ++++++++++++++++++++++++++--------------------------- 1 file changed, 84 insertions(+), 84 deletions(-) diff --git a/sys/netipsec/key.c b/sys/netipsec/key.c index e759dcf770a6..ac4b87985654 100644 --- a/sys/netipsec/key.c +++ b/sys/netipsec/key.c @@ -363,70 +363,70 @@ static struct mtx spacq_lock; #define SPACQ_LOCK_ASSERT() mtx_assert(&spacq_lock, MA_OWNED) static const int minsize[] = { - sizeof(struct sadb_msg), /* SADB_EXT_RESERVED */ - sizeof(struct sadb_sa), /* SADB_EXT_SA */ - sizeof(struct sadb_lifetime), /* SADB_EXT_LIFETIME_CURRENT */ - sizeof(struct sadb_lifetime), /* SADB_EXT_LIFETIME_HARD */ - sizeof(struct sadb_lifetime), /* SADB_EXT_LIFETIME_SOFT */ - sizeof(struct sadb_address), /* SADB_EXT_ADDRESS_SRC */ - sizeof(struct sadb_address), /* SADB_EXT_ADDRESS_DST */ - sizeof(struct sadb_address), /* SADB_EXT_ADDRESS_PROXY */ - sizeof(struct sadb_key), /* SADB_EXT_KEY_AUTH */ - sizeof(struct sadb_key), /* SADB_EXT_KEY_ENCRYPT */ - sizeof(struct sadb_ident), /* SADB_EXT_IDENTITY_SRC */ - sizeof(struct sadb_ident), /* SADB_EXT_IDENTITY_DST */ - sizeof(struct sadb_sens), /* SADB_EXT_SENSITIVITY */ - sizeof(struct sadb_prop), /* SADB_EXT_PROPOSAL */ - sizeof(struct sadb_supported), /* SADB_EXT_SUPPORTED_AUTH */ - sizeof(struct sadb_supported), /* SADB_EXT_SUPPORTED_ENCRYPT */ - sizeof(struct sadb_spirange), /* SADB_EXT_SPIRANGE */ - 0, /* SADB_X_EXT_KMPRIVATE */ - sizeof(struct sadb_x_policy), /* SADB_X_EXT_POLICY */ - sizeof(struct sadb_x_sa2), /* SADB_X_SA2 */ - sizeof(struct sadb_x_nat_t_type),/* SADB_X_EXT_NAT_T_TYPE */ - sizeof(struct sadb_x_nat_t_port),/* SADB_X_EXT_NAT_T_SPORT */ - sizeof(struct sadb_x_nat_t_port),/* SADB_X_EXT_NAT_T_DPORT */ - sizeof(struct sadb_address), /* SADB_X_EXT_NAT_T_OAI */ - sizeof(struct sadb_address), /* SADB_X_EXT_NAT_T_OAR */ - sizeof(struct sadb_x_nat_t_frag),/* SADB_X_EXT_NAT_T_FRAG */ - sizeof(struct sadb_x_sa_replay), /* SADB_X_EXT_SA_REPLAY */ - sizeof(struct sadb_address), /* SADB_X_EXT_NEW_ADDRESS_SRC */ - sizeof(struct sadb_address), /* SADB_X_EXT_NEW_ADDRESS_DST */ + [SADB_EXT_RESERVED] = sizeof(struct sadb_msg), + [SADB_EXT_SA] = sizeof(struct sadb_sa), + [SADB_EXT_LIFETIME_CURRENT] = sizeof(struct sadb_lifetime), + [SADB_EXT_LIFETIME_HARD] = sizeof(struct sadb_lifetime), + [SADB_EXT_LIFETIME_SOFT] = sizeof(struct sadb_lifetime), + [SADB_EXT_ADDRESS_SRC] = sizeof(struct sadb_address), + [SADB_EXT_ADDRESS_DST] = sizeof(struct sadb_address), + [SADB_EXT_ADDRESS_PROXY] = sizeof(struct sadb_address), + [SADB_EXT_KEY_AUTH] = sizeof(struct sadb_key), + [SADB_EXT_KEY_ENCRYPT] = sizeof(struct sadb_key), + [SADB_EXT_IDENTITY_SRC] = sizeof(struct sadb_ident), + [SADB_EXT_IDENTITY_DST] = sizeof(struct sadb_ident), + [SADB_EXT_SENSITIVITY] = sizeof(struct sadb_sens), + [SADB_EXT_PROPOSAL] = sizeof(struct sadb_prop), + [SADB_EXT_SUPPORTED_AUTH] = sizeof(struct sadb_supported), + [SADB_EXT_SUPPORTED_ENCRYPT] = sizeof(struct sadb_supported), + [SADB_EXT_SPIRANGE] = sizeof(struct sadb_spirange), + [SADB_X_EXT_KMPRIVATE] = 0, + [SADB_X_EXT_POLICY] = sizeof(struct sadb_x_policy), + [SADB_X_EXT_SA2] = sizeof(struct sadb_x_sa2), + [SADB_X_EXT_NAT_T_TYPE] = sizeof(struct sadb_x_nat_t_type), + [SADB_X_EXT_NAT_T_SPORT] = sizeof(struct sadb_x_nat_t_port), + [SADB_X_EXT_NAT_T_DPORT] = sizeof(struct sadb_x_nat_t_port), + [SADB_X_EXT_NAT_T_OAI] = sizeof(struct sadb_address), + [SADB_X_EXT_NAT_T_OAR] = sizeof(struct sadb_address), + [SADB_X_EXT_NAT_T_FRAG] = sizeof(struct sadb_x_nat_t_frag), + [SADB_X_EXT_SA_REPLAY] = sizeof(struct sadb_x_sa_replay), + [SADB_X_EXT_NEW_ADDRESS_SRC] = sizeof(struct sadb_address), + [SADB_X_EXT_NEW_ADDRESS_DST] = sizeof(struct sadb_address), }; -_Static_assert(sizeof(minsize)/sizeof(int) == SADB_EXT_MAX + 1, "minsize size mismatch"); +_Static_assert(nitems(minsize) == SADB_EXT_MAX + 1, "minsize size mismatch"); static const int maxsize[] = { - sizeof(struct sadb_msg), /* SADB_EXT_RESERVED */ - sizeof(struct sadb_sa), /* SADB_EXT_SA */ - sizeof(struct sadb_lifetime), /* SADB_EXT_LIFETIME_CURRENT */ - sizeof(struct sadb_lifetime), /* SADB_EXT_LIFETIME_HARD */ - sizeof(struct sadb_lifetime), /* SADB_EXT_LIFETIME_SOFT */ - 0, /* SADB_EXT_ADDRESS_SRC */ - 0, /* SADB_EXT_ADDRESS_DST */ - 0, /* SADB_EXT_ADDRESS_PROXY */ - 0, /* SADB_EXT_KEY_AUTH */ - 0, /* SADB_EXT_KEY_ENCRYPT */ - 0, /* SADB_EXT_IDENTITY_SRC */ - 0, /* SADB_EXT_IDENTITY_DST */ - 0, /* SADB_EXT_SENSITIVITY */ - 0, /* SADB_EXT_PROPOSAL */ - 0, /* SADB_EXT_SUPPORTED_AUTH */ - 0, /* SADB_EXT_SUPPORTED_ENCRYPT */ - sizeof(struct sadb_spirange), /* SADB_EXT_SPIRANGE */ - 0, /* SADB_X_EXT_KMPRIVATE */ - 0, /* SADB_X_EXT_POLICY */ - sizeof(struct sadb_x_sa2), /* SADB_X_SA2 */ - sizeof(struct sadb_x_nat_t_type),/* SADB_X_EXT_NAT_T_TYPE */ - sizeof(struct sadb_x_nat_t_port),/* SADB_X_EXT_NAT_T_SPORT */ - sizeof(struct sadb_x_nat_t_port),/* SADB_X_EXT_NAT_T_DPORT */ - 0, /* SADB_X_EXT_NAT_T_OAI */ - 0, /* SADB_X_EXT_NAT_T_OAR */ - sizeof(struct sadb_x_nat_t_frag),/* SADB_X_EXT_NAT_T_FRAG */ - sizeof(struct sadb_x_sa_replay), /* SADB_X_EXT_SA_REPLAY */ - 0, /* SADB_X_EXT_NEW_ADDRESS_SRC */ - 0, /* SADB_X_EXT_NEW_ADDRESS_DST */ + [SADB_EXT_RESERVED] = sizeof(struct sadb_msg), + [SADB_EXT_SA] = sizeof(struct sadb_sa), + [SADB_EXT_LIFETIME_CURRENT] = sizeof(struct sadb_lifetime), + [SADB_EXT_LIFETIME_HARD] = sizeof(struct sadb_lifetime), + [SADB_EXT_LIFETIME_SOFT] = sizeof(struct sadb_lifetime), + [SADB_EXT_ADDRESS_SRC] = 0, + [SADB_EXT_ADDRESS_DST] = 0, + [SADB_EXT_ADDRESS_PROXY] = 0, + [SADB_EXT_KEY_AUTH] = 0, + [SADB_EXT_KEY_ENCRYPT] = 0, + [SADB_EXT_IDENTITY_SRC] = 0, + [SADB_EXT_IDENTITY_DST] = 0, + [SADB_EXT_SENSITIVITY] = 0, + [SADB_EXT_PROPOSAL] = 0, + [SADB_EXT_SUPPORTED_AUTH] = 0, + [SADB_EXT_SUPPORTED_ENCRYPT] = 0, + [SADB_EXT_SPIRANGE] = sizeof(struct sadb_spirange), + [SADB_X_EXT_KMPRIVATE] = 0, + [SADB_X_EXT_POLICY] = 0, + [SADB_X_EXT_SA2] = sizeof(struct sadb_x_sa2), + [SADB_X_EXT_NAT_T_TYPE] = sizeof(struct sadb_x_nat_t_type), + [SADB_X_EXT_NAT_T_SPORT] = sizeof(struct sadb_x_nat_t_port), + [SADB_X_EXT_NAT_T_DPORT] = sizeof(struct sadb_x_nat_t_port), + [SADB_X_EXT_NAT_T_OAI] = 0, + [SADB_X_EXT_NAT_T_OAR] = 0, + [SADB_X_EXT_NAT_T_FRAG] = sizeof(struct sadb_x_nat_t_frag), + [SADB_X_EXT_SA_REPLAY] = sizeof(struct sadb_x_sa_replay), + [SADB_X_EXT_NEW_ADDRESS_SRC] = 0, + [SADB_X_EXT_NEW_ADDRESS_DST] = 0, }; -_Static_assert(sizeof(maxsize)/sizeof(int) == SADB_EXT_MAX + 1, "minsize size mismatch"); +_Static_assert(nitems(maxsize) == SADB_EXT_MAX + 1, "maxsize size mismatch"); /* * Internal values for SA flags: @@ -7748,30 +7748,30 @@ key_promisc(struct socket *so, struct mbuf *m, const struct sadb_msghdr *mhp) } static int (*key_typesw[])(struct socket *, struct mbuf *, - const struct sadb_msghdr *) = { - NULL, /* SADB_RESERVED */ - key_getspi, /* SADB_GETSPI */ - key_update, /* SADB_UPDATE */ - key_add, /* SADB_ADD */ - key_delete, /* SADB_DELETE */ - key_get, /* SADB_GET */ - key_acquire2, /* SADB_ACQUIRE */ - key_register, /* SADB_REGISTER */ - NULL, /* SADB_EXPIRE */ - key_flush, /* SADB_FLUSH */ - key_dump, /* SADB_DUMP */ - key_promisc, /* SADB_X_PROMISC */ - NULL, /* SADB_X_PCHANGE */ - key_spdadd, /* SADB_X_SPDUPDATE */ - key_spdadd, /* SADB_X_SPDADD */ - key_spddelete, /* SADB_X_SPDDELETE */ - key_spdget, /* SADB_X_SPDGET */ - NULL, /* SADB_X_SPDACQUIRE */ - key_spddump, /* SADB_X_SPDDUMP */ - key_spdflush, /* SADB_X_SPDFLUSH */ - key_spdadd, /* SADB_X_SPDSETIDX */ - NULL, /* SADB_X_SPDEXPIRE */ - key_spddelete2, /* SADB_X_SPDDELETE2 */ + const struct sadb_msghdr *) = { + [SADB_RESERVED] = NULL, + [SADB_GETSPI] = key_getspi, + [SADB_UPDATE] = key_update, + [SADB_ADD] = key_add, + [SADB_DELETE] = key_delete, + [SADB_GET] = key_get, + [SADB_ACQUIRE] = key_acquire2, + [SADB_REGISTER] = key_register, + [SADB_EXPIRE] = NULL, + [SADB_FLUSH] = key_flush, + [SADB_DUMP] = key_dump, + [SADB_X_PROMISC] = key_promisc, + [SADB_X_PCHANGE] = NULL, + [SADB_X_SPDUPDATE] = key_spdadd, + [SADB_X_SPDADD] = key_spdadd, + [SADB_X_SPDDELETE] = key_spddelete, + [SADB_X_SPDGET] = key_spdget, + [SADB_X_SPDACQUIRE] = NULL, + [SADB_X_SPDDUMP] = key_spddump, + [SADB_X_SPDFLUSH] = key_spdflush, + [SADB_X_SPDSETIDX] = key_spdadd, + [SADB_X_SPDEXPIRE] = NULL, + [SADB_X_SPDDELETE2] = key_spddelete2, }; /* From nobody Tue Apr 25 07:27:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5D8y3dnVz46mX6; Tue, 25 Apr 2023 07:27: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 4Q5D8y2yYVz3Q8b; Tue, 25 Apr 2023 07:27:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682407634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7ATzZ3Ek8uuiiGblc4YafHIvoOI9VIX74v0qalwsnk4=; b=hH9CI2dVQTDe992klSbdvJKzO/gQCiNlcHY/R7fX4WevSo2KUhpWxD/0KmihAz7kI2YS4o 8ynrJbpH7nBDia3EAzWYz4uW73OZz86IMgpusjkstiaNvh28jLO04iKPU3jYpXQYdNUe1P iMeY27Mxtd7liJdBgpZGIh/kVzoFb2TmZfLEa+bEmzGLcnc123kjSS4N1u/pOJ1B//VGuP gSwJCYwPWCAJrD7r32mH4nmAqViZFfdfIgbgODht+iUYhskoEDILB++ShHyCRY7gjcwT+X u3VLEzIOZdFrQ5iZCMeh4sOYmcAyZTLmPQQOeZkxGWSOZ6N0Hc070BrCikVccQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682407634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7ATzZ3Ek8uuiiGblc4YafHIvoOI9VIX74v0qalwsnk4=; b=L70Q1R6r/DWeG70sP+vdHod7I4ScEwkf2YNwClTpNskpQ6vIteprMXepI+rKuWQqXnISPr DLgGnV69hFl+ndt55S2lQNXPCL1bq8PQmLKvLTEbbXcWkAVkSSiTBtOvFt14sp7AcJQVpv EVeGe1jwMMUGpugtJCUBrVs61e+JTXsxJTflzRAhQUaN/Ql5aR1Tal6dor0Xd4F5jNWc5F w2IVq5QAHDuorqobnQ3GnotOWx7SzjwI+c0aohYXHNez56kBPYCjlsoR0Ox/W0zw3r/wvc ulkw9HakQ40UUJxG6JHGTQdUsfpz7ZdqmJCUk5HB03qoATKWEb4jF85bSJxA0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682407634; a=rsa-sha256; cv=none; b=Vh5eh0cgC+0/sERHkVYw0M2xpuLActfvUvRGr8t8/xVMzhdZvlUeFfTC71YLz1NfyeBev5 M19/tO77qLjbJZ+nEO09xgw51eLwYQadz/WPK8xuXHVHkCZHBGDWSaaQlnyQGAwMwlvFyX qvGDZz+jjjrE3dFJsfbyte3grp1m6sGGz87HbZrY1kmXNn5y+mc1Wdv7qYFZveHD+Sedwh St6JOQKn60y0w3b83doWKfUSE3oU+YyTS2Hki4Kq4Hahpnx9PFF5he+cdHevwfBZfnzBlF Zzsa1gy8BqSjrqINhcHRCblEX8dRr1D9qicadjQwR6hffi1PtRH28V+xkNkkRw== 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 4Q5D8y1vSGzyBy; Tue, 25 Apr 2023 07:27: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 33P7REWc033092; Tue, 25 Apr 2023 07:27:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P7RED5033091; Tue, 25 Apr 2023 07:27:14 GMT (envelope-from git) Date: Tue, 25 Apr 2023 07:27:14 GMT Message-Id: <202304250727.33P7RED5033091@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 4b932c2c9ef7 - main - Set MK_host_egacy=yes earlier List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b932c2c9ef70252986792df8c71e0b058dac24e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=4b932c2c9ef70252986792df8c71e0b058dac24e commit 4b932c2c9ef70252986792df8c71e0b058dac24e Author: Simon J. Gerraty AuthorDate: 2023-04-25 07:26:35 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-25 07:26:35 +0000 Set MK_host_egacy=yes earlier If we need to set MK_host_egacy=yes we might need to check it in local.toolchain.mk so set it earlier in local.meta.sys.env.mk Leave the default MK_host_egacy?=no in local.sys.mk so it can be tested in Makefiles without concern for build mode. --- share/mk/local.meta.sys.env.mk | 7 +++++++ share/mk/local.sys.mk | 7 +------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/share/mk/local.meta.sys.env.mk b/share/mk/local.meta.sys.env.mk index 6b692d13fedf..6d0d493f1047 100644 --- a/share/mk/local.meta.sys.env.mk +++ b/share/mk/local.meta.sys.env.mk @@ -93,3 +93,10 @@ META_MODE+= missing-filemon=yes # this does not need/want filemon UPDATE_DEPENDFILE= NO .endif + +.if ${MK_DIRDEPS_BUILD} == "yes" +.if ${.MAKE.OS} != "FreeBSD" || ${_HOST_OSREL:R} < ${OS_REVISION:R} +# a pseudo option to indicate we need libegacy for host +MK_host_egacy= yes +.endif +.endif diff --git a/share/mk/local.sys.mk b/share/mk/local.sys.mk index abcbf396c6b4..148499483c8b 100644 --- a/share/mk/local.sys.mk +++ b/share/mk/local.sys.mk @@ -79,12 +79,7 @@ JOB_MAX:= ${jm:R} .endif .endif -.if ${MK_DIRDEPS_BUILD} == "yes" -.if ${.MAKE.OS} != "FreeBSD" || ${_HOST_OSREL:R} < ${OS_REVISION:R} -# a pseudo option to indicate we need libegacy for host -MK_host_egacy= yes -.endif -.endif +# this will be set via local.meta.sys.env.mk if appropriate MK_host_egacy?= no .if ${.MAKE.MODE:Mmeta*} != "" From nobody Tue Apr 25 07:42:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5DVF1bK8z46nvB; Tue, 25 Apr 2023 07:42:13 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2070a.outbound.protection.outlook.com [IPv6:2a01:111:f400:feab::70a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q5DVC4TrKz3hvN; Tue, 25 Apr 2023 07:42:11 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=microsoft.com header.s=selector2 header.b=M1OX7lI8; spf=pass (mx1.freebsd.org: domain of schakrabarti@microsoft.com designates 2a01:111:f400:feab::70a as permitted sender) smtp.mailfrom=schakrabarti@microsoft.com; dmarc=pass (policy=reject) header.from=microsoft.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IzROXggWlaBQDvPDtp5Hgh2moqyVMWVqjFLwvr2t5lnh+npamYgpW0ix/szztDOc1hf/SXlpL24E9EnP1ovKwvjUn4Vt3D5BziMRpSjw1i2iOPzgxY22CCV3D8ydZoODdcpY5UZofsVSW+U6tS1qNHYYDBCCBfdD7il3mR0JaLbVHhr+Sf3QBq9MD8c7NHgAYUgimWHg5YvW1OiAfEKiHrDme6E4YFaV3/M2TQgKHAHadHWT6w+1C4cFN5EQNV1tLryPX7KTr+dBDI6kPNIic66AfNhT2fRn3WUXaB25YuDayK0LCAauIz+IuCApM6MenBjSRgt1RcKDVlwPcJwq5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2PyolRWN6f2KwwlLXLcICVTBLinFz6cG3ICT+jePh0g=; b=ajHozBDb6n1dhu+XyQK0GKVKKpYHfJ8hObapRzNZzHf+TwFkwNGdd8gHt/204gKI8uvAR4ilfIBW7pTyCnYL/+1BCQsYD0+ISF1LXOHZhNuu3cy3C7qv/L9YaS/vpZjqyY8JnQ5NlqCbY1L17bCoL3PnGJLUJnLwdXJwrSD72Hi5Z0gDRAQj/xCf+41O06mLkUedc7vjDDI8s7BnEgBXAeG2w43tZ8c3CB6cuX8TEpeTXVW2DtxF/l+JrirCUX5CV+hRtEgelplJjG3QRPvtyzXxpx2xtpEFjELIgtPK/4wXu4V4O8ULUneV6pg0F708K5GB7GfnECvTRxx+OwCPOQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2PyolRWN6f2KwwlLXLcICVTBLinFz6cG3ICT+jePh0g=; b=M1OX7lI8qIJPWtsGw1kcUdMiz3AA+yejOu4B26doXmFIXHCEVSqhukbCBDgVX5TpsAcUAFlxPwYvvMBFU8Ipe1xfAyCko2m6GGKXhqkMJc4CiSf6yj4lw92YppU9TAqLwll79Xdt8XEysYfbe8T8fsskH9TEfDNcrfLoKaqb9zU= Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM (2603:1096:301:75::14) by TYZP153MB0413.APCP153.PROD.OUTLOOK.COM (2603:1096:400:2e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.19; Tue, 25 Apr 2023 07:42:04 +0000 Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::3f0:d0e4:818f:7af0]) by PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::3f0:d0e4:818f:7af0%3]) with mapi id 15.20.6340.020; Tue, 25 Apr 2023 07:42:04 +0000 From: Souradeep Chakrabarti To: Kyle Evans , Wei Hu CC: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: RE: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Thread-Topic: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Thread-Index: AQHZcn/2gVTtqNix60WeYnOdZN2tzq86cNIwgAE7PnA= Date: Tue, 25 Apr 2023 07:42:03 +0000 Message-ID: References: <202210271354.29RDsUoH077155@gitrepo.freebsd.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=a4378dab-7589-4341-bb2d-fc18809cdbc9;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2023-04-24T12:47:21Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PSAP153MB0536:EE_|TYZP153MB0413:EE_ x-ms-office365-filtering-correlation-id: 6751a93f-4466-4249-b785-08db45609006 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YKXmUC19+0j5i+X85LCJGoTxF2OfhVsTAkkXnCHFGdJXF2bQY3GSMYypapmqXLuQmFTQNyjdJ0U7bYmLjNvWLgb2mYej/bm3UhDI8a9OTDD+O1byebUTVwK0WbOLs9HHJQ08kjYc+9kcKrQISG+QBj4fJe2rrSQjx0NqvnAXW3/TjheAOq4bXZ6+t7UqDhJmi72gOzBzKaNEw+guTZp0dMEPyTRfNYquOxlkdKlEtDD12xkg5FDmVKcCDMd5qqZ66Qrm5Lo8yzeyjY907rvWf1N8d3S94vgFvoCitfKRHllq6VoekJIjaXBLzjwkXx62vLr9NxuUwomFwL98WRSBLwXCAIxmUhNVgDShSvqR2A14zYF5XXfl2M6xJX984nKVls6GETV2FPeKPj6UAgBWZXbPcSPRsd4mcJGLC4F/RQnJkCKMzZxhAFgkhJVPnvTy6OUTcGhUnhRFkjrbJPD019VlDeSa5iCzwl5O6jo9ft0Ng4I3UAYIAjTBWFuORcVIMaFIj/Estq6PkaN0NPexN8XqHRH/heBB7a/BFXXzAE/3SbO2gw7GI++Mk/5fAWWm1HxWzyimuBmGI6UNST7xJBP4R+ohp1AdyUdB7FsqjobHrKTTBdRihVUXCLYNDcg6vuqHgHm8m6aBOmL7Gl03vRiRvQUfDtNw+cJLtLZHiRE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PSAP153MB0536.APCP153.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(39860400002)(136003)(366004)(396003)(376002)(451199021)(54906003)(8990500004)(110136005)(38070700005)(478600001)(10290500003)(82960400001)(82950400001)(316002)(786003)(4326008)(66446008)(66476007)(66556008)(66946007)(76116006)(64756008)(55016003)(122000001)(41300700001)(2906002)(8936002)(8676002)(4001150100001)(52536014)(450100002)(5660300002)(38100700002)(966005)(9686003)(6506007)(26005)(86362001)(186003)(33656002)(83380400001)(71200400001)(7696005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ejZTRi8rZkd6OWRON0FXa0w2cnJMc3cxdU1KNHFrcVkremNuWHVqRm5Zbzl5?= =?utf-8?B?YjJENjBIZnNJOTVGVTJFV3FmemV6MUVldkhGbkZBQ0JaekJvQk0xVXNyQ2FF?= =?utf-8?B?OFpxakRONTJEN0U2bEgyWEJjNzdDaWl4MHNhV29NbDNPTytNaEJqOERQblhV?= =?utf-8?B?c3lTSFFoeVNXK3FLbU9vQmM0eXU4eERObFpDbHBRMnU0WUZpV3Z3MmRnSUEx?= =?utf-8?B?N1IzUC9NN2J3UTRndzRPcWtiYXFLTnpzZVRzcFd5cEdMNlBjNFFXNUR0bzgx?= =?utf-8?B?VnhzRDBDcVZsc1U1L0JROEdRdFV1aTJsVVE3RGMxeVpNbWJuVElRSjBIVUp1?= =?utf-8?B?TEpDS3VMd1ZvcUxvdm94bmVnbDdINFhjYzhoUUpFZHpZUWVmcjU4RGVmRUpa?= =?utf-8?B?ZGZ4Vm03SU5abDBVZ05JcTQ2RDdSQkRmQTFha0ZjNFF2RzlPQmJnLytia1Ex?= =?utf-8?B?QnFLVVRLNmdIT0p0NVdRZm5aUzlEYXYxUGRNR1A0TmNaRTVjcDJPVVA4cjZo?= =?utf-8?B?VTI4M2NxL21nYmxDRGlPWDZmM0I2NkM4bjVlYS84Sm5XcXRoUGpadXRDZ055?= =?utf-8?B?N0NVVWxVRUZzb0hjNmp1RUNJaWJsdWxDQ1FDMTFkSHlOZk9MSG9YZHpNa3Er?= =?utf-8?B?Y05JUUE3eUxEY0hQUE1SM2NDbFQ1U3k4N25FOWN6eDI3OHNLcVYwWjFxNytp?= =?utf-8?B?ZDRqdU53Zjl6VG0vTEVRL3UxY3JvcFllcHQzcTg2N21DYVpmMFdlWCtRUlNw?= =?utf-8?B?ektleE5GVEJjQkN6dFZoUzZEZmlJRzIzbnJsT2xkc2k5MXpOcmh6SFpVQVhM?= =?utf-8?B?RXBJZEFSMXMzTGpaSXpTZ2ozNVhnNzJ1Y1RIdTJSM2lnOVArRGNJM1QyQXdm?= =?utf-8?B?WVNtNklQY3QvOGMyMW9wSnJ4RGZPNStGbytQMjVJT204emphdzAwdm80NFFT?= =?utf-8?B?RUoxT251aHRMUC9tK0k0SXFQOFpwV29VdDRKL1pRS0MvTytKZjFVQ3F4RGhn?= =?utf-8?B?S1IwdUF2enNBR2JEWVNwSWxQRkFVTHBTNWI4QmVMVGZaSlU5WXp1T3RsM2NX?= =?utf-8?B?Sm1MMERXak4rcG1iQ3o2R3EwYUM4VDcyTVhhWWsxNWJPd2g2QXg1K2NwdG4z?= =?utf-8?B?NmpENlBvU3ZWVUx4a0YxRGlSK2ZSNEpEMk9EYWpjVkMwWG9OWDk3eUdESHA2?= =?utf-8?B?MU9LOGo0Q0dGZ1drQ0JSMEZqYjlGY21GMUlVbjFlVURNNHFmZGZZdUNTWlgv?= =?utf-8?B?WTNTeXpOcm1BM25DalBtVW1Xd2h5VzRLU3lKTnBxVmxKK3B5VVRWSjUxc2F3?= =?utf-8?B?b2g5bWxWaWowU0VLUWg1Wk1FVG5vWXQxRmhqK284NmtqVHdIWHBWQ3UyUmdD?= =?utf-8?B?Q05JeGppd1pscTNmWHlrblNTY2czeHFDblQyMVRhc0RZMmFzakIxVDBPRzYr?= =?utf-8?B?ZHdaMUZBU2tIZlVCSGRqcmVzYUJXU1F1Z3ZZL2xKY1hLQ2xTbHlDVlArQVFE?= =?utf-8?B?RXhIWWYwQ2JXWklJT0lzc200aThLdGNqSkpNcXdDQ0U2eDRKNHZWMUtIYUg5?= =?utf-8?B?RHQwOUs1NG00NEJ0NWV5bktsWW9iU1R4Z2JwWWVnUkx4cXU5M1RnZnM0TzJj?= =?utf-8?B?OVdVOFI4MnQxVGh1RFlFZXFuT2ZEZU1Ibm5NVFBPWW5saUx4Z3lrREFWY2ky?= =?utf-8?B?MGRIR2Fkb2F1eEk4MzV3ZVA0a0lGZ3F3THMvK25FQnU4NnppUlh6L0EyMlN4?= =?utf-8?B?TzByaG9mMFFRMXpLRFIvbzJLcldwRFp0Um0xUWJJc0ltaWxYSTZ5bGllenB1?= =?utf-8?B?TktNek1SNnZYcHZ5cEZNbkVMd2YxUnc1NkNJUHFsdjBMS0IxNHphN09IbCtI?= =?utf-8?B?cW1lZUw0aVpRbSs0ZWoxSVR1Z213S3RRUHpuYktnR1dyNFJLSWFBR3ZaTlZz?= =?utf-8?B?UE42bTZIdmlDa2J6c3plVjZwNmduOVUwZWJySUZPaXNjNy8wanQ5OC9vY2pI?= =?utf-8?B?U1p2TTU5MUFzUFF3VFk2MVVYZWczZWhTR1RRK2hzNU15QXA1T3R2ZWlML3dY?= =?utf-8?Q?52Fpgj?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PSAP153MB0536.APCP153.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 6751a93f-4466-4249-b785-08db45609006 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2023 07:42:03.7995 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: d0pG0s0zeB3lA5ip1N0SBDOBVazLltNglxOWN1cdqyqdsgqbyinuwhOB4K4oowp3smiYVM6jygxTMrNtz/CBjSDuDEDYvp3ym+CjdF65jXY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZP153MB0413 X-Spamd-Result: default: False [-8.89 / 15.00]; WHITELIST_SPF_DKIM(-3.00)[microsoft.com:d:+,microsoft.com:s:+]; DWL_DNSWL_LOW(-1.00)[microsoft.com:dkim]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.993]; DMARC_POLICY_ALLOW(-0.50)[microsoft.com,reject]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f400::/48]; R_DKIM_ALLOW(-0.20)[microsoft.com:s=selector2]; MIME_BASE64_TEXT(0.10)[]; MIME_GOOD(-0.10)[text/plain]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; RCVD_COUNT_THREE(0.00)[3]; RCPT_COUNT_FIVE(0.00)[5]; FROM_HAS_DN(0.00)[]; DKIM_TRACE(0.00)[microsoft.com:+]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[] X-Rspamd-Queue-Id: 4Q5DVC4TrKz3hvN X-Spamd-Bar: -------- X-ThisMailContainsUnwantedMimeParts: N DQoNCg0KPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogU291cmFkZWVwIENoYWty YWJhcnRpDQo+U2VudDogTW9uZGF5LCBBcHJpbCAyNCwgMjAyMyA2OjI0IFBNDQo+VG86IEt5bGUg RXZhbnMgPGtldmFuc0BmcmVlYnNkLm9yZz47IFdlaSBIdSA8d2h1QGZyZWVic2Qub3JnPg0KPkNj OiBzcmMtY29tbWl0dGVyc0BmcmVlYnNkLm9yZzsgZGV2LWNvbW1pdHMtc3JjLWFsbEBmcmVlYnNk Lm9yZzsgZGV2LWNvbW1pdHMtDQo+c3JjLW1haW5AZnJlZWJzZC5vcmcNCj5TdWJqZWN0OiBSRTog W0VYVEVSTkFMXSBSZTogZ2l0OiA5NzI5ZjA3NmU0ZDkgLSBtYWluIC0gYXJtNjQ6IEh5cGVyLVY6 DQo+ZW5hYmxlbWVudCBmb3IgQVJNNjQgaW4gSHlwZXItViAoUGFydCAzLCBmaW5hbCkNCj4NCj4N Cj4NCj4NCj4+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+RnJvbTogS3lsZSBFdmFucyA8 a2V2YW5zQGZyZWVic2Qub3JnPg0KPj5TZW50OiBXZWRuZXNkYXksIEFwcmlsIDE5LCAyMDIzIDEx OjAwIEFNDQo+PlRvOiBXZWkgSHUgPHdodUBmcmVlYnNkLm9yZz47IFNvdXJhZGVlcCBDaGFrcmFi YXJ0aQ0KPj48c2NoYWtyYWJhcnRpQG1pY3Jvc29mdC5jb20+DQo+PkNjOiBzcmMtY29tbWl0dGVy c0BmcmVlYnNkLm9yZzsgZGV2LWNvbW1pdHMtc3JjLWFsbEBmcmVlYnNkLm9yZzsNCj4+ZGV2LWNv bW1pdHMtIHNyYy1tYWluQGZyZWVic2Qub3JnDQo+PlN1YmplY3Q6IFtFWFRFUk5BTF0gUmU6IGdp dDogOTcyOWYwNzZlNGQ5IC0gbWFpbiAtIGFybTY0OiBIeXBlci1WOg0KPj5lbmFibGVtZW50IGZv ciBBUk02NCBpbiBIeXBlci1WIChQYXJ0IDMsIGZpbmFsKQ0KPj4NCj4+T24gVGh1LCBPY3QgMjcs IDIwMjIgYXQgODo1NOKAr0FNIFdlaSBIdSA8d2h1QGZyZWVic2Qub3JnPiB3cm90ZToNCj4+Pg0K Pj4+IFRoZSBicmFuY2ggbWFpbiBoYXMgYmVlbiB1cGRhdGVkIGJ5IHdodToNCj4+Pg0KPj4+IFVS TDoNCj4+PiBodHRwczovL25hbTA2LnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91 cmw9aHR0cHMlM0ElMkYlMkZjZ2kNCj4+PiB0DQo+Pj4NCj4+LmZyZWVic2Qub3JnJTJGc3JjJTJG Y29tbWl0JTJGJTNGaWQlM0Q5NzI5ZjA3NmU0ZDkzYzVhMzdlNzhkNDI3YmZlDQo+MA0KPj5mMWEN Cj4+Pg0KPj5iOTliYmNjNiZkYXRhPTA1JTdDMDElN0NzY2hha3JhYmFydGklNDBtaWNyb3NvZnQu Y29tJTdDMzkzZTg1NWYxM2M2DQo+PjQ5YQ0KPj4+DQo+Pjg4ODM3MDhkYjQwOTcyMTFlJTdDNzJm OTg4YmY4NmYxNDFhZjkxYWIyZDdjZDAxMWRiNDclN0MxJTdDMCU3DQo+Qw0KPj42MzgxNzQ3DQo+ Pj4NCj4+OTAxMDY3ODY0NDklN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKV0lqb2lNQzR3TGpB d01EQWlMQ0pRSWoNCj5vaQ0KPj5WMmx1TXoNCj4+Pg0KPj5JaUxDSkJUaUk2SWsxaGFXd2lMQ0pY VkNJNk1uMCUzRCU3QzMwMDAlN0MlN0MlN0Mmc2RhdGE9aHVpYU9CU0IyWg0KPj5RRG41UQ0KPj4+ IGN3JTJGTFdubUklMkZxYmJyaVFkN0hrWXRweG5HTEdFJTNEJnJlc2VydmVkPTANCj4+Pg0KPj4+ IGNvbW1pdCA5NzI5ZjA3NmU0ZDkzYzVhMzdlNzhkNDI3YmZlMGYxYWI5OWJiY2M2DQo+Pj4gQXV0 aG9yOiAgICAgU291cmFkZWVwIENoYWtyYWJhcnRpIDxzY2hha3JhYmFydGlAbWljcm9zb2Z0LmNv bT4NCj4+PiBBdXRob3JEYXRlOiAyMDIyLTEwLTI3IDEzOjQ2OjA4ICswMDAwDQo+Pj4gQ29tbWl0 OiAgICAgV2VpIEh1IDx3aHVARnJlZUJTRC5vcmc+DQo+Pj4gQ29tbWl0RGF0ZTogMjAyMi0xMC0y NyAxMzo1MzoyMiArMDAwMA0KPj4+DQo+Pj4gICAgIGFybTY0OiBIeXBlci1WOiBlbmFibGVtZW50 IGZvciBBUk02NCBpbiBIeXBlci1WIChQYXJ0IDMsIGZpbmFsKQ0KPj4+DQo+Pj4gICAgIFRoaXMg aXMgdGhlIGxhc3QgcGFydCBmb3IgQVJNNjQgSHlwZXItViBlbmFibGVtZW50LiBUaGlzIGluY2x1 ZGVzDQo+Pj4gICAgIGNvbW1vbmUgZmlsZXMgYW5kIG1ha2UgZmlsZSBjaGFuZ2VzIHRvIGVuYWJs ZSB0aGUgQVJNNjQgRnJlZUJTRA0KPj4+ICAgICBndWVzdCBvbiBIeXBlci1WLiBXaXRoIHRoaXMg cGF0Y2gsIGl0IHNob3VsZCBiZSBhYmxlIHRvIGJ1aWxkDQo+Pj4gICAgIHRoZSBBUk02NCBpbWFn ZSBhbmQgaW5zdGFsbCBpdCBvbiBIeXBlci1WLg0KPj4+DQo+Pg0KPj5IaSwNCj4+DQo+PkZpcnN0 IG9mZi0gdGhhbmtzIGZvciBkb2luZyB0aGlzIHdvcmshIEkgY2FuJ3Qgc2VlbSB0byBib290IGEg LUNVUlJFTlQNCj4+aW1hZ2UgdW5kZXIgSHlwZXItViBvbiBhIFZvbHRlcnJhIG1hY2hpbmUsIHNl ZW1pbmdseSBkdWUgdG8gdm1idXMuIEl0IHN0YWxscyByaWdodA0KPmFmdGVyICJ2bWJ1czoNCj4+ dGhlIGlycSAxOCIgYnV0IGJlZm9yZSBlbWl0dGluZyBhIHZlcnNpb24gbnVtYmVyLCBJIGhhdmUg c29tZSBvdGhlcg0KPj5jb21tZW50cyBoZXJlLi4uDQo+Pg0KPj4+IFsuLi4gc25pcCAuLi5dDQo+ Pj4gZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L3ZtYnVzL3ZtYnVzLmMNCj4+PiBiL3N5cy9k ZXYvaHlwZXJ2L3ZtYnVzL3ZtYnVzLmMgaW5kZXggYjBjZDc1MGIyNmM4Li5mMzcwZjJhNzViOTkN Cj4+PiAxMDA2NDQNCj4+PiAtLS0gYS9zeXMvZGV2L2h5cGVydi92bWJ1cy92bWJ1cy5jDQo+Pj4g KysrIGIvc3lzL2Rldi9oeXBlcnYvdm1idXMvdm1idXMuYw0KPj4+IFsuLi4gc25pcCAuLi5dDQo+ Pj4gQEAgLTEwNyw3ICsxMTMsNyBAQCBzdGF0aWMgdWludDMyX3QNCj4+dm1idXNfZ2V0X3ZjcHVf aWRfbWV0aG9kKGRldmljZV90IGJ1cywNCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkZXZpY2VfdCBkZXYsIGludCBjcHUpOw0KPj4+ICBzdGF0aWMgc3RydWN0IHRhc2tx dWV1ZSAgICAgICAgICAgICAgICAqdm1idXNfZ2V0X2V2ZW50dHFfbWV0aG9kKGRldmljZV90LCBk ZXZpY2VfdCwNCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQpOyAt I2lmZGVmIEVBUkxZX0FQX1NUQVJUVVANCj4+PiArI2lmIGRlZmluZWQoRUFSTFlfQVBfU1RBUlRV UCkgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykNCj4+PiAgc3RhdGljIHZvaWQgICAgICAgICAgICAg ICAgICAgIHZtYnVzX2ludHJob29rKHZvaWQgKik7DQo+Pj4gICNlbmRpZg0KPj4+DQo+Pg0KPj5N eSBndXQgcmVhY3Rpb24gdG8gdGhpcyBpcyB0aGF0IHRoaXMgaXMgYSByZWQgZmxhZy4gRUFSTFlf QVBfU1RBUlRVUA0KPj5pbXBsaWVzIGNoYXJhY3RlcmlzdGljcyB0aGF0IGFhcmNoNjQgZG9lc24n dCBleGhpYml0OyBpdCdzIGhhcmQgdG8gc2VlDQo+PndoeSB0aGlzIGNvbmRpdGlvbmFsIGlzIE9L LCBvciB3aGV0aGVyIGl0J3MgdGVzdGluZyBFQVJMWV9BUF9TVEFSVFVQIGFzDQo+PmEgYmFkIHdh eSB0byB3cml0ZSBfX2kzODZfXyB8fCBfX2FtZDY0X18uDQo+W1NvdXJhZGVlcF0gV2UgaGFkIG9y J2QgdGhlIGFhcmNoNjQgaGVyZSwgYXMgd2Ugd2FudGVkIHRvIGRlZmVyIHRoZSB2bWJ1cw0KPmF0 dGFjaG1lbnQgYWZ0ZXIgZ2ljIGFuZCBhcm0gZ2VuZXJpYyB0aW1lciBpcyBhdHRhY2hlZC4gQXMg d2UgbmVlZCBQQVVTRSBhbmQNCj5ERUxBWSBmb3Igdm1idXMgYW5kIGh5cGVyLXYgZHJpdmVycy4g Rm9yIHRoYXQgd2Ugd2FudGVkIHRvIHVzZQ0KPnZtYnVzX2ludHJob29rKCkuDQo+Pg0KPj4+IFsu Li4gc25pcCAuLi5dDQo+Pj4gQEAgLTc2MCw3ICs3MzYsNyBAQCB2bWJ1c19zeW5pY19zZXR1cCh2 b2lkICp4c2MpDQo+Pj4NCj4+PiAgICAgICAgIGlmIChoeXBlcnZfZmVhdHVyZXMgJiBDUFVJRF9I Vl9NU1JfVlBfSU5ERVgpIHsNCj4+PiAgICAgICAgICAgICAgICAgLyogU2F2ZSB2aXJ0dWFsIHBy b2Nlc3NvciBpZC4gKi8NCj4+PiAtICAgICAgICAgICAgICAgVk1CVVNfUENQVV9HRVQoc2MsIHZj cHVpZCwgY3B1KSA9IHJkbXNyKE1TUl9IVl9WUF9JTkRFWCk7DQo+Pj4gKyAgICAgICAgICAgICAg IFZNQlVTX1BDUFVfR0VUKHNjLCB2Y3B1aWQsIGNwdSkgPQ0KPj4+ICsgUkRNU1IoTVNSX0hWX1ZQ X0lOREVYKTsNCj4+PiAgICAgICAgIH0gZWxzZSB7DQo+Pj4gICAgICAgICAgICAgICAgIC8qIFNl dCB2aXJ0dWFsIHByb2Nlc3NvciBpZCB0byAwIGZvciBjb21wYXRpYmlsaXR5LiAqLw0KPj4+ICAg ICAgICAgICAgICAgICBWTUJVU19QQ1BVX0dFVChzYywgdmNwdWlkLCBjcHUpID0gMDsNCj4+DQo+ PlRoaXMgb25lLCB2bWJ1c19zeW5pY19zZXR1cCgpLCBpcyBpbnZva2VkIHZpYSB2bWJ1c19pbnRy aG9vayAtPg0KPj52bWJ1c19kb2F0dGFjaCAtDQo+Pj4gc21wX3JlbmRlenZvdXMuIE9uICFFQVJM WV9BUF9TVEFSVFVQIChlLmcuLCBhYXJjaDY0KSwgU01QIGlzbid0DQo+Pj4gZnVuY3Rpb25hbCBp bg0KPj5pbnRyaG9va3MgYW5kIHNtcF9yZW5kZXp2b3VzKCkgd2lsbCBqdXN0IGNhbGwgdm1idXNf c3luaWNfc2V0dXAoKSBvbiB0aGUgYm9vdA0KPkFQLg0KPj5UaGVyZSdzIG5vdGhpbmcgdGhhdCB3 aWxsIGluaXRpYWxpemUgdGhlIHBjcHUgZGF0YSBvbiBldmVyeSBvdGhlciBBUCwgQUZBSUNULg0K Pj4NCj4+VGhhdCBzYWlkLCB0aGUgIUVBUkxZX0FQX1NUQVJUVVAgcGF0aCBpcyBhbHNvIHdyb25n LiBRdW90aW5nIGxpbmVzIHRoYXQNCj4+d2VyZW4ndCBpbiB0aGlzIGUtbWFpbCBmcm9tIHZtYnVz X2F0dGFjaCgpOg0KPltTb3VyYWRlZXBdIFRoYW5rcyEgVGhpcyBpcyBhIHJlYWxseSBnb29kIGNh dGNoLCBhbmQgeWVzLCB3ZSBhcmUgbWlzc2luZyB0aGUgc21wDQo+aW5pdGlhbGl6YXRpb24gZHVy aW5nIHZtYnVzIHN5bmljIHNldHVwLg0KPj4NCj4+MTUyNyAjZWxzZSAgIC8qICFFQVJMWV9BUF9T VEFSVFVQICovDQo+PjE1MjggICAgICAgICAvKg0KPj4xNTI5ICAgICAgICAgICogSWYgdGhlIHN5 c3RlbSBoYXMgYWxyZWFkeSBib290ZWQgYW5kIHRocmVhZA0KPj4xNTMwICAgICAgICAgICogc2No ZWR1bGluZyBpcyBwb3NzaWJsZSBpbmRpY2F0ZWQgYnkgdGhlIGdsb2JhbA0KPj4xNTMxICAgICAg ICAgICogY29sZCBzZXQgdG8gemVybywgd2UganVzdCBjYWxsIHRoZSBkcml2ZXINCj4+MTUzMiAg ICAgICAgICAqIGluaXRpYWxpemF0aW9uIGRpcmVjdGx5Lg0KPj4xNTMzICAgICAgICAgICovDQo+ PjE1MzQgICAgICAgICBpZiAoIWNvbGQpDQo+PjE1MzUgICAgICAgICAgICAgICAgIHZtYnVzX2Rv YXR0YWNoKHZtYnVzX3NjKTsNCj4+MTUzNiAjZW5kaWYgLyogRUFSTFlfQVBfU1RBUlRVUCAgYW5k IGFhcmNoNjQgKi8NCj4+DQo+PlRoZSB0d28gaW1tZWRpYXRlIGlzc3VlcyBJIHNlZSBpcyB0aGF0 IGluIGEgZGV2aWNlX2F0dGFjaCwgU01QIHdvbid0IGJlDQo+PnN0YXJ0ZWQuIEl0J3MgYWxzbyBn b2luZyB0byBiZSBiZWZvcmUgU0lfU1VCX0NPTkZJR1VSRSwgc28gYGNvbGRgIHdpbGwNCj4+bmV2 ZXIgYmUgMCBoZXJlIC0tIHRoaXMgaXMgZWZmZWN0aXZlbHkgZGVhZCBjb2RlLCBhbmQgaWYgaXQg d2VyZW4ndA0KPj5kZWFkIGNvZGUgaXQgd291bGQgc3VmZmVyIHRoZSBzYW1lIHByb2JsZW0gYXMg YWJvdmUgd2hlcmUgb3RoZXIgQVBzDQo+PmFyZW4ndCBzdGFydGVkIHlldCBzbyB3ZSB3b24ndCBz ZXQgdGhlaXIgcGNwdSBkYXRhLiBUaGlzIGlzIE9LLCB0aG91Z2gsDQo+PmJlY2F1c2UgdGhlbiB3 ZSBoYXZlIHRoaXMgc3lzaW5pdCBsYXRlciBvbiB0aGF0IGRvZXMgdGhlIHNhbWUgdGhpbmcgZm9y DQo+PiFFQVJMWV9BUF9TVEFSVFVQICYmICFfX2FhcmNoNjRfX2AsIGJ1dCB0aGF0IHNob3VsZCBy ZWFsbHkganVzdCBiZQ0KPj5gIUVBUkxZX0FQX1NUQVJUVVBgIGFzIGFhcmNoNjQgYWxzbyBuZWVk cyB0byBpbnZva2UNCj4+dm1idXNfZG9hdHRhY2goKSBhdCBTSV9TVUJfU01QIChtdWNoIGxhdGVy IHRoYW4gU0lfU1VCX0RSSVZFUlMpLg0KPltTb3VyYWRlZXBdIEkgaGF2ZSB0cmllZCB0byB1c2Ug dGhlIHN1Z2dlc3Rpb24gYnV0IGluIG11bHRpIHByb2Nlc3NvciBzeXN0ZW0gdGhlDQo+Ym9vdCBp cyBnZXR0aW5nIHN0dWNrIGF0IHRoZSBlbmQgYW5kICJ2bWJ1czA6IGRldmljZSBzY2FuLCBwcm9i ZSBhbmQgYXR0YWNoIGRvbmUiDQo+aXMgbm90IGhhcHBlbmluZy4NCj5JIGFtIHRyeWluZyB0byBm aWd1cmUgb3V0IHdoYXQgaXMgZ29pbmcgd3JvbmcgaGVyZSwgYXMgdGhlIHNhbWUgY2hhbmdlIGlz IHdvcmtpbmcNCj53aXRoIHNpbmdsZSBjcHUgc3lzdGVtLiBBbnkgaGVscCBvciBwb2ludGVyIHdp bGwgYmUgcmVhbGx5IGhlbHBmdWwuDQpbU291cmFkZWVwXSAgSSBjYW4gc2VlIHRoZSBwcm9ibGVt IHRoZSB0YXNrIHZtYnVzX3NjYW5kb25lX3Rhc2sgaXMgZ2V0dGluZyBlbnF1ZXVlZCBidXQNCml0 IGlzIG5vdCBnZXR0aW5nIGV4ZWN1dGVkLg0KDQo1MjUgc3RhdGljIHZvaWQNCiA1MjYgdm1idXNf c2Nhbl9kb25lKHN0cnVjdCB2bWJ1c19zb2Z0YyAqc2MsDQogNTI3ICAgICBjb25zdCBzdHJ1Y3Qg dm1idXNfbWVzc2FnZSAqbXNnIF9fdW51c2VkKQ0KIDUyOCB7DQogNTI5ICAgICBkZXZpY2VfcHJp bnRmKHNjLT52bWJ1c19kZXYsICIgdm1idXNfc2Nhbl9kb25lIGlzIGNhbGxlZFxuIik7DQogNTMw DQogNTMxICAgICB0YXNrcXVldWVfZW5xdWV1ZShzYy0+dm1idXNfZGV2dHEsICZzYy0+dm1idXNf c2NhbmRvbmVfdGFzayk7DQogNTMyIH0NCnZtYnVzIHNjYW4gZG9uZSBpcyBnZXR0aW5nIGNhbGxl ZC4NCg0KQnV0IA0KNTE0IHN0YXRpYyB2b2lkDQogNTE1IHZtYnVzX3NjYW5fZG9uZV90YXNrKHZv aWQgKnhzYywgaW50IHBlbmRpbmcgX191bnVzZWQpDQogNTE2IHsNCiA1MTcgICAgIHN0cnVjdCB2 bWJ1c19zb2Z0YyAqc2MgPSB4c2M7DQogNTE4ICAgICBkZXZpY2VfcHJpbnRmKHNjLT52bWJ1c19k ZXYsICIgdm1idXNfc2Nhbl9kb25lX3Rhc2sgaXMgY2FsbGVkXG4iKTsNCiA1MTkgICAgIGJ1c190 b3BvX2xvY2soKTsNCiA1MjAgICAgIHNjLT52bWJ1c19zY2FuZG9uZSA9IHRydWU7DQogNTIxICAg ICBidXNfdG9wb191bmxvY2soKTsNCiA1MjIgICAgIHdha2V1cCgmc2MtPnZtYnVzX3NjYW5kb25l KTsNCiA1MjMgfQ0Kdm1idXNfc2Nhbl9kb25lX3Rhc2sgIGlzIG5vdCBnZXR0aW5nIGNhbGxlZCB0 aGUgdGFzayAuDQoNCkJ1dCB0aGUgc2FtZSBpcyBoYXBwZW5pbmcgd2hlbiBzaW5nbGUgY3B1IGlz IHJ1bm5pbmcsIGZvciBtdWx0aSBjcHUgaXQgaXMgZ2V0dGluZyBzdHVjay4NCj4NCj5Gb3IgeW91 ciByZWZlcmVuY2UgSSBhbSBhdHRhY2hpbmcgdGhlIGRpZmYgaGVyZToNCj4NCj5kaWZmIC0tZ2l0 IGEvc3lzL2Rldi9oeXBlcnYvdm1idXMvdm1idXMuYyBiL3N5cy9kZXYvaHlwZXJ2L3ZtYnVzL3Zt YnVzLmMNCj5pbmRleCBmMzcwZjJhNzViOTkuLjI1NDUyOTc2NDc2MyAxMDA2NDQNCj4tLS0gYS9z eXMvZGV2L2h5cGVydi92bWJ1cy92bWJ1cy5jDQo+KysrIGIvc3lzL2Rldi9oeXBlcnYvdm1idXMv dm1idXMuYw0KPkBAIC0xMTMsNyArMTEzLDcgQEAgc3RhdGljIHVpbnQzMl90ICAgICAgICAgdm1i dXNfZ2V0X3ZjcHVfaWRfbWV0aG9kKGRldmljZV90DQo+YnVzLA0KPiAgICAgICAgICAgICAgICAg ICAgZGV2aWNlX3QgZGV2LCBpbnQgY3B1KTsNCj4gc3RhdGljIHN0cnVjdCB0YXNrcXVldWUgICAg ICAgICp2bWJ1c19nZXRfZXZlbnR0cV9tZXRob2QoZGV2aWNlX3QsIGRldmljZV90LA0KPiAgICAg ICAgICAgICAgICAgICAgaW50KTsNCj4tI2lmIGRlZmluZWQoRUFSTFlfQVBfU1RBUlRVUCkgfHwg ZGVmaW5lZChfX2FhcmNoNjRfXykNCj4rI2lmIGRlZmluZWQoRUFSTFlfQVBfU1RBUlRVUCkgLy98 fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQ0KPiBzdGF0aWMgdm9pZCAgICAgICAgICAgIHZtYnVzX2lu dHJob29rKHZvaWQgKik7DQo+ICNlbmRpZg0KPg0KPkBAIC0xNDkwLDcgKzE0OTAsNyBAQCB2bWJ1 c19ldmVudF9wcm9jX2R1bW15KHN0cnVjdCB2bWJ1c19zb2Z0YyAqc2MNCj5fX3VudXNlZCwgaW50 IGNwdSBfX3VudXNlZCkgIHsgIH0NCj4NCj4tI2lmIGRlZmluZWQoRUFSTFlfQVBfU1RBUlRVUCkg fHwgZGVmaW5lZChfX2FhcmNoNjRfXykNCj4rI2lmIGRlZmluZWQoRUFSTFlfQVBfU1RBUlRVUCkg Ly98fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQ0KPg0KPiBzdGF0aWMgdm9pZA0KPiB2bWJ1c19pbnRy aG9vayh2b2lkICp4c2MpDQo+QEAgLTE1MTksNyArMTUxOSw3IEBAIHZtYnVzX2F0dGFjaChkZXZp Y2VfdCBkZXYpDQo+ICAgICAqLw0KPiAgICB2bWJ1c19zYy0+dm1idXNfZXZlbnRfcHJvYyA9IHZt YnVzX2V2ZW50X3Byb2NfZHVtbXk7DQo+DQo+LSNpZiBkZWZpbmVkKEVBUkxZX0FQX1NUQVJUVVAp IHx8IGRlZmluZWQoX19hYXJjaDY0X18pDQo+KyNpZiBkZWZpbmVkKEVBUkxZX0FQX1NUQVJUVVAp IC8vfHwgZGVmaW5lZChfX2FhcmNoNjRfXykNCj4gICAgLyoNCj4gICAgICogRGVmZXIgdGhlIHJl YWwgYXR0YWNoIHVudGlsIHRoZSBwYXVzZSg5KSB3b3JrcyBhcyBleHBlY3RlZC4NCj4gICAgICov DQo+QEAgLTE1MzMsOCArMTUzMyw4IEBAIHZtYnVzX2F0dGFjaChkZXZpY2VfdCBkZXYpDQo+ICAg ICAqIGNvbGQgc2V0IHRvIHplcm8sIHdlIGp1c3QgY2FsbCB0aGUgZHJpdmVyDQo+ICAgICAqIGlu aXRpYWxpemF0aW9uIGRpcmVjdGx5Lg0KPiAgICAgKi8NCj4tICAgaWYgKCFjb2xkKQ0KPi0gICAg ICAgdm1idXNfZG9hdHRhY2godm1idXNfc2MpOw0KPisgICAvKmlmICghY29sZCkNCj4rICAgICAg IHZtYnVzX2RvYXR0YWNoKHZtYnVzX3NjKTsqLw0KPiAjZW5kaWYgLyogRUFSTFlfQVBfU1RBUlRV UCAgYW5kIGFhcmNoNjQgKi8NCj4NCj4gICAgcmV0dXJuICgwKTsNCj5AQCAtMTU4MCw3ICsxNTgw LDcgQEAgdm1idXNfZGV0YWNoKGRldmljZV90IGRldikNCj4gICAgcmV0dXJuICgwKTsNCj4gfQ0K Pg0KPi0jaWYgIWRlZmluZWQoRUFSTFlfQVBfU1RBUlRVUCkgJiYgIWRlZmluZWQoX19hYXJjaDY0 X18pDQo+KyNpZiAhZGVmaW5lZChFQVJMWV9BUF9TVEFSVFVQKSAvLyYmICFkZWZpbmVkKF9fYWFy Y2g2NF9fKQ0KPg0KPiBzdGF0aWMgdm9pZA0KPiB2bWJ1c19zeXNpbml0KHZvaWQgKmFyZyBfX3Vu dXNlZCkNCj4+DQo+PlRoYW5rcywNCj4+DQo+Pkt5bGUgRXZhbnMNCg== From nobody Tue Apr 25 08:00:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5DvS3DMfz46pc5; Tue, 25 Apr 2023 08:00: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 4Q5DvS2mtpz3kKv; Tue, 25 Apr 2023 08:00:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682409636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ote/GN7EQhqs9XMk4QGdq5p9j0WzhzaYUJvJUpijubI=; b=geUAyRAU4hsVt7RExyJjmpNNjp5RNT6jddwTFPY2OpBqri8c49OwYILSWfKtHmmppDlRa6 Mg/DPU87BXy04PCA/W40VIGAI6bPJS8Cj7CMyRr7sVS9Dm2xDdUWs9Z0JkRhVHOtIrgHL7 Lc33OWTyFBvHQ67L5Ayzif8JttkaGnyW2O0wimxEC2kfrHBOCPHGGkAFUruyRQTGEJeOIG IXZmvUEZ6FfsDwb43nlzyBaLOv2MDK9LPfoqvdcJgZZYJTfDxDyuzHPOfP2sJrX0/vdvQW PWQiAQHGJWlCsSpyC53V8rEw3WYLiDlIzhsOcdxH+bl3+MPTo9/DDk8psac1fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682409636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ote/GN7EQhqs9XMk4QGdq5p9j0WzhzaYUJvJUpijubI=; b=TJx+CS5+4xT9uziLHRALt0waPt6K9tQIjndBQQ3RUh417fJ/A12boFNKMGuBloVt3j0ubq IMbKOM162QRjoOMe/FVD5d3TSf9RQyg3ufjABOXA/nVLaiqXYhx/CawYfmVdSjmczA15TW uoIxy3iB3o9DBm5uusklH6KWb/o9nMqPJipvEpJ4xJVQyes0bhgKHmuawdu1ztLkhGhj3Y GWujwnWm8VKassEU2m8LauIvNyahVIY1g2tES4ByxtaSPa1fM+7++YbLZk9IfCMQHs3fj2 Dyv4OnHtNDS/Br/KNVsyghq37Gk9ewnGv+QTCsfGRY+IxYs7syW2ZFb9i2TLgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682409636; a=rsa-sha256; cv=none; b=R8uIMbBiMHewtX40xcG+JhnY8sK8p/LEfwUFUGzwbghGq9m9NwadMGhp1kBKle+5pZPNqp mGbziGD1EfUw4GQsQUwxmRZ3ojkOMtbHgEKK4Ses94Z7YCzxu2fT1RcNW0dNCgfgrX62ah 2EjXZLvZpg9ckHjcu9PbHVqeCjwDiYcSla7oL8qLXpmUO+xCbShXsryDmpSRAdGTZgmFrb ZHid2SJw2CA1oSomfLEtPBdooJjZuB2TSHIb7COb1CZrYbGE657VlcOx6nnHkefwb4jF7z 0KS3rGEhxR7GzY8YM1CDg7qBqIexLl7K38uuBzfeDWYepmRoJNy9Laoiu9VsWg== 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 4Q5DvS1qlTz105h; Tue, 25 Apr 2023 08:00: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 33P80aoQ091520; Tue, 25 Apr 2023 08:00:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P80a57091519; Tue, 25 Apr 2023 08:00:36 GMT (envelope-from git) Date: Tue, 25 Apr 2023 08:00:36 GMT Message-Id: <202304250800.33P80a57091519@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: 0728695c63ef - main - fs/msdosfs: Fix potential panic and size calculations List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0728695c63efda298feccefb3615c23cb6682929 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=0728695c63efda298feccefb3615c23cb6682929 commit 0728695c63efda298feccefb3615c23cb6682929 Author: Stefan Eßer AuthorDate: 2023-04-25 06:35:16 +0000 Commit: Stefan Eßer CommitDate: 2023-04-25 07:58:29 +0000 fs/msdosfs: Fix potential panic and size calculations Some combinations of FAT12 file system parameters could cause a kernel panic due to an unmapped access if the size of the FAT was larger than the CPU page size. The reason is that FAT12 uses 3 bytes to store 2 FAT pointers, leading to partial FAT pointers at the end of buffers of a size that is not a multiple of 3. With a typical page size of 4 KB, this caused the FAT entry at byte offsets 4095 and 4096 to cross the page boundary, with only the first page mapped. This was fixed by adjusting the mapping to always cover both bytes of each FAT entry. Testing revealed 2 other inconsistencies that are fixed by this commit: 1) The calculation of the size of the data area did not take into account the fact that the first two data block numbers are reserved and that the data area starts with block 2. This could cause a FAT12 file system created with the maximum supported number of blocks to be incorrectly identified as FAT16. 2) The root directory does not take up space in the data area of a FAT12 or FAT16 file system, since it is placed into a reserved area outside of that data area. This commits makes stat() report the logical size of the root directory, but with 0 blocks allocated from the data area. PR: 270587 Reviewed by: mckusick Differential Revision: https://reviews.freebsd.org/D39386 --- sys/fs/msdosfs/msdosfs_fat.c | 12 +++++++++--- sys/fs/msdosfs/msdosfs_vfsops.c | 15 +++++++++------ sys/fs/msdosfs/msdosfs_vnops.c | 7 +++++-- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/sys/fs/msdosfs/msdosfs_fat.c b/sys/fs/msdosfs/msdosfs_fat.c index e6d9b671e7d7..2d50d30f33b3 100644 --- a/sys/fs/msdosfs/msdosfs_fat.c +++ b/sys/fs/msdosfs/msdosfs_fat.c @@ -89,11 +89,17 @@ static void fatblock(struct msdosfsmount *pmp, u_long ofs, u_long *bnp, u_long *sizep, u_long *bop) { - u_long bn, size; + u_long bn, size, fatblocksec; + fatblocksec = pmp->pm_fatblocksec; + if (FAT12(pmp) && fatblocksec % 3 != 0) { + fatblocksec *= 3; + if (fatblocksec % 6 == 0) + fatblocksec /= 2; + } bn = ofs / pmp->pm_fatblocksize * pmp->pm_fatblocksec; - size = min(pmp->pm_fatblocksec, pmp->pm_FATsecs - bn) - * DEV_BSIZE; + size = roundup(min(fatblocksec, pmp->pm_FATsecs - bn) * DEV_BSIZE, + pmp->pm_BlkPerSec * DEV_BSIZE); bn += pmp->pm_fatblk + pmp->pm_curfat * pmp->pm_FATsecs; if (bnp) diff --git a/sys/fs/msdosfs/msdosfs_vfsops.c b/sys/fs/msdosfs/msdosfs_vfsops.c index e2b1fd6b91f5..87e150e0e18a 100644 --- a/sys/fs/msdosfs/msdosfs_vfsops.c +++ b/sys/fs/msdosfs/msdosfs_vfsops.c @@ -700,11 +700,14 @@ mountmsdosfs(struct vnode *odevvp, struct mount *mp) } pmp->pm_maxcluster = (pmp->pm_HugeSectors - pmp->pm_firstcluster) / SecPerClust + 1; - pmp->pm_fatsize = pmp->pm_FATsecs * DEV_BSIZE; /* XXX not used? */ + pmp->pm_fatsize = pmp->pm_FATsecs * DEV_BSIZE; if (pmp->pm_fatmask == 0) { - if (pmp->pm_maxcluster <= ((CLUST_RSRVD - CLUST_FIRST) & - FAT12_MASK)) { + /* + * The last 10 (or 16?) clusters are reserved and must not + * be allocated for data. + */ + if (pmp->pm_maxcluster < (CLUST_RSRVD & FAT12_MASK)) { /* * This will usually be a floppy disk. This size makes * sure that one FAT entry will not be split across @@ -720,11 +723,11 @@ mountmsdosfs(struct vnode *odevvp, struct mount *mp) } } - clusters = (pmp->pm_fatsize / pmp->pm_fatmult) * pmp->pm_fatdiv; + clusters = (pmp->pm_fatsize / pmp->pm_fatmult) * pmp->pm_fatdiv ; if (pmp->pm_maxcluster >= clusters) { #ifdef MSDOSFS_DEBUG printf("Warning: number of clusters (%ld) exceeds FAT " - "capacity (%ld)\n", pmp->pm_maxcluster + 1, clusters); + "capacity (%ld)\n", pmp->pm_maxcluster - 1, clusters); #endif pmp->pm_maxcluster = clusters - 1; } @@ -1045,7 +1048,7 @@ msdosfs_statfs(struct mount *mp, struct statfs *sbp) pmp = VFSTOMSDOSFS(mp); sbp->f_bsize = pmp->pm_bpcluster; sbp->f_iosize = pmp->pm_bpcluster; - sbp->f_blocks = pmp->pm_maxcluster + 1; + sbp->f_blocks = pmp->pm_maxcluster - CLUST_FIRST + 1; sbp->f_bfree = pmp->pm_freeclustercount; sbp->f_bavail = pmp->pm_freeclustercount; sbp->f_files = howmany(pmp->pm_rootdirsize * DEV_BSIZE, diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index f095a4abea62..bc47f9dde574 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -313,8 +313,11 @@ msdosfs_getattr(struct vop_getattr_args *ap) vap->va_flags |= UF_SYSTEM; vap->va_gen = 0; vap->va_blocksize = pmp->pm_bpcluster; - vap->va_bytes = - (dep->de_FileSize + pmp->pm_crbomask) & ~pmp->pm_crbomask; + if (dep->de_StartCluster != MSDOSFSROOT) + vap->va_bytes = + (dep->de_FileSize + pmp->pm_crbomask) & ~pmp->pm_crbomask; + else + vap->va_bytes = 0; /* FAT12/FAT16 root dir in reserved area */ vap->va_type = ap->a_vp->v_type; vap->va_filerev = dep->de_modrev; return (0); From nobody Tue Apr 25 08:00:37 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5DvT4J7Wz46pp2; Tue, 25 Apr 2023 08:00: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 4Q5DvT3rNzz3kWZ; Tue, 25 Apr 2023 08:00:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682409637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r9ofs+Eu+2gi12ZjW7hXECQfKY1cgWqG6QTszk0IS9s=; b=g0gxuNjl4vnsgA6fIVYUuy4Pbzc28FssIB+FsDlctO6Oz3PPnRvK5upjjb5eBiinK4+juH 4DiDbxramglFYewTLceA47lEZjvIZ05OL4unnxPHfz4TIcfm2zkNq5hm1WzmPmIqv0AmmE 0/rBAIRoI7Vcb3uAx9qVV4Vk6ufDkIr0iS/lYKTEok7whCDNFPzvFNUn3fzkFxCNcCDkMz 0y2ne7KSE1yeHgj3kWAbtypmGcTX4W7JtcoJw2q7PpVXIH2m8V4c+O9XawQsvJJlMjzMd7 1JMXLiBhfZNO7Q8gm74u7QguBXRY1zr38jDIhoiuVRC8xwV0RiM1rB2QbnPtJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682409637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r9ofs+Eu+2gi12ZjW7hXECQfKY1cgWqG6QTszk0IS9s=; b=jTqmZ/K1S81vSZN4lgk83byhw6nnwRmQpyuQYuH9B3gt1wLd4wTbWCvedVamudTg/noVrM YqxmGunH4bs31vvbLAa5EwZTEN1N6XORi+fpPNsi+WT9RIrJIBkzInAO/xMIOYOpkIWQgi xgoytVfke+/mARqXJhQahPeppXwZqA03//JHj9FL3UwCmOPvhHGDmD8Pe3EOZhZIknsVcd tLfrQ1gk7o0WI60JsnKZKSoqTUfO/OCt5SWMCPgqKwcXn75SYarI60QVcEGtJcU2qAUUCE kV55CFnHTIIOqaseem4C3AF1eLCMzR6STBuFtaXf/W6DnVS0NyAT2pizj3COOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682409637; a=rsa-sha256; cv=none; b=wD0RqJLmt2BZij9PxV/wvDiO7/XZYK1Eq8qCIa/yWJPg3OAx2aBbo8kEjV7ELKrICymb8H 0h5tzH9MM5zCnuqnVGWvcsfF5U+fuD113vdazxmDlzWrjgulVeVEiMCFS0JfhdW80Vzk3V uJifZSmxQeVfwQJyBC3lgBRCvskgZ11Hq6CGONtAaeafL8Lg1Ei2KX9yHk4XMmIGzmk5q5 mFw4gh6YcHV2xWgF2vjpvuYwQC1ctlvVX2+5TXXurk+7qBDO6DdnYogQqNBk5DorS/1dqC Vi4pttXnKs7/UqvIbJDCshZDtvH4oqrX+7V+TUKmZLBdypBenW/9IGrNXr3l9w== 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 4Q5DvT2VQbz107v; Tue, 25 Apr 2023 08:00: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 33P80bRY091550; Tue, 25 Apr 2023 08:00:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P80b44091549; Tue, 25 Apr 2023 08:00:37 GMT (envelope-from git) Date: Tue, 25 Apr 2023 08:00:37 GMT Message-Id: <202304250800.33P80b44091549@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: 88a795e80c03 - main - sys/fs: do not report blocks allocated for synthetic file systems List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 88a795e80c03ff1d960d830ee273589664ab06cc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=88a795e80c03ff1d960d830ee273589664ab06cc commit 88a795e80c03ff1d960d830ee273589664ab06cc Author: Stefan Eßer AuthorDate: 2023-04-25 07:40:05 +0000 Commit: Stefan Eßer CommitDate: 2023-04-25 07:59:15 +0000 sys/fs: do not report blocks allocated for synthetic file systems The pseudo file systems (devfs, fdescfs, procfs, etc.) report total and available blocks and inodes despite being synthetic with no underlying storage device to which those values could be applied. The current code of these file systems tends to report a fixed number of total blocks but no free blocks, and in the case of procfs, libprocfs, linsysfs also no free inodes. This can be irritating in e.g. the "df" output, since 100% of the resources seem to be in use, but it can also create warnings in monitoring tools used for capacity management. This patch makes these file systems return the same value for the total and free parameters, leading to 0% in use being displayed by "df". Since there is no resource that can be exhausted, this appears to be a sensible result. Reviewed by: mckusick Differential Revision: https://reviews.freebsd.org/D39442 --- sys/fs/devfs/devfs_vfsops.c | 4 ++-- sys/fs/fdescfs/fdesc_vfsops.c | 4 ++-- sys/fs/pseudofs/pseudofs.c | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/fs/devfs/devfs_vfsops.c b/sys/fs/devfs/devfs_vfsops.c index 56297578ec2a..0fac2b68e2e1 100644 --- a/sys/fs/devfs/devfs_vfsops.c +++ b/sys/fs/devfs/devfs_vfsops.c @@ -230,8 +230,8 @@ devfs_statfs(struct mount *mp, struct statfs *sbp) sbp->f_bsize = DEV_BSIZE; sbp->f_iosize = DEV_BSIZE; sbp->f_blocks = 2; /* 1K to keep df happy */ - sbp->f_bfree = 0; - sbp->f_bavail = 0; + sbp->f_bfree = 2; + sbp->f_bavail = 2; sbp->f_files = 0; sbp->f_ffree = 0; return (0); diff --git a/sys/fs/fdescfs/fdesc_vfsops.c b/sys/fs/fdescfs/fdesc_vfsops.c index edc2cdd61847..2961c3bf6224 100644 --- a/sys/fs/fdescfs/fdesc_vfsops.c +++ b/sys/fs/fdescfs/fdesc_vfsops.c @@ -223,8 +223,8 @@ fdesc_statfs(struct mount *mp, struct statfs *sbp) sbp->f_bsize = DEV_BSIZE; sbp->f_iosize = DEV_BSIZE; sbp->f_blocks = 2; /* 1K to keep df happy */ - sbp->f_bfree = 0; - sbp->f_bavail = 0; + sbp->f_bfree = 2; + sbp->f_bavail = 2; sbp->f_files = lim + 1; /* Allow for "." */ sbp->f_ffree = freefd; /* See comments above */ return (0); diff --git a/sys/fs/pseudofs/pseudofs.c b/sys/fs/pseudofs/pseudofs.c index 29071b34bd06..15a714e23bc6 100644 --- a/sys/fs/pseudofs/pseudofs.c +++ b/sys/fs/pseudofs/pseudofs.c @@ -379,10 +379,10 @@ pfs_mount(struct pfs_info *pi, struct mount *mp) vfs_mountedfrom(mp, pi->pi_name); sbp->f_bsize = PAGE_SIZE; sbp->f_iosize = PAGE_SIZE; - sbp->f_blocks = 1; - sbp->f_bfree = 0; - sbp->f_bavail = 0; - sbp->f_files = 1; + sbp->f_blocks = 2; + sbp->f_bfree = 2; + sbp->f_bavail = 2; + sbp->f_files = 0; sbp->f_ffree = 0; return (0); From nobody Tue Apr 25 09:21:57 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5GjK5SNXz46vmK; Tue, 25 Apr 2023 09:21: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 4Q5GjK539Bz3s5p; Tue, 25 Apr 2023 09:21:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682414517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7Ijq0bzKX5jZ7zOolTqj6nSh7fbKqU0l1m0u7KuvIpI=; b=BPNhK86YoLzQtkkzIzLNUyrgHPDQ3c48r/YBegwpGzdcZJlQgUAauq6iT45NW2yYUFSeU2 51BcLh84vICMtvV5OBaSYTmDxkrH0BAJ1TP+rzJTvXz15W6KGpuDWkBQW4ZM/BTLpx+bDI nP6rbY8JuNhNrm3VpyvlQIuQuiFggWOfgSLn+FPAqq6GbInkweWccNskCxtSf+nlqNHMqc vOVkp6hlqeWQ/JJvWZUT9+/HiI8LlUp+p6c6v6xGxYZVuTasdcA545OMFPl6csa534AYAD 0q1aCuTeo3WllfJUMrPpXm4C5zP3YXz0UoJsJra16djDF8ddg4qtclQHpZaZ4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682414517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7Ijq0bzKX5jZ7zOolTqj6nSh7fbKqU0l1m0u7KuvIpI=; b=CmAPQqQKD6aBWDgjTfR1TKX2eGQ1yJA1Fx5CEH7UlH2Q6kgPeP5/JhGhjlXOrDp+U8lYna k7AVxDkJA/zfBUlCd6DBHSfNxjejgZh3JSeMStwguKtCGBDrhggpnwyU+ShV1KeOzTrR2n 7qhxL1qxu/1Zfo7hokRN4Dxt1F06O82dBB26zzUWrhrxEDxxXXcByUIHuGlA5xZ+qpsa9P +aUND1mobJQ33lZd+HssoDjSJmvfjn6YDU7MXMlbxVDOHzV9ck5Q34L1tZWcV4Nc38hC4H M4D1N7RZYeYXyz81C5PwQDQOjEblzd3uwMhM2PByaR03855SGcdhvEUHI2bKSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682414517; a=rsa-sha256; cv=none; b=Xi4ceKvLv7OvR4vhFlKnOA9kOScrLXrXtvhdVP5MWq63LSIIC7e7OxIKTbT9hTWdvgu1RE bRVnUHdZMXdc3e7V/xjBAWoCQ0o5ESk6K96DDFP0GbdZ3pR48ZSC1UroSItF486hjNT82I GTPbkTwgji2Ck1ubvnPWDQEVewenTJWog2eEDS66qeycoSOxJEJgZa3hlkVDBZux6J06WR T317hs0n4ZAIgZabcw5SWZMJn2NIKWrQ59MPO4m5vRQRzyBsSyO54D2TvDK3jqa8lTzG+0 Jxg7JZ4FF78bQgmGdsq15/plC3MltXVWCEBynDOHW9X1jkRLj3CCzs5f5n1w1Q== 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 4Q5GjK46gZz12CB; Tue, 25 Apr 2023 09:21: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 33P9Lv8m030589; Tue, 25 Apr 2023 09:21:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P9Lvdk030588; Tue, 25 Apr 2023 09:21:57 GMT (envelope-from git) Date: Tue, 25 Apr 2023 09:21:57 GMT Message-Id: <202304250921.33P9Lvdk030588@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: ef8397c28e98 - main - bcm5974(4): add Magic Trackpad 2 (USB only) support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef8397c28e981e0115d435aabcf57cee7ea5f5ee Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=ef8397c28e981e0115d435aabcf57cee7ea5f5ee commit ef8397c28e981e0115d435aabcf57cee7ea5f5ee Author: Val Packett AuthorDate: 2023-04-25 09:20:53 +0000 Commit: Vladimir Kondratyev CommitDate: 2023-04-25 09:20:53 +0000 bcm5974(4): add Magic Trackpad 2 (USB only) support The MT2 uses a compact report format, but otherwise is similar in many ways to the internal trackpads, it even uses the same mode switching commands. Reviewed by: wulf MFC after: 1 month Differential revision: https://reviews.freebsd.org/D34437 --- sys/dev/hid/bcm5974.c | 86 +++++++++++++++++++++++++++++++++++++++++++++++++-- sys/dev/usb/usbdevs | 1 + 2 files changed, 84 insertions(+), 3 deletions(-) diff --git a/sys/dev/hid/bcm5974.c b/sys/dev/hid/bcm5974.c index a7f2a076bc94..dc0edc8dd27d 100644 --- a/sys/dev/hid/bcm5974.c +++ b/sys/dev/hid/bcm5974.c @@ -114,11 +114,13 @@ enum tp_type { TYPE2, /* button integrated in trackpad */ TYPE3, /* additional header fields since June 2013 */ TYPE4, /* additional header field for pressure data */ + TYPE_MT2U, /* Magic Trackpad 2 USB */ TYPE_CNT }; /* list of device capability bits */ #define HAS_INTEGRATED_BUTTON 1 +#define USES_COMPACT_REPORT 2 struct tp_type_params { uint8_t caps; /* device capability bitmask */ @@ -150,6 +152,36 @@ struct tp_type_params { .offset = 23 * 2, .delta = 2, }, + [TYPE_MT2U] = { + .caps = HAS_INTEGRATED_BUTTON | USES_COMPACT_REPORT, + .button = 1, + .offset = 12, + .delta = 0, + }, +}; + +/* trackpad finger structure - compact version for external "Magic" devices */ +struct tp_finger_compact { + uint32_t coords; /* not struct directly due to endian conversion */ + uint8_t touch_major; + uint8_t touch_minor; + uint8_t size; + uint8_t pressure; + unsigned int orientation: 3; + unsigned int _unknown1: 1; + unsigned int id: 4; +} __packed; + +_Static_assert((sizeof(struct tp_finger_compact) == 9), "tp_finger struct size must be 9"); + +union tp_finger_compact_coords { + uint32_t num; + struct { + signed int x: 13; + signed int y: 13; + signed int _unknown: 4; + signed int state: 2; + } __packed; }; /* trackpad finger structure - little endian */ @@ -191,6 +223,7 @@ enum { BCM5974_FLAG_WELLSPRING7A, BCM5974_FLAG_WELLSPRING8, BCM5974_FLAG_WELLSPRING9, + BCM5974_FLAG_MAGIC_TRACKPAD2_USB, BCM5974_FLAG_MAX, }; @@ -342,6 +375,15 @@ static const struct bcm5974_dev_params bcm5974_dev_params[BCM5974_FLAG_MAX] = { .o = { SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION, 0 }, }, + [BCM5974_FLAG_MAGIC_TRACKPAD2_USB] = { + .tp = tp + TYPE_MT2U, + .p = { SN_PRESSURE, 0, 256, 256 }, + .w = { SN_WIDTH, 0, 2048, 0 }, + .x = { SN_COORD, -3678, 3934, 48 }, + .y = { SN_COORD, -2478, 2587, 44 }, + .o = { SN_ORIENT, + -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION, 0 }, + }, }; #define BCM5974_DEV(v,p,i) { \ @@ -415,6 +457,9 @@ static const struct hid_device_id bcm5974_devs[] = { BCM5974_DEV(APPLE, WELLSPRING9_ANSI, BCM5974_FLAG_WELLSPRING9), BCM5974_DEV(APPLE, WELLSPRING9_ISO, BCM5974_FLAG_WELLSPRING9), BCM5974_DEV(APPLE, WELLSPRING9_JIS, BCM5974_FLAG_WELLSPRING9), + + /* External "Magic" devices */ + BCM5974_DEV(APPLE, MAGIC_TRACKPAD2, BCM5974_FLAG_MAGIC_TRACKPAD2_USB), }; struct bcm5974_softc { @@ -550,6 +595,7 @@ bcm5974_set_device_mode(struct bcm5974_softc *sc, bool on) case TYPE3: /* Type 3 does not require a mode switch */ break; case TYPE4: + case TYPE_MT2U: err = bcm5974_set_device_mode_hid(sc, on); break; default: @@ -636,8 +682,10 @@ bcm5974_attach(device_t dev) BCM5974_ABS(sc->sc_evdev, ABS_MT_TOUCH_MAJOR, sc->sc_params->w); BCM5974_ABS(sc->sc_evdev, ABS_MT_TOUCH_MINOR, sc->sc_params->w); /* finger approach area */ - BCM5974_ABS(sc->sc_evdev, ABS_MT_WIDTH_MAJOR, sc->sc_params->w); - BCM5974_ABS(sc->sc_evdev, ABS_MT_WIDTH_MINOR, sc->sc_params->w); + if ((sc->sc_params->tp->caps & USES_COMPACT_REPORT) == 0) { + BCM5974_ABS(sc->sc_evdev, ABS_MT_WIDTH_MAJOR, sc->sc_params->w); + BCM5974_ABS(sc->sc_evdev, ABS_MT_WIDTH_MINOR, sc->sc_params->w); + } /* finger orientation */ BCM5974_ABS(sc->sc_evdev, ABS_MT_ORIENTATION, sc->sc_params->o); /* button properties */ @@ -649,7 +697,8 @@ bcm5974_attach(device_t dev) 0, MAX_FINGERS - 1, 0, 0, 0); evdev_support_abs(sc->sc_evdev, ABS_MT_TRACKING_ID, -1, MAX_FINGERS - 1, 0, 0, 0); - evdev_set_flag(sc->sc_evdev, EVDEV_FLAG_MT_TRACK); + if ((sc->sc_params->tp->caps & USES_COMPACT_REPORT) == 0) + evdev_set_flag(sc->sc_evdev, EVDEV_FLAG_MT_TRACK); evdev_set_flag(sc->sc_evdev, EVDEV_FLAG_MT_AUTOREL); /* Synaptics compatibility events */ evdev_set_flag(sc->sc_evdev, EVDEV_FLAG_MT_STCOMPAT); @@ -694,12 +743,17 @@ bcm5974_intr(void *context, void *data, hid_size_t len) const struct bcm5974_dev_params *params = sc->sc_params; union evdev_mt_slot slot_data; struct tp_finger *f; + struct tp_finger_compact *fc; + union tp_finger_compact_coords coords; int ntouch; /* the finger number in touch */ int ibt; /* button status */ int i; int slot; uint8_t fsize = sizeof(struct tp_finger) + params->tp->delta; + if ((params->tp->caps & USES_COMPACT_REPORT) != 0) + fsize = sizeof(struct tp_finger_compact) + params->tp->delta; + if ((len < params->tp->offset + fsize) || ((len - params->tp->offset) % fsize) != 0) { DPRINTFN(BCM5974_LLEVEL_INFO, "Invalid length: %d, %x, %x\n", @@ -711,6 +765,32 @@ bcm5974_intr(void *context, void *data, hid_size_t len) ntouch = (len - params->tp->offset) / fsize; for (i = 0, slot = 0; i != ntouch; i++) { + if ((params->tp->caps & USES_COMPACT_REPORT) != 0) { + fc = (struct tp_finger_compact *)(((uint8_t *)data) + + params->tp->offset + params->tp->delta + i * fsize); + coords.num = le32toh(fc->coords); + DPRINTFN(BCM5974_LLEVEL_INFO, + "[%d]ibt=%d, taps=%d, x=%5d, y=%5d, state=%4d, " + "tchmaj=%4d, tchmin=%4d, size=%4d, pressure=%4d, " + "ot=%4x, id=%4x\n", + i, ibt, ntouch, coords.x, coords.y, + fc->state, fc->touch_major, fc->touch_minor, fc->size, + fc->pressure, fc->orientation, fc->id); + if (fc->touch_major == 0) + continue; + slot_data = (union evdev_mt_slot) { + .id = fc->id, + .x = coords.x, + .y = params->y.min + params->y.max - coords.y, + .p = fc->pressure, + .maj = fc->touch_major << 2, + .min = fc->touch_minor << 2, + .ori = -fc->orientation, + }; + evdev_mt_push_slot(sc->sc_evdev, slot, &slot_data); + slot++; + continue; + } f = (struct tp_finger *)(((uint8_t *)data) + params->tp->offset + params->tp->delta + i * fsize); DPRINTFN(BCM5974_LLEVEL_INFO, diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs index 54f0a4ace3a2..3af37f74a8b9 100644 --- a/sys/dev/usb/usbdevs +++ b/sys/dev/usb/usbdevs @@ -1193,6 +1193,7 @@ product APPLE WELLSPRING8_JIS 0x0292 Apple Internal Keyboard/Trackpad product APPLE WELLSPRING9_ANSI 0x0272 Apple Internal Keyboard/Trackpad product APPLE WELLSPRING9_ISO 0x0273 Apple Internal Keyboard/Trackpad product APPLE WELLSPRING9_JIS 0x0274 Apple Internal Keyboard/Trackpad +product APPLE MAGIC_TRACKPAD2 0x0265 Apple Magic Trackpad 2 product APPLE MOUSE 0x0301 Mouse M4848 product APPLE OPTMOUSE 0x0302 Optical mouse product APPLE MIGHTYMOUSE 0x0304 Mighty Mouse From nobody Tue Apr 25 09:21:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5GjL75XSz46vcy; Tue, 25 Apr 2023 09:21: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 4Q5GjL5wtvz3sFr; Tue, 25 Apr 2023 09:21:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682414518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i0vp1K/ASFjLSByqehs9Wc2fKBhZWUlHybHlEXRQQqc=; b=Fc5jAnrKPatjGWRtPZXhJcnL3RraDYqZ4YgxgDfn4NK4P238Eb143FquvllSRun4x6GuKG IrsBGn0Cjzr2W0UgPqUg7N02PkdwajG3cHdpFuNHUlc9EHF6KTC6LHlwWzrvnLKKrs/hCW 6qwf34zS8sLLZqpXG+tt79ItsZFTEBCZsHbi+THoXwT685pxWdi/UUit3fnIFRgCsuQCBF R1nhNRwZCVOrgGdWdGnS5yyUSYd3+QEEmpJvRdsPHvcKJE5MSsqWECqLis42oenrJTelnO wnRAWh0WSt2Ri935QlpHHUFP3WmQJnBpxYDDtlkFocVO2QjY9O4LbObFFdWxpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682414518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i0vp1K/ASFjLSByqehs9Wc2fKBhZWUlHybHlEXRQQqc=; b=Ao/+0m4cXDlwwoOYPP9c4AebcoZRxM01rArJ2j3kUUSzDtUHU6b5E9y+EfbQ/eaAbBUhAl 8kgWdvKPHG8aUnrQ8lSeZCnXgtMVVkDDjKkIpJo8dqxmIo5sd57ZYjuxCfmdodKgPlgFEn bufUzVuB9pXr9YmQ6AifUWDS6i5aSIci54JZRnpw0BlKcJGAweVCrREfLjYuuWxuY/I/AY u+o5ps8w6D9egQ1CwU6Py6mrGFZhNO/ZaS8n/umfwsgMhNythQzRHRzHOGVXbD/xM7cs/q 4sJSWrPQ3rLszXX36W4UrWdj7hxO13+uCfFyfrc3gg8TDhEZHnXjsS75iSbt3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682414518; a=rsa-sha256; cv=none; b=Sv4gGnu1zKEQ8JPovLUHdviyrWCM4k6BV06UIhXnM6HvQ7wTlTL/XZqPhww3GXaC1KVpW0 hPsOBxjYRXswHCGYC5AMS/oklFsROZHhhDBLMq3EmsYT0NW3CXy9UESBSRy8/q1QW66HNd eksXl741pLs4D/esmCwegAUx/SNMwLd0m9tuWQXbDv5ctjll15LPsV0q4aAdHuRRe/Ar+I Q0oVt1IFYlTQHjlA/z0XImtiY0Uxvzg7gPqNPaSJaebKyP4pmrToiP60ROtuDINxU2gybv RKZ4pQ4QDrpSr3bzpUGrZ9rqb+AZ8JxYrgywmjFDIYxcrEfm3qk1w2it66lynA== 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 4Q5GjL524wz11g3; Tue, 25 Apr 2023 09:21: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 33P9LwHN030617; Tue, 25 Apr 2023 09:21:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P9LwV4030616; Tue, 25 Apr 2023 09:21:58 GMT (envelope-from git) Date: Tue, 25 Apr 2023 09:21:58 GMT Message-Id: <202304250921.33P9LwV4030616@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 19c804b74f67 - main - bcm5974(4): Make Magic Trackpad 2 support endian-safe. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 19c804b74f67b08aad6315c0f47839d56e52caa5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=19c804b74f67b08aad6315c0f47839d56e52caa5 commit 19c804b74f67b08aad6315c0f47839d56e52caa5 Author: Vladimir Kondratyev AuthorDate: 2023-04-25 09:20:53 +0000 Commit: Vladimir Kondratyev CommitDate: 2023-04-25 09:20:53 +0000 bcm5974(4): Make Magic Trackpad 2 support endian-safe. While here make touch orientation event matching with Linux MFC after: 1 month --- sys/dev/hid/bcm5974.c | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/sys/dev/hid/bcm5974.c b/sys/dev/hid/bcm5974.c index dc0edc8dd27d..b403aa115523 100644 --- a/sys/dev/hid/bcm5974.c +++ b/sys/dev/hid/bcm5974.c @@ -167,23 +167,11 @@ struct tp_finger_compact { uint8_t touch_minor; uint8_t size; uint8_t pressure; - unsigned int orientation: 3; - unsigned int _unknown1: 1; - unsigned int id: 4; + uint8_t id_ori; } __packed; _Static_assert((sizeof(struct tp_finger_compact) == 9), "tp_finger struct size must be 9"); -union tp_finger_compact_coords { - uint32_t num; - struct { - signed int x: 13; - signed int y: 13; - signed int _unknown: 4; - signed int state: 2; - } __packed; -}; - /* trackpad finger structure - little endian */ struct tp_finger { uint16_t origin; /* zero when switching track finger */ @@ -381,8 +369,7 @@ static const struct bcm5974_dev_params bcm5974_dev_params[BCM5974_FLAG_MAX] = { .w = { SN_WIDTH, 0, 2048, 0 }, .x = { SN_COORD, -3678, 3934, 48 }, .y = { SN_COORD, -2478, 2587, 44 }, - .o = { SN_ORIENT, - -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION, 0 }, + .o = { SN_ORIENT, -3, 4, 0 }, }, }; @@ -744,7 +731,7 @@ bcm5974_intr(void *context, void *data, hid_size_t len) union evdev_mt_slot slot_data; struct tp_finger *f; struct tp_finger_compact *fc; - union tp_finger_compact_coords coords; + int coords; int ntouch; /* the finger number in touch */ int ibt; /* button status */ int i; @@ -768,24 +755,26 @@ bcm5974_intr(void *context, void *data, hid_size_t len) if ((params->tp->caps & USES_COMPACT_REPORT) != 0) { fc = (struct tp_finger_compact *)(((uint8_t *)data) + params->tp->offset + params->tp->delta + i * fsize); - coords.num = le32toh(fc->coords); + coords = (int)le32toh(fc->coords); DPRINTFN(BCM5974_LLEVEL_INFO, "[%d]ibt=%d, taps=%d, x=%5d, y=%5d, state=%4d, " "tchmaj=%4d, tchmin=%4d, size=%4d, pressure=%4d, " "ot=%4x, id=%4x\n", - i, ibt, ntouch, coords.x, coords.y, - fc->state, fc->touch_major, fc->touch_minor, fc->size, - fc->pressure, fc->orientation, fc->id); + i, ibt, ntouch, coords << 19 >> 19, + coords << 6 >> 19, (u_int)coords >> 30, + fc->touch_major, fc->touch_minor, fc->size, + fc->pressure, fc->id_ori >> 5, fc->id_ori & 0x0f); if (fc->touch_major == 0) continue; slot_data = (union evdev_mt_slot) { - .id = fc->id, - .x = coords.x, - .y = params->y.min + params->y.max - coords.y, + .id = fc->id_ori & 0x0f, + .x = coords << 19 >> 19, + .y = params->y.min + params->y.max - + ((coords << 6) >> 19), .p = fc->pressure, .maj = fc->touch_major << 2, .min = fc->touch_minor << 2, - .ori = -fc->orientation, + .ori = (int)(fc->id_ori >> 5) - 4, }; evdev_mt_push_slot(sc->sc_evdev, slot, &slot_data); slot++; From nobody Tue Apr 25 09:23:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5Gl73N0gz46vmf; Tue, 25 Apr 2023 09:23: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 4Q5Gl72bw2z3tBq; Tue, 25 Apr 2023 09:23:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682414611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fTjrDHVUzihcuMfHDw8LQWX+Qpedl7warVRPnUIWhjw=; b=uvv9HeQNBF3vJQvnYLimpL24hBLCZ9hOtGEOZM9ybX+IvniLURZUObLPqzM1M66+klkir0 SPWWhICaf6tULW8cZS7y8Br+rQjsf2Wdxsvo5Xleq4DMT64oUx6oT8LrQ3xqEmSvmxcgmS JrDCMyf6fKfQLWuBmoikZfM8iGZqbfJe+Hhjh2zNHLqJAxTfqOh2M2VyW7a/PURZixi7dI 93i3gvgiWuQwB4YDnXopQY/jZHzhmoS29VaL8gEose0yfdPHsbirzdaderqjX+SMZWUxiC VZwB8hE8TVXBrBtHkXfRA9m36GPNmbHA5RZP7gTL4j4WMk8+1xnHGH+lEQAqSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682414611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fTjrDHVUzihcuMfHDw8LQWX+Qpedl7warVRPnUIWhjw=; b=elt7kVxqaLG7TDHrmxw6Iwq7bnEZb8rl+v3H7eKfA8mLOl4PFE9owfYoeLA4XKSUtZo3uh EIZUQdqcgBe0P6RMpSn0xjEz5UMLUtbGO++9h9p6C2+urTjEYXDow7dcktahxSvOu4BCQE lx9cg4RBjS2Ko5wG1zWpWeWigQH6dSgIt0j4y9KMFfioliTmB7/lBPB5v46Ah0Sc8VEAAh jJrHeT5Xcvg1RfnIuWOsa6vbC8WAFw6yACcXdy7O1bqMZBlWcMWr6yf+bzxFqCvlPxltDS tTdZExTWK+R0E0cA+1JfKxIhOnJqguPo1k0bKfSgk8Es8uZizp8DZujZXb3CBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682414611; a=rsa-sha256; cv=none; b=HmGBhaUxpBmnJK0PCDtSGZkzcZDh/SMR2ZwrkohrdwKkAOJh/BkXCM/uUMogqEohQjkvan dPapNFuIJxsmHGLZ1/m69Rn7poxcXtU6GnZUWLiXzZlWGUZRjZfrbl/tDzpGmMBDuVFG9B R3RIV7oD7jQbYIJFteOaliwGnRt/CXPfj8AmyyPSmDD0S4hnOnIICWRAYPlOHHF2CVAQxi jS+baWq7JXEl/DQw+3c3QsRXdjDfeNGf6S9QaARxZS8pDwPPK6RFczRdxnOSRnCePUvc0N /VozDFbcoaAgs6x6DWr+0gQCs0PuLDJnzod70kgD7agpZvvvo8bLGH2NlhBV8g== 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 4Q5Gl71h5qz12Yb; Tue, 25 Apr 2023 09:23: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 33P9NVME031008; Tue, 25 Apr 2023 09:23:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P9NV49031007; Tue, 25 Apr 2023 09:23:31 GMT (envelope-from git) Date: Tue, 25 Apr 2023 09:23:31 GMT Message-Id: <202304250923.33P9NV49031007@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: 6a9c2e63be23 - main - Add padding for future use on arm64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6a9c2e63be235c046b86804166449ebecc27f429 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=6a9c2e63be235c046b86804166449ebecc27f429 commit 6a9c2e63be235c046b86804166449ebecc27f429 Author: Andrew Turner AuthorDate: 2023-04-24 16:18:47 +0000 Commit: Andrew Turner CommitDate: 2023-04-25 09:23:15 +0000 Add padding for future use on arm64 Allow new features to be supported without changing the size of existing structures. Reviewed by: kib Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39777 --- sys/arm64/arm64/machdep.c | 4 ++-- sys/arm64/include/pcb.h | 2 +- sys/arm64/include/pmap.h | 1 + sys/arm64/include/proc.h | 2 ++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 8d2e2f81d1d8..c390269f419a 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -104,10 +104,10 @@ __FBSDID("$FreeBSD$"); #include -_Static_assert(sizeof(struct pcb) == 1216, "struct pcb is incorrect size"); +_Static_assert(sizeof(struct pcb) == 1248, "struct pcb is incorrect size"); _Static_assert(offsetof(struct pcb, pcb_fpusaved) == 136, "pcb_fpusaved changed offset"); -_Static_assert(offsetof(struct pcb, pcb_fpustate) == 160, +_Static_assert(offsetof(struct pcb, pcb_fpustate) == 192, "pcb_fpustate changed offset"); enum arm64_bus arm64_bus_method = ARM64_BUS_NONE; diff --git a/sys/arm64/include/pcb.h b/sys/arm64/include/pcb.h index 35f04787c781..85c92727ca43 100644 --- a/sys/arm64/include/pcb.h +++ b/sys/arm64/include/pcb.h @@ -67,7 +67,7 @@ struct pcb { /* The bits passed to userspace in get_fpcontext */ #define PCB_FP_USERMASK (PCB_FP_STARTED) u_int pcb_vfpcpu; /* Last cpu this thread ran VFP code */ - uint64_t pcb_pad2; + uint64_t pcb_reserved[5]; /* * The userspace VFP state. The pcb_fpusaved pointer will point to diff --git a/sys/arm64/include/pmap.h b/sys/arm64/include/pmap.h index 8e3e81f2a5d3..bf387c9cf25b 100644 --- a/sys/arm64/include/pmap.h +++ b/sys/arm64/include/pmap.h @@ -95,6 +95,7 @@ struct pmap { struct asid_set *pm_asid_set; /* The ASID/VMID set to use */ enum pmap_stage pm_stage; int pm_levels; + uint64_t pm_reserved[4]; }; typedef struct pmap *pmap_t; diff --git a/sys/arm64/include/proc.h b/sys/arm64/include/proc.h index 9a22fe43833a..eb5fe806088a 100644 --- a/sys/arm64/include/proc.h +++ b/sys/arm64/include/proc.h @@ -63,6 +63,8 @@ struct mdthread { struct { struct ptrauth_key apia; } md_ptrauth_kern; + + uint64_t md_reserved[4]; }; struct mdproc { From nobody Tue Apr 25 09:42:37 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5H992P1tz46wmG; Tue, 25 Apr 2023 09:42: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 4Q5H991wpGz3w7H; Tue, 25 Apr 2023 09:42:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682415757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ufNL9IcLFTPLVT1x65iFbZhGAJ16RL4rdOEIYFFKDLg=; b=VCULX5MFVdfOXESRgq7bij4jpNaGvJOtB2mAN9xL9WSItdBng8YEeHxk1yI6jVEidHxJbo /ryiB3BGFlhaw/ue1LaT8Pli2Lm3pmN4d59i0tRUYUVPbN8YfHzS+tK2QBozAiKzCS2TF1 xBrSzKKSCWNYXg2Hj2pq/cxgB7PhBscFs1WkRHgotPnWxzVMkDdhDqaqCfz7Wr0SZ0w+22 numoRXJ697ggkZgjLnYTRhNieL/l5QSyiP5MWfVMkw/t9yvB28ISQg/WkiGJEfGjlgwT/9 t9xSDpuGyM0615RkZKivrzVpEM8KQ9BWgDROPcHRkkacTK/XbVHVncS76sdt1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682415757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ufNL9IcLFTPLVT1x65iFbZhGAJ16RL4rdOEIYFFKDLg=; b=y2KNoZH9XQL3I/YgvG0O/4gvhqpe0t9+eTw2MsfUGxCm10iPXep3AVgAOn+gszWBoVc2Bm rcz5jtkN8d7UjdtVsEwskbj1I25yvlbmqjMpPkLC5G1YJJb23ZkNR4PCRXkd9dUxYZIcwM gKBrkHpIM1V6NBSGYJ0B1GsDginqTE0Bynx+UGHTibrCP3Pt7/SE809UJtXhxicsH0g6HD nDAzHBBmMyaXjQMYBM232OYMo7TV90e5I1yJIP5eZP0txA0TrFdAzj5jyvHb7UnTzDXYUd lMdrG2aHJ2+2z0U6iTrn0AmIsevwTzzToNVfbKffZ2x91a+MPNpyuYr1HvZzdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682415757; a=rsa-sha256; cv=none; b=VK+JaDGXX4RlMP024beC4PxI9i53/L6sHUmvJnJ5zCI2DG3Jkjb4U3nJefsSZt8lZ61vcz SO+4XarYN4X8E2PukyHFdtYm0o+n2b03RoSQ9/OYhs/kM+fqCI/W/QJOZeOG5OMbzMTL5w OivO3RTnfjKlk2Hg3W1TlKK1ewDAU/5TF5Tm8jsm1DNj0n4NxdXTLZcSbVQARnzDIwP5o+ aB1zwNkz8SFVGyeK/Mg9hdO8s3LyylNIeAKd5nht3yIDIFloqBa9mu3wgpRP6B9NSiszUx zZdxf3Ao8DqSJHg+VB/SC9gZfmjkoQg6KZNkACu49rUwqYf3v1o+Z82WVJsTPw== 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 4Q5H990zhyz12M8; Tue, 25 Apr 2023 09:42: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 33P9gb62063133; Tue, 25 Apr 2023 09:42:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33P9gbsi063132; Tue, 25 Apr 2023 09:42:37 GMT (envelope-from git) Date: Tue, 25 Apr 2023 09:42:37 GMT Message-Id: <202304250942.33P9gbsi063132@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: 883a49e5a1f3 - main - stress2: Update the exclude list List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 883a49e5a1f323f5e1fd268f5ce816e2cd00f09b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=883a49e5a1f323f5e1fd268f5ce816e2cd00f09b commit 883a49e5a1f323f5e1fd268f5ce816e2cd00f09b Author: Peter Holm AuthorDate: 2023-04-25 09:42:04 +0000 Commit: Peter Holm CommitDate: 2023-04-25 09:42:04 +0000 stress2: Update the exclude list --- tools/test/stress2/misc/all.exclude | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/tools/test/stress2/misc/all.exclude b/tools/test/stress2/misc/all.exclude index 6b25a2c4ea11..36ff8790a4c8 100644 --- a/tools/test/stress2/misc/all.exclude +++ b/tools/test/stress2/misc/all.exclude @@ -63,18 +63,13 @@ swapoff3.sh Excessive OOM killing 20220403 swapoff5.sh log0005.txt, known issue 20210111 systrace.sh WiP 20200227 systrace2.sh WiP 20200227 -syzkaller15.sh WiP 20200712 -syzkaller16.sh WiP 20210722 -syzkaller25.sh WiP 20201116 -syzkaller27.sh watchdogd fires 20220512 -syzkaller28.sh WiP 20201120 -syzkaller50.sh panic: Assertion done != job_total_nbytes failed at ... 20220405 -syzkaller54.sh panic: td 0xfffffe014f7193a0 is not suspended 20220527 +syzkaller16.sh zonelimit issue 20210722 +syzkaller28.sh panic: About to free ctl:0x... so:0x... and its in 1 20201120 +syzkaller31.sh panic: Bad tailq NEXT(0xfffffe01a0899430->tqh_last) != NULL 20220420 syzkaller55.sh panic: Counter goes negative 20220525 syzkaller59.sh Page fault 20220625 -syzkaller65.sh Waiting for fix 20230318 +syzkaller65.sh panic: in_pcblookup_hash_locked: invalid local address 20230318 truss3.sh WiP 20200915 -unionfs9.sh https://people.freebsd.org/~pho/stress/log/log0404.txt 20230110 # Test not to run for other reasons: From nobody Tue Apr 25 10:22:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5J3V2HnSz46yxt; Tue, 25 Apr 2023 10:22: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 4Q5J3V1m7hz40Nd; Tue, 25 Apr 2023 10:22:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682418166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8P6kMm0CJZz+REzebgD0F2k1bVDYHebglZIOlbVx2jY=; b=w0M6iK1OpegxzVwZEtPk9bfRfPhYHQ8xrO2T6FfZwVD3tecnQKB9eXnUrvEmDA1cDM+2iQ dGO5t6xDnKClc7OSgWNyHULNcPyFUa3ShBSbKkFODJ7N7vFLrJuVVN74hVsVPqO5ASM5Ka hFUfZ8gisUYZwOJVWMA4pI9hTH0Cyx/usrpTSt9Daj2e5iU0ON8rgGxWCaxKipdLhzbrI1 HPvizjJLaFVefba5sTZlzeI8fNOBtVdl9V/5wVy42DczoNLbPIkjPjXmhusoIr+AWAiBiz Z2IGCQG2uNtAcm+krWYIVFUI/FZxBdHr8BjDb7ONDeCvZdZ/WAbIwYI5QwJBpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682418166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8P6kMm0CJZz+REzebgD0F2k1bVDYHebglZIOlbVx2jY=; b=MoDyDD7c0LFpE8299aUczBhRpfPaKs/9VPf+NFXcvT/crW6cUat/HPIOwSEX1HKtZ9Q9x+ OCNMtwS4N9VgVSckviKFFdeGz4syDF2j5qDdW2d3MKHa5oXPdeH0uwFebI5mz+ojTXbt2Y jJNvftpGYPKvlBgIn8nHVBn7tDMWfX4MLgGitmIcJSvQAEUVTdES7IG5QYhpeNTEAm6Lld BnhU464WWkFiGV1rpGoYFWLAi1K2SQGuR4HqlZr+qmyGRRmAXu9zeqshdycQpTjw5mtUkG gllSu11R21Xs6/ZE0Ka4f37JIvl2I4ZGojdanzPywHboiBU6R+8bJg5YJCNiMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682418166; a=rsa-sha256; cv=none; b=WXDvPNUeYJXIoQ286yxLg1CwG1V68fxXxocqUFtPCr4xh18Wo11Dku0A3e/MkguJwp0vMC /RN661CRh0jwIz60AaaPsjv1Yj7sOiuSRW6dKk5O6hWWelXvLw4F5VFHFjBj/UBAWn0r4a ABXSHSaMUiOkpYv5z72AgXC3prg9uo7QmEcZLlg3Iady4D6Aug3RKnmbd+/0m7bMjbiEjg Y4PGPGNg1knYblf/aePbLzjFOG4+WLuYSonPeQ/Wr14ej4i5BDdam3oO7GNTB+umUTY3je iZ4upBhqei4fcQZfS20w62mtgbyzri7HEoQutBkUxPd748MOjPH2pNocDKTcPQ== 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 4Q5J3V0qKtz13cy; Tue, 25 Apr 2023 10:22: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 33PAMkfq028933; Tue, 25 Apr 2023 10:22:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PAMkUT028932; Tue, 25 Apr 2023 10:22:46 GMT (envelope-from git) Date: Tue, 25 Apr 2023 10:22:46 GMT Message-Id: <202304251022.33PAMkUT028932@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 6f96b5487f43 - main - elf.5: Fix conjugation of holds List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6f96b5487f4359199ceb8339d2d7063e2249f538 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=6f96b5487f4359199ceb8339d2d7063e2249f538 commit 6f96b5487f4359199ceb8339d2d7063e2249f538 Author: Zhenlei Huang AuthorDate: 2023-04-25 10:21:52 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-25 10:21:52 +0000 elf.5: Fix conjugation of holds MFC after: 1 week --- share/man/man5/elf.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man5/elf.5 b/share/man/man5/elf.5 index 9a004bb3d08a..d449355451dd 100644 --- a/share/man/man5/elf.5 +++ b/share/man/man5/elf.5 @@ -1022,7 +1022,7 @@ This section is of type The attribute used is .Sy SHF_ALLOC . .It .rodata1 -This section hold read-only data that typically contributes to a +This section holds read-only data that typically contributes to a non-writable segment in the process image. This section is of type .Sy SHT_PROGBITS . From nobody Tue Apr 25 11:15:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5KDJ4xgkz473kM; Tue, 25 Apr 2023 11:15: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 4Q5KDJ2fVmz45Pl; Tue, 25 Apr 2023 11:15:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o5zH/HI0Y4DlGOlQdYrnPhNfSUX6DHKcSpUOBb8qVRM=; b=btqUw0lkMPZKgrquPzgkgEFG3japFHSVqMjCjhM+S2uvdHmDdT4UWzh9f5PnOXaIUEAV64 sUbUTgOYmz6xf8jTrJKTTTpyeHSQVlc7+wxxxBn8r5Rh42kiNwk9CBPKoMmK4dUeHAH/qx NTFQvf/63TySv1Spf3WCTeNiEwdl1hRXQ6ETlYpPb7T+E3VsndZvs4lP/rUW/Q+Iq9w1uI B6/pV6CBMK7GwLn5p+uOm/fucWFFgvoXn1wGg6IIJO7jLmS3cyXQ07fNJ3iJFMnC++WaY7 gBeYAV6zSAcXpb61QfbN8qj7x6/ET/mMt23DASDCnAKee2njvRKzkT0x7jBbnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o5zH/HI0Y4DlGOlQdYrnPhNfSUX6DHKcSpUOBb8qVRM=; b=By1NtRuNF90pI0u57p4fKbOms/VZIa8DyA7vfHpaD9SofXL/sXTIj1Dr1JldFk3v3eONej Ywuj2yLoWimcAOpKY/VGkPxR2cw19Q7LzXBINW/11tzY1hj7Nx58msqo7HaqAnDf7Gm3px Z7e1lP8HMJ6Gam5Q2FjPmpTgYGaV82QiRg09sHT9Z6dGmeSuQjU2cL2eXIH0oap4zgFyCd WV+bT9ezGIuNrimWxEWBb6sNqGgbvKWV65z0qqPdA+ipQVyRb9kb+rSlBbJmULqFFagnGk VMtHE9c6laxiqI82War1kqeMGL2cR35GPqx4fHBd48uDTeAwlCEjOvNxvAGtAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682421328; a=rsa-sha256; cv=none; b=WJ3LVjm8RHauEvr0cAkqbUes1RnRIqyRIDqDcCorEsUKAyzN+tAOdbx3Bz4pDquwlelg03 8nqZrLQgT7t8Vh6oUAUpN+AWdOhPbLJDOhDZRQV3jjBkc+PMfBuROj/5MvUpjFHK+vyz7H vjcm4NqFz8ZSN8BdRdXyN2inf6iM85pHhR0YBzcepfn1/qQznlEyJAcurNhQRF8CTBBn0p WIWp2hM3JDiK/oBcpDY8cOXNJG3ywR2/PlB8UvFFHYhRehgi/7AZv1P3PNSf0NY0qtMfoA q9cAlUoJ0T47O0CLQcqM9IjwxT3nHx33TkRdrLwnn8UFO99M72x5U+LVAJSBpg== 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 4Q5KDH73tNz1593; Tue, 25 Apr 2023 11:15: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 33PBFROS012681; Tue, 25 Apr 2023 11:15:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PBFRg5012680; Tue, 25 Apr 2023 11:15:27 GMT (envelope-from git) Date: Tue, 25 Apr 2023 11:15:27 GMT Message-Id: <202304251115.33PBFRg5012680@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: fd1aa866eb22 - main - routing: add rt_tables_get_rnh_safe() that doesn't panic when af/fib is incorrect. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fd1aa866eb22bcaa01dbedfbe7778c29c0c2fa25 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=fd1aa866eb22bcaa01dbedfbe7778c29c0c2fa25 commit fd1aa866eb22bcaa01dbedfbe7778c29c0c2fa25 Author: Alexander V. Chernikov AuthorDate: 2023-04-25 10:53:51 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 10:53:51 +0000 routing: add rt_tables_get_rnh_safe() that doesn't panic when af/fib is incorrect. MFC after: 2 weeks --- sys/net/route/route_ctl.h | 2 ++ sys/net/route/route_tables.c | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/sys/net/route/route_ctl.h b/sys/net/route/route_ctl.h index 7a4ed804feb7..d3c457cdeaae 100644 --- a/sys/net/route/route_ctl.h +++ b/sys/net/route/route_ctl.h @@ -35,6 +35,8 @@ #ifndef _NET_ROUTE_ROUTE_CTL_H_ #define _NET_ROUTE_ROUTE_CTL_H_ +struct rib_head *rt_tables_get_rnh_safe(uint32_t table, sa_family_t family); + struct rib_cmd_info { uint8_t rc_cmd; /* RTM_ADD|RTM_DEL|RTM_CHANGE */ uint8_t spare[3]; diff --git a/sys/net/route/route_tables.c b/sys/net/route/route_tables.c index be67556915d0..31696e847488 100644 --- a/sys/net/route/route_tables.c +++ b/sys/net/route/route_tables.c @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include /* Kernel config default option. */ @@ -387,6 +388,16 @@ rt_tables_get_rnh(uint32_t table, sa_family_t family) return (rt_tables_get_rnh_ptr(table, family)); } +struct rib_head * +rt_tables_get_rnh_safe(uint32_t table, sa_family_t family) +{ + if (__predict_false(table >= V_rt_numfibs)) + return (NULL); + if (__predict_false(family >= (AF_MAX + 1))) + return (NULL); + return (rt_tables_get_rnh_ptr(table, family)); +} + u_int rt_tables_get_gen(uint32_t table, sa_family_t family) { From nobody Tue Apr 25 11:15:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5KDK3TWkz473gl; Tue, 25 Apr 2023 11:15: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 4Q5KDK1TgZz45Gs; Tue, 25 Apr 2023 11:15:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1K3rbTyK3/oBQYGOKEVvlrZqjzPjtaiDEajhD0jRrQk=; b=S0XZoT/z/1t3fgjTWxtcSF4c0wvHqBDoqgU03vYiVFYwJUygYH04BriR4RjFN/UQwV9Lgi jkvQKPczT7SFY1j3ZEYtxP049TzW3rGma1iNF58WrDL8IWLnp4RJ6q33W0TOSsFSoZ0aGv v0FIWYuoFJneR2fSxqJe9EGoMKXbrAYUNzawCpmBDme5vSy586hslE4/hWDO3Sj9u/c+CT UeZcSWj0JCJyAgAwlrmDjJAnkulcpgGSKEH7zPl0d1T7eBO8sf4GkcmyyglI6xNWIb7k3o PO+G3C6lSA6D7TVmTgoq/0WEMs7bC1NzEwFGvG/y8/X65+J73lIcLkjJ3FNdmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1K3rbTyK3/oBQYGOKEVvlrZqjzPjtaiDEajhD0jRrQk=; b=IjXYZE1UcqFYzMbhxBl0ssXCA4cMIFjJe5LhsFpRktDKd0hVXRmH7FRFOfHu5v4DKfg+XV AzqoSLTsDMbEOrMpKYhbkeutMWI65qznyZGFiMqHHtAEAXdufsGFsPssWzEZQo1NlVMbmk v4ie6kSA1VodnRpcQSDvpqYpkrySlKPyahDDLPxd2rQMFUTmIiDiedKT9bTgKcNi/RBrVb tUs8/3EEU8ZWRAMoie1xCcD7hlZ00PMiyF4SKAn6+LLaMfkua3jIiODC/pg0Kdbb9fO1Rk KJWdnjtZtQss4LeqYUs9u+3JOlFwsrfOGRg1PZFOm/y11+slsNzuBINY3NQ4sA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682421329; a=rsa-sha256; cv=none; b=t6QzxZBslvm7BCliDM0sCcoPrF65YRsLEzdrTxaMaPT7EL7D9mS7iJ9+kAYTkSQDRA5T+g lbBb7ZlpvfzdnMB5UTL5w3hXebTivKQRf3OkX7c4CGmz7LPkjmJLoGAnleDJ0VKbhTALfc 8SfWu9N31qPQNiwELBHWtf6sxriRZHDlTDxeNkPo9HPdHkiDXzj07aLple0XabcL5QYSW9 UyESAoDG1m3c4PqQx694CDa0Uu7q9yQHWGkKZu0QAndlvGa9OXSszMDAoyLvCviqOr6DmT iGpJXN5jtFaS6vzMrIZutaQLIW5pvOgCxxxJME7ecODLObcO5Wpf0jv8pBRZ8g== 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 4Q5KDK0bJHz14TM; Tue, 25 Apr 2023 11:15: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 33PBFTqg012702; Tue, 25 Apr 2023 11:15:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PBFTfN012701; Tue, 25 Apr 2023 11:15:29 GMT (envelope-from git) Date: Tue, 25 Apr 2023 11:15:29 GMT Message-Id: <202304251115.33PBFTfN012701@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: 34066d0008b6 - main - routing: add iterator-based nhop traversal KPI. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 34066d0008b6b5f0c7f9fbef8d82e468aaf3f7cf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=34066d0008b6b5f0c7f9fbef8d82e468aaf3f7cf commit 34066d0008b6b5f0c7f9fbef8d82e468aaf3f7cf Author: Alexander V. Chernikov AuthorDate: 2023-04-25 10:55:16 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 10:55:16 +0000 routing: add iterator-based nhop traversal KPI. MFC after: 2 weeks --- sys/net/route/nhop_ctl.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++ sys/net/route/route_ctl.h | 13 ++++++++++++ 2 files changed, 63 insertions(+) diff --git a/sys/net/route/nhop_ctl.c b/sys/net/route/nhop_ctl.c index d99b78351952..3b7cab0cdd35 100644 --- a/sys/net/route/nhop_ctl.c +++ b/sys/net/route/nhop_ctl.c @@ -1076,6 +1076,56 @@ nhops_update_ifmtu(struct rib_head *rh, struct ifnet *ifp, uint32_t mtu) } +struct nhop_object * +nhops_iter_start(struct nhop_iter *iter) +{ + if (iter->rh == NULL) + iter->rh = rt_tables_get_rnh_safe(iter->fibnum, iter->family); + if (iter->rh != NULL) { + struct nh_control *ctl = iter->rh->nh_control; + + NHOPS_RLOCK(ctl); + + iter->_i = 0; + iter->_next = CHT_FIRST(&ctl->nh_head, iter->_i); + + return (nhops_iter_next(iter)); + } else + return (NULL); +} + +struct nhop_object * +nhops_iter_next(struct nhop_iter *iter) +{ + struct nhop_priv *nh_priv = iter->_next; + + if (nh_priv != NULL) { + iter->_next = nh_priv->nh_next; + return (nh_priv->nh); + } + + struct nh_control *ctl = iter->rh->nh_control; + while (++iter->_i < ctl->nh_head.hash_size) { + nh_priv = CHT_FIRST(&ctl->nh_head, iter->_i); + if (nh_priv != NULL) { + iter->_next = nh_priv->nh_next; + return (nh_priv->nh); + } + } + + return (NULL); +} + +void +nhops_iter_stop(struct nhop_iter *iter) +{ + if (iter->rh != NULL) { + struct nh_control *ctl = iter->rh->nh_control; + + NHOPS_RUNLOCK(ctl); + } +} + /* * Prints nexthop @nh data in the provided @buf. * Example: nh#33/inet/em0/192.168.0.1 diff --git a/sys/net/route/route_ctl.h b/sys/net/route/route_ctl.h index d3c457cdeaae..4e4444296a9c 100644 --- a/sys/net/route/route_ctl.h +++ b/sys/net/route/route_ctl.h @@ -159,6 +159,19 @@ void ip6_writemask(struct in6_addr *addr6, uint8_t mask); /* Nexthops */ uint32_t nhops_get_count(struct rib_head *rh); +struct nhop_priv; +struct nhop_iter { + uint32_t fibnum; + uint8_t family; + struct rib_head *rh; + int _i; + struct nhop_priv *_next; +}; + +struct nhop_object *nhops_iter_start(struct nhop_iter *iter); +struct nhop_object *nhops_iter_next(struct nhop_iter *iter); +void nhops_iter_stop(struct nhop_iter *iter); + /* Multipath */ struct weightened_nhop; From nobody Tue Apr 25 11:15:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5KDL5tW5z473VB; Tue, 25 Apr 2023 11:15: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 4Q5KDL2g32z45Pp; Tue, 25 Apr 2023 11:15:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yzH8OAQwORq4kPx7eXaUpVVRd7YBoqaPNliCVaODMOA=; b=uoDv9uEURpCSwmj0bCfbZfzmdyhyDJVivezUTwqD3/phJ7ZiQZq7BZNQOvJwmVRAFfTaA8 MjlJ6swJAzbOi42WjjPVj1elFCMeedYMa/DEakjW9tgaqM8PNSzwjfGYnnsfJsTK21FanA 0/yIKmznkEdJxKyjn6/5FqGBQ21zjtAzHrsQ0qat/mBl3nb+3fPn5+jOpUFR477CdVEHrv z309Zw9UcgtF3TW3sgbzJp17poM978ldAn9VkzX6R/ZdcFP+/VBtUxIP4ObCpcrLYToA3D uJYNpt34xx+Aw/7EVQgpx6kUY74eV5m+V3TSJLPCY63pflFKAjIGgx1ACZe1dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yzH8OAQwORq4kPx7eXaUpVVRd7YBoqaPNliCVaODMOA=; b=MzOheDqN3GNNvLh9JJpmmO0oczlFBGJm4YW2eSXBvmX3gebBUHsEi1fQlTF/DtMuMIXLi5 uMZ2yuVxvmKnIk90O3Kw8gfZpV2+OyHgx7+8Y3z/ZTP+BMQCrZvF5E1niaDSRjLyeb7N5Y 3UYS/84+tvRl2fecYVmeyfUUR4hsQPrE4Nn5WapdaIRS/mjjrCssl/0refj+nElyianbWF zubiL/oKijZtJ9b/ZrOoDED/NrTARFVvShnkgxMgkeQihV+QF3ImuyxXbvE5PjWobFlXkm XQD1VhbD7UdQfWazxdIjp8Aac3vjOgU5Q6l3lNJ9VOFmVQVHTgPdv5MCObaFKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682421330; a=rsa-sha256; cv=none; b=jC3lS/hlG5GWmwvTdYMhVgWcZa7q3L69yxdmmwnRDLvbS7EYeE7pxnXquKlFQtV1sMtkYp n8aErFoGkMk6PCkRiH13ygs2rtPcXqMM0kh5RsEd3HGedHge9Mh7DCcfrOs9BFCpAI4fTX bkLK86N07TVnc8EIZb1XfBFvt2rbT/a4nPxFACmeXfsWEFDByhVqMODIw4ht+ZVjylujnx 7jhYbt1lyYciQG5q/pPbar0L0Z3Mpu8KxX+5j11qV1xms3eOPNYqY9+1kf46sLEDGCaepP F201i1UqkJNrM26UyrqvUaqLFaGWisx/M3jZFbxDj7ADcWekV1PnCigKShZYXQ== 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 4Q5KDL1mNSz14w0; Tue, 25 Apr 2023 11:15: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 33PBFUiN012721; Tue, 25 Apr 2023 11:15:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PBFUZl012720; Tue, 25 Apr 2023 11:15:30 GMT (envelope-from git) Date: Tue, 25 Apr 2023 11:15:30 GMT Message-Id: <202304251115.33PBFUZl012720@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: 70810dc8178c - main - netlink: add nlattr_get_uint8() function to pack u8 attributes. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 70810dc8178cdc473f31f10bdfaec5de533dd67e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=70810dc8178cdc473f31f10bdfaec5de533dd67e commit 70810dc8178cdc473f31f10bdfaec5de533dd67e Author: Alexander V. Chernikov AuthorDate: 2023-04-25 10:56:42 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 10:56:42 +0000 netlink: add nlattr_get_uint8() function to pack u8 attributes. MFC after: 2 weeks --- sys/netlink/netlink_message_parser.c | 14 +++++++++++++- sys/netlink/netlink_message_parser.h | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/sys/netlink/netlink_message_parser.c b/sys/netlink/netlink_message_parser.c index d0aaf4301872..c6cd82260e5b 100644 --- a/sys/netlink/netlink_message_parser.c +++ b/sys/netlink/netlink_message_parser.c @@ -314,11 +314,23 @@ nlattr_get_ipvia(struct nlattr *nla, struct nl_pstate *npt, const void *arg, voi } +int +nlattr_get_uint8(struct nlattr *nla, struct nl_pstate *npt, const void *arg, void *target) +{ + if (__predict_false(NLA_DATA_LEN(nla) != sizeof(uint8_t))) { + NLMSG_REPORT_ERR_MSG(npt, "nla type %d size(%u) is not uint8", + nla->nla_type, NLA_DATA_LEN(nla)); + return (EINVAL); + } + *((uint16_t *)target) = *((const uint16_t *)NL_RTA_DATA_CONST(nla)); + return (0); +} + int nlattr_get_uint16(struct nlattr *nla, struct nl_pstate *npt, const void *arg, void *target) { if (__predict_false(NLA_DATA_LEN(nla) != sizeof(uint16_t))) { - NLMSG_REPORT_ERR_MSG(npt, "nla type %d size(%u) is not uint32", + NLMSG_REPORT_ERR_MSG(npt, "nla type %d size(%u) is not uint16", nla->nla_type, NLA_DATA_LEN(nla)); return (EINVAL); } diff --git a/sys/netlink/netlink_message_parser.h b/sys/netlink/netlink_message_parser.h index 067d25dae7d8..85d1c20557a2 100644 --- a/sys/netlink/netlink_message_parser.h +++ b/sys/netlink/netlink_message_parser.h @@ -169,6 +169,8 @@ int nlattr_get_flag(struct nlattr *nla, struct nl_pstate *npt, const void *arg, void *target); int nlattr_get_ip(struct nlattr *nla, struct nl_pstate *npt, const void *arg, void *target); +int nlattr_get_uint8(struct nlattr *nla, struct nl_pstate *npt, + const void *arg, void *target); int nlattr_get_uint16(struct nlattr *nla, struct nl_pstate *npt, const void *arg, void *target); int nlattr_get_uint32(struct nlattr *nla, struct nl_pstate *npt, From nobody Tue Apr 25 11:15:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5KDM5Xz9z473mc; Tue, 25 Apr 2023 11:15: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 4Q5KDM3L1Fz45ch; Tue, 25 Apr 2023 11:15:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=07sm5zC86EZoBTP9dtn4FqwHOrUKvx1wzHfLO36/WIY=; b=dj4E6UX5m/DGZiYvGc8NW4K6nsbDiQF5GivVXFHUhMFX/+s8NUyJl2H42Ytd90VNHXzHME SBBUUCBKiAORDtB7ybdw94x3cqGXrzmb4G2ZJRI6i97lhJF4qvbGVPPQmhZK9CxePVJ7OH tO58o0BN0Pm7JnreovQAeBVH/A7D+YMbYAN97SpYFeczw6ybOgPUOEQuhKcHuxUcvdP3Nj 6njXpGeDcKl4ycYr0aOalrXqM0dab+MAS660K7jAPXXSErjmfeQ1M+eR28cRgtU5YJnOWu 0BH5RGDV+IebQ4kpAvxuXPqXYKzmppX3Ca21kMV2ziGRhyY+2kBA1MdGJ9THkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=07sm5zC86EZoBTP9dtn4FqwHOrUKvx1wzHfLO36/WIY=; b=DziiXVGv7y2wFakoo68O3Iad7BV6QkdzftPXwzYvts7MS3F0dIy7lFoXCqoCtp6JXgGeSK AbRjfsHVu5dqjyE4pzmwmoZrwx1eD/MoSQVhLldh1eHmE/Jv2UGJDwyNZCYfkW20T3WHHh 9E6e8l1bAtAQZbzvrBRRs9j+MWBt8qL2vOa21PScyWAXpS8Atg7W+f8LcD0tA3/WOGCdLf x6TN+DklKIxSKwXLqjgA+ksjsGbSHZwX+x8Y7Ne85sFzQX8H+BU4cbNVGlOZrbXOllkYSq vD0Vtdo7A7e8+Z2AHWdgV1Qpbz0iEGrBlt4xqEaIT4StA8NNG9u8D+h8tFt+Fg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682421331; a=rsa-sha256; cv=none; b=Cw/PLlLB96YOZOmv3eJjuTcIH6RpHPvMomqGEwwmlV/TJXe4jP5kvDb/wk/vEOTmpQ1w6M HStx7MPmTRtNfqda26jK9POe3cWu3lKdkzTTcdjlfo4THZgEz4JYrNW1qczCmVZdc/kapL g34ySY4SW/cHe1DQxVDafdIXHcx1lQJs5RvOCUrwTs8UhUhvrIkei88WoPh7KRu5qrMBOI BsNh8T347/5p1BtEuloLYGuyHVyWIhpFJRjR50JIYPY1dfcNGxvVYTDCSlHJnDh1rsfCXb 0v2N7aRyTFHrEwi3m7mb+5YTwF4gsbW2GZVFdtJPv37Eq+iVpOAcNVz1bqTR6A== 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 4Q5KDM2S2rz14TN; Tue, 25 Apr 2023 11:15: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 33PBFVfq012743; Tue, 25 Apr 2023 11:15:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PBFV49012742; Tue, 25 Apr 2023 11:15:31 GMT (envelope-from git) Date: Tue, 25 Apr 2023 11:15:31 GMT Message-Id: <202304251115.33PBFV49012742@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: fab828b45580 - main - netlink: fix parameters in snl_attr_get_flag() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fab828b45580df575c2ef154b3799ba74532bd16 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=fab828b45580df575c2ef154b3799ba74532bd16 commit fab828b45580df575c2ef154b3799ba74532bd16 Author: Alexander V. Chernikov AuthorDate: 2023-04-25 10:57:59 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 10:57:59 +0000 netlink: fix parameters in snl_attr_get_flag() MFC after: 2 weeks --- sys/netlink/netlink_snl.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h index 88d7c3a1fc22..7eac38961a45 100644 --- a/sys/netlink/netlink_snl.h +++ b/sys/netlink/netlink_snl.h @@ -422,7 +422,8 @@ snl_parse_nlmsg(struct snl_state *ss, struct nlmsghdr *hdr, } static inline bool -snl_attr_get_flag(struct snl_state *ss __unused, struct nlattr *nla, void *target) +snl_attr_get_flag(struct snl_state *ss __unused, struct nlattr *nla, const void *arg __unused, + void *target) { if (NLA_DATA_LEN(nla) == 0) { *((uint8_t *)target) = 1; From nobody Tue Apr 25 11:15:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5KDN5N8Zz473h0; Tue, 25 Apr 2023 11:15: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 4Q5KDN46vhz45QP; Tue, 25 Apr 2023 11:15:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KnoGSzc1Ff5mpYUDg5jwYchF0H9GEJ/WKLW3V7jju1s=; b=LT4S8kV74p5Vk+OuwWoYfpyj0wkkGjoIwEHiXBdFspSgR0X9yHoSDmZhsPz1/+d8KWrPdG By6XZDxhE/ce0QPJcI4xiItYQawEMloyYDOnnldu9KXFBDU5iEV1Z3vOMAT48FNzzFGPys ausD1uOr2DSED3rMStesLcspdiR5e46XhMWVnIPfJ9URwzp+afW/6Pg9gUJVemTpn/a3UJ M7Cmwyko6Z1GN3g4/edWbsrzYOP373ctOIwCWblIoTyFSe3fSdZMYOXd2aVPu/78A8MaTT vOVQ0NlZhuKHvGL4MGgyqkhleiYiL9LPCUdLXW/0SCMo8ZLRyFFl21FmeH1/dQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KnoGSzc1Ff5mpYUDg5jwYchF0H9GEJ/WKLW3V7jju1s=; b=V+EFxPsSke/I3SwPkFgx8bCeq13QNpVUVbxN1o5Uk6M0GDd+D89T+wH7+j+IS/vbSQOSIh 5V6QREiV/nSLQlHBTqmGjAKaQZSQB4jtE9RLFieigBc+MsnO2o1RoqLF+AfQ6eM0gxQ9L6 4zL8xUuCFxWz4Nszsb/l9ndpnXwmZyV283K3d3MfF5niSnQNc6+3uB8DYH4RFjA3ZrFKqM orzSARs2ViV4OM0MKlG43yNr9qHLUcrTctqLcbTivi+PUSjH6JTNyVGYF2OcaDjO/yxqgW 6eD7/uj2W5S6alVqnT2KKQW65kLAfcDvNEX4ZMfXt2sOqc7rQdb0ytxyiH32dQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682421332; a=rsa-sha256; cv=none; b=dv3Dere15qKFKDp4KX2+xlzsvriYSaLXwL+3ZwUplyv4CZiscQjaBxCR4mbh47mbC9xmNG +1y7W/tSwsW6v1MnFAHBpokPkonnsG1Nj+Oyu5pv6bvZNG11p3H9cWQwuPKGPkWdggCQ30 g3aROioR7qPZs/+NIyvxYDDRkbVzxsaOAVwj57lUe219a53O7Xk5pSh3BVtu1AaFwh0XLG 3+sr/59l94phW/YOhQXtIlTNmlZKBE+CVV7mBG8mqnVZxaZazXjdSDaQtT5HmzrL8P5ywT Ln2CqjJp7N9NfU2ugQzgT35sXV0MIoFYj1wrFOqyTPIRCQtkt5EXWW6xmB0aog== 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 4Q5KDN3DRgz151S; Tue, 25 Apr 2023 11:15: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 33PBFWSs012770; Tue, 25 Apr 2023 11:15:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PBFWH1012769; Tue, 25 Apr 2023 11:15:32 GMT (envelope-from git) Date: Tue, 25 Apr 2023 11:15:32 GMT Message-Id: <202304251115.33PBFWH1012769@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: ca1850478ff4 - main - lltable: properly set expire time to 0 for static IPv4 entries. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ca1850478ff4bc2264a3078c22c4f52dd6f23459 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=ca1850478ff4bc2264a3078c22c4f52dd6f23459 commit ca1850478ff4bc2264a3078c22c4f52dd6f23459 Author: Alexander V. Chernikov AuthorDate: 2023-04-25 10:59:50 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 10:59:50 +0000 lltable: properly set expire time to 0 for static IPv4 entries. MFC after: 2 weeks --- sys/netinet/in.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netinet/in.c b/sys/netinet/in.c index a17e3cac8744..6a5e3cb4ee6f 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -1671,6 +1671,7 @@ in_lltable_alloc(struct lltable *llt, u_int flags, const struct sockaddr *l3addr lladdr_off); lle->la_flags |= LLE_STATIC; lle->r_flags |= (RLLE_VALID | RLLE_IFADDR); + lle->la_expire = 0; } return (lle); From nobody Tue Apr 25 11:15:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5KDQ1qydz473Y3; Tue, 25 Apr 2023 11:15: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 4Q5KDP54Mkz45l2; Tue, 25 Apr 2023 11:15:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zV7rjh8d2Rgwy7tsgsjHrZzgCQM3RbAb8Ym7P3FGp0Q=; b=ZIer1WgyPineZ/jLhtMCQdb6mEfCp4virYA2THWNreC2/AfACsSa3efuTnINR0baHnZ5s3 EQIfCElX4/TEtmAyJS8LrkfheacCB1NqhCrda+zA9oyOQHcbdHwMlBmoFeC/Fw6atNv5/2 kJoQhGGABKvnNs2tCCHM+wTTK7lTWOGd9Y417Reu1FOr40E+wazAPg2X/fnvsGoOSUJ6G7 Le3okSUAtg5cTUdRaCdmUe1j/9D0QRcEGytAW8+XKD6I0RPUSictbuBSreTjRbWHJgsXUN uO5GPdZuddIy7vV5zVBmg/NbSCfQoZBt8V1Km8wXph/fdlyyCxr7dFAJpRCjlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zV7rjh8d2Rgwy7tsgsjHrZzgCQM3RbAb8Ym7P3FGp0Q=; b=aJCvE5d8cXBZOhbZGBWsbXVMOoItUuNVQ1FdlrXHXFS9pLpqEnGzCib1P+x7dkDhWG8Ou+ ten0iwnvz6FuEUqgSgfmvIC6GG/qwjIW5Y+Av5+n/a33qR6tEvBeVGe32n6j7YyZrGWN3Z sU9f8R+3Zek8I4T7BVH2ghMqvfQoKI2VVPoPm7xaTSMiIKG/o/WggBD1ejtg4YkdcFIVBd Xv5f3GsT/uLuQd3unQGw8qsP+CiOdk/EnKU7596zbE/yKC/T0fdg7WmgDEfdWqXX5pnoGO vs0rIZIGV8RVLHvFk7aOEhEGpVmXGsxa67R/zYrPu/QeSiubVNtXqKBeWgvqiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682421333; a=rsa-sha256; cv=none; b=HX1V2mzy6l6dtkQXekV6LDd2qC7Q+daxtgXPVmbijih5gHHTMnIPbP5F/OLLzTrAJi+R9I NnWZ8UIuDr0Oq6bbIpw8Ra7kFO8kiF8HdOH9rAYnR2psjc/dwyiy8qEcYnIYFzivXCHgrC FbWAV6xrFG3kWaTud8ZQiY7JoinFwgcdGiNQaJLI578PW5exPaY1vqCg66dOBDkkB+GSe9 kjWozUMPZEYHVdYO5xvViBRmJxwcRtB9eyEEm3OHswp0kufBRKXWbizMXdgVMcrEE4ggHY EDgg/uHkX0EY/mKLV7nYaoNVPPL+GhSQEIk9Pj8HcBp4zLo8jWOCFwPCwklQtA== 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 4Q5KDP49VCz151T; Tue, 25 Apr 2023 11:15: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 33PBFXqU012792; Tue, 25 Apr 2023 11:15:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PBFXW9012791; Tue, 25 Apr 2023 11:15:33 GMT (envelope-from git) Date: Tue, 25 Apr 2023 11:15:33 GMT Message-Id: <202304251115.33PBFXW9012791@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: a2728a9a5b8d - main - netlink: allow creation of temporary lle entries. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a2728a9a5b8da974e238e6413a980134dbd6297f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=a2728a9a5b8da974e238e6413a980134dbd6297f commit a2728a9a5b8da974e238e6413a980134dbd6297f Author: Alexander V. Chernikov AuthorDate: 2023-04-25 11:08:47 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 11:08:47 +0000 netlink: allow creation of temporary lle entries. MFC after: 2 weeks --- sys/netlink/route/neigh.c | 58 +++++++++++++++++++++++++++++++++++------------ sys/netlink/route/neigh.h | 8 ++++++- 2 files changed, 50 insertions(+), 16 deletions(-) diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index 5a6309321524..97f438630503 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -122,6 +122,14 @@ lle_flags_to_nl_flags(const struct llentry *lle) return (nl_flags); } +static uint32_t +get_lle_next_ts(const struct llentry *lle) +{ + if (lle->la_expire == 0) + return (0); + return (lle->la_expire + lle->lle_remtime / hz + time_second - time_uptime); +} + static int dump_lle_locked(struct llentry *lle, void *arg) { @@ -182,6 +190,13 @@ dump_lle_locked(struct llentry *lle, void *arg) /* TODO: provide confirmed/updated */ cache->ndm_refcnt = lle->lle_refcnt; + int off = nlattr_add_nested(nw, NDA_FREEBSD); + if (off != 0) { + nlattr_add_u32(nw, NDAF_NEXT_STATE_TS, get_lle_next_ts(lle)); + + nlattr_set_len(nw, off); + } + if (nlmsg_end(nw)) return (0); enomem: @@ -285,6 +300,7 @@ struct nl_parsed_neigh { struct sockaddr *nda_dst; struct ifnet *nda_ifp; struct nlattr *nda_lladdr; + uint32_t ndaf_next_ts; uint32_t ndm_flags; uint16_t ndm_state; uint8_t ndm_family; @@ -292,18 +308,24 @@ struct nl_parsed_neigh { #define _IN(_field) offsetof(struct ndmsg, _field) #define _OUT(_field) offsetof(struct nl_parsed_neigh, _field) -static struct nlfield_parser nlf_p_neigh[] = { +static const struct nlattr_parser nla_p_neigh_fbsd[] = { + { .type = NDAF_NEXT_STATE_TS, .off = _OUT(ndaf_next_ts), .cb = nlattr_get_uint32 }, +}; +NL_DECLARE_ATTR_PARSER(neigh_fbsd_parser, nla_p_neigh_fbsd); + +static const struct nlfield_parser nlf_p_neigh[] = { { .off_in = _IN(ndm_family), .off_out = _OUT(ndm_family), .cb = nlf_get_u8 }, { .off_in = _IN(ndm_flags), .off_out = _OUT(ndm_flags), .cb = nlf_get_u8_u32 }, { .off_in = _IN(ndm_state), .off_out = _OUT(ndm_state), .cb = nlf_get_u16 }, { .off_in = _IN(ndm_ifindex), .off_out = _OUT(nda_ifp), .cb = nlf_get_ifpz }, }; -static struct nlattr_parser nla_p_neigh[] = { +static const struct nlattr_parser nla_p_neigh[] = { { .type = NDA_DST, .off = _OUT(nda_dst), .cb = nlattr_get_ip }, { .type = NDA_LLADDR, .off = _OUT(nda_lladdr), .cb = nlattr_get_nla }, { .type = NDA_IFINDEX, .off = _OUT(nda_ifp), .cb = nlattr_get_ifp }, { .type = NDA_FLAGS_EXT, .off = _OUT(ndm_flags), .cb = nlattr_get_uint32 }, + { .type = NDA_FREEBSD, .arg = &neigh_fbsd_parser, .cb = nlattr_get_nested }, }; #undef _IN #undef _OUT @@ -353,11 +375,6 @@ rtnl_handle_newneigh(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate * return (EINVAL); } - if (attrs.ndm_state != NUD_PERMANENT) { - NLMSG_REPORT_ERR_MSG(npt, "ndm_state %d not supported", attrs.ndm_state); - return (ENOTSUP); - } - const uint16_t supported_flags = NTF_PROXY | NTF_STICKY; if ((attrs.ndm_flags & supported_flags) != attrs.ndm_flags) { NLMSG_REPORT_ERR_MSG(npt, "ndm_flags %X not supported", @@ -383,26 +400,36 @@ rtnl_handle_newneigh(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate * return (EINVAL); } - int lle_flags = LLE_STATIC | ((attrs.ndm_flags & NTF_PROXY) ? LLE_PUB : 0); + int lle_flags = (attrs.ndm_flags & NTF_PROXY) ? LLE_PUB : 0; + if (attrs.ndm_flags & NTF_STICKY) + lle_flags |= LLE_STATIC; struct llentry *lle = lltable_alloc_entry(llt, lle_flags, attrs.nda_dst); if (lle == NULL) return (ENOMEM); lltable_set_entry_addr(attrs.nda_ifp, lle, linkhdr, linkhdrsize, lladdr_off); - /* llentry created, try to insert or update :*/ + if (attrs.ndm_flags & NTF_STICKY) + lle->la_expire = 0; + else + lle->la_expire = attrs.ndaf_next_ts - time_second + time_uptime; + + /* llentry created, try to insert or update */ IF_AFDATA_WLOCK(attrs.nda_ifp); LLE_WLOCK(lle); struct llentry *lle_tmp = lla_lookup(llt, LLE_EXCLUSIVE, attrs.nda_dst); if (lle_tmp != NULL) { + error = EEXIST; if (hdr->nlmsg_flags & NLM_F_EXCL) { LLE_WUNLOCK(lle_tmp); lle_tmp = NULL; - error = EEXIST; } else if (hdr->nlmsg_flags & NLM_F_REPLACE) { - lltable_unlink_entry(llt, lle_tmp); - lltable_link_entry(llt, lle); - } else - error = EEXIST; + if ((lle_tmp->la_flags & LLE_IFADDR) == 0) { + lltable_unlink_entry(llt, lle_tmp); + lltable_link_entry(llt, lle); + error = 0; + } else + error = EPERM; + } } else { if (hdr->nlmsg_flags & NLM_F_CREATE) lltable_link_entry(llt, lle); @@ -458,6 +485,7 @@ rtnl_handle_delneigh(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate * LLE_WUNLOCK(lle); lle = NULL; error = EPERM; + NLMSG_REPORT_ERR_MSG(npt, "unable to delete ifaddr record"); } else lltable_unlink_entry(llt, lle); } else @@ -557,7 +585,7 @@ rtnl_lle_event(void *arg __unused, struct llentry *lle, int evt) nlmsg_flush(&nw); } -static const struct nlhdr_parser *all_parsers[] = { &ndmsg_parser }; +static const struct nlhdr_parser *all_parsers[] = { &ndmsg_parser, &neigh_fbsd_parser }; void rtnl_neighs_init(void) diff --git a/sys/netlink/route/neigh.h b/sys/netlink/route/neigh.h index 1ec1b95fdcde..970fe7312df7 100644 --- a/sys/netlink/route/neigh.h +++ b/sys/netlink/route/neigh.h @@ -49,7 +49,7 @@ enum { NDA_DST, /* binary: neigh l3 address */ NDA_LLADDR, /* binary: neigh link-level address */ NDA_CACHEINFO, /* binary, struct nda_cacheinfo */ - NDA_PROBES, /* XXX */ + NDA_PROBES, /* u32: number of probes sent */ NDA_VLAN, /* upper 802.1Q tag */ NDA_PORT, /* not supported */ NDA_VNI, /* not supported */ @@ -63,11 +63,17 @@ enum { NDA_FLAGS_EXT, /* u32: ndm_flags */ NDA_NDM_STATE_MASK, /* XXX */ NDA_NDM_FLAGS_MASK, /* XXX */ + NDA_FREEBSD, /* nested: FreeBSD-specific */ __NDA_MAX }; #define NDA_MAX (__NDA_MAX - 1) +enum { + NDAF_UNSPEC, + NDAF_NEXT_STATE_TS, /* (u32) seconds from time_uptime when moving to the next state */ +}; + /* ndm_flags / NDA_FLAGS_EXT */ #define NTF_USE 0x0001 /* XXX */ From nobody Tue Apr 25 11:15:34 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5KDR1fnXz473Y4; Tue, 25 Apr 2023 11:15: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 4Q5KDQ5YSRz45fg; Tue, 25 Apr 2023 11:15:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q6m+7EVyeUAT9Z694c0PRe6CrcPbGaGrOzJGv0+wpwg=; b=MtYEYuDnxzp405jhuGvq2NpvPzukCWSDJzzOCs+BPzy/CrgfFdaR612tVAwG8rH2DlY1P2 wPP9p2uhCohLWjpK3LZqxrOowuRmr8rlCMzd8beGDRNjpinHuiCq+s7dLBgeMwHFsNCyPU UouOSwp0TkQRe92koRuymyZvpSqrvdwH+clDf2zinttwj0JAv59NukLuMyKWhJe7W9dnIT ro6xmoHN5fbTwFmuBJHhJruCAalVa4Ln6eM7GHj769PYdMhvtUZR4doqeMlhcrTHN1moM2 qbVu7JlGr+6pxK0oLDEEbh7Dj+FS2fQIHpTszsbKfq2ROrRdlCnE0X9NBgY2gA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q6m+7EVyeUAT9Z694c0PRe6CrcPbGaGrOzJGv0+wpwg=; b=SIVxiByNop2eK0fB+Ve07cuYc82ELbw8S9QILAQQOacGWLlfEIELXtN22eBJGRB2buzFRj iFwsOCYA76ByIT6EZJdrU+dicgarwmGHQZmsgdjfW8nXJZkQUnhoE60cRZexk9A77tQLPl 6Fl5KDnZQ57DA6oIQUtQU65vDjrY0beH63SMZ61Zg6/W/MqxQk6IG3S5HNHZy9vWQxsBAr cO0xLsjzyDuWxvAzffb9NAUhyzG/wZOtoT0lEHeqPOUUEAdpLdQmJ8/MzFnE1zsitVR/ss H6gfzVPUvxTuo8Cg278mQscl5uzMxIz5VeU370UW2mZLq9N6nJSHGi7juJtGlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682421334; a=rsa-sha256; cv=none; b=fhx1uXjbHolKWCnWyUfM8a71WN6L8UI2jWFVt0wWC6r89SuL8+Y3qfPCymjSgw9wm9n7Qb Fw+DMF0alAyEqCQoOuLlvE9+5DjGy9YKY5vZrCtE1FKy+yDZ3X1hQY/rdNQiwQOOHkDjLm FmSOyqVHxCOOrXSV3EMe/SX3FgkPdfzE/W6iBR8sbhKClY6VyWOW58qbH0FnUB8MPZktgs Dxxf4SV1VNAzfosg+3DhPxxxjhzf4kgl9Q8Ay5OHXWOO38eGBIhWA/Hr3pxpNjMMDqCDGu UZAO093Wz+vPAhcmzpA2oXRT0IaICykNRD/5adDhGUPXC9SMo7KKeZnzK0AjLg== 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 4Q5KDQ4fxTz14w1; Tue, 25 Apr 2023 11:15: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 33PBFYHi012817; Tue, 25 Apr 2023 11:15:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PBFYYv012816; Tue, 25 Apr 2023 11:15:34 GMT (envelope-from git) Date: Tue, 25 Apr 2023 11:15:34 GMT Message-Id: <202304251115.33PBFYYv012816@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: b32cf15d8617 - main - netlink: add support for dumping kernel nexthops. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b32cf15d861794fc91d0f2666a71865ccd0fcb3e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=b32cf15d861794fc91d0f2666a71865ccd0fcb3e commit b32cf15d861794fc91d0f2666a71865ccd0fcb3e Author: Alexander V. Chernikov AuthorDate: 2023-04-25 11:12:18 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 11:12:18 +0000 netlink: add support for dumping kernel nexthops. MFC after: 2 weeks --- sys/netlink/route/nexthop.c | 107 +++++++++++++++++++++++++++++++++++--------- sys/netlink/route/nexthop.h | 11 +++++ 2 files changed, 98 insertions(+), 20 deletions(-) diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index 1b468ca18e73..94cc6caf7d82 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -436,11 +436,9 @@ enomem: } static bool -dump_nhop(const struct user_nhop *unhop, struct nlmsghdr *hdr, +dump_nhop(const struct nhop_object *nh, uint32_t uidx, struct nlmsghdr *hdr, struct nl_writer *nw) { - struct nhop_object *nh = unhop->un_nhop_src; - if (!nlmsg_reply(nw, hdr, sizeof(struct nhmsg))) goto enomem; @@ -448,10 +446,11 @@ dump_nhop(const struct user_nhop *unhop, struct nlmsghdr *hdr, ENOMEM_IF_NULL(nhm); nhm->nh_family = nhop_get_neigh_family(nh); nhm->nh_scope = 0; // XXX: what's that? - nhm->nh_protocol = unhop->un_protocol; + nhm->nh_protocol = nhop_get_origin(nh); nhm->nh_flags = 0; - nlattr_add_u32(nw, NHA_ID, unhop->un_idx); + if (uidx != 0) + nlattr_add_u32(nw, NHA_ID, uidx); if (nh->nh_flags & NHF_BLACKHOLE) { nlattr_add_flag(nw, NHA_BLACKHOLE); goto done; @@ -475,6 +474,19 @@ dump_nhop(const struct user_nhop *unhop, struct nlmsghdr *hdr, #endif } + int off = nlattr_add_nested(nw, NHA_FREEBSD); + if (off != 0) { + nlattr_add_u32(nw, NHAF_AIF, nh->nh_aifp->if_index); + + if (uidx == 0) { + nlattr_add_u32(nw, NHAF_KID, nhop_get_idx(nh)); + nlattr_add_u32(nw, NHAF_FAMILY, nhop_get_upper_family(nh)); + nlattr_add_u32(nw, NHAF_TABLE, nhop_get_fibnum(nh)); + } + + nlattr_set_len(nw, off); + } + done: if (nlmsg_end(nw)) return (true); @@ -488,7 +500,7 @@ dump_unhop(const struct user_nhop *unhop, struct nlmsghdr *hdr, struct nl_writer *nw) { if (unhop->un_nhop_src != NULL) - dump_nhop(unhop, hdr, nw); + dump_nhop(unhop->un_nhop_src, unhop->un_idx, hdr, nw); else dump_nhgrp(unhop, hdr, nw); } @@ -670,15 +682,29 @@ struct nl_parsed_nhop { uint32_t nha_id; uint8_t nha_blackhole; uint8_t nha_groups; + uint8_t nhaf_knhops; + uint8_t nhaf_family; struct ifnet *nha_oif; struct sockaddr *nha_gw; struct nlattr *nha_group; uint8_t nh_family; uint8_t nh_protocol; + uint32_t nhaf_table; + uint32_t nhaf_kid; + uint32_t nhaf_aif; }; #define _IN(_field) offsetof(struct nhmsg, _field) #define _OUT(_field) offsetof(struct nl_parsed_nhop, _field) +static struct nlattr_parser nla_p_nh_fbsd[] = { + { .type = NHAF_KNHOPS, .off = _OUT(nhaf_knhops), .cb = nlattr_get_flag }, + { .type = NHAF_TABLE, .off = _OUT(nhaf_table), .cb = nlattr_get_uint32 }, + { .type = NHAF_FAMILY, .off = _OUT(nhaf_family), .cb = nlattr_get_uint8 }, + { .type = NHAF_KID, .off = _OUT(nhaf_kid), .cb = nlattr_get_uint32 }, + { .type = NHAF_AIF, .off = _OUT(nhaf_aif), .cb = nlattr_get_uint32 }, +}; +NL_DECLARE_ATTR_PARSER(nh_fbsd_parser, nla_p_nh_fbsd); + static const struct nlfield_parser nlf_p_nh[] = { { .off_in = _IN(nh_family), .off_out = _OUT(nh_family), .cb = nlf_get_u8 }, { .off_in = _IN(nh_protocol), .off_out = _OUT(nh_protocol), .cb = nlf_get_u8 }, @@ -691,6 +717,7 @@ static const struct nlattr_parser nla_p_nh[] = { { .type = NHA_OIF, .off = _OUT(nha_oif), .cb = nlattr_get_ifp }, { .type = NHA_GATEWAY, .off = _OUT(nha_gw), .cb = nlattr_get_ip }, { .type = NHA_GROUPS, .off = _OUT(nha_groups), .cb = nlattr_get_flag }, + { .type = NHA_FREEBSD, .arg = &nh_fbsd_parser, .cb = nlattr_get_nested }, }; #undef _IN #undef _OUT @@ -801,6 +828,7 @@ newnhop(struct nl_parsed_nhop *attrs, struct user_nhop *unhop, struct nl_pstate return (ENOMEM); } nhop_set_uidx(nh, attrs->nha_id); + nhop_set_origin(nh, attrs->nh_protocol); if (attrs->nha_blackhole) nhop_set_blackhole(nh, NHF_BLACKHOLE); @@ -957,14 +985,10 @@ static int rtnl_handle_getnhop(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *npt) { - struct unhop_ctl *ctl = atomic_load_ptr(&V_un_ctl); struct user_nhop *unhop; UN_TRACKER; int error; - if (__predict_false(ctl == NULL)) - return (ESRCH); - struct nl_parsed_nhop attrs = {}; error = nl_parse_nlmsg(hdr, &nhmsg_parser, npt, &attrs); if (error != 0) @@ -979,8 +1003,13 @@ rtnl_handle_getnhop(struct nlmsghdr *hdr, struct nlpcb *nlp, }; if (attrs.nha_id != 0) { + struct unhop_ctl *ctl = atomic_load_ptr(&V_un_ctl); + struct user_nhop key = { .un_idx = attrs.nha_id }; + + if (__predict_false(ctl == NULL)) + return (ESRCH); + NL_LOG(LOG_DEBUG2, "searching for uidx %u", attrs.nha_id); - struct user_nhop key= { .un_idx = attrs.nha_id }; UN_RLOCK(ctl); CHT_SLIST_FIND_BYOBJ(&ctl->un_head, unhop, &key, unhop); UN_RUNLOCK(ctl); @@ -989,15 +1018,53 @@ rtnl_handle_getnhop(struct nlmsghdr *hdr, struct nlpcb *nlp, return (ESRCH); dump_unhop(unhop, &wa.hdr, wa.nw); return (0); - } + } else if (attrs.nhaf_kid != 0) { + struct nhop_iter iter = { + .fibnum = attrs.nhaf_table, + .family = attrs.nhaf_family, + }; + int error = ESRCH; + + NL_LOG(LOG_DEBUG2, "START table %u family %d", attrs.nhaf_table, attrs.nhaf_family); + for (struct nhop_object *nh = nhops_iter_start(&iter); nh; + nh = nhops_iter_next(&iter)) { + NL_LOG(LOG_DEBUG3, "get %u", nhop_get_idx(nh)); + if (nhop_get_idx(nh) == attrs.nhaf_kid) { + dump_nhop(nh, 0, &wa.hdr, wa.nw); + error = 0; + break; + } + } + nhops_iter_stop(&iter); + return (error); + } else if (attrs.nhaf_knhops) { + struct nhop_iter iter = { + .fibnum = attrs.nhaf_table, + .family = attrs.nhaf_family, + }; + + NL_LOG(LOG_DEBUG2, "DUMP table %u family %d", attrs.nhaf_table, attrs.nhaf_family); + wa.hdr.nlmsg_flags |= NLM_F_MULTI; + for (struct nhop_object *nh = nhops_iter_start(&iter); nh; + nh = nhops_iter_next(&iter)) { + dump_nhop(nh, 0, &wa.hdr, wa.nw); + } + nhops_iter_stop(&iter); + } else { + struct unhop_ctl *ctl = atomic_load_ptr(&V_un_ctl); - UN_RLOCK(ctl); - wa.hdr.nlmsg_flags |= NLM_F_MULTI; - CHT_SLIST_FOREACH(&ctl->un_head, unhop, unhop) { - if (UNHOP_IS_MASTER(unhop) && match_unhop(&attrs, unhop)) - dump_unhop(unhop, &wa.hdr, wa.nw); - } CHT_SLIST_FOREACH_END; - UN_RUNLOCK(ctl); + if (__predict_false(ctl == NULL)) + return (ESRCH); + + NL_LOG(LOG_DEBUG2, "DUMP unhops"); + UN_RLOCK(ctl); + wa.hdr.nlmsg_flags |= NLM_F_MULTI; + CHT_SLIST_FOREACH(&ctl->un_head, unhop, unhop) { + if (UNHOP_IS_MASTER(unhop) && match_unhop(&attrs, unhop)) + dump_unhop(unhop, &wa.hdr, wa.nw); + } CHT_SLIST_FOREACH_END; + UN_RUNLOCK(ctl); + } if (wa.error == 0) { if (!nlmsg_end_dump(wa.nw, wa.error, &wa.hdr)) @@ -1026,7 +1093,7 @@ static const struct rtnl_cmd_handler cmd_handlers[] = { } }; -static const struct nlhdr_parser *all_parsers[] = { &nhmsg_parser }; +static const struct nlhdr_parser *all_parsers[] = { &nhmsg_parser, &nh_fbsd_parser }; void rtnl_nexthops_init(void) diff --git a/sys/netlink/route/nexthop.h b/sys/netlink/route/nexthop.h index 310c3e08fc4b..4128e014a2d0 100644 --- a/sys/netlink/route/nexthop.h +++ b/sys/netlink/route/nexthop.h @@ -56,10 +56,21 @@ enum { NHA_FDB, /* not supported */ NHA_RES_GROUP, /* not supported */ NHA_RES_BUCKET, /* not supported */ + NHA_FREEBSD, /* nested: FreeBSD-specific attributes */ __NHA_MAX, }; #define NHA_MAX (__NHA_MAX - 1) +enum { + NHAF_UNSPEC, + NHAF_KNHOPS, /* flag: dump kernel nexthops */ + NHAF_KGOUPS, /* flag: dump kernel nexthop groups */ + NHAF_TABLE, /* u32: rtable id */ + NHAF_FAMILY, /* u32: upper family */ + NHAF_KID, /* u32: kernel nexthop index */ + NHAF_AIF, /* u32: source interface address */ +}; + /* * Attributes that can be used as filters: * NHA_ID (nexhop or group), NHA_OIF, NHA_GROUPS, From nobody Tue Apr 25 11:15:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5KDS0RC4z473km; Tue, 25 Apr 2023 11: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 4Q5KDR6jfTz45g3; Tue, 25 Apr 2023 11:15:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JcyJoHa/0081pogOsXAGwz86Z60lPmDUnhIpP9tTdyg=; b=AYngmW5cilKBQfFAwMRuRUvGLx3WBTWywSc2gNIkNwChGJ02Xb4kQSS1VWkBg59F4A23yO un1ZaQsn9RXQn9dnVsPHPggRyHhnIxfKRjn/3lKaN5UwnCz5s4h4dxl0EljvM4ZNNXx1Ik wxEFJn3u7kguv6UgnyDkfWp8ylEi7DoaiNbOC/ogVMKAJJ2+gT3dGmSdTS3bUmeTS9G3+1 XW83RhwY7DsV8VptG6WAKvFviGL+/c2VozEsRW1kBf6BlsGN4FEhIdg68wsB2frWJskr5x 1w6y6Nc17lbUC+Lh79Kn371453CKitz18J4qcA7VNvS3ksvwQLWnGpD8oIKliA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JcyJoHa/0081pogOsXAGwz86Z60lPmDUnhIpP9tTdyg=; b=uQkxag9Kl0e9TOw73wl3oUOZzg5razCHAHByngw0bePCAO72Wc/hMFlW3RVWFpFi8Ax76j 7dqpbQr2nUfZQhzGepam1y2VZ1o7coL8+MVR+zugc+c73QY6P/zq14FVb8BTHdR6RBbvg/ 9k3d58dvMCVAi3EJt/G+6e2pv48gaVmyqTPeY4/rxaWRD8yKnl4DjAiBAxpmG7jnY8zUjT fxI8/Cc1XSAT3lAnNzrQsrbiiRkvBMPBMHmRsG40bzpnXXVXgY8CReLosAqMw7lsvfffz3 7OQofhz7wI3xm87pqucbqXoadyZkkCBwtXv5pt7IrBD7w9l6RMdFmmxuN530Sw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682421335; a=rsa-sha256; cv=none; b=cpwu0bo214xQ8GuUH180VrUKIhBMV4KDWYSX7UCjda0Zj8F8+zUkZgVPXz+NAY+N7EJCJT gAvka0WpVEsFd3GiBzrmunRlZnHfIYJyEN/YSypR0sF8x8kM4uWpI1DWi2Ly0xMqijXw54 nZkMC3qCJccmcCMWhCBhhuFMBi4B0I4ezSu7ZAIWfjBJdvxWJSscgi4HcJ0+2osJg+7kDI 7ah9mmqY6nnP5Ls3/84IupGYwbDjBdz18Jyy6P6zl6YSVmnG69XqWO1tFqb83ZCYyHl2Ii 44PWL2Jii31DHDube/q+4+TM7A/F3SQveg2Sa8rKWBWCYOiv8HOTfSIBpLzo+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 4Q5KDR5qMRz14TP; Tue, 25 Apr 2023 11:15: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 33PBFZgr012841; Tue, 25 Apr 2023 11:15:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PBFZt0012840; Tue, 25 Apr 2023 11:15:35 GMT (envelope-from git) Date: Tue, 25 Apr 2023 11:15:35 GMT Message-Id: <202304251115.33PBFZt0012840@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: 5af9ad5359cb - main - netlink: add snl(3) support for dumping nexthops and neighbors List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5af9ad5359cbbd0c82fcfdec9ea667adb10d15a3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=5af9ad5359cbbd0c82fcfdec9ea667adb10d15a3 commit 5af9ad5359cbbd0c82fcfdec9ea667adb10d15a3 Author: Alexander V. Chernikov AuthorDate: 2023-04-25 11:14:12 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 11:14:12 +0000 netlink: add snl(3) support for dumping nexthops and neighbors MFC after: 2 weeks --- sys/netlink/netlink_snl_route_parsers.h | 58 +++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/sys/netlink/netlink_snl_route_parsers.h b/sys/netlink/netlink_snl_route_parsers.h index 1d6680cb5597..94dc20861c3f 100644 --- a/sys/netlink/netlink_snl_route_parsers.h +++ b/sys/netlink/netlink_snl_route_parsers.h @@ -29,6 +29,7 @@ #include #include +#include /* TODO: this file should be generated automatically */ @@ -224,21 +225,31 @@ struct snl_parsed_neigh { uint8_t ndm_flags; uint16_t ndm_state; uint32_t nda_ifindex; + uint32_t nda_probes; + uint32_t ndaf_next_ts; struct sockaddr *nda_dst; struct nlattr *nda_lladdr; }; #define _IN(_field) offsetof(struct ndmsg, _field) #define _OUT(_field) offsetof(struct snl_parsed_neigh, _field) +static const struct snl_attr_parser _nla_p_neigh_fbsd[] = { + { .type = NDAF_NEXT_STATE_TS, .off = _OUT(ndaf_next_ts), .cb = snl_attr_get_uint32 }, +}; +SNL_DECLARE_ATTR_PARSER(_neigh_fbsd_parser, _nla_p_neigh_fbsd); + static struct snl_attr_parser _nla_p_neigh_s[] = { { .type = NDA_DST, .off = _OUT(nda_dst), .cb = snl_attr_get_ip }, { .type = NDA_LLADDR , .off = _OUT(nda_lladdr), .cb = snl_attr_get_nla }, + { .type = NDA_PROBES, .off = _OUT(nda_probes), .cb = snl_attr_get_uint32 }, { .type = NDA_IFINDEX, .off = _OUT(nda_ifindex), .cb = snl_attr_get_uint32 }, + { .type = NDA_FREEBSD, .arg = &_neigh_fbsd_parser, .cb = snl_attr_get_nested }, }; static struct snl_field_parser _fp_p_neigh_s[] = { {.off_in = _IN(ndm_family), .off_out = _OUT(ndm_family), .cb = snl_field_get_uint8 }, {.off_in = _IN(ndm_flags), .off_out = _OUT(ndm_flags), .cb = snl_field_get_uint8 }, {.off_in = _IN(ndm_state), .off_out = _OUT(ndm_state), .cb = snl_field_get_uint16 }, + {.off_in = _IN(ndm_ifindex), .off_out = _OUT(nda_ifindex), .cb = snl_field_get_uint32 }, }; #undef _IN #undef _OUT @@ -271,10 +282,53 @@ static struct snl_field_parser _fp_p_addr_s[] = { #undef _OUT SNL_DECLARE_PARSER(snl_rtm_addr_parser, struct ifaddrmsg, _fp_p_addr_s, _nla_p_addr_s); + +struct snl_parsed_nhop { + uint32_t nha_id; + uint8_t nha_blackhole; + uint8_t nha_groups; + uint8_t nhaf_knhops; + uint8_t nhaf_family; + uint32_t nha_oif; + struct sockaddr *nha_gw; + uint8_t nh_family; + uint8_t nh_protocol; + uint32_t nhaf_table; + uint32_t nhaf_kid; + uint32_t nhaf_aif; +}; + +#define _IN(_field) offsetof(struct nhmsg, _field) +#define _OUT(_field) offsetof(struct snl_parsed_nhop, _field) +static struct snl_attr_parser _nla_p_nh_fbsd[] = { + { .type = NHAF_KNHOPS, .off = _OUT(nhaf_knhops), .cb = snl_attr_get_flag }, + { .type = NHAF_TABLE, .off = _OUT(nhaf_table), .cb = snl_attr_get_uint32 }, + { .type = NHAF_KID, .off = _OUT(nhaf_kid), .cb = snl_attr_get_uint32 }, + { .type = NHAF_AIF, .off = _OUT(nhaf_aif), .cb = snl_attr_get_uint32 }, +}; +SNL_DECLARE_ATTR_PARSER(_nh_fbsd_parser, _nla_p_nh_fbsd); + +static const struct snl_field_parser _fp_p_nh[] = { + { .off_in = _IN(nh_family), .off_out = _OUT(nh_family), .cb = snl_field_get_uint8 }, + { .off_in = _IN(nh_protocol), .off_out = _OUT(nh_protocol), .cb = snl_field_get_uint8 }, +}; + +static const struct snl_attr_parser _nla_p_nh[] = { + { .type = NHA_ID, .off = _OUT(nha_id), .cb = snl_attr_get_uint32 }, + { .type = NHA_BLACKHOLE, .off = _OUT(nha_blackhole), .cb = snl_attr_get_flag }, + { .type = NHA_OIF, .off = _OUT(nha_oif), .cb = snl_attr_get_uint32 }, + { .type = NHA_GATEWAY, .off = _OUT(nha_gw), .cb = snl_attr_get_ip }, + { .type = NHA_FREEBSD, .arg = &_nh_fbsd_parser, .cb = snl_attr_get_nested }, +}; +#undef _IN +#undef _OUT +SNL_DECLARE_PARSER(snl_nhmsg_parser, struct nhmsg, _fp_p_nh, _nla_p_nh); + 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, &snl_rtm_neigh_parser, - &snl_rtm_addr_parser, + &snl_rtm_link_parser, &snl_rtm_link_parser_simple, + &_neigh_fbsd_parser, &snl_rtm_neigh_parser, + &snl_rtm_addr_parser, &_nh_fbsd_parser, &snl_nhmsg_parser, }; #endif From nobody Tue Apr 25 11:16:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5KFV1h2kz473hc; Tue, 25 Apr 2023 11:16: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 4Q5KFV1BvJz48jJ; Tue, 25 Apr 2023 11:16:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2s8JgHYRFafGGW5zMmOuQ45oH7CFNWVzxjiBWAnKtN0=; b=eDxbTj63R7W5+Gh6NOu4J/FX8mUxr5FOu9BhZ8GfADuJzURUHN965Tzc75ygpriE58zXKg 1g6UUQhK06UhJgtIdBFR4rZgZPXRWDh689aReyL9zRcOsdcrQ4htR3yJKCgqVYQxQHP6P+ LEmnoornAjcqC0OfBFNjes3wZ7kv77EAsv0RRsdqvisgLKPb5rSyFeHdGD/f/l84N81I1/ TdDbyqZw4P4wPQRVXwlDZgN3a4KMehAN7FgFtpJOTLx9Gp0CKO/eSgzx0B8AH6M1/T9oWo kKFNS/efHN+7SgOGrRwUx3QAidIomn9sHt1kqv24sRZIZ3S7uolDZ2AwWrPy7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2s8JgHYRFafGGW5zMmOuQ45oH7CFNWVzxjiBWAnKtN0=; b=i4nAo8LSAXoIX5CSCtt2ZZPX5yqDI2QV3MFCvCKQHXtz9kOi0Xr2hnxvvpKkQg/WZ84XMc cWGnGOb8B7RsueGOk+xkn5fdwi1N70fe5V+9C1eYfHmVj7YSlOc3RF28kmYerrvaSK/27N IO2J12qVCofWvj3w/08LQQDG0UOMv0ARpWjKoxQ5AynLuvjnd6nN7rb7L+ZhkLz9+5QTzK KbmH9cmdE2QVsypIynUIs4n4PL87xAVH/t0jimSbEDdbXNZiW/U65BZ7i6xnE0oJsf6qZc fZyzY+eR282qn+fuB1SgRkiszAjZM45MCHggXFb97MufPrbG7OPQ1vU/GDmnpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682421390; a=rsa-sha256; cv=none; b=SXLxJQovcvY4I9KfgEnf5CZ50wy61NH1xtgS5tKq+eFdG1Dlk4Y9553dSVsRCBjeRMCOey 4PIZDFP6DVBLhA3bzeecmNp9ghr2qhGNYE4LLR4iRhm2etJOtEZwBegXKqNrjRgIFIGmI1 +Lk6rTCo9udEH7il6a6qEb5j45CFUhJoFRVafEsaDn3vPHAKA+JI5w9bTbNrVnhig2gPEp VQGWRcRNa0pcIFUrXdChPJOdPp/EcDJlW3/mTiX7/pBinvDHmrUtaW1TOujUMdEtmgBsH0 hZm3vRT+UaF0Is6TZ5b29Wb4YAnCTXrifLlKaMOaVqGrYiQ5FRym7dP8WjDHzQ== 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 4Q5KFV0FhWz15BG; Tue, 25 Apr 2023 11:16: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 33PBGTwW013181; Tue, 25 Apr 2023 11:16:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PBGTBu013180; Tue, 25 Apr 2023 11:16:29 GMT (envelope-from git) Date: Tue, 25 Apr 2023 11:16:29 GMT Message-Id: <202304251116.33PBGTBu013180@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Eugene Grosbein Subject: git: 9f5dc374d0da - main - ipfw.8: improve description for interface matching List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9f5dc374d0dadb6947a9bd9ff8ff44931e1b6422 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=9f5dc374d0dadb6947a9bd9ff8ff44931e1b6422 commit 9f5dc374d0dadb6947a9bd9ff8ff44931e1b6422 Author: Eugene Grosbein AuthorDate: 2023-04-25 11:12:11 +0000 Commit: Eugene Grosbein CommitDate: 2023-04-25 11:16:22 +0000 ipfw.8: improve description for interface matching The manual describes "if*" form only while kernel uses fnmatch(3) and allows use for more versatile shell-like patterns. Note that explicitly and provide an example. MFC after: 3 days --- sbin/ipfw/ipfw.8 | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/sbin/ipfw/ipfw.8 b/sbin/ipfw/ipfw.8 index ef66f89a4d89..884797304b78 100644 --- a/sbin/ipfw/ipfw.8 +++ b/sbin/ipfw/ipfw.8 @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 25, 2023 +.Dd April 25, 2023 .Dt IPFW 8 .Os .Sh NAME @@ -1918,13 +1918,24 @@ However, this option doesn't imply an implicit .Cm check-state in contrast to .Cm keep-state . -.It Cm recv | xmit | via Brq Ar ifX | Ar if Ns Cm * | Ar table Ns Po Ar name Ns Oo , Ns Ar value Oc Pc | Ar ipno | Ar any +.It Cm recv | xmit | via Brq Ar ifX | Ar ifmask | Ar table Ns Po Ar name Ns Oo , Ns Ar value Oc Pc | Ar ipno | Ar any Matches packets received, transmitted or going through, respectively, the interface specified by exact name .Po Ar ifX Pc , -by device name -.Po Ar if* Pc , +by device mask +.Po Ar ifmask Pc , by IP address, or through some interface. +.Pp +Interface +name may be matched against +.Ar ifmask +with +.Xr fnmatch 3 +according to the rules used by the shell (f.e. tun*). +See also the +.Sx EXAMPLES +section. +.Pp Table .Ar name may be used to match interface by its kernel ifindex. @@ -4223,6 +4234,12 @@ of clients, as below: .Dl "ipfw add deny ip from ${badguys} to any" .Dl "... normal policies ..." .Pp +Allow any transit packets coming from single vlan 10 and +going out to vlans 100-1000: +.Pp +.Dl "ipfw add 10 allow out recv vlan10 \e" +.Dl "{ xmit vlan1000 or xmit \*qvlan[1-9]??\*q }" +.Pp The .Cm verrevpath option could be used to do automated anti-spoofing by adding the @@ -4746,6 +4763,7 @@ can be changed in a similar way as for .Sh SEE ALSO .Xr cpp 1 , .Xr m4 1 , +.Xr fnmatch 3 , .Xr altq 4 , .Xr divert 4 , .Xr dummynet 4 , From nobody Tue Apr 25 11:21:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5KLv1XjTz473r3; Tue, 25 Apr 2023 11:21: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 4Q5KLv0C2cz49bM; Tue, 25 Apr 2023 11:21:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=boeKI+ietM72iPJ+deQZ01Yye7oDYTHK+0dhFGnUzlI=; b=WtkzsBSQl06aOPRO6PJJQkvuJ1VF6EaAqJ9jG5oqglqbFmOjbsGJhB/AiKDT6q3QPg3HYa I+4A2WX9GxEAL7VY0K4BgqN+Nn3+A2pGLb/K355Zd1dXZPTVMOcO68MTn7iQfMCaDz1rTC 7ogA9+Qrbamd1Th+s4qurRc4ZkfmQlWmwSP+quMXvoLkeLLNLL86U6xo1SmagkT6VCxhYx sKVHuWAgLX+wXKrrV545iIM5/NXP9FC2TO8qN3mmzbsUM7IApga8mYH8Um59MHCBubc1/o ufc/i6pOjekA6XwK6Ir3Q8VTIYnxZu5sy4AtEtTYJSTEifc/hLOM0vrdCyLl/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682421671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=boeKI+ietM72iPJ+deQZ01Yye7oDYTHK+0dhFGnUzlI=; b=mhPfyf7tCiXHdpZBA/Uu7ra02gccxkW0f+XSr00YYyHwZHLHj2aoRJMshIL/DPtIpIgUl9 CR6G2RY0IunPKRZMf1/j2AO0ycJdRC7uoLEyqtBtAvDIzRMcRVQys3+qZ6tst/Fttso/NW TzuMCFVUqnvjYeIIHaqsY9Vvy3NSxn5EATIYOSrJyBz6caJnHiZpu0rHCF6cVxzpfgx143 tTkh1O2zC13/Yc7omJQ072muJIwgerHn/6IokakNog+UIKMnc6itVT1xDB8CL5RB0EXgHf 30ojgphHEbLjOeMg2o6TEEWaCLU1vCQP4dP6+pYu/V2RsHMS0BbgaF9Dl8w9lg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682421671; a=rsa-sha256; cv=none; b=JhMutwNi24Hia+4zk159awq4BzF1p+NDFxMxxBD+l9FjKim4EDvKhfnA9jaWjBRdRZyjfG DsYftItYMHFTWg7794lVAv7YXTQGhRPEjccgGQieGv5SffHjJ+6jNoCyepMis1Ysw4YLsd sbxZuOq12cbb+h0Fk8GKg0frnjDFd0UIiDLVcqDlpVXUZ0oFqDYQn4j5lvFw36m0HWv8oX LEkSkAZ+RHMFD2zWnpz4qKZxoTcslQWOs/5vfERjJUbHFBdBQsR1jAFz+9VfEQUjHkTudt +DB4xMfQfDbokuDENg8SpWk5FJVscGI8MCPKFS+3m6AkR18B7sYtYQxb2ucpwg== 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 4Q5KLt6NlFz15BW; Tue, 25 Apr 2023 11:21: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 33PBLAFX022255; Tue, 25 Apr 2023 11:21:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PBLAlt022254; Tue, 25 Apr 2023 11:21:10 GMT (envelope-from git) Date: Tue, 25 Apr 2023 11:21:10 GMT Message-Id: <202304251121.33PBLAlt022254@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: e83f23eb5ef3 - main - netlink: enable extended error reporting in snl(3). List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e83f23eb5ef3b793af5179403243c82983d3b9a2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=e83f23eb5ef3b793af5179403243c82983d3b9a2 commit e83f23eb5ef3b793af5179403243c82983d3b9a2 Author: Alexander V. Chernikov AuthorDate: 2023-04-25 11:20:35 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 11:21:03 +0000 netlink: enable extended error reporting in snl(3). MFC after: 2 weeks --- sys/netlink/netlink_snl.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h index 7eac38961a45..191a303111fa 100644 --- a/sys/netlink/netlink_snl.h +++ b/sys/netlink/netlink_snl.h @@ -228,8 +228,14 @@ snl_init(struct snl_state *ss, int netlink_family) return (false); ss->init_done = true; + int val = 1; + socklen_t optlen = sizeof(val); + if (setsockopt(ss->fd, SOL_NETLINK, NETLINK_EXT_ACK, &val, optlen) == -1) { + snl_free(ss); + return (false); + } + int rcvbuf; - socklen_t optlen = sizeof(rcvbuf); if (getsockopt(ss->fd, SOL_SOCKET, SO_RCVBUF, &rcvbuf, &optlen) == -1) { snl_free(ss); return (false); From nobody Tue Apr 25 11:28:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5KW43lkkz4745r; Tue, 25 Apr 2023 11:28: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 4Q5KW43ZQtz4CMJ; Tue, 25 Apr 2023 11:28:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682422096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gs9l4m2Lowd9Y0CPxuvPI55VrO9/kw/wvTDHyx39U0Y=; b=n4gPy0+MLx5itjxNaNRuADzYJ7SzGfbJtrba24lQZc/4Lw75iy1j/1oxGBzZzRRmouUy+z F0j1Ak6wy4em5+joLy6DCsrnfOJFA+QaEkJfDUHqq1Y93YGqOFjhvyx1KFU1OT/KUPx6ai liaMrTgtj/AvfoP77XcN2CikBM8A+LAmDt3lMMBHlaa26ZKwvI8/iNpmzrlYIFpBf7Mddf i5thPr+MkOltjIOg69+glfow0wW/51m2USefR9QZgdElXMtOt5dAGjHKOT38nhY8hji2H3 yo8kHz253tzn18LxjeE3deR/0GDpAuXtJG2WoFolPiqt2oOuRVMD5FAQSOGPPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682422096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gs9l4m2Lowd9Y0CPxuvPI55VrO9/kw/wvTDHyx39U0Y=; b=ep/qJgEjC1efxOkq6WNoQNjaGqtxPIFcKQbfGgqhwKNmXnMKxvq/zarqy0RqvbQzLeS0vu MVUfXRkFUA9gerBVe+T7hpLhY7bzbu/hQPSpDYkUEOqlFvGKWa7rCxqaP77niSWMPfruw6 TkJzgxJECO56fW21/XpypcPadGZGPOhkiacGPr18Vn65A5nhrE/3/3z7fAYho7PGT6ZXa6 OhsYWdXPvoZ0FLrvwpZ/21gdO1wnu/7xOq4rujcC8Aigt3PM87w7rnVeewmBLGWpCAsI8R Emb9RbEbcc5jXhqy4QcQ79f+uZfcXJNJ7nceMGQ/2YAF3MRuZ1pCiJkgQbFSBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682422096; a=rsa-sha256; cv=none; b=BNJo+wDYjfNdOeIYr9SbLOBse9baNEpMVLt7hiALRx7/x2T/X2KuMggLlBGuKpZ1wWY89t ecD0g4fx8ut1TmtLlaUuWAEJ64zibSTQQZX2thjsz3tFJHzMdG68j+3xHjURaM2JnYtHv3 0iBZi0HBWZ1qmjR6IZ0TSXNTMHrp3EbagaxrXB0h+fRAQ1K9WB0pZSF1QqJV0zvYVwynQk 0qyOKmtaZbS5V7YnQzN0Glum2zSl+vV72/BXOfOfJnHZ7QTi33sjbMhWs4qlvO/EtfeSlz RJIPq9N1m24s1f4Ea0ZCQDLJAjKCwFprn6KBNSigkP6iL/MK6g0QYz2mKAhJwA== 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 4Q5KW42d0gz14yn; Tue, 25 Apr 2023 11:28: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 33PBSG2X029679; Tue, 25 Apr 2023 11:28:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PBSGTi029678; Tue, 25 Apr 2023 11:28:16 GMT (envelope-from git) Date: Tue, 25 Apr 2023 11:28:16 GMT Message-Id: <202304251128.33PBSGTi029678@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: 6ad73dbf6504 - main - arp: convert arp(8) to netlink. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6ad73dbf65048b0950a1ba6ff25607f6708c8954 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=6ad73dbf65048b0950a1ba6ff25607f6708c8954 commit 6ad73dbf65048b0950a1ba6ff25607f6708c8954 Author: Alexander V. Chernikov AuthorDate: 2023-04-25 11:24:42 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 11:26:22 +0000 arp: convert arp(8) to netlink. The change is intended to be fully transparent to the users. Similarly to route(8) and netstat(8), arp can be build without netlink by defining WITHOUT_NETLINK in make.conf. Differential Revision: https://reviews.freebsd.org/D39720 --- usr.sbin/arp/Makefile | 11 ++ usr.sbin/arp/arp.c | 136 +++++++++----- usr.sbin/arp/arp.h | 21 +++ usr.sbin/arp/arp_netlink.c | 433 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 555 insertions(+), 46 deletions(-) diff --git a/usr.sbin/arp/Makefile b/usr.sbin/arp/Makefile index b6ff7a3e253c..17575181ceec 100644 --- a/usr.sbin/arp/Makefile +++ b/usr.sbin/arp/Makefile @@ -1,9 +1,20 @@ # @(#)Makefile 8.2 (Berkeley) 4/18/94 # $FreeBSD$ +.include + PROG= arp MAN= arp.4 arp.8 + +SRCS= arp.c + +.if ${MK_NETLINK_SUPPORT} != "no" +SRCS+= arp_netlink.c +.else +CFLAGS+=-DWITHOUT_NETLINK +.endif + LIBADD= xo WARNS?= 3 diff --git a/usr.sbin/arp/arp.c b/usr.sbin/arp/arp.c index e7c18b0f323f..5a6c58e99e78 100644 --- a/usr.sbin/arp/arp.c +++ b/usr.sbin/arp/arp.c @@ -74,6 +74,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -81,13 +82,12 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include "arp.h" typedef void (action_fn)(struct sockaddr_dl *sdl, struct sockaddr_in *s_in, struct rt_msghdr *rtm); - -static int search(u_long addr, action_fn *action); -static action_fn print_entry; -static action_fn nuke_entry; +static void nuke_entries(uint32_t ifindex, struct in_addr addr); +static int print_entries(uint32_t ifindex, struct in_addr addr); static int delete(char *host); static void usage(void); @@ -97,17 +97,15 @@ static int file(char *name); static struct rt_msghdr *rtmsg(int cmd, struct sockaddr_in *dst, struct sockaddr_dl *sdl); static int get_ether_addr(in_addr_t ipaddr, struct ether_addr *hwaddr); -static struct sockaddr_in *getaddr(char *host); -static int valid_type(int type); +static int set_rtsock(struct sockaddr_in *dst, struct sockaddr_dl *sdl_m, + char *host); -static int nflag; /* no reverse dns lookups */ static char *rifname; -static time_t expire_time; -static int flags, doing_proxy; - struct if_nameindex *ifnameindex; +struct arp_opts opts = {}; + /* which function we're supposed to do */ #define F_GET 1 #define F_SET 2 @@ -124,7 +122,6 @@ main(int argc, char *argv[]) { int ch, func = 0; int rtn = 0; - int aflag = 0; /* do it for all entries */ argc = xo_parse_args(argc, argv); if (argc < 0) @@ -133,13 +130,13 @@ main(int argc, char *argv[]) while ((ch = getopt(argc, argv, "andfsSi:")) != -1) switch(ch) { case 'a': - aflag = 1; + opts.aflag = true; break; case 'd': SETFUNC(F_DELETE); break; case 'n': - nflag = 1; + opts.nflag = true; break; case 'S': SETFUNC(F_REPLACE); @@ -163,7 +160,7 @@ main(int argc, char *argv[]) if (!func) func = F_GET; if (rifname) { - if (func != F_GET && !(func == F_DELETE && aflag)) + if (func != F_GET && !(func == F_DELETE && opts.aflag)) xo_errx(1, "-i not applicable to this operation"); if (if_nametoindex(rifname) == 0) { if (errno == ENXIO) @@ -175,7 +172,7 @@ main(int argc, char *argv[]) } switch (func) { case F_GET: - if (aflag) { + if (opts.aflag) { if (argc != 0) usage(); @@ -183,7 +180,8 @@ main(int argc, char *argv[]) xo_open_container("arp"); xo_open_list("arp-cache"); - search(0, print_entry); + struct in_addr all_addrs = {}; + print_entries(0, all_addrs); xo_close_list("arp-cache"); xo_close_container("arp"); @@ -203,10 +201,11 @@ main(int argc, char *argv[]) rtn = set(argc, argv) ? 1 : 0; break; case F_DELETE: - if (aflag) { + if (opts.aflag) { if (argc != 0) usage(); - search(0, nuke_entry); + struct in_addr all_addrs = {}; + nuke_entries(0, all_addrs); } else { if (argc != 1) usage(); @@ -269,7 +268,7 @@ file(char *name) * the address of the host and returns a pointer to the * structure. */ -static struct sockaddr_in * +struct sockaddr_in * getaddr(char *host) { struct hostent *hp; @@ -290,10 +289,11 @@ getaddr(char *host) return (&reply); } +int valid_type(int type); /* * Returns true if the type is a valid one for ARP. */ -static int +int valid_type(int type) { @@ -318,10 +318,7 @@ valid_type(int type) static int set(int argc, char **argv) { - struct sockaddr_in *addr; struct sockaddr_in *dst; /* what are we looking for */ - struct sockaddr_dl *sdl; - struct rt_msghdr *rtm; struct ether_addr *ea; char *host = argv[0], *eaddr = argv[1]; struct sockaddr_dl sdl_m; @@ -336,21 +333,17 @@ set(int argc, char **argv) dst = getaddr(host); if (dst == NULL) return (1); - doing_proxy = flags = expire_time = 0; while (argc-- > 0) { if (strcmp(argv[0], "temp") == 0) { - struct timespec tp; int max_age; size_t len = sizeof(max_age); - clock_gettime(CLOCK_MONOTONIC, &tp); if (sysctlbyname("net.link.ether.inet.max_age", &max_age, &len, NULL, 0) != 0) xo_err(1, "sysctlbyname"); - expire_time = tp.tv_sec + max_age; + opts.expire_time = max_age; } else if (strcmp(argv[0], "pub") == 0) { - flags |= RTF_ANNOUNCE; - doing_proxy = 1; + opts.flags |= RTF_ANNOUNCE; if (argc && strcmp(argv[1], "only") == 0) { /* * Compatibility: in pre FreeBSD 8 times @@ -361,17 +354,17 @@ set(int argc, char **argv) argc--; argv++; } } else if (strcmp(argv[0], "blackhole") == 0) { - if (flags & RTF_REJECT) { + if (opts.flags & RTF_REJECT) { xo_errx(1, "Choose one of blackhole or reject, " "not both."); } - flags |= RTF_BLACKHOLE; + opts.flags |= RTF_BLACKHOLE; } else if (strcmp(argv[0], "reject") == 0) { - if (flags & RTF_BLACKHOLE) { + if (opts.flags & RTF_BLACKHOLE) { xo_errx(1, "Choose one of blackhole or reject, " "not both."); } - flags |= RTF_REJECT; + opts.flags |= RTF_REJECT; } else { xo_warnx("Invalid parameter '%s'", argv[0]); usage(); @@ -379,7 +372,7 @@ set(int argc, char **argv) argv++; } ea = (struct ether_addr *)LLADDR(&sdl_m); - if (doing_proxy && !strcmp(eaddr, "auto")) { + if ((opts.flags & RTF_ANNOUNCE) && !strcmp(eaddr, "auto")) { if (!get_ether_addr(dst->sin_addr.s_addr, ea)) { xo_warnx("no interface found for %s", inet_ntoa(dst->sin_addr)); @@ -397,6 +390,20 @@ set(int argc, char **argv) sdl_m.sdl_alen = ETHER_ADDR_LEN; } } +#ifndef WITHOUT_NETLINK + return (set_nl(0, dst, &sdl_m, host)); +#else + return (set_rtsock(dst, &sdl_m, host)); +#endif +} + +#ifdef WITHOUT_NETLINK +static int +set_rtsock(struct sockaddr_in *dst, struct sockaddr_dl *sdl_m, char *host) +{ + struct sockaddr_in *addr; + struct sockaddr_dl *sdl; + struct rt_msghdr *rtm; /* * In the case a proxy-arp entry is being added for @@ -420,10 +427,11 @@ set(int argc, char **argv) xo_warnx("cannot intuit interface index and type for %s", host); return (1); } - sdl_m.sdl_type = sdl->sdl_type; - sdl_m.sdl_index = sdl->sdl_index; - return (rtmsg(RTM_ADD, dst, &sdl_m) == NULL); + sdl_m->sdl_type = sdl->sdl_type; + sdl_m->sdl_index = sdl->sdl_index; + return (rtmsg(RTM_ADD, dst, sdl_m) == NULL); } +#endif /* * Display an individual arp entry @@ -442,7 +450,7 @@ get(char *host) xo_open_container("arp"); xo_open_list("arp-cache"); - found = search(addr->sin_addr.s_addr, print_entry); + found = print_entries(0, addr->sin_addr); if (found == 0) { xo_emit("{d:hostname/%s} ({d:ip-address/%s}) -- no entry", @@ -462,8 +470,9 @@ get(char *host) /* * Delete an arp entry */ +#ifdef WITHOUT_NETLINK static int -delete(char *host) +delete_rtsock(char *host) { struct sockaddr_in *addr, *dst; struct rt_msghdr *rtm; @@ -476,7 +485,7 @@ delete(char *host) /* * Perform a regular entry delete first. */ - flags &= ~RTF_ANNOUNCE; + opts.flags &= ~RTF_ANNOUNCE; for (;;) { /* try twice */ rtm = rtmsg(RTM_GET, dst, NULL); @@ -506,12 +515,12 @@ delete(char *host) * Regular entry delete failed, now check if there * is a proxy-arp entry to remove. */ - if (flags & RTF_ANNOUNCE) { + if (opts.flags & RTF_ANNOUNCE) { xo_warnx("delete: cannot locate %s", host); return (1); } - flags |= RTF_ANNOUNCE; + opts.flags |= RTF_ANNOUNCE; } rtm->rtm_flags |= RTF_LLDATA; if (rtmsg(RTM_DELETE, dst, NULL) != NULL) { @@ -520,6 +529,17 @@ delete(char *host) } return (1); } +#endif + +static int +delete(char *host) +{ +#ifdef WITHOUT_NETLINK + return (delete_rtsock(host)); +#else + return (delete_nl(0, host)); +#endif +} /* @@ -600,7 +620,7 @@ print_entry(struct sockaddr_dl *sdl, xo_open_instance("arp-cache"); - if (nflag == 0) + if (!opts.nflag) hp = gethostbyaddr((caddr_t)&(addr->sin_addr), sizeof addr->sin_addr, AF_INET); else @@ -610,7 +630,7 @@ print_entry(struct sockaddr_dl *sdl, else { host = "?"; if (h_errno == TRY_AGAIN) - nflag = 1; + opts.nflag = true; } xo_emit("{:hostname/%s} ({:ip-address/%s}) at ", host, inet_ntoa(addr->sin_addr)); @@ -640,6 +660,8 @@ print_entry(struct sockaddr_dl *sdl, xo_emit("{d:/ permanent}{en:permanent/true}"); else { static struct timespec tp; + time_t expire_time = 0; + if (tp.tv_sec == 0) clock_gettime(CLOCK_MONOTONIC, &tp); if ((expire_time = rtm->rtm_rmx.rmx_expire - tp.tv_sec) > 0) @@ -683,6 +705,17 @@ print_entry(struct sockaddr_dl *sdl, xo_close_instance("arp-cache"); } +static int +print_entries(uint32_t ifindex, struct in_addr addr) +{ +#ifndef WITHOUT_NETLINK + return (print_entries_nl(ifindex, addr)); +#else + return (search(addr.s_addr, print_entry)); +#endif +} + + /* * Nuke an arp entry */ @@ -699,6 +732,12 @@ nuke_entry(struct sockaddr_dl *sdl __unused, delete(ip); } +static void +nuke_entries(uint32_t ifindex, struct in_addr addr) +{ + search(addr.s_addr, nuke_entry); +} + static void usage(void) { @@ -745,7 +784,7 @@ rtmsg(int cmd, struct sockaddr_in *dst, struct sockaddr_dl *sdl) if (cmd == RTM_DELETE) goto doit; bzero((char *)&m_rtmsg, sizeof(m_rtmsg)); - rtm->rtm_flags = flags; + rtm->rtm_flags = opts.flags; rtm->rtm_version = RTM_VERSION; switch (cmd) { @@ -753,7 +792,12 @@ rtmsg(int cmd, struct sockaddr_in *dst, struct sockaddr_dl *sdl) xo_errx(1, "internal wrong cmd"); case RTM_ADD: rtm->rtm_addrs |= RTA_GATEWAY; - rtm->rtm_rmx.rmx_expire = expire_time; + if (opts.expire_time != 0) { + struct timespec tp; + + clock_gettime(CLOCK_MONOTONIC, &tp); + rtm->rtm_rmx.rmx_expire = opts.expire_time + tp.tv_sec; + } rtm->rtm_inits = RTV_EXPIRE; rtm->rtm_flags |= (RTF_HOST | RTF_STATIC | RTF_LLDATA); /* FALLTHROUGH */ diff --git a/usr.sbin/arp/arp.h b/usr.sbin/arp/arp.h new file mode 100644 index 000000000000..a7de3a1a3024 --- /dev/null +++ b/usr.sbin/arp/arp.h @@ -0,0 +1,21 @@ +#ifndef _USR_SBIN_ARP_ARP_H_ +#define _USR_SBIN_ARP_ARP_H_ + +int valid_type(int type); +struct sockaddr_in *getaddr(char *host); +int print_entries_nl(uint32_t ifindex, struct in_addr addr); + +struct arp_opts { + bool aflag; + bool nflag; + time_t expire_time; + int flags; +}; +extern struct arp_opts opts; + +int print_entries_nl(uint32_t ifindex, struct in_addr addr); +int delete_nl(uint32_t ifindex, char *host); +int set_nl(uint32_t ifindex, struct sockaddr_in *dst, struct sockaddr_dl *sdl, + char *host); + +#endif diff --git a/usr.sbin/arp/arp_netlink.c b/usr.sbin/arp/arp_netlink.c new file mode 100644 index 000000000000..a3481ff2d138 --- /dev/null +++ b/usr.sbin/arp/arp_netlink.c @@ -0,0 +1,433 @@ +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include "arp.h" + +#define RTF_ANNOUNCE RTF_PROTO2 + +static void +nl_init_socket(struct snl_state *ss) +{ + if (snl_init(ss, NETLINK_ROUTE)) + return; + + if (modfind("netlink") == -1 && errno == ENOENT) { + /* Try to load */ + if (kldload("netlink") == -1) + err(1, "netlink is not loaded and load attempt failed"); + if (snl_init(ss, NETLINK_ROUTE)) + return; + } + + err(1, "unable to open netlink socket"); +} + +static bool +get_link_info(struct snl_state *ss, uint32_t ifindex, + struct snl_parsed_link_simple *link) +{ + struct snl_writer nw; + + snl_init_writer(ss, &nw); + + struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_GETLINK); + struct ifinfomsg *ifmsg = snl_reserve_msg_object(&nw, struct ifinfomsg); + if (ifmsg != NULL) + ifmsg->ifi_index = ifindex; + if (!snl_finalize_msg(&nw) || !snl_send_message(ss, hdr)) + return (false); + + hdr = snl_read_reply(ss, hdr->nlmsg_seq); + + if (hdr == NULL || hdr->nlmsg_type != RTM_NEWLINK) + return (false); + + if (!snl_parse_nlmsg(ss, hdr, &snl_rtm_link_parser_simple, link)) + return (false); + + return (true); +} + + + +static bool +has_l2(struct snl_state *ss, uint32_t ifindex) +{ + struct snl_parsed_link_simple link = {}; + + if (!get_link_info(ss, ifindex, &link)) + return (false); + + return (valid_type(link.ifi_type) != 0); +} + +static uint32_t +get_myfib() +{ + uint32_t fibnum = 0; + size_t len = sizeof(fibnum); + + sysctlbyname("net.my_fibnum", (void *)&fibnum, &len, NULL, 0); + + return (fibnum); +} + +static int +guess_ifindex(struct snl_state *ss, uint32_t fibnum, struct in_addr addr) +{ + struct snl_writer nw; + + snl_init_writer(ss, &nw); + + struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_GETROUTE); + struct rtmsg *rtm = snl_reserve_msg_object(&nw, struct rtmsg); + rtm->rtm_family = AF_INET; + + struct sockaddr_in dst = { .sin_family = AF_INET, .sin_addr = addr }; + snl_add_msg_attr_ip(&nw, RTA_DST, (struct sockaddr *)&dst); + snl_add_msg_attr_u32(&nw, RTA_TABLE, fibnum); + + if (!snl_finalize_msg(&nw) || !snl_send_message(ss, hdr)) + return (0); + + hdr = snl_read_reply(ss, hdr->nlmsg_seq); + + if (hdr->nlmsg_type != NL_RTM_NEWROUTE) { + /* No route found, unable to guess ifindex */ + return (0); + } + + struct snl_parsed_route r = {}; + if (!snl_parse_nlmsg(ss, hdr, &snl_rtm_route_parser, &r)) + return (0); + + if (r.rta_multipath || (r.rta_rtflags & RTF_GATEWAY)) + return (0); + + /* Check if the interface is of supported type */ + if (has_l2(ss, r.rta_oif)) + return (r.rta_oif); + + /* Check the case when we matched the loopback route for P2P */ + snl_init_writer(ss, &nw); + hdr = snl_create_msg_request(&nw, RTM_GETNEXTHOP); + snl_reserve_msg_object(&nw, struct nhmsg); + + int off = snl_add_msg_attr_nested(&nw, NHA_FREEBSD); + snl_add_msg_attr_u32(&nw, NHAF_KID, r.rta_knh_id); + snl_add_msg_attr_u8(&nw, NHAF_FAMILY, AF_INET); + snl_add_msg_attr_u32(&nw, NHAF_TABLE, fibnum); + snl_end_attr_nested(&nw, off); + + if (!snl_finalize_msg(&nw) || !snl_send_message(ss, hdr)) + return (0); + + hdr = snl_read_reply(ss, hdr->nlmsg_seq); + + if (hdr->nlmsg_type != NL_RTM_NEWNEXTHOP) { + /* No nexthop found, unable to guess ifindex */ + return (0); + } + + struct snl_parsed_nhop nh = {}; + if (!snl_parse_nlmsg(ss, hdr, &snl_nhmsg_parser, &nh)) + return (0); + + return (nh.nhaf_aif); +} + +static uint32_t +fix_ifindex(struct snl_state *ss, uint32_t ifindex, struct in_addr addr) +{ + if (ifindex == 0) + ifindex = guess_ifindex(ss, get_myfib(), addr); + return (ifindex); +} + +static void +print_entry(struct snl_parsed_neigh *neigh, struct snl_parsed_link_simple *link) +{ + const char *host; + struct hostent *hp; + struct sockaddr_in *addr = (struct sockaddr_in *)neigh->nda_dst; + + xo_open_instance("arp-cache"); + + if (!opts.nflag) + hp = gethostbyaddr((caddr_t)&(addr->sin_addr), + sizeof(addr->sin_addr), AF_INET); + else + hp = 0; + if (hp) + host = hp->h_name; + else { + host = "?"; + if (h_errno == TRY_AGAIN) + opts.nflag = true; + } + xo_emit("{:hostname/%s} ({:ip-address/%s}) at ", host, + inet_ntoa(addr->sin_addr)); + if (neigh->nda_lladdr != NULL) { + struct sockaddr_dl sdl = { + .sdl_family = AF_LINK, + .sdl_type = link->ifi_type, + .sdl_len = sizeof(struct sockaddr_dl), + .sdl_alen = NLA_DATA_LEN(neigh->nda_lladdr), + }; + memcpy(sdl.sdl_data, NLA_DATA(neigh->nda_lladdr), sdl.sdl_alen); + + if ((sdl.sdl_type == IFT_ETHER || + sdl.sdl_type == IFT_L2VLAN || + sdl.sdl_type == IFT_BRIDGE) && + sdl.sdl_alen == ETHER_ADDR_LEN) + xo_emit("{:mac-address/%s}", + ether_ntoa((struct ether_addr *)LLADDR(&sdl))); + else { + + xo_emit("{:mac-address/%s}", link_ntoa(&sdl)); + } + } else + xo_emit("{d:/(incomplete)}{en:incomplete/true}"); + xo_emit(" on {:interface/%s}", link->ifla_ifname); + + if (neigh->ndaf_next_ts == 0) + xo_emit("{d:/ permanent}{en:permanent/true}"); + else { + time_t expire_time; + struct timeval now; + + gettimeofday(&now, 0); + if ((expire_time = neigh->ndaf_next_ts - now.tv_sec) > 0) + xo_emit(" expires in {:expires/%d} seconds", + (int)expire_time); + else + xo_emit("{d:/ expired}{en:expired/true}"); + } + + if (neigh->ndm_flags & NTF_PROXY) + xo_emit("{d:/ published}{en:published/true}"); + + switch(link->ifi_type) { + case IFT_ETHER: + xo_emit(" [{:type/ethernet}]"); + break; + case IFT_FDDI: + xo_emit(" [{:type/fddi}]"); + break; + case IFT_ATM: + xo_emit(" [{:type/atm}]"); + break; + case IFT_L2VLAN: + xo_emit(" [{:type/vlan}]"); + break; + case IFT_IEEE1394: + xo_emit(" [{:type/firewire}]"); + break; + case IFT_BRIDGE: + xo_emit(" [{:type/bridge}]"); + break; + case IFT_INFINIBAND: + xo_emit(" [{:type/infiniband}]"); + break; + default: + break; + } + + xo_emit("\n"); + + xo_close_instance("arp-cache"); +} + +int +print_entries_nl(uint32_t ifindex, struct in_addr addr) +{ + struct snl_state ss_req = {}, ss_cmd = {}; + struct snl_parsed_link_simple link = {}; + struct snl_writer nw; + + nl_init_socket(&ss_req); + snl_init_writer(&ss_req, &nw); + + struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_GETNEIGH); + struct ndmsg *ndmsg = snl_reserve_msg_object(&nw, struct ndmsg); + if (ndmsg != NULL) { + ndmsg->ndm_family = AF_INET; + ndmsg->ndm_ifindex = ifindex; + } + + if (!snl_finalize_msg(&nw) || !snl_send_message(&ss_req, hdr)) { + snl_free(&ss_req); + return (0); + } + + uint32_t nlmsg_seq = hdr->nlmsg_seq; + struct snl_errmsg_data e = {}; + int count = 0; + nl_init_socket(&ss_cmd); + + while ((hdr = snl_read_reply_multi(&ss_req, nlmsg_seq, &e)) != NULL) { + struct snl_parsed_neigh neigh = {}; + + if (!snl_parse_nlmsg(&ss_req, hdr, &snl_rtm_neigh_parser, &neigh)) + continue; + + if (neigh.nda_ifindex != link.ifi_index) { + snl_clear_lb(&ss_cmd); + memset(&link, 0, sizeof(link)); + if (!get_link_info(&ss_cmd, neigh.nda_ifindex, &link)) + continue; + } + + print_entry(&neigh, &link); + count++; + snl_clear_lb(&ss_req); + } + + snl_free(&ss_req); + snl_free(&ss_cmd); + + return (count); +} + +int +delete_nl(uint32_t ifindex, char *host) +{ + struct snl_state ss = {}; + struct snl_writer nw; + struct sockaddr_in *dst; + + dst = getaddr(host); + if (dst == NULL) + return (1); + + nl_init_socket(&ss); + + ifindex = fix_ifindex(&ss, ifindex, dst->sin_addr); + if (ifindex == 0) { + xo_warnx("delete: cannot locate %s", host); + snl_free(&ss); + return (0); + } + + snl_init_writer(&ss, &nw); + struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_DELNEIGH); + struct ndmsg *ndmsg = snl_reserve_msg_object(&nw, struct ndmsg); + if (ndmsg != NULL) { + ndmsg->ndm_family = AF_INET; + ndmsg->ndm_ifindex = ifindex; + } + snl_add_msg_attr_ip(&nw, NDA_DST, (struct sockaddr *)dst); + + if (!snl_finalize_msg(&nw) || !snl_send_message(&ss, hdr)) { + snl_free(&ss); + return (1); + } + + struct snl_errmsg_data e = {}; + snl_read_reply_code(&ss, hdr->nlmsg_seq, &e); + if (e.error != 0) { + if (e.error_str != NULL) + xo_warnx("delete %s: %s (%s)", host, strerror(e.error), e.error_str); + else + xo_warnx("delete %s: %s", host, strerror(e.error)); + } + snl_free(&ss); + + return (e.error != 0); +} + +int +set_nl(uint32_t ifindex, struct sockaddr_in *dst, struct sockaddr_dl *sdl, char *host) +{ + struct snl_state ss = {}; + struct snl_writer nw; + + nl_init_socket(&ss); + + ifindex = fix_ifindex(&ss, ifindex, dst->sin_addr); + if (ifindex == 0) { + xo_warnx("delete: cannot locate %s", host); + snl_free(&ss); + return (0); + } + + if (opts.expire_time != 0) + opts.flags &= ~RTF_STATIC; + printf("EXPIRE: %ld\n", opts.expire_time); + + snl_init_writer(&ss, &nw); + struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_NEWNEIGH); + hdr->nlmsg_flags |= NLM_F_CREATE | NLM_F_REPLACE; + struct ndmsg *ndmsg = snl_reserve_msg_object(&nw, struct ndmsg); + if (ndmsg != NULL) { + uint8_t nl_flags = 0; + + ndmsg->ndm_family = AF_INET; + ndmsg->ndm_ifindex = ifindex; + ndmsg->ndm_state = (opts.flags & RTF_STATIC) ? NUD_PERMANENT : NUD_NONE; + + if (opts.flags & RTF_ANNOUNCE) + nl_flags |= NTF_PROXY; + if (opts.flags & RTF_STATIC) + nl_flags |= NTF_STICKY; + ndmsg->ndm_flags = nl_flags; + } + snl_add_msg_attr_ip(&nw, NDA_DST, (struct sockaddr *)dst); + snl_add_msg_attr(&nw, NDA_LLADDR, sdl->sdl_alen, LLADDR(sdl)); + + if (opts.expire_time != 0) { + struct timeval now; + + gettimeofday(&now, 0); + int off = snl_add_msg_attr_nested(&nw, NDA_FREEBSD); + snl_add_msg_attr_u32(&nw, NDAF_NEXT_STATE_TS, now.tv_sec + opts.expire_time); + snl_end_attr_nested(&nw, off); + } + + if (!snl_finalize_msg(&nw) || !snl_send_message(&ss, hdr)) { + snl_free(&ss); + return (1); + } + + struct snl_errmsg_data e = {}; + snl_read_reply_code(&ss, hdr->nlmsg_seq, &e); + if (e.error != 0) { + if (e.error_str != NULL) + xo_warnx("set: %s: %s (%s)", host, strerror(e.error), e.error_str); + else + xo_warnx("set %s: %s", host, strerror(e.error)); + } + snl_free(&ss); + + return (e.error != 0); +} + From nobody Tue Apr 25 12:29:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5LsJ45Vcz4786R; Tue, 25 Apr 2023 12:29: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 4Q5LsJ3Yy9z4JjZ; Tue, 25 Apr 2023 12:29:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682425748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/kDRA+BZA8EDt+A/Uzi7DTww5gR3xuzJT3ehUT55kO0=; b=I7fiNa/ha3HLxuJoJYJrA5HD2BkBIg9CQq9zoTx28bzYp+QI40KWewMsq+rLL74xkGEH/f 06s1KnVTMEBhEt0iHGol/ulbpfhBffoqGcsGIgKWWN3nqAC10P+xuVnlzUBbAJo/gHkUKq A9NkAuiJ5DzjP17Gc7FB+iC8um7h6/nw3zTGLV3zRycNEy36dLA13N4hWFho5tRAXFcTMR nAA356pMydn9hVrfbYK1knPgfvsmRgAf8fiTgIVV6Afgxx5ZiFISFrVkpA+hxJoPOoWQDJ 8e7aqsJPhJ0rr0sxtZHMgZnJozHbAkw2xczYswSw6Go+PbLwOo+pTQSraw231w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682425748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/kDRA+BZA8EDt+A/Uzi7DTww5gR3xuzJT3ehUT55kO0=; b=d4oj0rS84WwSHx2Wr6307aKvZ4YCeaJSEJsNC0BHA0Qh1Ry3jVGrOKNzyMvcVE66T88vUS wCgNgtejJZ2Qpp3GwgJVCQjGUpqb5xAFGbMphijRKphppWXhqnMq9+E15sG0fVyiJOuMng OmJYV16eKKrt4kON798uhewUVtBGeiS9YCWTj9fFkXxQh9Eykfwj4ndo1VSCvYM7Bm7shQ y84NAGz+9yVO3Bjq6c62rlSXlkAsl9VWPOZqHkOVSztBJqy5M+E2DR0H/QRyHtFJlhOWxP rK6gj/DCYzr/+bTh4HyJWrKiydlmSqYXuAbl0razwsglFqIG3cYnZ5/PahybUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682425748; a=rsa-sha256; cv=none; b=Pd8R9AihNnK7QyQGksqfEYc9BvzXelHSR09vnPvs7bpoEmniWURCY3Ldp0VxGanHV4Jqa5 HNDdffRFEmqZNIVNxtXgKmdcghomIbe643iiS0GxcwYDIMwDK1mei7XrysjGxGU2TIS7S/ 8aVFyIytYiKWhK2vnVxAGTixxFYSx/9PoOFt4Sd9/fV5jZWMluON9j9bNhEftfZbxxlLA3 76ZBD4JGV202tL1xh/hYwmvIxSdAbeaRl/3U1St78fiI674QB+7ShvNKzrAVcQ1z1MmD7o rliDvx6qOCC4w5W8K9evEBjU/nW/LwZrh3xN5kl9LcztsSdu39DZpONgjUc1wg== 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 4Q5LsJ2bfHz16LQ; Tue, 25 Apr 2023 12:29: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 33PCT8iw028871; Tue, 25 Apr 2023 12:29:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PCT81s028870; Tue, 25 Apr 2023 12:29:08 GMT (envelope-from git) Date: Tue, 25 Apr 2023 12:29:08 GMT Message-Id: <202304251229.33PCT81s028870@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: 896e22fbc6e7 - main - netlink: fix neighbour deleting for IPv6. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 896e22fbc6e730b7eb3047221560db8c5c00d958 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=896e22fbc6e730b7eb3047221560db8c5c00d958 commit 896e22fbc6e730b7eb3047221560db8c5c00d958 Author: Alexander V. Chernikov AuthorDate: 2023-04-25 12:27:02 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 12:27:02 +0000 netlink: fix neighbour deleting for IPv6. MFC after: 2 weeks --- sys/netlink/route/neigh.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index 97f438630503..65b5c2b8be4e 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -479,7 +479,8 @@ rtnl_handle_delneigh(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate * return (EAFNOSUPPORT); IF_AFDATA_WLOCK(attrs.nda_ifp); - struct llentry *lle = lla_lookup(llt, LLE_EXCLUSIVE, attrs.nda_dst); + struct llentry *lle = lla_lookup(llt, LLE_SF(attrs.ndm_family, LLE_EXCLUSIVE), + attrs.nda_dst); if (lle != NULL) { if ((lle->la_flags & LLE_IFADDR) != 0) { LLE_WUNLOCK(lle); From nobody Tue Apr 25 12:29:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5LsK6lqcz477vw; Tue, 25 Apr 2023 12: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 4Q5LsK4P18z4JXL; Tue, 25 Apr 2023 12: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=1682425749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RRsuB+OlaGd/rmPhYXpT9pNCywt7NZnFzE4AlGe/Q+c=; b=X0KwAXx7O+bhqtVXwfsI9tLARqnHgL8EX+2uPm+A+dKu3fAnQvt5YvAaAifdEUAcGIOYiK tXTTB+3ZQQhFv895AvRhrHch3ihUsQd0qFB76rPYhqg2DnGzEEPlM1wfW49MuXoi2gGE3n sQf/1lJ+undprWakL/bI2j7fEBS+uwaKyasQcKPMo+oYF4/Af6gvcVDEyYXWmfYBf5AnqT 88Ini/A9eM+/viFySu2YKo7r9BIfuiAFpGN1LI7NPW/SpVvae4JcTQg7u6MQxQYc9uwIBM ozyLrsC85JRvnPTZVC8GPZfnS09xmiI1Pzlno+CFB4EvqzTC//VGgEW3v4Dr8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682425749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RRsuB+OlaGd/rmPhYXpT9pNCywt7NZnFzE4AlGe/Q+c=; b=hTtSMSYUtLA61w6xpOye5p9IpMVk2d1+g48C4NvdTthjN/bJiOitYdyyH1tS+yXcCnvddf 6CdUSRW9FZQE9n7lXylCrJ+MQoyXO48KfNVgFhBSpxbFdupBsC6PaUrUvlRm1n1/9HR3n6 rXjjSHzdYjk81Xdig4LWLwjvpSy2efzJDi7r7PTfk7KDvRGLbc/6o/Ubh+60mGOw5ELQra +D7ims+W/ck/JOtQqVUvzvf8E6fiXwDz61khz2E/KoP8uuWpFgclU5nA0/OFI0E65Tiw02 vCKNy0KcbF6Krbo0CNomE2hMu3+YOYVxIVCni2HQ89tHoRG4TPebZzu4yBOOKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682425749; a=rsa-sha256; cv=none; b=vZt0RnJEZdCU8X9ZuaWULxHHC05IfN5ENQq+n8Cw7Bwq8BCU8ECUWOT0Z5e5F0dR/2NSvh p8OrULt8EhIhVALrBnKM1Xb56VQHIUfZEy0W6QBQImkKJJ9d/6FEcBPzYdc716Dtem+ydI vDxMrzu6k2HouL+tYB9ecmQ+eRnyQY0TEio1dFw3aSS8Xr4oJRcgcQMFbwgjnAKmwSjk3w R80rdcaEn/mITUWoI0V6JA0coywFFR0Ni8FVUPGYh71iMCNgVqn+Craj8CMFC884aZHBcf IpIcKmrTulKf+K+ufzc0WXXnasGkDK5qbIhJ9O004j4ob/2uZSMkGDSQ1rnZeQ== 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 4Q5LsK3WCjz16LR; Tue, 25 Apr 2023 12: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 33PCT9eL028890; Tue, 25 Apr 2023 12: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 33PCT9pw028889; Tue, 25 Apr 2023 12:29:09 GMT (envelope-from git) Date: Tue, 25 Apr 2023 12:29:09 GMT Message-Id: <202304251229.33PCT9pw028889@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: acc65df45a8d - main - netlink: require proper privileges when adding neighbor. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: acc65df45a8d065662436b9a831c9dc3d02d33a1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=acc65df45a8d065662436b9a831c9dc3d02d33a1 commit acc65df45a8d065662436b9a831c9dc3d02d33a1 Author: Alexander V. Chernikov AuthorDate: 2023-04-25 12:28:22 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 12:28:22 +0000 netlink: require proper privileges when adding neighbor. MFC after: 3 days --- sys/netlink/route/neigh.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index 65b5c2b8be4e..4275d9cafede 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -539,6 +539,7 @@ static const struct rtnl_cmd_handler cmd_handlers[] = { .cmd = NL_RTM_NEWNEIGH, .name = "RTM_NEWNEIGH", .cb = &rtnl_handle_newneigh, + .priv = PRIV_NET_ROUTE, }, { .cmd = NL_RTM_DELNEIGH, From nobody Tue Apr 25 12:30:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5LtS431Xz477yX; Tue, 25 Apr 2023 12:30: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 4Q5LtS3WGvz4KDX; Tue, 25 Apr 2023 12:30:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682425808; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dKv++1vmQFL2yramRxCn9eQAhLoMd78PO3GcczB3JPY=; b=kaebibqYvVQYDL2jS4KwYutFpXcD1y7RK7138pFj96CFCRr47T4BtJsKx9rCujAom+HiZ+ D7w7h8HVVT+0DQt+IBZqORyrBcQckXBtHQkF3BHxxXlLezgSnm2GDNLWBenVpVbL/oL0Yj OyRgdm/ryAIkNdfYc15sBI24g0om+PQx3cNFolMfbGd+VBwKEeli9oLtzlqHOisc/z/dGf qT1ToMu5BMhHtda6V8wuErudR5mh4co/+u5yrGaiApxSLI33egNSQDMyPoE7wm09Z8DTcF bB7p1RItzC4fMM8BgfpfCqUDsmCZC98cjobHr4cxDNr2SOuBupZbykqkzKNHTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682425808; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dKv++1vmQFL2yramRxCn9eQAhLoMd78PO3GcczB3JPY=; b=gQzYWnxQdzZGArUjWmwKkWswVBVhwrtJyTzKZJOxNdxXYhXK3VgEYQpbWQdeG6URIp6RGC r3XF1WaqqoJVJzhd4QobyzFyVeAeQwjCAafiFxHACK80KCLTqWFNG62nHgBY1LkN6hR1XP zZXcKYIWv5B+X5in+oM8I+j0gfoH902TmLhQfxRNOkel0egyfF8V8DIGHHM9bRkCUdc+zl zke5+le6darh6YKq6dDh/84D9DgImJ4X8sfdCqGwtgFt420dzYUtCWsd3nvGoNqvdyXYKq +OTDyLco3bu2GlRd/QamrG17iOplOB4fpqoRx7n/KipZYz7hBoVdlEdPTvI77Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682425808; a=rsa-sha256; cv=none; b=ijjKpyqJLszjzIc5OC7F2zY3XZkrkBmCLrIKjGDDGG0oACRe8stp3HOhrOJzYXMK/st3C8 IHeb7aLYol+7M4c7eQvlgca3MqWXsr+8hP/vLCGgBtfVNT1y0Xb6e84zwiQs0uNl2SgdIo LJCiGeR5W3FxCrE9zqAu68UZCcxNv/91djiiVDx1DTKcO/vS7iy4T6mA0XQTeVnCnMw9zZ WeqxDn5dgFmYbq046DtHQA89/JQTRUJchFlDItNhNGsotZePtdxeGqkRsmafIoEdHV+8v9 5+sEfb5kohOIzAote8aLeleZ9OitRa/TejTfxCzcr0xuvCKwqDl3/4XEN6+t0A== 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 4Q5LtS2b0kz16RD; Tue, 25 Apr 2023 12:30: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 33PCU8o5032397; Tue, 25 Apr 2023 12:30:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PCU8Iv032395; Tue, 25 Apr 2023 12:30:08 GMT (envelope-from git) Date: Tue, 25 Apr 2023 12:30:08 GMT Message-Id: <202304251230.33PCU8Iv032395@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: 35e7180a326c - main - arp: remove forgotten debug message. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 35e7180a326c9b4fdc86d3bfa06224ce1376449f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=35e7180a326c9b4fdc86d3bfa06224ce1376449f commit 35e7180a326c9b4fdc86d3bfa06224ce1376449f Author: Alexander V. Chernikov AuthorDate: 2023-04-25 12:29:34 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 12:29:34 +0000 arp: remove forgotten debug message. --- usr.sbin/arp/arp_netlink.c | 1 - 1 file changed, 1 deletion(-) diff --git a/usr.sbin/arp/arp_netlink.c b/usr.sbin/arp/arp_netlink.c index a3481ff2d138..6e9ffce52608 100644 --- a/usr.sbin/arp/arp_netlink.c +++ b/usr.sbin/arp/arp_netlink.c @@ -382,7 +382,6 @@ set_nl(uint32_t ifindex, struct sockaddr_in *dst, struct sockaddr_dl *sdl, char if (opts.expire_time != 0) opts.flags &= ~RTF_STATIC; - printf("EXPIRE: %ld\n", opts.expire_time); snl_init_writer(&ss, &nw); struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_NEWNEIGH); From nobody Tue Apr 25 12:32:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5LxJ6dPtz477wc; Tue, 25 Apr 2023 12:32: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 4Q5LxJ6PR1z4L0p; Tue, 25 Apr 2023 12:32:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682425956; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FndA5h0W4U53mt9NalBcP/ZzjVyHJgwFKnnR61Bj08A=; b=fvGf8vsTEJSLOWP4F+EOSfUQWSNs8/qv/h1/u3ziqolg4YFuA2VXgOVt080x5h/frEJPhu djVCWD0H5IGYv8wzx5bcbCUSK14OjjA31IrjpROmY/pWVYS2LSUoBtvkc+AEsIKHjQiCUS 96L3W4mchRcxNN7b0S5ShAOF3e3SM7YwvlvfFTEk4toYZ4vPC+Fc0q3+gIPprSOjzroKbm puAxT87ZOttJyO06xQH+++IsdUfexp1f9Esc6guSkdLm+cUJlfPB6VO6muui1ELfSDoZd1 3KuMLHBuTbBZxU9CI9UvC+HQN8oQQqSrCKQiS3J5jCBGaCyK6E5VyXpt0U6+Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682425956; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FndA5h0W4U53mt9NalBcP/ZzjVyHJgwFKnnR61Bj08A=; b=SyAaMVZebHOrPH5njOH9aHE9IjC4Cxhzpxhe5YNenw9vrDOF4ZIWlrFxQOPU80RV6Rgdkr CLBfOyHZ3kAmhdmYn1kqormX1eGicKgym8x4lnfUXhKTn10OV8QeWFKxTpoOFuQzFcibu/ MZyFqXndna+vQamB1Wkf5tR8+b4H/SQ7KOIlpJ4vPqZvBBgPqHpHa/bfb0rXnnNKo+M/VJ Ih/hyYQjwTB59sjEWqlg6ohD8v6nyTLqjRZmHbcCa0yraA6RKyUI+ITohRcbOvFlMfnxqp NOBG6SfiSTc84soiRXRSeuzJlIwD9HNA7B4oIVeoZuxwNKnCDA5uF68Oq2OpvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682425956; a=rsa-sha256; cv=none; b=xCrBynY5XZ8J8yI2F+wpSAldijn+1Uq+f15/IUmG2RWRvMfu3MwSGLaFGUbeSuKUZ/GOmn LyrQ0ooH6oj/TIMBw5JqDk5MKZ97vK0l4L/whtWxvwGA5pnavR0sZaR8d/I6K0Uck+gT9i 5Aj7UMbnXFDx7LqCLkRlydVdjGGxT/Kojk1mMyZwgz1gmJ0j4fGw1OtPe440zjxGooBsSH mmtH7mo3MIS1g7FVqudLmvdam2jdvnJZIYfQqM1Q0p99CfCZxEEqMIBOkAWUlGnpwIEpny yGscyIAUYk/Gh1Mk+Lhp5CvEAyVglKWdsFlOf+DGAjQdBkOh/yGY2IWuvPXoRA== 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 4Q5LxJ5SjZz16h1; Tue, 25 Apr 2023 12:32: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 33PCWawq044055; Tue, 25 Apr 2023 12:32:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PCWaGC044054; Tue, 25 Apr 2023 12:32:36 GMT (envelope-from git) Date: Tue, 25 Apr 2023 12:32:36 GMT Message-Id: <202304251232.33PCWaGC044054@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: 91fbe0819bb9 - main - ndp: convert ndp(8) to netlink. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 91fbe0819bb9c6e1a5e5b854075deb51742eb41f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=91fbe0819bb9c6e1a5e5b854075deb51742eb41f commit 91fbe0819bb9c6e1a5e5b854075deb51742eb41f Author: Alexander V. Chernikov AuthorDate: 2023-04-25 12:30:39 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 12:30:39 +0000 ndp: convert ndp(8) to netlink. The change is intended to be fully transparent to the users. Similarly to route(8) and netstat(8), ndp can be build without netlink by defining WITHOUT_NETLINK in make.conf. Differential Revision: https://reviews.freebsd.org/D39720 --- usr.sbin/ndp/Makefile | 7 + usr.sbin/ndp/ndp.c | 185 ++++++++++------ usr.sbin/ndp/ndp.h | 27 +++ usr.sbin/ndp/ndp_netlink.c | 511 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 661 insertions(+), 69 deletions(-) diff --git a/usr.sbin/ndp/Makefile b/usr.sbin/ndp/Makefile index 84eb586083b3..1722f4a5a2ef 100644 --- a/usr.sbin/ndp/Makefile +++ b/usr.sbin/ndp/Makefile @@ -31,6 +31,13 @@ CFLAGS+= -DEXPERIMENTAL CFLAGS+= -DDRAFT_IETF_6MAN_IPV6ONLY_FLAG .endif +.if ${MK_NETLINK_SUPPORT} != "no" +SRCS+= ndp_netlink.c +.else +CFLAGS+=-DWITHOUT_NETLINK +.endif + + WARNS?= 3 .include diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c index eaf652507e09..23e186466c22 100644 --- a/usr.sbin/ndp/ndp.c +++ b/usr.sbin/ndp/ndp.c @@ -102,6 +102,7 @@ #include #include #include +#include #include #include #include @@ -112,6 +113,8 @@ #include #include "gmt2local.h" +#include "ndp.h" + #define NEXTADDR(w, s) \ if (rtm->rtm_addrs & (w)) { \ bcopy((char *)&s, cp, sizeof(s)); \ @@ -119,8 +122,6 @@ } static pid_t pid; -static int nflag; -static int tflag; static int32_t thiszone; /* time difference with gmt */ static int s = -1; static int repeat = 0; @@ -129,16 +130,13 @@ static char host_buf[NI_MAXHOST]; /* getnameinfo() */ static char ifix_buf[IFNAMSIZ]; /* if_indextoname() */ static int file(char *); -static void getsocket(void); static int set(int, char **); static void get(char *); static int delete(char *); -static void dump(struct sockaddr_in6 *, int); +static int dump(struct sockaddr_in6 *, int); static struct in6_nbrinfo *getnbrinfo(struct in6_addr *, int, int); -static char *ether_str(struct sockaddr_dl *); static int ndp_ether_aton(char *, u_char *); static void usage(void); -static int rtmsg(int); static void ifinfo(char *, int, char **); static void rtrlist(void); static void plist(void); @@ -149,8 +147,11 @@ static void harmonize_rtr(void); static void getdefif(void); static void setdefif(char *); #endif -static char *sec2str(time_t); -static void ts_print(const struct timeval *); + +#ifdef WITHOUT_NETLINK +static void getsocket(void); +static int rtmsg(int); +#endif static const char *rtpref_str[] = { "medium", /* 00 */ @@ -159,8 +160,27 @@ static const char *rtpref_str[] = { "low" /* 11 */ }; +struct ndp_opts opts = {}; + #define NDP_XO_VERSION "1" +bool +valid_type(int if_type) +{ + switch (if_type) { + case IFT_ETHER: + case IFT_FDDI: + case IFT_ISO88023: + case IFT_ISO88024: + case IFT_ISO88025: + case IFT_L2VLAN: + case IFT_BRIDGE: + return (true); + break; + } + return (false); +} + int main(int argc, char **argv) { @@ -206,10 +226,10 @@ main(int argc, char **argv) arg = optarg; break; case 'n': - nflag = 1; + opts.nflag = true; break; case 't': - tflag = 1; + opts.tflag = true; break; case 'A': if (mode) { @@ -385,12 +405,12 @@ static struct sockaddr_dl blank_sdl = { .sdl_family = AF_LINK }; static struct sockaddr_dl sdl_m; -static time_t expire_time; -static int flags, found_entry; +#ifdef WITHOUT_NETLINK static struct { struct rt_msghdr m_rtm; char m_space[512]; } m_rtmsg; +#endif /* * Set an individual neighbor cache entry @@ -398,44 +418,44 @@ static struct { static int set(int argc, char **argv) { - register struct sockaddr_in6 *sin = &sin_m; - register struct sockaddr_dl *sdl; - register struct rt_msghdr *rtm = &(m_rtmsg.m_rtm); - struct addrinfo hints, *res; + struct sockaddr_in6 *sin = &sin_m; int gai_error; u_char *ea; char *host = argv[0], *eaddr = argv[1]; - getsocket(); argc -= 2; argv += 2; sdl_m = blank_sdl; sin_m = blank_sin; - bzero(&hints, sizeof(hints)); - hints.ai_family = AF_INET6; - gai_error = getaddrinfo(host, NULL, &hints, &res); + gai_error = getaddr(host, sin); if (gai_error) { xo_warnx("%s: %s", host, gai_strerror(gai_error)); return 1; } - sin->sin6_addr = ((struct sockaddr_in6 *)res->ai_addr)->sin6_addr; - sin->sin6_scope_id = - ((struct sockaddr_in6 *)res->ai_addr)->sin6_scope_id; + ea = (u_char *)LLADDR(&sdl_m); if (ndp_ether_aton(eaddr, ea) == 0) sdl_m.sdl_alen = 6; - flags = expire_time = 0; while (argc-- > 0) { if (strncmp(argv[0], "temp", 4) == 0) { struct timeval now; gettimeofday(&now, 0); - expire_time = now.tv_sec + 20 * 60; + opts.expire_time = now.tv_sec + 20 * 60; } else if (strncmp(argv[0], "proxy", 5) == 0) - flags |= RTF_ANNOUNCE; + opts.flags |= RTF_ANNOUNCE; argv++; } + +#ifndef WITHOUT_NETLINK + return (set_nl(0, sin, &sdl_m, host)); +#else + struct rt_msghdr *rtm = &(m_rtmsg.m_rtm); + struct sockaddr_dl *sdl; + + getsocket(); + if (rtmsg(RTM_GET) < 0) { xo_errx(1, "RTM_GET(%s) failed", host); /* NOTREACHED */ @@ -445,12 +465,8 @@ set(int argc, char **argv) if (IN6_ARE_ADDR_EQUAL(&sin->sin6_addr, &sin_m.sin6_addr)) { if (sdl->sdl_family == AF_LINK && !(rtm->rtm_flags & RTF_GATEWAY)) { - switch (sdl->sdl_type) { - case IFT_ETHER: case IFT_FDDI: case IFT_ISO88023: - case IFT_ISO88024: case IFT_ISO88025: - case IFT_L2VLAN: case IFT_BRIDGE: + if (valid_type(sdl->sdl_type)) goto overwrite; - } } xo_warnx("cannot configure a new entry"); return 1; @@ -464,6 +480,24 @@ overwrite: sdl_m.sdl_type = sdl->sdl_type; sdl_m.sdl_index = sdl->sdl_index; return (rtmsg(RTM_ADD)); +#endif +} + +int +getaddr(char *host, struct sockaddr_in6 *sin6) +{ + struct addrinfo hints = { .ai_family = AF_INET6 }; + struct addrinfo *res; + + int gai_error = getaddrinfo(host, NULL, &hints, &res); + if (gai_error != 0) + return (gai_error); + sin6->sin6_family = AF_INET6; + sin6->sin6_len = sizeof(*sin6); + sin6->sin6_addr = ((struct sockaddr_in6 *)res->ai_addr)->sin6_addr; + sin6->sin6_scope_id = + ((struct sockaddr_in6 *)res->ai_addr)->sin6_scope_id; + return (0); } /* @@ -473,55 +507,45 @@ static void get(char *host) { struct sockaddr_in6 *sin = &sin_m; - struct addrinfo hints, *res; int gai_error; sin_m = blank_sin; - bzero(&hints, sizeof(hints)); - hints.ai_family = AF_INET6; - gai_error = getaddrinfo(host, NULL, &hints, &res); + + gai_error = getaddr(host, sin); if (gai_error) { xo_warnx("%s: %s", host, gai_strerror(gai_error)); return; } - sin->sin6_addr = ((struct sockaddr_in6 *)res->ai_addr)->sin6_addr; - sin->sin6_scope_id = - ((struct sockaddr_in6 *)res->ai_addr)->sin6_scope_id; - dump(sin, 0); - if (found_entry == 0) { + if (dump(sin, 0) == 0) { getnameinfo((struct sockaddr *)sin, sin->sin6_len, host_buf, sizeof(host_buf), NULL ,0, - (nflag ? NI_NUMERICHOST : 0)); + (opts.nflag ? NI_NUMERICHOST : 0)); xo_errx(1, "%s (%s) -- no entry", host, host_buf); } } +#ifdef WITHOUT_NETLINK /* * Delete a neighbor cache entry */ static int -delete(char *host) +delete_rtsock(char *host) { struct sockaddr_in6 *sin = &sin_m; register struct rt_msghdr *rtm = &m_rtmsg.m_rtm; register char *cp = m_rtmsg.m_space; struct sockaddr_dl *sdl; - struct addrinfo hints, *res; int gai_error; getsocket(); sin_m = blank_sin; - bzero(&hints, sizeof(hints)); - hints.ai_family = AF_INET6; - gai_error = getaddrinfo(host, NULL, &hints, &res); + gai_error = getaddr(host, sin); if (gai_error) { xo_warnx("%s: %s", host, gai_strerror(gai_error)); return 1; } - sin->sin6_addr = ((struct sockaddr_in6 *)res->ai_addr)->sin6_addr; - sin->sin6_scope_id = - ((struct sockaddr_in6 *)res->ai_addr)->sin6_scope_id; + if (rtmsg(RTM_GET) < 0) { xo_errx(1, "RTM_GET(%s) failed", host); /* NOTREACHED */ @@ -552,7 +576,7 @@ delete: getnameinfo((struct sockaddr *)sin, sin->sin6_len, host_buf, sizeof(host_buf), NULL, 0, - (nflag ? NI_NUMERICHOST : 0)); + (opts.nflag ? NI_NUMERICHOST : 0)); xo_open_instance("neighbor-cache"); char *ifname = if_indextoname(sdl->sdl_index, ifix_buf); @@ -571,15 +595,11 @@ delete: return 0; } -#define W_ADDR 36 -#define W_LL 17 -#define W_IF 6 - /* * Dump the entire neighbor cache */ -static void -dump(struct sockaddr_in6 *addr, int cflag) +static int +dump_rtsock(struct sockaddr_in6 *addr, int cflag) { int mib[6]; size_t needed; @@ -596,7 +616,7 @@ dump(struct sockaddr_in6 *addr, int cflag) char *ifname; /* Print header */ - if (!tflag && !cflag) { + if (!opts.tflag && !cflag) { char xobuf[200]; snprintf(xobuf, sizeof(xobuf), "{T:/%%-%d.%ds} {T:/%%-%d.%ds} {T:/%%%d.%ds} {T:/%%-9.9s} {T:%%1s} {T:%%5s}\n", @@ -626,6 +646,7 @@ again:; } else buf = lim = NULL; + int count = 0; for (next = buf; next && next < lim; next += rtm->rtm_msglen) { int isrouter = 0, prbs = 0; @@ -658,9 +679,9 @@ again:; &sin->sin6_addr) == 0 || addr->sin6_scope_id != sin->sin6_scope_id) continue; - found_entry = 1; } else if (IN6_IS_ADDR_MULTICAST(&sin->sin6_addr)) continue; + count++; if (IN6_IS_ADDR_LINKLOCAL(&sin->sin6_addr) || IN6_IS_ADDR_MC_LINKLOCAL(&sin->sin6_addr)) { /* XXX: should scope id be filled in the kernel? */ @@ -668,7 +689,7 @@ again:; sin->sin6_scope_id = sdl->sdl_index; } getnameinfo((struct sockaddr *)sin, sin->sin6_len, host_buf, - sizeof(host_buf), NULL, 0, (nflag ? NI_NUMERICHOST : 0)); + sizeof(host_buf), NULL, 0, (opts.nflag ? NI_NUMERICHOST : 0)); if (cflag) { #ifdef RTF_WASCLONED if (rtm->rtm_flags & RTF_WASCLONED) @@ -684,7 +705,7 @@ again:; continue; } gettimeofday(&now, 0); - if (tflag) + if (opts.tflag) ts_print(&now); addrwidth = strlen(host_buf); @@ -795,6 +816,30 @@ again:; } xo_close_list("neighbor-cache"); + + return (count); +} +#endif + + +static int +delete(char *host) +{ +#ifndef WITHOUT_NETLINK + return (delete_nl(0, host)); +#else + return (delete_rtsock(host)); +#endif +} + +static int +dump(struct sockaddr_in6 *addr, int cflag) +{ +#ifndef WITHOUT_NETLINK + return (print_entries_nl(0, addr, cflag)); +#else + return (dump_rtsock(addr, cflag)); +#endif } static struct in6_nbrinfo * @@ -820,7 +865,7 @@ getnbrinfo(struct in6_addr *addr, int ifindex, int warning) return(&nbi); } -static char * +char * ether_str(struct sockaddr_dl *sdl) { static char hbuf[NI_MAXHOST]; @@ -869,6 +914,7 @@ usage(void) exit(1); } +#ifdef WITHOUT_NETLINK static int rtmsg(int cmd) { @@ -882,7 +928,7 @@ rtmsg(int cmd) if (cmd == RTM_DELETE) goto doit; bzero((char *)&m_rtmsg, sizeof(m_rtmsg)); - rtm->rtm_flags = flags; + rtm->rtm_flags = opts.flags; rtm->rtm_version = RTM_VERSION; switch (cmd) { @@ -890,8 +936,8 @@ rtmsg(int cmd) xo_errx(1, "internal wrong cmd"); case RTM_ADD: rtm->rtm_addrs |= RTA_GATEWAY; - if (expire_time) { - rtm->rtm_rmx.rmx_expire = expire_time; + if (opts.expire_time) { + rtm->rtm_rmx.rmx_expire = opts.expire_time; rtm->rtm_inits = RTV_EXPIRE; } rtm->rtm_flags |= (RTF_HOST | RTF_STATIC | RTF_LLDATA); @@ -922,6 +968,7 @@ doit: xo_warn("read from routing socket"); return (0); } +#endif static void ifinfo(char *ifname, int argc, char **argv) @@ -1129,9 +1176,9 @@ rtrlist(void) if (getnameinfo((struct sockaddr *)&p->rtaddr, p->rtaddr.sin6_len, host_buf, sizeof(host_buf), NULL, 0, - (nflag ? NI_NUMERICHOST : 0)) != 0) + (opts.nflag ? NI_NUMERICHOST : 0)) != 0) strlcpy(host_buf, "?", sizeof(host_buf)); - if (nflag) + if (opts.nflag) paddr = host_buf; else { inet_ntop(AF_INET6, &p->rtaddr.sin6_addr, abuf, sizeof(abuf)); @@ -1187,7 +1234,7 @@ plist(void) size_t l; struct timeval now; const int niflags = NI_NUMERICHOST; - int ninflags = nflag ? NI_NUMERICHOST : 0; + int ninflags = opts.nflag ? NI_NUMERICHOST : 0; char namebuf[NI_MAXHOST]; if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), NULL, &l, NULL, 0) < 0) { @@ -1430,7 +1477,7 @@ getdefif(void) } #endif /* SIOCSDEFIFACE_IN6 */ -static char * +char * sec2str(time_t total) { static char result[256]; @@ -1475,7 +1522,7 @@ sec2str(time_t total) * Print the timestamp * from tcpdump/util.c */ -static void +void ts_print(const struct timeval *tvp) { int sec; diff --git a/usr.sbin/ndp/ndp.h b/usr.sbin/ndp/ndp.h new file mode 100644 index 000000000000..5b2558982e86 --- /dev/null +++ b/usr.sbin/ndp/ndp.h @@ -0,0 +1,27 @@ +#ifndef _USR_SBIN_NDP_NDP_H_ +#define _USR_SBIN_NDP_NDP_H_ + +#define W_ADDR 36 +#define W_LL 17 +#define W_IF 6 + +struct ndp_opts { + bool nflag; + bool tflag; + int flags; + time_t expire_time; +}; + +extern struct ndp_opts opts; + +bool valid_type(int if_type); +void ts_print(const struct timeval *tvp); +char *ether_str(struct sockaddr_dl *sdl); +char *sec2str(time_t total); +int getaddr(char *host, struct sockaddr_in6 *sin6); +int print_entries_nl(uint32_t ifindex, struct sockaddr_in6 *addr, bool cflag); +int delete_nl(uint32_t ifindex, char *host); +int set_nl(uint32_t ifindex, struct sockaddr_in6 *dst, struct sockaddr_dl *sdl, + char *host); + +#endif diff --git a/usr.sbin/ndp/ndp_netlink.c b/usr.sbin/ndp/ndp_netlink.c new file mode 100644 index 000000000000..927cbf9ddcb9 --- /dev/null +++ b/usr.sbin/ndp/ndp_netlink.c @@ -0,0 +1,511 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "gmt2local.h" + + +#include +#include +#include +#include +#include +#include + +#include +#include "ndp.h" + +#define RTF_ANNOUNCE RTF_PROTO2 + +static void +nl_init_socket(struct snl_state *ss) +{ + if (snl_init(ss, NETLINK_ROUTE)) + return; + + if (modfind("netlink") == -1 && errno == ENOENT) { + /* Try to load */ + if (kldload("netlink") == -1) + err(1, "netlink is not loaded and load attempt failed"); + if (snl_init(ss, NETLINK_ROUTE)) + return; + } + + err(1, "unable to open netlink socket"); +} + +static bool +get_link_info(struct snl_state *ss, uint32_t ifindex, + struct snl_parsed_link_simple *link) +{ + struct snl_writer nw; + + snl_init_writer(ss, &nw); + + struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_GETLINK); + struct ifinfomsg *ifmsg = snl_reserve_msg_object(&nw, struct ifinfomsg); + if (ifmsg != NULL) + ifmsg->ifi_index = ifindex; + if (!snl_finalize_msg(&nw) || !snl_send_message(ss, hdr)) + return (false); + + hdr = snl_read_reply(ss, hdr->nlmsg_seq); + + if (hdr == NULL || hdr->nlmsg_type != RTM_NEWLINK) + return (false); + + if (!snl_parse_nlmsg(ss, hdr, &snl_rtm_link_parser_simple, link)) + return (false); + + return (true); +} + + + +static bool +has_l2(struct snl_state *ss, uint32_t ifindex) +{ + struct snl_parsed_link_simple link = {}; + + if (!get_link_info(ss, ifindex, &link)) + return (false); + + return (valid_type(link.ifi_type) != 0); +} + +static uint32_t +get_myfib() +{ + uint32_t fibnum = 0; + size_t len = sizeof(fibnum); + + sysctlbyname("net.my_fibnum", (void *)&fibnum, &len, NULL, 0); + + return (fibnum); +} + +static void +ip6_writemask(struct in6_addr *addr6, uint8_t mask) +{ + uint32_t *cp; + + for (cp = (uint32_t *)addr6; mask >= 32; mask -= 32) + *cp++ = 0xFFFFFFFF; + if (mask > 0) + *cp = htonl(mask ? ~((1 << (32 - mask)) - 1) : 0); +} +#define s6_addr32 __u6_addr.__u6_addr32 +#define IN6_MASK_ADDR(a, m) do { \ + (a)->s6_addr32[0] &= (m)->s6_addr32[0]; \ + (a)->s6_addr32[1] &= (m)->s6_addr32[1]; \ + (a)->s6_addr32[2] &= (m)->s6_addr32[2]; \ + (a)->s6_addr32[3] &= (m)->s6_addr32[3]; \ +} while (0) + +static int +guess_ifindex(struct snl_state *ss, uint32_t fibnum, const struct sockaddr_in6 *dst) +{ + struct snl_writer nw; + + if (IN6_IS_ADDR_LINKLOCAL(&dst->sin6_addr)) + return (dst->sin6_scope_id); + else if (IN6_IS_ADDR_MULTICAST(&dst->sin6_addr)) + return (0); + + + snl_init_writer(ss, &nw); + + struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_GETROUTE); + struct rtmsg *rtm = snl_reserve_msg_object(&nw, struct rtmsg); + rtm->rtm_family = AF_INET6; + + snl_add_msg_attr_ip(&nw, RTA_DST, (struct sockaddr *)dst); + snl_add_msg_attr_u32(&nw, RTA_TABLE, fibnum); + + if (!snl_finalize_msg(&nw) || !snl_send_message(ss, hdr)) + return (0); + + hdr = snl_read_reply(ss, hdr->nlmsg_seq); + + if (hdr->nlmsg_type != NL_RTM_NEWROUTE) { + /* No route found, unable to guess ifindex */ + return (0); + } + + struct snl_parsed_route r = {}; + if (!snl_parse_nlmsg(ss, hdr, &snl_rtm_route_parser, &r)) + return (0); + + if (r.rta_multipath || (r.rta_rtflags & RTF_GATEWAY)) + return (0); + + /* Check if the interface is of supported type */ + if (has_l2(ss, r.rta_oif)) + return (r.rta_oif); + + /* Check the case when we matched the loopback route for P2P */ + snl_init_writer(ss, &nw); + hdr = snl_create_msg_request(&nw, RTM_GETNEXTHOP); + snl_reserve_msg_object(&nw, struct nhmsg); + + int off = snl_add_msg_attr_nested(&nw, NHA_FREEBSD); + snl_add_msg_attr_u32(&nw, NHAF_KID, r.rta_knh_id); + snl_add_msg_attr_u8(&nw, NHAF_FAMILY, AF_INET); + snl_add_msg_attr_u32(&nw, NHAF_TABLE, fibnum); + snl_end_attr_nested(&nw, off); + + if (!snl_finalize_msg(&nw) || !snl_send_message(ss, hdr)) + return (0); + + hdr = snl_read_reply(ss, hdr->nlmsg_seq); + + if (hdr->nlmsg_type != NL_RTM_NEWNEXTHOP) { + /* No nexthop found, unable to guess ifindex */ + return (0); + } + + struct snl_parsed_nhop nh = {}; + if (!snl_parse_nlmsg(ss, hdr, &snl_nhmsg_parser, &nh)) + return (0); + + return (nh.nhaf_aif); +} + +static uint32_t +fix_ifindex(struct snl_state *ss, uint32_t ifindex, const struct sockaddr_in6 *sa) +{ + if (ifindex == 0) + ifindex = guess_ifindex(ss, get_myfib(), sa); + return (ifindex); +} + +static void +print_entry(struct snl_parsed_neigh *neigh, struct snl_parsed_link_simple *link) +{ + struct timeval now; + char host_buf[NI_MAXHOST]; + int addrwidth; + int llwidth; + int ifwidth; + char *ifname; + + getnameinfo(neigh->nda_dst, sizeof(struct sockaddr_in6), host_buf, + sizeof(host_buf), NULL, 0, (opts.nflag ? NI_NUMERICHOST : 0)); + + gettimeofday(&now, 0); + if (opts.tflag) + ts_print(&now); + + struct sockaddr_dl sdl = { + .sdl_family = AF_LINK, + .sdl_type = link->ifi_type, + .sdl_len = sizeof(struct sockaddr_dl), + .sdl_alen = NLA_DATA_LEN(neigh->nda_lladdr), + }; + memcpy(sdl.sdl_data, NLA_DATA(neigh->nda_lladdr), sdl.sdl_alen); + + addrwidth = strlen(host_buf); + if (addrwidth < W_ADDR) + addrwidth = W_ADDR; + llwidth = strlen(ether_str(&sdl)); + if (W_ADDR + W_LL - addrwidth > llwidth) + llwidth = W_ADDR + W_LL - addrwidth; + ifname = link->ifla_ifname; + ifwidth = strlen(ifname); + if (W_ADDR + W_LL + W_IF - addrwidth - llwidth > ifwidth) + ifwidth = W_ADDR + W_LL + W_IF - addrwidth - llwidth; + + xo_open_instance("neighbor-cache"); + /* Compose format string for libxo, as it doesn't support *.* */ + char xobuf[200]; + snprintf(xobuf, sizeof(xobuf), + "{:address/%%-%d.%ds/%%s} {:mac-address/%%-%d.%ds/%%s} {:interface/%%%d.%ds/%%s}", + addrwidth, addrwidth, llwidth, llwidth, ifwidth, ifwidth); + xo_emit(xobuf, host_buf, ether_str(&sdl), ifname); + + /* Print neighbor discovery specific information */ + uint32_t expire = neigh->ndaf_next_ts; + int expire_in = expire - now.tv_sec; + if (expire > now.tv_sec) + xo_emit("{d:/ %-9.9s}{e:expires_sec/%d}", sec2str(expire_in), expire_in); + else if (expire == 0) + xo_emit("{d:/ %-9.9s}{en:permanent/true}", "permanent"); + else + xo_emit("{d:/ %-9.9s}{e:expires_sec/%d}", "expired", expire_in); + + const char *lle_state = ""; + switch (neigh->ndm_state) { + case NUD_INCOMPLETE: + lle_state = "I"; + break; + case NUD_REACHABLE: + lle_state = "R"; + break; + case NUD_STALE: + lle_state = "S"; + break; + case NUD_DELAY: + lle_state = "D"; + break; + case NUD_PROBE: + lle_state = "P"; + break; + case NUD_FAILED: + lle_state = "F"; + break; + default: + lle_state = "N"; + break; + } + xo_emit(" {:neighbor-state/%s}", lle_state); + + bool isrouter = neigh->ndm_flags & NTF_ROUTER; + + /* + * other flags. R: router, P: proxy, W: ?? + */ + char flgbuf[8]; + snprintf(flgbuf, sizeof(flgbuf), "%s%s", + isrouter ? "R" : "", + (neigh->ndm_flags & NTF_PROXY) ? "p" : ""); + xo_emit(" {:nd-flags/%s}", flgbuf); + + if (neigh->nda_probes != 0) + xo_emit("{u:/ %d}", neigh->nda_probes); + + xo_emit("\n"); + xo_close_instance("neighbor-cache"); +} + +int +print_entries_nl(uint32_t ifindex, struct sockaddr_in6 *addr, bool cflag) +{ + struct snl_state ss_req = {}, ss_cmd = {}; + struct snl_parsed_link_simple link = {}; + struct snl_writer nw; + + nl_init_socket(&ss_req); + snl_init_writer(&ss_req, &nw); + + struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_GETNEIGH); + struct ndmsg *ndmsg = snl_reserve_msg_object(&nw, struct ndmsg); + if (ndmsg != NULL) { + ndmsg->ndm_family = AF_INET6; + ndmsg->ndm_ifindex = ifindex; + } + + if (!snl_finalize_msg(&nw) || !snl_send_message(&ss_req, hdr)) { + snl_free(&ss_req); + return (0); + } + + uint32_t nlmsg_seq = hdr->nlmsg_seq; + struct snl_errmsg_data e = {}; + int count = 0; + nl_init_socket(&ss_cmd); + + /* Print header */ + if (!opts.tflag && !cflag) { + char xobuf[200]; + snprintf(xobuf, sizeof(xobuf), + "{T:/%%-%d.%ds} {T:/%%-%d.%ds} {T:/%%%d.%ds} {T:/%%-9.9s} {T:%%1s} {T:%%5s}\n", + W_ADDR, W_ADDR, W_LL, W_LL, W_IF, W_IF); + xo_emit(xobuf, "Neighbor", "Linklayer Address", "Netif", "Expire", "S", "Flags"); + } + xo_open_list("neighbor-cache"); + + while ((hdr = snl_read_reply_multi(&ss_req, nlmsg_seq, &e)) != NULL) { + struct snl_parsed_neigh neigh = {}; + + if (!snl_parse_nlmsg(&ss_req, hdr, &snl_rtm_neigh_parser, &neigh)) + continue; + + if (neigh.nda_ifindex != link.ifi_index) { + snl_clear_lb(&ss_cmd); + memset(&link, 0, sizeof(link)); + if (!get_link_info(&ss_cmd, neigh.nda_ifindex, &link)) + continue; + } + + /* TODO: embed LL in the parser */ + struct sockaddr_in6 *dst = (struct sockaddr_in6 *)neigh.nda_dst; + if (IN6_IS_ADDR_LINKLOCAL(&dst->sin6_addr)) + dst->sin6_scope_id = neigh.nda_ifindex; + + if (addr != NULL) { + if (IN6_ARE_ADDR_EQUAL(&addr->sin6_addr, + &dst->sin6_addr) == 0 || + addr->sin6_scope_id != dst->sin6_scope_id) + continue; + } + + print_entry(&neigh, &link); + if (cflag) { + char dst_str[INET6_ADDRSTRLEN]; + + inet_ntop(AF_INET6, &dst->sin6_addr, dst_str, sizeof(dst_str)); + delete_nl(neigh.nda_ifindex, dst_str); + } + count++; + snl_clear_lb(&ss_req); + } + xo_close_list("neighbor-cache"); + + snl_free(&ss_req); + snl_free(&ss_cmd); + + return (count); +} + +int +delete_nl(uint32_t ifindex, char *host) +{ + struct snl_state ss = {}; + struct snl_writer nw; + struct sockaddr_in6 dst; + + int gai_error = getaddr(host, &dst); + if (gai_error) { + xo_warnx("%s: %s", host, gai_strerror(gai_error)); + return 1; + } + + nl_init_socket(&ss); + + ifindex = fix_ifindex(&ss, ifindex, &dst); + if (ifindex == 0) { + xo_warnx("delete: cannot locate %s", host); + snl_free(&ss); + return (0); + } + + snl_init_writer(&ss, &nw); + struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_DELNEIGH); + struct ndmsg *ndmsg = snl_reserve_msg_object(&nw, struct ndmsg); + if (ndmsg != NULL) { + ndmsg->ndm_family = AF_INET6; + ndmsg->ndm_ifindex = ifindex; + } + snl_add_msg_attr_ip(&nw, NDA_DST, (struct sockaddr *)&dst); + + if (!snl_finalize_msg(&nw) || !snl_send_message(&ss, hdr)) { + snl_free(&ss); + return (1); + } + + struct snl_errmsg_data e = {}; + snl_read_reply_code(&ss, hdr->nlmsg_seq, &e); + if (e.error != 0) { + if (e.error_str != NULL) + xo_warnx("delete %s: %s (%s)", host, strerror(e.error), e.error_str); + else + xo_warnx("delete %s: %s", host, strerror(e.error)); + } else { + char host_buf[NI_MAXHOST]; + char ifix_buf[IFNAMSIZ]; + + getnameinfo((struct sockaddr *)&dst, *** 73 LINES SKIPPED *** From nobody Tue Apr 25 12:37:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5M2m28sCz47881; Tue, 25 Apr 2023 12:37: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 4Q5M2m1nxmz4LVP; Tue, 25 Apr 2023 12:37:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682426240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PNexBI5wudwLGujh4oV03CT7gYyCMZfn7mINdOdr+U4=; b=U8xDfaJvJFuf5Fu0vL56W99EVrSBGn8NKLY+llD5O50q8lRjxH1/QnC8fqfFcs+9fF8P70 sojKcubAtheFxYklFJafx0paGsEj4OcxPHiIdQx3ChwOBMi2E8TUOpuXUEvaL6cZeFUroa ssSrfPmHoHTfaUo/dyeKLM4cARHZEZSj7ZvWCqwSOJCKFwo6MQshIstNqEaZ+7ygI07pmw 6RArOP+5E29v4/fsNRP8PaValqY8BETUg4P0JweTodXQ551ns45BGtSMrnFg80w/ZT/KKy q3BL/D18oeni3Cc6sfpdaiZPGO1fC04Vda1o9WZ3yX8kiGxJ5AYobptZJFvhAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682426240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PNexBI5wudwLGujh4oV03CT7gYyCMZfn7mINdOdr+U4=; b=qwyfaYCFZnyG7nwDsk/kHkdaTXmNFdF240V5WNmeQbjdPlGnpTLSsqmYSYtDGezDD4iYdN B3cPM4Olq+cVot6qsbg+lke7+Pz7mRZMjPsVVa0rQK+S/ZkN6J747+MpAta0yXQsQjazqk yO3T2p73ws5UbMrjYAO/g6LqiklidAI7O51/IPo+2VkMa2vmEzQ3f5AU3UEuFfgN7goAuz ZYexCEqCnF0RAPUQLJ7eT2anJwp/OmO2rWNEXtsTMF8gINaykVhx4FfkXfk27tfswRHX5G /lQe4gjn15oqm7mHQLj/QQEXe5glfmN9DGbWcrI+lr23P7EohfvlSYS/YaRwnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682426240; a=rsa-sha256; cv=none; b=djU0etpLJac2Ql4yLbnX3SlVi7lWmM+XeCW2HtRjmOENU1Vx7busN7vX7VNgJK/8DhJoWX i0YJbBHJ8CXK7P2fW5TPqgA+q5bEc7W85Beu9+Gj9yvR4qhf+44r2IM3Mpy+xWHxNuxbHd RrYq8kju6HGyHgSe/U4d24EajZBb/wsbjUMDEm0nFQiHZOGCGrnYbHEjBZUlF8FBz+flhb tjU1l9kJN8YMKgGlmVaa7aF3cGLz75e21ZKs92RnKyh/aDYyw679aN1ttH4+ypdPffZyL+ Lcv5VpJ7ElTP18ssf/AQRWhd2QEAnF6ThXwkLL5nNknobIlHZb5kxJipv8xZrA== 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 4Q5M2m0r8Sz16h3; Tue, 25 Apr 2023 12:37: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 33PCbKSC044792; Tue, 25 Apr 2023 12:37:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PCbKJK044790; Tue, 25 Apr 2023 12:37:20 GMT (envelope-from git) Date: Tue, 25 Apr 2023 12:37:20 GMT Message-Id: <202304251237.33PCbKJK044790@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: 089104e0e01f - main - netlink: add netlink interfaces to if_clone List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 089104e0e01f080c9cd45dc5f34c4f636dea4ca7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=089104e0e01f080c9cd45dc5f34c4f636dea4ca7 commit 089104e0e01f080c9cd45dc5f34c4f636dea4ca7 Author: Alexander V. Chernikov AuthorDate: 2023-04-19 12:35:02 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 12:34:46 +0000 netlink: add netlink interfaces to if_clone This change adds netlink create/modify/dump interfaces to the `if_clone.c`. The previous attempt with storing the logic inside `netlink/route/iface_drivers.c` did not quite work, as, for example, dumping interface-specific state (like vlan id or vlan parent) required some peeking into the private interfaces. The new interfaces are added in a compatible way - callers don't have to do anything unless they are extended with Netlink. Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D39032 MFC after: 1 month --- sys/net/if_clone.c | 163 +++++++++++++++++++++++++------ sys/net/if_clone.h | 42 +++++++- sys/net/if_vlan.c | 180 ++++++++++++++++++++++++++++++++++- sys/netlink/netlink_glue.c | 29 ++++++ sys/netlink/netlink_module.c | 1 + sys/netlink/netlink_var.h | 10 ++ sys/netlink/route/iface.c | 65 ++++--------- sys/netlink/route/iface_drivers.c | 172 ++------------------------------- sys/netlink/route/route_var.h | 6 ++ tests/sys/netlink/test_rtnl_iface.py | 3 + 10 files changed, 427 insertions(+), 244 deletions(-) diff --git a/sys/net/if_clone.c b/sys/net/if_clone.c index 59d60645cb89..3dd577850f82 100644 --- a/sys/net/if_clone.c +++ b/sys/net/if_clone.c @@ -33,6 +33,8 @@ * $FreeBSD$ */ +#include "opt_netlink.h" + #include #include #include @@ -52,6 +54,11 @@ #include #include +#include +#include +#include +#include + /* Current IF_MAXUNIT expands maximum to 5 characters. */ #define IFCLOSIZ (IFNAMSIZ - 5) @@ -77,6 +84,10 @@ struct if_clone { ifc_create_f *ifc_create; /* (c) Creates new interface */ ifc_destroy_f *ifc_destroy; /* (c) Destroys cloned interface */ + ifc_create_nl_f *create_nl; /* (c) Netlink creation handler */ + ifc_modify_nl_f *modify_nl; /* (c) Netlink modification handler */ + ifc_dump_nl_f *dump_nl; /* (c) Netlink dump handler */ + #ifdef CLONE_COMPAT_13 /* (c) Driver specific cloning functions. Called with no locks held. */ union { @@ -104,8 +115,8 @@ struct if_clone { static void if_clone_free(struct if_clone *ifc); -static int if_clone_createif(struct if_clone *ifc, char *name, size_t len, - struct ifc_data *ifd, struct ifnet **ifpp); +static int if_clone_createif_nl(struct if_clone *ifc, const char *name, + struct ifc_data_nl *ifd); static int ifc_simple_match(struct if_clone *ifc, const char *name); static int ifc_handle_unit(struct if_clone *ifc, char *name, size_t len, int *punit); @@ -188,27 +199,41 @@ vnet_if_clone_init(void) * Lookup and create a clone network interface. */ int -ifc_create_ifp(const char *name, struct ifc_data *ifd, - struct ifnet **ifpp) +ifc_create_ifp(const char *name, struct ifc_data *ifd, struct ifnet **ifpp) { - struct if_clone *ifc; - char ifname[IFNAMSIZ]; - struct ifnet *ifp = NULL; - int error; + struct if_clone *ifc = ifc_find_cloner_match(name); - /* Try to find an applicable cloner for this request */ - ifc = ifc_find_cloner_match(name); if (ifc == NULL) return (EINVAL); - strlcpy(ifname, name, IFNAMSIZ); - error = if_clone_createif(ifc, ifname, IFNAMSIZ, ifd, &ifp); + struct ifc_data_nl ifd_new = { + .flags = ifd->flags, + .unit = ifd->unit, + .params = ifd->params, + }; + + int error = if_clone_createif_nl(ifc, name, &ifd_new); + if (ifpp != NULL) - *ifpp = ifp; + *ifpp = ifd_new.ifp; return (error); } +bool +ifc_create_ifp_nl(const char *name, struct ifc_data_nl *ifd) +{ + struct if_clone *ifc = ifc_find_cloner_match(name); + if (ifc == NULL) { + ifd->error = EINVAL; + return (false); + } + + ifd->error = if_clone_createif_nl(ifc, name, ifd); + + return (true); +} + int if_clone_create(char *name, size_t len, caddr_t params) { @@ -223,6 +248,62 @@ if_clone_create(char *name, size_t len, caddr_t params) return (error); } +bool +ifc_modify_ifp_nl(struct ifnet *ifp, struct ifc_data_nl *ifd) +{ + struct if_clone *ifc = ifc_find_cloner(ifp->if_dname); + if (ifc == NULL) { + ifd->error = EINVAL; + return (false); + } + + ifd->error = (*ifc->modify_nl)(ifp, ifd); + return (true); +} + +bool +ifc_dump_ifp_nl(struct ifnet *ifp, struct nl_writer *nw) +{ + struct if_clone *ifc = ifc_find_cloner(ifp->if_dname); + if (ifc == NULL) + return (false); + + (*ifc->dump_nl)(ifp, nw); + return (true); +} + +static int +ifc_create_ifp_nl_default(struct if_clone *ifc, char *name, size_t len, + struct ifc_data_nl *ifd) +{ + struct ifc_data ifd_new = { + .flags = ifd->flags, + .unit = ifd->unit, + .params = ifd->params, + }; + + return ((*ifc->ifc_create)(ifc, name, len, &ifd_new, &ifd->ifp)); +} + +static int +ifc_modify_ifp_nl_default(struct ifnet *ifp, struct ifc_data_nl *ifd) +{ + if (ifd->lattrs != NULL) + return (nl_modify_ifp_generic(ifp, ifd->lattrs, ifd->bm, ifd->npt)); + return (0); +} + +static void +ifc_dump_ifp_nl_default(struct ifnet *ifp, struct nl_writer *nw) +{ + int off = nlattr_add_nested(nw, IFLA_LINKINFO); + + if (off != 0) { + nlattr_add_string(nw, IFLA_INFO_KIND, ifp->if_dname); + nlattr_set_len(nw, off); + } +} + void ifc_link_ifp(struct if_clone *ifc, struct ifnet *ifp) { @@ -306,29 +387,38 @@ ifc_find_cloner_in_vnet(const char *name, struct vnet *vnet) * Create a clone network interface. */ static int -if_clone_createif(struct if_clone *ifc, char *name, size_t len, - struct ifc_data *ifd, struct ifnet **ifpp) +if_clone_createif_nl(struct if_clone *ifc, const char *ifname, struct ifc_data_nl *ifd) { - int err, unit = 0; + char name[IFNAMSIZ]; + int error; + + strlcpy(name, ifname, sizeof(name)); if (ifunit(name) != NULL) return (EEXIST); if (ifc->ifc_flags & IFC_F_AUTOUNIT) { - if ((err = ifc_handle_unit(ifc, name, len, &unit)) != 0) - return (err); - ifd->unit = unit; + if ((error = ifc_handle_unit(ifc, name, sizeof(name), &ifd->unit)) != 0) + return (error); } - *ifpp = NULL; - err = (*ifc->ifc_create)(ifc, name, len, ifd, ifpp); - if (err == 0) { - MPASS(*ifpp != NULL); - if_clone_addif(ifc, *ifpp); - } else if (ifc->ifc_flags & IFC_F_AUTOUNIT) - ifc_free_unit(ifc, unit); + if (ifd->lattrs != NULL) + error = (*ifc->create_nl)(ifc, name, sizeof(name), ifd); + else + error = ifc_create_ifp_nl_default(ifc, name, sizeof(name), ifd); + if (error != 0) { + if (ifc->ifc_flags & IFC_F_AUTOUNIT) + ifc_free_unit(ifc, ifd->unit); + return (error); + } - return (err); + MPASS(ifd->ifp != NULL); + if_clone_addif(ifc, ifd->ifp); + + if (ifd->lattrs != NULL) + error = (*ifc->modify_nl)(ifd->ifp, ifd); + + return (error); } /* @@ -408,6 +498,10 @@ if_clone_alloc(const char *name, int maxunit) ifc->ifc_unrhdr = new_unrhdr(0, ifc->ifc_maxunit, &ifc->ifc_mtx); LIST_INIT(&ifc->ifc_iflist); + ifc->create_nl = ifc_create_ifp_nl_default; + ifc->modify_nl = ifc_modify_ifp_nl_default; + ifc->dump_nl = ifc_dump_ifp_nl_default; + return (ifc); } @@ -444,6 +538,16 @@ ifc_attach_cloner(const char *name, struct if_clone_addreq *req) ifc->ifc_destroy = req->destroy_f; ifc->ifc_flags = (req->flags & (IFC_F_AUTOUNIT | IFC_F_NOGROUP)); + if (req->version == 2) { + struct if_clone_addreq_v2 *req2 = (struct if_clone_addreq_v2 *)req; + + ifc->create_nl = req2->create_nl_f; + ifc->modify_nl = req2->modify_nl_f; + ifc->dump_nl = req2->dump_nl_f; + } + + ifc->dump_nl = ifc_dump_ifp_nl_default; + if (if_clone_attach(ifc) != 0) return (NULL); @@ -546,11 +650,10 @@ if_clone_simple(const char *name, ifcs_create_t create, ifcs_destroy_t destroy, for (unit = 0; unit < minifs; unit++) { char name[IFNAMSIZ]; int error __unused; - struct ifc_data ifd = {}; - struct ifnet *ifp; + struct ifc_data_nl ifd = {}; snprintf(name, IFNAMSIZ, "%s%d", ifc->ifc_name, unit); - error = if_clone_createif(ifc, name, IFNAMSIZ, &ifd, &ifp); + error = if_clone_createif_nl(ifc, name, &ifd); KASSERT(error == 0, ("%s: failed to create required interface %s", __func__, name)); diff --git a/sys/net/if_clone.h b/sys/net/if_clone.h index 1d918a012a5b..8b52c375addb 100644 --- a/sys/net/if_clone.h +++ b/sys/net/if_clone.h @@ -56,6 +56,26 @@ typedef int ifc_create_f(struct if_clone *ifc, char *name, size_t maxlen, struct ifc_data *ifd, struct ifnet **ifpp); typedef int ifc_destroy_f(struct if_clone *ifc, struct ifnet *ifp, uint32_t flags); +struct nl_parsed_link; +struct nlattr_bmask; +struct nl_pstate; +struct nl_writer; +struct ifc_data_nl { + struct nl_parsed_link *lattrs;/* (in) Parsed link attributes */ + const struct nlattr_bmask *bm; /* (in) Bitmask of set link attributes */ + struct nl_pstate *npt; /* (in) Netlink context */ + void *params;/* (in) (Compat) data from ioctl */ + uint32_t flags; /* (in) IFC_F flags */ + uint32_t unit; /* (in/out) Selected unit when IFC_C_AUTOUNIT set */ + int error; /* (out) Return error code */ + struct ifnet *ifp; /* (out) Returned ifp */ +}; + +typedef int ifc_create_nl_f(struct if_clone *ifc, char *name, size_t maxlen, + struct ifc_data_nl *ifd); +typedef int ifc_modify_nl_f(struct ifnet *ifp, struct ifc_data_nl *ifd); +typedef void ifc_dump_nl_f(struct ifnet *ifp, struct nl_writer *nw); + struct if_clone_addreq { uint16_t version; /* Always 0 for now */ uint16_t spare; @@ -66,17 +86,35 @@ struct if_clone_addreq { ifc_destroy_f *destroy_f; }; +struct if_clone_addreq_v2 { + uint16_t version; /* 2 */ + uint16_t spare; + uint32_t flags; + uint32_t maxunit; /* Maximum allowed unit number */ + ifc_match_f *match_f; + ifc_create_f *create_f; + ifc_destroy_f *destroy_f; + ifc_create_nl_f *create_nl_f; + ifc_modify_nl_f *modify_nl_f; + ifc_dump_nl_f *dump_nl_f; +}; + + #define IFC_F_NOGROUP 0x01 /* Creation flag: don't add unit group */ #define IFC_F_AUTOUNIT 0x02 /* Creation flag: automatically select unit */ #define IFC_F_SYSSPACE 0x04 /* Cloner callback: params pointer is in kernel memory */ #define IFC_F_FORCE 0x08 /* Deletion flag: force interface deletion */ +#define IFC_F_CREATE 0x10 /* Creation flag: indicate creation request */ #define IFC_NOGROUP IFC_F_NOGROUP struct if_clone *ifc_attach_cloner(const char *name, struct if_clone_addreq *req); void ifc_detach_cloner(struct if_clone *ifc); -int ifc_create_ifp(const char *name, struct ifc_data *ifd, - struct ifnet **ifpp); +int ifc_create_ifp(const char *name, struct ifc_data *ifd, struct ifnet **ifpp); + +bool ifc_create_ifp_nl(const char *name, struct ifc_data_nl *ifd); +bool ifc_modify_ifp_nl(struct ifnet *ifp, struct ifc_data_nl *ifd); +bool ifc_dump_ifp_nl(struct ifnet *ifp, struct nl_writer *nw); void ifc_link_ifp(struct if_clone *ifc, struct ifnet *ifp); bool ifc_unlink_ifp(struct if_clone *ifc, struct ifnet *ifp); diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index 0f2ded3f6040..f5b401c446ed 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" #include "opt_kern_tls.h" +#include "opt_netlink.h" #include "opt_vlan.h" #include "opt_ratelimit.h" @@ -85,6 +86,11 @@ __FBSDID("$FreeBSD$"); #include #endif +#include +#include +#include +#include + #define VLAN_DEF_HWIDTH 4 #define VLAN_IFFLAGS (IFF_BROADCAST | IFF_MULTICAST) @@ -320,6 +326,11 @@ static int vlan_clone_create(struct if_clone *, char *, size_t, struct ifc_data *, struct ifnet **); static int vlan_clone_destroy(struct if_clone *, struct ifnet *, uint32_t); +static int vlan_clone_create_nl(struct if_clone *ifc, char *name, size_t len, + struct ifc_data_nl *ifd); +static int vlan_clone_modify_nl(struct ifnet *ifp, struct ifc_data_nl *ifd); +static void vlan_clone_dump_nl(struct ifnet *ifp, struct nl_writer *nw); + static void vlan_ifdetach(void *arg, struct ifnet *ifp); static void vlan_iflladdr(void *arg, struct ifnet *ifp); static void vlan_ifevent(void *arg, struct ifnet *ifp, int event); @@ -896,10 +907,14 @@ extern void (*vlan_input_p)(struct ifnet *, struct mbuf *); /* For if_link_state_change() eyes only... */ extern void (*vlan_link_state_p)(struct ifnet *); -static struct if_clone_addreq vlan_addreq = { +static struct if_clone_addreq_v2 vlan_addreq = { + .version = 2, .match_f = vlan_clone_match, .create_f = vlan_clone_create, .destroy_f = vlan_clone_destroy, + .create_nl_f = vlan_clone_create_nl, + .modify_nl_f = vlan_clone_modify_nl, + .dump_nl_f = vlan_clone_dump_nl, }; static int @@ -931,7 +946,7 @@ vlan_modevent(module_t mod, int type, void *data) vlan_pcp_p = vlan_pcp; vlan_devat_p = vlan_devat; #ifndef VIMAGE - vlan_cloner = ifc_attach_cloner(vlanname, &vlan_addreq); + vlan_cloner = ifc_attach_cloner(vlanname, (struct if_clone_addreq *)&vlan_addreq); #endif if (bootverbose) printf("vlan: initialized, using " @@ -981,7 +996,7 @@ MODULE_VERSION(if_vlan, 3); static void vnet_vlan_init(const void *unused __unused) { - vlan_cloner = ifc_attach_cloner(vlanname, &vlan_addreq); + vlan_cloner = ifc_attach_cloner(vlanname, (struct if_clone_addreq *)&vlan_addreq); V_vlan_cloner = vlan_cloner; } VNET_SYSINIT(vnet_vlan_init, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, @@ -1222,6 +1237,165 @@ vlan_clone_create(struct if_clone *ifc, char *name, size_t len, return (0); } +/* + * + * Parsers of IFLA_INFO_DATA inside IFLA_LINKINFO of RTM_NEWLINK + * {{nla_len=8, nla_type=IFLA_LINK}, 2}, + * {{nla_len=12, nla_type=IFLA_IFNAME}, "xvlan22"}, + * {{nla_len=24, nla_type=IFLA_LINKINFO}, + * [ + * {{nla_len=8, nla_type=IFLA_INFO_KIND}, "vlan"...}, + * {{nla_len=12, nla_type=IFLA_INFO_DATA}, "\x06\x00\x01\x00\x16\x00\x00\x00"}]} + */ + +struct nl_parsed_vlan { + uint16_t vlan_id; + uint16_t vlan_proto; + struct ifla_vlan_flags vlan_flags; +}; + +#define _OUT(_field) offsetof(struct nl_parsed_vlan, _field) +static const struct nlattr_parser nla_p_vlan[] = { + { .type = IFLA_VLAN_ID, .off = _OUT(vlan_id), .cb = nlattr_get_uint16 }, + { .type = IFLA_VLAN_FLAGS, .off = _OUT(vlan_flags), .cb = nlattr_get_nla }, + { .type = IFLA_VLAN_PROTOCOL, .off = _OUT(vlan_proto), .cb = nlattr_get_uint16 }, +}; +#undef _OUT +NL_DECLARE_ATTR_PARSER(vlan_parser, nla_p_vlan); + +static int +vlan_clone_create_nl(struct if_clone *ifc, char *name, size_t len, + struct ifc_data_nl *ifd) +{ + struct epoch_tracker et; + struct ifnet *ifp_parent; + struct nl_pstate *npt = ifd->npt; + struct nl_parsed_link *lattrs = ifd->lattrs; + int error; + + /* + * lattrs.ifla_ifname is the new interface name + * lattrs.ifi_index contains parent interface index + * lattrs.ifla_idata contains un-parsed vlan data + */ + struct nl_parsed_vlan attrs = { + .vlan_id = 0xFEFE, + .vlan_proto = ETHERTYPE_VLAN + }; + + if (lattrs->ifla_idata == NULL) { + nlmsg_report_err_msg(npt, "vlan id is required, guessing not supported"); + return (ENOTSUP); + } + + error = nl_parse_nested(lattrs->ifla_idata, &vlan_parser, npt, &attrs); + if (error != 0) + return (error); + if (attrs.vlan_id > 4095) { + nlmsg_report_err_msg(npt, "Invalid VID: %d", attrs.vlan_id); + return (EINVAL); + } + if (attrs.vlan_proto != ETHERTYPE_VLAN && attrs.vlan_proto != ETHERTYPE_QINQ) { + nlmsg_report_err_msg(npt, "Unsupported ethertype: 0x%04X", attrs.vlan_proto); + return (ENOTSUP); + } + + struct vlanreq params = { + .vlr_tag = attrs.vlan_id, + .vlr_proto = attrs.vlan_proto, + }; + struct ifc_data ifd_new = { .flags = IFC_F_SYSSPACE, .unit = ifd->unit, .params = ¶ms }; + + NET_EPOCH_ENTER(et); + ifp_parent = ifnet_byindex(lattrs->ifi_index); + if (ifp_parent != NULL) + strlcpy(params.vlr_parent, if_name(ifp_parent), sizeof(params.vlr_parent)); + NET_EPOCH_EXIT(et); + + if (ifp_parent == NULL) { + nlmsg_report_err_msg(npt, "unable to find parent interface %u", lattrs->ifi_index); + return (ENOENT); + } + + error = vlan_clone_create(ifc, name, len, &ifd_new, &ifd->ifp); + + return (error); +} + +static int +vlan_clone_modify_nl(struct ifnet *ifp, struct ifc_data_nl *ifd) +{ + struct nl_parsed_link *lattrs = ifd->lattrs; + + if ((lattrs->ifla_idata != NULL) && ((ifd->flags & IFC_F_CREATE) == 0)) { + struct epoch_tracker et; + struct nl_parsed_vlan attrs = { + .vlan_proto = ETHERTYPE_VLAN, + }; + int error; + + error = nl_parse_nested(lattrs->ifla_idata, &vlan_parser, ifd->npt, &attrs); + if (error != 0) + return (error); + + NET_EPOCH_ENTER(et); + struct ifnet *ifp_parent = ifnet_byindex_ref(lattrs->ifla_link); + NET_EPOCH_EXIT(et); + + if (ifp_parent == NULL) { + nlmsg_report_err_msg(ifd->npt, "unable to find parent interface %u", + lattrs->ifla_link); + return (ENOENT); + } + + struct ifvlan *ifv = ifp->if_softc; + error = vlan_config(ifv, ifp_parent, attrs.vlan_id, attrs.vlan_proto); + + if_rele(ifp_parent); + if (error != 0) + return (error); + } + + return (nl_modify_ifp_generic(ifp, ifd->lattrs, ifd->bm, ifd->npt)); +} + +/* + * {{nla_len=24, nla_type=IFLA_LINKINFO}, + * [ + * {{nla_len=8, nla_type=IFLA_INFO_KIND}, "vlan"...}, + * {{nla_len=12, nla_type=IFLA_INFO_DATA}, "\x06\x00\x01\x00\x16\x00\x00\x00"}]} + */ +static void +vlan_clone_dump_nl(struct ifnet *ifp, struct nl_writer *nw) +{ + uint32_t parent_index = 0; + uint16_t vlan_id = 0; + uint16_t vlan_proto = 0; + + VLAN_SLOCK(); + struct ifvlan *ifv = ifp->if_softc; + if (TRUNK(ifv) != NULL) + parent_index = PARENT(ifv)->if_index; + vlan_id = ifv->ifv_vid; + vlan_proto = ifv->ifv_proto; + VLAN_SUNLOCK(); + + if (parent_index != 0) + nlattr_add_u32(nw, IFLA_LINK, parent_index); + + int off = nlattr_add_nested(nw, IFLA_LINKINFO); + if (off != 0) { + nlattr_add_string(nw, IFLA_INFO_KIND, "vlan"); + int off2 = nlattr_add_nested(nw, IFLA_INFO_DATA); + if (off2 != 0) { + nlattr_add_u16(nw, IFLA_VLAN_ID, vlan_id); + nlattr_add_u16(nw, IFLA_VLAN_PROTOCOL, vlan_proto); + nlattr_set_len(nw, off2); + } + nlattr_set_len(nw, off); + } +} + static int vlan_clone_destroy(struct if_clone *ifc, struct ifnet *ifp, uint32_t flags) { diff --git a/sys/netlink/netlink_glue.c b/sys/netlink/netlink_glue.c index 25b891036b5b..069cb9900e03 100644 --- a/sys/netlink/netlink_glue.c +++ b/sys/netlink/netlink_glue.c @@ -177,6 +177,19 @@ nlmsg_end_dump_stub(struct nl_writer *nw, int error, struct nlmsghdr *hdr) return (false); } +static int +nl_modify_ifp_generic_stub(struct ifnet *ifp __unused, + struct nl_parsed_link *lattrs __unused, const struct nlattr_bmask *bm __unused, + struct nl_pstate *npt __unused) +{ + return (ENOTSUP); +} + +static void +nl_store_ifp_cookie_stub(struct nl_pstate *npt __unused, struct ifnet *ifp __unused) +{ +} + const static struct nl_function_wrapper nl_stub = { .nlmsg_add = nlmsg_add_stub, .nlmsg_refill_buffer = nlmsg_refill_buffer_stub, @@ -188,6 +201,8 @@ const static struct nl_function_wrapper nl_stub = { .nlmsg_get_group_writer = nlmsg_get_group_writer_stub, .nlmsg_get_chain_writer = nlmsg_get_chain_writer_stub, .nlmsg_end_dump = nlmsg_end_dump_stub, + .nl_modify_ifp_generic = nl_modify_ifp_generic_stub, + .nl_store_ifp_cookie = nl_store_ifp_cookie_stub, }; /* @@ -262,5 +277,19 @@ nlmsg_end_dump(struct nl_writer *nw, int error, struct nlmsghdr *hdr) { return (_nl->nlmsg_end_dump(nw, error, hdr)); } + +int +nl_modify_ifp_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, + const struct nlattr_bmask *bm , struct nl_pstate *npt) +{ + return (_nl->nl_modify_ifp(ifp, lattrs, bm, npt)); +} + +static void +nl_store_ifp_cookie_stub(struct nl_pstate *npt, struct ifnet *ifp) +{ + return (_nl->nl_store_ifp_cookie(npt, ifp)); +} + #endif /* !NETLINK */ diff --git a/sys/netlink/netlink_module.c b/sys/netlink/netlink_module.c index a881a7540166..051eb0cb120b 100644 --- a/sys/netlink/netlink_module.c +++ b/sys/netlink/netlink_module.c @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include diff --git a/sys/netlink/netlink_var.h b/sys/netlink/netlink_var.h index 465378f8af1e..cb1e3974b5f5 100644 --- a/sys/netlink/netlink_var.h +++ b/sys/netlink/netlink_var.h @@ -172,6 +172,11 @@ struct genl_group *genl_get_group(uint32_t group_id); #define CTRL_FAMILY_NAME "nlctrl" +struct ifnet; +struct nl_parsed_link; +struct nlattr_bmask; +struct nl_pstate; + /* Function map */ struct nl_function_wrapper { bool (*nlmsg_add)(struct nl_writer *nw, uint32_t portid, uint32_t seq, uint16_t type, @@ -185,8 +190,13 @@ struct nl_function_wrapper { bool (*nlmsg_get_group_writer)(struct nl_writer *nw, int size, int protocol, int group_id); bool (*nlmsg_get_chain_writer)(struct nl_writer *nw, int size, struct mbuf **pm); bool (*nlmsg_end_dump)(struct nl_writer *nw, int error, struct nlmsghdr *hdr); + int (*nl_modify_ifp_generic)(struct ifnet *ifp, struct nl_parsed_link *lattrs, + const struct nlattr_bmask *bm, struct nl_pstate *npt); + void (*nl_store_ifp_cookie)(struct nl_pstate *npt, struct ifnet *ifp); }; void nl_set_functions(const struct nl_function_wrapper *nl); + + #endif #endif diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index b27a0193fe0d..d81dc1f0ecae 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -303,13 +303,7 @@ dump_iface(struct nl_writer *nw, struct ifnet *ifp, const struct nlmsghdr *hdr, uint32_t val = (ifp->if_flags & IFF_PROMISC) != 0; nlattr_add_u32(nw, IFLA_PROMISCUITY, val); - sx_slock(&rtnl_cloner_lock); - struct nl_cloner *cloner = rtnl_iface_find_cloner_locked(ifp->if_dname); - if (cloner != NULL && cloner->dump_f != NULL) { - /* Ignore any dump error */ - cloner->dump_f(ifp, nw); - } - sx_sunlock(&rtnl_cloner_lock); + ifc_dump_ifp_nl(ifp, nw); if (nlmsg_end(nw)) return (true); @@ -353,7 +347,7 @@ NL_DECLARE_ATTR_PARSER(linfo_parser, nla_p_linfo); static const struct nlattr_parser nla_p_if[] = { { .type = IFLA_IFNAME, .off = _OUT(ifla_ifname), .cb = nlattr_get_string }, { .type = IFLA_MTU, .off = _OUT(ifla_mtu), .cb = nlattr_get_uint32 }, - { .type = IFLA_LINK, .off = _OUT(ifi_index), .cb = nlattr_get_uint32 }, + { .type = IFLA_LINK, .off = _OUT(ifla_link), .cb = nlattr_get_uint32 }, { .type = IFLA_LINKINFO, .arg = &linfo_parser, .cb = nlattr_get_nested }, { .type = IFLA_IFALIAS, .off = _OUT(ifla_ifalias), .cb = nlattr_get_string }, { .type = IFLA_GROUP, .off = _OUT(ifla_group), .cb = nlattr_get_string }, @@ -545,21 +539,16 @@ create_link(struct nlmsghdr *hdr, struct nl_parsed_link *lattrs, return (EINVAL); } - bool found = false; - int error = 0; - - sx_slock(&rtnl_cloner_lock); - struct nl_cloner *cloner = rtnl_iface_find_cloner_locked(lattrs->ifla_cloner); - if (cloner != NULL) { - found = true; - error = cloner->create_f(lattrs, bm, nlp, npt); - } - sx_sunlock(&rtnl_cloner_lock); - - if (!found) - error = generic_cloner.create_f(lattrs, bm, nlp, npt); + struct ifc_data_nl ifd = { + .flags = IFC_F_CREATE, + .lattrs = lattrs, + .bm = bm, + .npt = npt, + }; + if (ifc_create_ifp_nl(lattrs->ifla_ifname, &ifd) && ifd.error == 0) + nl_store_ifp_cookie(npt, ifd.ifp); - return (error); + return (ifd.error); } static int @@ -602,31 +591,20 @@ modify_link(struct nlmsghdr *hdr, struct nl_parsed_link *lattrs, MPASS(ifp != NULL); /* - * There can be multiple kinds of interfaces: - * 1) cloned, with additional options - * 2) cloned, but w/o additional options - * 3) non-cloned (e.g. "physical). - * - * Thus, try to find cloner-specific callback and fallback to the - * "default" handler if not found. + * Modification request can address either + * 1) cloned interface, in which case we call the cloner-specific + * modification routine + * or + * 2) non-cloned (e.g. "physical") interface, in which case we call + * generic modification routine */ - bool found = false; - int error = 0; - - sx_slock(&rtnl_cloner_lock); - struct nl_cloner *cloner = rtnl_iface_find_cloner_locked(ifp->if_dname); - if (cloner != NULL) { - found = true; - error = cloner->modify_f(ifp, lattrs, bm, nlp, npt); - } - sx_sunlock(&rtnl_cloner_lock); - - if (!found) - error = generic_cloner.modify_f(ifp, lattrs, bm, nlp, npt); + struct ifc_data_nl ifd = { .lattrs = lattrs, .bm = bm, .npt = npt }; + if (!ifc_modify_ifp_nl(ifp, &ifd)) + ifd.error = nl_modify_ifp_generic(ifp, lattrs, bm, npt); if_rele(ifp); - return (error); + return (ifd.error); } @@ -1067,7 +1045,6 @@ rtnl_ifaces_init(void) ifnet_link_event, rtnl_handle_iflink, NULL, EVENTHANDLER_PRI_ANY); NL_VERIFY_PARSERS(all_parsers); - rtnl_iface_drivers_register(); rtnl_register_messages(cmd_handlers, NL_ARRAY_LEN(cmd_handlers)); } diff --git a/sys/netlink/route/iface_drivers.c b/sys/netlink/route/iface_drivers.c index be28a0f3b676..17fbc1000d23 100644 --- a/sys/netlink/route/iface_drivers.c +++ b/sys/netlink/route/iface_drivers.c @@ -63,14 +63,14 @@ _DECLARE_DEBUG(LOG_DEBUG); * Responsible for changing network stack interface attributes * such as state, mtu or description. */ -static int -modify_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, - const struct nlattr_bmask *bm, struct nlpcb *nlp, struct nl_pstate *npt) +int +nl_modify_ifp_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, + const struct nlattr_bmask *bm, struct nl_pstate *npt) { int error; if (lattrs->ifla_ifalias != NULL) { - if (nlp_has_priv(nlp, PRIV_NET_SETIFDESCR)) { + if (nlp_has_priv(npt->nlp, PRIV_NET_SETIFDESCR)) { int len = strlen(lattrs->ifla_ifalias) + 1; char *buf = if_allocdescr(len, M_WAITOK); @@ -89,7 +89,7 @@ modify_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, } if (lattrs->ifla_mtu > 0) { - if (nlp_has_priv(nlp, PRIV_NET_SETIFMTU)) { + if (nlp_has_priv(npt->nlp, PRIV_NET_SETIFMTU)) { struct ifreq ifr = { .ifr_mtu = lattrs->ifla_mtu }; error = ifhwioctl(SIOCSIFMTU, ifp, (char *)&ifr, curthread); } else { @@ -117,8 +117,8 @@ modify_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, * IFLA_NEW_IFINDEX(u32) * IFLA_IFNAME(string) */ -static void -store_cookie(struct nl_pstate *npt, struct ifnet *ifp) +void +nl_store_ifp_cookie(struct nl_pstate *npt, struct ifnet *ifp) { int ifname_len = strlen(if_name(ifp)); uint32_t ifindex = (uint32_t)ifp->if_index; @@ -144,161 +144,3 @@ store_cookie(struct nl_pstate *npt, struct ifnet *ifp) nlmsg_report_cookie(npt, nla_cookie); } -static int -create_generic_ifd(struct nl_parsed_link *lattrs, const struct nlattr_bmask *bm, - struct ifc_data *ifd, struct nlpcb *nlp, struct nl_pstate *npt) -{ - int error = 0; - - struct ifnet *ifp = NULL; - error = ifc_create_ifp(lattrs->ifla_ifname, ifd, &ifp); - - NLP_LOG(LOG_DEBUG2, nlp, "clone for %s returned %d", lattrs->ifla_ifname, error); - - if (error == 0) { - struct epoch_tracker et; - - NET_EPOCH_ENTER(et); - bool success = if_try_ref(ifp); - NET_EPOCH_EXIT(et); - if (!success) - return (EINVAL); - error = modify_generic(ifp, lattrs, bm, nlp, npt); - if (error == 0) - store_cookie(npt, ifp); - if_rele(ifp); - } - - return (error); -} -/* - * Generic creation interface handler. - * Responsible for creating interfaces w/o parameters and setting - * misc attributes such as state, mtu or description. - */ -static int -create_generic(struct nl_parsed_link *lattrs, const struct nlattr_bmask *bm, - struct nlpcb *nlp, struct nl_pstate *npt) -{ - struct ifc_data ifd = {}; - - return (create_generic_ifd(lattrs, bm, &ifd, nlp, npt)); -} - -struct nl_cloner generic_cloner = { - .name = "_default_", - .create_f = create_generic, - .modify_f = modify_generic, -}; - -/* - * - * {len=76, type=RTM_NEWLINK, flags=NLM_F_REQUEST|NLM_F_ACK|NLM_F_EXCL|NLM_F_CREATE, seq=1662892737, pid=0}, - * {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_NETROM, ifi_index=0, ifi_flags=0, ifi_change=0}, - * [ - * {{nla_len=8, nla_type=IFLA_LINK}, 2}, - * {{nla_len=12, nla_type=IFLA_IFNAME}, "xvlan22"}, - * {{nla_len=24, nla_type=IFLA_LINKINFO}, - * [ - * {{nla_len=8, nla_type=IFLA_INFO_KIND}, "vlan"...}, - * {{nla_len=12, nla_type=IFLA_INFO_DATA}, "\x06\x00\x01\x00\x16\x00\x00\x00"}]}]}, iov_len=76}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 76 - */ - -struct nl_parsed_vlan { - uint16_t vlan_id; - uint16_t vlan_proto; - struct ifla_vlan_flags vlan_flags; -}; - -#define _OUT(_field) offsetof(struct nl_parsed_vlan, _field) -static const struct nlattr_parser nla_p_vlan[] = { - { .type = IFLA_VLAN_ID, .off = _OUT(vlan_id), .cb = nlattr_get_uint16 }, - { .type = IFLA_VLAN_FLAGS, .off = _OUT(vlan_flags), .cb = nlattr_get_nla }, - { .type = IFLA_VLAN_PROTOCOL, .off = _OUT(vlan_proto), .cb = nlattr_get_uint16 }, -}; -#undef _OUT -NL_DECLARE_ATTR_PARSER(vlan_parser, nla_p_vlan); - -static int -create_vlan(struct nl_parsed_link *lattrs, const struct nlattr_bmask *bm, - struct nlpcb *nlp, struct nl_pstate *npt) -{ - struct epoch_tracker et; - struct ifnet *ifp; - int error; - - /* - * lattrs.ifla_ifname is the new interface name - * lattrs.ifi_index contains parent interface index - * lattrs.ifla_idata contains un-parsed vlan data - */ - - struct nl_parsed_vlan attrs = { - .vlan_id = 0xFEFE, - .vlan_proto = ETHERTYPE_VLAN - }; - NLP_LOG(LOG_DEBUG3, nlp, "nested: %p len %d", lattrs->ifla_idata, lattrs->ifla_idata->nla_len); - - if (lattrs->ifla_idata == NULL) { - NLMSG_REPORT_ERR_MSG(npt, "vlan id is required, guessing not supported"); - return (ENOTSUP); - } - - error = nl_parse_nested(lattrs->ifla_idata, &vlan_parser, npt, &attrs); - if (error != 0) - return (error); - if (attrs.vlan_id > 4095) { - NLMSG_REPORT_ERR_MSG(npt, "Invalid VID: %d", attrs.vlan_id); - return (EINVAL); - } - if (attrs.vlan_proto != ETHERTYPE_VLAN && attrs.vlan_proto != ETHERTYPE_QINQ) { - NLMSG_REPORT_ERR_MSG(npt, "Unsupported ethertype: 0x%04X", attrs.vlan_proto); - return (ENOTSUP); - } - - NET_EPOCH_ENTER(et); - ifp = ifnet_byindex_ref(lattrs->ifi_index); - NET_EPOCH_EXIT(et); - if (ifp == NULL) { - NLP_LOG(LOG_DEBUG, nlp, "unable to find parent interface %u", - lattrs->ifi_index); - return (ENOENT); - } - - struct vlanreq params = { - .vlr_tag = attrs.vlan_id, - .vlr_proto = attrs.vlan_proto, - }; - strlcpy(params.vlr_parent, if_name(ifp), sizeof(params.vlr_parent)); - struct ifc_data ifd = { .flags = IFC_F_SYSSPACE, .params = ¶ms }; - - error = create_generic_ifd(lattrs, bm, &ifd, nlp, npt); - - if_rele(ifp); - return (error); -} - -static int -dump_vlan(struct ifnet *ifp, struct nl_writer *nw) -{ *** 70 LINES SKIPPED *** From nobody Tue Apr 25 12:42:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5M8c592Bz478Yv; Tue, 25 Apr 2023 12:42: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 4Q5M8c4z0wz4MYL; Tue, 25 Apr 2023 12:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682426544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0aHgojhsjlomdoRu1QSZ2z2Obfy7Gz6f971g4nKYijc=; b=FKNFScTHzTbsBC79mFlXhTLMxxpKvr0XJ7P7Y/vU3O7QSNrF/vrriaoZ8V5XnCgVuWO4M5 eMgpoULAXCs4drwG9f5v3kYEMNhR/dzX6Vcl+Lc1xeDYjUxum1Gf5HvgGubN6oqxXL3pn+ Q6T4yLrtMaZQc80KpR/q2fkn/QQy8G/ilw0cqcFsMr1rW39b2zR/AlhIcTkXgHiBGi2sOE +7n98QqwoKoanG6ByJf5yxdPIUX4GD0d47bPPzxLKpq9AgRUCv4I62mjYUFM+6X9zTYPuQ pv3dCIeDAwgSNzPM2Iv7w7FgtuOxEKt6TTc6e3IxczuLpjanZwXvkI9nzUH/Og== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682426544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0aHgojhsjlomdoRu1QSZ2z2Obfy7Gz6f971g4nKYijc=; b=OZ+DOo7J7z1YFotudGgIbsimqw5IWSXGak798EMfDYHi3EGCxBGf1xNqizJCVCWtalUdKj yZ6axMBlGhSOulXPyjlMI/Ger0Iql05zi8L78EuG8xABO+r/45DBAVgaf2BnQoUCVfEzzi rTplB4UMoYKln5rIgOTBDLU60MgFkfUJ2YMb86L1WclwrvR4GABt/jZme8vRpKszohlvyW DG/UhUI2DOGYmoj/snQesMS8092CA2zPvvSp9wMNXcjovEpGaoRN44Cwmd6CAHf/i8YaIW X9TENARAPfq0Z+dgM/z5m8UBZum49/Ya6HsnlIR4rDJaZKahn5lMYyP252J7Gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682426544; a=rsa-sha256; cv=none; b=ywcsqPNSZmSCm2OIpjdZQLvFFGw2UxPOq8SEz8JH0c4fKgGL4teusYf2Q7kxtCVY3XmPGs fWPPK53bphLQ2cCyWu3Uj+aSHhy3j5SS5c/J1LMBlJen4s4/MOUrCcSWCFgw3MyHJE1HOx f323p/PZskX13dlPQ7JAv/IKnl/wn3fFWkQxw2yojexemgamHJvIQ2f66ZNIU1XTojM2fS XXozh8dcOmPLMfmBri8q6DUtnNdCCLx0DR+vbTcqzzK8G45o//Vi7vM6VW8yQLN8pwTkLK ctL/WIjqNZBQ+UrP/nhuLVSRTQgNfhBIwZOmOfZEdcvDwvpocx73NWN6i+FgLA== 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 4Q5M8c41p0z179J; Tue, 25 Apr 2023 12:42: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 33PCgOYS059247; Tue, 25 Apr 2023 12:42:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PCgOfQ059246; Tue, 25 Apr 2023 12:42:24 GMT (envelope-from git) Date: Tue, 25 Apr 2023 12:42:24 GMT Message-Id: <202304251242.33PCgOfQ059246@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: fc727ad63d3f - main - ipfw: add [fw]mark implementation for ipfw List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fc727ad63d3f8d3a4be693c2c9c36200a37200ec Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=fc727ad63d3f8d3a4be693c2c9c36200a37200ec commit fc727ad63d3f8d3a4be693c2c9c36200a37200ec Author: Boris Lytochkin AuthorDate: 2023-04-25 12:38:36 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 12:40:23 +0000 ipfw: add [fw]mark implementation for ipfw Packet Mark is an analogue to ipfw tags with O(1) lookup from mbuf while regular tags require a single-linked list traversal. Mark is a 32-bit number that can be looked up in a table [with 'number' table-type], matched or compared with a number with optional mask applied before comparison. Having generic nature, Mark can be used in a variety of needs. For example, it could be used as a security group: mark will hold a security group id and represent a group of packet flows that shares same access control policy. Reviewed By: pauamma_gundo.com Differential Revision: https://reviews.freebsd.org/D39555 MFC after: 1 month --- sbin/ipfw/ipfw.8 | 54 +++++++++++++++++++--- sbin/ipfw/ipfw2.c | 87 +++++++++++++++++++++++++++++++++++- sbin/ipfw/ipfw2.h | 3 ++ sbin/ipfw/tables.c | 49 ++++++++------------ sys/netinet/ip_fw.h | 11 ++++- sys/netinet/ip_var.h | 17 +++++++ sys/netpfil/ipfw/ip_fw2.c | 30 +++++++++++++ sys/netpfil/ipfw/ip_fw_log.c | 26 ++++++++--- sys/netpfil/ipfw/ip_fw_pfil.c | 3 +- sys/netpfil/ipfw/ip_fw_private.h | 7 +-- sys/netpfil/ipfw/ip_fw_sockopt.c | 9 ++++ sys/netpfil/ipfw/ip_fw_table.c | 1 + sys/netpfil/ipfw/ip_fw_table_value.c | 16 ++++--- 13 files changed, 259 insertions(+), 54 deletions(-) diff --git a/sbin/ipfw/ipfw.8 b/sbin/ipfw/ipfw.8 index 884797304b78..b7a55088c751 100644 --- a/sbin/ipfw/ipfw.8 +++ b/sbin/ipfw/ipfw.8 @@ -759,7 +759,7 @@ A packet can have multiple tags at the same time. Tags are "sticky", meaning once a tag is applied to a packet by a matching rule it exists until explicit removal. Tags are kept with the packet everywhere within the kernel, but are -lost when packet leaves the kernel, for example, on transmitting +lost when the packet leaves the kernel, for example, on transmitting packet out to the network or sending packet to a .Xr divert 4 socket. @@ -793,6 +793,27 @@ keyword, the tag with the number is searched among the tags attached to this packet and, if found, removed from it. Other tags bound to packet, if present, are left untouched. +.It Cm setmark Ar value | tablearg +When a packet matches a rule with the +.Cm setmark +keyword, a 32-bit numeric mark is assigned to the packet. +The mark is an extension to the tags. +As tags, mark is "sticky" so the value is kept the same within the kernel and +is lost when the packet leaves the kernel. +Unlike tags, mark can be matched as a lookup table key or compared with bitwise +mask applied against another value. +Each packet can have only one mark, so +.Cm setmark +always overwrites the previous mark value. +.Pp +The initial mark value is 0. +To check the current mark value, use the +.Cm mark +rule option. +Mark +.Ar value +can be entered as decimal or hexadecimal (if prefixed by 0x), and they +are always printed as hexadecimal. .It Cm altq Ar queue When a packet matches a rule with the .Cm altq @@ -1845,7 +1866,8 @@ set of parameters as specified in the rule. One or more of source and destination addresses and ports can be specified. -.It Cm lookup Bro Cm dst-ip | dst-port | dst-mac | src-ip | src-port | src-mac | uid | jail Brc Ar name +.It Cm lookup Bro Cm dst-ip | dst-port | dst-mac | src-ip | src-port | src-mac | uid | +.Cm jail | dscp | mark Brc Ar name Search an entry in lookup table .Ar name that matches the field specified as argument. @@ -2017,6 +2039,23 @@ specified in the same way as Tags can be applied to the packet using .Cm tag rule action parameter (see it's description for details on tags). +.It Cm mark Ar value[:bitmask] | tablearg[:bitmask] +Matches packets whose mark is equal to +.Ar value +with optional +.Ar bitmask +applied to it. +.Cm tablearg +can also be used instead of an explicit +.Ar value +to match a value supplied by the last table lookup. +.Pp +Both +.Ar value +and +.Ar bitmask +can be entered as decimal or hexadecimal (if prefixed by 0x), and they +are always printed as hexadecimal. .It Cm tcpack Ar ack TCP packets only. Match if the TCP header acknowledgment number field is set to @@ -2359,7 +2398,7 @@ The following value types are supported: .Bl -tag -width indent .It Ar value-mask : Ar value-type Ns Op , Ns Ar value-mask .It Ar value-type : Ar skipto | pipe | fib | nat | dscp | tag | divert | -.Ar netgraph | limit | ipv4 +.Ar netgraph | limit | ipv4 | ipv6 | mark .It Cm skipto rule number to jump to. .It Cm pipe @@ -2382,16 +2421,19 @@ maximum number of connections. IPv4 nexthop to fwd packets to. .It Cm ipv6 IPv6 nexthop to fwd packets to. +.It Cm mark +mark value to match/set. .El .Pp The .Cm tablearg argument can be used with the following actions: .Cm nat, pipe, queue, divert, tee, netgraph, ngtee, fwd, skipto, setfib , +.Cm setmark , action parameters: .Cm tag, untag , rule options: -.Cm limit, tagged . +.Cm limit, tagged, mark . .Pp When used with the .Cm skipto @@ -3326,8 +3368,8 @@ Obey transparent proxy rules only, packet aliasing is not performed. .It Cm skip_global Skip instance in case of global state lookup (see below). .It Cm port_range Ar lower-upper -Set the aliasing ports between the ranges given. Upper port has to be greater -than lower. +Set the aliasing ports between the ranges given. +Upper port has to be greater than lower. .El .Pp Some special values can be supplied instead of diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c index 4ef724160625..3a50fb40bc19 100644 --- a/sbin/ipfw/ipfw2.c +++ b/sbin/ipfw/ipfw2.c @@ -288,6 +288,7 @@ static struct _s_x rule_actions[] = { { "return", TOK_RETURN }, { "eaction", TOK_EACTION }, { "tcp-setmss", TOK_TCPSETMSS }, + { "setmark", TOK_SETMARK }, { NULL, 0 } /* terminator */ }; @@ -313,6 +314,7 @@ static struct _s_x lookup_keys[] = { { "uid", LOOKUP_UID }, { "jail", LOOKUP_JAIL }, { "dscp", LOOKUP_DSCP }, + { "mark", LOOKUP_MARK }, { NULL, 0 }, }; @@ -391,6 +393,7 @@ static struct _s_x rule_options[] = { { "src-ip6", TOK_SRCIP6 }, { "lookup", TOK_LOOKUP }, { "flow", TOK_FLOW }, + { "mark", TOK_MARK }, { "defer-action", TOK_SKIPACTION }, { "defer-immediate-action", TOK_SKIPACTION }, { "//", TOK_COMMENT }, @@ -1102,6 +1105,45 @@ fill_dscp(ipfw_insn *cmd, char *av, int cblen) } } +/* + * Fill the body of the command with mark value and mask. + */ +static void +fill_mark(ipfw_insn *cmd, char *av, int cblen) +{ + uint32_t *value, *mask; + char *value_str; + + cmd->opcode = O_MARK; + cmd->len |= F_INSN_SIZE(ipfw_insn_u32) + 1; + + CHECK_CMDLEN; + + value = (uint32_t *)(cmd + 1); + mask = value + 1; + + value_str = strsep(&av, ":"); + + if (strcmp(value_str, "tablearg") == 0) { + cmd->arg1 = IP_FW_TARG; + *value = 0; + } else { + /* This is not a tablearg */ + cmd->arg1 |= 0x8000; + *value = strtoul(value_str, NULL, 0); + } + if (av) + *mask = strtoul(av, NULL, 0); + else + *mask = 0xFFFFFFFF; + + if ((*value & *mask) != *value) + errx(EX_DATAERR, "Static mark value: some bits in value are" + " set that will be masked out by mask " + "(%#x & %#x) = %#x != %#x", + *value, *mask, (*value & *mask), *value); +} + static struct _s_x icmpcodes[] = { { "net", ICMP_UNREACH_NET }, { "host", ICMP_UNREACH_HOST }, @@ -1788,6 +1830,19 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, case O_SKIP_ACTION: bprintf(bp, " defer-immediate-action"); break; + case O_MARK: + bprintf(bp, " mark"); + if (cmd->arg1 == IP_FW_TARG) + bprintf(bp, " tablearg"); + else + bprintf(bp, " %#x", + ((const ipfw_insn_u32 *)cmd)->d[0]); + + if (((const ipfw_insn_u32 *)cmd)->d[1] != 0xFFFFFFFF) + bprintf(bp, ":%#x", + ((const ipfw_insn_u32 *)cmd)->d[1]); + break; + default: bprintf(bp, " [opcode %d len %d]", cmd->opcode, cmd->len); @@ -2031,6 +2086,13 @@ print_action_instruction(struct buf_pr *bp, const struct format_opts *fo, else bprint_uint_arg(bp, "call ", cmd->arg1); break; + case O_SETMARK: + if (cmd->arg1 == IP_FW_TARG) { + bprintf(bp, "setmark tablearg"); + break; + } + bprintf(bp, "setmark %#x", ((const ipfw_insn_u32 *)cmd)->d[0]); + break; default: bprintf(bp, "** unrecognized action %d len %d ", cmd->opcode, cmd->len); @@ -2175,7 +2237,7 @@ static const int action_opcodes[] = { O_CHECK_STATE, O_ACCEPT, O_COUNT, O_DENY, O_REJECT, O_UNREACH6, O_SKIPTO, O_PIPE, O_QUEUE, O_DIVERT, O_TEE, O_NETGRAPH, O_NGTEE, O_FORWARD_IP, O_FORWARD_IP6, O_NAT, - O_SETFIB, O_SETDSCP, O_REASS, O_CALLRETURN, + O_SETFIB, O_SETDSCP, O_REASS, O_CALLRETURN, O_SETMARK, /* keep the following opcodes at the end of the list */ O_EXTERNAL_ACTION, O_EXTERNAL_INSTANCE, O_EXTERNAL_DATA }; @@ -4244,6 +4306,23 @@ chkarg: fill_cmd(action, O_CALLRETURN, F_NOT, 0); break; + case TOK_SETMARK: { + action->opcode = O_SETMARK; + action->len = F_INSN_SIZE(ipfw_insn_u32); + NEED1("missing mark"); + if (strcmp(*av, "tablearg") == 0) { + action->arg1 = IP_FW_TARG; + } else { + ((ipfw_insn_u32 *)action)->d[0] = + strtoul(*av, NULL, 0); + /* This is not a tablearg */ + action->arg1 |= 0x8000; + } + av++; + CHECK_CMDLEN; + break; + } + case TOK_TCPSETMSS: { u_long mss; uint16_t idx; @@ -5131,6 +5210,12 @@ read_options: fill_cmd(cmd, O_SKIP_ACTION, 0, 0); break; + case TOK_MARK: + NEED1("missing mark value:mask"); + fill_mark(cmd, *av, cblen); + av++; + break; + default: errx(EX_USAGE, "unrecognised option [%d] %s\n", i, s); } diff --git a/sbin/ipfw/ipfw2.h b/sbin/ipfw/ipfw2.h index dd7699987434..a554f9b9f6fc 100644 --- a/sbin/ipfw/ipfw2.h +++ b/sbin/ipfw/ipfw2.h @@ -321,6 +321,9 @@ enum tokens { TOK_TCPSETMSS, + TOK_MARK, + TOK_SETMARK, + TOK_SKIPACTION, }; diff --git a/sbin/ipfw/tables.c b/sbin/ipfw/tables.c index 9e6390492e96..37cbd7a2d7ae 100644 --- a/sbin/ipfw/tables.c +++ b/sbin/ipfw/tables.c @@ -106,6 +106,7 @@ static struct _s_x tablevaltypes[] = { { "limit", IPFW_VTYPE_LIMIT }, { "ipv4", IPFW_VTYPE_NH4 }, { "ipv6", IPFW_VTYPE_NH6 }, + { "mark", IPFW_VTYPE_MARK }, { NULL, 0 } }; @@ -916,7 +917,7 @@ table_do_modify_record(int cmd, ipfw_obj_header *oh, memcpy(pbuf, oh, sizeof(*oh)); oh = (ipfw_obj_header *)pbuf; - oh->opheader.version = 1; + oh->opheader.version = 1; /* Current version */ ctlv = (ipfw_obj_ctlv *)(oh + 1); ctlv->count = count; @@ -1662,6 +1663,11 @@ tentry_fill_value(ipfw_obj_header *oh __unused, ipfw_obj_tentry *tent, } etype = "ipv6"; break; + case IPFW_VTYPE_MARK: + v->mark = strtol(n, &e, 16); + if (*e != '\0') + etype = "mark"; + break; } if (etype != NULL) @@ -1878,6 +1884,9 @@ table_show_value(char *buf, size_t bufsize, ipfw_table_value *v, NI_NUMERICHOST) == 0) l = snprintf(buf, sz, "%s,", abuf); break; + case IPFW_VTYPE_MARK: + l = snprintf(buf, sz, "%#x,", v->mark); + break; } buf += l; @@ -2034,37 +2043,17 @@ ipfw_list_ta(int ac __unused, char *av[] __unused) } -/* Copy of current kernel table_value structure */ -struct _table_value { - uint32_t tag; /* O_TAG/O_TAGGED */ - uint32_t pipe; /* O_PIPE/O_QUEUE */ - uint16_t divert; /* O_DIVERT/O_TEE */ - uint16_t skipto; /* skipto, CALLRET */ - uint32_t netgraph; /* O_NETGRAPH/O_NGTEE */ - uint32_t fib; /* O_SETFIB */ - uint32_t nat; /* O_NAT */ - uint32_t nh4; - uint8_t dscp; - uint8_t spare0; - uint16_t spare1; - /* -- 32 bytes -- */ - struct in6_addr nh6; - uint32_t limit; /* O_LIMIT */ - uint32_t zoneid; - uint64_t refcnt; /* Number of references */ -}; - static int compare_values(const void *_a, const void *_b) { - const struct _table_value *a, *b; + const ipfw_table_value *a, *b; - a = (const struct _table_value *)_a; - b = (const struct _table_value *)_b; + a = (const ipfw_table_value *)_a; + b = (const ipfw_table_value *)_b; - if (a->spare1 < b->spare1) + if (a->kidx < b->kidx) return (-1); - else if (a->spare1 > b->spare1) + else if (a->kidx > b->kidx) return (1); return (0); @@ -2075,7 +2064,7 @@ ipfw_list_values(int ac __unused, char *av[] __unused) { char buf[128]; ipfw_obj_lheader *olh; - struct _table_value *v; + ipfw_table_value *v; uint32_t i, vmask; int error; @@ -2087,13 +2076,13 @@ ipfw_list_values(int ac __unused, char *av[] __unused) table_print_valheader(buf, sizeof(buf), vmask); printf("HEADER: %s\n", buf); - v = (struct _table_value *)(olh + 1); + v = (ipfw_table_value *)(olh + 1); qsort(v, olh->count, olh->objsize, compare_values); for (i = 0; i < olh->count; i++) { table_show_value(buf, sizeof(buf), (ipfw_table_value *)v, vmask, 0); - printf("[%u] refs=%lu %s\n", v->spare1, (u_long)v->refcnt, buf); - v = (struct _table_value *)((caddr_t)v + olh->objsize); + printf("[%u] refs=%lu %s\n", v->kidx, (u_long)v->refcnt, buf); + v = (ipfw_table_value *)((caddr_t)v + olh->objsize); } free(olh); diff --git a/sys/netinet/ip_fw.h b/sys/netinet/ip_fw.h index cbf03a5a6f8e..fff76b5f840d 100644 --- a/sys/netinet/ip_fw.h +++ b/sys/netinet/ip_fw.h @@ -298,6 +298,9 @@ enum ipfw_opcodes { /* arguments (4 byte each) */ O_MAC_SRC_LOOKUP, /* arg1=table number, u32=value */ O_MAC_DST_LOOKUP, /* arg1=table number, u32=value */ + O_SETMARK, /* u32 = value */ + O_MARK, /* 2 u32 = value, bitmask */ + O_LAST_OPCODE /* not an opcode! */ }; @@ -314,6 +317,7 @@ enum ipfw_table_lookup_type { LOOKUP_DSCP, LOOKUP_DST_MAC, LOOKUP_SRC_MAC, + LOOKUP_MARK, }; /* @@ -790,6 +794,7 @@ struct _ipfw_dyn_rule { #define IPFW_VTYPE_LIMIT 0x00000100 /* limit */ #define IPFW_VTYPE_NH4 0x00000200 /* IPv4 nexthop */ #define IPFW_VTYPE_NH6 0x00000400 /* IPv6 nexthop */ +#define IPFW_VTYPE_MARK 0x00000800 /* [fw]mark */ /* MAC/InfiniBand/etc address length */ #define IPFW_MAX_L2_ADDR_LEN 20 @@ -888,6 +893,7 @@ struct tflow_entry { } a; }; +/* 64-byte structure representing multi-field table value */ typedef struct _ipfw_table_value { uint32_t tag; /* O_TAG/O_TAGGED */ uint32_t pipe; /* O_PIPE/O_QUEUE */ @@ -899,11 +905,12 @@ typedef struct _ipfw_table_value { uint32_t nh4; uint8_t dscp; uint8_t spare0; - uint16_t spare1; + uint16_t kidx; /* value kernel index */ struct in6_addr nh6; uint32_t limit; /* O_LIMIT */ uint32_t zoneid; /* scope zone id for nh6 */ - uint64_t reserved; + uint32_t mark; /* O_SETMARK/O_MARK */ + uint32_t refcnt; /* XXX 64-bit in kernel */ } ipfw_table_value; /* Table entry TLV */ diff --git a/sys/netinet/ip_var.h b/sys/netinet/ip_var.h index 2dfd7ddb4822..c25bae4b394f 100644 --- a/sys/netinet/ip_var.h +++ b/sys/netinet/ip_var.h @@ -272,13 +272,30 @@ void in_delayed_cksum(struct mbuf *m); * On entry, the structure is valid if slot>0, and refers to the starting * rules. 'info' contains the reason for reinject, e.g. divert port, * divert direction, and so on. + * + * Packet Mark is an analogue to ipfw tags with O(1) lookup from mbuf while + * regular tags require a single-linked list traversal. Mark is a 32-bit + * number that can be looked up in a table [with 'number' table-type], matched + * or compared with a number with optional mask applied before comparison. + * Having generic nature, Mark can be used in a variety of needs. + * For example, it could be used as a security group: mark will hold a + * security group id and represent a group of packet flows that shares same + * access control policy. + * O_MASK opcode can match mark value bitwise so one can build a hierarchical + * model designating different meanings for a bit range(s). */ struct ipfw_rule_ref { +/* struct m_tag spans 24 bytes above this point, see mbuf_tags(9) */ + /* spare space just to be save in case struct m_tag grows */ +/* -- 32 bytes -- */ uint32_t slot; /* slot for matching rule */ uint32_t rulenum; /* matching rule number */ uint32_t rule_id; /* matching rule id */ uint32_t chain_id; /* ruleset id */ uint32_t info; /* see below */ + uint32_t pkt_mark; /* packet mark */ + uint32_t spare[2]; +/* -- 64 bytes -- */ }; enum { diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c index f2e914e24007..4b347b2d7d2d 100644 --- a/sys/netpfil/ipfw/ip_fw2.c +++ b/sys/netpfil/ipfw/ip_fw2.c @@ -2127,6 +2127,11 @@ do { \ eh->ether_shost; keylen = ETHER_ADDR_LEN; break; + case LOOKUP_MARK: + key = args->rule.pkt_mark; + pkey = &key; + keylen = sizeof(key); + break; } if (keylen == 0) break; @@ -2773,6 +2778,19 @@ do { \ } break; } + + case O_MARK: { + uint32_t mark; + if (cmd->arg1 == IP_FW_TARG) + mark = TARG_VAL(chain, tablearg, mark); + else + mark = ((ipfw_insn_u32 *)cmd)->d[0]; + match = + (args->rule.pkt_mark & + ((ipfw_insn_u32 *)cmd)->d[1]) == + (mark & ((ipfw_insn_u32 *)cmd)->d[1]); + break; + } /* * The second set of opcodes represents 'actions', @@ -3276,6 +3294,18 @@ do { \ done = 1; /* exit outer loop */ break; } + + case O_SETMARK: { + l = 0; /* exit inner loop */ + args->rule.pkt_mark = ( + (cmd->arg1 == IP_FW_TARG) ? + TARG_VAL(chain, tablearg, mark) : + ((ipfw_insn_u32 *)cmd)->d[0]); + + IPFW_INC_RULE_COUNTER(f, pktlen); + break; + } + case O_EXTERNAL_ACTION: l = 0; /* in any case exit inner loop */ retval = ipfw_run_eaction(chain, args, diff --git a/sys/netpfil/ipfw/ip_fw_log.c b/sys/netpfil/ipfw/ip_fw_log.c index b5d2f998adc8..4fe95ea9a6fd 100644 --- a/sys/netpfil/ipfw/ip_fw_log.c +++ b/sys/netpfil/ipfw/ip_fw_log.c @@ -104,7 +104,7 @@ ipfw_log(struct ip_fw_chain *chain, struct ip_fw *f, u_int hlen, { char *action; int limit_reached = 0; - char action2[92], proto[128], fragment[32]; + char action2[92], proto[128], fragment[32], mark_str[24]; if (V_fw_verbose == 0) { if (args->flags & IPFW_ARGS_LENMASK) @@ -276,6 +276,14 @@ ipfw_log(struct ip_fw_chain *chain, struct ip_fw *f, u_int hlen, snprintf(SNPARGS(action2, 0), "Call %d", cmd->arg1); break; + case O_SETMARK: + if (cmd->arg1 == IP_FW_TARG) + snprintf(SNPARGS(action2, 0), "SetMark %#x", + TARG(cmd->arg1, mark)); + else + snprintf(SNPARGS(action2, 0), "SetMark %#x", + ((ipfw_insn_u32 *)cmd)->d[0]); + break; case O_EXTERNAL_ACTION: snprintf(SNPARGS(action2, 0), "Eaction %s", ((struct named_object *)SRV_OBJECT(chain, @@ -410,14 +418,22 @@ ipfw_log(struct ip_fw_chain *chain, struct ip_fw *f, u_int hlen, (ipoff & IP_MF) ? "+" : ""); } } + + /* [fw]mark */ + if (args->rule.pkt_mark) + snprintf(SNPARGS(mark_str, 0), " mark:%#x", + args->rule.pkt_mark); + else + mark_str[0] = '\0'; + #ifdef __FreeBSD__ - log(LOG_SECURITY | LOG_INFO, "ipfw: %d %s %s %s via %s%s\n", - f ? f->rulenum : -1, action, proto, + log(LOG_SECURITY | LOG_INFO, "ipfw: %d %s %s%s %s via %s%s\n", + f ? f->rulenum : -1, action, proto, mark_str, args->flags & IPFW_ARGS_OUT ? "out" : "in", args->ifp->if_xname, fragment); #else - log(LOG_SECURITY | LOG_INFO, "ipfw: %d %s %s [no if info]%s\n", - f ? f->rulenum : -1, action, proto, fragment); + log(LOG_SECURITY | LOG_INFO, "ipfw: %d %s %s%s [no if info]%s\n", + f ? f->rulenum : -1, action, proto, mark_str, fragment); #endif if (limit_reached) log(LOG_SECURITY | LOG_NOTICE, diff --git a/sys/netpfil/ipfw/ip_fw_pfil.c b/sys/netpfil/ipfw/ip_fw_pfil.c index ec46c077d8bb..72cc25f647fe 100644 --- a/sys/netpfil/ipfw/ip_fw_pfil.c +++ b/sys/netpfil/ipfw/ip_fw_pfil.c @@ -146,6 +146,7 @@ again: args.m = *m0; args.ifp = ifp; args.inp = inp; + args.rule.pkt_mark = 0; ipfw = ipfw_chk(&args); *m0 = args.m; @@ -356,7 +357,7 @@ again: return (PFIL_PASS); args.flags |= IPFW_ARGS_REF; } - args.m = *m0, + args.m = *m0; ipfw = ipfw_chk(&args); *m0 = args.m; diff --git a/sys/netpfil/ipfw/ip_fw_private.h b/sys/netpfil/ipfw/ip_fw_private.h index 87a40c940c23..abb3cd965680 100644 --- a/sys/netpfil/ipfw/ip_fw_private.h +++ b/sys/netpfil/ipfw/ip_fw_private.h @@ -330,12 +330,13 @@ struct table_value { uint16_t divert; /* O_DIVERT/O_TEE */ uint16_t skipto; /* skipto, CALLRET */ uint32_t netgraph; /* O_NETGRAPH/O_NGTEE */ - uint32_t fib; /* O_SETFIB */ - uint32_t nat; /* O_NAT */ + uint16_t fib; /* O_SETFIB */ + uint16_t nat; /* O_NAT */ + uint32_t mark; /* O_SETMARK/O_MARK */ uint32_t nh4; uint8_t dscp; uint8_t spare0; - uint16_t spare1; + uint16_t kidx; /* value kernel index */ /* -- 32 bytes -- */ struct in6_addr nh6; uint32_t limit; /* O_LIMIT */ diff --git a/sys/netpfil/ipfw/ip_fw_sockopt.c b/sys/netpfil/ipfw/ip_fw_sockopt.c index e8dd59eacc09..0065f7d95c00 100644 --- a/sys/netpfil/ipfw/ip_fw_sockopt.c +++ b/sys/netpfil/ipfw/ip_fw_sockopt.c @@ -566,6 +566,8 @@ import_rule0(struct rule_check_info *ci) break; case O_SETFIB: case O_SETDSCP: + case O_SETMARK: + case O_MARK: if (cmd->arg1 == IP_FW_TABLEARG) cmd->arg1 = IP_FW_TARG; else @@ -650,6 +652,8 @@ export_rule0(struct ip_fw *krule, struct ip_fw_rule0 *urule, int len) break; case O_SETFIB: case O_SETDSCP: + case O_SETMARK: + case O_MARK: if (cmd->arg1 == IP_FW_TARG) cmd->arg1 = IP_FW_TABLEARG; else @@ -1939,6 +1943,7 @@ check_ipfw_rule_body(ipfw_insn *cmd, int cmd_len, struct rule_check_info *ci) break; case O_DSCP: + case O_MARK: if (cmdlen != F_INSN_SIZE(ipfw_insn_u32) + 1) goto bad_size; break; @@ -2001,6 +2006,10 @@ check_ipfw_rule_body(ipfw_insn *cmd, int cmd_len, struct rule_check_info *ci) case O_CHECK_STATE: ci->object_opcodes++; goto check_size; + case O_SETMARK: + if (cmdlen != F_INSN_SIZE(ipfw_insn_u32)) + goto bad_size; + goto check_action; case O_REJECT: /* "unreach needfrag" has variable len. */ if ((cmdlen == F_INSN_SIZE(ipfw_insn) || diff --git a/sys/netpfil/ipfw/ip_fw_table.c b/sys/netpfil/ipfw/ip_fw_table.c index 202a49840b38..52955410fef2 100644 --- a/sys/netpfil/ipfw/ip_fw_table.c +++ b/sys/netpfil/ipfw/ip_fw_table.c @@ -2760,6 +2760,7 @@ classify_srcdst(ipfw_insn *cmd, uint16_t *puidx, uint8_t *ptype) case LOOKUP_UID: case LOOKUP_JAIL: case LOOKUP_DSCP: + case LOOKUP_MARK: *ptype = IPFW_TABLE_NUMBER; break; case LOOKUP_DST_MAC: diff --git a/sys/netpfil/ipfw/ip_fw_table_value.c b/sys/netpfil/ipfw/ip_fw_table_value.c index 025ee5923a10..eb268ab9b98d 100644 --- a/sys/netpfil/ipfw/ip_fw_table_value.c +++ b/sys/netpfil/ipfw/ip_fw_table_value.c @@ -114,6 +114,7 @@ mask_table_value(struct table_value *src, struct table_value *dst, _MCPY(netgraph, IPFW_VTYPE_NETGRAPH); _MCPY(fib, IPFW_VTYPE_FIB); _MCPY(nat, IPFW_VTYPE_NAT); + _MCPY(mark, IPFW_VTYPE_MARK); _MCPY(dscp, IPFW_VTYPE_DSCP); _MCPY(nh4, IPFW_VTYPE_NH4); _MCPY(nh6, IPFW_VTYPE_NH6); @@ -615,6 +616,7 @@ ipfw_import_table_value_legacy(uint32_t value, struct table_value *v) v->nh4 = value; /* host format */ v->dscp = value; v->limit = value; + v->mark = value; } /* @@ -653,6 +655,7 @@ ipfw_import_table_value_v1(ipfw_table_value *iv) v.nh6 = iv->nh6; v.limit = iv->limit; v.zoneid = iv->zoneid; + v.mark = iv->mark; memcpy(iv, &v, sizeof(ipfw_table_value)); } @@ -679,33 +682,34 @@ ipfw_export_table_value_v1(struct table_value *v, ipfw_table_value *piv) iv.nh4 = v->nh4; iv.nh6 = v->nh6; iv.zoneid = v->zoneid; + iv.mark = v->mark; memcpy(piv, &iv, sizeof(iv)); } /* - * Exports real value data into ipfw_table_value structure. - * Utilizes "spare1" field to store kernel index. + * Exports real value data into ipfw_table_value structure including refcnt. */ static int dump_tvalue(struct namedobj_instance *ni, struct named_object *no, void *arg) { struct vdump_args *da; struct table_val_link *ptv; - struct table_value *v; + ipfw_table_value *v; da = (struct vdump_args *)arg; ptv = (struct table_val_link *)no; - v = (struct table_value *)ipfw_get_sopt_space(da->sd, sizeof(*v)); + v = (ipfw_table_value *)ipfw_get_sopt_space(da->sd, sizeof(*v)); /* Out of memory, returning */ if (v == NULL) { da->error = ENOMEM; return (ENOMEM); } - memcpy(v, ptv->pval, sizeof(*v)); - v->spare1 = ptv->no.kidx; + ipfw_export_table_value_v1(ptv->pval, v); + v->refcnt = ptv->pval->refcnt; + v->kidx = ptv->no.kidx; return (0); } From nobody Tue Apr 25 14:08:26 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5P3t6Z3Mz47FFZ; Tue, 25 Apr 2023 14:08: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 4Q5P3t5s6tz3GYB; Tue, 25 Apr 2023 14:08:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682431706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZmgBCFy4U4fasDGm3BAEqYG2d3VSjY/ztN6yxSsamZA=; b=Jo/UrKSYTu3TbjznSHdZKHUAsvpHK2y81aKoQ0iB9jnMvB1eRLvXlQjaZ7TSDSn/DqpGfT dB5dn14J0+RhZF1tc8999JPwO5InBTwbzEWZ/cb4jPtPQcno6I8GElLidW0R6eyWEr8osx Te6lQmJ/MLQUpEBSWF2DYHDKMWud1fd3Tcs82bPR211UxXYbz+onJ6wMwrNxsqlgXpOjR6 v2F59jRuyGPKcpS/8b9AOFRaKCT3TLjQ4s37wOu4eMTvBdoaTX7MshgCrG2UaTrSvpN/fI nU5inQWWJCa+KLhWZAbb5nw73vISZg3eLjkQNJw9mRyPS0j6UHTXyWBBFo6PAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682431706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZmgBCFy4U4fasDGm3BAEqYG2d3VSjY/ztN6yxSsamZA=; b=Ti9V7zUaShiIM3B4iXgU4Cb/k5M4flRXS0ElwoTzyyoM1T8p6RtCCGEiUNzTSFqffRJRAg 2PWgn6RedOCRtvnNA87pNJhr4cApZkignppDMLoknJjb8rTZs7I58lb4tOrg6QPbtoOWVw nyds4hX6G+akoX0HF0z8hMrfWhxI8FyGgDsNN77eSt/emM7mkRhqSep5N2kzIjpCmQ8gtY dM1bPiBjI1OnnJFNdlnq3kOBJLYx6T93wSEJkhQjoqUguJHMs1yY9WKpzIGgbsbWHPMmEv UTa4e+k4zFQOVl/6tTr4Wai4ORVyJlkyaPz06GoBzyDsliaFhgDVOtepSSiKwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682431706; a=rsa-sha256; cv=none; b=cA3JrIvVeWu5gjek/osgJ75QLkAjkNhgIeNOlgFj0zhosjDnXQiAvXwtf60V+CQ/+L3kR5 yIU6EJtcPtr4SgwUOeECTealXVBakzjvR29HCH4NKJLTN4lX7/uq+zHH15g1bKH5w3paev qI4qQIoum3UEBlTAAw63hGhh/NeuuxMTpb4IqQ4NxYFuOsc8my9XkYpITAFegG/+rbbjWn j7eVZGTbjO7AfRx63dmpMaysOjNjCx+V/O0cQCmIe39PF73EB5WlNjXha6rwzfX06ggdvp O/CB29QMj9rV0cxG3+X3GeMjUv9niit7En8aLM8AeU9wi7ANDp2uhG8PshZoGg== 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 4Q5P3t4xB4z197q; Tue, 25 Apr 2023 14:08: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 33PE8QTV094365; Tue, 25 Apr 2023 14:08:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PE8QE9094364; Tue, 25 Apr 2023 14:08:26 GMT (envelope-from git) Date: Tue, 25 Apr 2023 14:08:26 GMT Message-Id: <202304251408.33PE8QE9094364@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: 8a271827e7b5 - main - tests: Add ATF_REQUIRE_SYSCTL_BOOL List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8a271827e7b5d5310e06df1f9f49ba0ef9efd263 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8a271827e7b5d5310e06df1f9f49ba0ef9efd263 commit 8a271827e7b5d5310e06df1f9f49ba0ef9efd263 Author: Mark Johnston AuthorDate: 2023-04-25 13:54:23 +0000 Commit: Mark Johnston CommitDate: 2023-04-25 13:54:23 +0000 tests: Add ATF_REQUIRE_SYSCTL_BOOL Modify a capability mode test to use it for kern.trap_enotcap, to avoid false positives. MFC after: 1 week Sponsored by: The FreeBSD Foundation --- tests/freebsd_test_suite/macros.h | 17 +++++++++++++++-- tests/sys/vfs/lookup_cap_dotdot.c | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/tests/freebsd_test_suite/macros.h b/tests/freebsd_test_suite/macros.h index c5a3a3838ff7..dfce2fb810e1 100644 --- a/tests/freebsd_test_suite/macros.h +++ b/tests/freebsd_test_suite/macros.h @@ -53,6 +53,18 @@ } \ } while(0) +#define ATF_REQUIRE_SYSCTL_BOOL(_mib_name, _required_value) do { \ + bool value; \ + size_t size = sizeof(value); \ + if (sysctlbyname(_mib_name, &value, &size, NULL, 0) == -1) { \ + atf_tc_skip("sysctl for %s failed: %s", _mib_name, \ + strerror(errno)); \ + } \ + if (value != (_required_value)) \ + atf_tc_skip("requires %s=%d, =%d", (_mib_name), \ + (_required_value), value); \ +} while (0) + #define ATF_REQUIRE_SYSCTL_INT(_mib_name, _required_value) do { \ int value; \ size_t size = sizeof(value); \ @@ -60,8 +72,9 @@ atf_tc_skip("sysctl for %s failed: %s", _mib_name, \ strerror(errno)); \ } \ - if (value != _required_value) \ - atf_tc_skip("requires %s=%d", _mib_name, _required_value); \ + if (value != (_required_value)) \ + atf_tc_skip("requires %s=%d, =%d", (_mib_name), \ + (_required_value), value); \ } while(0) #define PLAIN_REQUIRE_FEATURE(_feature_name, _exit_code) do { \ diff --git a/tests/sys/vfs/lookup_cap_dotdot.c b/tests/sys/vfs/lookup_cap_dotdot.c index dee1e0b11780..e023a50f8152 100644 --- a/tests/sys/vfs/lookup_cap_dotdot.c +++ b/tests/sys/vfs/lookup_cap_dotdot.c @@ -80,7 +80,7 @@ check_capsicum(void) { ATF_REQUIRE_FEATURE("security_capabilities"); ATF_REQUIRE_FEATURE("security_capability_mode"); - ATF_REQUIRE_SYSCTL_INT("kern.trap_enotcap", 0); + ATF_REQUIRE_SYSCTL_BOOL("kern.trap_enotcap", false); } /* From nobody Tue Apr 25 14:08:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5P3w075Rz47FJ2; Tue, 25 Apr 2023 14: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 4Q5P3v6nBGz3GQX; Tue, 25 Apr 2023 14:08:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682431707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/FCWDroi4gI5rNAcquPWr4GjMG1ZfeO0NcA8LufXPT8=; b=oJCzYlq7kIkM0y3aXEYcO4pqx/IZ7fso1DIYJ77oMv/lTeJp8MPqDB7cd3vtAoH078UEs6 QC58SNHrkUtFdAEGSTQwr4xySuzIkLlWhJP1jDfd+OFfDg7t5ou4574ElRgc0mwIgHMyR2 EOZEZHgu6iCDylP8xmZXVjexH7TkIubw5dGsj8n0dKFQFpv12qzw+pxJWkRv7IwVX7G/Bm TPohYfR5oZzYPU7z0gqz8+x6hmK7Fpd392FZQwTM2gS8rW5Pq6TjnYR9kvpWSB4kUtxWZz Tgdd92xeaJgBaiaS43MfV4SbC1cxtEuJrBev8Y+W+A8edjDfutIxcMkHjM8uRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682431707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/FCWDroi4gI5rNAcquPWr4GjMG1ZfeO0NcA8LufXPT8=; b=hu84k1IiDreXrB7jQtvWfc/u5GUgcwB+4VtQCQad/hqs+BxMsbxp7AN3sf6R1xmgFZ5ng9 yy2q3jQBNkBIDXQ0AyW6rJYYY8jlPgHWUCEbYYqi8xOQFCm9lvUrj5PQJrUaFtzxnJ73aj fLkD8ZmgVxIPVYs/OYQgjSEs+D8lL1H8B9e2ofdMgcBB6w/RKSFsld9NB1RFLuTE4DzFv0 SULqHHeLVatjK02Sc1pxrVMcjeXg/AoSnzjwEv0In2oTPpxAqajXj3zoy0EMu4cniwlETZ JsfAqecy4TTAFnNpLG9b99ZFVwVNztsPyUpww5CR4KXi2ChGwxXwHzg8sXfAeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682431708; a=rsa-sha256; cv=none; b=TH7ulFcMQTzcJW56YxoY7HwSm0n0+0QcQwxeafL3gvDgWIxELcP2f6gFXHOrHGO3qcbXu1 DNT2rLRR6mkiXvL8X80IlhVGB8xwZAdhTTJS+VYbx6PYn6HE+dSjGZy2cnH9AZErEyIjZg IbqninrI74gYccAzi0gwN7qTg5GrZ6XQBpP1Xb3oFla1pLRz4NZrotuGvsZtK7SnQSDHYp 0vCYYOo/Kz2yYZZRjEGY3ABqovfqZNrkUbCbEw0PyIYhqNMDG235VrMjwcZ2SaacoJJZd4 2vbo+rtR/Xl6UiubG9onvcRPee0mO5OmOeIlToLYI9+rTmC3Mc6RShy3tyA3xw== 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 4Q5P3v5sScz19Gl; Tue, 25 Apr 2023 14:08: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 33PE8RGi094392; Tue, 25 Apr 2023 14:08:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PE8Rsx094391; Tue, 25 Apr 2023 14:08:27 GMT (envelope-from git) Date: Tue, 25 Apr 2023 14:08:27 GMT Message-Id: <202304251408.33PE8Rsx094391@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: 2d252934da51 - main - capsicum: Verify that openat("/", "..") fails with ENOTCAPABLE List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2d252934da51a4857662d3ae0e9d81c8f2833ff3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=2d252934da51a4857662d3ae0e9d81c8f2833ff3 commit 2d252934da51a4857662d3ae0e9d81c8f2833ff3 Author: Mark Johnston AuthorDate: 2023-04-25 13:54:47 +0000 Commit: Mark Johnston CommitDate: 2023-04-25 13:54:47 +0000 capsicum: Verify that openat("/", "..") fails with ENOTCAPABLE Add a regression test for a718431c30a5 ("lookup(): ensure that openat("/", "..", O_RESOLVE_BENEATH) fails"). MFC after: 1 week Sponsored by: The FreeBSD Foundation --- tests/sys/vfs/lookup_cap_dotdot.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/sys/vfs/lookup_cap_dotdot.c b/tests/sys/vfs/lookup_cap_dotdot.c index e023a50f8152..916129f7067f 100644 --- a/tests/sys/vfs/lookup_cap_dotdot.c +++ b/tests/sys/vfs/lookup_cap_dotdot.c @@ -233,6 +233,31 @@ ATF_TC_BODY(lookup_cap_dotdot__negative, tc) ATF_REQUIRE_ERRNO(ENOTCAPABLE, openat(dirfd, "../testdir/d1/f1", O_RDONLY) < 0); } +ATF_TC(lookup_cap_dotdot__root); +ATF_TC_HEAD(lookup_cap_dotdot__root, tc) +{ + atf_tc_set_md_var(tc, "descr", "Validate cap-mode /.. lookup fails"); +} + +ATF_TC_BODY(lookup_cap_dotdot__root, tc) +{ + int dfd, dfd2; + + check_capsicum(); + + dfd = open("/", O_DIRECTORY); + ATF_REQUIRE(dfd >= 0); + + dfd2 = openat(dfd, "..", O_DIRECTORY); + ATF_REQUIRE(dfd2 >= 0); + ATF_REQUIRE(close(dfd2) == 0); + + ATF_REQUIRE(cap_enter() >= 0); + + dfd2 = openat(dfd, "..", O_DIRECTORY); + ATF_REQUIRE_ERRNO(ENOTCAPABLE, openat(dfd, "..", O_DIRECTORY)); +} + ATF_TP_ADD_TCS(tp) { @@ -244,6 +269,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, lookup_cap_dotdot__basic); ATF_TP_ADD_TC(tp, lookup_cap_dotdot__advanced); ATF_TP_ADD_TC(tp, lookup_cap_dotdot__negative); + ATF_TP_ADD_TC(tp, lookup_cap_dotdot__root); return (atf_no_error()); } From nobody Tue Apr 25 14:47:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5PxR6VTkz47HRs; Tue, 25 Apr 2023 14:47: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 4Q5PxR6KwHz3LRf; Tue, 25 Apr 2023 14:47:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682434075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iX1FlfNJYVpHqXxda9hcLvw9pdHyoLOF0VcdbW9QYmQ=; b=p4tcEgTT1VpPV64Dwen21+g/Yxy5iXMSNEmo+ByLqVoelJBY+25eUZ3QKE6U3M0sBI76WQ kNtP0rX25kYdb0VubLY1IQ+s6GK9vnDzKMx5RdE8XMtJp8NRi7/oqK4hOTke9DsL/mUrLL 8900gNpUSHkihdHAUb18bl1iSxru0Qk2vtFadhBbwflLekwpMIBo3q892alWqK1hcruKFu +WAXfjBQ06NhCOXRbhp2CHUZWI9Sd+/6cWN/6uPEljrZv9gn0Tg54XpfpiiM1EywIdUhsc hKAA34uoukN/U9wZePDNxh4nn0jFuI3T1ub2X5JE9DLovrq9A+8CGv6nZUSBvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682434075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iX1FlfNJYVpHqXxda9hcLvw9pdHyoLOF0VcdbW9QYmQ=; b=wPAlYlTAg8h/fCAL6KUw+Agy1bHLC/XjqMTY2w7qWpF8UyVmLMQZiPBxL8KG//9eduArr9 bEwr1LMKyLpANazqBOh78md6u4rufvkNQYjUVMviCBZHfOFT0dxNvmTARQLIuFsGyTD04c mQsbr8c1OxkqppEO/HrJCUbqVQhjBKyuHimMQS8rqAymP8fwh+eGyGXfXbn3oEu/0attZl A+d8mYbDF3gekmtZn4NhSBN00tQStfoRW7eRsc0Yqi3BeFhjRlB3pfaRnRtryvofELtwwM ZuEZ11eR2OvkhqCaARGyCSgVdmAsTKYcG6BQA5omXIkyF1xVfKb4wZ327fo2Tw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682434075; a=rsa-sha256; cv=none; b=lJM33yj5h4qlTgCEDIYmko+41NcsRR08DplCxe9pbu6fOQIh26AIlRFuew8Gj6liKqknNl U4ZZpYQp8vbMkI8q6XWA137IX7l27jrrx5nk77WBF9jsdrCIiCB5tEQHEIvOEkK8b1e3SB zxwVLFbT6Scwkr3nB9604olNeloonpoSQPO0VXwDODl+VrjXeoKZvQMTI7WzXvGTy/nydf ftr4hd5UZcBIpW4CyLwcyxrBBHaXs6MEMCMhQo1PIH68yhLAl4xgfy7gylECjNoZiKjLy0 Bt8Dy4/JHV9H1hkXINHJ+rFSIJMZv7IZGJEXLnCL3ixKdALTHw+AP1BbGGNBWA== 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 4Q5PxR5NFkz1BPq; Tue, 25 Apr 2023 14:47: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 33PElt5f059822; Tue, 25 Apr 2023 14:47:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PEltmQ059821; Tue, 25 Apr 2023 14:47:55 GMT (envelope-from git) Date: Tue, 25 Apr 2023 14:47:55 GMT Message-Id: <202304251447.33PEltmQ059821@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: 722b2e2f9aa6 - main - dtrace: Sync dis_tables.c with illumos List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 722b2e2f9aa64e6ff4dec346951bd4b56cd27a8d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=722b2e2f9aa64e6ff4dec346951bd4b56cd27a8d commit 722b2e2f9aa64e6ff4dec346951bd4b56cd27a8d Author: Mark Johnston AuthorDate: 2023-03-21 13:36:58 +0000 Commit: Mark Johnston CommitDate: 2023-04-25 14:46:10 +0000 dtrace: Sync dis_tables.c with illumos This brings in the following commits: commit 584b574a3b16c6772c8204ec1d1c957c56f22a87 12174 i86pc: variable may be used uninitialized Author: Toomas Soome Reviewed by: John Levon Reviewed by: Andrew Stormont Approved by: Dan McDonald commit a25e615d76804404e5fc63897a9196d4f92c3f5e 12371 dis x86 EVEX prefix mishandled 12372 dis EVEX encoding SIB mishandled 12373 dis support for EVEX vaes instructions 12374 dis support for EVEX vpclmulqdq instructions 12375 dis support for gfni instructions Author: Robert Mustacchi Reviewed by: Jerry Jelinek Approved by: Joshua M. Clulow commit c1e9bf00765d7ac9cf1986575e4489dd8710d9b1 12369 dis WBNOINVD support Author: Robert Mustacchi Reviewed by: Hans Rosenfeld Reviewed by: Jerry Jelinek Reviewed by: Andy Fiddaman Reviewed by: Toomas Soome Approved by: Dan McDonald commit e4f6ce7088a7dd335b9edf4774325f888692e5fb 10893 Need support for new Cascade Lake Instructions Author: Robert Mustacchi Reviewed by: Hans Rosenfeld Reviewed by: Dan McDonald Reviewed by: Richard Lowe Approved by: Gordon Ross commit cff040f3ef42d16ae655969398f5a5e6e700b85e 10226 Need support for new EPYC ISA extensions Author: Robert Mustacchi Reviewed by: Hans Rosenfeld Reviewed by: Jason King Reviewed by: Richard Lowe Approved by: Dan McDonald commit d242cdf5288b86d9070d88791c8ee696612becdc 8492 AVX512 dis - legacy logical instructions Author: Jerry Jelinek Reviewed by: Robert Mustacchi Reviewed by: Gordon Ross Approved by: Richard Lowe commit 81b505b772ab015c588c56bb116239ee549b6eee 8384 AVX512 dis - EVEX prefix support 8385 32-bit avx dis test mishandles EVEX prefix 8386 32-bit bound dis is incorrect Author: Jerry Jelinek Reviewed by: Robert Mustacchi Reviewed by: Gordon Ross Approved by: Richard Lowe commit 92381362ae635a3bea638d87b7119f1623b6212e 8319 dis support for new xsave instructions Author: Jerry Jelinek Reviewed by: Robert Mustacchi Reviewed by: Gordon Ross Approved by: Richard Lowe commit a4e73d5d60e566669c550027fae2b1d87b4be2b4 8240 AVX512 dis - opmask instruction support Author: Jerry Jelinek Reviewed by: Robert Mustacchi Reviewed by: Toomas Soome Approved by: Gordon Ross 959b2dfd39979fe8a9a315a52741d009eb168822 7825 want avx dis tests 7826 PCLMULQDQ psuedo-ops aren't properly described in dis 7827 dis tests for f16c, movbe, cpuid, msr, tsc, fence instrs 7828 sysenter and sysexit dis should be allowed in 64-bit x86 Author: Robert Mustacchi Reviewed by: Jerry Jelinek Approved by: Richard Lowe MFC after: 2 weeks --- sys/cddl/dev/dtrace/x86/dis_tables.c | 1604 +++++++++++++++++++++++++++++----- 1 file changed, 1370 insertions(+), 234 deletions(-) diff --git a/sys/cddl/dev/dtrace/x86/dis_tables.c b/sys/cddl/dev/dtrace/x86/dis_tables.c index d130b3ac335e..ad3b453f8845 100644 --- a/sys/cddl/dev/dtrace/x86/dis_tables.c +++ b/sys/cddl/dev/dtrace/x86/dis_tables.c @@ -21,7 +21,8 @@ */ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright 2016 Joyent, Inc. + * Copyright 2019 Joyent, Inc. + * Copyright 2020 Robert Mustacchi */ /* @@ -30,7 +31,7 @@ */ /* Copyright (c) 1988 AT&T */ -/* All Rights Reserved */ +/* All Rights Reserved */ /* * $FreeBSD$ @@ -48,8 +49,8 @@ * * The behavior of this file can be controlled by one of the following flags: * - * DIS_TEXT Include text for disassembly - * DIS_MEM Include memory-size calculations + * DIS_TEXT Include text for disassembly + * DIS_MEM Include memory-size calculations * * Either or both of these can be defined. * @@ -69,7 +70,7 @@ extern size_t strlcat(char *, const char *, size_t); #endif -#define TERM 0 /* used to indicate that the 'indirect' */ +#define TERM 0 /* used to indicate that the 'indirect' */ /* field terminates - no pointer. */ /* Used to decode instructions. */ @@ -88,7 +89,8 @@ typedef struct instable { uint_t it_invalid32:1; /* invalid in IA32 */ uint_t it_stackop:1; /* push/pop stack operation */ uint_t it_vexwoxmm:1; /* VEX instructions that don't use XMM/YMM */ - uint_t it_avxsuf:1; /* AVX suffix required */ + uint_t it_avxsuf:2; /* AVX2/AVX512 suffix rqd. */ + uint_t it_vexopmask:1; /* VEX inst. that use opmask */ } instable_t; /* @@ -118,7 +120,7 @@ enum { SEG, MR, RM, - RM_66r, /* RM, but with a required 0x66 prefix */ + RM_66r, /* RM, but with a required 0x66 prefix */ IA, MA, SD, @@ -137,7 +139,7 @@ enum { NORM, /* instructions w/o ModR/M byte, no memory access */ IMPLMEM, /* instructions w/o ModR/M byte, implicit mem access */ O, /* for call */ - JTAB, /* jump table */ + JTAB, /* jump table */ IMUL, /* for 186 iimul instr */ CBW, /* so data16 can be evaluated for cbw and variants */ MvI, /* for 186 logicals */ @@ -172,7 +174,7 @@ enum { MMO, /* Prefixable MMX/SIMD-Int mm/mem -> mm */ MMOIMPL, /* Prefixable MMX/SIMD-Int mm -> mm (mem) */ MMO3P, /* Prefixable MMX/SIMD-Int mm -> r32,imm8 */ - MMOM3, /* Prefixable MMX/SIMD-Int mm -> r32 */ + MMOM3, /* Prefixable MMX/SIMD-Int mm -> r32 */ MMOS, /* Prefixable MMX/SIMD-Int mm -> mm/mem */ MMOMS, /* Prefixable MMX/SIMD-Int mm -> mem */ MMOPM, /* MMX/SIMD-Int mm/mem -> mm,imm8 */ @@ -190,33 +192,34 @@ enum { XMMOXMM, /* Prefixable SIMD xmm/mem -> mm */ XMMOM, /* Prefixable SIMD xmm -> mem */ XMMOMS, /* Prefixable SIMD mem -> xmm */ - XMM, /* SIMD xmm/mem -> xmm */ + XMM, /* SIMD xmm/mem -> xmm */ XMM_66r, /* SIMD 0x66 prefix required xmm/mem -> xmm */ - XMM_66o, /* SIMD 0x66 prefix optional xmm/mem -> xmm */ + XMM_66o, /* SIMD 0x66 prefix optional xmm/mem -> xmm */ XMMXIMPL, /* SIMD xmm -> xmm (mem) */ XMM3P, /* SIMD xmm -> r32,imm8 */ XMM3PM_66r, /* SIMD 0x66 prefix required xmm -> r32/mem,imm8 */ - XMMP, /* SIMD xmm/mem w/to xmm,imm8 */ + XMMP, /* SIMD xmm/mem w/to xmm,imm8 */ XMMP_66o, /* SIMD 0x66 prefix optional xmm/mem w/to xmm,imm8 */ XMMP_66r, /* SIMD 0x66 prefix required xmm/mem w/to xmm,imm8 */ - XMMPRM, /* SIMD r32/mem -> xmm,imm8 */ + XMMPRM, /* SIMD r32/mem -> xmm,imm8 */ XMMPRM_66r, /* SIMD 0x66 prefix required r32/mem -> xmm,imm8 */ XMMS, /* SIMD xmm -> xmm/mem */ - XMMM, /* SIMD mem -> xmm */ + XMMM, /* SIMD mem -> xmm */ XMMM_66r, /* SIMD 0x66 prefix required mem -> xmm */ XMMMS, /* SIMD xmm -> mem */ - XMM3MX, /* SIMD r32/mem -> xmm */ - XMM3MXS, /* SIMD xmm -> r32/mem */ - XMMSH, /* SIMD xmm,imm8 */ - XMMXM3, /* SIMD xmm/mem -> r32 */ - XMMX3, /* SIMD xmm -> r32 */ - XMMXMM, /* SIMD xmm/mem -> mm */ - XMMMX, /* SIMD mm -> xmm */ - XMMXM, /* SIMD xmm -> mm */ - XMMX2I, /* SIMD xmm -> xmm, imm, imm */ - XMM2I, /* SIMD xmm, imm, imm */ + XMM3MX, /* SIMD r32/mem -> xmm */ + XMM3MXS, /* SIMD xmm -> r32/mem */ + XMMSH, /* SIMD xmm,imm8 */ + XMMXM3, /* SIMD xmm/mem -> r32 */ + XMMX3, /* SIMD xmm -> r32 */ + XMMXMM, /* SIMD xmm/mem -> mm */ + XMMMX, /* SIMD mm -> xmm */ + XMMXM, /* SIMD xmm -> mm */ + XMMX2I, /* SIMD xmm -> xmm, imm, imm */ + XMM2I, /* SIMD xmm, imm, imm */ XMMFENCE, /* SIMD lfence or mfence */ XMMSFNC, /* SIMD sfence (none or mem) */ + FSGS, /* FSGSBASE if reg */ XGETBV_XSETBV, VEX_NONE, /* VEX no operand */ VEX_MO, /* VEX mod_rm -> implicit reg */ @@ -224,25 +227,32 @@ enum { VEX_VRMrX, /* VEX mod_rm, VEX.vvvv -> mod_rm */ VEX_RRX, /* VEX VEX.vvvv, mod_reg -> mod_rm */ VEX_RMRX, /* VEX VEX.vvvv, mod_rm, imm8[7:4] -> mod_reg */ - VEX_MX, /* VEX mod_rm -> mod_reg */ - VEX_MXI, /* VEX mod_rm, imm8 -> mod_reg */ - VEX_XXI, /* VEX mod_rm, imm8 -> VEX.vvvv */ - VEX_MR, /* VEX mod_rm -> mod_reg */ - VEX_RRI, /* VEX mod_reg, mod_rm -> implicit(eflags/r32) */ - VEX_RX, /* VEX mod_reg -> mod_rm */ - VEX_RR, /* VEX mod_rm -> mod_reg */ - VEX_RRi, /* VEX mod_rm, imm8 -> mod_reg */ - VEX_RM, /* VEX mod_reg -> mod_rm */ + VEX_MX, /* VEX mod_rm -> mod_reg */ + VEX_MXI, /* VEX mod_rm, imm8 -> mod_reg */ + VEX_XXI, /* VEX mod_rm, imm8 -> VEX.vvvv */ + VEX_MR, /* VEX mod_rm -> mod_reg */ + VEX_RRI, /* VEX mod_reg, mod_rm -> implicit(eflags/r32) */ + VEX_RX, /* VEX mod_reg -> mod_rm */ + VEX_KRR, /* VEX mod_rm -> mod_reg */ + VEX_KMR, /* VEX mod_reg -> mod_rm */ + VEX_KRM, /* VEX mod_rm -> mod_reg */ + VEX_RR, /* VEX mod_rm -> mod_reg */ + VEX_RRi, /* VEX mod_rm, imm8 -> mod_reg */ + VEX_RM, /* VEX mod_reg -> mod_rm */ VEX_RIM, /* VEX mod_reg, imm8 -> mod_rm */ - VEX_RRM, /* VEX VEX.vvvv, mod_reg -> mod_rm */ - VEX_RMX, /* VEX VEX.vvvv, mod_rm -> mod_reg */ + VEX_RRM, /* VEX VEX.vvvv, mod_reg -> mod_rm */ + VEX_RMX, /* VEX VEX.vvvv, mod_rm -> mod_reg */ VEX_SbVM, /* VEX SIB, VEX.vvvv -> mod_rm */ VMx, /* vmcall/vmlaunch/vmresume/vmxoff */ VMxo, /* VMx instruction with optional prefix */ SVM, /* AMD SVM instructions */ BLS, /* BLSR, BLSMSK, BLSI */ FMA, /* FMA instructions, all VEX_RMrX */ - ADX /* ADX instructions, support REX.w, mod_rm->mod_reg */ + ADX, /* ADX instructions, support REX.w, mod_rm->mod_reg */ + EVEX_RX, /* EVEX mod_reg -> mod_rm */ + EVEX_MX, /* EVEX mod_rm -> mod_reg */ + EVEX_RMrX, /* EVEX EVEX.vvvv, mod_rm -> mod_reg */ + EVEX_RMRX /* EVEX EVEX.vvvv, mod_rm, imm8 -> mod_reg */ }; /* @@ -280,7 +290,9 @@ enum { * IND - indirect to another to another table * "T" - means to Terminate indirections (this is the final opcode) * "S" - means "operand length suffix required" - * "Sa" - means AVX2 suffix (d/q) required + * "Sa" - means AVX2 suffix (q/d) required + * "Sq" - means AVX512 suffix (q/d) required + * "Sd" - means AVX512 suffix (d/s) required * "NS" - means "no suffix" which is the operand length suffix of the opcode * "Z" - means instruction size arg required * "u" - means the opcode is invalid in IA32 but valid in amd64 @@ -288,8 +300,13 @@ enum { * "y" - means the operand size is always 64 bits in 64 bit mode * "p" - means push/pop stack operation * "vr" - means VEX instruction that operates on normal registers, not fpu + * "vo" - means VEX instruction that operates on opmask registers, not fpu */ +#define AVS2 (uint_t)1 /* it_avxsuf: AVX2 q/d suffix handling */ +#define AVS5Q (uint_t)2 /* it_avxsuf: AVX512 q/d suffix handling */ +#define AVS5D (uint_t)3 /* it_avxsuf: AVX512 d/s suffix handling */ + #if defined(DIS_TEXT) && defined(DIS_MEM) #define IND(table) {(instable_t *)table, 0, "", 0, 0, 0, 0, 0, 0} #define INDx(table) {(instable_t *)table, 0, "", 0, 0, 1, 0, 0, 0} @@ -301,12 +318,15 @@ enum { #define TNSZ(name, amode, sz) {TERM, amode, name, 0, sz, 0, 0, 0, 0} #define TNSZy(name, amode, sz) {TERM, amode, name, 0, sz, 0, 1, 0, 0} #define TNSZvr(name, amode, sz) {TERM, amode, name, 0, sz, 0, 0, 0, 0, 1} +#define TSvo(name, amode) {TERM, amode, name, 1, 0, 0, 0, 0, 0, 0, 0, 1} #define TS(name, amode) {TERM, amode, name, 1, 0, 0, 0, 0, 0} #define TSx(name, amode) {TERM, amode, name, 1, 0, 1, 0, 0, 0} #define TSy(name, amode) {TERM, amode, name, 1, 0, 0, 1, 0, 0} #define TSp(name, amode) {TERM, amode, name, 1, 0, 0, 0, 0, 1} #define TSZ(name, amode, sz) {TERM, amode, name, 1, sz, 0, 0, 0, 0} -#define TSaZ(name, amode, sz) {TERM, amode, name, 1, sz, 0, 0, 0, 0, 0, 1} +#define TSaZ(name, amode, sz) {TERM, amode, name, 1, sz, 0, 0, 0, 0, 0, AVS2} +#define TSq(name, amode) {TERM, amode, name, 0, 0, 0, 0, 0, 0, 0, AVS5Q} +#define TSd(name, amode) {TERM, amode, name, 0, 0, 0, 0, 0, 0, 0, AVS5D} #define TSZx(name, amode, sz) {TERM, amode, name, 1, sz, 1, 0, 0, 0} #define TSZy(name, amode, sz) {TERM, amode, name, 1, sz, 0, 1, 0, 0} #define INVALID {TERM, UNKNOWN, "", 0, 0, 0, 0, 0} @@ -321,12 +341,14 @@ enum { #define TNSZ(name, amode, sz) {TERM, amode, name, 0, 0, 0, 0, 0} #define TNSZy(name, amode, sz) {TERM, amode, name, 0, 0, 1, 0, 0} #define TNSZvr(name, amode, sz) {TERM, amode, name, 0, 0, 0, 0, 0, 1} +#define TSvo(name, amode) {TERM, amode, name, 1, 0, 0, 0, 0, 0, 0, 1} #define TS(name, amode) {TERM, amode, name, 1, 0, 0, 0, 0} #define TSx(name, amode) {TERM, amode, name, 1, 1, 0, 0, 0} #define TSy(name, amode) {TERM, amode, name, 1, 0, 1, 0, 0} #define TSp(name, amode) {TERM, amode, name, 1, 0, 0, 0, 1} #define TSZ(name, amode, sz) {TERM, amode, name, 1, 0, 0, 0, 0} -#define TSaZ(name, amode, sz) {TERM, amode, name, 1, 0, 0, 0, 0, 0, 1} +#define TSaZ(name, amode, sz) {TERM, amode, name, 1, 0, 0, 0, 0, 0, AVS2} +#define TSq(name, amode) {TERM, amode, name, 0, 0, 0, 0, 0, 0, AVS5Q} #define TSZx(name, amode, sz) {TERM, amode, name, 1, 1, 0, 0, 0} #define TSZy(name, amode, sz) {TERM, amode, name, 1, 0, 1, 0, 0} #define INVALID {TERM, UNKNOWN, "", 0, 0, 0, 0, 0} @@ -341,12 +363,14 @@ enum { #define TNSZ(name, amode, sz) {TERM, amode, sz, 0, 0, 0, 0} #define TNSZy(name, amode, sz) {TERM, amode, sz, 0, 1, 0, 0} #define TNSZvr(name, amode, sz) {TERM, amode, sz, 0, 0, 0, 0, 1} +#define TSvo(name, amode) {TERM, amode, 0, 0, 0, 0, 0, 0, 0, 1} #define TS(name, amode) {TERM, amode, 0, 0, 0, 0, 0} #define TSx(name, amode) {TERM, amode, 0, 1, 0, 0, 0} #define TSy(name, amode) {TERM, amode, 0, 0, 1, 0, 0} #define TSp(name, amode) {TERM, amode, 0, 0, 0, 0, 1} #define TSZ(name, amode, sz) {TERM, amode, sz, 0, 0, 0, 0} -#define TSaZ(name, amode, sz) {TERM, amode, sz, 0, 0, 0, 0, 0, 1} +#define TSaZ(name, amode, sz) {TERM, amode, sz, 0, 0, 0, 0, 0, AVS2} +#define TSq(name, amode) {TERM, amode, 0, 0, 0, 0, 0, 0, AVS5Q} #define TSZx(name, amode, sz) {TERM, amode, sz, 1, 0, 0, 0} #define TSZy(name, amode, sz) {TERM, amode, sz, 0, 1, 0, 0} #define INVALID {TERM, UNKNOWN, 0, 0, 0, 0, 0} @@ -361,12 +385,15 @@ enum { #define TNSZ(name, amode, sz) {TERM, amode, 0, 0, 0, 0} #define TNSZy(name, amode, sz) {TERM, amode, 0, 1, 0, 0} #define TNSZvr(name, amode, sz) {TERM, amode, 0, 0, 0, 0, 1} +#define TSvo(name, amode) {TERM, amode, 0, 0, 0, 0, 0, 0, 1} #define TS(name, amode) {TERM, amode, 0, 0, 0, 0} #define TSx(name, amode) {TERM, amode, 1, 0, 0, 0} #define TSy(name, amode) {TERM, amode, 0, 1, 0, 0} #define TSp(name, amode) {TERM, amode, 0, 0, 0, 1} #define TSZ(name, amode, sz) {TERM, amode, 0, 0, 0, 0} -#define TSaZ(name, amode, sz) {TERM, amode, 0, 0, 0, 0, 0, 1} +#define TSaZ(name, amode, sz) {TERM, amode, 0, 0, 0, 0, 0, AVS2} +#define TSq(name, amode) {TERM, amode, 0, 0, 0, 0, 0, AVS5Q} +#define TSd(name, amode) {TERM, amode, 0, 0, 0, 0, 0, AVS5D} #define TSZx(name, amode, sz) {TERM, amode, 1, 0, 0, 0} #define TSZy(name, amode, sz) {TERM, amode, 0, 1, 0, 0} #define INVALID {TERM, UNKNOWN, 0, 0, 0, 0} @@ -470,14 +497,41 @@ const char *const dis_MMREG[16] = { "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7" }; -const char *const dis_XMMREG[16] = { - "%xmm0", "%xmm1", "%xmm2", "%xmm3", "%xmm4", "%xmm5", "%xmm6", "%xmm7", - "%xmm8", "%xmm9", "%xmm10", "%xmm11", "%xmm12", "%xmm13", "%xmm14", "%xmm15" +const char *const dis_XMMREG[32] = { + "%xmm0", "%xmm1", "%xmm2", "%xmm3", + "%xmm4", "%xmm5", "%xmm6", "%xmm7", + "%xmm8", "%xmm9", "%xmm10", "%xmm11", + "%xmm12", "%xmm13", "%xmm14", "%xmm15", + "%xmm16", "%xmm17", "%xmm18", "%xmm19", + "%xmm20", "%xmm21", "%xmm22", "%xmm23", + "%xmm24", "%xmm25", "%xmm26", "%xmm27", + "%xmm28", "%xmm29", "%xmm30", "%xmm31", +}; + +const char *const dis_YMMREG[32] = { + "%ymm0", "%ymm1", "%ymm2", "%ymm3", + "%ymm4", "%ymm5", "%ymm6", "%ymm7", + "%ymm8", "%ymm9", "%ymm10", "%ymm11", + "%ymm12", "%ymm13", "%ymm14", "%ymm15", + "%ymm16", "%ymm17", "%ymm18", "%ymm19", + "%ymm20", "%ymm21", "%ymm22", "%ymm23", + "%ymm24", "%ymm25", "%ymm26", "%ymm27", + "%ymm28", "%ymm29", "%ymm30", "%ymm31", +}; + +const char *const dis_ZMMREG[32] = { + "%zmm0", "%zmm1", "%zmm2", "%zmm3", + "%zmm4", "%zmm5", "%zmm6", "%zmm7", + "%zmm8", "%zmm9", "%zmm10", "%zmm11", + "%zmm12", "%zmm13", "%zmm14", "%zmm15", + "%zmm16", "%zmm17", "%zmm18", "%zmm19", + "%zmm20", "%zmm21", "%zmm22", "%zmm23", + "%zmm24", "%zmm25", "%zmm26", "%zmm27", + "%zmm28", "%zmm29", "%zmm30", "%zmm31", }; -const char *const dis_YMMREG[16] = { - "%ymm0", "%ymm1", "%ymm2", "%ymm3", "%ymm4", "%ymm5", "%ymm6", "%ymm7", - "%ymm8", "%ymm9", "%ymm10", "%ymm11", "%ymm12", "%ymm13", "%ymm14", "%ymm15" +const char *const dis_KOPMASKREG[8] = { + "%k0", "%k1", "%k2", "%k3", "%k4", "%k5", "%k6", "%k7" }; const char *const dis_SEGREG[16] = { @@ -511,12 +565,17 @@ const instable_t dis_opMOVSLD = TNS("movslq",MOVSXZ); */ const instable_t dis_opPause = TNS("pause", NORM); +/* + * "decode table" for wbnoinvd instruction + */ +const instable_t dis_opWbnoinvd = TNS("wbnoinvd", NORM); + /* * Decode table for 0x0F00 opcodes */ const instable_t dis_op0F00[8] = { -/* [0] */ TNS("sldt",M), TNS("str",M), TNSy("lldt",M), TNSy("ltr",M), +/* [0] */ TNS("sldt",M), TNS("str",M), TNSy("lldt",M), TNSy("ltr",M), /* [4] */ TNSZ("verr",M,2), TNSZ("verw",M,2), INVALID, INVALID, }; @@ -527,7 +586,7 @@ const instable_t dis_op0F00[8] = { const instable_t dis_op0F01[8] = { /* [0] */ TNSZ("sgdt",VMx,6), TNSZ("sidt",MONITOR_MWAIT,6), TNSZ("lgdt",XGETBV_XSETBV,6), TNSZ("lidt",SVM,6), -/* [4] */ TNSZ("smsw",M,2), INVALID, TNSZ("lmsw",M,2), TNS("invlpg",SWAPGS_RDTSCP), +/* [4] */ TNSZ("smsw",M,2), INVALID, TNSZ("lmsw",M,2), TNS("invlpg",SWAPGS_RDTSCP), }; /* @@ -540,13 +599,21 @@ const instable_t dis_op0F18[8] = { }; /* - * Decode table for 0x0FAE opcodes -- SIMD state save/restore + * Decode table for 0x0FAE opcodes -- SIMD state save/restore */ const instable_t dis_op0FAE[8] = { -/* [0] */ TNSZ("fxsave",M,512), TNSZ("fxrstor",M,512), TNS("ldmxcsr",M), TNS("stmxcsr",M), +/* [0] */ TNSZ("fxsave",FSGS,512),TNSZ("fxrstor",FSGS,512),TNS("ldmxcsr",FSGS), TNS("stmxcsr",FSGS), /* [4] */ TNSZ("xsave",M,512), TNS("lfence",XMMFENCE), TNS("mfence",XMMFENCE), TNS("sfence",XMMSFNC), }; +/* + * Decode table for 0xF30FAE opcodes -- FSGSBASE + */ +const instable_t dis_opF30FAE[8] = { +/* [0] */ TNSx("rdfsbase",FSGS), TNSx("rdgsbase",FSGS), TNSx("wrfsbase",FSGS), TNSx("wrgsbase",FSGS), +/* [4] */ INVALID, INVALID, INVALID, INVALID, +}; + /* * Decode table for 0x0FBA opcodes */ @@ -558,17 +625,17 @@ const instable_t dis_op0FBA[8] = { }; /* - * Decode table for 0x0FC7 opcode (group 9) + * Decode table for 0x0FC7 opcode (group 9) */ const instable_t dis_op0FC7[8] = { -/* [0] */ INVALID, TNS("cmpxchg8b",M), INVALID, INVALID, -/* [4] */ INVALID, INVALID, TNS("vmptrld",MG9), TNS("vmptrst",MG9), +/* [0] */ INVALID, TNS("cmpxchg8b",M), INVALID, TNS("xrstors",MG9), +/* [4] */ TNS("xsavec",MG9), TNS("xsaves",MG9), TNS("vmptrld",MG9), TNS("vmptrst",MG9), }; /* - * Decode table for 0x0FC7 opcode (group 9) mode 3 + * Decode table for 0x0FC7 opcode (group 9) mode 3 */ const instable_t dis_op0FC7m3[8] = { @@ -578,7 +645,7 @@ const instable_t dis_op0FC7m3[8] = { }; /* - * Decode table for 0x0FC7 opcode with 0x66 prefix + * Decode table for 0x0FC7 opcode with 0x66 prefix */ const instable_t dis_op660FC7[8] = { @@ -588,7 +655,7 @@ const instable_t dis_op660FC7[8] = { }; /* - * Decode table for 0x0FC7 opcode with 0xF3 prefix + * Decode table for 0x0FC7 opcode with 0xF3 prefix */ const instable_t dis_opF30FC7[8] = { @@ -621,7 +688,7 @@ const instable_t dis_op0F7123[4][8] = { /* .4 */ TNS("psrad",MMOSH), INVALID, TNS("pslld",MMOSH), INVALID, }, { /* [73].0 */ INVALID, INVALID, TNS("psrlq",MMOSH), TNS("INVALID",MMOSH), -/* .4 */ INVALID, INVALID, TNS("psllq",MMOSH), TNS("INVALID",MMOSH), +/* .4 */ INVALID, INVALID, TNS("psllq",MMOSH), TNS("INVALID",MMOSH), } }; /* @@ -757,9 +824,9 @@ const instable_t dis_opAVX660F[256] = { /* [38] */ INVALID, INVALID, INVALID, INVALID, /* [3C] */ INVALID, INVALID, INVALID, INVALID, -/* [40] */ INVALID, INVALID, INVALID, INVALID, -/* [44] */ INVALID, INVALID, INVALID, INVALID, -/* [48] */ INVALID, INVALID, INVALID, INVALID, +/* [40] */ INVALID, TSvo("kand",VEX_RMX), TSvo("kandn",VEX_RMX), INVALID, +/* [44] */ TSvo("knot",VEX_MX), TSvo("kor",VEX_RMX), TSvo("kxnor",VEX_RMX), TSvo("kxor",VEX_RMX), +/* [48] */ INVALID, INVALID, TSvo("kadd",VEX_RMX), TSvo("kunpck",VEX_RMX), /* [4C] */ INVALID, INVALID, INVALID, INVALID, /* [50] */ TNS("vmovmskpd",VEX_MR), TNSZ("vsqrtpd",VEX_MX,16), INVALID, INVALID, @@ -782,9 +849,9 @@ const instable_t dis_opAVX660F[256] = { /* [88] */ INVALID, INVALID, INVALID, INVALID, /* [8C] */ INVALID, INVALID, INVALID, INVALID, -/* [90] */ INVALID, INVALID, INVALID, INVALID, +/* [90] */ TSvo("kmov",VEX_KRM), TSvo("kmov",VEX_KMR), TSvo("kmov",VEX_KRR), TSvo("kmov",VEX_MR), /* [94] */ INVALID, INVALID, INVALID, INVALID, -/* [98] */ INVALID, INVALID, INVALID, INVALID, +/* [98] */ TSvo("kortest",VEX_MX), TSvo("ktest",VEX_MX), INVALID, INVALID, /* [9C] */ INVALID, INVALID, INVALID, INVALID, /* [A0] */ INVALID, INVALID, INVALID, INVALID, @@ -812,30 +879,524 @@ const instable_t dis_opAVX660F[256] = { /* [E8] */ TNSZ("vpsubsb",VEX_RMrX,16), TNSZ("vpsubsw",VEX_RMrX,16), TNSZ("vpminsw",VEX_RMrX,16), TNSZ("vpor",VEX_RMrX,16), /* [EC] */ TNSZ("vpaddsb",VEX_RMrX,16), TNSZ("vpaddsw",VEX_RMrX,16), TNSZ("vpmaxsw",VEX_RMrX,16), TNSZ("vpxor",VEX_RMrX,16), -/* [F0] */ INVALID, TNSZ("vpsllw",VEX_RMrX,16), TNSZ("vpslld",VEX_RMrX,16), TNSZ("vpsllq",VEX_RMrX,16), -/* [F4] */ TNSZ("vpmuludq",VEX_RMrX,16), TNSZ("vpmaddwd",VEX_RMrX,16), TNSZ("vpsadbw",VEX_RMrX,16), TNS("vmaskmovdqu",VEX_MX), -/* [F8] */ TNSZ("vpsubb",VEX_RMrX,16), TNSZ("vpsubw",VEX_RMrX,16), TNSZ("vpsubd",VEX_RMrX,16), TNSZ("vpsubq",VEX_RMrX,16), -/* [FC] */ TNSZ("vpaddb",VEX_RMrX,16), TNSZ("vpaddw",VEX_RMrX,16), TNSZ("vpaddd",VEX_RMrX,16), INVALID, +/* [F0] */ INVALID, TNSZ("vpsllw",VEX_RMrX,16), TNSZ("vpslld",VEX_RMrX,16), TNSZ("vpsllq",VEX_RMrX,16), +/* [F4] */ TNSZ("vpmuludq",VEX_RMrX,16), TNSZ("vpmaddwd",VEX_RMrX,16), TNSZ("vpsadbw",VEX_RMrX,16), TNS("vmaskmovdqu",VEX_MX), +/* [F8] */ TNSZ("vpsubb",VEX_RMrX,16), TNSZ("vpsubw",VEX_RMrX,16), TNSZ("vpsubd",VEX_RMrX,16), TNSZ("vpsubq",VEX_RMrX,16), +/* [FC] */ TNSZ("vpaddb",VEX_RMrX,16), TNSZ("vpaddw",VEX_RMrX,16), TNSZ("vpaddd",VEX_RMrX,16), INVALID, +}; + +/* + * Decode table for SIMD instructions with the repnz (0xf2) prefix. + */ +const instable_t dis_opSIMDrepnz[256] = { +/* [00] */ INVALID, INVALID, INVALID, INVALID, +/* [04] */ INVALID, INVALID, INVALID, INVALID, +/* [08] */ INVALID, INVALID, INVALID, INVALID, +/* [0C] */ INVALID, INVALID, INVALID, INVALID, + +/* [10] */ TNSZ("movsd",XMM,8), TNSZ("movsd",XMMS,8), TNSZ("movddup",XMM,8), INVALID, +/* [14] */ INVALID, INVALID, INVALID, INVALID, +/* [18] */ INVALID, INVALID, INVALID, INVALID, +/* [1C] */ INVALID, INVALID, INVALID, INVALID, + +/* [20] */ INVALID, INVALID, INVALID, INVALID, +/* [24] */ INVALID, INVALID, INVALID, INVALID, +/* [28] */ INVALID, INVALID, TNSZ("cvtsi2sd",XMM3MX,4),TNSZ("movntsd",XMMMS,8), +/* [2C] */ TNSZ("cvttsd2si",XMMXM3,8),TNSZ("cvtsd2si",XMMXM3,8),INVALID, INVALID, + +/* [30] */ INVALID, INVALID, INVALID, INVALID, +/* [34] */ INVALID, INVALID, INVALID, INVALID, +/* [38] */ INVALID, INVALID, INVALID, INVALID, +/* [3C] */ INVALID, INVALID, INVALID, INVALID, + +/* [40] */ INVALID, INVALID, INVALID, INVALID, +/* [44] */ INVALID, INVALID, INVALID, INVALID, +/* [48] */ INVALID, INVALID, INVALID, INVALID, +/* [4C] */ INVALID, INVALID, INVALID, INVALID, + +/* [50] */ INVALID, TNSZ("sqrtsd",XMM,8), INVALID, INVALID, +/* [54] */ INVALID, INVALID, INVALID, INVALID, +/* [58] */ TNSZ("addsd",XMM,8), TNSZ("mulsd",XMM,8), TNSZ("cvtsd2ss",XMM,8), INVALID, +/* [5C] */ TNSZ("subsd",XMM,8), TNSZ("minsd",XMM,8), TNSZ("divsd",XMM,8), TNSZ("maxsd",XMM,8), + +/* [60] */ INVALID, INVALID, INVALID, INVALID, +/* [64] */ INVALID, INVALID, INVALID, INVALID, +/* [68] */ INVALID, INVALID, INVALID, INVALID, +/* [6C] */ INVALID, INVALID, INVALID, INVALID, + +/* [70] */ TNSZ("pshuflw",XMMP,16),INVALID, INVALID, INVALID, +/* [74] */ INVALID, INVALID, INVALID, INVALID, +/* [78] */ TNSZ("insertq",XMMX2I,16),TNSZ("insertq",XMM,8),INVALID, INVALID, +/* [7C] */ TNSZ("haddps",XMM,16), TNSZ("hsubps",XMM,16), INVALID, INVALID, + +/* [80] */ INVALID, INVALID, INVALID, INVALID, +/* [84] */ INVALID, INVALID, INVALID, INVALID, +/* [88] */ INVALID, INVALID, INVALID, INVALID, +/* [0C] */ INVALID, INVALID, INVALID, INVALID, + +/* [90] */ INVALID, INVALID, INVALID, INVALID, +/* [94] */ INVALID, INVALID, INVALID, INVALID, +/* [98] */ INVALID, INVALID, INVALID, INVALID, +/* [9C] */ INVALID, INVALID, INVALID, INVALID, + +/* [A0] */ INVALID, INVALID, INVALID, INVALID, +/* [A4] */ INVALID, INVALID, INVALID, INVALID, +/* [A8] */ INVALID, INVALID, INVALID, INVALID, +/* [AC] */ INVALID, INVALID, INVALID, INVALID, + +/* [B0] */ INVALID, INVALID, INVALID, INVALID, +/* [B4] */ INVALID, INVALID, INVALID, INVALID, +/* [B8] */ INVALID, INVALID, INVALID, INVALID, +/* [BC] */ INVALID, INVALID, INVALID, INVALID, + +/* [C0] */ INVALID, INVALID, TNSZ("cmpsd",XMMP,8), INVALID, +/* [C4] */ INVALID, INVALID, INVALID, INVALID, +/* [C8] */ INVALID, INVALID, INVALID, INVALID, +/* [CC] */ INVALID, INVALID, INVALID, INVALID, + +/* [D0] */ TNSZ("addsubps",XMM,16),INVALID, INVALID, INVALID, +/* [D4] */ INVALID, INVALID, TNS("movdq2q",XMMXM), INVALID, +/* [D8] */ INVALID, INVALID, INVALID, INVALID, +/* [DC] */ INVALID, INVALID, INVALID, INVALID, + +/* [E0] */ INVALID, INVALID, INVALID, INVALID, +/* [E4] */ INVALID, INVALID, TNSZ("cvtpd2dq",XMM,16),INVALID, +/* [E8] */ INVALID, INVALID, INVALID, INVALID, +/* [EC] */ INVALID, INVALID, INVALID, INVALID, + +/* [F0] */ TNS("lddqu",XMMM), INVALID, INVALID, INVALID, +/* [F4] */ INVALID, INVALID, INVALID, INVALID, +/* [F8] */ INVALID, INVALID, INVALID, INVALID, +/* [FC] */ INVALID, INVALID, INVALID, INVALID, +}; + +const instable_t dis_opAVXF20F[256] = { +/* [00] */ INVALID, INVALID, INVALID, INVALID, +/* [04] */ INVALID, INVALID, INVALID, INVALID, +/* [08] */ INVALID, INVALID, INVALID, INVALID, +/* [0C] */ INVALID, INVALID, INVALID, INVALID, + +/* [10] */ TNSZ("vmovsd",VEX_RMrX,8), TNSZ("vmovsd",VEX_RRX,8), TNSZ("vmovddup",VEX_MX,8), INVALID, +/* [14] */ INVALID, INVALID, INVALID, INVALID, +/* [18] */ INVALID, INVALID, INVALID, INVALID, +/* [1C] */ INVALID, INVALID, INVALID, INVALID, + +/* [20] */ INVALID, INVALID, INVALID, INVALID, +/* [24] */ INVALID, INVALID, INVALID, INVALID, +/* [28] */ INVALID, INVALID, TNSZ("vcvtsi2sd",VEX_RMrX,4),INVALID, +/* [2C] */ TNSZ("vcvttsd2si",VEX_MR,8),TNSZ("vcvtsd2si",VEX_MR,8),INVALID, INVALID, + +/* [30] */ INVALID, INVALID, INVALID, INVALID, +/* [34] */ INVALID, INVALID, INVALID, INVALID, +/* [38] */ INVALID, INVALID, INVALID, INVALID, +/* [3C] */ INVALID, INVALID, INVALID, INVALID, + +/* [40] */ INVALID, INVALID, INVALID, INVALID, +/* [44] */ INVALID, INVALID, INVALID, INVALID, +/* [48] */ INVALID, INVALID, INVALID, INVALID, +/* [4C] */ INVALID, INVALID, INVALID, INVALID, + +/* [50] */ INVALID, TNSZ("vsqrtsd",VEX_RMrX,8), INVALID, INVALID, +/* [54] */ INVALID, INVALID, INVALID, INVALID, +/* [58] */ TNSZ("vaddsd",VEX_RMrX,8), TNSZ("vmulsd",VEX_RMrX,8), TNSZ("vcvtsd2ss",VEX_RMrX,8), INVALID, +/* [5C] */ TNSZ("vsubsd",VEX_RMrX,8), TNSZ("vminsd",VEX_RMrX,8), TNSZ("vdivsd",VEX_RMrX,8), TNSZ("vmaxsd",VEX_RMrX,8), + +/* [60] */ INVALID, INVALID, INVALID, INVALID, +/* [64] */ INVALID, INVALID, INVALID, INVALID, +/* [68] */ INVALID, INVALID, INVALID, INVALID, +/* [6C] */ INVALID, INVALID, INVALID, INVALID, + +/* [70] */ TNSZ("vpshuflw",VEX_MXI,16),INVALID, INVALID, INVALID, +/* [74] */ INVALID, INVALID, INVALID, INVALID, +/* [78] */ INVALID, INVALID, INVALID, INVALID, +/* [7C] */ TNSZ("vhaddps",VEX_RMrX,8), TNSZ("vhsubps",VEX_RMrX,8), INVALID, INVALID, + +/* [80] */ INVALID, INVALID, INVALID, INVALID, +/* [84] */ INVALID, INVALID, INVALID, INVALID, +/* [88] */ INVALID, INVALID, INVALID, INVALID, +/* [0C] */ INVALID, INVALID, INVALID, INVALID, + +/* [90] */ INVALID, INVALID, TSvo("kmov",VEX_KRR), TSvo("kmov",VEX_MR), +/* [94] */ INVALID, INVALID, INVALID, INVALID, +/* [98] */ INVALID, INVALID, INVALID, INVALID, +/* [9C] */ INVALID, INVALID, INVALID, INVALID, + +/* [A0] */ INVALID, INVALID, INVALID, INVALID, +/* [A4] */ INVALID, INVALID, INVALID, INVALID, +/* [A8] */ INVALID, INVALID, INVALID, INVALID, +/* [AC] */ INVALID, INVALID, INVALID, INVALID, + +/* [B0] */ INVALID, INVALID, INVALID, INVALID, +/* [B4] */ INVALID, INVALID, INVALID, INVALID, +/* [B8] */ INVALID, INVALID, INVALID, INVALID, +/* [BC] */ INVALID, INVALID, INVALID, INVALID, + +/* [C0] */ INVALID, INVALID, TNSZ("vcmpsd",VEX_RMRX,8), INVALID, +/* [C4] */ INVALID, INVALID, INVALID, INVALID, +/* [C8] */ INVALID, INVALID, INVALID, INVALID, +/* [CC] */ INVALID, INVALID, INVALID, INVALID, + +/* [D0] */ TNSZ("vaddsubps",VEX_RMrX,8), INVALID, INVALID, INVALID, +/* [D4] */ INVALID, INVALID, INVALID, INVALID, +/* [D8] */ INVALID, INVALID, INVALID, INVALID, +/* [DC] */ INVALID, INVALID, INVALID, INVALID, + +/* [E0] */ INVALID, INVALID, INVALID, INVALID, +/* [E4] */ INVALID, INVALID, TNSZ("vcvtpd2dq",VEX_MX,16),INVALID, +/* [E8] */ INVALID, INVALID, INVALID, INVALID, +/* [EC] */ INVALID, INVALID, INVALID, INVALID, + +/* [F0] */ TNSZ("vlddqu",VEX_MX,16), INVALID, INVALID, INVALID, +/* [F4] */ INVALID, INVALID, INVALID, INVALID, +/* [F8] */ INVALID, INVALID, INVALID, INVALID, +/* [FC] */ INVALID, INVALID, INVALID, INVALID, +}; + +const instable_t dis_opAVXF20F3A[256] = { +/* [00] */ INVALID, INVALID, INVALID, INVALID, +/* [04] */ INVALID, INVALID, INVALID, INVALID, +/* [08] */ INVALID, INVALID, INVALID, INVALID, +/* [0C] */ INVALID, INVALID, INVALID, INVALID, + +/* [10] */ INVALID, INVALID, INVALID, INVALID, +/* [14] */ INVALID, INVALID, INVALID, INVALID, +/* [18] */ INVALID, INVALID, INVALID, INVALID, +/* [1C] */ INVALID, INVALID, INVALID, INVALID, + +/* [20] */ INVALID, INVALID, INVALID, INVALID, +/* [24] */ INVALID, INVALID, INVALID, INVALID, +/* [28] */ INVALID, INVALID, INVALID, INVALID, +/* [2C] */ INVALID, INVALID, INVALID, INVALID, + +/* [30] */ INVALID, INVALID, INVALID, INVALID, +/* [34] */ INVALID, INVALID, INVALID, INVALID, +/* [38] */ INVALID, INVALID, INVALID, INVALID, +/* [3C] */ INVALID, INVALID, INVALID, INVALID, + +/* [40] */ INVALID, INVALID, INVALID, INVALID, +/* [44] */ INVALID, INVALID, INVALID, INVALID, +/* [48] */ INVALID, INVALID, INVALID, INVALID, +/* [4C] */ INVALID, INVALID, INVALID, INVALID, + +/* [50] */ INVALID, INVALID, INVALID, INVALID, +/* [54] */ INVALID, INVALID, INVALID, INVALID, +/* [58] */ INVALID, INVALID, INVALID, INVALID, +/* [5C] */ INVALID, INVALID, INVALID, INVALID, + +/* [60] */ INVALID, INVALID, INVALID, INVALID, +/* [64] */ INVALID, INVALID, INVALID, INVALID, +/* [68] */ INVALID, INVALID, INVALID, INVALID, +/* [6C] */ INVALID, INVALID, INVALID, INVALID, + +/* [70] */ INVALID, INVALID, INVALID, INVALID, +/* [74] */ INVALID, INVALID, INVALID, INVALID, +/* [78] */ INVALID, INVALID, INVALID, INVALID, +/* [7C] */ INVALID, INVALID, INVALID, INVALID, + +/* [80] */ INVALID, INVALID, INVALID, INVALID, +/* [84] */ INVALID, INVALID, INVALID, INVALID, +/* [88] */ INVALID, INVALID, INVALID, INVALID, +/* [0C] */ INVALID, INVALID, INVALID, INVALID, + +/* [90] */ INVALID, INVALID, INVALID, INVALID, +/* [94] */ INVALID, INVALID, INVALID, INVALID, +/* [98] */ INVALID, INVALID, INVALID, INVALID, +/* [9C] */ INVALID, INVALID, INVALID, INVALID, + +/* [A0] */ INVALID, INVALID, INVALID, INVALID, +/* [A4] */ INVALID, INVALID, INVALID, INVALID, +/* [A8] */ INVALID, INVALID, INVALID, INVALID, +/* [AC] */ INVALID, INVALID, INVALID, INVALID, + +/* [B0] */ INVALID, INVALID, INVALID, INVALID, +/* [B4] */ INVALID, INVALID, INVALID, INVALID, +/* [B8] */ INVALID, INVALID, INVALID, INVALID, +/* [BC] */ INVALID, INVALID, INVALID, INVALID, + +/* [C0] */ INVALID, INVALID, INVALID, INVALID, +/* [C4] */ INVALID, INVALID, INVALID, INVALID, +/* [C8] */ INVALID, INVALID, INVALID, INVALID, +/* [CC] */ INVALID, INVALID, INVALID, INVALID, + +/* [D0] */ INVALID, INVALID, INVALID, INVALID, +/* [D4] */ INVALID, INVALID, INVALID, INVALID, +/* [D8] */ INVALID, INVALID, INVALID, INVALID, +/* [DC] */ INVALID, INVALID, INVALID, INVALID, + +/* [E0] */ INVALID, INVALID, INVALID, INVALID, +/* [E4] */ INVALID, INVALID, INVALID, INVALID, +/* [E8] */ INVALID, INVALID, INVALID, INVALID, +/* [EC] */ INVALID, INVALID, INVALID, INVALID, + +/* [F0] */ TNSZvr("rorx",VEX_MXI,6),INVALID, INVALID, INVALID, +/* [F4] */ INVALID, INVALID, INVALID, INVALID, +/* [F8] */ INVALID, INVALID, INVALID, INVALID, +/* [FC] */ INVALID, INVALID, INVALID, INVALID, +}; + +const instable_t dis_opAVXF20F38[256] = { +/* [00] */ INVALID, INVALID, INVALID, INVALID, +/* [04] */ INVALID, INVALID, INVALID, INVALID, +/* [08] */ INVALID, INVALID, INVALID, INVALID, +/* [0C] */ INVALID, INVALID, INVALID, INVALID, + +/* [10] */ INVALID, INVALID, INVALID, INVALID, +/* [14] */ INVALID, INVALID, INVALID, INVALID, +/* [18] */ INVALID, INVALID, INVALID, INVALID, +/* [1C] */ INVALID, INVALID, INVALID, INVALID, + +/* [20] */ INVALID, INVALID, INVALID, INVALID, +/* [24] */ INVALID, INVALID, INVALID, INVALID, +/* [28] */ INVALID, INVALID, INVALID, INVALID, +/* [2C] */ INVALID, INVALID, INVALID, INVALID, + +/* [30] */ INVALID, INVALID, INVALID, INVALID, +/* [34] */ INVALID, INVALID, INVALID, INVALID, +/* [38] */ INVALID, INVALID, INVALID, INVALID, +/* [3C] */ INVALID, INVALID, INVALID, INVALID, + +/* [40] */ INVALID, INVALID, INVALID, INVALID, +/* [44] */ INVALID, INVALID, INVALID, INVALID, +/* [48] */ INVALID, INVALID, INVALID, INVALID, +/* [4C] */ INVALID, INVALID, INVALID, INVALID, + +/* [50] */ INVALID, INVALID, INVALID, INVALID, +/* [54] */ INVALID, INVALID, INVALID, INVALID, +/* [58] */ INVALID, INVALID, INVALID, INVALID, +/* [5C] */ INVALID, INVALID, INVALID, INVALID, + +/* [60] */ INVALID, INVALID, INVALID, INVALID, +/* [64] */ INVALID, INVALID, INVALID, INVALID, +/* [68] */ INVALID, INVALID, INVALID, INVALID, +/* [6C] */ INVALID, INVALID, INVALID, INVALID, + +/* [70] */ INVALID, INVALID, INVALID, INVALID, +/* [74] */ INVALID, INVALID, INVALID, INVALID, +/* [78] */ INVALID, INVALID, INVALID, INVALID, +/* [7C] */ INVALID, INVALID, INVALID, INVALID, + +/* [80] */ INVALID, INVALID, INVALID, INVALID, +/* [84] */ INVALID, INVALID, INVALID, INVALID, +/* [88] */ INVALID, INVALID, INVALID, INVALID, +/* [0C] */ INVALID, INVALID, INVALID, INVALID, + +/* [90] */ INVALID, INVALID, INVALID, INVALID, +/* [94] */ INVALID, INVALID, INVALID, INVALID, +/* [98] */ INVALID, INVALID, INVALID, INVALID, +/* [9C] */ INVALID, INVALID, INVALID, INVALID, + +/* [A0] */ INVALID, INVALID, INVALID, INVALID, +/* [A4] */ INVALID, INVALID, INVALID, INVALID, +/* [A8] */ INVALID, INVALID, INVALID, INVALID, +/* [AC] */ INVALID, INVALID, INVALID, INVALID, + +/* [B0] */ INVALID, INVALID, INVALID, INVALID, +/* [B4] */ INVALID, INVALID, INVALID, INVALID, +/* [B8] */ INVALID, INVALID, INVALID, INVALID, +/* [BC] */ INVALID, INVALID, INVALID, INVALID, + +/* [C0] */ INVALID, INVALID, INVALID, INVALID, +/* [C4] */ INVALID, INVALID, INVALID, INVALID, +/* [C8] */ INVALID, INVALID, INVALID, INVALID, +/* [CC] */ INVALID, INVALID, INVALID, INVALID, + +/* [D0] */ INVALID, INVALID, INVALID, INVALID, +/* [D4] */ INVALID, INVALID, INVALID, INVALID, +/* [D8] */ INVALID, INVALID, INVALID, INVALID, +/* [DC] */ INVALID, INVALID, INVALID, INVALID, + +/* [E0] */ INVALID, INVALID, INVALID, INVALID, +/* [E4] */ INVALID, INVALID, INVALID, INVALID, +/* [E8] */ INVALID, INVALID, INVALID, INVALID, +/* [EC] */ INVALID, INVALID, INVALID, INVALID, + +/* [F0] */ INVALID, INVALID, INVALID, INVALID, +/* [F4] */ INVALID, TNSZvr("pdep",VEX_RMrX,5),TNSZvr("mulx",VEX_RMrX,5),TNSZvr("shrx",VEX_VRMrX,5), +/* [F8] */ INVALID, INVALID, INVALID, INVALID, +/* [FC] */ INVALID, INVALID, INVALID, INVALID, +}; + +const instable_t dis_opAVXF30F38[256] = { +/* [00] */ INVALID, INVALID, INVALID, INVALID, +/* [04] */ INVALID, INVALID, INVALID, INVALID, +/* [08] */ INVALID, INVALID, INVALID, INVALID, +/* [0C] */ INVALID, INVALID, INVALID, INVALID, + +/* [10] */ INVALID, INVALID, INVALID, INVALID, +/* [14] */ INVALID, INVALID, INVALID, INVALID, +/* [18] */ INVALID, INVALID, INVALID, INVALID, +/* [1C] */ INVALID, INVALID, INVALID, INVALID, + +/* [20] */ INVALID, INVALID, INVALID, INVALID, +/* [24] */ INVALID, INVALID, INVALID, INVALID, +/* [28] */ INVALID, INVALID, INVALID, INVALID, +/* [2C] */ INVALID, INVALID, INVALID, INVALID, + +/* [30] */ INVALID, INVALID, INVALID, INVALID, +/* [34] */ INVALID, INVALID, INVALID, INVALID, +/* [38] */ INVALID, INVALID, INVALID, INVALID, +/* [3C] */ INVALID, INVALID, INVALID, INVALID, + +/* [40] */ INVALID, INVALID, INVALID, INVALID, +/* [44] */ INVALID, INVALID, INVALID, INVALID, +/* [48] */ INVALID, INVALID, INVALID, INVALID, +/* [4C] */ INVALID, INVALID, INVALID, INVALID, + +/* [50] */ INVALID, INVALID, INVALID, INVALID, +/* [54] */ INVALID, INVALID, INVALID, INVALID, +/* [58] */ INVALID, INVALID, INVALID, INVALID, +/* [5C] */ INVALID, INVALID, INVALID, INVALID, + +/* [60] */ INVALID, INVALID, INVALID, INVALID, +/* [64] */ INVALID, INVALID, INVALID, INVALID, +/* [68] */ INVALID, INVALID, INVALID, INVALID, +/* [6C] */ INVALID, INVALID, INVALID, INVALID, + +/* [70] */ INVALID, INVALID, INVALID, INVALID, +/* [74] */ INVALID, INVALID, INVALID, INVALID, +/* [78] */ INVALID, INVALID, INVALID, INVALID, +/* [7C] */ INVALID, INVALID, INVALID, INVALID, + +/* [80] */ INVALID, INVALID, INVALID, INVALID, +/* [84] */ INVALID, INVALID, INVALID, INVALID, +/* [88] */ INVALID, INVALID, INVALID, INVALID, +/* [0C] */ INVALID, INVALID, INVALID, INVALID, + +/* [90] */ INVALID, INVALID, INVALID, INVALID, +/* [94] */ INVALID, INVALID, INVALID, INVALID, +/* [98] */ INVALID, INVALID, INVALID, INVALID, +/* [9C] */ INVALID, INVALID, INVALID, INVALID, + +/* [A0] */ INVALID, INVALID, INVALID, INVALID, +/* [A4] */ INVALID, INVALID, INVALID, INVALID, +/* [A8] */ INVALID, INVALID, INVALID, INVALID, +/* [AC] */ INVALID, INVALID, INVALID, INVALID, + +/* [B0] */ INVALID, INVALID, INVALID, INVALID, +/* [B4] */ INVALID, INVALID, INVALID, INVALID, +/* [B8] */ INVALID, INVALID, INVALID, INVALID, +/* [BC] */ INVALID, INVALID, INVALID, INVALID, + +/* [C0] */ INVALID, INVALID, INVALID, INVALID, +/* [C4] */ INVALID, INVALID, INVALID, INVALID, +/* [C8] */ INVALID, INVALID, INVALID, INVALID, +/* [CC] */ INVALID, INVALID, INVALID, INVALID, + +/* [D0] */ INVALID, INVALID, INVALID, INVALID, +/* [D4] */ INVALID, INVALID, INVALID, INVALID, +/* [D8] */ INVALID, INVALID, INVALID, INVALID, +/* [DC] */ INVALID, INVALID, INVALID, INVALID, + +/* [E0] */ INVALID, INVALID, INVALID, INVALID, +/* [E4] */ INVALID, INVALID, INVALID, INVALID, +/* [E8] */ INVALID, INVALID, INVALID, INVALID, +/* [EC] */ INVALID, INVALID, INVALID, INVALID, + +/* [F0] */ INVALID, INVALID, INVALID, INVALID, +/* [F4] */ INVALID, TNSZvr("pext",VEX_RMrX,5),INVALID, TNSZvr("sarx",VEX_VRMrX,5), +/* [F8] */ INVALID, INVALID, INVALID, INVALID, +/* [FC] */ INVALID, INVALID, INVALID, INVALID, +}; +/* + * Decode table for SIMD instructions with the repz (0xf3) prefix. + */ +const instable_t dis_opSIMDrepz[256] = { +/* [00] */ INVALID, INVALID, INVALID, INVALID, +/* [04] */ INVALID, INVALID, INVALID, INVALID, +/* [08] */ INVALID, INVALID, INVALID, INVALID, +/* [0C] */ INVALID, INVALID, INVALID, INVALID, + +/* [10] */ TNSZ("movss",XMM,4), TNSZ("movss",XMMS,4), TNSZ("movsldup",XMM,16),INVALID, +/* [14] */ INVALID, INVALID, TNSZ("movshdup",XMM,16),INVALID, +/* [18] */ INVALID, INVALID, INVALID, INVALID, +/* [1C] */ INVALID, INVALID, INVALID, INVALID, + +/* [20] */ INVALID, INVALID, INVALID, INVALID, +/* [24] */ INVALID, INVALID, INVALID, INVALID, +/* [28] */ INVALID, INVALID, TNSZ("cvtsi2ss",XMM3MX,4),TNSZ("movntss",XMMMS,4), +/* [2C] */ TNSZ("cvttss2si",XMMXM3,4),TNSZ("cvtss2si",XMMXM3,4),INVALID, INVALID, + +/* [30] */ INVALID, INVALID, INVALID, INVALID, +/* [34] */ INVALID, INVALID, INVALID, INVALID, *** 1648 LINES SKIPPED *** From nobody Tue Apr 25 15:02:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5QGJ582wz47J69; Tue, 25 Apr 2023 15:02: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 4Q5QGJ4dv5z3P3M; Tue, 25 Apr 2023 15:02:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682434952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vg12Z2TbdCWdUbg1Ja3SIG3qIckcBxNheTP1YFRWANE=; b=d5rBueOrWcBf+Ow+tP+HXmfNU+JlpvSHad9YqmjQXgsEvezK9HmbGm74QkY00VxjlHCarF upf2u1pS+0oP53w7cd1Kj1VyzgASyv9DxyPUM71bQRLVWv50K2m8hk8M0eg3fRivZWkQy7 UeXe5wEXAdfRCLC7iWWB6lzspcz8kZ3GDL4mznpHnmjoUlvb0dJk548ZazPHJ7ngRHMScX 73AGMkK8uwtsYucNCRDlrNcN3TSVcbE9TU686SzwTSzbtYnnOnMPLnWWvRKJWqnYB/jfIY CYJWYTxrChD9SXqYnhS+Nu0yRvWNz+UgEve6cfMxPDx7l6wUkZx9k1PtRVAwMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682434952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vg12Z2TbdCWdUbg1Ja3SIG3qIckcBxNheTP1YFRWANE=; b=B9xtiArKBq+Ps6zXEoKpTy5kBBFFft7rVb2C5koxK3JFjB6N78WBa9NQ/evHNLjxQ1kmhl l41V+7jd9Fh8CgXkNEkuyrQCey4LKa0E7YmG0XaXrmt43t4Pwc/43E7E6LPaNtcUWNBw3t DeNlBJHTZD439Y6sYSfrvlHATNxea0zckY+3IvOArNvoCoCMlf3nxQdzOsJpZQ1+44owuk 5fKdqT7QdyHoURqPnPralktQ6wUygkiJg9Rw2x4l6QZuqzB1exoDI1xtDztxHIAqKKAeTP jsMurrLpJpFE0QjtMA7DthN2RzARN3tsl+eG9GpW/R/HU5aoKwCQl2uxYXHpiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682434952; a=rsa-sha256; cv=none; b=vzXZLrKUS/MUTD/GL3xERLsNGkEGuyZEhtJmp3jN0qbmjcS0Q0d/Bd82dZ71TTqbFo9K5D cjFp88hUn0UcXUOpbHUlT3icQfgBZuT72ypr6ztKAA5g9VABAsZoWtIwGWMRrwDzsWzY5D l98T79YdpzPr8rEvWf7q4wpfYUB2Q5ELBPdkzV/hiITVCs1DV8ZZp8pLI8FReicrqy+WxR l9vTTpFKiZAiMyAudPrrhDv0+PJtYMVg4zab6i4H9EW6UvvvIy581Nf76E6oiTSVLOsBPX ZRQVrDzwrHbV+Jl21NmI9NRthzbdx3o7Wwit+bK2l45/aNNizeRSLp/QvT8TUA== 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 4Q5QGJ3jS1z1BR0; Tue, 25 Apr 2023 15:02: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 33PF2WZ9092276; Tue, 25 Apr 2023 15:02:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PF2WUF092275; Tue, 25 Apr 2023 15:02:32 GMT (envelope-from git) Date: Tue, 25 Apr 2023 15:02:32 GMT Message-Id: <202304251502.33PF2WUF092275@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: 7825619a9eb7 - main - ndp: fix signed/unsigned compariosn in the netlink code. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7825619a9eb7e6ff799fa120a547a0200fa758a9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=7825619a9eb7e6ff799fa120a547a0200fa758a9 commit 7825619a9eb7e6ff799fa120a547a0200fa758a9 Author: Alexander V. Chernikov AuthorDate: 2023-04-25 14:55:56 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 14:55:56 +0000 ndp: fix signed/unsigned compariosn in the netlink code. --- usr.sbin/ndp/ndp_netlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/ndp/ndp_netlink.c b/usr.sbin/ndp/ndp_netlink.c index 927cbf9ddcb9..163806a06047 100644 --- a/usr.sbin/ndp/ndp_netlink.c +++ b/usr.sbin/ndp/ndp_netlink.c @@ -255,7 +255,7 @@ print_entry(struct snl_parsed_neigh *neigh, struct snl_parsed_link_simple *link) xo_emit(xobuf, host_buf, ether_str(&sdl), ifname); /* Print neighbor discovery specific information */ - uint32_t expire = neigh->ndaf_next_ts; + time_t expire = (time_t)neigh->ndaf_next_ts; int expire_in = expire - now.tv_sec; if (expire > now.tv_sec) xo_emit("{d:/ %-9.9s}{e:expires_sec/%d}", sec2str(expire_in), expire_in); From nobody Tue Apr 25 15:02:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5QGL1tnNz47JPd; Tue, 25 Apr 2023 15:02: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 4Q5QGK5Jwcz3P24; Tue, 25 Apr 2023 15:02:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682434953; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5OYrthzqChoYNrzueDM8V8//Qtb1oIgExgp7xUm0I1c=; b=FtndDadHFlBMu2JWXIpGyx8JbJJ6CqQhYPGX8jkqcyPj85Xkum7ItxHV/7I91zVTsJkhHC 0cqc2hJDuqKCHUm2AGmj37wgu54G8Ghw/pkN10Kk0DBk/k0c+hqOL1MWWKSy9GGVGzt0is mRdwe465qVuzSv7O4BeNMSaA4ECHkQwArxrxcINFdjjV3SvfJAW0kdqIvSuNbk/sNb2c/+ cbQtCLnpMsT2EET/ANlkXeOn2tpsUJvR6ihkeqrGCMmjtpJp3mGGFU8Z3I0hH3bS2uD71u LXLj7j6gDq2uJOo7TbKqrmbKVI4d7peTNDzpspRflwWVB9tK/aymCF7id4UFGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682434953; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5OYrthzqChoYNrzueDM8V8//Qtb1oIgExgp7xUm0I1c=; b=bYBH4ByzBnEWYJxlWUm9Y+dS6LVWjMZKsI8Z+XcZFV5/4FH6AneAukMJbvWULZliLdHqtL tX+oRwGBUVk0z56XSEQJ5FVDYopJNwGPfvebTsN0mc8vv/ZqOV0wzklt9nOtadpZJYB3UK SxI/5zEDZGLcH+qbnj0kTB2DuVg56GOwNE5KLx7poSRwQpSSe7j9iA5HexqOpEjsL2nKqy ZEqQTLdc0zKhIE/721Exh7axXZP+JHGLm/kdNxnQwXdImi2Pty2nBnqaDk38rQn8P00Lrw vyoggBkwAU+aU8GNkgwvAftuLcZWc4C7XKB4S7FzRrAYFLNY1a220QO1DklVZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682434953; a=rsa-sha256; cv=none; b=hr3DJ7igSLHzmOAT4gvoAbWN2Euq5IwDx0bNcAy68DwbZAtj7m8m/Y5I2GE3RyhoDo83Ob wv/Qg80D8uEwha9IINWyFjcIj+5mCWKlen9SgTvI/cdjdodozOxaf+zyWos+zeIhDauCCm XIxgIgEZhk1iLWA7q+ttRjZevZZ3Tbu3yfgswQ13NfmDWkasEDXjxyVBOO1JkBejP7SFYr sFLKTB+rymIkh7zo767LDjmpGpAaHmNNIrXTMz1AyOWuL97XXdzJ27admdOlez+gUbS88g J6RxMpuXNBRuw+PftqSLMhfokmHiuHEUq7Qbec7DJA4z1LaJCpLtAT94tS49Ww== 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 4Q5QGK4Mlvz1BR1; Tue, 25 Apr 2023 15:02: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 33PF2XaZ092296; Tue, 25 Apr 2023 15:02:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PF2XJB092295; Tue, 25 Apr 2023 15:02:33 GMT (envelope-from git) Date: Tue, 25 Apr 2023 15:02:33 GMT Message-Id: <202304251502.33PF2XJB092295@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: 9e81e2c4520c - main - netlink: fix powerpc build. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e81e2c4520cdc9b68428a9acc695ad091083ebb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=9e81e2c4520cdc9b68428a9acc695ad091083ebb commit 9e81e2c4520cdc9b68428a9acc695ad091083ebb Author: Alexander V. Chernikov AuthorDate: 2023-04-25 14:59:04 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 14:59:04 +0000 netlink: fix powerpc build. --- sys/netlink/route/neigh.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index 4275d9cafede..daf0843e432c 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include "opt_inet6.h" #include #include +#include #include #include #include From nobody Tue Apr 25 15:04:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5QJj1fCCz47JSm; Tue, 25 Apr 2023 15:04: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 4Q5QJj18Dfz3Pqd; Tue, 25 Apr 2023 15:04:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682435077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A6Khh4f2G1Ovpv2B6mpGdzkhiCFQPyKn6w3P7dpkZo0=; b=CzBJrhu7QofqgiqR6ADC950oPuwZdn1cuZDlpaJQGb11CXLxor5rLKyiyBGraHwRKswfgK jsvJ4BMUHbl745yZFCjpECJdvhRYmUxMgboNNaEZjiDUC+QTTrz9VLihwRKx97/vcXsgut OA9fpv2SbHvj5PxgAtNtq8RmWErhDgyPG0Vk5X5XwCmG2xNJxaAfgPJdoz+MqdGYEC7+V8 N7+CrC0GxQujuOhoP2qWLglXjdfiuVQWDjmASK74BYf2GtVqDPP/GWOifk6PXeE4hteXCX GhubbYLYiDVyS+hCUvnxEcojI/jEL/8fWDDSOhPUT2ZLtjpp/RFFA9W/Bwgtww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682435077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A6Khh4f2G1Ovpv2B6mpGdzkhiCFQPyKn6w3P7dpkZo0=; b=O1SUf9DeS2WdY0NK/4U2UZol4bGU/xTyniP93igiEFL93xgZhWk3oUdNsLfOHIrpT5pJwu fSNyKCFqz+jnOUz0ssLqlAUFsjPQNvm69uwkrIjqCLB7bOEdafoigdRtMnmn5dte+xpnWB cIJpgTAu7zVt/GQuXAyiQOMM7tC3P/cGKOMSNJKWpZ+uVtjZd88Mjr3e6l7jTBFNKCW0Wf qVwMYqSUy5cy9pD/xAn6mtGdkBDChFsP7MachkupPkIFg08V6YcrIjYaNpLiU8EwNbCS8D PuclNyFwHX27a8//mJM8pPr2CSfRvYlD+eMJ8ylLtAagRHGMol707veF5XeMWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682435077; a=rsa-sha256; cv=none; b=GZvT6owS59B74Jl6eKggWBaO9/hPG7w8nUGJYUtnOD8qH3maxYtzPJvzAXf6XLOf9/RqAq k2fiVAcJbJ9KUHBrL32//1+57QCfjaC7NqwsoK6DxeNz5/L2zLy8IjglFDaepk1r3ffJR3 5cnIvzfZq39PIbBJKjkSsAHkbdCbpI7wdJqEiCZnurCYWBDclkKSOT0nu3la0YsOpKxhxG TLaVo8cWC0rzAzccPrSiJROZkMEFhwKpTR/Hp+AABv2LVS6NwOBIYjDjcc7/j0Pok6iZeC j385BylEUFwo7SDO24Mx9G2/0c2Y83tCdxfTjA41vCg7i59sjPAc+WHYvUMk5w== 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 4Q5QJj0FHwz1Bb2; Tue, 25 Apr 2023 15:04: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 33PF4a4E092606; Tue, 25 Apr 2023 15:04:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PF4aB8092605; Tue, 25 Apr 2023 15:04:36 GMT (envelope-from git) Date: Tue, 25 Apr 2023 15:04:36 GMT Message-Id: <202304251504.33PF4aB8092605@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: 04349d30946a - main - netlink: remove now-unused rtnl_iface_find_cloner_locked(). List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04349d30946ad6665550106815430f0709a33447 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=04349d30946ad6665550106815430f0709a33447 commit 04349d30946ad6665550106815430f0709a33447 Author: Alexander V. Chernikov AuthorDate: 2023-04-25 15:04:11 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-25 15:04:11 +0000 netlink: remove now-unused rtnl_iface_find_cloner_locked(). --- sys/netlink/route/iface.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index d81dc1f0ecae..816d6ff8632e 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -79,8 +79,6 @@ static SLIST_HEAD(, nl_cloner) nl_cloners = SLIST_HEAD_INITIALIZER(nl_cloners); static struct sx rtnl_cloner_lock; SX_SYSINIT(rtnl_cloner_lock, &rtnl_cloner_lock, "rtnl cloner lock"); -static struct nl_cloner *rtnl_iface_find_cloner_locked(const char *name); - /* * RTM_GETLINK request * sendto(3, {{len=32, type=RTM_GETLINK, flags=NLM_F_REQUEST|NLM_F_DUMP, seq=1641940952, pid=0}, @@ -1016,19 +1014,6 @@ rtnl_iface_del_cloner(struct nl_cloner *cloner) sx_xunlock(&rtnl_cloner_lock); } -static struct nl_cloner * -rtnl_iface_find_cloner_locked(const char *name) -{ - struct nl_cloner *cloner; - - SLIST_FOREACH(cloner, &nl_cloners, next) { - if (!strcmp(name, cloner->name)) - return (cloner); - } - - return (NULL); -} - void rtnl_ifaces_init(void) { From nobody Tue Apr 25 15:21:50 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5Qhb1XS4z47KKh; Tue, 25 Apr 2023 15:21: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 4Q5Qhb14zsz3hvB; Tue, 25 Apr 2023 15:21:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682436111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KLWd88dNZdExdeq1q0sdqTNEqI5+k9f7bh78XvQ8TJw=; b=mLl5JQkt3zwTZwV0HRA4+9WN/X7X9LnUAcC+KeaiMJFR1VzIU3HFmrhbQ4p93pOYIjaqlB TNoT4xAfIVXEsGYFEZWHTFrLbIv9u8630f3JrnZYyqZmxtTiiprwsizNI5HuuMOtALyuTx BxdC6AWb8N0Qhsw9JBrkwU4eIQlEqzH5JxPdAwErLCPQ1Sx9ev/hxOoNw1MAZxJ3w1emtF bxuGaE5zX+8b1nmZVP0o27OwPGbjM819V2qoC5riKnNCQ0w5HC1qrAiDtJ50zs68pM4OXS yYqxYuSi7AzIeqOsbTPpB3lZ3/U4pF81o38VrOxdxlyjxLQuWfBCfuwYIT8UHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682436111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KLWd88dNZdExdeq1q0sdqTNEqI5+k9f7bh78XvQ8TJw=; b=R0Z3lEF2x3nVlMLfoIHyRcbzoR8KTdBTI+jSVDJ6B8G2qa/nTUm3XMhxkBte+ZaTKkEyUT oBH6cNmlv7IILIHNjsLq07UTL1LEPjf0WSz/YwMaX2EzHb4ugPEAuyw2DEQZ8mTgXeqAE0 L/vfvv+1CsLVvYmPl6EfLNChbwvZLkjv7hjF/xpjXSf7r88aaDpsIZ2t0PY4zpyNoqTabP 0XgTDQLk8F2HcZOLgyX1Im+MzDJbwpAVNB4qLRJW9hSsrM7ObN0McXuoGOUzbzXPVcynwp eQufOCI4ZUi2SJtkORp0gcwsJa2XW9xjVJcO9DWTkgGBBP5bWzzxfD6MgO3y8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682436111; a=rsa-sha256; cv=none; b=l7jeS3FLOpJHV5PPCc4JlE9g8oa3d2tUqcT+S8f9au3KFaHBGXg8kcb7mwpnm9IIK7AwSo NLoSq9LofsUVTIOfYjstuHs0BOTekVePL3mJY6Ah3IxGbTnOaZX58O6U6V3GX0ZgKfr5eo qx004LJghgIlYQfPH90mornl8dq9+nB7UAA0Gf8rCPinlPQ4RczU1gjTwUrVkT8LeaWh2E muP5F2hhSc6+mJAN900X9iYHj5I0nZSh9vh2pYbV3SY+CkgIKuTP4KSWOKOaUH5hyiSWpT POjpgg2wyKiEwh1YxIn/ibSW4SK0isPGvSUwziLDhFFeQbZJC25VKXmjjLlFZw== 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 4Q5Qhb07csz1CDr; Tue, 25 Apr 2023 15:21: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 33PFLovr025530; Tue, 25 Apr 2023 15:21:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PFLous025529; Tue, 25 Apr 2023 15:21:50 GMT (envelope-from git) Date: Tue, 25 Apr 2023 15:21:50 GMT Message-Id: <202304251521.33PFLous025529@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: b4d3dd861511 - main - zfs: fix up bogus checksums with blake3 in face of cpu migration List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b4d3dd861511cc58c1d1328511189b8a42a6d091 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=b4d3dd861511cc58c1d1328511189b8a42a6d091 commit b4d3dd861511cc58c1d1328511189b8a42a6d091 Author: Mateusz Guzik AuthorDate: 2023-04-25 15:20:19 +0000 Commit: Mateusz Guzik CommitDate: 2023-04-25 15:20:19 +0000 zfs: fix up bogus checksums with blake3 in face of cpu migration This is a temporary measure until a better fix is sorted out. Upstream report: https://github.com/openzfs/zfs/issues/14785 Reported by: Evgeniy Khramtsov Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/contrib/openzfs/module/zfs/blake3_zfs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/contrib/openzfs/module/zfs/blake3_zfs.c b/sys/contrib/openzfs/module/zfs/blake3_zfs.c index bcc595bca8f2..7783282b671a 100644 --- a/sys/contrib/openzfs/module/zfs/blake3_zfs.c +++ b/sys/contrib/openzfs/module/zfs/blake3_zfs.c @@ -50,7 +50,8 @@ abd_checksum_blake3_native(abd_t *abd, uint64_t size, const void *ctx_template, ASSERT(ctx_template != NULL); #if defined(_KERNEL) - BLAKE3_CTX *ctx = blake3_per_cpu_ctx[CPU_SEQID_UNSTABLE]; + kpreempt_disable(); + BLAKE3_CTX *ctx = blake3_per_cpu_ctx[CPU_SEQID]; #else BLAKE3_CTX *ctx = kmem_alloc(sizeof (*ctx), KM_SLEEP); #endif @@ -59,7 +60,9 @@ abd_checksum_blake3_native(abd_t *abd, uint64_t size, const void *ctx_template, (void) abd_iterate_func(abd, 0, size, blake3_incremental, ctx); Blake3_Final(ctx, (uint8_t *)zcp); -#if !defined(_KERNEL) +#if defined(_KERNEL) + kpreempt_enable(); +#else memset(ctx, 0, sizeof (*ctx)); kmem_free(ctx, sizeof (*ctx)); #endif From nobody Tue Apr 25 15:25:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5QnF598Hz47Kh8; Tue, 25 Apr 2023 15:25: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 4Q5QnF4dvBz3jrY; Tue, 25 Apr 2023 15:25:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682436353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CA/X2ZoOiGr/zATLkrZmlIpKI5LVl3kaTXetSQJWxUE=; b=ONsQ3NgRdf3O+XhnuaOJjErmMwLIL6gv8OYfkDOrHuTnLUPBZS6q+O+LmIaSldHLFvL8vI 5Nn83SQZJJhZg1gaX/xmcqwX4GH2O9sebFvqD39k8yOJWmeIzGrh7xtaxZZ/gDjZZNN1jQ ev/7wHL9hFnUh4NbtnS7t6GxCV8rFVG9VNLvvkhLRsupvB2OtbWyHiaOzdWOBKAFSoIYOx 9gdTYrZQ3CiKKj/rvGOnao/sa0WE1sk/8URuUcNLTHG+dW4PcsneiJlARImzf086R6p62k 7gERymABaAO5ZAKJor/zxi2k9mb7AOGwbFP1YMVngeaoRkcYA+0SacYgkTRosw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682436353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CA/X2ZoOiGr/zATLkrZmlIpKI5LVl3kaTXetSQJWxUE=; b=HvU5Eeu0p0SCi85emmhB2ucz+e2w9CttT6b2gqBqWNqxYaMCOszAu05aNK0Yve3eMHaz7H HF6SLonc+XZ1066EeOgv5Akiuf2EBZ3zUouBxeSw7ODAmAc5OlDSbz+d0vFmIUMG7pEAnI 9BPi13HUlSiYdMju21AKWJvdmnVjG5xw7Uo8sNxVo5035Gy92YcFVKx9eYCW2TDKpExys5 86A9Qtg8KvJbTr0jWIHHRBnBUE7AxQVdBJUk3sh4FMbON2zDBmqKsp0rEvqL18Q1Hkl5R5 tuLd4unG/8i1iUUqEssJMIINO3/Ppbz48KNj7ByPPNXdEwAWuM6AoYVXsOfxBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682436353; a=rsa-sha256; cv=none; b=ftZRqm0aoZdZXGx7ptzFAh0EQ8YrwvZYFvkTUw5JfQg5B8OxA8fFzZaOlQNZ2H9UORZatO wWIEAebv/Kj8nwZsk18bda5knh/lpGNMMAvn+R4bvF17/QVxQQrgIopCrzhUN5K7HsVtvK oUXU7XqOviyEGzV7bpJ3BF1ysLeZ7lsx4WHftizHPimGGVBGL8qcmUSRh+JFBk4Bv1j3Nc kIEgRi5MAXfQHwBGOGDhOsN+O2Mp+rR7XsEtv1yEcGIQoFtTFHOqQcMOn+ftuTmM2Eh9uc NH2SujxD6pGDuw//bzPlvHqy0HhvspUvZ+0F1ekOKYPhRWt8wBNH6p7PcjPpTg== 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 4Q5QnF3hMdz1C5t; Tue, 25 Apr 2023 15:25: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 33PFPr0s029767; Tue, 25 Apr 2023 15:25:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PFPrTq029766; Tue, 25 Apr 2023 15:25:53 GMT (envelope-from git) Date: Tue, 25 Apr 2023 15:25:53 GMT Message-Id: <202304251525.33PFPrTq029766@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 3f46bf40a1b2 - main - ps: Fix synopsis List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3f46bf40a1b26c49b53df4ec504757c5d8c9f921 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=3f46bf40a1b26c49b53df4ec504757c5d8c9f921 commit 3f46bf40a1b26c49b53df4ec504757c5d8c9f921 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2023-04-25 11:38:10 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2023-04-25 15:23:07 +0000 ps: Fix synopsis In the -L mode, the -L flag is not optional. MFC after: 3 days Sponsored by: Klara Inc. --- bin/ps/ps.1 | 4 ++-- bin/ps/ps.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/ps/ps.1 b/bin/ps/ps.1 index 25373adb7d73..bc760c174c11 100644 --- a/bin/ps/ps.1 +++ b/bin/ps/ps.1 @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd June 27, 2020 +.Dd April 25, 2023 .Dt PS 1 .Os .Sh NAME @@ -49,7 +49,7 @@ .Op Fl U Ar user Ns Op , Ns Ar user Ns Ar ... .Nm .Op Fl -libxo -.Op Fl L +.Fl L .Sh DESCRIPTION The .Nm diff --git a/bin/ps/ps.c b/bin/ps/ps.c index 89d90b78f2b0..dd1335bb4eeb 100644 --- a/bin/ps/ps.c +++ b/bin/ps/ps.c @@ -1462,6 +1462,6 @@ usage(void) "usage: ps " SINGLE_OPTS " [-O fmt | -o fmt] [-G gid[,gid...]]", " [-J jid[,jid...]] [-M core] [-N system]", " [-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]]", - " ps [-L]"); + " ps -L"); exit(1); } From nobody Tue Apr 25 15:25:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5QnH0l67z47Kk8; Tue, 25 Apr 2023 15:25: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 4Q5QnG5Wypz3jy3; Tue, 25 Apr 2023 15:25:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682436354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RPgT5uRmGt+sjlFiJ7s0J18fz84Vev6iD/SQEL+eMbg=; b=Era64W1zuodN7Sh1AJvMjEwTuwnMHdsjoa/dTmMoStY9cglGrCfVdByOYtxynhyd4ZAh6H aVWwyuyKPWbSEponekmUm+xmhlS5r4spBFc0IoOs1/Ry1O1seegHsCi9miz42mjcQqOak7 Ej8e4qtuXSMS+8vddjGhFma9z2IGix9FeOGp4l22i6pWmmcGyM3lHhnIferu1JAiROlUGB /idBI3AM+YIXDNioF83L4N80bZrofQmXToE4pvKKONNKTlMKMwI4WqnGNyglEfFJkYJks4 Xl+NxdUawr/YFlX/r4cIc33AdgPfLKCZ+65ZjBXSJfbhu1/jFpmozYNeLSfCpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682436354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RPgT5uRmGt+sjlFiJ7s0J18fz84Vev6iD/SQEL+eMbg=; b=HxrZJZJTD1DVAtm+S1IrsihKKZ9WEkgO0P+56g6r9q2gY279eiXMVn2Bj7UuvMhvAYJ85I F0x3Ho/526h5TJ0k9VrUZPz7QeU5Y2pv+zRAh9VBdTMBMGA0Y1pszNdQwlkWxGMLqRF/kj RaGUKF809N1zeSh/Y67loZxmmM3Su80qJ2aaYv4Dw3tLDdqX+kBnXMasNEC8/3/zAnfNxU cHurdgPw71OIhLW9LKVbHRMhZUawIxWetv3pIZL6Fn7h61M+2yrc51t+bvb5BkBiWFihXF wyeEihOQTwpS3KKeOzxDq9FRw2PH3Pi+W0iVeAYZCX+TjjlFAiUlsM/BT8v0rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682436354; a=rsa-sha256; cv=none; b=Ekbp+TjzUQcDyNTDB1zGqi8Z2lVP31DakjY6AyVFQ60kpX7VIEtDAEwjdUIj67eNqdZTJy ywj7pV2Gl7/RD2q59pI2IIRtsfqNXuL1JzLwSqNXaEUnuyGl+kRQNGFy30LgH7B4WGPtDp rcu+r3txtmRaKIJFBRXPC01qrQgJpFcB21xjoGli+R6rdshyEqF/caRjDIujX4NHmlF8pF 15nAZ1/+5OrCGytt1+gKZTzLKTKPPQ7G4OBvxJ4abfRDRCKnv9Zrfw0qg6NzhHJ2wbd0P+ CcHManYNUAHB831XbmnmVvW31xLitZwMBdBZ3CnQgfvaFGydRyDnNXLxyGy5UQ== 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 4Q5QnG4c10z1CHh; Tue, 25 Apr 2023 15:25: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 33PFPsb1029786; Tue, 25 Apr 2023 15:25:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PFPsgT029785; Tue, 25 Apr 2023 15:25:54 GMT (envelope-from git) Date: Tue, 25 Apr 2023 15:25:54 GMT Message-Id: <202304251525.33PFPsgT029785@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 820ac126795b - main - ps: Add libxo to usage message List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 820ac126795b8b1c55009676fad3dfe5c7834b0b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=820ac126795b8b1c55009676fad3dfe5c7834b0b commit 820ac126795b8b1c55009676fad3dfe5c7834b0b Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2023-04-25 11:55:17 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2023-04-25 15:23:07 +0000 ps: Add libxo to usage message MFC after: 1 week Sponsored by: Klara Inc. --- bin/ps/ps.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/ps/ps.c b/bin/ps/ps.c index dd1335bb4eeb..6f0cc76cd0b7 100644 --- a/bin/ps/ps.c +++ b/bin/ps/ps.c @@ -1459,9 +1459,9 @@ usage(void) #define SINGLE_OPTS "[-aCcde" OPT_LAZY_f "HhjlmrSTuvwXxZ]" (void)xo_error("%s\n%s\n%s\n%s\n", - "usage: ps " SINGLE_OPTS " [-O fmt | -o fmt] [-G gid[,gid...]]", - " [-J jid[,jid...]] [-M core] [-N system]", + "usage: ps [--libxo] " SINGLE_OPTS " [-O fmt | -o fmt]", + " [-G gid[,gid...]] [-J jid[,jid...]] [-M core] [-N system]", " [-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]]", - " ps -L"); + " ps [--libxo] -L"); exit(1); } From nobody Tue Apr 25 15:25:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5QnH6mdNz47KlX; Tue, 25 Apr 2023 15:25: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 4Q5QnH6WsTz3k9w; Tue, 25 Apr 2023 15:25:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682436355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8Ei7Ss9Ycncv8kwSCtd2Fh6lmzVdtern6cPSOwpp6ko=; b=F0VBHLIbU08HacdKawRQcbrHnxiyjMt6hE1ZKFe7P6MQvHQ9aqFP8cEVfDdWbWpFMUOT8T 28Zu3ROuFmm51aV55SPiRGqXPoqkwFJH6EMkY7s6Pg2tqyNEe5wcojHMTylibdr2fb+hkS OjdaOVF4j7zrKuBXsv/jjh2GbgVNJTshn0HqB5sCTNzqQ3Mr25DnG/lx5tYM3kUODPv9Hz R+KcZwabhF3znbApFgYqIxXyl5hjRjg5F1wyaXUt2mLTwYvOkHYLY9ADF5fm8crKJFwBIj I09n0eu7pks9uOAgBpOr6Im+C0BWdwYzThqPSZ3RXSL9Lx3idsq9FeLZOqtR9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682436355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8Ei7Ss9Ycncv8kwSCtd2Fh6lmzVdtern6cPSOwpp6ko=; b=LYseYR/GrAcMhRUJyi34ZDjGOcUYYOJtshdxmP6LiVOLmqFipwXm8CozRjEG4buMvxowoE xIov9+SwZz34Vw0H0nBws3Z/gFXjFmPSUKIpH3N50csl7xV6p48FIEp8PfkTU4e0mC02T9 RvYJnhocfNBejjOPXZd/S7BQgMb3MT3M+RMsEYEZ5o6usc9MvXmgldTOjFULwa8+2xMuYH 8P1GjztW92HwFajBOrfU+SjhzSeHvHOIo852yF+JCYopXFzeZwfhZ+42uYGFOd3cltBoHJ OX3lbrKnWTfy/mYMD4LS7fPhiaeQ8bqyYAscsw74yegJWRTZtTS7HJA5wBBSnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682436355; a=rsa-sha256; cv=none; b=CLG9583gV7N7imsFmksTJ9r5aDhNMwvOQB9Ga0IcBnAYW9R0XZOe3m1TI7dl49BGo6j4Kl 8+apALCFf/AbD5bEumZDM1VHLNiURf3V41Wgz+c0Z0O8WY/7RvWW2VcZt4F/sVeewpFCRB PzujQvoGUSzzdVcLYqhyHTQWlvvjr8L3v4/oVzdWvqIwvz3gpjvUUitWLpy7v6k9YRUa8d 9m8KCJdtbLWCBwZSN/ab5dH19bEhX5eV+M/Q3sX2UN+1uiFIuprCujLMdGMMB5mHnHmCuJ 28rW41ZKXcy/Ztq19K8OrlxPtIHkEfQ9C1bVdnmeQW69V/gTYUoCM4Xn4t8q9A== 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 4Q5QnH5ZXvz1ByR; Tue, 25 Apr 2023 15:25: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 33PFPtu8029808; Tue, 25 Apr 2023 15:25:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PFPtTs029807; Tue, 25 Apr 2023 15:25:55 GMT (envelope-from git) Date: Tue, 25 Apr 2023 15:25:55 GMT Message-Id: <202304251525.33PFPtTs029807@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: c98ecfceb361 - main - Add support for zpool user properties List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c98ecfceb36159e52c8d7e5cfc0d376393a6a60b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=c98ecfceb36159e52c8d7e5cfc0d376393a6a60b commit c98ecfceb36159e52c8d7e5cfc0d376393a6a60b Author: Allan Jude AuthorDate: 2023-04-21 17:20:36 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2023-04-25 15:23:07 +0000 Add support for zpool user properties Usage: zpool set org.freebsd:comment="this is my pool" poolname Tests are based on zfs_set's user property tests. Also stop truncating property values at MAXNAMELEN, use ZFS_MAXPROPLEN. Reviewed by: markj Approved by: markj Co-authored-by: Mateusz Piotrowski <0mp@FreeBSD.org> Obtained from: OpenZFS 8eae2d214cfa Add support for zpool user properties Sponsored by: Beckhoff Automation GmbH & Co. KG. Sponsored by: Klara Inc. Differential Revision: https://reviews.freebsd.org/D39657 --- sys/contrib/openzfs/cmd/zpool/zpool_main.c | 18 ++- sys/contrib/openzfs/include/libzfs.h | 2 + sys/contrib/openzfs/lib/libzfs/libzfs.abi | 9 ++ sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 101 +++++++++++- sys/contrib/openzfs/lib/libzfs/libzfs_util.c | 1 + sys/contrib/openzfs/man/man7/zpoolprops.7 | 55 ++++++- sys/contrib/openzfs/module/zfs/spa.c | 128 ++++++++++----- sys/contrib/openzfs/tests/runfiles/common.run | 3 +- .../openzfs/tests/zfs-tests/tests/Makefile.am | 3 + .../cli_root/zpool_set/user_property_001_pos.ksh | 89 +++++++++++ .../cli_root/zpool_set/user_property_002_neg.ksh | 88 ++++++++++ .../cli_root/zpool_set/zpool_set_common.kshlib | 178 +++++++++++++++++++++ 12 files changed, 627 insertions(+), 48 deletions(-) diff --git a/sys/contrib/openzfs/cmd/zpool/zpool_main.c b/sys/contrib/openzfs/cmd/zpool/zpool_main.c index d79c1608b09f..bf70f68fb431 100644 --- a/sys/contrib/openzfs/cmd/zpool/zpool_main.c +++ b/sys/contrib/openzfs/cmd/zpool/zpool_main.c @@ -6069,11 +6069,14 @@ print_pool(zpool_handle_t *zhp, list_cbdata_t *cb) zpool_prop_get_feature(zhp, pl->pl_user_prop, property, sizeof (property)) == 0) { propstr = property; + } else if (zfs_prop_user(pl->pl_user_prop) && + zpool_get_userprop(zhp, pl->pl_user_prop, property, + sizeof (property), NULL) == 0) { + propstr = property; } else { propstr = "-"; } - /* * If this is being called in scripted mode, or if this is the * last column and it is left-justified, don't include a width @@ -10011,7 +10014,7 @@ static int get_callback(zpool_handle_t *zhp, void *data) { zprop_get_cbdata_t *cbp = (zprop_get_cbdata_t *)data; - char value[MAXNAMELEN]; + char value[ZFS_MAXPROPLEN]; zprop_source_t srctype; zprop_list_t *pl; int vid; @@ -10047,6 +10050,17 @@ get_callback(zpool_handle_t *zhp, void *data) continue; if (pl->pl_prop == ZPROP_INVAL && + zfs_prop_user(pl->pl_user_prop)) { + srctype = ZPROP_SRC_LOCAL; + + if (zpool_get_userprop(zhp, pl->pl_user_prop, + value, sizeof (value), &srctype) != 0) + continue; + + zprop_print_one_property(zpool_get_name(zhp), + cbp, pl->pl_user_prop, value, srctype, + NULL, NULL); + } else if (pl->pl_prop == ZPROP_INVAL && (zpool_prop_feature(pl->pl_user_prop) || zpool_prop_unsupported(pl->pl_user_prop))) { srctype = ZPROP_SRC_LOCAL; diff --git a/sys/contrib/openzfs/include/libzfs.h b/sys/contrib/openzfs/include/libzfs.h index 4f8eeb72ad95..a265f2a19878 100644 --- a/sys/contrib/openzfs/include/libzfs.h +++ b/sys/contrib/openzfs/include/libzfs.h @@ -333,6 +333,8 @@ _LIBZFS_H const char *zpool_get_state_str(zpool_handle_t *); _LIBZFS_H int zpool_set_prop(zpool_handle_t *, const char *, const char *); _LIBZFS_H int zpool_get_prop(zpool_handle_t *, zpool_prop_t, char *, size_t proplen, zprop_source_t *, boolean_t literal); +_LIBZFS_H int zpool_get_userprop(zpool_handle_t *, const char *, char *, + size_t proplen, zprop_source_t *); _LIBZFS_H uint64_t zpool_get_prop_int(zpool_handle_t *, zpool_prop_t, zprop_source_t *); _LIBZFS_H int zpool_props_refresh(zpool_handle_t *); diff --git a/sys/contrib/openzfs/lib/libzfs/libzfs.abi b/sys/contrib/openzfs/lib/libzfs/libzfs.abi index 99e1b8cdf695..f12424106d39 100644 --- a/sys/contrib/openzfs/lib/libzfs/libzfs.abi +++ b/sys/contrib/openzfs/lib/libzfs/libzfs.abi @@ -484,6 +484,7 @@ + @@ -6108,6 +6109,14 @@ + + + + + + + + diff --git a/sys/contrib/openzfs/lib/libzfs/libzfs_pool.c b/sys/contrib/openzfs/lib/libzfs/libzfs_pool.c index f9b7cc004d6b..6281044723a1 100644 --- a/sys/contrib/openzfs/lib/libzfs/libzfs_pool.c +++ b/sys/contrib/openzfs/lib/libzfs/libzfs_pool.c @@ -426,6 +426,37 @@ zpool_get_prop(zpool_handle_t *zhp, zpool_prop_t prop, char *buf, return (0); } +/* + * Get a zpool property value for 'propname' and return the value in + * a pre-allocated buffer. + */ +int +zpool_get_userprop(zpool_handle_t *zhp, const char *propname, char *buf, + size_t len, zprop_source_t *srctype) +{ + nvlist_t *nv, *nvl; + uint64_t ival; + const char *value; + zprop_source_t source = ZPROP_SRC_LOCAL; + + nvl = zhp->zpool_props; + if (nvlist_lookup_nvlist(nvl, propname, &nv) == 0) { + if (nvlist_lookup_uint64(nv, ZPROP_SOURCE, &ival) == 0) + source = ival; + verify(nvlist_lookup_string(nv, ZPROP_VALUE, &value) == 0); + } else { + source = ZPROP_SRC_DEFAULT; + value = "-"; + } + + if (srctype) + *srctype = source; + + (void) strlcpy(buf, value, len); + + return (0); +} + /* * Check if the bootfs name has the same pool name as it is set to. * Assuming bootfs is a valid dataset name. @@ -549,6 +580,44 @@ zpool_valid_proplist(libzfs_handle_t *hdl, const char *poolname, (void) no_memory(hdl); goto error; } + continue; + } else if (prop == ZPOOL_PROP_INVAL && + zfs_prop_user(propname)) { + /* + * This is a user property: make sure it's a + * string, and that it's less than ZAP_MAXNAMELEN. + */ + if (nvpair_type(elem) != DATA_TYPE_STRING) { + zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, + "'%s' must be a string"), propname); + (void) zfs_error(hdl, EZFS_BADPROP, errbuf); + goto error; + } + + if (strlen(nvpair_name(elem)) >= ZAP_MAXNAMELEN) { + zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, + "property name '%s' is too long"), + propname); + (void) zfs_error(hdl, EZFS_BADPROP, errbuf); + goto error; + } + + (void) nvpair_value_string(elem, &strval); + + if (strlen(strval) >= ZFS_MAXPROPLEN) { + zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, + "property value '%s' is too long"), + strval); + (void) zfs_error(hdl, EZFS_BADPROP, errbuf); + goto error; + } + + if (nvlist_add_string(retprops, propname, + strval) != 0) { + (void) no_memory(hdl); + goto error; + } + continue; } @@ -855,9 +924,30 @@ zpool_expand_proplist(zpool_handle_t *zhp, zprop_list_t **plp, features = zpool_get_features(zhp); if ((*plp)->pl_all && firstexpand) { + /* Handle userprops in the all properties case */ + if (zhp->zpool_props == NULL && zpool_props_refresh(zhp)) + return (-1); + + nvp = NULL; + while ((nvp = nvlist_next_nvpair(zhp->zpool_props, nvp)) != + NULL) { + const char *propname = nvpair_name(nvp); + + if (!zfs_prop_user(propname)) + continue; + + entry = zfs_alloc(hdl, sizeof (zprop_list_t)); + entry->pl_prop = ZPROP_USERPROP; + entry->pl_user_prop = zfs_strdup(hdl, propname); + entry->pl_width = strlen(entry->pl_user_prop); + entry->pl_all = B_TRUE; + + *last = entry; + last = &entry->pl_next; + } + for (i = 0; i < SPA_FEATURES; i++) { - zprop_list_t *entry = zfs_alloc(hdl, - sizeof (zprop_list_t)); + entry = zfs_alloc(hdl, sizeof (zprop_list_t)); entry->pl_prop = ZPROP_USERPROP; entry->pl_user_prop = zfs_asprintf(hdl, "feature@%s", spa_feature_table[i].fi_uname); @@ -874,7 +964,6 @@ zpool_expand_proplist(zpool_handle_t *zhp, zprop_list_t **plp, nvp != NULL; nvp = nvlist_next_nvpair(features, nvp)) { char *propname; boolean_t found; - zprop_list_t *entry; if (zfeature_is_supported(nvpair_name(nvp))) continue; @@ -920,6 +1009,12 @@ zpool_expand_proplist(zpool_handle_t *zhp, zprop_list_t **plp, NULL, literal) == 0) { if (strlen(buf) > entry->pl_width) entry->pl_width = strlen(buf); + } else if (entry->pl_prop == ZPROP_INVAL && + zfs_prop_user(entry->pl_user_prop) && + zpool_get_userprop(zhp, entry->pl_user_prop, buf, + sizeof (buf), NULL) == 0) { + if (strlen(buf) > entry->pl_width) + entry->pl_width = strlen(buf); } } diff --git a/sys/contrib/openzfs/lib/libzfs/libzfs_util.c b/sys/contrib/openzfs/lib/libzfs/libzfs_util.c index 60695f8a63f4..5592332067f9 100644 --- a/sys/contrib/openzfs/lib/libzfs/libzfs_util.c +++ b/sys/contrib/openzfs/lib/libzfs/libzfs_util.c @@ -1774,6 +1774,7 @@ addlist(libzfs_handle_t *hdl, const char *propname, zprop_list_t **listp, * a user-defined property. */ if (prop == ZPROP_USERPROP && ((type == ZFS_TYPE_POOL && + !zfs_prop_user(propname) && !zpool_prop_feature(propname) && !zpool_prop_unsupported(propname)) || ((type == ZFS_TYPE_DATASET) && !zfs_prop_user(propname) && diff --git a/sys/contrib/openzfs/man/man7/zpoolprops.7 b/sys/contrib/openzfs/man/man7/zpoolprops.7 index 12b9b11903df..7709d85226dc 100644 --- a/sys/contrib/openzfs/man/man7/zpoolprops.7 +++ b/sys/contrib/openzfs/man/man7/zpoolprops.7 @@ -26,8 +26,9 @@ .\" Copyright 2017 Nexenta Systems, Inc. .\" Copyright (c) 2017 Open-E, Inc. All Rights Reserved. .\" Copyright (c) 2021, Colm Buckley +.\" Copyright (c) 2023, Klara Inc. .\" -.Dd May 27, 2021 +.Dd April 18, 2023 .Dt ZPOOLPROPS 7 .Os . @@ -40,6 +41,12 @@ Each pool has several properties associated with it. Some properties are read-only statistics while others are configurable and change the behavior of the pool. .Pp +User properties have no effect on ZFS behavior. +Use them to annotate pools in a way that is meaningful in your environment. +For more information about user properties, see the +.Sx User Properties +section. +.Pp The following are read-only properties: .Bl -tag -width "unsupported@guid" .It Sy allocated @@ -431,3 +438,49 @@ backwards compatibility. Once feature flags are enabled on a pool this property will no longer have a value. .El +. +.Ss User Properties +In addition to the standard native properties, ZFS supports arbitrary user +properties. +User properties have no effect on ZFS behavior, but applications or +administrators can use them to annotate pools. +.Pp +User property names must contain a colon +.Pq Qq Sy \&: +character to distinguish them from native properties. +They may contain lowercase letters, numbers, and the following punctuation +characters: colon +.Pq Qq Sy \&: , +dash +.Pq Qq Sy - , +period +.Pq Qq Sy \&. , +and underscore +.Pq Qq Sy _ . +The expected convention is that the property name is divided into two portions +such as +.Ar module : Ns Ar property , +but this namespace is not enforced by ZFS. +User property names can be at most 256 characters, and cannot begin with a dash +.Pq Qq Sy - . +.Pp +When making programmatic use of user properties, it is strongly suggested to use +a reversed DNS domain name for the +.Ar module +component of property names to reduce the chance that two +independently-developed packages use the same property name for different +purposes. +.Pp +The values of user properties are arbitrary strings and +are never validated. +All of the commands that operate on properties +.Po Nm zpool Cm list , +.Nm zpool Cm get , +.Nm zpool Cm set , +and so forth +.Pc +can be used to manipulate both native properties and user properties. +Use +.Nm zpool Cm set Ar name Ns = +to clear a user property. +Property values are limited to 8192 bytes. diff --git a/sys/contrib/openzfs/module/zfs/spa.c b/sys/contrib/openzfs/module/zfs/spa.c index dc202978c0f6..8c6afb3aac44 100644 --- a/sys/contrib/openzfs/module/zfs/spa.c +++ b/sys/contrib/openzfs/module/zfs/spa.c @@ -296,6 +296,22 @@ spa_prop_add_list(nvlist_t *nvl, zpool_prop_t prop, const char *strval, nvlist_free(propval); } +/* + * Add a user property (source=src, propname=propval) to an nvlist. + */ +static void +spa_prop_add_user(nvlist_t *nvl, const char *propname, char *strval, + zprop_source_t src) +{ + nvlist_t *propval; + + VERIFY(nvlist_alloc(&propval, NV_UNIQUE_NAME, KM_SLEEP) == 0); + VERIFY(nvlist_add_uint64(propval, ZPROP_SOURCE, src) == 0); + VERIFY(nvlist_add_string(propval, ZPROP_VALUE, strval) == 0); + VERIFY(nvlist_add_nvlist(nvl, propname, propval) == 0); + nvlist_free(propval); +} + /* * Get property values from the spa configuration. */ @@ -471,7 +487,8 @@ spa_prop_get(spa_t *spa, nvlist_t **nvp) zprop_source_t src = ZPROP_SRC_DEFAULT; zpool_prop_t prop; - if ((prop = zpool_name_to_prop(za.za_name)) == ZPOOL_PROP_INVAL) + if ((prop = zpool_name_to_prop(za.za_name)) == + ZPOOL_PROP_INVAL && !zfs_prop_user(za.za_name)) continue; switch (za.za_integer_length) { @@ -514,7 +531,13 @@ spa_prop_get(spa_t *spa, nvlist_t **nvp) kmem_free(strval, za.za_num_integers); break; } - spa_prop_add_list(*nvp, prop, strval, 0, src); + if (prop != ZPOOL_PROP_INVAL) { + spa_prop_add_list(*nvp, prop, strval, 0, src); + } else { + src = ZPROP_SRC_LOCAL; + spa_prop_add_user(*nvp, za.za_name, strval, + src); + } kmem_free(strval, za.za_num_integers); break; @@ -556,36 +579,47 @@ spa_prop_validate(spa_t *spa, nvlist_t *props) switch (prop) { case ZPOOL_PROP_INVAL: - if (!zpool_prop_feature(propname)) { - error = SET_ERROR(EINVAL); - break; - } - /* * Sanitize the input. */ - if (nvpair_type(elem) != DATA_TYPE_UINT64) { - error = SET_ERROR(EINVAL); - break; - } + if (zfs_prop_user(propname)) { + if (strlen(propname) >= ZAP_MAXNAMELEN) { + error = SET_ERROR(ENAMETOOLONG); + break; + } - if (nvpair_value_uint64(elem, &intval) != 0) { - error = SET_ERROR(EINVAL); - break; - } + if (strlen(fnvpair_value_string(elem)) >= + ZAP_MAXVALUELEN) { + error = SET_ERROR(E2BIG); + break; + } + } else if (zpool_prop_feature(propname)) { + if (nvpair_type(elem) != DATA_TYPE_UINT64) { + error = SET_ERROR(EINVAL); + break; + } - if (intval != 0) { - error = SET_ERROR(EINVAL); - break; - } + if (nvpair_value_uint64(elem, &intval) != 0) { + error = SET_ERROR(EINVAL); + break; + } + + if (intval != 0) { + error = SET_ERROR(EINVAL); + break; + } + + fname = strchr(propname, '@') + 1; + if (zfeature_lookup_name(fname, NULL) != 0) { + error = SET_ERROR(EINVAL); + break; + } - fname = strchr(propname, '@') + 1; - if (zfeature_lookup_name(fname, NULL) != 0) { + has_feature = B_TRUE; + } else { error = SET_ERROR(EINVAL); break; } - - has_feature = B_TRUE; break; case ZPOOL_PROP_VERSION: @@ -792,6 +826,12 @@ spa_prop_set(spa_t *spa, nvlist_t *nvp) prop == ZPOOL_PROP_READONLY) continue; + if (prop == ZPOOL_PROP_INVAL && + zfs_prop_user(nvpair_name(elem))) { + need_sync = B_TRUE; + break; + } + if (prop == ZPOOL_PROP_VERSION || prop == ZPOOL_PROP_INVAL) { uint64_t ver = 0; @@ -8788,24 +8828,11 @@ spa_sync_props(void *arg, dmu_tx_t *tx) const char *strval, *fname; zpool_prop_t prop; const char *propname; + const char *elemname = nvpair_name(elem); zprop_type_t proptype; spa_feature_t fid; - switch (prop = zpool_name_to_prop(nvpair_name(elem))) { - case ZPOOL_PROP_INVAL: - /* - * We checked this earlier in spa_prop_validate(). - */ - ASSERT(zpool_prop_feature(nvpair_name(elem))); - - fname = strchr(nvpair_name(elem), '@') + 1; - VERIFY0(zfeature_lookup_name(fname, &fid)); - - spa_feature_enable(spa, fid, tx); - spa_history_log_internal(spa, "set", tx, - "%s=enabled", nvpair_name(elem)); - break; - + switch (prop = zpool_name_to_prop(elemname)) { case ZPOOL_PROP_VERSION: intval = fnvpair_value_uint64(elem); /* @@ -8848,7 +8875,7 @@ spa_sync_props(void *arg, dmu_tx_t *tx) spa_async_request(spa, SPA_ASYNC_CONFIG_UPDATE); } spa_history_log_internal(spa, "set", tx, - "%s=%s", nvpair_name(elem), strval); + "%s=%s", elemname, strval); break; case ZPOOL_PROP_COMPATIBILITY: strval = fnvpair_value_string(elem); @@ -8867,6 +8894,20 @@ spa_sync_props(void *arg, dmu_tx_t *tx) "%s=%s", nvpair_name(elem), strval); break; + case ZPOOL_PROP_INVAL: + if (zpool_prop_feature(elemname)) { + fname = strchr(elemname, '@') + 1; + VERIFY0(zfeature_lookup_name(fname, &fid)); + + spa_feature_enable(spa, fid, tx); + spa_history_log_internal(spa, "set", tx, + "%s=enabled", elemname); + break; + } else if (!zfs_prop_user(elemname)) { + ASSERT(zpool_prop_feature(elemname)); + break; + } + zfs_fallthrough; default: /* * Set pool property values in the poolprops mos object. @@ -8881,6 +8922,11 @@ spa_sync_props(void *arg, dmu_tx_t *tx) /* normalize the property name */ propname = zpool_prop_to_name(prop); proptype = zpool_prop_get_type(prop); + if (prop == ZPOOL_PROP_INVAL && + zfs_prop_user(elemname)) { + propname = elemname; + proptype = PROP_TYPE_STRING; + } if (nvpair_type(elem) == DATA_TYPE_STRING) { ASSERT(proptype == PROP_TYPE_STRING); @@ -8889,7 +8935,7 @@ spa_sync_props(void *arg, dmu_tx_t *tx) spa->spa_pool_props_object, propname, 1, strlen(strval) + 1, strval, tx)); spa_history_log_internal(spa, "set", tx, - "%s=%s", nvpair_name(elem), strval); + "%s=%s", elemname, strval); } else if (nvpair_type(elem) == DATA_TYPE_UINT64) { intval = fnvpair_value_uint64(elem); @@ -8902,7 +8948,7 @@ spa_sync_props(void *arg, dmu_tx_t *tx) spa->spa_pool_props_object, propname, 8, 1, &intval, tx)); spa_history_log_internal(spa, "set", tx, - "%s=%lld", nvpair_name(elem), + "%s=%lld", elemname, (longlong_t)intval); switch (prop) { diff --git a/sys/contrib/openzfs/tests/runfiles/common.run b/sys/contrib/openzfs/tests/runfiles/common.run index 50a9309acea5..bb0aacae456c 100644 --- a/sys/contrib/openzfs/tests/runfiles/common.run +++ b/sys/contrib/openzfs/tests/runfiles/common.run @@ -481,7 +481,8 @@ tags = ['functional', 'cli_root', 'zpool_scrub'] [tests/functional/cli_root/zpool_set] tests = ['zpool_set_001_pos', 'zpool_set_002_neg', 'zpool_set_003_neg', - 'zpool_set_ashift', 'zpool_set_features'] + 'zpool_set_ashift', 'zpool_set_features', + 'user_property_001_pos', 'user_property_002_neg'] tags = ['functional', 'cli_root', 'zpool_set'] [tests/functional/cli_root/zpool_split] diff --git a/sys/contrib/openzfs/tests/zfs-tests/tests/Makefile.am b/sys/contrib/openzfs/tests/zfs-tests/tests/Makefile.am index 92d62b503f65..9b46beaf460f 100644 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/Makefile.am +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/Makefile.am @@ -1146,10 +1146,13 @@ nobase_dist_datadir_zfs_tests_tests_SCRIPTS += \ functional/cli_root/zpool_set/cleanup.ksh \ functional/cli_root/zpool_set/setup.ksh \ functional/cli_root/zpool/setup.ksh \ + functional/cli_root/zpool_set/zpool_set_common.kshlib \ functional/cli_root/zpool_set/zpool_set_001_pos.ksh \ functional/cli_root/zpool_set/zpool_set_002_neg.ksh \ functional/cli_root/zpool_set/zpool_set_003_neg.ksh \ functional/cli_root/zpool_set/zpool_set_ashift.ksh \ + functional/cli_root/zpool_set/user_property_001_pos.ksh \ + functional/cli_root/zpool_set/user_property_002_neg.ksh \ functional/cli_root/zpool_set/zpool_set_features.ksh \ functional/cli_root/zpool_split/cleanup.ksh \ functional/cli_root/zpool_split/setup.ksh \ diff --git a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_set/user_property_001_pos.ksh b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_set/user_property_001_pos.ksh new file mode 100755 index 000000000000..4b9097933f37 --- /dev/null +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_set/user_property_001_pos.ksh @@ -0,0 +1,89 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or https://opensource.org/licenses/CDDL-1.0. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +# +# Copyright (c) 2016 by Delphix. All rights reserved. +# Copyright (c) 2023 by Klara Inc. +# + +. $STF_SUITE/tests/functional/cli_root/zpool_set/zpool_set_common.kshlib + +# +# DESCRIPTION: +# ZFS can set any valid user-defined pool property. +# +# STRATEGY: +# 1. Combine all kind of valid characters into a valid user-defined +# property name. +# 2. Random get a string as the value. +# 3. Verify all the valid user-defined pool properties can be set to a +# pool. +# + +verify_runnable "both" + +log_assert "ZFS can set any valid user-defined pool property." +log_onexit cleanup_user_prop $TESTPOOL + +typeset -a names=() +typeset -a values=() + +# Longest property name (255 bytes, which is the 256-byte limit minus 1 byte +# for the null byte) +names+=("$(awk 'BEGIN { printf "x:"; while (c++ < (256 - 2 - 1)) printf "a" }')") +values+=("long-property-name") +# Longest property value (the limits are 1024 on FreeBSD and 4096 on Linux, so +# pick the right one; the longest value can use limit minus 1 bytes for the +# null byte) +if is_linux; then + typeset ZFS_MAXPROPLEN=4096 +else + typeset ZFS_MAXPROPLEN=1024 +fi +names+=("long:property:value") +values+=("$(awk -v max="$ZFS_MAXPROPLEN" 'BEGIN { while (c++ < (max - 1)) printf "A" }')") +# Valid property names +for i in {1..10}; do + typeset -i len + ((len = RANDOM % 32)) + names+=("$(valid_user_property $len)") + ((len = RANDOM % 512)) + values+=("$(user_property_value $len)") +done + +typeset -i i=0 +while ((i < ${#names[@]})); do + typeset name="${names[$i]}" + typeset value="${values[$i]}" + + log_must eval "zpool set $name='$value' $TESTPOOL" + log_must eval "check_user_prop $TESTPOOL $name '$value'" + + ((i += 1)) +done + +log_pass "ZFS can set any valid user-defined pool property passed." diff --git a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_set/user_property_002_neg.ksh b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_set/user_property_002_neg.ksh new file mode 100755 index 000000000000..7c8fcba6e471 --- /dev/null +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_set/user_property_002_neg.ksh @@ -0,0 +1,88 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or https://opensource.org/licenses/CDDL-1.0. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +# +# Copyright (c) 2016 by Delphix. All rights reserved. +# Copyright (c) 2023 by Klara Inc. +# + +. $STF_SUITE/tests/functional/cli_root/zpool_set/zpool_set_common.kshlib + +# +# DESCRIPTION: +# ZFS can handle any invalid user-defined pool property. +# +# STRATEGY: +# 1. Combine all kind of invalid user pool property names. +# 2. Random get a string as the value. +# 3. Verify all the invalid user-defined pool properties can not be set +# to the pool. +# + +verify_runnable "both" + +log_assert "ZFS can handle any invalid user pool property." +log_onexit cleanup_user_prop $TESTPOOL + +typeset -a names=() +typeset -a values=() + +# Too long property name (256 bytes, which is the 256-byte limit minus 1 byte +# for the null byte plus 1 byte to reach back over the limit) +names+=("$(awk 'BEGIN { printf "x:"; while (c++ < (256 - 2 - 1 + 1)) printf "a" }')") +values+=("too-long-property-name") +# Too long property value (the limits are 1024 on FreeBSD and 4096 on Linux, so +# pick the right one; the too long value is, e.g., the limit minus 1 bytes for the +# null byte plus 1 byte to reach back over the limit) +if is_linux; then + typeset ZFS_MAXPROPLEN=4096 +else + typeset ZFS_MAXPROPLEN=1024 +fi +names+=("too:long:property:value") +values+=("$(awk -v max="$ZFS_MAXPROPLEN" 'BEGIN { while (c++ < (max - 1 + 1)) printf "A" }')") +# Invalid property names +for i in {1..10}; do + typeset -i len + ((len = RANDOM % 32)) + names+=("$(invalid_user_property $len)") + ((len = RANDOM % 512)) + values+=("$(user_property_value $len)") +done + +typeset -i i=0 +while ((i < ${#names[@]})); do + typeset name="${names[$i]}" + typeset value="${values[$i]}" + + log_mustnot zpool set $name=$value $TESTPOOL + log_mustnot check_user_prop $TESTPOOL \"$name\" \"$value\" + + ((i += 1)) +done + +log_pass "ZFS can handle invalid user pool property passed." diff --git a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_common.kshlib b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_common.kshlib new file mode 100644 index 000000000000..346e4a16b2ad --- /dev/null +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_common.kshlib @@ -0,0 +1,178 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or https://opensource.org/licenses/CDDL-1.0. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +# +# Copyright (c) 2014, 2016 by Delphix. All rights reserved. +# Copyright (c) 2023 by Klara Inc. +# + +. $STF_SUITE/include/libtest.shlib + +set -A VALID_NAME_CHAR a b c d e f g h i j k l m n o p q r s t u v w x y z \ + 0 1 2 3 4 5 6 7 8 9 ':' '-' '.' '_' +set -A INVALID_NAME_CHAR A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \ + '`' '~' '!' '@' '#' '$' '%' '^' '&' '(' ')' '+' '=' '|' "\\" '{' '[' ']' \ + '}' ';' '"' '<' ',' '>' '?' '/' ' ' +set -A ALL_CHAR ${VALID_NAME_CHAR[*]} ${INVALID_NAME_CHAR[*]} + +# +# Cleanup all the user properties of the pool. +# +# $1 pool name +# +function cleanup_user_prop +{ + typeset pool=$1 + + typeset user_prop + user_prop=$(zpool get -H -o property all $pool | grep ":") + + typeset prop + for prop in $user_prop; do + zpool set $prop="" $pool || + log_must zpool set $prop="" $pool + done +} + +# +# Random select character from the specified character set and combine into a +# random string +# +# $1 character set name +# $2 String length +# +function random_string +{ + typeset char_set=${1:-VALID_NAME_CHAR} + typeset -i len=${2:-5} + + eval typeset -i count=\${#$char_set[@]} + + # No consumers want an empty string. + ((len == 0)) && len=3 + + typeset str + typeset -i i=0 + while ((i < len)); do + typeset -i ind + ((ind = RANDOM % count)) + eval str=\${str}\${$char_set[\$ind]} + + ((i += 1)) + done + + echo "$str" +} + +# +# Get valid user-defined property name +# +# $1 user-defined property name length +# +function valid_user_property +{ + typeset -i sumlen=${1:-10} + ((sumlen < 2 )) && sumlen=2 + typeset -i len + ((len = RANDOM % sumlen)) + typeset part1 part2 + + while true; do + part1="$(random_string VALID_NAME_CHAR $len)" + if [[ "$part1" == "-"* ]]; then + continue + fi + break + done + ((len = sumlen - (len + 1))) + + while true; do + part2="$(random_string VALID_NAME_CHAR $len)" + if [[ -z $part1 && -z $part2 ]]; then + continue + fi + break + done + + echo "${part1}:${part2}" +} + +# +# Get invalid user-defined property name +# +# $1 user-defined property name length +# +function invalid_user_property +{ + typeset -i sumlen=${1:-10} + ((sumlen == 0)) && sumlen=1 + typeset -i len + ((len = RANDOM % sumlen)) + + typeset part1 part2 + while true; do + part1="$(random_string VALID_NAME_CHAR $len)" + ((len = sumlen - len)) + part2="$(random_string INVALID_NAME_CHAR $len)" + + # Avoid $part1 is *:* and $part2 is "=*" + if [[ "$part1" == *":"* && "$part2" == "="* ]]; then + continue + fi + break + done + + echo "${part1}${part2}" +} + +# +# Get user-defined property value +# +# $1 user-defined property name length +# +function user_property_value +{ + typeset -i len=${1:-100} + + random_string ALL_CHAR $len +} + +# +# Check if the user-defined property is identical to the expected value. +# +# $1 pool +# $2 user property +# $3 expected value +# +function check_user_prop +{ + typeset pool=$1 + typeset user_prop="$2" + typeset expect_value="$3" + typeset value=$(zpool get -p -H -o value "$user_prop" $pool 2>&1) + + [ "$expect_value" = "$value" ] +} From nobody Tue Apr 25 16:03:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5Rcb6Fydz47MRR; Tue, 25 Apr 2023 16:03: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 4Q5Rcb5CBYz3p6b; Tue, 25 Apr 2023 16:03:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682438607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SeuGWp4VJeUwKvT94cqz/yUijsVIcm6gWJGSzuhTVC0=; b=xJapVgTZC6eZ7gJF0BZE+QfawhrRqYfNHlwCK8qsnOEVWjBYNzsKfXvwVTwVcUorM6eXHW Tr8Wn1cEMSnZkny2lhQgKW97lOVwZk1REm8HgZAv2c80YrfMR6o7T2Gjq9B4UhA6K138Ni gVOTKU+9aeQfZz0Rufhj8rmX9npcTM5/mKhOsTqivvs6unqRRqlQHFH8uGr9LSl+Ck+JLr ZsqkC2nQF6yb4QP//9QfCT6UjGeIrEaprL86PU5PJ7ezkgBcJ+cDJ7Y3C11FMDBsOVOG42 1EyqfEImjNE5Ra9yFJPItR9575xXHFhGEqFZLbL9xXEXTnlxEVdkFxyFj1oveQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682438607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SeuGWp4VJeUwKvT94cqz/yUijsVIcm6gWJGSzuhTVC0=; b=a3a95TBhKhWPsV/XRWuDnvOdtU91wkVIMTuDstnkjFX/3b7JpC2h1QkyZnpXjLe+OQVo6f WfQ1yTuqLX+MLizZIMNMkjQ7K/WI/Im13yNKDQLlQ4hGXjp9C91o51CO7RnLobZfPnXIAi j8LccGUrV9xJvUKpJUVnMoudEEPFWK10TRd7TLFw/21JJM7FHYZyQ0G9fhkGj3T6W69JNX r6gnB+5eT0HL2Qb69/MYkOFzLlTOkVd8iyRScP3GUY3ThAPi9PuXAAtsaofkqZ+EXRWLEo 3dO/82oiJlCqg6bbaS1/xJhTY9jOELw4Cnh04DdbBglhyvftlAjkry0KO92rdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682438607; a=rsa-sha256; cv=none; b=hjovq28D14Q49Tk+wEy0puKr/D6KxE4G5mGeeGj/Y4aSLJyxhXHtdIYgF8Z1AfIuf88rVL PLGUmQB5egnCYCO/diW6c39DZAuBaSLlkLYgDe+kGnCJlh0cc2ukOKK5J4drcn70XAtjnf rIme0ztmQTo+RUIwhT48gjKP38k9qKal6DlrUv0lyb6cChcGqkCd+8j4sO1j4JEV9TkWn+ MBTrcAXDeUVPGr4nCKTGIELQxlP0g6veqBMSYWpmpY1vMTRI54zLDOeupyVQt+tWHfqAzo o3EEuIgKpWjTp4TqtfnUgvNONNl7bnlNVia+LnNOA9DucegPRcZkdfZ212ewnw== 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 4Q5Rcb4FzJz1CvN; Tue, 25 Apr 2023 16:03: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 33PG3RXX095586; Tue, 25 Apr 2023 16:03:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PG3R7J095585; Tue, 25 Apr 2023 16:03:27 GMT (envelope-from git) Date: Tue, 25 Apr 2023 16:03:27 GMT Message-Id: <202304251603.33PG3R7J095585@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: b0695c6abe3f - main - zfs: Revert "Fix data race between zil_commit() and zil_suspend()" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b0695c6abe3f33a4188bcbcbf214823cd86f54d6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=b0695c6abe3f33a4188bcbcbf214823cd86f54d6 commit b0695c6abe3f33a4188bcbcbf214823cd86f54d6 Author: Mateusz Guzik AuthorDate: 2023-04-25 16:01:22 +0000 Commit: Mateusz Guzik CommitDate: 2023-04-25 16:01:22 +0000 zfs: Revert "Fix data race between zil_commit() and zil_suspend()" This reverts commit 4c856fb333ac57d9b4a6ddd44407fd022a702f00. To quote a pending upstream PR: This reverts commit 4c856fb to resolve a newly introduced deadlock which in practice is more disruptive that the issue this commit intended to address. Causes deadlocks described in https://github.com/openzfs/zfs/issues/14775 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/contrib/openzfs/include/sys/zil_impl.h | 1 - sys/contrib/openzfs/module/zfs/zil.c | 27 --------------------------- 2 files changed, 28 deletions(-) diff --git a/sys/contrib/openzfs/include/sys/zil_impl.h b/sys/contrib/openzfs/include/sys/zil_impl.h index f44a01afee5c..bb85bf6d1eb1 100644 --- a/sys/contrib/openzfs/include/sys/zil_impl.h +++ b/sys/contrib/openzfs/include/sys/zil_impl.h @@ -183,7 +183,6 @@ struct zilog { uint64_t zl_destroy_txg; /* txg of last zil_destroy() */ uint64_t zl_replayed_seq[TXG_SIZE]; /* last replayed rec seq */ uint64_t zl_replaying_seq; /* current replay seq number */ - krwlock_t zl_suspend_lock; /* protects suspend count */ uint32_t zl_suspend; /* log suspend count */ kcondvar_t zl_cv_suspend; /* log suspend completion */ uint8_t zl_suspending; /* log is currently suspending */ diff --git a/sys/contrib/openzfs/module/zfs/zil.c b/sys/contrib/openzfs/module/zfs/zil.c index eb26e4b32998..d1631c2ac9db 100644 --- a/sys/contrib/openzfs/module/zfs/zil.c +++ b/sys/contrib/openzfs/module/zfs/zil.c @@ -3317,21 +3317,6 @@ zil_commit(zilog_t *zilog, uint64_t foid) return; } - /* - * The ->zl_suspend_lock rwlock ensures that all in-flight - * zil_commit() operations finish before suspension begins and that - * no more begin. Without it, it is possible for the scheduler to - * preempt us right after the zilog->zl_suspend suspend check, run - * another thread that runs zil_suspend() and after the other thread - * has finished its call to zil_commit_impl(), resume this thread while - * zil is suspended. This can trigger an assertion failure in - * VERIFY(list_is_empty(&lwb->lwb_itxs)). If it is held, it means that - * `zil_suspend()` is executing in another thread, so we go to - * txg_wait_synced(). - */ - if (!rw_tryenter(&zilog->zl_suspend_lock, RW_READER)) - goto wait; - /* * If the ZIL is suspended, we don't want to dirty it by calling * zil_commit_itx_assign() below, nor can we write out @@ -3340,14 +3325,11 @@ zil_commit(zilog_t *zilog, uint64_t foid) * semantics, and avoid calling those functions altogether. */ if (zilog->zl_suspend > 0) { - rw_exit(&zilog->zl_suspend_lock); -wait: txg_wait_synced(zilog->zl_dmu_pool, 0); return; } zil_commit_impl(zilog, foid); - rw_exit(&zilog->zl_suspend_lock); } void @@ -3612,8 +3594,6 @@ zil_alloc(objset_t *os, zil_header_t *zh_phys) cv_init(&zilog->zl_cv_suspend, NULL, CV_DEFAULT, NULL); cv_init(&zilog->zl_lwb_io_cv, NULL, CV_DEFAULT, NULL); - rw_init(&zilog->zl_suspend_lock, NULL, RW_DEFAULT, NULL); - return (zilog); } @@ -3653,8 +3633,6 @@ zil_free(zilog_t *zilog) cv_destroy(&zilog->zl_cv_suspend); cv_destroy(&zilog->zl_lwb_io_cv); - rw_destroy(&zilog->zl_suspend_lock); - kmem_free(zilog, sizeof (zilog_t)); } @@ -3782,14 +3760,11 @@ zil_suspend(const char *osname, void **cookiep) return (error); zilog = dmu_objset_zil(os); - rw_enter(&zilog->zl_suspend_lock, RW_WRITER); - mutex_enter(&zilog->zl_lock); zh = zilog->zl_header; if (zh->zh_flags & ZIL_REPLAY_NEEDED) { /* unplayed log */ mutex_exit(&zilog->zl_lock); - rw_exit(&zilog->zl_suspend_lock); dmu_objset_rele(os, suspend_tag); return (SET_ERROR(EBUSY)); } @@ -3803,7 +3778,6 @@ zil_suspend(const char *osname, void **cookiep) if (cookiep == NULL && !zilog->zl_suspending && (zilog->zl_suspend > 0 || BP_IS_HOLE(&zh->zh_log))) { mutex_exit(&zilog->zl_lock); - rw_exit(&zilog->zl_suspend_lock); dmu_objset_rele(os, suspend_tag); return (0); } @@ -3812,7 +3786,6 @@ zil_suspend(const char *osname, void **cookiep) dsl_pool_rele(dmu_objset_pool(os), suspend_tag); zilog->zl_suspend++; - rw_exit(&zilog->zl_suspend_lock); if (zilog->zl_suspend > 1) { /* From nobody Tue Apr 25 17:30:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5TY32tM5z46TDM; Tue, 25 Apr 2023 17:30: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 4Q5TY30vmlz430G; Tue, 25 Apr 2023 17:30:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682443831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dZth14C4MNQAomf1XwULKIuY7zr6ciH6ujM/GqwG7pA=; b=s9eiOn3Mdq6MlkNbBpgZAro8DVEhcv2IQU+xhG7j89mpawoFRp0ppOdklC5JbnYGkZ7eB/ z0o3ad38S1bclvlDWfrLQJE7Hp4Jf8XWtBrVGyGarLcLgYxItfREn1yKnmZwLJCaCoMpfx qsZV8Dab4Cpq/m5l3m3Npp4jI0ofyn1YVZBobpSxGTxCl9WxIi6Lg6a8k09Zz2EofWUpNz xv07Vk170aZCAzi5WWJT+9WPCbkVD6ZrPynYSHXbuO97UkoLTXNmkzXOG146xYG7PasxyO tcvCLnAZRYhUtsiO/2B8wN5rJvk+TYaELTOT3gdfNpxMoT6raTtTnlC0/enM5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682443831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dZth14C4MNQAomf1XwULKIuY7zr6ciH6ujM/GqwG7pA=; b=tjuOmvtTiJvKDw56eG83gFw0LO5Kda/+iQmHaAF6GvaucVt0jgkFYkdIT1lmvcLWhhaSiL 9RxKTDIJKvvAUSpLjPPZipqR4+E+j88jLXqRwBDk0b55DRCL086H8/yD7UGDZMUs7eJNac JpxcPimsYsKvcwKuX9tngQSt4Y6ZYJnV0B9zHBTCN60U3AZ5UasPFfPAW5+wUYbdDLNGfa xFpa9bDGiYJGt4no0XXhKYznsoPOCDUxbKhqblJ67p4vxSwHD9ibL7PfGMwysYQA+qqYm7 NFfAfNNiQ5ihWnSHwb48RpNYfYeRsq4eol2QDCaQPuM1ui0UUKS2AkiawIX47A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682443831; a=rsa-sha256; cv=none; b=JoUki2ht149noTH252A1N1pXXII8d9aX+lKe2jhS0M0ZZA4d8Rwj5jcx3oHHJheRll+Q4/ Ywg26cldLJ6/ljrjWOH4hR8RVKgczMPw/3GBvcMgITS1ntwRbE9/gpgV6Osqf5ZHUHi3X9 /HKC8ShEtIOAl9yQhdZbCmYIEaS5N+l1OYDTAxjplUBRK57Apyf5bAo72Ke2uvol/6IMOe fZsYYk3JKs0eSZNGq7gmeWZV/AqTfNXhEQtnl0UUWdCAYhaZEygmWPZ0iOChAPArirc3Jl oFwN8eAj2dk12eL4VZF584qQxKJM+8ijhPlyPK3NVUFtY98F0Ida8liWkpwVtA== 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 4Q5TY275Ngz1G1p; Tue, 25 Apr 2023 17:30: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 33PHUUjv037711; Tue, 25 Apr 2023 17:30:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PHUUkX037710; Tue, 25 Apr 2023 17:30:30 GMT (envelope-from git) Date: Tue, 25 Apr 2023 17:30:30 GMT Message-Id: <202304251730.33PHUUkX037710@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: bab8274c0909 - main - Use bool for one-bit wide bit-fields List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bab8274c090942cf96c44bc001307b9bffac9d7e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=bab8274c090942cf96c44bc001307b9bffac9d7e commit bab8274c090942cf96c44bc001307b9bffac9d7e Author: Dimitry Andric AuthorDate: 2023-04-25 17:18:58 +0000 Commit: Dimitry Andric CommitDate: 2023-04-25 17:26:03 +0000 Use bool for one-bit wide bit-fields A signed one-bit wide bit-field can take only the values 0 and -1. Clang 16 introduced a warning that "implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1". Fix the warnings by using C99 bool. Reported by: Clang 16 Reviewed by: emaste, jhb MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39705 --- sys/dev/acpica/acpi_pci_link.c | 28 ++++++++++++++-------------- sys/dev/acpica/acpi_pxm.c | 4 ++-- sys/dev/otus/if_otusreg.h | 2 +- sys/dev/puc/puc.c | 2 +- sys/dev/puc/puc_bfe.h | 8 ++++---- sys/dev/quicc/quicc_bfe.h | 4 ++-- sys/dev/scc/scc_bfe.h | 20 ++++++++++---------- sys/dev/uart/uart_bus.h | 20 ++++++++++---------- sys/dev/wpi/if_wpivar.h | 2 +- sys/x86/include/x86_smp.h | 8 ++++---- 10 files changed, 49 insertions(+), 49 deletions(-) diff --git a/sys/dev/acpica/acpi_pci_link.c b/sys/dev/acpica/acpi_pci_link.c index dfbaeaddec06..95dd11b9805e 100644 --- a/sys/dev/acpica/acpi_pci_link.c +++ b/sys/dev/acpica/acpi_pci_link.c @@ -104,8 +104,8 @@ struct link { int l_num_irqs; int *l_irqs; int l_references; - int l_routed:1; - int l_isa_irq:1; + bool l_routed:1; + bool l_isa_irq:1; ACPI_RESOURCE l_prs_template; }; @@ -355,18 +355,18 @@ link_add_prs(ACPI_RESOURCE *res, void *context) * valid IRQs are ISA IRQs, then mark this link as * routed via an ISA interrupt. */ - link->l_isa_irq = TRUE; + link->l_isa_irq = true; link->l_irqs = malloc(sizeof(int) * link->l_num_irqs, M_PCI_LINK, M_WAITOK | M_ZERO); for (i = 0; i < link->l_num_irqs; i++) { if (is_ext_irq) { link->l_irqs[i] = ext_irqs[i]; if (ext_irqs[i] >= NUM_ISA_INTERRUPTS) - link->l_isa_irq = FALSE; + link->l_isa_irq = false; } else { link->l_irqs[i] = irqs[i]; if (irqs[i] >= NUM_ISA_INTERRUPTS) - link->l_isa_irq = FALSE; + link->l_isa_irq = false; } } @@ -376,7 +376,7 @@ link_add_prs(ACPI_RESOURCE *res, void *context) */ if (!req->sc->pl_crs_bad && !link->l_isa_irq && link->l_crs_type == ACPI_RESOURCE_TYPE_IRQ) - req->sc->pl_crs_bad = TRUE; + req->sc->pl_crs_bad = true; break; default: if (req->in_dpf == DPF_IGNORE) @@ -390,7 +390,7 @@ link_add_prs(ACPI_RESOURCE *res, void *context) return (AE_OK); } -static int +static bool link_valid_irq(struct link *link, int irq) { int i; @@ -399,12 +399,12 @@ link_valid_irq(struct link *link, int irq) /* Invalid interrupts are never valid. */ if (!PCI_INTERRUPT_VALID(irq)) - return (FALSE); + return (false); /* Any interrupt in the list of possible interrupts is valid. */ for (i = 0; i < link->l_num_irqs; i++) if (link->l_irqs[i] == irq) - return (TRUE); + return (true); /* * For links routed via an ISA interrupt, if the SCI is routed via @@ -412,10 +412,10 @@ link_valid_irq(struct link *link, int irq) */ if (link->l_isa_irq && AcpiGbl_FADT.SciInterrupt == irq && irq < NUM_ISA_INTERRUPTS) - return (TRUE); + return (true); /* If the interrupt wasn't found in the list it is not valid. */ - return (FALSE); + return (false); } static void @@ -493,7 +493,7 @@ acpi_pci_link_attach(device_t dev) sc->pl_links[i].l_irq = PCI_INVALID_IRQ; sc->pl_links[i].l_bios_irq = PCI_INVALID_IRQ; sc->pl_links[i].l_sc = sc; - sc->pl_links[i].l_isa_irq = FALSE; + sc->pl_links[i].l_isa_irq = false; sc->pl_links[i].l_res_index = -1; } @@ -558,7 +558,7 @@ acpi_pci_link_attach(device_t dev) else for (i = 0; i < sc->pl_num_links; i++) if (PCI_INTERRUPT_VALID(sc->pl_links[i].l_irq)) - sc->pl_links[i].l_routed = TRUE; + sc->pl_links[i].l_routed = true; if (bootverbose) acpi_pci_link_dump(sc, 0, "After Disable"); ACPI_SERIAL_END(pci_link); @@ -904,7 +904,7 @@ acpi_pci_link_route_irqs(device_t dev) */ if (!link->l_routed && PCI_INTERRUPT_VALID(link->l_irq)) { - link->l_routed = TRUE; + link->l_routed = true; acpi_config_intr(dev, resource); pci_link_interrupt_weights[link->l_irq] += link->l_references; diff --git a/sys/dev/acpica/acpi_pxm.c b/sys/dev/acpica/acpi_pxm.c index 03624f00e2f6..2c4347806595 100644 --- a/sys/dev/acpica/acpi_pxm.c +++ b/sys/dev/acpica/acpi_pxm.c @@ -56,8 +56,8 @@ __FBSDID("$FreeBSD$"); #if MAXMEMDOM > 1 static struct cpu_info { - int enabled:1; - int has_memory:1; + bool enabled:1; + bool has_memory:1; int domain; int id; } *cpus; diff --git a/sys/dev/otus/if_otusreg.h b/sys/dev/otus/if_otusreg.h index 190bf19eb2ae..4bccc85b2168 100644 --- a/sys/dev/otus/if_otusreg.h +++ b/sys/dev/otus/if_otusreg.h @@ -1020,7 +1020,7 @@ struct otus_softc { uint8_t capflags; uint8_t rxmask; uint8_t txmask; - int sc_running:1, + bool sc_running:1, sc_calibrating:1, sc_scanning:1; diff --git a/sys/dev/puc/puc.c b/sys/dev/puc/puc.c index 4df42d2c4f95..c2f9a1b67a04 100644 --- a/sys/dev/puc/puc.c +++ b/sys/dev/puc/puc.c @@ -61,7 +61,7 @@ struct puc_port { int p_type; int p_rclk; - int p_hasintr:1; + bool p_hasintr:1; serdev_intr_t *p_ihsrc[PUC_ISRCCNT]; void *p_iharg; diff --git a/sys/dev/puc/puc_bfe.h b/sys/dev/puc/puc_bfe.h index 0b079107538d..831133b08935 100644 --- a/sys/dev/puc/puc_bfe.h +++ b/sys/dev/puc/puc_bfe.h @@ -64,10 +64,10 @@ struct puc_softc { int sc_nports; struct puc_port *sc_port; - int sc_fastintr:1; - int sc_leaving:1; - int sc_polled:1; - int sc_msi:1; + bool sc_fastintr:1; + bool sc_leaving:1; + bool sc_polled:1; + bool sc_msi:1; int sc_ilr; diff --git a/sys/dev/quicc/quicc_bfe.h b/sys/dev/quicc/quicc_bfe.h index a4d4ebcf0aa3..f47ca29068be 100644 --- a/sys/dev/quicc/quicc_bfe.h +++ b/sys/dev/quicc/quicc_bfe.h @@ -51,8 +51,8 @@ struct quicc_softc { u_int sc_clock; - int sc_fastintr:1; - int sc_polled:1; + bool sc_fastintr:1; + bool sc_polled:1; }; extern char quicc_driver_name[]; diff --git a/sys/dev/scc/scc_bfe.h b/sys/dev/scc/scc_bfe.h index 507a403bfe50..a22bd0bd5dbd 100644 --- a/sys/dev/scc/scc_bfe.h +++ b/sys/dev/scc/scc_bfe.h @@ -72,11 +72,11 @@ struct scc_mode { device_t m_dev; u_int m_mode; - int m_attached:1; - int m_fastintr:1; - int m_hasintr:1; - int m_probed:1; - int m_sysdev:1; + bool m_attached:1; + bool m_fastintr:1; + bool m_hasintr:1; + bool m_probed:1; + bool m_sysdev:1; driver_filter_t *ih; serdev_intr_t *ih_src[SCC_ISRCCNT]; @@ -94,8 +94,8 @@ struct scc_chan { struct scc_mode ch_mode[SCC_NMODES]; u_int ch_nr; - int ch_enabled:1; - int ch_sysdev:1; + bool ch_enabled:1; + bool ch_sysdev:1; uint32_t ch_ipend; uint32_t ch_hwsig; @@ -130,9 +130,9 @@ struct scc_softc { struct scc_chan *sc_chan; - int sc_fastintr:1; - int sc_leaving:1; - int sc_polled:1; + bool sc_fastintr:1; + bool sc_leaving:1; + bool sc_polled:1; uint32_t sc_hwsig; /* Signal state. Used by HW driver. */ }; diff --git a/sys/dev/uart/uart_bus.h b/sys/dev/uart/uart_bus.h index 1a7e1e0dbb27..19b6ba827ceb 100644 --- a/sys/dev/uart/uart_bus.h +++ b/sys/dev/uart/uart_bus.h @@ -89,16 +89,16 @@ struct uart_softc { int sc_irid; struct callout sc_timer; - int sc_callout:1; /* This UART is opened for callout. */ - int sc_fastintr:1; /* This UART uses fast interrupts. */ - int sc_hwiflow:1; /* This UART has HW input flow ctl. */ - int sc_hwoflow:1; /* This UART has HW output flow ctl. */ - int sc_leaving:1; /* This UART is going away. */ - int sc_opened:1; /* This UART is open for business. */ - int sc_polled:1; /* This UART has no interrupts. */ - int sc_txbusy:1; /* This UART is transmitting. */ - int sc_isquelch:1; /* This UART has input squelched. */ - int sc_testintr:1; /* This UART is under int. testing. */ + bool sc_callout:1; /* This UART is opened for callout. */ + bool sc_fastintr:1; /* This UART uses fast interrupts. */ + bool sc_hwiflow:1; /* This UART has HW input flow ctl. */ + bool sc_hwoflow:1; /* This UART has HW output flow ctl. */ + bool sc_leaving:1; /* This UART is going away. */ + bool sc_opened:1; /* This UART is open for business. */ + bool sc_polled:1; /* This UART has no interrupts. */ + bool sc_txbusy:1; /* This UART is transmitting. */ + bool sc_isquelch:1; /* This UART has input squelched. */ + bool sc_testintr:1; /* This UART is under int. testing. */ struct uart_devinfo *sc_sysdev; /* System device (or NULL). */ diff --git a/sys/dev/wpi/if_wpivar.h b/sys/dev/wpi/if_wpivar.h index 422dc34d65b8..81fdeced248a 100644 --- a/sys/dev/wpi/if_wpivar.h +++ b/sys/dev/wpi/if_wpivar.h @@ -77,7 +77,7 @@ struct wpi_tx_ring { uint8_t cur; uint8_t pending; int16_t queued; - int update:1; + bool update:1; }; struct wpi_rx_data { diff --git a/sys/x86/include/x86_smp.h b/sys/x86/include/x86_smp.h index 2cf0ff97eae0..9d8e1c4ebaec 100644 --- a/sys/x86/include/x86_smp.h +++ b/sys/x86/include/x86_smp.h @@ -56,10 +56,10 @@ extern int nmi_kdb_lock; extern int nmi_is_broadcast; struct cpu_info { - int cpu_present:1; - int cpu_bsp:1; - int cpu_disabled:1; - int cpu_hyperthread:1; + bool cpu_present:1; + bool cpu_bsp:1; + bool cpu_disabled:1; + bool cpu_hyperthread:1; }; extern struct cpu_info *cpu_info; From nobody Tue Apr 25 17:42:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5Tq91T9cz46Ttn; Tue, 25 Apr 2023 17:42: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 4Q5Tq912PMz45dY; Tue, 25 Apr 2023 17:42:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682444565; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0GhGJibY/oMVguvVEjLLjaUjG/ds8wXyCn3VU0T9kQo=; b=FsZ3m0cxAD0u0fw/Nar7DXNZQQcbaL9yL9xebG45LPgd3pfPU0Ibjt+wYAQ4NiW+5txPVu xIJzpC8q49Uq/4GCX73B1Ium1e+A7ORtfcXEO1q6erKo6S9f8MJSC1LmlupwQA/iq55vDp 4gD5HSTM02JwJIcXmmBH0OOrRn5dGzUGmOY0fm/qd/1ARGazicWui2z1MyepeB2Ac8GZYJ FnWBnaq0/VIrzj+tfc3dDLmHwfHFZr4sVrwcih6NYo4MWqbnMOD7pjbUf/DoJndWgSzWIF Ec5DWNJGFmxCyML8RE4YDwE3cjAx1ido5b8gEkJSPy/mPu8zZmjQSlCDBP1GGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682444565; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0GhGJibY/oMVguvVEjLLjaUjG/ds8wXyCn3VU0T9kQo=; b=ip+eW3PCns21VgRt2sk/TFfGdLDa8O7MYkgfevtPNb4X3U2uwQPAl3RQJlv6X3pxHmcgDC 8oIz1dl/idz+6e2MDf7PLxckXQioC41T1biDeoCbVWUIDpuC7z9Hy+6F+j5KcdQL1157oX kb5czCvUWoNUCvLBIo+TgOKCgjryU9Oq1TjMZ29+Jb9rVBj2zMJAQgQIfg02w6Fa+hvgmh 8GGZJu6VzPGowKTP79MYHTdcSGxunxShaavo515Z59rX3GZU9QbuwRwGMWpHjMe5tHtywY 5PW03SrDEomFjkO9DFMf7z4zXyp2Y5gvt7gnsEZSTukZNTNOwJyt0Cej6ylGZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682444565; a=rsa-sha256; cv=none; b=GOqkWK+whfvXWitTr/7+mxCttGwu1eXKQgn/oTFxgtcQDzHPdYbh0Mdbo97IhAabBg1y0o rzaD0sSz3vwQIeaSVHaxMhL4YZkuB6MbvHEyj2QApk6HQIv57twrsFRfF6iA7zO3J0spiV TOjxvAV5lbKhw2SX8nlacY9gcjP0jSsAVJa9DwgcvsaMu/8GgiqFeWP7H+WLzI5h6k+MZM tJcovA3aYGfSXI6AZXV3QBMmf822clLdYEmZXB2lQ8yE/jRYMXVOYAY/e6M3pu7ynj9D8I XdYjTc3CTHC7mtCa+Fc1wpsvcFXK7MGz/2xk4axa4RL1UySzc5ieDV9TsN3bSA== 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 4Q5Tq9067wz1Gwv; Tue, 25 Apr 2023 17:42: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 33PHgiIh061367; Tue, 25 Apr 2023 17:42:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PHgi6G061366; Tue, 25 Apr 2023 17:42:44 GMT (envelope-from git) Date: Tue, 25 Apr 2023 17:42:44 GMT Message-Id: <202304251742.33PHgi6G061366@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: 47cf1b37f42d - main - vmm: Expose some more AVX512 CPUID bits to guests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 47cf1b37f42d2acb24fa3a1e6106374dddb3edbf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=47cf1b37f42d2acb24fa3a1e6106374dddb3edbf commit 47cf1b37f42d2acb24fa3a1e6106374dddb3edbf Author: Mark Johnston AuthorDate: 2023-04-25 17:33:08 +0000 Commit: Mark Johnston CommitDate: 2023-04-25 17:35:14 +0000 vmm: Expose some more AVX512 CPUID bits to guests This is required to announce support for some accelerated AES operations. AVX512BW indicates support for the AVX512-FP16 extension and AVX512VL indicates support for the use of AVX512 instructions with vector lengths smaller than 512 bits. VAES and VPCLMULQDQ extensions indicate that VEX-prefixed AES-NI and pclmulqdq instructions are supported. All of these bits are needed for OpenSSL to use VAES to accelerate AES-GCM transforms. Reviewed by: corvink, kib, jhb MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D39781 --- sys/amd64/vmm/x86.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/amd64/vmm/x86.c b/sys/amd64/vmm/x86.c index 2d1b2385d1e8..a054b99c6481 100644 --- a/sys/amd64/vmm/x86.c +++ b/sys/amd64/vmm/x86.c @@ -431,18 +431,22 @@ x86_emulate_cpuid(struct vcpu *vcpu, uint64_t *rax, uint64_t *rbx, /* * Expose known-safe features. */ - regs[1] &= (CPUID_STDEXT_FSGSBASE | + regs[1] &= CPUID_STDEXT_FSGSBASE | CPUID_STDEXT_BMI1 | CPUID_STDEXT_HLE | CPUID_STDEXT_AVX2 | CPUID_STDEXT_SMEP | CPUID_STDEXT_BMI2 | CPUID_STDEXT_ERMS | CPUID_STDEXT_RTM | CPUID_STDEXT_AVX512F | + CPUID_STDEXT_AVX512DQ | CPUID_STDEXT_RDSEED | CPUID_STDEXT_SMAP | CPUID_STDEXT_AVX512PF | CPUID_STDEXT_AVX512ER | - CPUID_STDEXT_AVX512CD | CPUID_STDEXT_SHA); - regs[2] = 0; + CPUID_STDEXT_AVX512CD | CPUID_STDEXT_SHA | + CPUID_STDEXT_AVX512BW | + CPUID_STDEXT_AVX512VL; + regs[2] &= CPUID_STDEXT2_VAES | + CPUID_STDEXT2_VPCLMULQDQ; regs[3] &= CPUID_STDEXT3_MD_CLEAR; /* Advertise RDPID if it is enabled. */ From nobody Tue Apr 25 17:52:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5V2R1fwTz46VKR; Tue, 25 Apr 2023 17:52:31 +0000 (UTC) (envelope-from phil@juniper.net) Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.pphosted.com", Issuer "Thawte RSA CA 2018" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q5V2R00YQz46rt; Tue, 25 Apr 2023 17:52:30 +0000 (UTC) (envelope-from phil@juniper.net) Authentication-Results: mx1.freebsd.org; none Received: from pps.filterd (m0108162.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33PDda9R012984; Tue, 25 Apr 2023 10:52:29 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type : content-transfer-encoding; s=PPS1017; bh=ZqajJ8YDc/yc0z5tz+RowmY6UT80StHfBdk5VdH8Zq4=; b=fTwMzL0vIBGq+WoXgMN0kPXd73okLhOuw+NLVk3wqZq7AJtan+f20x+VoFfm27ky8UlI ivgvS2UVTKAqn/Xi1zZ0yYb6+AEBVJSFUihkVGb6UfqXovGBfqO0RpxAxw2t1240/eYs GVrUv/1f6XcSJ3a1qNe85XT9BEbYIyLwLfFV9jrrDnGPd0bvoU1a14ZHs+p838TX27S4 1h3tPQB6UUp72KI2jPLmz5eYcCH1DIkuU6CsK8JZnVWfghBDoOwtIV2Ol4K9qwOcfms6 Z94SYn886AgmLMiegBjaPPI6uBrZkqPibFPdNFacCgQ5MzdvTnYpqansP/H9anBFJPlB Xw== Received: from cy4pr02cu008.outbound.protection.outlook.com (mail-westcentralusazlp17012025.outbound.protection.outlook.com [40.93.6.25]) by mx0b-00273201.pphosted.com (PPS) with ESMTPS id 3q66c59vmt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 25 Apr 2023 10:52:29 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mEG2Fty4idn1kQZs10qJb0rQh0VYYiCIf1llngAeStC8aZ3ufeXHwiY9ZyAE/uMcnCKXspXPkuapUVb6iEOVsMkFgG60IRLoepXZtZK00poKBix0Q62CYEVw4L9WqIIgBJzM/jgcLl1JDMwqUlfKkfHVit/OoxMj5RFGEt3o+zSN71DUlcDe7VQmpzzdzce8AGxyTzA/9ICQuHV1hRPLU/qJ9u1AOBTcbkLN9OYdny/kD29+QIZbj98yUOikSHCflGFsvH1AzMCLz5b+Wg5zooyOyKL+xVF604RK6sxw4O3+bd720hJQgrwRbMsfqGk1oRZg+hayJhXT0GOMochWCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZqajJ8YDc/yc0z5tz+RowmY6UT80StHfBdk5VdH8Zq4=; b=On7OdfSDiY+nJpAbHWCLAQI/9d8/uMrGjf0o2INCHDmv1U4DKMLwPP9rRruzSQZW9IT9QtJBZC5a22+dTT8VJmuvSlTNdDNJjTInIKm3Z5BHpNuCnjQbmoR/bUQg5FT+An/Rn1RaBSfdZYTlpT0MNqw8NAoCvpGGXZ0zyRb6PJ8aRO1fScdIySamxFklH4pX0URYZuiNI2A/lVfbA3gQc7yp3eFNtMQbk2uE6q9xrtq+9P/VxETjzjRO0mwfj97Vad98PoVyWFsmNIteHEzsgkWmME9zLa2hYmplmSnbfo63QHr21b1aLD4KZWKozLIjBCEV0jOB3XukkmgcBpNpZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 66.129.239.15) smtp.rcpttodomain=freebsd.org smtp.mailfrom=juniper.net; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=juniper.net; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZqajJ8YDc/yc0z5tz+RowmY6UT80StHfBdk5VdH8Zq4=; b=LDxdYsO/h65IizqD41GjHPsraEgkg+ktuOH3hUm8pkt52szkQeiTboF3LjoEX8dDsip9LzRcE/2vh3DbXSQq2h/2dvmfO+riBQwSR3uv01h/zGlgVBCYbnJCypIMkVf0gXpZRLei65yYID6ysGFThbURGXp7Eu7Hpyzji/fga2g= Received: from MW4PR04CA0143.namprd04.prod.outlook.com (2603:10b6:303:84::28) by SA1PR05MB7902.namprd05.prod.outlook.com (2603:10b6:806:1a8::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Tue, 25 Apr 2023 17:52:26 +0000 Received: from MW2NAM12FT100.eop-nam12.prod.protection.outlook.com (2603:10b6:303:84:cafe::fd) by MW4PR04CA0143.outlook.office365.com (2603:10b6:303:84::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.34 via Frontend Transport; Tue, 25 Apr 2023 17:52:26 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 66.129.239.15) smtp.mailfrom=juniper.net; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=juniper.net; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.239.15 as permitted sender) Received: from p-exchfe-eqx-02.jnpr.net (66.129.239.15) by MW2NAM12FT100.mail.protection.outlook.com (10.13.181.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.4 via Frontend Transport; Tue, 25 Apr 2023 17:52:26 +0000 Received: from p-exchbe-eqx-01.jnpr.net (10.104.9.14) by p-exchfe-eqx-02.jnpr.net (10.104.9.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.7; Tue, 25 Apr 2023 12:52:25 -0500 Received: from p-exchbe-eqx-01.jnpr.net (10.104.9.14) by p-exchbe-eqx-01.jnpr.net (10.104.9.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.7; Tue, 25 Apr 2023 12:52:25 -0500 Received: from p-mailhub01.juniper.net (10.104.20.6) by p-exchbe-eqx-01.jnpr.net (10.104.9.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.7 via Frontend Transport; Tue, 25 Apr 2023 12:52:25 -0500 Received: from idleski.juniper.net (idleski.juniper.net [172.25.4.10]) by p-mailhub01.juniper.net (8.14.4/8.11.3) with ESMTP id 33PHqOMe021253; Tue, 25 Apr 2023 10:52:24 -0700 (envelope-from phil@juniper.net) Received: from [172.25.4.159] (localhost [127.0.0.1]) by idleski.juniper.net (8.16.1/8.16.1) with ESMTP id 33PHpJiG092539; Tue, 25 Apr 2023 13:51:20 -0400 (EDT) (envelope-from phil@juniper.net) From: Phil Shafer To: Mateusz Piotrowski <0mp@FreeBSD.org> CC: , , Subject: Re: git: 820ac126795b - main - ps: Add libxo to usage message Date: Tue, 25 Apr 2023 13:52:24 -0400 X-Mailer: MailMate (1.14r5937) Message-ID: <7A5CF76C-701F-4FA1-A598-84C5890157AF@juniper.net> In-Reply-To: <202304251525.33PFPsgT029785@gitrepo.freebsd.org> References: <202304251525.33PFPsgT029785@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW2NAM12FT100:EE_|SA1PR05MB7902:EE_ X-MS-Office365-Filtering-Correlation-Id: bde21b18-6c85-49dc-2c69-08db45b5d4b2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1v8QfgL5ygKptCXeOF/UERgj7pgTmfgTlRFKXo3TfAoiDaQnP1le/VbxCbAbwCqAcFMRQAZHSUejMqz55lNPIYj8ip7vpo6u2dU4sV9V8CKmlflJwT4GuKEvGay91PyLemDlsjNk0c/BPW6z5A6JU4RN3Uzycbd1jGLxornRdMAx1mDvXwsDwsHPeSElYAu8A/mZrmGQtP82/Et/BZfFXBEWq/rmCR14qmUuz2Wb0P251nNI7VEDmJK5q2D6vMb+telFA6KGwdxFTXxFBD1VAXK8t9a8gNVUJqeHgECuiFIyYjPgpoIJcaIYl+WHplicUxJMiitFWMKkGIYEhyMr1gYbhnaZeAWmReL/MsN5xwlHKIvSAdxWJT4V7Fgx8sAcc/XQLWFlj+g675vEiUeH+k+HXQT08nklEl97Dz5Qse1/TH2tebb1tgOFnBo9FtfMrADgIzx2G/gBNPvIfM/g2uO2b2I281Qumqx4xMIUwUuKe7DkmpWfmU4YMcAsdJgsS55ML5UGkth9vECfJEk4xAyRjPvEyNBF81BigffuvC16Ii/v2341Qb3MEFxHAwrpYMNCyIeaU5fSV4QkNsjAtOPWqTSlxX02O4nziFp/n+lnEcRnjB1d8lO6iOVMdpZDyhtQvnMs50gOLAygFuCPNS03TnDcEvyng2xhDObRX8QdT9bGhnBXDRfWpC0VR27ZaCpwPIMr1dMvIsGNXh0xRSz2e5GVrpaf+27Sp4AsRFA= X-Forefront-Antispam-Report: CIP:66.129.239.15;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:p-exchfe-eqx-02.jnpr.net;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199021)(46966006)(36840700001)(40470700004)(966005)(336012)(356005)(82740400003)(81166007)(53546011)(426003)(26005)(7126003)(186003)(2616005)(40480700001)(8936002)(83380400001)(47076005)(36860700001)(15650500001)(2906002)(8676002)(5660300002)(33656002)(40460700003)(36756003)(478600001)(316002)(54906003)(4326008)(6916009)(70586007)(41300700001)(70206006)(450100002)(86362001)(82310400005)(36900700001);DIR:OUT;SFP:1102; X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2023 17:52:26.2432 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bde21b18-6c85-49dc-2c69-08db45b5d4b2 X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4;Ip=[66.129.239.15];Helo=[p-exchfe-eqx-02.jnpr.net] X-MS-Exchange-CrossTenant-AuthSource: MW2NAM12FT100.eop-nam12.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR05MB7902 X-Proofpoint-ORIG-GUID: RKiMQ37wBNbluG5TjjKrR5bTPnysXa5i X-Proofpoint-GUID: RKiMQ37wBNbluG5TjjKrR5bTPnysXa5i X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-25_08,2023-04-25_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 lowpriorityscore=0 bulkscore=0 phishscore=0 priorityscore=1501 malwarescore=0 clxscore=1011 mlxscore=0 adultscore=0 impostorscore=0 spamscore=0 suspectscore=0 mlxlogscore=497 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304250161 X-Rspamd-Queue-Id: 4Q5V2R00YQz46rt X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:22843, ipnet:67.231.152.0/24, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N What's the best way to indicate this in a man page, given the variety of = argument styles that libxo supports? https://libxo.readthedocs.io/en/latest/options.html Perhaps just a "...", like: " ps [--libxo...] -L"); Or maybe just a trailing line like "ps supports libxo; see xo_options(7) = for details"? Thanks, Phil On 25 Apr 2023, at 11:25, Mateusz Piotrowski wrote: > [External Email. Be cautious of content] > > > The branch main has been updated by 0mp: > > URL: https://urldefense.com/v3/__https://cgit.FreeBSD.org/src/commit/?i= d=3D820ac126795b8b1c55009676fad3dfe5c7834b0b__;!!NEt6yMaO-gk!BWezOKAibnWb= TFCIF79DxR6aqZuqzE_lTO7PFGn4JOuinX8qlSYURqEJGZ_LKVAWxLVaKztuug$ > > commit 820ac126795b8b1c55009676fad3dfe5c7834b0b > Author: Mateusz Piotrowski <0mp@FreeBSD.org> > AuthorDate: 2023-04-25 11:55:17 +0000 > Commit: Mateusz Piotrowski <0mp@FreeBSD.org> > CommitDate: 2023-04-25 15:23:07 +0000 > > ps: Add libxo to usage message > > MFC after: 1 week > Sponsored by: Klara Inc. > --- > bin/ps/ps.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/bin/ps/ps.c b/bin/ps/ps.c > index dd1335bb4eeb..6f0cc76cd0b7 100644 > --- a/bin/ps/ps.c > +++ b/bin/ps/ps.c > @@ -1459,9 +1459,9 @@ usage(void) > #define SINGLE_OPTS "[-aCcde" OPT_LAZY_f "HhjlmrSTuvwXxZ]" > > (void)xo_error("%s\n%s\n%s\n%s\n", > - "usage: ps " SINGLE_OPTS " [-O fmt | -o fmt] [-G gid[,gid..= =2E]]", > - " [-J jid[,jid...]] [-M core] [-N system]", > + "usage: ps [--libxo] " SINGLE_OPTS " [-O fmt | -o fmt]", > + " [-G gid[,gid...]] [-J jid[,jid...]] [-M core] [-= N system]", > " [-p pid[,pid...]] [-t tty[,tty...]] [-U user[,us= er...]]", > - " ps -L"); > + " ps [--libxo] -L"); > exit(1); > } From nobody Tue Apr 25 17:59:13 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5VB92crRz46VDg; Tue, 25 Apr 2023 17:59: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 4Q5VB9259bz47V4; Tue, 25 Apr 2023 17:59:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682445553; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gSZ+lC5l/ltEY2M1pdWpPOvIfTErAKLxk0d1iJA0Vco=; b=JueSWkArTBZSVRx43jpw8Pj4SIitq+nVawWrDo1WHRIhD9hekxPxR7NuDVnkz0MT/2fj6w nBxjx37lawGOJ0lxZLq9nbg1c804y/QqrXvtTvtFW+GPLVLBuqlnx43X6BcouWhgvj45Kh EdQmwM/qMlToQ0lVuyklip0k4Qh1H1ByCWFygzRWANimR0/xGXTu/z6U1TMYkOvRA6JO/T WNHJbiOPCELsbu+w1LRbPK495ghAK/z4SsAvmgbq3n5EgdGkrakjJ31Qvk6DmgTpxK21AF aTzdj6E0hUBT4b0wyJ3IHGjl6uy2UWsckseF8S+gV95vaIoNdTZngo62crxo2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682445553; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gSZ+lC5l/ltEY2M1pdWpPOvIfTErAKLxk0d1iJA0Vco=; b=m7JOjBSO+5Okz9XCXhgVli1UUfT6T8rzRENsyhYnfomID0MMEVEomxFXymlxC2h108xMNO jIHBqIMHQR6sCqrLR8o9G4479flYy/lyidk/LC1pIdNVPuiVQCpFKTEZs09Vu5fy7AAR8k FTDoEFkr5xl+lXC4aaeHJ48QIzGAIGBCiDaPUAS/iQW8aXpSs3zroyl1c2wvsnzdllEbkE 5kpOon9SqIIeKJT07NZOwMgYH/Y1oF059D7oviar80ac1pKGxwmN5sh0be/Y8fp6yAxGV6 sfE2uHyNEQtLH8e+xlHPZliWQbHN8nShICKA5lVrM5VoIdgqJ1va5vEYBIQQmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682445553; a=rsa-sha256; cv=none; b=peDF1yfXl0kJn/NoZNJpKG8feeLCy6oNu6AUe0tip/Yf357KHsQWUNDJzv6H9h1gDDg3rl ZWw8vi0TXL/SjUM2tU23Oe6hfWMtl/C9v5m0/LkIsGsWE/6Ldd30JT06Iey9MIxLQH+LcH 99r2g/qMhx01xjiuB7xCjic21j9vFGbsHSNR67TQMGRhE1mbH84rR8v/tCrttF7ig1rMma R5mTwwePRRD+KFssHsA/VUDaPSLAWbx0ZrmsWKhZ+2mghL+sbgrRwdnTc+0EnO/eOEhL65 IEKYEwDywqwTPex4/6ExkUn1colD6/e/p6HTWfMwTcsrNYe227eoXLSxUYBMpA== 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 4Q5VB918jBz1GnR; Tue, 25 Apr 2023 17:59: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 33PHxDt3078847; Tue, 25 Apr 2023 17:59:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PHxD1r078846; Tue, 25 Apr 2023 17:59:13 GMT (envelope-from git) Date: Tue, 25 Apr 2023 17:59:13 GMT Message-Id: <202304251759.33PHxD1r078846@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 64b5d74fffc8 - main - zfs: make zfs_vfs_held() definition consistent with declaration List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 64b5d74fffc8882d915e6e8de7e5fc893c606213 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=64b5d74fffc8882d915e6e8de7e5fc893c606213 commit 64b5d74fffc8882d915e6e8de7e5fc893c606213 Author: Dimitry Andric AuthorDate: 2023-04-25 17:43:48 +0000 Commit: Dimitry Andric CommitDate: 2023-04-25 17:58:17 +0000 zfs: make zfs_vfs_held() definition consistent with declaration Noticed while attempting to change boolean_t into an actual bool: in include/sys/zfs_ioctl_impl.h, zfs_vfs_held() is declared to return a boolean_t, but in module/os/freebsd/zfs/zfs_ioctl_os.c it is defined to return an int. Make the definition match the declaration. Obtained from: https://github.com/openzfs/zfs/commit/62cc9d4f6 Reviewed by: jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39753 --- sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_os.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_os.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_os.c index 8f44cced5d95..a835e013d630 100644 --- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_os.c +++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_os.c @@ -59,7 +59,7 @@ zfs_vfs_ref(zfsvfs_t **zfvp) return (error); } -int +boolean_t zfs_vfs_held(zfsvfs_t *zfsvfs) { return (zfsvfs->z_vfs != NULL); From nobody Tue Apr 25 17:59:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5VBB3kYlz46VYW; Tue, 25 Apr 2023 17:59: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 4Q5VBB35YPz47cq; Tue, 25 Apr 2023 17:59:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682445554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QjkPsKhdsWoFo6QAl9oFlRKjo092y6bli/9HN1vZSaQ=; b=X35h4qx8o9dX/4aOigyUmFxr8L3KViv5BOEmviym5sKev1NI/R5RcQk24j66GzhsUgbqQk 41mM4YoMDt2n0Q5dl0I1aKZkfc5peSgk/PfPGDXGC2HiayUXeGFrZuysJjwK2EGAuWpP63 CRqT2vOvuH9q8JAm6jgYWiosPXdm2STZLH8d+NbKPM6isNqU3CeIyZUoGgWSkxU2SmcZYn F8L3QHB1KtJQB38mG8Llvp3u5wPypTyjIT3v1qJXlpLc8L1zwsBJLjpIFtTWnQQ14ShM8k +BYu3G8Xlb13Tb9YwkmTN4ANXeLokNnfiFIME7uQMrQxcioxXLMx6g/OXQExrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682445554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QjkPsKhdsWoFo6QAl9oFlRKjo092y6bli/9HN1vZSaQ=; b=FbWronP4kvu5/7eBlKhu8brEjMgiBmQTu3f9zE1JANL+Egnv/oO6EF7n3excVkvFieKd65 PYYN2enVWHFFTavfIoTOKVCV3mBLinubdAyLahHb5bDtPYB78JBwb+I9sxiVW6t9ythcFH BGbgaIf5h97DkP7Q+qyxAIahfG1YV3zorQp4h409eVv2+2scJr+EDv0lFJ7OVlLfJ+tiSJ lHaqKCRyNtfhYG0TY8a6EFwfh0tnAszuzJ1G2e27ksGBcQ606C0FbAEJnH5aYHZrUclnmq gebPClZJ6+7dZqJrXnkJVAVHbXZrhQLQ77DfAbfAsZNCzn2U0QhjeqQftvl0dQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682445554; a=rsa-sha256; cv=none; b=CzxNR+UHeTAEWoiKvG3Hd5kXdwChRMnxkXpC2FQAYEv5AkZdfAJuHu4s+3soOwYZsGZsUf RUn3tM8n+euGRkBH3aYi6uD0BfZ5F8JLZBnj9V7B6RBhkw5AcGgvnK08BaJP6QeZ6zY9jJ geQb3opT99Z5jKo0lfqQJ4RjYdkhHleTZC9ZHr0TbRMG/GuKDmcHdMHM9lPpbr8Cs02+5k Ebhh+sAzs3z6VdwOFjdjxiFdtTi/rSaXCsllUgz4kyCwVnsrmxq+a808HKuTlFU6czXhfI Frxblid7olWrR0PAvVzc5yvEqct0TL8vi5s4Z/lBp7APSU5WrHNQnLPHqHCQAA== 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 4Q5VBB24pcz1HDT; Tue, 25 Apr 2023 17:59: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 33PHxE5b078866; Tue, 25 Apr 2023 17:59:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PHxEsU078865; Tue, 25 Apr 2023 17:59:14 GMT (envelope-from git) Date: Tue, 25 Apr 2023 17:59:14 GMT Message-Id: <202304251759.33PHxEsU078865@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: f74be55e3045 - main - vm: fix a number of functions to match the expected prototypes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f74be55e3045793a507d98127faf9aabd918e1ce Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=f74be55e3045793a507d98127faf9aabd918e1ce commit f74be55e3045793a507d98127faf9aabd918e1ce Author: Dimitry Andric AuthorDate: 2023-04-25 17:52:26 +0000 Commit: Dimitry Andric CommitDate: 2023-04-25 17:58:18 +0000 vm: fix a number of functions to match the expected prototypes Noticed while attempting to make boolean_t unsigned: some vm-related function declarations and defintions were using boolean_t where they should have used int, and vice versa. MFC after: 1 week Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D39753 --- sys/vm/phys_pager.c | 2 +- sys/vm/sg_pager.c | 4 ++-- sys/vm/swap_pager.c | 2 +- sys/vm/vm_pager.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/vm/phys_pager.c b/sys/vm/phys_pager.c index 6d7c5a4a7291..07ca6f0fc3de 100644 --- a/sys/vm/phys_pager.c +++ b/sys/vm/phys_pager.c @@ -269,7 +269,7 @@ phys_pager_populate(vm_object_t object, vm_pindex_t pidx, int fault_type, } static void -phys_pager_putpages(vm_object_t object, vm_page_t *m, int count, boolean_t sync, +phys_pager_putpages(vm_object_t object, vm_page_t *m, int count, int flags, int *rtvals) { diff --git a/sys/vm/sg_pager.c b/sys/vm/sg_pager.c index d7af2aed935a..bb2e8f39e219 100644 --- a/sys/vm/sg_pager.c +++ b/sys/vm/sg_pager.c @@ -56,7 +56,7 @@ static vm_object_t sg_pager_alloc(void *, vm_ooffset_t, vm_prot_t, static void sg_pager_dealloc(vm_object_t); static int sg_pager_getpages(vm_object_t, vm_page_t *, int, int *, int *); static void sg_pager_putpages(vm_object_t, vm_page_t *, int, - boolean_t, int *); + int, int *); static boolean_t sg_pager_haspage(vm_object_t, vm_pindex_t, int *, int *); @@ -211,7 +211,7 @@ sg_pager_getpages(vm_object_t object, vm_page_t *m, int count, int *rbehind, static void sg_pager_putpages(vm_object_t object, vm_page_t *m, int count, - boolean_t sync, int *rtvals) + int flags, int *rtvals) { panic("sg_pager_putpage called"); diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 6e423ae107a8..38816b364c67 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -426,7 +426,7 @@ static int swap_pager_getpages(vm_object_t, vm_page_t *, int, int *, int *); static int swap_pager_getpages_async(vm_object_t, vm_page_t *, int, int *, int *, pgo_getpages_iodone_t, void *); -static void swap_pager_putpages(vm_object_t, vm_page_t *, int, boolean_t, int *); +static void swap_pager_putpages(vm_object_t, vm_page_t *, int, int, int *); static boolean_t swap_pager_haspage(vm_object_t object, vm_pindex_t pindex, int *before, int *after); static void swap_pager_init(void); diff --git a/sys/vm/vm_pager.c b/sys/vm/vm_pager.c index e24348ed39a0..2a3f136b4bac 100644 --- a/sys/vm/vm_pager.c +++ b/sys/vm/vm_pager.c @@ -129,7 +129,7 @@ dead_pager_putpages(vm_object_t object, vm_page_t *m, int count, rtvals[i] = VM_PAGER_AGAIN; } -static int +static boolean_t dead_pager_haspage(vm_object_t object, vm_pindex_t pindex, int *prev, int *next) { From nobody Tue Apr 25 17:59:15 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5VBC4cyZz46VqW; Tue, 25 Apr 2023 17:59: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 4Q5VBC3yNJz47p9; Tue, 25 Apr 2023 17:59:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682445555; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xT4isXeRy5kBDJJNCsm8D1gPBfOj/4DsnOVKleLjYMc=; b=GzQR5kCqyP+29re37Bfb549IycYMwG6pKf1Ko/WmhfdxXi2ak6mTmMEkkzO3FXQXiZfjO8 2AYeFyPaxupnqKE1MkDiqlvorEXvyVhMx2BTjaKDtbdWUyKELJNjugUTCZBySZRDOIccPr KZM9K3H4779xKb0PcvRoqhxeIowZGVNPk9T87qmMgZeqUcIu/Nq+cHwzaX85ZHMw/XT1gZ LZf9P7jBzwdo5fP1XAzLN1b9B04ABc2bz4nJZxNkOWD2+5M3xuYHcN7esX7LVIZvEfwTra SjAubIK5lSxB/QLHX/fAJtGRG1bjc7XaLFwgd1IWwA9PYWBiEKPzT41lIGbYqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682445555; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xT4isXeRy5kBDJJNCsm8D1gPBfOj/4DsnOVKleLjYMc=; b=adAUPzjwRXG+t/KSMJjlNju+sXWXOzW3jhH9vSdCbzJB+7r6nJfswYHF6TR4TKhgJHFGA1 g6tLfh88vNfg0LYppRAKI8XUtrr4+NAn0A+E/ReXN4JF4XhhWN3KavetzKRXGmJByfsmtg fJXTCpdhHeFZ9k+54yj/3Vnqw4Pr+F8j6YKM3GmsGE3ANMqaDnkewkl+90Eza3pUUOk8uN 1bOOWQQqENFKsB96m1q0s7/ek59638pW12sdcUfZxWFBBj5HokwP0ls5/c9YeOWMvf/tIa 5UQzSPb1kmMRT9mAWnbdKwUVMdSESavrE2BEosqCzVNznfWvYgb4zf7bNzaw2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682445555; a=rsa-sha256; cv=none; b=UBDVcaAbOFNfn5F9CjGUVxikQ+E4el4G+OoGUUQ7CYb/t3QCGXgQFvWX2ZVX03OrUIJ9C8 nEa6sYXlZ9nmrdL5+imT4vj9653udVilDIXnviuP6RU/dVT+rRNs/xqHLg3QTkDtocRQ+P 2lQFzPvxPrF6XCwgxNf9dTj+D8TTle/30b9bgPvFEZDc333G30ZtqIUcfvPpUFnsY800ap lmUuu/fQzWLSC73C9Qwq4kKARIspVV2ZtIyBuLDYhC84SYvIddoVl6wE9FPfYp4Y3v539e W9uKQfdrug3ZkNRklJo2KgWrHecc0LBiQnAG0Ciq43YADWHPMjb532bZM/3Kag== 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 4Q5VBC32R6z1Gxk; Tue, 25 Apr 2023 17:59: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 33PHxFwT078885; Tue, 25 Apr 2023 17:59:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PHxFSg078884; Tue, 25 Apr 2023 17:59:15 GMT (envelope-from git) Date: Tue, 25 Apr 2023 17:59:15 GMT Message-Id: <202304251759.33PHxFSg078884@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 3029b0b0e9d6 - main - boolean_t: change to unsigned int to avoid signed bitfield warnings List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3029b0b0e9d68eb54e3bdd9e3e49e0f0d2d57835 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=3029b0b0e9d68eb54e3bdd9e3e49e0f0d2d57835 commit 3029b0b0e9d68eb54e3bdd9e3e49e0f0d2d57835 Author: Dimitry Andric AuthorDate: 2023-04-25 17:52:40 +0000 Commit: Dimitry Andric CommitDate: 2023-04-25 17:58:18 +0000 boolean_t: change to unsigned int to avoid signed bitfield warnings This is the final part, which actually makes boolean_t unsigned. Note that we do not change its size, nor do we try to change it directly to bool, since that results in a lot of regressions. Converting the remaining instances of boolean_t to plain C99 bool can now be done in a piecemeal fashion, after which boolean_t may hopefully be retired. MFC after: 1 week Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D39753 --- sys/sys/types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/types.h b/sys/sys/types.h index 5db5679b11b5..0846f2a57670 100644 --- a/sys/sys/types.h +++ b/sys/sys/types.h @@ -273,7 +273,7 @@ typedef __rman_res_t rman_res_t; typedef __register_t syscallarg_t; #ifdef _KERNEL -typedef int boolean_t; +typedef unsigned int boolean_t; typedef struct _device *device_t; typedef __intfptr_t intfptr_t; From nobody Tue Apr 25 18:01:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5VF97234z46Vjg; Tue, 25 Apr 2023 18:01: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 4Q5VF96bGyz49h0; Tue, 25 Apr 2023 18:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682445709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E+H+W5RrI4PnWkRKrFskzmxN63/3k/SXubiQdnyxVSA=; b=sSNgMiBM8IT22bJL/3u7Dcz58kwQUK77vFSCmKxTYEgVpyl+eR30T5SYzbaeeRuP7UQTL8 YWYiviTvOwVOutpFTlppMCVVHDXtIRt6Uwp26tQJKBF6CqlysdJ6SZiZ1k9TZMTZ5ey3ZO d22GLGnsVVWVMlpWpb4FG9D3pET+lEwkNY5IqSaGf1LdPUw3eUFJrPVUmhiYLm60W1oCFq nnBO1JLpIXD7HHvIUVyzcXkI/DwKkLLWXdkEd3u7az3HqqCXa4rz9OwoCltUKol0WEkAXa teX0TFehigQkXXRUa3GzTEv2X7fDfgqU5hZODjsZFNPyBUhgwb4dRX1079HnYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682445709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E+H+W5RrI4PnWkRKrFskzmxN63/3k/SXubiQdnyxVSA=; b=DnpvsiR7V6dgoOYvZsiMFqZRcaR0szbcEDhzZPxdcXKuuuKZLXwHifbu4x7ftEZY5e3zWO B66MHHFsr0vRGRdo8YKEN2VnB4lfOEk5thZyv7opU1xT0zTPrTzE7wAaLVJis3NO7AjbLN R/WlXI1r166xaX5yRbPFzDsFinCZ4sVVF6yroCJ1GEv1iGETCpZIDA/kog668KiImh4HdA 3dt2hbHryEGgnCCZecOY7/5OToyEGekMc7Z5C/D4D5P8AkQL0JxcZ4VOFOj/dp2En8NENx 0GYUizXf2k0ZUd5+VyaLwlnh9qNAyQyGHVqCbmcFSjBq159U52ZPiE6tLk51GQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682445709; a=rsa-sha256; cv=none; b=rRmUkxjLkqJIYu48p4a/G5vTvWaZZSegGkQ0/P9PmhneCItiwg1aq5PTtsbLupTG1V0qmu BEi20vkN2iYR1wu5UTHJ3G1VLvlVVipnJiequEu7ypony7ApExRGSU055teb/uYB40hyhp kt3D6kIR88DfIHlc9234W59zXJ2bvlY9unzAF+l85B0TCpXoUXL9J1y990UquQC/RSbt4I FfenjOiUweQsyEnl5M+0mH1QRFRf54H1rxy77J+EhMYwpvoF8i+vHROlfKs7IxQXAiblPA gOskmMO+XLiW0O/gTCFmWxZ4qaMPtMVxSFSIK/rS6SOQ++QcJ74Rvg97u5jc7Q== 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 4Q5VF95KvQz1H0k; Tue, 25 Apr 2023 18:01: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 33PI1ne4094566; Tue, 25 Apr 2023 18:01:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PI1n7g094565; Tue, 25 Apr 2023 18:01:49 GMT (envelope-from git) Date: Tue, 25 Apr 2023 18:01:49 GMT Message-Id: <202304251801.33PI1n7g094565@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 5212225753e9 - main - cd9660.5: Fix the history section List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5212225753e965c87ae4a7fe5f8a7d9a8b6d04af Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=5212225753e965c87ae4a7fe5f8a7d9a8b6d04af commit 5212225753e965c87ae4a7fe5f8a7d9a8b6d04af Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2023-04-25 17:36:34 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2023-04-25 18:01:21 +0000 cd9660.5: Fix the history section MFC after: 7 days Sponsored by: Klara Inc. --- share/man/man5/cd9660.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man5/cd9660.5 b/share/man/man5/cd9660.5 index 54f26738bc4f..48b14e4cbc42 100644 --- a/share/man/man5/cd9660.5 +++ b/share/man/man5/cd9660.5 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 8, 2022 +.Dd April 25, 2023 .Dt CD9660 5 .Os .Sh NAME @@ -69,7 +69,7 @@ volume located on The .Nm driver first appeared in -.Fx 4.4 Lite +.Bx 4.4 Lite . .Sh AUTHORS .An -nosplit The From nobody Tue Apr 25 18:02:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5VGR2mBXz46WNr; Tue, 25 Apr 2023 18:02: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 4Q5VGR0qh0z4CvC; Tue, 25 Apr 2023 18:02:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682445775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4+bSdNZwo7Pzt1aHLfccUVVQ9AFiqaOHI+03QTAEX3s=; b=TvbMLIivB1XvUzkAFtGfRL7liZXcyjXD9Ol2KCGLIYsNRM+CBmL8mejODVSHUTtsJhSuhV bC20FKb3do4JT0amL8JhAxqaER1aMNZh6DQmVh+8iGanmw3wrH8MgCFCFll7A3nF6byAwj zUpVZ+iw4z8eXOkUtk0YD00ShC2nFrB9PNBaaJUCS4KZ6F20EvlAl5mJHz9Sn3+xa95boq /qC3/MyKxIvknMBOvHNpkO/cnT+qqA9x5qguKODxPMqVEEBTteCmAYHVOX95rV4qGhZYYg il+U8WY/+LEIgrVdTKZqUyqIq6bOtBQWa8SsI36D+NW2UDYoKffbWW2Pyhd5Rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682445775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4+bSdNZwo7Pzt1aHLfccUVVQ9AFiqaOHI+03QTAEX3s=; b=QC+EZjHtiSAg2kvoEYw9Gtik/QgW0X+u74Az9ebZy9RigIG8r/diXJFPdAZe2fmPqm/Dkb u8bQRUjMXcEsrfX63PUJfdj4QRkgKdK5i+f60HFYIJs1OVAOt5byQ5eFXMHXJ1V6jn7xGI eYLzq5cZNXhcAH2drApr+NG2uwH817CM7c1COSl6KYx0Q6DwZEzWNm8SL5Y+NpT3mkBHIH PSoaPNwpg2rfH5TP0D3K1Zz9CeYJGCDHRfhwmQhzjQ73vgIlooEzE7RUWCrRzIIwxPMroh iK+NcBdOj0zCfwXIs6TX2NGS+pMNMtD/kEO4U0APtjUyMD9YXzkPmNqRysn2Aw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682445775; a=rsa-sha256; cv=none; b=Le0NglxyJnHVVV0qBxBoQO326Qfqv0JCGzeiTXqj6/09zy0rawcvevRZOKgIIWJHp+oKpM nugzoW70LIq4ImT1DqGJ/arpTUL99CLw2JC7iyoN8BHDJy1xn6JmGCqzLpgtaQRUp7+sEh c3NNrPciibfPL6Z/sQfU7UC+QWdgpUZlQer0U05aaMOWJ2wsKsnQacGzFoYhjDkWozQX7w HSMWR38U0HCn3jDlJ1i5Vzd09wDcfN2oP83ZS48hgm2YhP8ylVs1C93q7xKIyyRiViWnrj B4S0wnU5O/58/4RfoP8O6o89LlPwkL17EUbQhyD0rZj/9GD0WKY+RaVK6Us4lw== 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 4Q5VGQ72m3z1H0v; Tue, 25 Apr 2023 18:02: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 33PI2sgD095799; Tue, 25 Apr 2023 18:02:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PI2sTR095798; Tue, 25 Apr 2023 18:02:54 GMT (envelope-from git) Date: Tue, 25 Apr 2023 18:02:54 GMT Message-Id: <202304251802.33PI2sTR095798@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 9ea31d78f00d - main - al_eth: make function definitions consistent with declarations List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9ea31d78f00d23612f3ab44d83265f8039f487af Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=9ea31d78f00d23612f3ab44d83265f8039f487af commit 9ea31d78f00d23612f3ab44d83265f8039f487af Author: Dimitry Andric AuthorDate: 2023-04-22 11:45:57 +0000 Commit: Dimitry Andric CommitDate: 2023-04-25 18:02:04 +0000 al_eth: make function definitions consistent with declarations The declarations for al_eth_lm_retimer_ds25_signal_detect() and al_eth_lm_retimer_ds25_cdr_lock() say that these functions return 'al_bool', but the definitions actually return 'boolean_t'. Make the definitions match the declarations. Reviewed by: jhb, emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39759 --- sys/dev/al_eth/al_init_eth_lm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/al_eth/al_init_eth_lm.c b/sys/dev/al_eth/al_init_eth_lm.c index 12c9b0917ef0..5caea40e3bf7 100644 --- a/sys/dev/al_eth/al_init_eth_lm.c +++ b/sys/dev/al_eth/al_init_eth_lm.c @@ -848,7 +848,7 @@ config_error: return rc; } -static boolean_t al_eth_lm_retimer_ds25_signal_detect(struct al_eth_lm_context *lm_context, +static al_bool al_eth_lm_retimer_ds25_signal_detect(struct al_eth_lm_context *lm_context, uint32_t channel) { int rc = 0; @@ -878,7 +878,7 @@ config_error: return FALSE; } -static boolean_t al_eth_lm_retimer_ds25_cdr_lock(struct al_eth_lm_context *lm_context, +static al_bool al_eth_lm_retimer_ds25_cdr_lock(struct al_eth_lm_context *lm_context, uint32_t channel) { int rc = 0; From nobody Tue Apr 25 18:10:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5VR01Krvz46WZP; Tue, 25 Apr 2023 18:10: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 4Q5VR00vHSz4Dpf; Tue, 25 Apr 2023 18:10:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682446220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vl3Uhz9sZd77G7CJbDjFZwi9WeWm/j5B6f2cZamz6pc=; b=jfKwmjMt4EOZ9AmS3nItbhhO4hH56zw43hrcLDXxyVfWWmPn1J0nFUM1MAB/cwOD5h+alH l82FaGkrP2XxD4/tkvp5y7rTwws1giBdmySNEKPQrZuocKoBr5c5tNFxKQ1NTdJnk1oDVJ bc4B0Hj8T/WsAnLx3j4YyVydgIaSewxRZsBaY0HPasrGhoUbkRTFrS0u+sHqkHMVozlSwU JGcTza3ZiecGKk2WuosrZcDZLPssLAzwft/NUiNCHqGM1LkjUiUOEeM7l2JI0FAEl2nWEF QFcJ6E7s343N8KZ5c9veYDXcr2t1fMXDURPVl6KaMYafIjm0j5krCWZtoXfKFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682446220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vl3Uhz9sZd77G7CJbDjFZwi9WeWm/j5B6f2cZamz6pc=; b=lwl6qeX6BOCOYvacf/fgrXxK874MPtUnP3uFV/zOd02tPwyE7mAq78t88ZhanX6rAjcpeG dYJx4ODA9q+qULYgPUDHxJBTfQe7ds65fjWvpMMKRLPT4AnT5uliHsy4MUD889UgnpzlXS Urf/TlLrTE7Tee0xCM5x2jHLBDg32H6bCgVsYERyGtYU47RgsQxH8mcpxNh3yyxwnkqiBH cUunpzvoEmoS/cuzg1lhvWx78o7IKkPEgUpF5/eS7c+xBtLgv/VrB3R0Xo1TbjMXx6Fl+8 SBxXYbl6pV5kgdeZINDn3NSs8XKOoV74Cofz37Ki+iY43Mi7rReGQx33uthgWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682446220; a=rsa-sha256; cv=none; b=YLCDtBDAYVfN+APhy3QIda9emPjjixA3Zh7OMEa0Q3q/UG7AHJt/O/th+JLv73Yc4A4pgI Du1bnlPTl+a9mNsxA8xGKLwBUub5bhFQV028/kYX7GIdiTixCC4XMC4t36o07BuDxOzOej Am28cIBe3vNU8hhU2YmYSc0Fmu2J4MYijF9TgHBxx/jqO6uP5UP6Ci123dk6ri8G+WFJOz 5C478WGHTWgLXtNT/Y4zzkJIp+Yq5k2yRTS4UVSmGVF8RzmYHnVFE30zat4PdLDsXXoS77 muXiPYkN1TpOlf1msrFxM8kG8UMrMZ7WxoQ1j66u2+iRuPDKyHI/cwGxECmlOg== 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 4Q5VQz75F3z1HN8; Tue, 25 Apr 2023 18:10: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 33PIAJtv005235; Tue, 25 Apr 2023 18:10:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PIAJSV005234; Tue, 25 Apr 2023 18:10:19 GMT (envelope-from git) Date: Tue, 25 Apr 2023 18:10:19 GMT Message-Id: <202304251810.33PIAJSV005234@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: 95e4f5ef7cce - main - x86: whack pmspcv from GENERIC List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 95e4f5ef7ccef7545f7b0d83bfb4e186d19a4b55 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=95e4f5ef7ccef7545f7b0d83bfb4e186d19a4b55 commit 95e4f5ef7ccef7545f7b0d83bfb4e186d19a4b55 Author: Mateusz Guzik AuthorDate: 2023-04-25 17:56:10 +0000 Commit: Mateusz Guzik CommitDate: 2023-04-25 18:09:44 +0000 x86: whack pmspcv from GENERIC The driver is enormous and rarely used. text data bss dec hex filename 23076646 1870505 4415872 29363023 0x1c00b4f kernel.before 20017433 1870305 4416000 26303738 0x1915cfa kernel.after People using the driver will need to add pmspcv_load="YES" to their loader.conf. Reviewed by: jhb Relnotes: yes Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D39816 --- sys/amd64/conf/GENERIC | 1 - sys/i386/conf/GENERIC | 1 - 2 files changed, 2 deletions(-) diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 7133c128de50..f3497ef91f63 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -193,7 +193,6 @@ device ida # Compaq Smart RAID device mfi # LSI MegaRAID SAS device mlx # Mylex DAC960 family device mrsas # LSI/Avago MegaRAID SAS/SATA, 6Gb/s and 12Gb/s -device pmspcv # PMC-Sierra SAS/SATA Controller driver #XXX pointer/int warnings #device pst # Promise Supertrak SX6000 device twe # 3ware ATA RAID diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC index 0ca5fe12d13f..1bc278194597 100644 --- a/sys/i386/conf/GENERIC +++ b/sys/i386/conf/GENERIC @@ -166,7 +166,6 @@ device ida # Compaq Smart RAID device mfi # LSI MegaRAID SAS device mlx # Mylex DAC960 family device mrsas # LSI/Avago MegaRAID SAS/SATA, 6Gb/s and 12Gb/s -device pmspcv # PMC-Sierra SAS/SATA Controller driver device pst # Promise Supertrak SX6000 device twe # 3ware ATA RAID From nobody Tue Apr 25 18:22:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5Vhw2JvZz46X3b; Tue, 25 Apr 2023 18:22: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 4Q5Vhw25bVz4GM0; Tue, 25 Apr 2023 18:22:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682446944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DG4LXq4RvDDC+4Vu0Cn25IiQ4oebitE1q7l3158CrV4=; b=pXfG1gD4lBckAaNefz5z4jK5iyMXdJPTIu3dJkVGboVm2mNXtC3rLX4N0EGD08Zq85fDLZ hwtjic1SclBgKtcvzDxTKMZ3UNa/+Gpphni9vYpfZTprb3E8b17bWrOaDAnvV/esgMXw/M Y7Sg6WKs54qyDIptnRd9kq+/BP2agAjo9GOgJYH0SHNpUlT2oVOR2olvn3RW9S3h5nqXsc FgHAm+AbxYtmmjdMF8UopTxLZjptQxYoQyxkoWwgFWPoEacLo6vjhXKHYVwLVKZdQ2X81n AzV+5J7jQgFKYCuzQ3YL1RQWu8dOOsBMtZCx1wEfk/crMC8dAF+fp0bRSyOfOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682446944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DG4LXq4RvDDC+4Vu0Cn25IiQ4oebitE1q7l3158CrV4=; b=elAtSy63ZIPATKxS7CmPtWTjhOujjKaw2LehcUfDoftj9PbQgxsxU7UR06QcDbeJpCv/9l QT0MK2cwFPB0AB22tT8gTMoDcbGJ1TcSC2kt2h189KyyY0FA5mWL3VbJutYvYKn2s5tDKz 0WM/WTuYRy23uJy77V8g5Gqhpd14BhR+dHnEjgTut6FeIl2lr/99N+FrdWUkBxWDmoABD7 pN2cKb6179EV8M3ua/FDRqrUJFBclehSxhX6VP/UyTI3koBME8kxbKoxLL5iLp71WkRh66 kvTb75MOOITTyk7u9Zbx93uxgHHq2iWDbvnw7DioWvtIwxLb1cwm/GueX0yFFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682446944; a=rsa-sha256; cv=none; b=CPW0MBZggSvs9VdH04RsWGanhZ6c1LPLV0wPhiILmNwmwAvEdC1EX4t17m2h+MxSEkJ/NN fje4KJMRXQ1vNtUslSdeJTsh8v+8HDHwnLQlVNKHlNKzIvNzgImEE9XWHJJTPXdDoXGMuG RZoqe2VnwXw/hCDpfi7WNebFFYKL6493jteB7Pl1jdak/C15RWemK5O2+4OswDPAH3Ichn 8IBO6jN5kATNruJdfeylsZl3Ecz9r4sjMCYO1nonFSdVpnK+R7ZDy48YdMjlb6Le5SQkKY ArK2UCWaHbtnn8h7IigHK0c8OG4Yr6y49eh2G7mVLz0Xd0CxtFt74aZrjXrT5Q== 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 4Q5Vhw198Pz1HS7; Tue, 25 Apr 2023 18:22: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 33PIMOfs028060; Tue, 25 Apr 2023 18:22:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PIMOxl028059; Tue, 25 Apr 2023 18:22:24 GMT (envelope-from git) Date: Tue, 25 Apr 2023 18:22:24 GMT Message-Id: <202304251822.33PIMOxl028059@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: cfaab41c950f - main - irdma: Convert to IfAPI List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cfaab41c950f791f7a528814c8bef91116fd7af1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=cfaab41c950f791f7a528814c8bef91116fd7af1 commit cfaab41c950f791f7a528814c8bef91116fd7af1 Author: Justin Hibbits AuthorDate: 2023-04-21 17:04:00 +0000 Commit: Justin Hibbits CommitDate: 2023-04-25 18:25:31 +0000 irdma: Convert to IfAPI Mostly mechanical changes, with some reworking in irdma_cm for iterating over interfaces and addresses. Further rework by Bartosz Sobczak. Reviewed by: bartosz.sobczak_intel.com Tested by: mateusz.moga_intel.com Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38960 --- sys/contrib/rdma/krping/krping.c | 2 +- sys/dev/irdma/fbsd_kcompat.c | 105 ++++++++------- sys/dev/irdma/icrdma.c | 23 ++-- sys/dev/irdma/irdma_cm.c | 284 +++++++++++++++------------------------ sys/dev/irdma/irdma_hw.c | 4 +- sys/dev/irdma/irdma_kcompat.c | 30 +++-- sys/dev/irdma/irdma_main.h | 4 +- sys/dev/irdma/irdma_verbs.c | 14 +- 8 files changed, 205 insertions(+), 261 deletions(-) diff --git a/sys/contrib/rdma/krping/krping.c b/sys/contrib/rdma/krping/krping.c index fe8ff9ed9243..ead1bf54dca2 100644 --- a/sys/contrib/rdma/krping/krping.c +++ b/sys/contrib/rdma/krping/krping.c @@ -1988,7 +1988,7 @@ krping_get_ipv6_scope_id(char *name) CURVNET_RESTORE(); if (ifp == NULL) return (0); - retval = ifp->if_index; + retval = if_getindex(ifp); if_rele(ifp); return (retval); } diff --git a/sys/dev/irdma/fbsd_kcompat.c b/sys/dev/irdma/fbsd_kcompat.c index 7a17b7e5f0f0..001b73342bc9 100644 --- a/sys/dev/irdma/fbsd_kcompat.c +++ b/sys/dev/irdma/fbsd_kcompat.c @@ -183,6 +183,32 @@ irdma_ieq_check_mpacrc(void *desc, return ret_code; } +static u_int +irdma_add_ipv6_cb(void *arg, struct ifaddr *addr, u_int count __unused) +{ + struct irdma_device *iwdev = arg; + struct sockaddr_in6 *sin6; + u32 local_ipaddr6[4] = {}; + char ip6buf[INET6_ADDRSTRLEN]; + u8 *mac_addr; + + sin6 = (struct sockaddr_in6 *)addr->ifa_addr; + + irdma_copy_ip_ntohl(local_ipaddr6, (u32 *)&sin6->sin6_addr); + + mac_addr = if_getlladdr(addr->ifa_ifp); + + printf("%s:%d IP=%s, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n", + __func__, __LINE__, + ip6_sprintf(ip6buf, &sin6->sin6_addr), + mac_addr[0], mac_addr[1], mac_addr[2], + mac_addr[3], mac_addr[4], mac_addr[5]); + + irdma_manage_arp_cache(iwdev->rf, mac_addr, local_ipaddr6, + IRDMA_ARP_ADD); + return (0); +} + /** * irdma_add_ipv6_addr - add ipv6 address to the hw arp table * @iwdev: irdma device @@ -191,32 +217,37 @@ irdma_ieq_check_mpacrc(void *desc, static void irdma_add_ipv6_addr(struct irdma_device *iwdev, struct ifnet *ifp) { - struct ifaddr *ifa, *tmp; - struct sockaddr_in6 *sin6; - u32 local_ipaddr6[4]; - u8 *mac_addr; - char ip6buf[INET6_ADDRSTRLEN]; - if_addr_rlock(ifp); - IRDMA_TAILQ_FOREACH_SAFE(ifa, &ifp->if_addrhead, ifa_link, tmp) { - sin6 = (struct sockaddr_in6 *)ifa->ifa_addr; - if (sin6->sin6_family != AF_INET6) - continue; + if_foreach_addr_type(ifp, AF_INET6, irdma_add_ipv6_cb, iwdev); + if_addr_runlock(ifp); +} - irdma_copy_ip_ntohl(local_ipaddr6, (u32 *)&sin6->sin6_addr); - mac_addr = IF_LLADDR(ifp); +static u_int +irdma_add_ipv4_cb(void *arg, struct ifaddr *addr, u_int count __unused) +{ + struct irdma_device *iwdev = arg; + struct sockaddr_in *sin; + u32 ip_addr[4] = {}; + uint8_t *mac_addr; - printf("%s:%d IP=%s, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n", - __func__, __LINE__, - ip6_sprintf(ip6buf, &sin6->sin6_addr), - mac_addr[0], mac_addr[1], mac_addr[2], - mac_addr[3], mac_addr[4], mac_addr[5]); + sin = (struct sockaddr_in *)addr->ifa_addr; - irdma_manage_arp_cache(iwdev->rf, mac_addr, local_ipaddr6, - IRDMA_ARP_ADD); + ip_addr[0] = ntohl(sin->sin_addr.s_addr); - } - if_addr_runlock(ifp); + mac_addr = if_getlladdr(addr->ifa_ifp); + + printf("%s:%d IP=%d.%d.%d.%d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n", + __func__, __LINE__, + ip_addr[0] >> 24, + (ip_addr[0] >> 16) & 0xFF, + (ip_addr[0] >> 8) & 0xFF, + ip_addr[0] & 0xFF, + mac_addr[0], mac_addr[1], mac_addr[2], + mac_addr[3], mac_addr[4], mac_addr[5]); + + irdma_manage_arp_cache(iwdev->rf, mac_addr, ip_addr, + IRDMA_ARP_ADD); + return (0); } /** @@ -227,32 +258,8 @@ irdma_add_ipv6_addr(struct irdma_device *iwdev, struct ifnet *ifp) static void irdma_add_ipv4_addr(struct irdma_device *iwdev, struct ifnet *ifp) { - struct ifaddr *ifa; - struct sockaddr_in *sin; - u32 ip_addr[4] = {}; - u8 *mac_addr; - if_addr_rlock(ifp); - IRDMA_TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { - sin = (struct sockaddr_in *)ifa->ifa_addr; - if (sin->sin_family != AF_INET) - continue; - - ip_addr[0] = ntohl(sin->sin_addr.s_addr); - mac_addr = IF_LLADDR(ifp); - - printf("%s:%d IP=%d.%d.%d.%d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n", - __func__, __LINE__, - ip_addr[0] >> 24, - (ip_addr[0] >> 16) & 0xFF, - (ip_addr[0] >> 8) & 0xFF, - ip_addr[0] & 0xFF, - mac_addr[0], mac_addr[1], mac_addr[2], - mac_addr[3], mac_addr[4], mac_addr[5]); - - irdma_manage_arp_cache(iwdev->rf, mac_addr, ip_addr, - IRDMA_ARP_ADD); - } + if_foreach_addr_type(ifp, AF_INET, irdma_add_ipv4_cb, iwdev); if_addr_runlock(ifp); } @@ -271,7 +278,7 @@ irdma_add_ip(struct irdma_device *iwdev) irdma_add_ipv4_addr(iwdev, ifp); irdma_add_ipv6_addr(iwdev, ifp); - for (i = 0; ifp->if_vlantrunk != NULL && i < VLAN_N_VID; ++i) { + for (i = 0; if_getvlantrunk(ifp) != NULL && i < VLAN_N_VID; ++i) { ifv = VLAN_DEVAT(ifp, i); if (!ifv) continue; @@ -293,7 +300,7 @@ irdma_ifaddrevent_handler(void *arg, struct ifnet *ifp, struct ifaddr *ifa, int if (!ifa || !ifa->ifa_addr || !ifp) return; if (rf->iwdev->netdev != ifp) { - for (i = 0; rf->iwdev->netdev->if_vlantrunk != NULL && i < VLAN_N_VID; ++i) { + for (i = 0; if_getvlantrunk(rf->iwdev->netdev) != NULL && i < VLAN_N_VID; ++i) { NET_EPOCH_ENTER(et); ifv = VLAN_DEVAT(rf->iwdev->netdev, i); NET_EPOCH_EXIT(et); @@ -467,7 +474,7 @@ irdma_addr_resolve_neigh_ipv6(struct irdma_cm_node *cm_node, dst_addr.sin6_family = AF_INET6; dst_addr.sin6_len = sizeof(dst_addr); - dst_addr.sin6_scope_id = iwdev->netdev->if_index; + dst_addr.sin6_scope_id = if_getindex(iwdev->netdev); irdma_copy_ip_htonl(dst_addr.sin6_addr.__u6_addr.__u6_addr32, dest); err = irdma_get_dst_mac(cm_node, (struct sockaddr *)&dst_addr, dst_mac); diff --git a/sys/dev/irdma/icrdma.c b/sys/dev/irdma/icrdma.c index a3dee284adce..fa87086e2f4d 100644 --- a/sys/dev/irdma/icrdma.c +++ b/sys/dev/irdma/icrdma.c @@ -55,8 +55,6 @@ */ char irdma_driver_version[] = "1.1.11-k"; -#define pf_if_d(peer) peer->ifp->if_dunit - /** * irdma_init_tunable - prepare tunables * @rf: RDMA PCI function @@ -247,7 +245,7 @@ irdma_event_handler(struct ice_rdma_peer *peer, struct ice_rdma_event *event) (event->type == 1) ? "LINK CHANGE" : (event->type == 2) ? "MTU CHANGE" : (event->type == 3) ? "TC CHANGE" : "UNKNOWN", - event->type, peer->pf_id, pf_if_d(peer)); + event->type, peer->pf_id, if_getdunit(peer->ifp)); iwdev = peer_to_iwdev(peer); if (!iwdev) { printf("%s:%d rdma device not found\n", __func__, __LINE__); @@ -257,7 +255,8 @@ irdma_event_handler(struct ice_rdma_peer *peer, struct ice_rdma_event *event) switch (event->type) { case ICE_RDMA_EVENT_LINK_CHANGE: printf("%s:%d PF: %x (%x), state: %d, speed: %lu\n", __func__, __LINE__, - peer->pf_id, pf_if_d(peer), event->linkstate, event->baudrate); + peer->pf_id, if_getdunit(peer->ifp), event->linkstate, + event->baudrate); break; case ICE_RDMA_EVENT_MTU_CHANGE: if (iwdev->vsi.mtu != event->mtu) { @@ -317,7 +316,7 @@ static void irdma_link_change(struct ice_rdma_peer *peer, int linkstate, uint64_t baudrate) { printf("%s:%d PF: %x (%x), state: %d, speed: %lu\n", __func__, __LINE__, - peer->pf_id, pf_if_d(peer), linkstate, baudrate); + peer->pf_id, if_getdunit(peer->ifp), linkstate, baudrate); } /** @@ -342,7 +341,7 @@ irdma_finalize_task(void *context, int pending) if (iwdev->iw_status) { irdma_debug(&rf->sc_dev, IRDMA_DEBUG_INIT, "Starting deferred closing %d (%d)\n", - rf->peer_info->pf_id, pf_if_d(peer)); + rf->peer_info->pf_id, if_getdunit(peer->ifp)); irdma_dereg_ipaddr_event_cb(rf); irdma_ib_unregister_device(iwdev); req.type = ICE_RDMA_EVENT_VSI_FILTER_UPDATE; @@ -353,7 +352,7 @@ irdma_finalize_task(void *context, int pending) } else { irdma_debug(&rf->sc_dev, IRDMA_DEBUG_INIT, "Starting deferred opening %d (%d)\n", - rf->peer_info->pf_id, pf_if_d(peer)); + rf->peer_info->pf_id, if_getdunit(peer->ifp)); irdma_get_qos_info(&l2params, &peer->initial_qos_info); if (iwdev->rf->protocol_used != IRDMA_IWARP_PROTOCOL_ONLY) iwdev->dcb_vlan_mode = l2params.num_tc > 1 && !l2params.dscp_mode; @@ -377,7 +376,7 @@ irdma_finalize_task(void *context, int pending) irdma_reg_ipaddr_event_cb(rf); irdma_debug(&rf->sc_dev, IRDMA_DEBUG_INIT, "Deferred opening finished %d (%d)\n", - rf->peer_info->pf_id, pf_if_d(peer)); + rf->peer_info->pf_id, if_getdunit(peer->ifp)); } } @@ -516,7 +515,7 @@ irdma_probe(struct ice_rdma_peer *peer) irdma_pr_info("probe: irdma-%s peer=%p, peer->pf_id=%d, peer->ifp=%p, peer->ifp->if_dunit=%d, peer->pci_mem->r_bustag=%p\n", irdma_driver_version, peer, peer->pf_id, peer->ifp, - pf_if_d(peer), (void *)(uintptr_t)peer->pci_mem->r_bustag); + if_getdunit(peer->ifp), (void *)(uintptr_t)peer->pci_mem->r_bustag); hdl = irdma_find_handler(peer); if (hdl) @@ -541,7 +540,7 @@ irdma_probe(struct ice_rdma_peer *peer) hdl->iwdev = iwdev; iwdev->hdl = hdl; - irdma_init_tunable(iwdev->rf, pf_if_d(peer)); + irdma_init_tunable(iwdev->rf, if_getdunit(peer->ifp)); irdma_fill_device_info(iwdev, peer); rf = iwdev->rf; @@ -594,7 +593,7 @@ irdma_remove(struct ice_rdma_peer *peer) struct irdma_device *iwdev; irdma_debug((struct irdma_sc_dev *)NULL, IRDMA_DEBUG_INIT, - "removing %s irdma%d\n", __func__, pf_if_d(peer)); + "removing %s irdma%d\n", __func__, if_getdunit(peer->ifp)); hdl = irdma_find_handler(peer); if (!hdl) @@ -626,7 +625,7 @@ irdma_remove(struct ice_rdma_peer *peer) kfree(iwdev->rf); ib_dealloc_device(&iwdev->ibdev); irdma_pr_info("IRDMA hardware deinitialization complete irdma%d\n", - pf_if_d(peer)); + if_getdunit(peer->ifp)); return 0; } diff --git a/sys/dev/irdma/irdma_cm.c b/sys/dev/irdma/irdma_cm.c index daf116065596..9f88f6e3cdfe 100644 --- a/sys/dev/irdma/irdma_cm.c +++ b/sys/dev/irdma/irdma_cm.c @@ -1630,11 +1630,12 @@ static u8 irdma_get_egress_vlan_prio(u32 *loc_addr, u8 prio, bool ipv4){ * Returns the net_device of the IPv6 address and also sets the * vlan id and mac for that address. */ -struct ifnet * +if_t irdma_netdev_vlan_ipv6(u32 *addr, u16 *vlan_id, u8 *mac) { - struct ifnet *ip_dev = NULL; + if_t ip_dev = NULL; struct in6_addr laddr6; + struct ifaddr *ifa; u16 scope_id = 0; irdma_copy_ip_htonl(laddr6.__u6_addr.__u6_addr32, addr); @@ -1651,8 +1652,9 @@ irdma_netdev_vlan_ipv6(u32 *addr, u16 *vlan_id, u8 *mac) if (ip_dev) { if (vlan_id) *vlan_id = rdma_vlan_dev_vlan_id(ip_dev); - if (ip_dev->if_addr && ip_dev->if_addr->ifa_addr && mac) - ether_addr_copy(mac, IF_LLADDR(ip_dev)); + ifa = if_getifaddr(ip_dev); + if (ifa && ifa->ifa_addr && mac) + ether_addr_copy(mac, if_getlladdr(ip_dev)); } return ip_dev; @@ -1665,7 +1667,7 @@ irdma_netdev_vlan_ipv6(u32 *addr, u16 *vlan_id, u8 *mac) u16 irdma_get_vlan_ipv4(u32 *addr) { - struct ifnet *netdev; + if_t netdev; u16 vlan_id = 0xFFFF; netdev = ip_ifp_find(&init_net, htonl(addr[0])); @@ -1677,179 +1679,92 @@ irdma_get_vlan_ipv4(u32 *addr) return vlan_id; } -/** - * irdma_add_mqh_6 - Adds multiple qhashes for IPv6 - * @iwdev: iWarp device - * @cm_info: CM info for parent listen node - * @cm_parent_listen_node: The parent listen node - * - * Adds a qhash and a child listen node for every IPv6 address - * on the adapter and adds the associated qhash filter - */ -static int -irdma_add_mqh_6(struct irdma_device *iwdev, - struct irdma_cm_info *cm_info, - struct irdma_cm_listener *cm_parent_listen_node) -{ - struct ifnet *ip_dev; - struct ifaddr *ifp; - struct irdma_cm_listener *child_listen_node; - unsigned long flags; - int ret = 0; - - IFNET_RLOCK(); - IRDMA_TAILQ_FOREACH((ip_dev), &V_ifnet, if_link) { - if (!(ip_dev->if_flags & IFF_UP)) - continue; - - if (((rdma_vlan_dev_vlan_id(ip_dev) >= VLAN_N_VID) || - (rdma_vlan_dev_real_dev(ip_dev) != iwdev->netdev)) && - ip_dev != iwdev->netdev) - continue; - - if_addr_rlock(ip_dev); - IRDMA_TAILQ_FOREACH(ifp, &ip_dev->if_addrhead, ifa_link) { - irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_CM, - "IP=%pI6, vlan_id=%d, MAC=%pM\n", - &((struct sockaddr_in6 *)ifp->ifa_addr)->sin6_addr, rdma_vlan_dev_vlan_id(ip_dev), - IF_LLADDR(ip_dev)); - if (((struct sockaddr_in6 *)ifp->ifa_addr)->sin6_family != AF_INET6) - continue; - child_listen_node = kzalloc(sizeof(*child_listen_node), GFP_KERNEL); - irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_CM, - "Allocating child listener %p\n", - child_listen_node); - if (!child_listen_node) { - irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_CM, "listener memory allocation\n"); - ret = -ENOMEM; - if_addr_runlock(ip_dev); - goto exit; - } - - memcpy(child_listen_node, cm_parent_listen_node, - sizeof(*child_listen_node)); - cm_info->vlan_id = rdma_vlan_dev_vlan_id(ip_dev); - child_listen_node->vlan_id = cm_info->vlan_id; - irdma_copy_ip_ntohl(child_listen_node->loc_addr, - ((struct sockaddr_in6 *)ifp->ifa_addr)->sin6_addr.__u6_addr.__u6_addr32); - memcpy(cm_info->loc_addr, child_listen_node->loc_addr, - sizeof(cm_info->loc_addr)); - if (!iwdev->vsi.dscp_mode) - cm_info->user_pri = - irdma_get_egress_vlan_prio(child_listen_node->loc_addr, - cm_info->user_pri, - false); - ret = irdma_manage_qhash(iwdev, cm_info, - IRDMA_QHASH_TYPE_TCP_SYN, - IRDMA_QHASH_MANAGE_TYPE_ADD, - NULL, true); - if (ret) { - kfree(child_listen_node); - continue; - } - - child_listen_node->qhash_set = true; - spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags); - list_add(&child_listen_node->child_listen_list, - &cm_parent_listen_node->child_listen_list); - spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags); - cm_parent_listen_node->cm_core->stats_listen_nodes_created++; - } - if_addr_runlock(ip_dev); - } -exit: - IFNET_RUNLOCK(); - - return ret; -} +struct irdma_add_mqh_cbs { + struct irdma_device *iwdev; + struct irdma_cm_info *cm_info; + struct irdma_cm_listener *cm_listen_node; +}; /** - * irdma_add_mqh_4 - Adds multiple qhashes for IPv4 - * @iwdev: iWarp device - * @cm_info: CM info for parent listen node - * @cm_parent_listen_node: The parent listen node + * irdma_add_mqh_ifa_cb - Adds multiple qhashes for IPV4/IPv6 + * @arg: Calback argument structure from irdma_add_mqh + * @ifa: Current address to compute against + * @count: Current cumulative output of all callbacks in this iteration * - * Adds a qhash and a child listen node for every IPv4 address + * Adds a qhash and a child listen node for a single IPv4/IPv6 address * on the adapter and adds the associated qhash filter */ -static int -irdma_add_mqh_4(struct irdma_device *iwdev, - struct irdma_cm_info *cm_info, - struct irdma_cm_listener *cm_parent_listen_node) +static u_int +irdma_add_mqh_ifa_cb(void *arg, struct ifaddr *ifa, u_int count) { - struct ifnet *ip_dev; + struct irdma_add_mqh_cbs *cbs = arg; struct irdma_cm_listener *child_listen_node; + struct irdma_cm_info *cm_info = cbs->cm_info; + struct irdma_device *iwdev = cbs->iwdev; + struct irdma_cm_listener *cm_parent_listen_node = cbs->cm_listen_node; + if_t ip_dev = ifa->ifa_ifp; unsigned long flags; - struct ifaddr *ifa; - int ret = 0; - - IFNET_RLOCK(); - IRDMA_TAILQ_FOREACH((ip_dev), &V_ifnet, if_link) { - if (!(ip_dev->if_flags & IFF_UP)) - continue; - - if (((rdma_vlan_dev_vlan_id(ip_dev) >= VLAN_N_VID) || - (rdma_vlan_dev_real_dev(ip_dev) != iwdev->netdev)) && - ip_dev != iwdev->netdev) - continue; + int ret; - if_addr_rlock(ip_dev); - IRDMA_TAILQ_FOREACH(ifa, &ip_dev->if_addrhead, ifa_link) { - irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_CM, - "Allocating child CM Listener forIP=%pI4, vlan_id=%d, MAC=%pM\n", - &ifa->ifa_addr, rdma_vlan_dev_vlan_id(ip_dev), - IF_LLADDR(ip_dev)); - if (((struct sockaddr_in *)ifa->ifa_addr)->sin_family != AF_INET) - continue; - child_listen_node = kzalloc(sizeof(*child_listen_node), GFP_KERNEL); - cm_parent_listen_node->cm_core->stats_listen_nodes_created++; - irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_CM, - "Allocating child listener %p\n", - child_listen_node); - if (!child_listen_node) { - irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_CM, "listener memory allocation\n"); - if_addr_runlock(ip_dev); - ret = -ENOMEM; - goto exit; - } + if (count) + return 0; - memcpy(child_listen_node, cm_parent_listen_node, - sizeof(*child_listen_node)); - child_listen_node->vlan_id = rdma_vlan_dev_vlan_id(ip_dev); - cm_info->vlan_id = child_listen_node->vlan_id; - child_listen_node->loc_addr[0] = - ntohl(((struct sockaddr_in *)ifa->ifa_addr)->sin_addr.s_addr); - memcpy(cm_info->loc_addr, child_listen_node->loc_addr, - sizeof(cm_info->loc_addr)); - if (!iwdev->vsi.dscp_mode) - cm_info->user_pri = - irdma_get_egress_vlan_prio(child_listen_node->loc_addr, - cm_info->user_pri, - true); - ret = irdma_manage_qhash(iwdev, cm_info, - IRDMA_QHASH_TYPE_TCP_SYN, - IRDMA_QHASH_MANAGE_TYPE_ADD, - NULL, true); - if (ret) { - kfree(child_listen_node); - cm_parent_listen_node->cm_core - ->stats_listen_nodes_created--; - continue; - } + if (cm_info->ipv4) + irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_CM, + "Allocating child CM Listener forIP=%pI4, vlan_id=%d, MAC=%pM\n", + &ifa->ifa_addr, + rdma_vlan_dev_vlan_id(ip_dev), if_getlladdr(ip_dev)); + else + irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_CM, + "IP=%pI6, vlan_id=%d, MAC=%pM\n", + &((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr, + rdma_vlan_dev_vlan_id(ip_dev), + if_getlladdr(ip_dev)); + child_listen_node = kzalloc(sizeof(*child_listen_node), GFP_KERNEL); + irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_CM, + "Allocating child listener %p\n", + child_listen_node); + if (!child_listen_node) { + irdma_debug(&iwdev->rf->sc_dev, + IRDMA_DEBUG_CM, + "listener memory allocation\n"); + return -ENOMEM; + } - child_listen_node->qhash_set = true; - spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, - flags); - list_add(&child_listen_node->child_listen_list, - &cm_parent_listen_node->child_listen_list); - spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags); - } - if_addr_runlock(ip_dev); + memcpy(child_listen_node, cm_parent_listen_node, + sizeof(*child_listen_node)); + cm_info->vlan_id = rdma_vlan_dev_vlan_id(ip_dev); + child_listen_node->vlan_id = cm_info->vlan_id; + if (cm_info->ipv4) + child_listen_node->loc_addr[0] = + ntohl(((struct sockaddr_in *)ifa->ifa_addr)->sin_addr.s_addr); + else + irdma_copy_ip_ntohl(child_listen_node->loc_addr, + ((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr.__u6_addr.__u6_addr32); + memcpy(cm_info->loc_addr, child_listen_node->loc_addr, + sizeof(cm_info->loc_addr)); + if (!iwdev->vsi.dscp_mode) + cm_info->user_pri = + irdma_get_egress_vlan_prio(child_listen_node->loc_addr, + cm_info->user_pri, + false); + ret = irdma_manage_qhash(iwdev, cm_info, + IRDMA_QHASH_TYPE_TCP_SYN, + IRDMA_QHASH_MANAGE_TYPE_ADD, + NULL, true); + if (ret) { + kfree(child_listen_node); + return ret; } -exit: - IFNET_RUNLOCK(); - return ret; + child_listen_node->qhash_set = true; + spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags); + list_add(&child_listen_node->child_listen_list, + &cm_parent_listen_node->child_listen_list); + spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags); + cm_parent_listen_node->cm_core->stats_listen_nodes_created++; + + return 0; } /** @@ -1863,21 +1778,42 @@ irdma_add_mqh(struct irdma_device *iwdev, struct irdma_cm_info *cm_info, struct irdma_cm_listener *cm_listen_node) { + struct epoch_tracker et; + struct irdma_add_mqh_cbs cbs; + struct if_iter iter; + if_t ifp; int err; + + cbs.iwdev = iwdev; + cbs.cm_info = cm_info; + cbs.cm_listen_node = cm_listen_node; + VNET_ITERATOR_DECL(vnet_iter); VNET_LIST_RLOCK(); + NET_EPOCH_ENTER(et); VNET_FOREACH(vnet_iter) { - IFNET_RLOCK(); CURVNET_SET_QUIET(vnet_iter); + for (ifp = if_iter_start(&iter); ifp != NULL; ifp = if_iter_next(&iter)) { + if (!(if_getflags(ifp) & IFF_UP)) + continue; - if (cm_info->ipv4) - err = irdma_add_mqh_4(iwdev, cm_info, cm_listen_node); - else - err = irdma_add_mqh_6(iwdev, cm_info, cm_listen_node); + if (((rdma_vlan_dev_vlan_id(ifp) >= VLAN_N_VID) || + (rdma_vlan_dev_real_dev(ifp) != iwdev->netdev)) && + ifp != iwdev->netdev) + continue; + + if_addr_rlock(ifp); + if (cm_info->ipv4) + err = if_foreach_addr_type(ifp, AF_INET, irdma_add_mqh_ifa_cb, &cbs); + else + err = if_foreach_addr_type(ifp, AF_INET6, irdma_add_mqh_ifa_cb, &cbs); + if_addr_runlock(ifp); + } + if_iter_finish(&iter); CURVNET_RESTORE(); - IFNET_RUNLOCK(); } + NET_EPOCH_EXIT(et); VNET_LIST_RUNLOCK(); return err; @@ -2110,7 +2046,7 @@ irdma_cm_create_ah(struct irdma_cm_node *cm_node, bool wait) struct vnet *vnet = rdma_id->route.addr.dev_addr.net; #endif - ether_addr_copy(ah_info.mac_addr, IF_LLADDR(iwdev->netdev)); + ether_addr_copy(ah_info.mac_addr, if_getlladdr(iwdev->netdev)); ah_info.hop_ttl = 0x40; ah_info.tc_tos = cm_node->tos; @@ -2178,7 +2114,7 @@ irdma_make_cm_node(struct irdma_cm_core *cm_core, struct irdma_device *iwdev, { struct irdma_cm_node *cm_node; int arpindex; - struct ifnet *netdev = iwdev->netdev; + if_t netdev = iwdev->netdev; /* create an hte and cm_node for this instance */ cm_node = kzalloc(sizeof(*cm_node), GFP_ATOMIC); @@ -2227,7 +2163,7 @@ irdma_make_cm_node(struct irdma_cm_core *cm_core, struct irdma_device *iwdev, cm_node->listener = listener; cm_node->cm_id = cm_info->cm_id; - ether_addr_copy(cm_node->loc_mac, IF_LLADDR(netdev)); + ether_addr_copy(cm_node->loc_mac, if_getlladdr(netdev)); spin_lock_init(&cm_node->retrans_list_lock); cm_node->ack_rcvd = false; diff --git a/sys/dev/irdma/irdma_hw.c b/sys/dev/irdma/irdma_hw.c index d41b3be061f8..ba4b5233d9d5 100644 --- a/sys/dev/irdma/irdma_hw.c +++ b/sys/dev/irdma/irdma_hw.c @@ -1122,7 +1122,7 @@ irdma_alloc_set_mac(struct irdma_device *iwdev) &iwdev->mac_ip_table_idx); if (!status) { status = irdma_add_local_mac_entry(iwdev->rf, - (const u8 *)IF_LLADDR(iwdev->netdev), + (const u8 *)if_getlladdr(iwdev->netdev), (u8)iwdev->mac_ip_table_idx); if (status) irdma_del_local_mac_entry(iwdev->rf, @@ -2605,7 +2605,7 @@ irdma_manage_qhash(struct irdma_device *iwdev, struct irdma_cm_info *cminfo, } info->ipv4_valid = cminfo->ipv4; info->user_pri = cminfo->user_pri; - ether_addr_copy(info->mac_addr, IF_LLADDR(iwdev->netdev)); + ether_addr_copy(info->mac_addr, if_getlladdr(iwdev->netdev)); info->qp_num = cminfo->qh_qpid; info->dest_port = cminfo->loc_port; info->dest_ip[0] = cminfo->loc_addr[0]; diff --git a/sys/dev/irdma/irdma_kcompat.c b/sys/dev/irdma/irdma_kcompat.c index 730c7e73bf5a..b2897b30817c 100644 --- a/sys/dev/irdma/irdma_kcompat.c +++ b/sys/dev/irdma/irdma_kcompat.c @@ -638,7 +638,8 @@ irdma_fill_ah_info(struct vnet *vnet, struct irdma_ah_info *ah_info, } } -static inline u8 irdma_get_vlan_ndev_prio(struct ifnet *ndev, u8 prio){ +static inline u8 irdma_get_vlan_ndev_prio(if_t ndev, u8 prio) +{ return prio; } @@ -665,7 +666,7 @@ irdma_create_ah_vlan_tag(struct irdma_device *iwdev, ah_info->vlan_tag = 0; if (ah_info->vlan_tag < VLAN_N_VID) { - struct ifnet *ndev = sgid_attr->ndev; + if_t ndev = sgid_attr->ndev; ah_info->insert_vlan_tag = true; vlan_prio = (u16)irdma_get_vlan_ndev_prio(ndev, rt_tos2priority(ah_info->tc_tos)); @@ -777,7 +778,7 @@ irdma_create_ah(struct ib_ah *ib_ah, ah_info = &sc_ah->ah_info; ah_info->ah_idx = ah_id; ah_info->pd_idx = pd->sc_pd.pd_id; - ether_addr_copy(ah_info->mac_addr, IF_LLADDR(iwdev->netdev)); + ether_addr_copy(ah_info->mac_addr, if_getlladdr(iwdev->netdev)); if (attr->ah_flags & IB_AH_GRH) { ah_info->flow_label = attr->grh.flow_label; @@ -787,7 +788,7 @@ irdma_create_ah(struct ib_ah *ib_ah, ether_addr_copy(dmac, attr->dmac); - irdma_fill_ah_info(iwdev->netdev->if_vnet, ah_info, &sgid_attr, &sgid_addr.saddr, &dgid_addr.saddr, + irdma_fill_ah_info(if_getvnet(iwdev->netdev), ah_info, &sgid_attr, &sgid_addr.saddr, &dgid_addr.saddr, dmac, ah->av.net_type); err = irdma_create_ah_vlan_tag(iwdev, pd, ah_info, &sgid_attr, dmac); @@ -946,7 +947,7 @@ irdma_create_ah(struct ib_pd *ibpd, ah_info->ah_idx = ah_id; ah_info->pd_idx = pd->sc_pd.pd_id; - ether_addr_copy(ah_info->mac_addr, IF_LLADDR(iwdev->netdev)); + ether_addr_copy(ah_info->mac_addr, if_getlladdr(iwdev->netdev)); if (attr->ah_flags & IB_AH_GRH) { ah_info->flow_label = attr->grh.flow_label; ah_info->hop_ttl = attr->grh.hop_limit; @@ -957,7 +958,7 @@ irdma_create_ah(struct ib_pd *ibpd, ib_resolve_eth_dmac(ibpd->device, attr); irdma_ether_copy(dmac, attr); - irdma_fill_ah_info(iwdev->netdev->if_vnet, ah_info, &sgid_attr, &sgid_addr.saddr, &dgid_addr.saddr, + irdma_fill_ah_info(if_getvnet(iwdev->netdev), ah_info, &sgid_attr, &sgid_addr.saddr, &dgid_addr.saddr, dmac, ah->av.net_type); err = irdma_create_ah_vlan_tag(iwdev, pd, ah_info, &sgid_attr, dmac); @@ -1733,7 +1734,7 @@ kc_irdma_set_roce_cm_info(struct irdma_qp *iwqp, struct ib_qp_attr *attr, if (sgid_attr.ndev) { *vlan_id = rdma_vlan_dev_vlan_id(sgid_attr.ndev); - ether_addr_copy(iwqp->ctx_info.roce_info->mac_addr, IF_LLADDR(sgid_attr.ndev)); + ether_addr_copy(iwqp->ctx_info.roce_info->mac_addr, if_getlladdr(sgid_attr.ndev)); } av->net_type = kc_rdma_gid_attr_network_type(sgid_attr, @@ -2002,7 +2003,7 @@ irdma_disassociate_ucontext(struct ib_ucontext *context) #endif struct ib_device * -ib_device_get_by_netdev(struct ifnet *netdev, int driver_id) +ib_device_get_by_netdev(if_t netdev, int driver_id) { struct irdma_device *iwdev; struct irdma_handler *hdl; @@ -2131,17 +2132,18 @@ irdma_query_port(struct ib_device *ibdev, u8 port, struct ib_port_attr *props) { struct irdma_device *iwdev = to_iwdev(ibdev); - struct ifnet *netdev = iwdev->netdev; + if_t netdev = iwdev->netdev; /* no need to zero out pros here. done by caller */ props->max_mtu = IB_MTU_4096; - props->active_mtu = ib_mtu_int_to_enum(netdev->if_mtu); + props->active_mtu = ib_mtu_int_to_enum(if_getmtu(netdev)); props->lid = 1; props->lmc = 0; props->sm_lid = 0; props->sm_sl = 0; - if ((netdev->if_link_state == LINK_STATE_UP) && (netdev->if_drv_flags & IFF_DRV_RUNNING)) { + if ((if_getlinkstate(netdev) == LINK_STATE_UP) && + (if_getdrvflags(netdev) & IFF_DRV_RUNNING)) { props->state = IB_PORT_ACTIVE; props->phys_state = IB_PORT_PHYS_STATE_LINK_UP; } else { @@ -2274,7 +2276,7 @@ irdma_query_gid(struct ib_device *ibdev, u8 port, int index, struct irdma_device *iwdev = to_iwdev(ibdev); memset(gid->raw, 0, sizeof(gid->raw)); - ether_addr_copy(gid->raw, IF_LLADDR(iwdev->netdev)); + ether_addr_copy(gid->raw, if_getlladdr(iwdev->netdev)); return 0; } @@ -2349,13 +2351,13 @@ kc_set_rdma_uverbs_cmd_mask(struct irdma_device *iwdev) int ib_get_eth_speed(struct ib_device *ibdev, u32 port_num, u8 *speed, u8 *width) { - struct ifnet *netdev = ibdev->get_netdev(ibdev, port_num); + if_t netdev = ibdev->get_netdev(ibdev, port_num); u32 netdev_speed; if (!netdev) return -ENODEV; - netdev_speed = netdev->if_baudrate; + netdev_speed = if_getbaudrate(netdev); dev_put(netdev); if (netdev_speed <= SPEED_1000) { *width = IB_WIDTH_1X; diff --git a/sys/dev/irdma/irdma_main.h b/sys/dev/irdma/irdma_main.h index 27b0f2c1264a..91265f2445bb 100644 --- a/sys/dev/irdma/irdma_main.h +++ b/sys/dev/irdma/irdma_main.h @@ -363,7 +363,7 @@ struct irdma_pci_f { struct irdma_device { struct ib_device ibdev; struct irdma_pci_f *rf; - struct ifnet *netdev; + if_t netdev; struct notifier_block nb_netdevice_event; struct irdma_handler *hdl; struct workqueue_struct *cleanup_wq; @@ -580,7 +580,7 @@ void irdma_gen_ae(struct irdma_pci_f *rf, struct irdma_sc_qp *qp, void irdma_copy_ip_ntohl(u32 *dst, __be32 *src); void irdma_copy_ip_htonl(__be32 *dst, u32 *src); u16 irdma_get_vlan_ipv4(u32 *addr); -struct ifnet *irdma_netdev_vlan_ipv6(u32 *addr, u16 *vlan_id, u8 *mac); +if_t irdma_netdev_vlan_ipv6(u32 *addr, u16 *vlan_id, u8 *mac); struct ib_mr *irdma_reg_phys_mr(struct ib_pd *ib_pd, u64 addr, u64 size, int acc, u64 *iova_start); int irdma_upload_qp_context(struct irdma_qp *iwqp, bool freeze, bool raw); diff --git a/sys/dev/irdma/irdma_verbs.c b/sys/dev/irdma/irdma_verbs.c index c9aed90b2cb1..8aac819cf892 100644 --- a/sys/dev/irdma/irdma_verbs.c +++ b/sys/dev/irdma/irdma_verbs.c @@ -56,7 +56,7 @@ irdma_query_device(struct ib_device *ibdev, memset(props, 0, sizeof(*props)); addrconf_addr_eui48((u8 *)&props->sys_image_guid, - IF_LLADDR(iwdev->netdev)); + if_getlladdr(iwdev->netdev)); props->fw_ver = (u64)irdma_fw_major_ver(&rf->sc_dev) << 32 | irdma_fw_minor_ver(&rf->sc_dev); props->device_cap_flags = IB_DEVICE_MEM_WINDOW | @@ -737,7 +737,7 @@ irdma_roce_fill_and_set_qpctx_info(struct irdma_qp *iwqp, udp_info->src_port = 0xc000; udp_info->dst_port = ROCE_V2_UDP_DPORT; roce_info = &iwqp->roce_info; - ether_addr_copy(roce_info->mac_addr, IF_LLADDR(iwdev->netdev)); + ether_addr_copy(roce_info->mac_addr, if_getlladdr(iwdev->netdev)); roce_info->rd_en = true; roce_info->wr_rdresp_en = true; @@ -770,7 +770,7 @@ irdma_iw_fill_and_set_qpctx_info(struct irdma_qp *iwqp, struct irdma_iwarp_offload_info *iwarp_info; iwarp_info = &iwqp->iwarp_info; - ether_addr_copy(iwarp_info->mac_addr, IF_LLADDR(iwdev->netdev)); + ether_addr_copy(iwarp_info->mac_addr, if_getlladdr(iwdev->netdev)); iwarp_info->rd_en = true; iwarp_info->wr_rdresp_en = true; iwarp_info->bind_en = true; @@ -3507,7 +3507,7 @@ irdma_query_ah(struct ib_ah *ibah, struct ib_ah_attr *ah_attr) return 0; } -static struct ifnet * +static if_t irdma_get_netdev(struct ib_device *ibdev, u8 port_num) { struct irdma_device *iwdev = to_iwdev(ibdev); @@ -3627,7 +3627,7 @@ irdma_init_roce_device(struct irdma_device *iwdev) kc_set_roce_uverbs_cmd_mask(iwdev); iwdev->ibdev.node_type = RDMA_NODE_IB_CA; addrconf_addr_eui48((u8 *)&iwdev->ibdev.node_guid, - IF_LLADDR(iwdev->netdev)); + if_getlladdr(iwdev->netdev)); irdma_set_device_roce_ops(&iwdev->ibdev); if (iwdev->rf->rdma_ver == IRDMA_GEN_2) irdma_set_device_mcast_ops(&iwdev->ibdev); @@ -3640,11 +3640,11 @@ irdma_init_roce_device(struct irdma_device *iwdev) static int irdma_init_iw_device(struct irdma_device *iwdev) { - struct ifnet *netdev = iwdev->netdev; + if_t netdev = iwdev->netdev; iwdev->ibdev.node_type = RDMA_NODE_RNIC; addrconf_addr_eui48((u8 *)&iwdev->ibdev.node_guid, - IF_LLADDR(netdev)); + if_getlladdr(netdev)); iwdev->ibdev.iwcm = kzalloc(sizeof(*iwdev->ibdev.iwcm), GFP_KERNEL); if (!iwdev->ibdev.iwcm) return -ENOMEM; From nobody Tue Apr 25 18:22:25 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5Vhx48xxz46XD3; Tue, 25 Apr 2023 18:22:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q5Vhx3JG6z4GbT; Tue, 25 Apr 2023 18:22:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682446945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D33rYK0u47DxkPhaZ8OIhQlCWwz7rRZrRyAxtiuhsCc=; b=ZZNV0/6USioo2RJJotJkP/pbeDtwaMa4/pW3gPhLz9d5mkpMP+QrPV/IlV6yCjqx/IymQl jZoWH7dsKRvyO2+dQJdeDRSGPnPoLs8dSlslxnGXKQUkSBFVyovSRP0/NKn5R74ZRC2neC t/bN0GTkD6ZObNN6IVgZnRUJyTo7CTfPmQbT+b8RhxdzIfB3cb5x03JKTgynod3S9sl9rF fsNRXR3etvDY7KPMU/6iEHMlr8rtwCnCcY4XPLr2k69PXiKzxxB2poMqlvdwkUOeULqVPe OLloInA8V//mmK2UQGBtGHKWHG/NrQLjYD0hDj6nbeP0sDeCx85qSRACMYbUSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682446945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D33rYK0u47DxkPhaZ8OIhQlCWwz7rRZrRyAxtiuhsCc=; b=eLpllIvHrpsxeaGK6PlLOT3Ly/mfTFwUUsn12mGNtVOprqhk2usu1d7x4T4RQi0ljd4wYx mxUq5Z/TFfnTrgktlySdreLprSDwcLWeWlxT4R/yHjpbNN01AZjWKljr18vUFsLuZq9RLA pyM01O7FrvUt86EaPwLzI915Mkrnr7ipv6qlO2gE3dbCr7pqmUsE0wycSTr2gc5iIeb5we Hm6cueyJBe8HY5J4BuyYk0QnIC/rWKWNtDLkdqvSDJRtdcpfMcPw9EK/Kw824QJ6RgZRqU bI4GD7VvHxwq4FutC6eYaCyU4zJZDDOzPlYEOkr5mVDy0TfGSpHWNri7P5cjgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682446945; a=rsa-sha256; cv=none; b=G4La4OxcfqmWYPrguQb6ShbUIDgv0wtJbMYx43vwqkA777eXFYBnPEoGm8igb1E6VGQEPX 7/udMfV5U2QMuu/XOsDEXL4qQRgGuxh5vqPPuE3xU9j/rHzWiBiP+Z4eyyxvfxP7m6gFTb Poq4Cq8KbIycSRd+ZjWMMZDhtJUpn1oTfoMB2abE4Y1mQwm2OInDjiNdEKSKiL5DSF9K+j 5Ti67vwPI2ZqcwsCtmOJ8mqZekmtT5Rqnnmyp8BpofFpD1Mp8kegunDLEg3rZJr1QEr4lJ +wUZZQLVAXP15lpdvZ0mpTb0tC+ibTHApjcEb//7UgqXUPwAq+KBSOy+xdhXmQ== 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 4Q5Vhx2108z1HPr; Tue, 25 Apr 2023 18:22: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 33PIMPUp028080; Tue, 25 Apr 2023 18:22:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PIMPgC028079; Tue, 25 Apr 2023 18:22:25 GMT (envelope-from git) Date: Tue, 25 Apr 2023 18:22:25 GMT Message-Id: <202304251822.33PIMPgC028079@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: f46a05b5d3db - main - al_eth: Finish conversion to IfAPI List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f46a05b5d3dbc924a1f2d175eda3bc0f92ccca31 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=f46a05b5d3dbc924a1f2d175eda3bc0f92ccca31 commit f46a05b5d3dbc924a1f2d175eda3bc0f92ccca31 Author: Justin Hibbits AuthorDate: 2023-03-07 19:19:44 +0000 Commit: Justin Hibbits CommitDate: 2023-04-25 18:25:31 +0000 al_eth: Finish conversion to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38955 --- sys/dev/al_eth/al_eth.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/sys/dev/al_eth/al_eth.c b/sys/dev/al_eth/al_eth.c index 43d3b8fed605..ec10313442b3 100644 --- a/sys/dev/al_eth/al_eth.c +++ b/sys/dev/al_eth/al_eth.c @@ -339,8 +339,6 @@ al_attach(device_t dev) adapter->netdev = ifp = if_alloc(IFT_ETHER); - adapter->netdev->if_link_state = LINK_STATE_DOWN; - if_setsoftc(ifp, adapter); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); @@ -391,7 +389,7 @@ al_attach(device_t dev) adapter->link_poll_interval = AL_ETH_DEFAULT_LINK_POLL_INTERVAL; adapter->max_rx_buff_alloc_size = AL_ETH_DEFAULT_MAX_RX_BUFF_ALLOC_SIZE; - al_eth_req_rx_buff_size(adapter, adapter->netdev->if_mtu); + al_eth_req_rx_buff_size(adapter, if_getmtu(adapter->netdev)); adapter->link_config.force_1000_base_x = AL_ETH_DEFAULT_FORCE_1000_BASEX; @@ -1483,7 +1481,7 @@ al_eth_rx_checksum(struct al_eth_adapter *adapter, { /* if IPv4 and error */ - if (unlikely((adapter->netdev->if_capenable & IFCAP_RXCSUM) && + if (unlikely((if_getcapenable(adapter->netdev) & IFCAP_RXCSUM) && (hal_pkt->l3_proto_idx == AL_ETH_PROTO_ID_IPv4) && (hal_pkt->flags & AL_ETH_RX_FLAGS_L3_CSUM_ERR))) { device_printf(adapter->dev,"rx ipv4 header checksum error\n"); @@ -1491,7 +1489,7 @@ al_eth_rx_checksum(struct al_eth_adapter *adapter, } /* if IPv6 and error */ - if (unlikely((adapter->netdev->if_capenable & IFCAP_RXCSUM_IPV6) && + if (unlikely((if_getcapenable(adapter->netdev) & IFCAP_RXCSUM_IPV6) && (hal_pkt->l3_proto_idx == AL_ETH_PROTO_ID_IPv6) && (hal_pkt->flags & AL_ETH_RX_FLAGS_L3_CSUM_ERR))) { device_printf(adapter->dev,"rx ipv6 header checksum error\n"); @@ -1632,8 +1630,8 @@ al_eth_rx_recv_work(void *arg, int pending) break; } - if (__predict_true(rx_ring->netdev->if_capenable & IFCAP_RXCSUM || - rx_ring->netdev->if_capenable & IFCAP_RXCSUM_IPV6)) { + if (__predict_true(if_getcapenable(rx_ring->netdev) & IFCAP_RXCSUM || + if_getcapenable(rx_ring->netdev) & IFCAP_RXCSUM_IPV6)) { al_eth_rx_checksum(rx_ring->adapter, hal_pkt, mbuf); } @@ -1661,7 +1659,7 @@ al_eth_rx_recv_work(void *arg, int pending) } if (do_if_input) - (*rx_ring->netdev->if_input)(rx_ring->netdev, mbuf); + if_input(rx_ring->netdev, mbuf); } while (1); @@ -2545,7 +2543,7 @@ al_eth_setup_rx_resources(struct al_eth_adapter *adapter, unsigned int qid) memset(q_params->cdesc_base, 0, rx_ring->cdescs_size); /* Create LRO for the ring */ - if ((adapter->netdev->if_capenable & IFCAP_LRO) != 0) { + if ((if_getcapenable(adapter->netdev) & IFCAP_LRO) != 0) { int err = tcp_lro_init(&rx_ring->lro); if (err != 0) { device_printf(adapter->dev, @@ -3106,7 +3104,7 @@ al_eth_up_complete(struct al_eth_adapter *adapter) al_eth_configure_int_mode(adapter); al_eth_config_rx_fwd(adapter); - al_eth_change_mtu(adapter, adapter->netdev->if_mtu); + al_eth_change_mtu(adapter, if_getmtu(adapter->netdev)); al_eth_udma_queues_enable_all(adapter); al_eth_refill_all_rx_bufs(adapter); al_eth_interrupts_unmask(adapter); @@ -3233,7 +3231,7 @@ al_eth_up(struct al_eth_adapter *adapter) adapter->up = true; if (adapter->mac_mode == AL_ETH_MAC_MODE_10GbE_Serial) - adapter->netdev->if_link_state = LINK_STATE_UP; + if_link_state_change(adapter->netdev, LINK_STATE_UP); if (adapter->mac_mode == AL_ETH_MAC_MODE_RGMII) { mii_mediachg(adapter->mii); @@ -3310,12 +3308,12 @@ al_ioctl(if_t ifp, u_long command, caddr_t data) error = al_eth_check_mtu(adapter, ifr->ifr_mtu); if (error != 0) { device_printf(adapter->dev, "ioctl wrong mtu %u\n", - adapter->netdev->if_mtu); + if_getmtu(adapter->netdev)); break; } if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); - adapter->netdev->if_mtu = ifr->ifr_mtu; + if_setmtu(adapter->netdev, ifr->ifr_mtu); al_init(adapter); break; } @@ -3515,10 +3513,10 @@ al_miibus_statchg(device_t dev) if ((adapter->mii->mii_media_status & IFM_AVALID) != 0) { if (adapter->mii->mii_media_status & IFM_ACTIVE) { device_printf(adapter->dev, "link is UP\n"); - adapter->netdev->if_link_state = LINK_STATE_UP; + if_link_state_change(adapter->netdev, LINK_STATE_UP); } else { device_printf(adapter->dev, "link is DOWN\n"); - adapter->netdev->if_link_state = LINK_STATE_DOWN; + if_link_state_change(adapter->netdev, LINK_STATE_DOWN); } } } @@ -3533,7 +3531,7 @@ al_miibus_linkchg(device_t dev) if (adapter->mii == NULL) return; - if ((adapter->netdev->if_flags & IFF_UP) == 0) + if ((if_getflags(adapter->netdev) & IFF_UP) == 0) return; /* Ignore link changes when link is not ready */ From nobody Tue Apr 25 19:21:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5X1X1nGTz46c3D; Tue, 25 Apr 2023 19:21: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 4Q5X1X1HKZz4LxD; Tue, 25 Apr 2023 19:21:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682450512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0wfjHBNrVXrnJCDx94P7aFn7EEua8X2btyUOq2aFvZU=; b=HPpYHg9GK2dhSHU6PQOSX179JCigIMQ+Un75Q82hL9eyVMeX8Ny36HPSxcjeAvUqTdVATa tZx4dWDOJTMxFa448lezFveZcArw29SDK+DVtYEVNICnKJtaTOc6VLUFJv85jz30BMIIdZ xoNWFGi1S8wQwiPRflqIZcIiwShoLL/OY+W6ZSbw0OqaWcR4rtIxN2ZFtdRcOqP7hOFmaq cPQG9NwxoLMFgV0MSMSnpT+c5dZn+GZ9s+4WAm8cOllovU9y2gEZGa4qpeuG1Ws0lIfzqj LqmW8fskaioYBcJhiKxb+jC1bj3xms3sfKYeU8S8G54CMiMeh+k73UAr5vb0Vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682450512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0wfjHBNrVXrnJCDx94P7aFn7EEua8X2btyUOq2aFvZU=; b=MIuvdFUfnqr+oQlQqelS7yEB/fe3GAdb6tSs7E+kQfGpkegrmTalKjEq8wfRFS3OUI0mF2 6XfkM0BKsamR2iwVjgYUKuHuNd9lkDCVG2vyvU1GoK/g4DdPpVvl2RGSAz2K8VnPa8X0hF XxJZsCbEFEEkRF2HJ47Ki/foHr6PhXsPJjK257QTj4kn/mGpekBX2NQFPMYXeMG6tifOpT BgahFwMroDlBpwSFEm6tXFLBBuiJ4LTLl2Y45AumaMrIs6dCXGJKf80meWKiRyhYyWSgdR jzo3zS5C8vwDhLHSPWPYOJdaFzf/2UohRDJgKzXGrcGr1hvciT5GvU7en5jEEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682450512; a=rsa-sha256; cv=none; b=ESjRBhJfMWKoTLTJy+GH56NrPFv6aITDQCcqvi7DghmzWHJ8JUTQuWcYspST3EYZvyv2m7 c1Ee60ooibBEkKEKCEklxPbfPQ6ckAV2NCTWMb9okTQWs6FMCysbraF0NHhl/+W5/5QDt5 WiaF3UARGoaENz43ZwCRjAOpfmeAQzytb9BawpTZ9MK9ECxgHgkEq5hfKolf9w7clth2yu UnIp6u4BSB3HbiQHlgu4xGtDJes9NAqFMOif+1MLDagSA83gDKw4whhAYLRuFfyZbxtDXS ydwR4suq3yb7ScvOFABoFEi/r65E/KnEnT8GScUdO2QuT6FJpye+jIWNVc3K1A== 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 4Q5X1X0LYHz1KHk; Tue, 25 Apr 2023 19:21:52 +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 33PJLpe1022972; Tue, 25 Apr 2023 19:21:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PJLpvp022971; Tue, 25 Apr 2023 19:21:51 GMT (envelope-from git) Date: Tue, 25 Apr 2023 19:21:51 GMT Message-Id: <202304251921.33PJLpvp022971@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 144259f67303 - main - tcp: purge the input queue from tcp_discardcb() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 144259f673038635709022506d3adc819da137b6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=144259f673038635709022506d3adc819da137b6 commit 144259f673038635709022506d3adc819da137b6 Author: Gleb Smirnoff AuthorDate: 2023-04-25 19:18:19 +0000 Commit: Gleb Smirnoff CommitDate: 2023-04-25 19:18:19 +0000 tcp: purge the input queue from tcp_discardcb() The purge was intentionally removed in a540cdca3183. My assumption was that the stacks that use the input queue always call the tcp_handle_orphaned_packets() in their tfb_tcp_fb_fini method. However, rack will skip doing that if t_fb_ptr is NULL and there are scenarios when it is NULL, e.g. close(2) on a socket (but some special close(2)). Instead of working out all possible scenarios let's put this safebelt back. Reviewed by: rrs Differential Revision: https://reviews.freebsd.org/D39696 --- sys/netinet/tcp_subr.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index d7ca44e8a581..c57eedef151f 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -2379,6 +2379,7 @@ tcp_discardcb(struct tcpcb *tp) { struct inpcb *inp = tptoinpcb(tp); struct socket *so = tptosocket(tp); + struct mbuf *m; #ifdef INET6 bool isipv6 = (inp->inp_vflag & INP_IPV6) != 0; #endif @@ -2422,7 +2423,13 @@ tcp_discardcb(struct tcpcb *tp) #endif CC_ALGO(tp) = NULL; + if ((m = STAILQ_FIRST(&tp->t_inqueue)) != NULL) { + struct mbuf *prev; + STAILQ_INIT(&tp->t_inqueue); + STAILQ_FOREACH_FROM_SAFE(m, &tp->t_inqueue, m_stailqpkt, prev) + m_freem(m); + } TCPSTATES_DEC(tp->t_state); if (tp->t_fb->tfb_tcp_fb_fini) @@ -2430,7 +2437,6 @@ tcp_discardcb(struct tcpcb *tp) #ifdef TCP_BLACKBOX tcp_log_tcpcbfini(tp); #endif - MPASS(STAILQ_EMPTY(&tp->t_inqueue)); /* * If we got enough samples through the srtt filter, From nobody Tue Apr 25 19:21:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5X1Y2qVsz46bjc; Tue, 25 Apr 2023 19:21: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 4Q5X1Y2Btmz4MGv; Tue, 25 Apr 2023 19:21:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682450513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=06Pg6jU+QgKGhXLtQZHiKfbTQCMU21PvgUcyRRD0Kzc=; b=owiJP7P5T5AfapNwYMot1tNqqJ4KzrwMb0N+wSzDz5r5X46qpf8Z4haO8frei+MRfevIyt I7JxnMTnrVLQxu7+NIbmDqX5LhhHQiWDax3cWKkkWGBBt4z+QKktAuzzAN1ns0q+qR4gTo pstN4NK8lrCBvMi7bodjunXkais0KVDDmxpb2wcLUJisj0bZKOIP426CKs2xDffcP5iGr+ 2drhPflR9dJzBtFbZHo18/gG1R7Veg8wk9p/uSBSYpzMSAbLDEw3GKB7OvW2+5U45TNiWv 3R10a2n3OuRftRcFxMPQiC4qcmmFLEUuP6mm/OPIurQA2KEK6f0q/hp0kHL7cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682450513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=06Pg6jU+QgKGhXLtQZHiKfbTQCMU21PvgUcyRRD0Kzc=; b=QPQ3XYkwNjrNJ4uUSBR6UUolhJfVDhfbtBqjymTeKnaxmhGgdEm019InBGYtGHvzSseJc9 91RO7Q8iqVOaOUIel7QT+1mN0FdBwcUVfS2p8CIOAI7eAJCokozDd+svKZfTIWNRs9soSm EqnbBNXE/byUOmXX/ZBWE2H/SnIJua7Poniy3hV/2JTnb8pUsuM+3UQB25bmwNlvC7rbmv A0ZgFNvXnLgUHkwybFHAdAHzyWP6MRVx2qFfYcghQrC/OrLtpLhTXcZepCbT27IuFJuNwR S4cj72s9w+i3UXgUNuwlItyiP2M+QEpuwdIlBkS00tVkHTaFpQNmvrfF3adpfA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682450513; a=rsa-sha256; cv=none; b=qZs590Vj4EluDphA9UGJfN9XRcyHxob8T6wDH+EqzJYvlTWmV5Za1o23wtK6qNDPwYPsX9 yNEinYpKjqKlicGJ2wEzh8nTdoZMUl2z4MO5J1rw4wEoMAVhiqnj/R2TtB3cYU4gfje6ue GzNeExa/XubPZXPMuZdNsmFOyTgcDiwwC0SfM9QggvScQlOhrKf06LkAI9bG9rBTi2OZtx PtnYlHGok2gKq46cDkf6mffTjFwUfscnpA0LLnKBbVbu5oHc7cLGK3gFTIbClpYuhuEdHI tDwvy9E8SEDsoOUQeZp2fWaJ78D3JrGpk+Z73wgCvOynsK+DogWBF67H7EkeGA== 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 4Q5X1Y11q5z1KHl; Tue, 25 Apr 2023 19:21: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 33PJLrdH022991; Tue, 25 Apr 2023 19:21:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PJLrci022990; Tue, 25 Apr 2023 19:21:53 GMT (envelope-from git) Date: Tue, 25 Apr 2023 19:21:53 GMT Message-Id: <202304251921.33PJLrci022990@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: c2a69e846fff - main - tcp_hpts: move HPTS related fields from inpcb to tcpcb List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c2a69e846fffb95271c0299e0a81e2033382e9c2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=c2a69e846fffb95271c0299e0a81e2033382e9c2 commit c2a69e846fffb95271c0299e0a81e2033382e9c2 Author: Gleb Smirnoff AuthorDate: 2023-04-25 19:18:33 +0000 Commit: Gleb Smirnoff CommitDate: 2023-04-25 19:18:33 +0000 tcp_hpts: move HPTS related fields from inpcb to tcpcb This makes inpcb lighter and allows future cache line optimizations of tcpcb. The reason why HPTS originally used inpcb is the compressed TIME-WAIT state (see 0d7445193ab), that used to free a tcpcb, while the associated connection is still on the HPTS ring. Reviewed by: rrs Differential Revision: https://reviews.freebsd.org/D39697 --- sys/netinet/in_pcb.c | 2 - sys/netinet/in_pcb.h | 74 +------- sys/netinet/tcp_hpts.c | 384 ++++++++++++++++++++---------------------- sys/netinet/tcp_hpts.h | 16 +- sys/netinet/tcp_lro.c | 6 +- sys/netinet/tcp_stacks/bbr.c | 66 ++++---- sys/netinet/tcp_stacks/rack.c | 116 ++++++------- sys/netinet/tcp_subr.c | 11 +- sys/netinet/tcp_timewait.c | 1 - sys/netinet/tcp_usrreq.c | 2 +- sys/netinet/tcp_var.h | 20 ++- 11 files changed, 311 insertions(+), 387 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 9193dfb2372b..350d08360105 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1692,7 +1692,6 @@ in_pcbrele_rlocked(struct inpcb *inp) MPASS(inp->inp_flags & INP_FREED); MPASS(inp->inp_socket == NULL); - MPASS(inp->inp_in_hpts == 0); crfree(inp->inp_cred); #ifdef INVARIANTS inp->inp_cred = NULL; @@ -1713,7 +1712,6 @@ in_pcbrele_wlocked(struct inpcb *inp) MPASS(inp->inp_flags & INP_FREED); MPASS(inp->inp_socket == NULL); - MPASS(inp->inp_in_hpts == 0); crfree(inp->inp_cred); #ifdef INVARIANTS inp->inp_cred = NULL; diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index 984cb9e26561..62c5758268a7 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -145,7 +145,6 @@ struct in_conninfo { * lock is to be obtained and SMR section exited. * * Key: - * (b) - Protected by the hpts lock. * (c) - Constant after initialization * (e) - Protected by the SMR section * (i) - Protected by the inpcb lock @@ -154,51 +153,6 @@ struct in_conninfo { * (s) - Protected by another subsystem's locks * (x) - Undefined locking * - * Notes on the tcp_hpts: - * - * First Hpts lock order is - * 1) INP_WLOCK() - * 2) HPTS_LOCK() i.e. hpts->pmtx - * - * To insert a TCB on the hpts you *must* be holding the INP_WLOCK(). - * You may check the inp->inp_in_hpts flag without the hpts lock. - * The hpts is the only one that will clear this flag holding - * only the hpts lock. This means that in your tcp_output() - * routine when you test for the inp_in_hpts flag to be 1 - * it may be transitioning to 0 (by the hpts). - * That's ok since that will just mean an extra call to tcp_output - * that most likely will find the call you executed - * (when the mis-match occurred) will have put the TCB back - * on the hpts and it will return. If your - * call did not add the inp back to the hpts then you will either - * over-send or the cwnd will block you from sending more. - * - * Note you should also be holding the INP_WLOCK() when you - * call the remove from the hpts as well. Though usually - * you are either doing this from a timer, where you need and have - * the INP_WLOCK() or from destroying your TCB where again - * you should already have the INP_WLOCK(). - * - * The inp_hpts_cpu, inp_hpts_cpu_set, inp_input_cpu and - * inp_input_cpu_set fields are controlled completely by - * the hpts. Do not ever set these. The inp_hpts_cpu_set - * and inp_input_cpu_set fields indicate if the hpts has - * setup the respective cpu field. It is advised if this - * field is 0, to enqueue the packet with the appropriate - * hpts_immediate() call. If the _set field is 1, then - * you may compare the inp_*_cpu field to the curcpu and - * may want to again insert onto the hpts if these fields - * are not equal (i.e. you are not on the expected CPU). - * - * A note on inp_hpts_calls and inp_input_calls, these - * flags are set when the hpts calls either the output - * or do_segment routines respectively. If the routine - * being called wants to use this, then it needs to - * clear the flag before returning. The hpts will not - * clear the flag. The flags can be used to tell if - * the hpts is the function calling the respective - * routine. - * * A few other notes: * * When a read lock is held, stability of the field is guaranteed; to write @@ -219,41 +173,15 @@ struct inpcb { CK_LIST_ENTRY(inpcb) inp_hash_wild; /* hash table linkage */ struct rwlock inp_lock; /* Cache line #2 (amd64) */ -#define inp_start_zero inp_hpts +#define inp_start_zero inp_refcount #define inp_zero_size (sizeof(struct inpcb) - \ offsetof(struct inpcb, inp_start_zero)) - TAILQ_ENTRY(inpcb) inp_hpts; /* pacing out queue next lock(b) */ - uint32_t inp_hpts_gencnt; /* XXXGL */ - uint32_t inp_hpts_request; /* Current hpts request, zero if - * fits in the pacing window (i&b). */ - /* - * Note the next fields are protected by a - * different lock (hpts-lock). This means that - * they must correspond in size to the smallest - * protectable bit field (uint8_t on x86, and - * other platfomrs potentially uint32_t?). Also - * since CPU switches can occur at different times the two - * fields can *not* be collapsed into a signal bit field. - */ -#if defined(__amd64__) || defined(__i386__) - uint8_t inp_in_hpts; /* on output hpts (lock b) */ -#else - uint32_t inp_in_hpts; /* on output hpts (lock b) */ -#endif - volatile uint16_t inp_hpts_cpu; /* Lock (i) */ - volatile uint16_t inp_irq_cpu; /* Set by LRO in behalf of or the driver */ u_int inp_refcount; /* (i) refcount */ int inp_flags; /* (i) generic IP/datagram flags */ int inp_flags2; /* (i) generic IP/datagram flags #2*/ - uint8_t inp_hpts_cpu_set :1, /* on output hpts (i) */ - inp_hpts_calls :1, /* (i) from output hpts */ - inp_irq_cpu_set :1, /* (i) from LRO/Driver */ - inp_spare_bits2 : 3; uint8_t inp_numa_domain; /* numa domain */ void *inp_ppcb; /* (i) pointer to per-protocol pcb */ struct socket *inp_socket; /* (i) back pointer to socket */ - int32_t inp_hptsslot; /* Hpts wheel slot this tcb is Lock(i&b) */ - uint32_t inp_hpts_drop_reas; /* reason we are dropping the PCB (lock i&b) */ struct inpcbinfo *inp_pcbinfo; /* (c) PCB list info */ struct ucred *inp_cred; /* (c) cache of socket cred */ u_int32_t inp_flow; /* (i) IPv6 flow information */ diff --git a/sys/netinet/tcp_hpts.c b/sys/netinet/tcp_hpts.c index cc1bd71d0d43..59122bb242b9 100644 --- a/sys/netinet/tcp_hpts.c +++ b/sys/netinet/tcp_hpts.c @@ -199,7 +199,7 @@ struct tcp_hpts_entry { uint8_t p_fill[3]; /* Fill to 32 bits */ /* Cache line 0x40 */ struct hptsh { - TAILQ_HEAD(, inpcb) head; + TAILQ_HEAD(, tcpcb) head; uint32_t count; uint32_t gencnt; } *p_hptss; /* Hptsi wheel */ @@ -273,12 +273,6 @@ static struct hpts_domain_info { int cpu[MAXCPU]; } hpts_domains[MAXMEMDOM]; -enum { - IHPTS_NONE = 0, - IHPTS_ONQUEUE, - IHPTS_MOVING, -}; - counter_u64_t hpts_hopelessly_behind; SYSCTL_COUNTER_U64(_net_inet_tcp_hpts_stats, OID_AUTO, hopeless, CTLFLAG_RD, @@ -426,6 +420,17 @@ SYSCTL_INT(_net_inet_tcp_hpts, OID_AUTO, nowake_over_thresh, CTLFLAG_RW, &tcp_hpts_no_wake_over_thresh, 0, "When we are over the threshold on the pacer do we prohibit wakeups?"); +static uint16_t +hpts_random_cpu(void) +{ + uint16_t cpuid; + uint32_t ran; + + ran = arc4random(); + cpuid = (((ran & 0xffff) % mp_ncpus) % tcp_pace.rp_num_hptss); + return (cpuid); +} + static void tcp_hpts_log(struct tcp_hpts_entry *hpts, struct tcpcb *tp, struct timeval *tv, int slots_to_run, int idx, int from_callout) @@ -489,54 +494,67 @@ hpts_timeout_swi(void *arg) } static void -inp_hpts_insert(struct inpcb *inp, struct tcp_hpts_entry *hpts) +tcp_hpts_insert_internal(struct tcpcb *tp, struct tcp_hpts_entry *hpts) { + struct inpcb *inp = tptoinpcb(tp); struct hptsh *hptsh; INP_WLOCK_ASSERT(inp); HPTS_MTX_ASSERT(hpts); - MPASS(hpts->p_cpu == inp->inp_hpts_cpu); + MPASS(hpts->p_cpu == tp->t_hpts_cpu); MPASS(!(inp->inp_flags & INP_DROPPED)); - hptsh = &hpts->p_hptss[inp->inp_hptsslot]; + hptsh = &hpts->p_hptss[tp->t_hpts_slot]; - if (inp->inp_in_hpts == IHPTS_NONE) { - inp->inp_in_hpts = IHPTS_ONQUEUE; + if (tp->t_in_hpts == IHPTS_NONE) { + tp->t_in_hpts = IHPTS_ONQUEUE; in_pcbref(inp); - } else if (inp->inp_in_hpts == IHPTS_MOVING) { - inp->inp_in_hpts = IHPTS_ONQUEUE; + } else if (tp->t_in_hpts == IHPTS_MOVING) { + tp->t_in_hpts = IHPTS_ONQUEUE; } else - MPASS(inp->inp_in_hpts == IHPTS_ONQUEUE); - inp->inp_hpts_gencnt = hptsh->gencnt; + MPASS(tp->t_in_hpts == IHPTS_ONQUEUE); + tp->t_hpts_gencnt = hptsh->gencnt; - TAILQ_INSERT_TAIL(&hptsh->head, inp, inp_hpts); + TAILQ_INSERT_TAIL(&hptsh->head, tp, t_hpts); hptsh->count++; hpts->p_on_queue_cnt++; } static struct tcp_hpts_entry * -tcp_hpts_lock(struct inpcb *inp) +tcp_hpts_lock(struct tcpcb *tp) { struct tcp_hpts_entry *hpts; - INP_LOCK_ASSERT(inp); + INP_LOCK_ASSERT(tptoinpcb(tp)); - hpts = tcp_pace.rp_ent[inp->inp_hpts_cpu]; + hpts = tcp_pace.rp_ent[tp->t_hpts_cpu]; HPTS_LOCK(hpts); return (hpts); } static void -inp_hpts_release(struct inpcb *inp) +tcp_hpts_release(struct tcpcb *tp) { bool released __diagused; - inp->inp_in_hpts = IHPTS_NONE; - released = in_pcbrele_wlocked(inp); + tp->t_in_hpts = IHPTS_NONE; + released = in_pcbrele_wlocked(tptoinpcb(tp)); MPASS(released == false); } +/* + * Initialize newborn tcpcb to get ready for use with HPTS. + */ +void +tcp_hpts_init(struct tcpcb *tp) +{ + + tp->t_hpts_cpu = hpts_random_cpu(); + tp->t_lro_cpu = HPTS_CPU_NONE; + MPASS(!(tp->t_flags2 & TF2_HPTS_CPU_SET)); +} + /* * Called normally with the INP_LOCKED but it * does not matter, the hpts lock is the key @@ -544,39 +562,39 @@ inp_hpts_release(struct inpcb *inp) * INP lock and then get the hpts lock. */ void -tcp_hpts_remove(struct inpcb *inp) +tcp_hpts_remove(struct tcpcb *tp) { struct tcp_hpts_entry *hpts; struct hptsh *hptsh; - INP_WLOCK_ASSERT(inp); + INP_WLOCK_ASSERT(tptoinpcb(tp)); - hpts = tcp_hpts_lock(inp); - if (inp->inp_in_hpts == IHPTS_ONQUEUE) { - hptsh = &hpts->p_hptss[inp->inp_hptsslot]; - inp->inp_hpts_request = 0; - if (__predict_true(inp->inp_hpts_gencnt == hptsh->gencnt)) { - TAILQ_REMOVE(&hptsh->head, inp, inp_hpts); + hpts = tcp_hpts_lock(tp); + if (tp->t_in_hpts == IHPTS_ONQUEUE) { + hptsh = &hpts->p_hptss[tp->t_hpts_slot]; + tp->t_hpts_request = 0; + if (__predict_true(tp->t_hpts_gencnt == hptsh->gencnt)) { + TAILQ_REMOVE(&hptsh->head, tp, t_hpts); MPASS(hptsh->count > 0); hptsh->count--; MPASS(hpts->p_on_queue_cnt > 0); hpts->p_on_queue_cnt--; - inp_hpts_release(inp); + tcp_hpts_release(tp); } else { /* * tcp_hptsi() now owns the TAILQ head of this inp. * Can't TAILQ_REMOVE, just mark it. */ #ifdef INVARIANTS - struct inpcb *tmp; + struct tcpcb *tmp; - TAILQ_FOREACH(tmp, &hptsh->head, inp_hpts) - MPASS(tmp != inp); + TAILQ_FOREACH(tmp, &hptsh->head, t_hpts) + MPASS(tmp != tp); #endif - inp->inp_in_hpts = IHPTS_MOVING; - inp->inp_hptsslot = -1; + tp->t_in_hpts = IHPTS_MOVING; + tp->t_hpts_slot = -1; } - } else if (inp->inp_in_hpts == IHPTS_MOVING) { + } else if (tp->t_in_hpts == IHPTS_MOVING) { /* * Handle a special race condition: * tcp_hptsi() moves inpcb to detached tailq @@ -585,18 +603,11 @@ tcp_hpts_remove(struct inpcb *inp) * tcp_hpts_remove() again (we are here!), then in_pcbdrop() * tcp_hptsi() finds pcb with meaningful slot and INP_DROPPED */ - inp->inp_hptsslot = -1; + tp->t_hpts_slot = -1; } HPTS_UNLOCK(hpts); } -bool -tcp_in_hpts(struct inpcb *inp) -{ - - return (inp->inp_in_hpts == IHPTS_ONQUEUE); -} - static inline int hpts_slot(uint32_t wheel_slot, uint32_t plus) { @@ -762,15 +773,15 @@ max_slots_available(struct tcp_hpts_entry *hpts, uint32_t wheel_slot, uint32_t * #ifdef INVARIANTS static void -check_if_slot_would_be_wrong(struct tcp_hpts_entry *hpts, struct inpcb *inp, uint32_t inp_hptsslot, int line) +check_if_slot_would_be_wrong(struct tcp_hpts_entry *hpts, struct tcpcb *tp, + uint32_t hptsslot, int line) { /* * Sanity checks for the pacer with invariants * on insert. */ - KASSERT(inp_hptsslot < NUM_OF_HPTSI_SLOTS, - ("hpts:%p inp:%p slot:%d > max", - hpts, inp, inp_hptsslot)); + KASSERT(hptsslot < NUM_OF_HPTSI_SLOTS, + ("hpts:%p tp:%p slot:%d > max", hpts, tp, hptsslot)); if ((hpts->p_hpts_active) && (hpts->p_wheel_complete == 0)) { /* @@ -781,22 +792,21 @@ check_if_slot_would_be_wrong(struct tcp_hpts_entry *hpts, struct inpcb *inp, uin */ int distance, yet_to_run; - distance = hpts_slots_diff(hpts->p_runningslot, inp_hptsslot); + distance = hpts_slots_diff(hpts->p_runningslot, hptsslot); if (hpts->p_runningslot != hpts->p_cur_slot) yet_to_run = hpts_slots_diff(hpts->p_runningslot, hpts->p_cur_slot); else yet_to_run = 0; /* processing last slot */ - KASSERT(yet_to_run <= distance, - ("hpts:%p inp:%p slot:%d distance:%d yet_to_run:%d rs:%d cs:%d", - hpts, inp, inp_hptsslot, - distance, yet_to_run, - hpts->p_runningslot, hpts->p_cur_slot)); + KASSERT(yet_to_run <= distance, ("hpts:%p tp:%p slot:%d " + "distance:%d yet_to_run:%d rs:%d cs:%d", hpts, tp, + hptsslot, distance, yet_to_run, hpts->p_runningslot, + hpts->p_cur_slot)); } } #endif uint32_t -tcp_hpts_insert_diag(struct inpcb *inp, uint32_t slot, int32_t line, struct hpts_diag *diag) +tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line, struct hpts_diag *diag) { struct tcp_hpts_entry *hpts; struct timeval tv; @@ -804,16 +814,16 @@ tcp_hpts_insert_diag(struct inpcb *inp, uint32_t slot, int32_t line, struct hpts int32_t wheel_slot, maxslots; bool need_wakeup = false; - INP_WLOCK_ASSERT(inp); - MPASS(!tcp_in_hpts(inp)); - MPASS(!(inp->inp_flags & INP_DROPPED)); + INP_WLOCK_ASSERT(tptoinpcb(tp)); + MPASS(!(tptoinpcb(tp)->inp_flags & INP_DROPPED)); + MPASS(!tcp_in_hpts(tp)); /* * We now return the next-slot the hpts will be on, beyond its * current run (if up) or where it was when it stopped if it is * sleeping. */ - hpts = tcp_hpts_lock(inp); + hpts = tcp_hpts_lock(tp); microuptime(&tv); if (diag) { memset(diag, 0, sizeof(struct hpts_diag)); @@ -830,20 +840,20 @@ tcp_hpts_insert_diag(struct inpcb *inp, uint32_t slot, int32_t line, struct hpts } if (slot == 0) { /* Ok we need to set it on the hpts in the current slot */ - inp->inp_hpts_request = 0; + tp->t_hpts_request = 0; if ((hpts->p_hpts_active == 0) || (hpts->p_wheel_complete)) { /* * A sleeping hpts we want in next slot to run * note that in this state p_prev_slot == p_cur_slot */ - inp->inp_hptsslot = hpts_slot(hpts->p_prev_slot, 1); + tp->t_hpts_slot = hpts_slot(hpts->p_prev_slot, 1); if ((hpts->p_on_min_sleep == 0) && (hpts->p_hpts_active == 0)) need_wakeup = true; } else - inp->inp_hptsslot = hpts->p_runningslot; - if (__predict_true(inp->inp_in_hpts != IHPTS_MOVING)) - inp_hpts_insert(inp, hpts); + tp->t_hpts_slot = hpts->p_runningslot; + if (__predict_true(tp->t_in_hpts != IHPTS_MOVING)) + tcp_hpts_insert_internal(tp, hpts); if (need_wakeup) { /* * Activate the hpts if it is sleeping and its @@ -880,28 +890,28 @@ tcp_hpts_insert_diag(struct inpcb *inp, uint32_t slot, int32_t line, struct hpts */ slot--; } - inp->inp_hptsslot = last_slot; - inp->inp_hpts_request = slot; + tp->t_hpts_slot = last_slot; + tp->t_hpts_request = slot; } else if (maxslots >= slot) { /* It all fits on the wheel */ - inp->inp_hpts_request = 0; - inp->inp_hptsslot = hpts_slot(wheel_slot, slot); + tp->t_hpts_request = 0; + tp->t_hpts_slot = hpts_slot(wheel_slot, slot); } else { /* It does not fit */ - inp->inp_hpts_request = slot - maxslots; - inp->inp_hptsslot = last_slot; + tp->t_hpts_request = slot - maxslots; + tp->t_hpts_slot = last_slot; } if (diag) { - diag->slot_remaining = inp->inp_hpts_request; - diag->inp_hptsslot = inp->inp_hptsslot; + diag->slot_remaining = tp->t_hpts_request; + diag->inp_hptsslot = tp->t_hpts_slot; } #ifdef INVARIANTS - check_if_slot_would_be_wrong(hpts, inp, inp->inp_hptsslot, line); + check_if_slot_would_be_wrong(hpts, tp, tp->t_hpts_slot, line); #endif - if (__predict_true(inp->inp_in_hpts != IHPTS_MOVING)) - inp_hpts_insert(inp, hpts); + if (__predict_true(tp->t_in_hpts != IHPTS_MOVING)) + tcp_hpts_insert_internal(tp, hpts); if ((hpts->p_hpts_active == 0) && - (inp->inp_hpts_request == 0) && + (tp->t_hpts_request == 0) && (hpts->p_on_min_sleep == 0)) { /* * The hpts is sleeping and NOT on a minimum @@ -972,54 +982,35 @@ tcp_hpts_insert_diag(struct inpcb *inp, uint32_t slot, int32_t line, struct hpts return (slot_on); } -uint16_t -hpts_random_cpu(struct inpcb *inp){ - /* - * No flow type set distribute the load randomly. - */ - uint16_t cpuid; - uint32_t ran; - - /* - * Shortcut if it is already set. XXXGL: does it happen? - */ - if (inp->inp_hpts_cpu_set) { - return (inp->inp_hpts_cpu); - } - /* Nothing set use a random number */ - ran = arc4random(); - cpuid = (((ran & 0xffff) % mp_ncpus) % tcp_pace.rp_num_hptss); - return (cpuid); -} - static uint16_t -hpts_cpuid(struct inpcb *inp, int *failed) +hpts_cpuid(struct tcpcb *tp, int *failed) { + struct inpcb *inp = tptoinpcb(tp); u_int cpuid; #ifdef NUMA struct hpts_domain_info *di; #endif *failed = 0; - if (inp->inp_hpts_cpu_set) { - return (inp->inp_hpts_cpu); + if (tp->t_flags2 & TF2_HPTS_CPU_SET) { + return (tp->t_hpts_cpu); } /* * If we are using the irq cpu set by LRO or * the driver then it overrides all other domains. */ if (tcp_use_irq_cpu) { - if (inp->inp_irq_cpu_set == 0) { + if (tp->t_lro_cpu == HPTS_CPU_NONE) { *failed = 1; - return(0); + return (0); } - return(inp->inp_irq_cpu); + return (tp->t_lro_cpu); } /* If one is set the other must be the same */ #ifdef RSS cpuid = rss_hash2cpuid(inp->inp_flowid, inp->inp_flowtype); if (cpuid == NETISR_CPUID_NONE) - return (hpts_random_cpu(inp)); + return (hpts_random_cpu()); else return (cpuid); #endif @@ -1030,7 +1021,7 @@ hpts_cpuid(struct inpcb *inp, int *failed) */ if (inp->inp_flowtype == M_HASHTYPE_NONE) { counter_u64_add(cpu_uses_random, 1); - return (hpts_random_cpu(inp)); + return (hpts_random_cpu()); } /* * Hash to a thread based on the flowid. If we are using numa, @@ -1081,12 +1072,10 @@ static int32_t tcp_hptsi(struct tcp_hpts_entry *hpts, int from_callout) { struct tcpcb *tp; - struct inpcb *inp; struct timeval tv; int32_t slots_to_run, i, error; int32_t loop_cnt = 0; int32_t did_prefetch = 0; - int32_t prefetch_ninp = 0; int32_t prefetch_tp = 0; int32_t wrap_loop_cnt = 0; int32_t slot_pos_of_endpoint = 0; @@ -1154,25 +1143,25 @@ again: * run them, the extra 10usecs of late (by being * put behind) does not really matter in this situation. */ - TAILQ_FOREACH(inp, &hpts->p_hptss[hpts->p_nxt_slot].head, - inp_hpts) { - MPASS(inp->inp_hptsslot == hpts->p_nxt_slot); - MPASS(inp->inp_hpts_gencnt == + TAILQ_FOREACH(tp, &hpts->p_hptss[hpts->p_nxt_slot].head, + t_hpts) { + MPASS(tp->t_hpts_slot == hpts->p_nxt_slot); + MPASS(tp->t_hpts_gencnt == hpts->p_hptss[hpts->p_nxt_slot].gencnt); - MPASS(inp->inp_in_hpts == IHPTS_ONQUEUE); + MPASS(tp->t_in_hpts == IHPTS_ONQUEUE); /* * Update gencnt and nextslot accordingly to match * the new location. This is safe since it takes both * the INP lock and the pacer mutex to change the - * inp_hptsslot and inp_hpts_gencnt. + * t_hptsslot and t_hpts_gencnt. */ - inp->inp_hpts_gencnt = + tp->t_hpts_gencnt = hpts->p_hptss[hpts->p_runningslot].gencnt; - inp->inp_hptsslot = hpts->p_runningslot; + tp->t_hpts_slot = hpts->p_runningslot; } TAILQ_CONCAT(&hpts->p_hptss[hpts->p_runningslot].head, - &hpts->p_hptss[hpts->p_nxt_slot].head, inp_hpts); + &hpts->p_hptss[hpts->p_nxt_slot].head, t_hpts); hpts->p_hptss[hpts->p_runningslot].count += hpts->p_hptss[hpts->p_nxt_slot].count; hpts->p_hptss[hpts->p_nxt_slot].count = 0; @@ -1191,8 +1180,8 @@ again: goto no_one; } for (i = 0; i < slots_to_run; i++) { - struct inpcb *inp, *ninp; - TAILQ_HEAD(, inpcb) head = TAILQ_HEAD_INITIALIZER(head); + struct tcpcb *tp, *ntp; + TAILQ_HEAD(, tcpcb) head = TAILQ_HEAD_INITIALIZER(head); struct hptsh *hptsh; uint32_t runningslot; @@ -1205,20 +1194,54 @@ again: runningslot = hpts->p_runningslot; hptsh = &hpts->p_hptss[runningslot]; - TAILQ_SWAP(&head, &hptsh->head, inpcb, inp_hpts); + TAILQ_SWAP(&head, &hptsh->head, tcpcb, t_hpts); hpts->p_on_queue_cnt -= hptsh->count; hptsh->count = 0; hptsh->gencnt++; HPTS_UNLOCK(hpts); - TAILQ_FOREACH_SAFE(inp, &head, inp_hpts, ninp) { + TAILQ_FOREACH_SAFE(tp, &head, t_hpts, ntp) { + struct inpcb *inp = tptoinpcb(tp); bool set_cpu; - if (ninp != NULL) { - /* We prefetch the next inp if possible */ - kern_prefetch(ninp, &prefetch_ninp); - prefetch_ninp = 1; + if (ntp != NULL) { + /* + * If we have a next tcpcb, see if we can + * prefetch it. Note this may seem + * "risky" since we have no locks (other + * than the previous inp) and there no + * assurance that ntp was not pulled while + * we were processing tp and freed. If this + * occurred it could mean that either: + * + * a) Its NULL (which is fine we won't go + * here) b) Its valid (which is cool we + * will prefetch it) c) The inp got + * freed back to the slab which was + * reallocated. Then the piece of memory was + * re-used and something else (not an + * address) is in inp_ppcb. If that occurs + * we don't crash, but take a TLB shootdown + * performance hit (same as if it was NULL + * and we tried to pre-fetch it). + * + * Considering that the likelyhood of is + * quite rare we will take a risk on doing + * this. If performance drops after testing + * we can always take this out. NB: the + * kern_prefetch on amd64 actually has + * protection against a bad address now via + * the DMAP_() tests. This will prevent the + * TLB hit, and instead if occurs just + * cause us to load cache with a useless + * address (to us). + * + * XXXGL: this comment and the prefetch action + * could be outdated after tp == inp change. + */ + kern_prefetch(ntp, &prefetch_tp); + prefetch_tp = 1; } /* For debugging */ @@ -1232,33 +1255,33 @@ again: } INP_WLOCK(inp); - if (inp->inp_hpts_cpu_set == 0) { + if ((tp->t_flags2 & TF2_HPTS_CPU_SET) == 0) { set_cpu = true; } else { set_cpu = false; } - if (__predict_false(inp->inp_in_hpts == IHPTS_MOVING)) { - if (inp->inp_hptsslot == -1) { - inp->inp_in_hpts = IHPTS_NONE; + if (__predict_false(tp->t_in_hpts == IHPTS_MOVING)) { + if (tp->t_hpts_slot == -1) { + tp->t_in_hpts = IHPTS_NONE; if (in_pcbrele_wlocked(inp) == false) INP_WUNLOCK(inp); } else { HPTS_LOCK(hpts); - inp_hpts_insert(inp, hpts); + tcp_hpts_insert_internal(tp, hpts); HPTS_UNLOCK(hpts); INP_WUNLOCK(inp); } continue; } - MPASS(inp->inp_in_hpts == IHPTS_ONQUEUE); + MPASS(tp->t_in_hpts == IHPTS_ONQUEUE); MPASS(!(inp->inp_flags & INP_DROPPED)); - KASSERT(runningslot == inp->inp_hptsslot, + KASSERT(runningslot == tp->t_hpts_slot, ("Hpts:%p inp:%p slot mis-aligned %u vs %u", - hpts, inp, runningslot, inp->inp_hptsslot)); + hpts, inp, runningslot, tp->t_hpts_slot)); - if (inp->inp_hpts_request) { + if (tp->t_hpts_request) { /* * This guy is deferred out further in time * then our wheel had available on it. @@ -1268,38 +1291,36 @@ again: uint32_t maxslots, last_slot, remaining_slots; remaining_slots = slots_to_run - (i + 1); - if (inp->inp_hpts_request > remaining_slots) { + if (tp->t_hpts_request > remaining_slots) { HPTS_LOCK(hpts); /* * How far out can we go? */ maxslots = max_slots_available(hpts, hpts->p_cur_slot, &last_slot); - if (maxslots >= inp->inp_hpts_request) { + if (maxslots >= tp->t_hpts_request) { /* We can place it finally to * be processed. */ - inp->inp_hptsslot = hpts_slot( + tp->t_hpts_slot = hpts_slot( hpts->p_runningslot, - inp->inp_hpts_request); - inp->inp_hpts_request = 0; + tp->t_hpts_request); + tp->t_hpts_request = 0; } else { /* Work off some more time */ - inp->inp_hptsslot = last_slot; - inp->inp_hpts_request -= + tp->t_hpts_slot = last_slot; + tp->t_hpts_request -= maxslots; } - inp_hpts_insert(inp, hpts); + tcp_hpts_insert_internal(tp, hpts); HPTS_UNLOCK(hpts); INP_WUNLOCK(inp); continue; } - inp->inp_hpts_request = 0; + tp->t_hpts_request = 0; /* Fall through we will so do it now */ } - inp_hpts_release(inp); - tp = intotcpcb(inp); - MPASS(tp); + tcp_hpts_release(tp); if (set_cpu) { /* * Setup so the next time we will move to @@ -1318,7 +1339,7 @@ again: * gets added to the hpts (not this one) * :-) */ - tcp_set_hpts(inp); + tcp_set_hpts(tp); } CURVNET_SET(inp->inp_vnet); /* Lets do any logging that we might want to */ @@ -1331,16 +1352,17 @@ again: did_prefetch = 1; } /* - * We set inp_hpts_calls to 1 before any possible output. - * The contract with the transport is that if it cares about - * hpts calling it should clear the flag. That way next time - * it is called it will know it is hpts. + * We set TF2_HPTS_CALLS before any possible output. + * The contract with the transport is that if it cares + * about hpts calling it should clear the flag. That + * way next time it is called it will know it is hpts. * - * We also only call tfb_do_queued_segments() tcp_output() - * it is expected that if segments are queued and come in that - * the final input mbuf will cause a call to output if it is needed. + * We also only call tfb_do_queued_segments() + * tcp_output(). It is expected that if segments are + * queued and come in that the final input mbuf will + * cause a call to output if it is needed. */ - inp->inp_hpts_calls = 1; + tp->t_flags2 |= TF2_HPTS_CALLS; if ((inp->inp_flags2 & INP_SUPPORTS_MBUFQ) && !STAILQ_EMPTY(&tp->t_inqueue)) { error = (*tp->t_fb->tfb_do_queued_segments)(tp, 0); @@ -1352,44 +1374,6 @@ again: error = tcp_output(tp); if (error < 0) goto skip_pacing; - if (ninp) { - /* - * If we have a nxt inp, see if we can - * prefetch it. Note this may seem - * "risky" since we have no locks (other - * than the previous inp) and there no - * assurance that ninp was not pulled while - * we were processing inp and freed. If this - * occurred it could mean that either: - * - * a) Its NULL (which is fine we won't go - * here) b) Its valid (which is cool we - * will prefetch it) c) The inp got - * freed back to the slab which was - * reallocated. Then the piece of memory was - * re-used and something else (not an - * address) is in inp_ppcb. If that occurs - * we don't crash, but take a TLB shootdown - * performance hit (same as if it was NULL - * and we tried to pre-fetch it). - * - * Considering that the likelyhood of is - * quite rare we will take a risk on doing - * this. If performance drops after testing - * we can always take this out. NB: the - * kern_prefetch on amd64 actually has - * protection against a bad address now via - * the DMAP_() tests. This will prevent the - * TLB hit, and instead if occurs just - * cause us to load cache with a useless - * address (to us). - * - * XXXGL: with tcpcb == inpcb, I'm unsure this - * prefetch is still correct and useful. - */ - kern_prefetch(ninp, &prefetch_tp); - prefetch_tp = 1; - } INP_WUNLOCK(inp); skip_pacing: CURVNET_RESTORE(); @@ -1491,18 +1475,18 @@ no_run: } void -__tcp_set_hpts(struct inpcb *inp, int32_t line) +__tcp_set_hpts(struct tcpcb *tp, int32_t line) { struct tcp_hpts_entry *hpts; int failed; - INP_WLOCK_ASSERT(inp); - hpts = tcp_hpts_lock(inp); - if ((inp->inp_in_hpts == 0) && - (inp->inp_hpts_cpu_set == 0)) { - inp->inp_hpts_cpu = hpts_cpuid(inp, &failed); + INP_WLOCK_ASSERT(tptoinpcb(tp)); + + hpts = tcp_hpts_lock(tp); + if (tp->t_in_hpts == IHPTS_NONE && !(tp->t_flags2 & TF2_HPTS_CPU_SET)) { + tp->t_hpts_cpu = hpts_cpuid(tp, &failed); if (failed == 0) - inp->inp_hpts_cpu_set = 1; + tp->t_flags2 |= TF2_HPTS_CPU_SET; } mtx_unlock(&hpts->p_mtx); } diff --git a/sys/netinet/tcp_hpts.h b/sys/netinet/tcp_hpts.h index 9bceca0fd340..dfa6eaf79bdc 100644 --- a/sys/netinet/tcp_hpts.h +++ b/sys/netinet/tcp_hpts.h @@ -111,10 +111,14 @@ struct hpts_diag { * */ - #ifdef _KERNEL -void tcp_hpts_remove(struct inpcb *); -bool tcp_in_hpts(struct inpcb *); +void tcp_hpts_init(struct tcpcb *); +void tcp_hpts_remove(struct tcpcb *); +static bool +tcp_in_hpts(struct tcpcb *tp) +{ + return (tp->t_in_hpts == IHPTS_ONQUEUE); +} /* * To insert a TCB on the hpts you *must* be holding the @@ -140,20 +144,18 @@ bool tcp_in_hpts(struct inpcb *); * that INP_WLOCK() or from destroying your TCB where again * you should already have the INP_WLOCK(). */ -uint32_t tcp_hpts_insert_diag(struct inpcb *inp, uint32_t slot, int32_t line, +uint32_t tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line, struct hpts_diag *diag); #define tcp_hpts_insert(inp, slot) \ tcp_hpts_insert_diag((inp), (slot), __LINE__, NULL) -void __tcp_set_hpts(struct inpcb *inp, int32_t line); +void __tcp_set_hpts(struct tcpcb *tp, int32_t line); #define tcp_set_hpts(a) __tcp_set_hpts(a, __LINE__) void tcp_set_inp_to_drop(struct inpcb *inp, uint16_t reason); void tcp_run_hpts(void); -uint16_t hpts_random_cpu(struct inpcb *inp); - extern int32_t tcp_min_hptsi_time; #endif /* _KERNEL */ diff --git a/sys/netinet/tcp_lro.c b/sys/netinet/tcp_lro.c index 7cbf535a9263..76c345add1f8 100644 --- a/sys/netinet/tcp_lro.c +++ b/sys/netinet/tcp_lro.c @@ -1380,10 +1380,8 @@ tcp_lro_flush_tcphpts(struct lro_ctrl *lc, struct lro_entry *le) INP_WUNLOCK(inp); return (TCP_LRO_CANNOT); } - if ((inp->inp_irq_cpu_set == 0) && (lc->lro_cpu_is_set == 1)) { - inp->inp_irq_cpu = lc->lro_last_cpu; - inp->inp_irq_cpu_set = 1; - } + if (tp->t_lro_cpu == HPTS_CPU_NONE && lc->lro_cpu_is_set == 1) + tp->t_lro_cpu = lc->lro_last_cpu; /* Check if the transport doesn't support the needed optimizations. */ if ((inp->inp_flags2 & (INP_SUPPORTS_MBUFQ | INP_MBUF_ACKCMP)) == 0) { INP_WUNLOCK(inp); diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c index f5cf362a57dc..f8c7557150dd 100644 --- a/sys/netinet/tcp_stacks/bbr.c +++ b/sys/netinet/tcp_stacks/bbr.c @@ -739,7 +739,7 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_ int32_t delay_calc = 0; uint32_t prev_delay = 0; - if (tcp_in_hpts(inp)) { + if (tcp_in_hpts(tp)) { /* A previous call is already set up */ return; } @@ -904,14 +904,14 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_ inp->inp_flags2 &= ~INP_DONT_SACK_QUEUE; bbr->rc_pacer_started = cts; - (void)tcp_hpts_insert_diag(inp, HPTS_USEC_TO_SLOTS(slot), + (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(slot), __LINE__, &diag); bbr->rc_timer_first = 0; bbr->bbr_timer_src = frm; bbr_log_to_start(bbr, cts, hpts_timeout, slot, 1); bbr_log_hpts_diag(bbr, cts, &diag); } else if (hpts_timeout) { - (void)tcp_hpts_insert_diag(inp, HPTS_USEC_TO_SLOTS(hpts_timeout), + (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(hpts_timeout), __LINE__, &diag); /* * We add the flag here as well if the slot is set, @@ -1050,8 +1050,8 @@ bbr_timer_audit(struct tcpcb *tp, struct tcp_bbr *bbr, uint32_t cts, struct sock */ wrong_timer: if ((bbr->r_ctl.rc_hpts_flags & PACE_PKT_OUTPUT) == 0) { - if (tcp_in_hpts(inp)) *** 791 LINES SKIPPED *** From nobody Tue Apr 25 19:21:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5X1Z4YSyz46bbN; Tue, 25 Apr 2023 19:21: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 4Q5X1Z37GWz4MFN; Tue, 25 Apr 2023 19:21:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682450514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uqC+5AuSWqiZzLpMFMXXPju4IV9YKB8XJsrL9iFwdvM=; b=OrlrYb/Z4fJnXP3X6SPJscS6IR27evs8Pq/fAtwHwirIelFmZlIAfvSiX+0z3OqiU5WLXD rPhgDnYXpnODHc9iuf6iX6xM/hxWXMeI1MPbj/fJFhhnWFKx+ocqOTdDjZa9/mYUBHiZvj AmmdilSdtYa2uyJsv+N/mxHstt67HhPmC2VYQ2U+FFC7Vy60di/9Rpw9TqtW4L/BfEbPNu oTQpjCO4udh1usbhasPyhEuxoFIuj1jRv6yFlRL161plCjvjVwUreJ+QnHdhTogxBmv9m3 8yIYtxj02SxNHXOKQBsCGBg7jul4AeqGtckV3dpPCedGHb5TvJu8b0sGHg2Iyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682450514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uqC+5AuSWqiZzLpMFMXXPju4IV9YKB8XJsrL9iFwdvM=; b=wJcnCY/sYqMUxpOLl5BXGHGSgcCuuWnEWUACzzNrAoEuFyd4M1qxXrCjHPxrZixlYTXExg 1/OOZgxr+ibaUy5+4+VzewUbHXCQAK0VBwm4+KofY8k/Rf5oPI9ZY9Oit0YItJNfTckoPx OI1incb5G+0CHjOnDRvOtz5jSP+3aUDwfvn07uCH0Jp0JAnt4DG0yzDty4aitps7zm8yCp eI6umYptq+qD0wmyFULdXDpGOBLfvyeQ8Qdc4y+20ssuCx1/lE3dRsHHGJnd2/6ev/34Ho p8tgOk6HOnWHL+gX0AIphEz0rEZEMYwWPIPFr4jfqVLt49Fvh4YXeQvRT4Y8dQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682450514; a=rsa-sha256; cv=none; b=fwBXYnFIFLYTEajDvTVsqwvvjJYdAR2q62DWXkTHlKWvPXHBA2ELfyoUrUY+Yvloxb0kwA f7VB27Kb0v0s7NEqhgYbAVRs69FSm3Yj+7kx/yEPz0/5YjsgHIRGX4K4lz47T37PpMptC0 F6uKE44n3IvKFQqaQTzUeOTMPQr/tyF0n+yJJoRDv8jT6bZS5/va1qziSy1pABure0JF6t usXEwd4S0WfIn8Q8oE6JU+lGXOBfbkw2WyxGBszX2wcKeOpRDCFI02L1QrVuTklS9wNbyd AG1pQCH66WsFVKscZU3EtbPZ3RmE88HKtqvSPjdRENwOBQBVc5qX6bImqdDjmg== 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 4Q5X1Z2Dtnz1Js1; Tue, 25 Apr 2023 19:21: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 33PJLs5T023010; Tue, 25 Apr 2023 19:21:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PJLsu1023009; Tue, 25 Apr 2023 19:21:54 GMT (envelope-from git) Date: Tue, 25 Apr 2023 19:21:54 GMT Message-Id: <202304251921.33PJLsu1023009@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: c3c20de3b2d1 - main - tcp: move HPTS/LRO flags out of inpcb to tcpcb List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c3c20de3b2d1357d081ce6c41f15f23cd1020e35 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=c3c20de3b2d1357d081ce6c41f15f23cd1020e35 commit c3c20de3b2d1357d081ce6c41f15f23cd1020e35 Author: Gleb Smirnoff AuthorDate: 2023-04-25 19:19:48 +0000 Commit: Gleb Smirnoff CommitDate: 2023-04-25 19:19:48 +0000 tcp: move HPTS/LRO flags out of inpcb to tcpcb These flags are TCP specific. While here, make also several LRO internal functions to pass tcpcb pointer instead of inpcb one. Reviewed by: rrs Differential Revision: https://reviews.freebsd.org/D39698 --- sys/netinet/in_pcb.h | 12 +++--- sys/netinet/tcp_hpts.c | 2 +- sys/netinet/tcp_lro.c | 69 ++++++++++++++------------------ sys/netinet/tcp_stacks/bbr.c | 35 ++++++++-------- sys/netinet/tcp_stacks/rack.c | 68 +++++++++++++++---------------- sys/netinet/tcp_stacks/rack_bbr_common.c | 4 +- sys/netinet/tcp_subr.c | 14 +++---- sys/netinet/tcp_syncache.c | 2 +- sys/netinet/tcp_var.h | 25 +++++++----- 9 files changed, 112 insertions(+), 119 deletions(-) diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index 62c5758268a7..574d575de8f0 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -593,8 +593,8 @@ int inp_so_options(const struct inpcb *inp); /* * Flags for inp_flags2. */ -#define INP_MBUF_L_ACKS 0x00000001 /* We need large mbufs for ack compression */ -#define INP_MBUF_ACKCMP 0x00000002 /* TCP mbuf ack compression ok */ +/* 0x00000001 */ +/* 0x00000002 */ /* 0x00000004 */ #define INP_REUSEPORT 0x00000008 /* SO_REUSEPORT option is set */ /* 0x00000010 */ @@ -605,11 +605,11 @@ int inp_so_options(const struct inpcb *inp); #define INP_RECVRSSBUCKETID 0x00000200 /* populate recv datagram with bucket id */ #define INP_RATE_LIMIT_CHANGED 0x00000400 /* rate limit needs attention */ #define INP_ORIGDSTADDR 0x00000800 /* receive IP dst address/port */ -#define INP_CANNOT_DO_ECN 0x00001000 /* The stack does not do ECN */ +/* 0x00001000 */ #define INP_REUSEPORT_LB 0x00002000 /* SO_REUSEPORT_LB option is set */ -#define INP_SUPPORTS_MBUFQ 0x00004000 /* Supports the mbuf queue method of LRO */ -#define INP_MBUF_QUEUE_READY 0x00008000 /* The transport is pacing, inputs can be queued */ -#define INP_DONT_SACK_QUEUE 0x00010000 /* If a sack arrives do not wake me */ +/* 0x00004000 */ +/* 0x00008000 */ +/* 0x00010000 */ #define INP_2PCP_SET 0x00020000 /* If the Eth PCP should be set explicitly */ #define INP_2PCP_BIT0 0x00040000 /* Eth PCP Bit 0 */ #define INP_2PCP_BIT1 0x00080000 /* Eth PCP Bit 1 */ diff --git a/sys/netinet/tcp_hpts.c b/sys/netinet/tcp_hpts.c index 59122bb242b9..a10355a38b6f 100644 --- a/sys/netinet/tcp_hpts.c +++ b/sys/netinet/tcp_hpts.c @@ -1363,7 +1363,7 @@ again: * cause a call to output if it is needed. */ tp->t_flags2 |= TF2_HPTS_CALLS; - if ((inp->inp_flags2 & INP_SUPPORTS_MBUFQ) && + if ((tp->t_flags2 & TF2_SUPPORTS_MBUFQ) && !STAILQ_EMPTY(&tp->t_inqueue)) { error = (*tp->t_fb->tfb_do_queued_segments)(tp, 0); if (error) { diff --git a/sys/netinet/tcp_lro.c b/sys/netinet/tcp_lro.c index 76c345add1f8..d76e1e09edd7 100644 --- a/sys/netinet/tcp_lro.c +++ b/sys/netinet/tcp_lro.c @@ -91,7 +91,7 @@ static int tcp_lro_rx_common(struct lro_ctrl *lc, struct mbuf *m, uint32_t csum, bool use_hash); #ifdef TCPHPTS -static bool do_bpf_strip_and_compress(struct inpcb *, struct lro_ctrl *, +static bool do_bpf_strip_and_compress(struct tcpcb *, struct lro_ctrl *, struct lro_entry *, struct mbuf **, struct mbuf **, struct mbuf **, bool *, bool, bool, struct ifnet *, bool); @@ -1192,13 +1192,9 @@ tcp_queue_pkts(struct tcpcb *tp, struct lro_entry *le) } static bool -tcp_lro_check_wake_status(struct inpcb *inp) +tcp_lro_check_wake_status(struct tcpcb *tp) { - struct tcpcb *tp; - tp = intotcpcb(inp); - if (__predict_false(tp == NULL)) - return (true); if (tp->t_fb->tfb_early_wake_check != NULL) return ((tp->t_fb->tfb_early_wake_check)(tp)); return (false); @@ -1206,15 +1202,10 @@ tcp_lro_check_wake_status(struct inpcb *inp) static struct mbuf * tcp_lro_get_last_if_ackcmp(struct lro_ctrl *lc, struct lro_entry *le, - struct inpcb *inp, int32_t *new_m, bool can_append_old_cmp) + struct tcpcb *tp, int32_t *new_m, bool can_append_old_cmp) { - struct tcpcb *tp; struct mbuf *m; - tp = intotcpcb(inp); - if (__predict_false(tp == NULL)) - return (NULL); - /* Look at the last mbuf if any in queue */ if (can_append_old_cmp) { m = STAILQ_LAST(&tp->t_inqueue, mbuf, m_stailqpkt); @@ -1226,13 +1217,13 @@ tcp_lro_get_last_if_ackcmp(struct lro_ctrl *lc, struct lro_entry *le, return (m); } else { /* Mark we ran out of space */ - inp->inp_flags2 |= INP_MBUF_L_ACKS; + tp->t_flags2 |= TF2_MBUF_L_ACKS; } } } /* Decide mbuf size. */ tcp_lro_log(tp, lc, le, NULL, 21, 0, 0, 0, 0); - if (inp->inp_flags2 & INP_MBUF_L_ACKS) + if (tp->t_flags2 & TF2_MBUF_L_ACKS) m = m_getcl(M_NOWAIT, MT_DATA, M_ACKCMP | M_PKTHDR); else m = m_gethdr(M_NOWAIT, MT_DATA); @@ -1248,7 +1239,7 @@ tcp_lro_get_last_if_ackcmp(struct lro_ctrl *lc, struct lro_entry *le, return (m); } -static struct inpcb * +static struct tcpcb * tcp_lro_lookup(struct ifnet *ifp, struct lro_parser *pa) { struct inpcb *inp; @@ -1277,10 +1268,10 @@ tcp_lro_lookup(struct ifnet *ifp, struct lro_parser *pa) break; #endif default: - inp = NULL; - break; + return (NULL); } - return (inp); + + return (intotcpcb(inp)); } static inline bool @@ -1335,7 +1326,6 @@ tcp_lro_ack_valid(struct mbuf *m, struct tcphdr *th, uint32_t **ppts, bool *othe static int tcp_lro_flush_tcphpts(struct lro_ctrl *lc, struct lro_entry *le) { - struct inpcb *inp; struct tcpcb *tp; struct mbuf **pp, *cmp, *mv_to; struct ifnet *lagg_ifp; @@ -1364,31 +1354,28 @@ tcp_lro_flush_tcphpts(struct lro_ctrl *lc, struct lro_entry *le) IN6_IS_ADDR_UNSPECIFIED(&le->inner.data.s_addr.v6))) return (TCP_LRO_CANNOT); #endif - /* Lookup inp, if any. */ - inp = tcp_lro_lookup(lc->ifp, + /* Lookup inp, if any. Returns locked TCP inpcb. */ + tp = tcp_lro_lookup(lc->ifp, (le->inner.data.lro_type == LRO_TYPE_NONE) ? &le->outer : &le->inner); - if (inp == NULL) + if (tp == NULL) return (TCP_LRO_CANNOT); counter_u64_add(tcp_inp_lro_locks_taken, 1); - /* Get TCP control structure. */ - tp = intotcpcb(inp); - /* Check if the inp is dead, Jim. */ if (tp->t_state == TCPS_TIME_WAIT) { - INP_WUNLOCK(inp); + INP_WUNLOCK(tptoinpcb(tp)); return (TCP_LRO_CANNOT); } if (tp->t_lro_cpu == HPTS_CPU_NONE && lc->lro_cpu_is_set == 1) tp->t_lro_cpu = lc->lro_last_cpu; /* Check if the transport doesn't support the needed optimizations. */ - if ((inp->inp_flags2 & (INP_SUPPORTS_MBUFQ | INP_MBUF_ACKCMP)) == 0) { - INP_WUNLOCK(inp); + if ((tp->t_flags2 & (TF2_SUPPORTS_MBUFQ | TF2_MBUF_ACKCMP)) == 0) { + INP_WUNLOCK(tptoinpcb(tp)); return (TCP_LRO_CANNOT); } - if (inp->inp_flags2 & INP_MBUF_QUEUE_READY) + if (tp->t_flags2 & TF2_MBUF_QUEUE_READY) should_wake = false; else should_wake = true; @@ -1411,7 +1398,7 @@ tcp_lro_flush_tcphpts(struct lro_ctrl *lc, struct lro_entry *le) cmp = NULL; for (pp = &le->m_head; *pp != NULL; ) { mv_to = NULL; - if (do_bpf_strip_and_compress(inp, lc, le, pp, + if (do_bpf_strip_and_compress(tp, lc, le, pp, &cmp, &mv_to, &should_wake, bpf_req, lagg_bpf_req, lagg_ifp, can_append_old_cmp) == false) { /* Advance to next mbuf. */ @@ -1444,17 +1431,18 @@ tcp_lro_flush_tcphpts(struct lro_ctrl *lc, struct lro_entry *le) /* Check if any data mbufs left. */ if (le->m_head != NULL) { counter_u64_add(tcp_inp_lro_direct_queue, 1); - tcp_lro_log(tp, lc, le, NULL, 22, 1, inp->inp_flags2, 0, 1); + tcp_lro_log(tp, lc, le, NULL, 22, 1, tp->t_flags2, 0, 1); tcp_queue_pkts(tp, le); } if (should_wake) { /* Wakeup */ counter_u64_add(tcp_inp_lro_wokeup_queue, 1); if ((*tp->t_fb->tfb_do_queued_segments)(tp, 0)) - inp = NULL; + /* TCP cb gone and unlocked. */ + return (0); } - if (inp != NULL) - INP_WUNLOCK(inp); + INP_WUNLOCK(tptoinpcb(tp)); + return (0); /* Success. */ } #endif @@ -1674,7 +1662,7 @@ build_ack_entry(struct tcp_ackent *ae, struct tcphdr *th, struct mbuf *m, * and strip all, but the IPv4/IPv6 header. */ static bool -do_bpf_strip_and_compress(struct inpcb *inp, struct lro_ctrl *lc, +do_bpf_strip_and_compress(struct tcpcb *tp, struct lro_ctrl *lc, struct lro_entry *le, struct mbuf **pp, struct mbuf **cmp, struct mbuf **mv_to, bool *should_wake, bool bpf_req, bool lagg_bpf_req, struct ifnet *lagg_ifp, bool can_append_old_cmp) { @@ -1751,7 +1739,7 @@ do_bpf_strip_and_compress(struct inpcb *inp, struct lro_ctrl *lc, /* Now lets look at the should wake states */ if ((other_opts == true) && - ((inp->inp_flags2 & INP_DONT_SACK_QUEUE) == 0)) { + ((tp->t_flags2 & TF2_DONT_SACK_QUEUE) == 0)) { /* * If there are other options (SACK?) and the * tcp endpoint has not expressly told us it does @@ -1760,13 +1748,13 @@ do_bpf_strip_and_compress(struct inpcb *inp, struct lro_ctrl *lc, *should_wake = true; } else if (*should_wake == false) { /* Wakeup override check if we are false here */ - *should_wake = tcp_lro_check_wake_status(inp); + *should_wake = tcp_lro_check_wake_status(tp); } /* Is the ack compressable? */ if (can_compress == false) goto done; /* Does the TCP endpoint support ACK compression? */ - if ((inp->inp_flags2 & INP_MBUF_ACKCMP) == 0) + if ((tp->t_flags2 & TF2_MBUF_ACKCMP) == 0) goto done; /* Lets get the TOS/traffic class field */ @@ -1785,7 +1773,8 @@ do_bpf_strip_and_compress(struct inpcb *inp, struct lro_ctrl *lc, /* Now lets get space if we don't have some already */ if (*cmp == NULL) { new_one: - nm = tcp_lro_get_last_if_ackcmp(lc, le, inp, &n_mbuf, can_append_old_cmp); + nm = tcp_lro_get_last_if_ackcmp(lc, le, tp, &n_mbuf, + can_append_old_cmp); if (__predict_false(nm == NULL)) goto done; *cmp = nm; @@ -1812,7 +1801,7 @@ new_one: nm = *cmp; if (M_TRAILINGSPACE(nm) < sizeof(struct tcp_ackent)) { /* We ran out of space */ - inp->inp_flags2 |= INP_MBUF_L_ACKS; + tp->t_flags2 |= TF2_MBUF_L_ACKS; goto new_one; } } diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c index f8c7557150dd..5ecb558dadb3 100644 --- a/sys/netinet/tcp_stacks/bbr.c +++ b/sys/netinet/tcp_stacks/bbr.c @@ -891,7 +891,7 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_ * Tell LRO that it can queue packets while * we pace. */ - bbr->rc_inp->inp_flags2 |= INP_MBUF_QUEUE_READY; + bbr->rc_tp->t_flags2 |= TF2_MBUF_QUEUE_READY; if ((bbr->r_ctl.rc_hpts_flags & PACE_TMR_RACK) && (bbr->rc_cwnd_limited == 0)) { /* @@ -899,9 +899,9 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_ * are running a rack timer we put on * the do not disturbe even for sack. */ - inp->inp_flags2 |= INP_DONT_SACK_QUEUE; + tp->t_flags2 |= TF2_DONT_SACK_QUEUE; } else - inp->inp_flags2 &= ~INP_DONT_SACK_QUEUE; + tp->t_flags2 &= ~TF2_DONT_SACK_QUEUE; bbr->rc_pacer_started = cts; (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(slot), @@ -932,12 +932,12 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_ * if a sack arrives as long as we are * not cwnd limited. */ - bbr->rc_inp->inp_flags2 |= INP_MBUF_QUEUE_READY; - inp->inp_flags2 |= INP_DONT_SACK_QUEUE; + tp->t_flags2 |= (TF2_MBUF_QUEUE_READY | + TF2_DONT_SACK_QUEUE); } else { /* All other timers wake us up */ - bbr->rc_inp->inp_flags2 &= ~INP_MBUF_QUEUE_READY; - inp->inp_flags2 &= ~INP_DONT_SACK_QUEUE; + tp->t_flags2 &= ~(TF2_MBUF_QUEUE_READY | + TF2_DONT_SACK_QUEUE); } bbr->bbr_timer_src = frm; bbr_log_to_start(bbr, cts, hpts_timeout, slot, 0); @@ -2498,7 +2498,7 @@ bbr_log_to_start(struct tcp_bbr *bbr, uint32_t cts, uint32_t to, int32_t slot, u log.u_bbr.flex4 = slot; log.u_bbr.flex5 = bbr->rc_tp->t_hpts_slot; log.u_bbr.flex6 = TICKS_2_USEC(bbr->rc_tp->t_rxtcur); - log.u_bbr.pkts_out = bbr->rc_inp->inp_flags2; + log.u_bbr.pkts_out = bbr->rc_tp->t_flags2; log.u_bbr.flex8 = which; TCP_LOG_EVENTP(bbr->rc_tp, NULL, &bbr->rc_inp->inp_socket->so_rcv, @@ -9940,13 +9940,13 @@ bbr_init(struct tcpcb *tp, void **ptr) } bbr = (struct tcp_bbr *)*ptr; bbr->rtt_valid = 0; - inp->inp_flags2 |= INP_CANNOT_DO_ECN; - inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; + tp->t_flags2 |= TF2_CANNOT_DO_ECN; + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; /* Take off any undesired flags */ - inp->inp_flags2 &= ~INP_MBUF_QUEUE_READY; - inp->inp_flags2 &= ~INP_DONT_SACK_QUEUE; - inp->inp_flags2 &= ~INP_MBUF_ACKCMP; - inp->inp_flags2 &= ~INP_MBUF_L_ACKS; + tp->t_flags2 &= ~TF2_MBUF_QUEUE_READY; + tp->t_flags2 &= ~TF2_DONT_SACK_QUEUE; + tp->t_flags2 &= ~TF2_MBUF_ACKCMP; + tp->t_flags2 &= ~TF2_MBUF_L_ACKS; TAILQ_INIT(&bbr->r_ctl.rc_map); TAILQ_INIT(&bbr->r_ctl.rc_free); @@ -12046,7 +12046,7 @@ bbr_output_wtime(struct tcpcb *tp, const struct timeval *tv) return (retval < 0 ? retval : 0); } } - bbr->rc_inp->inp_flags2 &= ~INP_MBUF_QUEUE_READY; + bbr->rc_tp->t_flags2 &= ~TF2_MBUF_QUEUE_READY; if (hpts_calling && (bbr->r_ctl.rc_hpts_flags & PACE_PKT_OUTPUT)) { bbr->r_ctl.rc_last_delay_val = 0; @@ -14078,15 +14078,14 @@ bbr_switch_failed(struct tcpcb *tp) * pacer (if our flags are up) if so we are good, if * not we need to get back into the pacer. */ - struct inpcb *inp = tptoinpcb(tp); struct timeval tv; uint32_t cts; uint32_t toval; struct tcp_bbr *bbr; struct hpts_diag diag; - inp->inp_flags2 |= INP_CANNOT_DO_ECN; - inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; + tp->t_flags2 |= TF2_CANNOT_DO_ECN; + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; tcp_change_time_units(tp, TCP_TMR_GRANULARITY_TICKS); if (tp->t_in_hpts > IHPTS_NONE) { return; diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index 9e531a1d3182..44606c287f25 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -6822,12 +6822,12 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts, * are not on then these flags won't have any effect since it * won't go through the queuing LRO path). * - * INP_MBUF_QUEUE_READY - This flags says that I am busy + * TF2_MBUF_QUEUE_READY - This flags says that I am busy * pacing output, so don't disturb. But * it also means LRO can wake me if there * is a SACK arrival. * - * INP_DONT_SACK_QUEUE - This flag is used in conjunction + * TF2_DONT_SACK_QUEUE - This flag is used in conjunction * with the above flag (QUEUE_READY) and * when present it says don't even wake me * if a SACK arrives. @@ -6842,7 +6842,7 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts, * Other cases should usually have none of the flags set * so LRO can call into us. */ - inp->inp_flags2 &= ~(INP_DONT_SACK_QUEUE|INP_MBUF_QUEUE_READY); + tp->t_flags2 &= ~(TF2_DONT_SACK_QUEUE|TF2_MBUF_QUEUE_READY); if (slot) { rack->r_ctl.rc_hpts_flags |= PACE_PKT_OUTPUT; rack->r_ctl.rc_last_output_to = us_cts + slot; @@ -6854,7 +6854,7 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts, * will be effective if mbuf queueing is on or * compressed acks are being processed. */ - inp->inp_flags2 |= INP_MBUF_QUEUE_READY; + tp->t_flags2 |= TF2_MBUF_QUEUE_READY; /* * But wait if we have a Rack timer running * even a SACK should not disturb us (with @@ -6862,7 +6862,7 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts, */ if (rack->r_ctl.rc_hpts_flags & PACE_TMR_RACK) { if (rack->r_rr_config != 3) - inp->inp_flags2 |= INP_DONT_SACK_QUEUE; + tp->t_flags2 |= TF2_DONT_SACK_QUEUE; else if (rack->rc_pace_dnd) { if (IN_RECOVERY(tp->t_flags)) { /* @@ -6873,13 +6873,14 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts, * and let all sacks wake us up. * */ - inp->inp_flags2 |= INP_DONT_SACK_QUEUE; + tp->t_flags2 |= TF2_DONT_SACK_QUEUE; } } } /* For sack attackers we want to ignore sack */ if (rack->sack_attack_disable == 1) { - inp->inp_flags2 |= (INP_DONT_SACK_QUEUE|INP_MBUF_QUEUE_READY); + tp->t_flags2 |= (TF2_DONT_SACK_QUEUE | + TF2_MBUF_QUEUE_READY); } else if (rack->rc_ack_can_sendout_data) { /* * Ahh but wait, this is that special case @@ -6887,7 +6888,8 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts, * backout the changes (used for non-paced * burst limiting). */ - inp->inp_flags2 &= ~(INP_DONT_SACK_QUEUE|INP_MBUF_QUEUE_READY); + tp->t_flags2 &= ~(TF2_DONT_SACK_QUEUE | + TF2_MBUF_QUEUE_READY); } if ((rack->use_rack_rr) && (rack->r_rr_config < 2) && @@ -6908,7 +6910,7 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts, } } else if (hpts_timeout) { /* - * With respect to inp_flags2 here, lets let any new acks wake + * With respect to t_flags2(?) here, lets let any new acks wake * us up here. Since we are not pacing (no pacing timer), output * can happen so we should let it. If its a Rack timer, then any inbound * packet probably won't change the sending (we will be blocked) @@ -8036,7 +8038,7 @@ rack_process_timers(struct tcpcb *tp, struct tcp_rack *rack, uint32_t cts, uint8 * no-sack wakeup on since we no longer have a PKT_OUTPUT * flag in place. */ - rack->rc_inp->inp_flags2 &= ~INP_DONT_SACK_QUEUE; + rack->rc_tp->t_flags2 &= ~TF2_DONT_SACK_QUEUE; ret = -3; left = rack->r_ctl.rc_timer_exp - cts; tcp_hpts_insert(tp, HPTS_MS_TO_SLOTS(left)); @@ -14566,9 +14568,8 @@ rack_switch_failed(struct tcpcb *tp) * This method gets called if a stack switch was * attempted and it failed. We are left * but our hpts timers were stopped and we - * need to validate time units and inp_flags2. + * need to validate time units and t_flags2. */ - struct inpcb *inp = tptoinpcb(tp); struct tcp_rack *rack; struct timeval tv; uint32_t cts; @@ -14578,11 +14579,11 @@ rack_switch_failed(struct tcpcb *tp) rack = (struct tcp_rack *)tp->t_fb_ptr; tcp_change_time_units(tp, TCP_TMR_GRANULARITY_USEC); if (rack->r_mbuf_queue || rack->rc_always_pace || rack->r_use_cmp_ack) - inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; else - inp->inp_flags2 &= ~INP_SUPPORTS_MBUFQ; + tp->t_flags2 &= ~TF2_SUPPORTS_MBUFQ; if (rack->r_use_cmp_ack && TCPS_HAVEESTABLISHED(tp->t_state)) - rack->rc_inp->inp_flags2 |= INP_MBUF_ACKCMP; + tp->t_flags2 |= TF2_MBUF_ACKCMP; if (tp->t_in_hpts > IHPTS_NONE) { /* Strange */ return; @@ -15089,13 +15090,13 @@ rack_init(struct tcpcb *tp, void **ptr) } } rack_stop_all_timers(tp, rack); - /* Setup all the inp_flags2 */ + /* Setup all the t_flags2 */ if (rack->r_mbuf_queue || rack->rc_always_pace || rack->r_use_cmp_ack) - tptoinpcb(tp)->inp_flags2 |= INP_SUPPORTS_MBUFQ; + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; else - tptoinpcb(tp)->inp_flags2 &= ~INP_SUPPORTS_MBUFQ; + tp->t_flags2 &= ~TF2_SUPPORTS_MBUFQ; if (rack->r_use_cmp_ack && TCPS_HAVEESTABLISHED(tp->t_state)) - rack->rc_inp->inp_flags2 |= INP_MBUF_ACKCMP; + tp->t_flags2 |= TF2_MBUF_ACKCMP; /* * Timers in Rack are kept in microseconds so lets * convert any initial incoming variables @@ -15417,7 +15418,7 @@ rack_set_state(struct tcpcb *tp, struct tcp_rack *rack) break; }; if (rack->r_use_cmp_ack && TCPS_HAVEESTABLISHED(tp->t_state)) - rack->rc_inp->inp_flags2 |= INP_MBUF_ACKCMP; + rack->rc_tp->t_flags2 |= TF2_MBUF_ACKCMP; } @@ -16528,7 +16529,7 @@ rack_do_segment_nounlock(struct tcpcb *tp, struct mbuf *m, struct tcphdr *th, * so should process the packets. */ slot_remaining = rack->r_ctl.rc_last_output_to - us_cts; - if (rack->rc_inp->inp_flags2 & INP_DONT_SACK_QUEUE) { + if (rack->rc_tp->t_flags2 & TF2_DONT_SACK_QUEUE) { no_output = 1; } else { /* @@ -22410,7 +22411,7 @@ rack_set_dgp(struct tcp_rack *rack) rack->use_fixed_rate = 0; if (rack->gp_ready) rack_set_cc_pacing(rack); - rack->rc_inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; + rack->rc_tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; rack->rack_attempt_hdwr_pace = 0; /* rxt settings */ rack->full_size_rxt = 1; @@ -22419,7 +22420,7 @@ rack_set_dgp(struct tcp_rack *rack) rack->r_use_cmp_ack = 1; if (TCPS_HAVEESTABLISHED(rack->rc_tp->t_state) && rack->r_use_cmp_ack) - rack->rc_inp->inp_flags2 |= INP_MBUF_ACKCMP; + rack->rc_tp->t_flags2 |= TF2_MBUF_ACKCMP; /* scwnd=1 */ rack->rack_enable_scwnd = 1; /* dynamic=100 */ @@ -22536,11 +22537,11 @@ rack_set_profile(struct tcp_rack *rack, int prof) if (rack_enable_mqueue_for_nonpaced || rack->r_use_cmp_ack) { rack->r_mbuf_queue = 1; if (TCPS_HAVEESTABLISHED(rack->rc_tp->t_state)) - rack->rc_inp->inp_flags2 |= INP_MBUF_ACKCMP; - rack->rc_inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; + rack->rc_tp->t_flags2 |= TF2_MBUF_ACKCMP; + rack->rc_tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; } else { rack->r_mbuf_queue = 0; - rack->rc_inp->inp_flags2 &= ~INP_SUPPORTS_MBUFQ; + rack->rc_tp->t_flags2 &= ~TF2_SUPPORTS_MBUFQ; } if (rack_enable_shared_cwnd) rack->rack_enable_scwnd = 1; @@ -22687,7 +22688,6 @@ rack_process_option(struct tcpcb *tp, struct tcp_rack *rack, int sopt_name, struct epoch_tracker et; struct sockopt sopt; struct cc_newreno_opts opt; - struct inpcb *inp = tptoinpcb(tp); uint64_t val; int error = 0; uint16_t ca, ss; @@ -22865,16 +22865,16 @@ rack_process_option(struct tcpcb *tp, struct tcp_rack *rack, int sopt_name, break; case TCP_USE_CMP_ACKS: RACK_OPTS_INC(tcp_use_cmp_acks); - if ((optval == 0) && (rack->rc_inp->inp_flags2 & INP_MBUF_ACKCMP)) { + if ((optval == 0) && (tp->t_flags2 & TF2_MBUF_ACKCMP)) { /* You can't turn it off once its on! */ error = EINVAL; } else if ((optval == 1) && (rack->r_use_cmp_ack == 0)) { rack->r_use_cmp_ack = 1; rack->r_mbuf_queue = 1; - inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; } if (rack->r_use_cmp_ack && TCPS_HAVEESTABLISHED(tp->t_state)) - inp->inp_flags2 |= INP_MBUF_ACKCMP; + tp->t_flags2 |= TF2_MBUF_ACKCMP; break; case TCP_SHARED_CWND_TIME_LIMIT: RACK_OPTS_INC(tcp_lscwnd); @@ -22937,9 +22937,9 @@ rack_process_option(struct tcpcb *tp, struct tcp_rack *rack, int sopt_name, else rack->r_mbuf_queue = 0; if (rack->r_mbuf_queue || rack->rc_always_pace || rack->r_use_cmp_ack) - inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; else - inp->inp_flags2 &= ~INP_SUPPORTS_MBUFQ; + tp->t_flags2 &= ~TF2_SUPPORTS_MBUFQ; break; case TCP_RACK_NONRXT_CFG_RATE: RACK_OPTS_INC(tcp_rack_cfg_rate); @@ -23022,9 +23022,9 @@ rack_process_option(struct tcpcb *tp, struct tcp_rack *rack, int sopt_name, } } if (rack->r_mbuf_queue || rack->rc_always_pace || rack->r_use_cmp_ack) - inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; else - inp->inp_flags2 &= ~INP_SUPPORTS_MBUFQ; + tp->t_flags2 &= ~TF2_SUPPORTS_MBUFQ; /* A rate may be set irate or other, if so set seg size */ rack_update_seg(rack); break; diff --git a/sys/netinet/tcp_stacks/rack_bbr_common.c b/sys/netinet/tcp_stacks/rack_bbr_common.c index 91bf32159004..625825fc7ed6 100644 --- a/sys/netinet/tcp_stacks/rack_bbr_common.c +++ b/sys/netinet/tcp_stacks/rack_bbr_common.c @@ -445,8 +445,8 @@ skip_vnet: * been compressed. We assert the inp has * the flag set to enable this! */ - KASSERT((inp->inp_flags2 & INP_MBUF_ACKCMP), - ("tp:%p inp:%p no INP_MBUF_ACKCMP flags?", tp, inp)); + KASSERT((tp->t_flags2 & TF2_MBUF_ACKCMP), + ("tp:%p no TF2_MBUF_ACKCMP flags?", tp)); tlen = 0; drop_hdrlen = 0; th = NULL; diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 40dd9b7f3aa9..a8a896b7ebe6 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -1073,7 +1073,7 @@ tcp_default_fb_init(struct tcpcb *tp, void **ptr) /* Make sure we get no interesting mbuf queuing behavior */ /* All mbuf queue/ack compress flags should be off */ - tcp_lro_features_off(tptoinpcb(tp)); + tcp_lro_features_off(tp); /* Cancel the GP measurement in progress */ tp->t_flags &= ~TF_GPUTINPROG; @@ -2270,7 +2270,7 @@ tcp_newtcpcb(struct inpcb *inp) V_tcp_mssdflt; /* All mbuf queue/ack compress flags should be off */ - tcp_lro_features_off(tptoinpcb(tp)); + tcp_lro_features_off(tp); callout_init_rw(&tp->t_callout, &inp->inp_lock, CALLOUT_RETURNUNLOCKED); for (int i = 0; i < TT_N; i++) @@ -4051,14 +4051,14 @@ tcp_default_switch_failed(struct tcpcb *tp) /* * If a switch fails we only need to * care about two things: - * a) The inp_flags2 + * a) The t_flags2 * and * b) The timer granularity. * Timeouts, at least for now, don't use the * old callout system in the other stacks so * those are hopefully safe. */ - tcp_lro_features_off(tptoinpcb(tp)); + tcp_lro_features_off(tp); tcp_change_time_units(tp, TCP_TMR_GRANULARITY_TICKS); } @@ -4236,15 +4236,15 @@ tcp_handle_orphaned_packets(struct tcpcb *tp) /* * Called when a stack switch is occuring from the fini() * of the old stack. We assue the init() as already been - * run of the new stack and it has set the inp_flags2 to + * run of the new stack and it has set the t_flags2 to * what it supports. This function will then deal with any * differences i.e. cleanup packets that maybe queued that * the newstack does not support. */ - if (tptoinpcb(tp)->inp_flags2 & INP_MBUF_L_ACKS) + if (tp->t_flags2 & TF2_MBUF_L_ACKS) return; - if ((tptoinpcb(tp)->inp_flags2 & INP_SUPPORTS_MBUFQ) == 0 && + if ((tp->t_flags2 & TF2_SUPPORTS_MBUFQ) == 0 && !STAILQ_EMPTY(&tp->t_inqueue)) { /* * It is unsafe to process the packets since a diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 5f4bae92974e..54a347c2669e 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1724,7 +1724,7 @@ skip_alloc: if (ltflags & TF_NOOPT) sc->sc_flags |= SCF_NOOPT; /* ECN Handshake */ - if (V_tcp_do_ecn && (inp->inp_flags2 & INP_CANNOT_DO_ECN) == 0) + if (V_tcp_do_ecn && (tp->t_flags2 & TF2_CANNOT_DO_ECN) == 0) sc->sc_flags |= tcp_ecn_syncache_add(tcp_get_flags(th), iptos); if (V_tcp_syncookies) diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index a3016a143b93..a8bd6f8732cc 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -677,16 +677,6 @@ tcp_output(struct tcpcb *tp) return (rv); } -static inline void -tcp_lro_features_off(struct inpcb *inp) -{ - inp->inp_flags2 &= ~(INP_SUPPORTS_MBUFQ| - INP_MBUF_QUEUE_READY| - INP_DONT_SACK_QUEUE| - INP_MBUF_ACKCMP| - INP_MBUF_L_ACKS); -} - /* * tcp_output_unlock() * Always returns unlocked, handles drop request from advanced stacks. @@ -853,6 +843,12 @@ tcp_packets_this_ack(struct tcpcb *tp, tcp_seq ack) #define TF2_ECN_USE_ECT1 0x00000800 /* Use ECT(1) marking on session */ #define TF2_TCP_ACCOUNTING 0x00001000 /* Do TCP accounting */ #define TF2_HPTS_CALLS 0x00002000 /* tcp_output() called via HPTS */ +#define TF2_MBUF_L_ACKS 0x00004000 /* large mbufs for ack compression */ +#define TF2_MBUF_ACKCMP 0x00008000 /* mbuf ack compression ok */ +#define TF2_SUPPORTS_MBUFQ 0x00010000 /* Supports the mbuf queue method */ +#define TF2_MBUF_QUEUE_READY 0x00020000 /* Inputs can be queued */ +#define TF2_DONT_SACK_QUEUE 0x00040000 /* Don't wake on sack */ +#define TF2_CANNOT_DO_ECN 0x00080000 /* The stack does not do ECN */ /* * Structure to hold TCP options that are only used during segment @@ -1543,6 +1539,15 @@ tcp_http_alloc_req_full(struct tcpcb *tp, struct http_req *req, uint64_t ts, int int tcp_do_ack_accounting(struct tcpcb *tp, struct tcphdr *th, struct tcpopt *to, uint32_t tiwin, int mss); #endif +static inline void +tcp_lro_features_off(struct tcpcb *tp) +{ + tp->t_flags2 &= ~(TF2_SUPPORTS_MBUFQ| + TF2_MBUF_QUEUE_READY| + TF2_DONT_SACK_QUEUE| + TF2_MBUF_ACKCMP| + TF2_MBUF_L_ACKS); +} static inline void tcp_fields_to_host(struct tcphdr *th) From nobody Tue Apr 25 20:23:38 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5YNp225jz46g29; Tue, 25 Apr 2023 20:23: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 4Q5YNp1WKBz3DwN; Tue, 25 Apr 2023 20:23:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682454218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rJktm9YvV7vif+joMG658SMtmLeZhRg0oeN/ANE3KLY=; b=YyWMjBkd6oWFm5rXcROWDBwahIRaZ/qFiko/hecY4egsrrbVhVCnZW+0BHpW48/xdzR8xH 2g+y5IisZf0QSvDhhIn+TEbpT6L/AETQ5LH6NysDabQm0GZeQlxCWJ7jX5l4l7qELe5sb1 /SknczU3mnb4sq26wq5mFbACi6QNwGtFcWUg/jIM4l307noeKnb9VaBnEJB5/jGOqD5b28 hpzzVlcRPIl0/sVuGeH9cN12YfSEzYSoBfa3LuLAkpM9crHhjJRvpW863XDf+ALjqLs4Wg pReMNJJKi2kNR6Z8JTjpS+ChH7oxMPHVY8gxmfO/KeP2uF9Yj1ky2ktRvndNQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682454218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rJktm9YvV7vif+joMG658SMtmLeZhRg0oeN/ANE3KLY=; b=mHiLU3sObqZa4htR5zMl/G4JfmT86hyzJI5gjAuiVbMQrYNbvtJkPDo0C5UM/F8i8Igfe8 aZbA/Xe7ehTnn4VXcKNFeGzJcP4DhQikHkDNK+ffZxbqajTyKhh6X7NBovz8QPrfEZwluZ uONInhqjCia6GXvJjzM8AeNetMxV1dEGKaB48FteQVrepkNh3EvhVBnJ5nxAjYdVPGLzve 49vIaJKcl+AKLvyjGpQCe6EfhONVeXEJk3leVzj7mRWn2KiLiHNXCkqI3PhnJIPvNvSYXx etPhVRXUuPKGxWKV6wySTKvYFGuoCSNAJQb8/UofER0fQ56kYiPHmhU/cu9cSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682454218; a=rsa-sha256; cv=none; b=vaoXp0yeyR+ihFyk3jYpVTtdTcJrYv6kALfmt+OooqaseaKHp34PwEiFFD9uJwy35++nfO YsJDwLjOdaf+jE1jBGOPRl0dk0omKRFtvSM/XKDBl3sycqEYa/izafE7G3BaqCXOzi1rfY TM28Ban91Iywa/z7l8lcOugpPFIGpZdgW3hHuA/kXo2sO+CaiRKsuxxpxBHx1Y0Fu/OBF0 s70hkhxLENrlONUXDZyzTQT7i0AFESm3BggQZVK04cMGDAmkH4vvZKNcQyn0gshoQ7U9QA JYaTuoVfZmfl3TOQrB/kK5EnsWhg7r6XBowitvVnEbasX03suFpHCXnocpboHg== 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 4Q5YNp0bpvz1LSP; Tue, 25 Apr 2023 20:23:38 +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 33PKNcml025532; Tue, 25 Apr 2023 20:23:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PKNc0S025531; Tue, 25 Apr 2023 20:23:38 GMT (envelope-from git) Date: Tue, 25 Apr 2023 20:23:38 GMT Message-Id: <202304252023.33PKNc0S025531@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 5b61ad4b005d - main - arm64/disassem.c: style and formatting List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5b61ad4b005d73b497537fcb41e3557314d18ddd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=5b61ad4b005d73b497537fcb41e3557314d18ddd commit 5b61ad4b005d73b497537fcb41e3557314d18ddd Author: Mykola Hohsadze AuthorDate: 2023-04-18 15:50:33 +0000 Commit: Mitchell Horne CommitDate: 2023-04-25 20:23:15 +0000 arm64/disassem.c: style and formatting Reviewed by: mhorne MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D38899 --- sys/arm64/arm64/disassem.c | 75 +++++++++++++++++++++++++++++----------------- 1 file changed, 48 insertions(+), 27 deletions(-) diff --git a/sys/arm64/arm64/disassem.c b/sys/arm64/arm64/disassem.c index ce0bf7660b02..681164011b40 100644 --- a/sys/arm64/arm64/disassem.c +++ b/sys/arm64/arm64/disassem.c @@ -28,11 +28,13 @@ #include __FBSDID("$FreeBSD$"); -#include +#include #include -#include + #include +#include + #include #define ARM64_MAX_TOKEN_LEN 8 @@ -82,12 +84,21 @@ struct arm64_insn_token { * Define generic types for instruction printing. */ enum arm64_format_type { - TYPE_01, /* OP , , {, #} SF32/64 - OP , , #{, } SF32/64 */ - TYPE_02, /* OP , [, #]{!}] SF32/64 - OP , [], #{!} SF32/64 - OP , , {, EXTEND AMOUNT } */ - TYPE_03, /* OP , #imm SF32/64 */ + /* + * OP , , {, #imm} SF32/64 + * OP , , #{, } SF32/64 + */ + TYPE_01, + + /* + * OP , [, #]{!} SF32/64 + * OP , [], #{!} SF32/64 + * OP , , {, EXTEND AMOUNT } + */ + TYPE_02, + + /* OP , #imm SF32/64 */ + TYPE_03, }; /* @@ -101,8 +112,8 @@ enum arm64_format_type { * tokens - array of tokens (operands) inside instruction */ struct arm64_insn { - char* name; - char* format; + char *name; + char *format; enum arm64_format_type type; uint64_t special_ops; uint32_t mask; @@ -202,7 +213,7 @@ arm64_disasm_generate_masks(struct arm64_insn *tab) */ a = (INSN_SIZE * NBBY) - 1; while (*format != '\0' && (a >= 0)) { - switch(*format) { + switch (*format) { case '0': /* Bit is 0, add to mask and pattern */ mask |= (1 << a); @@ -230,7 +241,8 @@ arm64_disasm_generate_masks(struct arm64_insn *tab) i++; format++; if (i >= ARM64_MAX_TOKEN_LEN) { - printf("ERROR: token too long in op %s\n", + printf("ERROR: " + "token too long in op %s\n", tab->name); error = 1; break; @@ -243,7 +255,8 @@ arm64_disasm_generate_masks(struct arm64_insn *tab) ret = sscanf(format, "(%d)", &len); if (ret == 1) { if (token >= ARM64_MAX_TOKEN_CNT) { - printf("ERROR: to many tokens in op %s\n", + printf("ERROR: " + "too many tokens in op %s\n", tab->name); error = 1; break; @@ -357,7 +370,7 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) while (i_ptr->name) { /* If mask is 0 then the parser was not initialized yet */ if ((i_ptr->mask != 0) && - ((insn & i_ptr->mask) == i_ptr->pattern)) { + ((insn & i_ptr->mask) == i_ptr->pattern)) { matchp = 1; break; } @@ -388,14 +401,17 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) /* Print opcode by type */ switch (i_ptr->type) { case TYPE_01: - /* OP , , {, #} SF32/64 - OP , , #{, } SF32/64 */ + /* + * OP , , {, #} SF32/64 + * OP , , #{, } SF32/64 + */ /* Mandatory tokens */ ret = arm64_disasm_read_token(i_ptr, insn, "RD", &rd); ret |= arm64_disasm_read_token(i_ptr, insn, "RN", &rn); if (ret != 0) { - printf("ERROR: Missing mandatory token for op %s type %d\n", + printf("ERROR: " + "Missing mandatory token for op %s type %d\n", i_ptr->name, i_ptr->type); goto undefined; } @@ -420,15 +436,18 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) } break; case TYPE_02: - /* OP , [, #]{!}] SF32/64 - OP , [], #{!} SF32/64 - OP , , {, EXTEND AMOUNT } */ + /* + * OP , [, #]{!}] SF32/64 + * OP , [], #{!} SF32/64 + * OP , , {, EXTEND AMOUNT } + */ /* Mandatory tokens */ ret = arm64_disasm_read_token(i_ptr, insn, "RT", &rt); ret |= arm64_disasm_read_token(i_ptr, insn, "RN", &rn); if (ret != 0) { - printf("ERROR: Missing mandatory token for op %s type %d\n", + printf("ERROR: " + "Missing mandatory token for op %s type %d\n", i_ptr->name, i_ptr->type); goto undefined; } @@ -464,7 +483,8 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) break; } - di->di_printf("%s\t%s, ", i_ptr->name, arm64_reg(sf, rt)); + di->di_printf("%s\t%s, ", i_ptr->name, + arm64_reg(sf, rt)); if (inside != 0) { di->di_printf("[%s", arm64_reg(1, rn)); if (imm != 0) @@ -516,7 +536,8 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) /* Mandatory tokens */ ret = arm64_disasm_read_token(i_ptr, insn, "RT", &rt); if (ret != 0) { - printf("ERROR: Missing mandatory token for op %s type %d\n", + printf("ERROR: " + "Missing mandatory token for op %s type %d\n", i_ptr->name, i_ptr->type); goto undefined; } @@ -533,13 +554,13 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) } di->di_printf("\n"); - return(loc + INSN_SIZE); + return (loc + INSN_SIZE); undefined: di->di_printf("undefined\t%08x\n", insn); - return(loc + INSN_SIZE); + return (loc + INSN_SIZE); } /* Parse format strings at the very beginning */ -SYSINIT(arm64_disasm_generate_masks, SI_SUB_DDB_SERVICES, - SI_ORDER_FIRST, arm64_disasm_generate_masks, arm64_i); +SYSINIT(arm64_disasm_generate_masks, SI_SUB_DDB_SERVICES, SI_ORDER_FIRST, + arm64_disasm_generate_masks, arm64_i); From nobody Tue Apr 25 20:23:39 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5YNq3jvkz46g4k; Tue, 25 Apr 2023 20:23: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 4Q5YNq2jmkz3F02; Tue, 25 Apr 2023 20:23:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682454219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hXZ4056Ol8zypeBGfCvPK8K2L698L2MTT76Wkw4cGe0=; b=wRpu9k4zrCXGReDfQUjWG+er6xz4BLaqHavOqVCrf42LyCR+z0xZI8X9UCAeuSYMQl+pU7 AXEXT8th7cFxbTlkvGnr6DAGKCo3OVNnwdmkzJlhcDCqwYligi/FmPsdgPCw5eh7g2IbmT nUPs2MLH5oP7n+SvMY4z3FyVrGFWDuzrBAZHF4Y3W+DnSag7ECF+p6HmDtNgaI4SmsS8BU JrR0hO8oxg/ezctW6xCbOACQg5Sz9kRxYwZms/iRKoo0LfMxo6OIxh75wKvRmdPKXDAjrm RMz10H4bgAPl9H2XK35cKfFqfpm7gm2GkCTI5Z05M6uXcMrbXQjtXzXGtj2zGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682454219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hXZ4056Ol8zypeBGfCvPK8K2L698L2MTT76Wkw4cGe0=; b=PSOKw63lRfjh3uikM01bWcqzOfM2SLgG8kR1Uu0CZPyp+MAD76C9Mx/K0Dpg/aLAK4Zc1G mPDyLpPgoLDSpyWHtW0GPYZuiEmnZXy7D+3LoZg8VhwCv0dknpijJzIeCHx5npuVsefkZF tLwiE86BU5XNrkPCBIZgAbhJZQ6n0YNGY9co8YbQpyYT2g70wnVH1D0uxVUKcHslJT/n7r /TIb6tQFsuMhHQfT/WefWwrK2LWH3sn5feC3mkldCnk4AXjJISrwYyJBXh3M63NRifhdoQ UqIEDLTjO1V0yXBu3Fm+30N9TvflZszTUNb6orsF6tJr5F3nzKg7+zMofrm6JQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682454219; a=rsa-sha256; cv=none; b=XzqiqWaZi/wEIwvZiPRFFSPUQAS4JiInBUQ1D589DRlPWqpHFiJwQTlxewXHx4L8itHRrI nAbP4Q85rMtIGtcbqVG+ZcqhlG3gclbYoRt4fTGuRpV1o7sDSgv9NGw2dvZq+i45/PXsZM +2gm8fuwYJLUGouPcBji4NbRs1TPTGj1dUFKFYHuf0oYpszuEIwBNh9dMjea4C4BBPsGJt od1aAgyGce7d72+Q8IZmYn8xCoenocohhGiTZDm6IthlwcDqnJlZj1q6EvyZWOr0owF51/ avXSSnvjlXmeqRwBAQE61GsX4G2DeuCDCSJSx/zK6K9PBCO+NDTdqx6GYCugXA== 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 4Q5YNq1nBSz1LSQ; Tue, 25 Apr 2023 20:23: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 33PKNdca025554; Tue, 25 Apr 2023 20:23:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PKNd1U025553; Tue, 25 Apr 2023 20:23:39 GMT (envelope-from git) Date: Tue, 25 Apr 2023 20:23:39 GMT Message-Id: <202304252023.33PKNd1U025553@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: cb923f03faa0 - main - arm64/disassem.c: Fix typo sxts to sxts and amount for TYPE_02 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb923f03faa068f0c8ed5ffa7c3485ad7918be10 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=cb923f03faa068f0c8ed5ffa7c3485ad7918be10 commit cb923f03faa068f0c8ed5ffa7c3485ad7918be10 Author: Mykola Hohsadze AuthorDate: 2023-04-18 15:50:58 +0000 Commit: Mitchell Horne CommitDate: 2023-04-25 20:23:15 +0000 arm64/disassem.c: Fix typo sxts to sxts and amount for TYPE_02 The current implementation is wrong, since it unconditionally sets the amount equal to the field of the instruction. However, when the bit (scale) is not set, it must be zero. Also fix a typo, sxts to sxtx, according to the Arm64 documentation. Reviewed by: mhorne MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39334 --- sys/arm64/arm64/disassem.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/disassem.c b/sys/arm64/arm64/disassem.c index 681164011b40..90ae51c5740c 100644 --- a/sys/arm64/arm64/disassem.c +++ b/sys/arm64/arm64/disassem.c @@ -503,9 +503,13 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) arm64_reg(sf, rt), arm64_reg(1, rn), arm64_reg(option & 1, rm)); - /* Calculate amount, it's op(31:30) */ - amount = (insn >> ARM_INSN_SIZE_OFFSET) & - ARM_INSN_SIZE_MASK; + if (scale == 0) + amount = 0; + else { + /* Calculate amount, it's op(31:30) */ + amount = (insn >> ARM_INSN_SIZE_OFFSET) & + ARM_INSN_SIZE_MASK; + } switch (option) { case 0x2: @@ -519,7 +523,7 @@ disasm(const struct disasm_interface *di, vm_offset_t loc, int altfmt) di->di_printf(", sxtw #%d", amount); break; case 0x7: - di->di_printf(", sxts #%d", amount); + di->di_printf(", sxtx #%d", amount); break; default: di->di_printf(", RSVD"); From nobody Tue Apr 25 20:23:40 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5YNr417Kz46g6j; Tue, 25 Apr 2023 20:23: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 4Q5YNr3cP6z3F0Q; Tue, 25 Apr 2023 20:23:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682454220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oXvrGWfLRVa1sgK/iiS2luU9ep4tdVvam/rw52OEmok=; b=HnMku+oq0xik48zwLHu3u+owpK42aY40kplw/mSntTJcOd8HB03VXbG1c/3/A5XChN6Q9S BWopW8RP/vdaRZailixvSz0waa+4xQa6ckJMz6yoZBUWW8aCBwwhFPI9qdt74YK0kt3wYB EiziIfRtlgfzwyyFIBeOkPucuebL/r3icF6dAqvtYn3bo5iY+B8mHQIrKdKFbAZ/O0i00E jpbgFEiqI1lui+GcreTxhxiESzJtIjwSpukoiN0PEha8L5NtOv+J2CA50FFSn8yZ9qZzes SExBS+uVuMYPUn1fR7P8yORkNflXHO25wTulCTke1fag03mVCXxfvE3X1vUEQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682454220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oXvrGWfLRVa1sgK/iiS2luU9ep4tdVvam/rw52OEmok=; b=mY6s5bYfx+gXl1fu1eh3gqTkz88ong3N81QoJQlBAvU6tCDXe2CLy+Vz2eApL7rEhuME51 ZnHKvbKX7UmMMmWG2lGz+NZh+9ZQ0XZT12F4/dpKrXcycLsRO8X/R9jUB0Mlz9dSyLyHQm ATWVl/zGqgrcifBcX+c6shp49PaTt/QYnhOp0AilcRFiLlHVVevoEdmJT5ipZgqkRyGrog vHz/P2Pbo3pkYzn98dK3Z7MsbYbMhgPco1yNL68l+bAcD9yLEPCrQsCWQ8OaZhKzgvLmKx NH1x3SUQrEVsLg7zNwdpL52u5KkE8ukAoREak2C7cZfBdBGBRP92/1RE1v8a5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682454220; a=rsa-sha256; cv=none; b=FyIo7hhKI6Af9EZFi9Ix4CjKV3K0Krrtvz47JO/DCf67K5jRheSN3SBbIyRU+aAcgaaxiV pt5tKBAxR4KLxsikSYyDopxPe6G5+9dzbIqKirXHyxhKDFKC860V3iJaORJPblSn8XIoFV 0DcpMrRKMymk2zB4QoWoOmUGdL7ujXoLTAnwnFxsT2PUWXF3OpH+EMig6m+3TNfN/fW+/5 5GYjScK7Dc2JHUpE+P+1UoxqiS6pcElXvRd0c+fWyrA/0XhNj7y+92iABiwBJPAhyB/8md Qyfz85QhlKdwyQli8gbq2ZH7i+BhvAfdCjhDjQ/QLVMikVJTzHj1ldZ2T0au/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 4Q5YNr2jYtz1Lq7; Tue, 25 Apr 2023 20:23: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 33PKNeq5025573; Tue, 25 Apr 2023 20:23:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PKNen7025572; Tue, 25 Apr 2023 20:23:40 GMT (envelope-from git) Date: Tue, 25 Apr 2023 20:23:40 GMT Message-Id: <202304252023.33PKNen7025572@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 7edb7adf8c8b - main - arm64/disassem.c: Add support str/strb/strh instructions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7edb7adf8c8b0615c6d845ca789d4f527f8b18a3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=7edb7adf8c8b0615c6d845ca789d4f527f8b18a3 commit 7edb7adf8c8b0615c6d845ca789d4f527f8b18a3 Author: Mykola Hohsadze AuthorDate: 2023-04-18 15:51:15 +0000 Commit: Mitchell Horne CommitDate: 2023-04-25 20:23:15 +0000 arm64/disassem.c: Add support str/strb/strh instructions Added disassembly support for each type of str/strb/strh instruction encoding. Reviewed by: mhorne MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39336 --- sys/arm64/arm64/disassem.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sys/arm64/arm64/disassem.c b/sys/arm64/arm64/disassem.c index 90ae51c5740c..0f7b040e7b06 100644 --- a/sys/arm64/arm64/disassem.c +++ b/sys/arm64/arm64/disassem.c @@ -187,6 +187,24 @@ static struct arm64_insn arm64_i[] = { TYPE_02, 0 }, /* ldrsw register */ { "ldrsw", "10011000|IMM(19)|RT(5)", TYPE_03, OP_SIGN_EXT | OP_LITERAL | OP_MULT_4 }, /* ldr literal */ + { "str", "1|SF(1)|111000000|IMM(9)|OPTION(2)|RN(5)|RT(5)", + TYPE_02, OP_SIGN_EXT }, /* str immediate post/pre index */ + { "str", "1|SF(1)|11100100|IMM(12)|RN(5)|RT(5)", + TYPE_02, 0 }, /* str immediate unsigned */ + { "str", "1|SF(1)|111000001|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)", + TYPE_02, 0 }, /* str register */ + { "strb", "00111000000|IMM(9)|OPTION(2)|RN(5)|RT(5)", + TYPE_02, OP_SIGN_EXT | OP_SF32 }, /* strb immediate post/pre index */ + { "strb", "0011100100|IMM(12)|RN(5)|RT(5)", + TYPE_02, OP_SF32 }, /* strb immediate unsigned */ + { "strb", "00111000001|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)", + TYPE_02, OP_SF32 }, /* strb register */ + { "strh", "01111000000|IMM(9)|OPTION(2)|RN(5)|RT(5)", + TYPE_02, OP_SF32 | OP_SIGN_EXT }, /* strh immediate post/pre index */ + { "strh", "0111100100|IMM(12)|RN(5)|RT(5)", + TYPE_02, OP_SF32 }, /* immediate unsigned */ + { "strh", "01111000001|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)", + TYPE_02, OP_SF32 }, /* strh register */ { NULL, NULL } }; From nobody Tue Apr 25 20:28:15 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5YV819zQz46gXp; Tue, 25 Apr 2023 20:28: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 4Q5YV76kHwz3GNj; Tue, 25 Apr 2023 20:28:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682454495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HJHttgHfzKEogR8H/DFF3inZphjiVDRGDj1KYiJS9rg=; b=T3bsVnPbrTuVptAU8ckFewDBlqAQGDS8oLOufe+zoaVOy1bj4OD8zMZwxlAhvCUW9Q5mk7 0h+fxBzYSB4kb4xRB4Ld1IwADQY4ccgvV9P8G9sOHfcA/6Zl4MH4Xk9Jlip/JJQ48pbbEu 4c3vm600vK3pCUzQNl/0+UckzFjSb7YxPneyF3iiBVr5hdbBrY1GoSnfnDBTLuLD5cPbtj Yh+poa7U0QzOXfRM+eeLQbj6YGSp0zgTCbm7/vLnu7pQQ9c1z76PzqLFoXcnZXtbs5g2dZ n4f+Ou92CuP1h4Dh1VkvAY4RNRW4sgXnaOgCyJV2fJb2iDfTAwo1HlsBrODE6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682454495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HJHttgHfzKEogR8H/DFF3inZphjiVDRGDj1KYiJS9rg=; b=mN0+zO534Dyat1eiIjxpX7Z5oNeVk1pk62Un3WSOEiq3xnHO7C9AJEOKVZxouzeH8i290+ tfjCyMn0ukA5tu2pBS4l0DIdgNCvJEQqDWA7m7dxbn94Q+JVKR7BOUpOkk5faJmfdJqtAE QuL59WPgxIWuFCuwYoJZGzEyUg4meryHj4ZLvRLpYEYwhaNd21R0ctl0wo0tNi/BXGrrBU IuUJe/4aRL8FHE9L1tex817TeFUSgjtQpf5opKre5WGsIA9VAVnEvp9u89JMB3OS78xVAc QylRz8o3fKVaapKdylXptnhDZYtL4vVvP0bebbBgVQtPzCC8jeuY88Wbt2loLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682454495; a=rsa-sha256; cv=none; b=lRcbvDnmsV+K18xUomDqF/iLlFzE6L8o3xapfzUVG/DlsjSJI2PMQzInobiXxvyjqX0l0o UZn9T7DYPPk50Z1Me8YOJJCDeHdAufMCkDWg+yREqFCBTQbvIW3UB3gDdtgiRLqxH4tV9Y KxCRPUT5jmsHBEXEB6ywQWhJ3C2iopl834xAW5wHiJaDHfKix4OvlV7Qdv4oqGuIhIY12p BOErthNOwJY9zDJOY/xdrgGCemw3C69NwEivkXq03rKnxyvboKgTJZsHdeRDLJ7Jfs51/1 3INmXx58gOgKbK5XkbjSVnTzTOJBa42UtbRtee/4HhhQRcYVZfg0QuICqbHyyA== 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 4Q5YV75qKjz1M1R; Tue, 25 Apr 2023 20:28: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 33PKSFeH026261; Tue, 25 Apr 2023 20:28:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PKSF4w026260; Tue, 25 Apr 2023 20:28:15 GMT (envelope-from git) Date: Tue, 25 Apr 2023 20:28:15 GMT Message-Id: <202304252028.33PKSF4w026260@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 82bc33d5ad2e - main - printf(9): clarify the description of %b List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 82bc33d5ad2e00179ea7026c496a35b00550da15 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=82bc33d5ad2e00179ea7026c496a35b00550da15 commit 82bc33d5ad2e00179ea7026c496a35b00550da15 Author: Mitchell Horne AuthorDate: 2023-04-25 20:26:36 +0000 Commit: Mitchell Horne CommitDate: 2023-04-25 20:26:36 +0000 printf(9): clarify the description of %b The bit values are numbers given in octal representation, not decimal, as one might assume from the description. Same goes for the base, although this has an example. Reviewed by: emaste MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39815 --- share/man/man9/printf.9 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/share/man/man9/printf.9 b/share/man/man9/printf.9 index 33347fb135ca..631701e455cf 100644 --- a/share/man/man9/printf.9 +++ b/share/man/man9/printf.9 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 14, 2023 +.Dd April 25, 2023 .Dt PRINTF 9 .Os .Sh NAME @@ -94,11 +94,13 @@ and a These are used as a register value and a print mask for decoding bitmasks. The print mask is made up of two parts: the base and the arguments. -The base value is the output base expressed as an integer value; +The base value is the output base (radix) expressed as an octal value; for example, \e10 gives octal and \e20 gives hexadecimal. The arguments are made up of a sequence of bit identifiers. -Each bit identifier begins with an integer value which is the number of the -bit (starting from 1) this identifier describes. +Each bit identifier begins with an +.Em octal +value which is the number of the bit (starting from 1) this identifier +describes. The rest of the identifier is a string of characters containing the name of the bit. The string is terminated by either the bit number at the start of the next From nobody Tue Apr 25 20:36:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5Yg81tQLz46gWq; Tue, 25 Apr 2023 20:36:04 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-oi1-x22b.google.com (mail-oi1-x22b.google.com [IPv6:2607:f8b0:4864:20::22b]) (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 4Q5Yg76nBsz3HJJ; Tue, 25 Apr 2023 20:36:03 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-oi1-x22b.google.com with SMTP id 5614622812f47-38dfbbfe474so2146302b6e.0; Tue, 25 Apr 2023 13:36:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682454963; x=1685046963; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=7/NatidIDPPDUYHey8G7at32L3NN+5SyQNd8WIuuo7s=; b=KtHxKgUg0F7OYH/m+mA5b1NQWUZPCjWYC39dUJzTCdCMdVXFF9Ec6+00s5zk7h7oG3 e9tXIFgLNOX78kaXuOVUiZkKo1CiIj6R2lZ1mjgpSPkw8QtRLTV3zsCmWZ+6y9PKwAyz dExdH6heRiozcSgnYQAZAvC3tIwKiu0ov9U8onbFFwUmk+ua0uT/olohSscQkYJUGlgH waMMF5hrLJLk0i6KVRKNg43TG6o2ES9pb/lKHxwEr3/83UksjrdpaD0YN62n5vT8Sos0 kYbPz9tdrhdOaecSwm2cASq5m3lovJZ+tQrvsZk8pVuy2IoUNHn/0BTbYWNmsri/U9Us T+EA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682454963; x=1685046963; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7/NatidIDPPDUYHey8G7at32L3NN+5SyQNd8WIuuo7s=; b=P5LLxrDvLtA0X7AtLrtjHIXDZ4SZkKC3n+EggHOVbLg437q3Y+eRiXCcSxYTl15mhp i2+F3rPPQw1lcneOOaaBH3LoL/j6MKWbAo5/RlJaFGLr206l6oS3Y0VhumgYR6ggHc2Z 47MdB95u4mQHLj3bk0krp5uzolhW6sxIdehJoe37YR/YTbhfLjvivZx2ADfhX8MxM/UX uO6j2nBWb+zrGUf2XuB2FZouBg6HTg66+kGuljzhijH0SecMHTC+RfTYsiM3dhjHrZOT V20z0ylnNsv4VSPvFPryWF0ec410sv8oAgrDjZbeTL/bhkGqmPaRDv5z41mWSJEAL6Pb 1nug== X-Gm-Message-State: AAQBX9e8KN46eJ1GBp0oZRQUwdEn/7+VWyF6PLgaGEd+0YckoVUCmnb3 WumYAjfdnqdb8+5xFrfm01F5c72Ob/94n8QQW4kO4tYC X-Google-Smtp-Source: AKy350bwRPj4q7BgWwARygCwvw+JxV7NNGOpTP1m6g9okKSAaQtRimqkjHQP+jU9z/RXEd4xoFIR6o9Ai1/SMd6Eyqs= X-Received: by 2002:a05:6808:1523:b0:38d:e3b7:7f14 with SMTP id u35-20020a056808152300b0038de3b77f14mr10700963oiw.44.1682454962542; Tue, 25 Apr 2023 13:36:02 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Received: by 2002:a8a:644:0:b0:4d4:94b:7266 with HTTP; Tue, 25 Apr 2023 13:36:02 -0700 (PDT) In-Reply-To: <202304251921.33PJLsu1023009@gitrepo.freebsd.org> References: <202304251921.33PJLsu1023009@gitrepo.freebsd.org> From: Mateusz Guzik Date: Tue, 25 Apr 2023 22:36:02 +0200 Message-ID: Subject: Re: git: c3c20de3b2d1 - main - tcp: move HPTS/LRO flags out of inpcb to tcpcb To: Gleb Smirnoff 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: 4Q5Yg76nBsz3HJJ 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 i don't know which one In file included from /tank/users/mjg/src/freebsd/sys/netinet/cc/cc_newreno.c:84: /tank/users/mjg/src/freebsd/sys/netinet/tcp_hpts.h:118:1: warning: unused function 'tcp_in_hpts' [-Wunused-function] tcp_in_hpts(struct tcpcb *tp) ^ In file included from /tank/users/mjg/src/freebsd/sys/netinet/cc/cc_cubic.c:74: /tank/users/mjg/src/freebsd/sys/netinet/tcp_hpts.h:118:1: warning: unused function 'tcp_in_hpts' [-Wunused-function] tcp_in_hpts(struct tcpcb *tp) ^ 1 warning generated. 1 warning generated. On 4/25/23, Gleb Smirnoff wrote: > The branch main has been updated by glebius: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=c3c20de3b2d1357d081ce6c41f15f23cd1020e35 > > commit c3c20de3b2d1357d081ce6c41f15f23cd1020e35 > Author: Gleb Smirnoff > AuthorDate: 2023-04-25 19:19:48 +0000 > Commit: Gleb Smirnoff > CommitDate: 2023-04-25 19:19:48 +0000 > > tcp: move HPTS/LRO flags out of inpcb to tcpcb > > These flags are TCP specific. While here, make also several LRO > internal functions to pass tcpcb pointer instead of inpcb one. > > Reviewed by: rrs > Differential Revision: https://reviews.freebsd.org/D39698 > --- > sys/netinet/in_pcb.h | 12 +++--- > sys/netinet/tcp_hpts.c | 2 +- > sys/netinet/tcp_lro.c | 69 > ++++++++++++++------------------ > sys/netinet/tcp_stacks/bbr.c | 35 ++++++++-------- > sys/netinet/tcp_stacks/rack.c | 68 > +++++++++++++++---------------- > sys/netinet/tcp_stacks/rack_bbr_common.c | 4 +- > sys/netinet/tcp_subr.c | 14 +++---- > sys/netinet/tcp_syncache.c | 2 +- > sys/netinet/tcp_var.h | 25 +++++++----- > 9 files changed, 112 insertions(+), 119 deletions(-) > > diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h > index 62c5758268a7..574d575de8f0 100644 > --- a/sys/netinet/in_pcb.h > +++ b/sys/netinet/in_pcb.h > @@ -593,8 +593,8 @@ int inp_so_options(const struct inpcb *inp); > /* > * Flags for inp_flags2. > */ > -#define INP_MBUF_L_ACKS 0x00000001 /* We need large mbufs for ack > compression */ > -#define INP_MBUF_ACKCMP 0x00000002 /* TCP mbuf ack compression ok */ > +/* 0x00000001 */ > +/* 0x00000002 */ > /* 0x00000004 */ > #define INP_REUSEPORT 0x00000008 /* SO_REUSEPORT option is set */ > /* 0x00000010 */ > @@ -605,11 +605,11 @@ int inp_so_options(const struct inpcb *inp); > #define INP_RECVRSSBUCKETID 0x00000200 /* populate recv datagram with > bucket id */ > #define INP_RATE_LIMIT_CHANGED 0x00000400 /* rate limit needs attention */ > #define INP_ORIGDSTADDR 0x00000800 /* receive IP dst address/port */ > -#define INP_CANNOT_DO_ECN 0x00001000 /* The stack does not do ECN */ > +/* 0x00001000 */ > #define INP_REUSEPORT_LB 0x00002000 /* SO_REUSEPORT_LB option is set */ > -#define INP_SUPPORTS_MBUFQ 0x00004000 /* Supports the mbuf queue method of > LRO */ > -#define INP_MBUF_QUEUE_READY 0x00008000 /* The transport is pacing, inputs > can be queued */ > -#define INP_DONT_SACK_QUEUE 0x00010000 /* If a sack arrives do not wake me > */ > +/* 0x00004000 */ > +/* 0x00008000 */ > +/* 0x00010000 */ > #define INP_2PCP_SET 0x00020000 /* If the Eth PCP should be set explicitly > */ > #define INP_2PCP_BIT0 0x00040000 /* Eth PCP Bit 0 */ > #define INP_2PCP_BIT1 0x00080000 /* Eth PCP Bit 1 */ > diff --git a/sys/netinet/tcp_hpts.c b/sys/netinet/tcp_hpts.c > index 59122bb242b9..a10355a38b6f 100644 > --- a/sys/netinet/tcp_hpts.c > +++ b/sys/netinet/tcp_hpts.c > @@ -1363,7 +1363,7 @@ again: > * cause a call to output if it is needed. > */ > tp->t_flags2 |= TF2_HPTS_CALLS; > - if ((inp->inp_flags2 & INP_SUPPORTS_MBUFQ) && > + if ((tp->t_flags2 & TF2_SUPPORTS_MBUFQ) && > !STAILQ_EMPTY(&tp->t_inqueue)) { > error = (*tp->t_fb->tfb_do_queued_segments)(tp, 0); > if (error) { > diff --git a/sys/netinet/tcp_lro.c b/sys/netinet/tcp_lro.c > index 76c345add1f8..d76e1e09edd7 100644 > --- a/sys/netinet/tcp_lro.c > +++ b/sys/netinet/tcp_lro.c > @@ -91,7 +91,7 @@ static int tcp_lro_rx_common(struct lro_ctrl *lc, struct > mbuf *m, > uint32_t csum, bool use_hash); > > #ifdef TCPHPTS > -static bool do_bpf_strip_and_compress(struct inpcb *, struct lro_ctrl *, > +static bool do_bpf_strip_and_compress(struct tcpcb *, struct lro_ctrl *, > struct lro_entry *, struct mbuf **, struct mbuf **, struct mbuf **, > bool *, bool, bool, struct ifnet *, bool); > > @@ -1192,13 +1192,9 @@ tcp_queue_pkts(struct tcpcb *tp, struct lro_entry > *le) > } > > static bool > -tcp_lro_check_wake_status(struct inpcb *inp) > +tcp_lro_check_wake_status(struct tcpcb *tp) > { > - struct tcpcb *tp; > > - tp = intotcpcb(inp); > - if (__predict_false(tp == NULL)) > - return (true); > if (tp->t_fb->tfb_early_wake_check != NULL) > return ((tp->t_fb->tfb_early_wake_check)(tp)); > return (false); > @@ -1206,15 +1202,10 @@ tcp_lro_check_wake_status(struct inpcb *inp) > > static struct mbuf * > tcp_lro_get_last_if_ackcmp(struct lro_ctrl *lc, struct lro_entry *le, > - struct inpcb *inp, int32_t *new_m, bool can_append_old_cmp) > + struct tcpcb *tp, int32_t *new_m, bool can_append_old_cmp) > { > - struct tcpcb *tp; > struct mbuf *m; > > - tp = intotcpcb(inp); > - if (__predict_false(tp == NULL)) > - return (NULL); > - > /* Look at the last mbuf if any in queue */ > if (can_append_old_cmp) { > m = STAILQ_LAST(&tp->t_inqueue, mbuf, m_stailqpkt); > @@ -1226,13 +1217,13 @@ tcp_lro_get_last_if_ackcmp(struct lro_ctrl *lc, > struct lro_entry *le, > return (m); > } else { > /* Mark we ran out of space */ > - inp->inp_flags2 |= INP_MBUF_L_ACKS; > + tp->t_flags2 |= TF2_MBUF_L_ACKS; > } > } > } > /* Decide mbuf size. */ > tcp_lro_log(tp, lc, le, NULL, 21, 0, 0, 0, 0); > - if (inp->inp_flags2 & INP_MBUF_L_ACKS) > + if (tp->t_flags2 & TF2_MBUF_L_ACKS) > m = m_getcl(M_NOWAIT, MT_DATA, M_ACKCMP | M_PKTHDR); > else > m = m_gethdr(M_NOWAIT, MT_DATA); > @@ -1248,7 +1239,7 @@ tcp_lro_get_last_if_ackcmp(struct lro_ctrl *lc, struct > lro_entry *le, > return (m); > } > > -static struct inpcb * > +static struct tcpcb * > tcp_lro_lookup(struct ifnet *ifp, struct lro_parser *pa) > { > struct inpcb *inp; > @@ -1277,10 +1268,10 @@ tcp_lro_lookup(struct ifnet *ifp, struct lro_parser > *pa) > break; > #endif > default: > - inp = NULL; > - break; > + return (NULL); > } > - return (inp); > + > + return (intotcpcb(inp)); > } > > static inline bool > @@ -1335,7 +1326,6 @@ tcp_lro_ack_valid(struct mbuf *m, struct tcphdr *th, > uint32_t **ppts, bool *othe > static int > tcp_lro_flush_tcphpts(struct lro_ctrl *lc, struct lro_entry *le) > { > - struct inpcb *inp; > struct tcpcb *tp; > struct mbuf **pp, *cmp, *mv_to; > struct ifnet *lagg_ifp; > @@ -1364,31 +1354,28 @@ tcp_lro_flush_tcphpts(struct lro_ctrl *lc, struct > lro_entry *le) > IN6_IS_ADDR_UNSPECIFIED(&le->inner.data.s_addr.v6))) > return (TCP_LRO_CANNOT); > #endif > - /* Lookup inp, if any. */ > - inp = tcp_lro_lookup(lc->ifp, > + /* Lookup inp, if any. Returns locked TCP inpcb. */ > + tp = tcp_lro_lookup(lc->ifp, > (le->inner.data.lro_type == LRO_TYPE_NONE) ? &le->outer : > &le->inner); > - if (inp == NULL) > + if (tp == NULL) > return (TCP_LRO_CANNOT); > > counter_u64_add(tcp_inp_lro_locks_taken, 1); > > - /* Get TCP control structure. */ > - tp = intotcpcb(inp); > - > /* Check if the inp is dead, Jim. */ > if (tp->t_state == TCPS_TIME_WAIT) { > - INP_WUNLOCK(inp); > + INP_WUNLOCK(tptoinpcb(tp)); > return (TCP_LRO_CANNOT); > } > if (tp->t_lro_cpu == HPTS_CPU_NONE && lc->lro_cpu_is_set == 1) > tp->t_lro_cpu = lc->lro_last_cpu; > /* Check if the transport doesn't support the needed optimizations. */ > - if ((inp->inp_flags2 & (INP_SUPPORTS_MBUFQ | INP_MBUF_ACKCMP)) == 0) { > - INP_WUNLOCK(inp); > + if ((tp->t_flags2 & (TF2_SUPPORTS_MBUFQ | TF2_MBUF_ACKCMP)) == 0) { > + INP_WUNLOCK(tptoinpcb(tp)); > return (TCP_LRO_CANNOT); > } > > - if (inp->inp_flags2 & INP_MBUF_QUEUE_READY) > + if (tp->t_flags2 & TF2_MBUF_QUEUE_READY) > should_wake = false; > else > should_wake = true; > @@ -1411,7 +1398,7 @@ tcp_lro_flush_tcphpts(struct lro_ctrl *lc, struct > lro_entry *le) > cmp = NULL; > for (pp = &le->m_head; *pp != NULL; ) { > mv_to = NULL; > - if (do_bpf_strip_and_compress(inp, lc, le, pp, > + if (do_bpf_strip_and_compress(tp, lc, le, pp, > &cmp, &mv_to, &should_wake, bpf_req, > lagg_bpf_req, lagg_ifp, can_append_old_cmp) == false) { > /* Advance to next mbuf. */ > @@ -1444,17 +1431,18 @@ tcp_lro_flush_tcphpts(struct lro_ctrl *lc, struct > lro_entry *le) > /* Check if any data mbufs left. */ > if (le->m_head != NULL) { > counter_u64_add(tcp_inp_lro_direct_queue, 1); > - tcp_lro_log(tp, lc, le, NULL, 22, 1, inp->inp_flags2, 0, 1); > + tcp_lro_log(tp, lc, le, NULL, 22, 1, tp->t_flags2, 0, 1); > tcp_queue_pkts(tp, le); > } > if (should_wake) { > /* Wakeup */ > counter_u64_add(tcp_inp_lro_wokeup_queue, 1); > if ((*tp->t_fb->tfb_do_queued_segments)(tp, 0)) > - inp = NULL; > + /* TCP cb gone and unlocked. */ > + return (0); > } > - if (inp != NULL) > - INP_WUNLOCK(inp); > + INP_WUNLOCK(tptoinpcb(tp)); > + > return (0); /* Success. */ > } > #endif > @@ -1674,7 +1662,7 @@ build_ack_entry(struct tcp_ackent *ae, struct tcphdr > *th, struct mbuf *m, > * and strip all, but the IPv4/IPv6 header. > */ > static bool > -do_bpf_strip_and_compress(struct inpcb *inp, struct lro_ctrl *lc, > +do_bpf_strip_and_compress(struct tcpcb *tp, struct lro_ctrl *lc, > struct lro_entry *le, struct mbuf **pp, struct mbuf **cmp, struct mbuf > **mv_to, > bool *should_wake, bool bpf_req, bool lagg_bpf_req, struct ifnet > *lagg_ifp, bool can_append_old_cmp) > { > @@ -1751,7 +1739,7 @@ do_bpf_strip_and_compress(struct inpcb *inp, struct > lro_ctrl *lc, > > /* Now lets look at the should wake states */ > if ((other_opts == true) && > - ((inp->inp_flags2 & INP_DONT_SACK_QUEUE) == 0)) { > + ((tp->t_flags2 & TF2_DONT_SACK_QUEUE) == 0)) { > /* > * If there are other options (SACK?) and the > * tcp endpoint has not expressly told us it does > @@ -1760,13 +1748,13 @@ do_bpf_strip_and_compress(struct inpcb *inp, struct > lro_ctrl *lc, > *should_wake = true; > } else if (*should_wake == false) { > /* Wakeup override check if we are false here */ > - *should_wake = tcp_lro_check_wake_status(inp); > + *should_wake = tcp_lro_check_wake_status(tp); > } > /* Is the ack compressable? */ > if (can_compress == false) > goto done; > /* Does the TCP endpoint support ACK compression? */ > - if ((inp->inp_flags2 & INP_MBUF_ACKCMP) == 0) > + if ((tp->t_flags2 & TF2_MBUF_ACKCMP) == 0) > goto done; > > /* Lets get the TOS/traffic class field */ > @@ -1785,7 +1773,8 @@ do_bpf_strip_and_compress(struct inpcb *inp, struct > lro_ctrl *lc, > /* Now lets get space if we don't have some already */ > if (*cmp == NULL) { > new_one: > - nm = tcp_lro_get_last_if_ackcmp(lc, le, inp, &n_mbuf, > can_append_old_cmp); > + nm = tcp_lro_get_last_if_ackcmp(lc, le, tp, &n_mbuf, > + can_append_old_cmp); > if (__predict_false(nm == NULL)) > goto done; > *cmp = nm; > @@ -1812,7 +1801,7 @@ new_one: > nm = *cmp; > if (M_TRAILINGSPACE(nm) < sizeof(struct tcp_ackent)) { > /* We ran out of space */ > - inp->inp_flags2 |= INP_MBUF_L_ACKS; > + tp->t_flags2 |= TF2_MBUF_L_ACKS; > goto new_one; > } > } > diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c > index f8c7557150dd..5ecb558dadb3 100644 > --- a/sys/netinet/tcp_stacks/bbr.c > +++ b/sys/netinet/tcp_stacks/bbr.c > @@ -891,7 +891,7 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb > *tp, uint32_t cts, int32_ > * Tell LRO that it can queue packets while > * we pace. > */ > - bbr->rc_inp->inp_flags2 |= INP_MBUF_QUEUE_READY; > + bbr->rc_tp->t_flags2 |= TF2_MBUF_QUEUE_READY; > if ((bbr->r_ctl.rc_hpts_flags & PACE_TMR_RACK) && > (bbr->rc_cwnd_limited == 0)) { > /* > @@ -899,9 +899,9 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb > *tp, uint32_t cts, int32_ > * are running a rack timer we put on > * the do not disturbe even for sack. > */ > - inp->inp_flags2 |= INP_DONT_SACK_QUEUE; > + tp->t_flags2 |= TF2_DONT_SACK_QUEUE; > } else > - inp->inp_flags2 &= ~INP_DONT_SACK_QUEUE; > + tp->t_flags2 &= ~TF2_DONT_SACK_QUEUE; > bbr->rc_pacer_started = cts; > > (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(slot), > @@ -932,12 +932,12 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb > *tp, uint32_t cts, int32_ > * if a sack arrives as long as we are > * not cwnd limited. > */ > - bbr->rc_inp->inp_flags2 |= INP_MBUF_QUEUE_READY; > - inp->inp_flags2 |= INP_DONT_SACK_QUEUE; > + tp->t_flags2 |= (TF2_MBUF_QUEUE_READY | > + TF2_DONT_SACK_QUEUE); > } else { > /* All other timers wake us up */ > - bbr->rc_inp->inp_flags2 &= ~INP_MBUF_QUEUE_READY; > - inp->inp_flags2 &= ~INP_DONT_SACK_QUEUE; > + tp->t_flags2 &= ~(TF2_MBUF_QUEUE_READY | > + TF2_DONT_SACK_QUEUE); > } > bbr->bbr_timer_src = frm; > bbr_log_to_start(bbr, cts, hpts_timeout, slot, 0); > @@ -2498,7 +2498,7 @@ bbr_log_to_start(struct tcp_bbr *bbr, uint32_t cts, > uint32_t to, int32_t slot, u > log.u_bbr.flex4 = slot; > log.u_bbr.flex5 = bbr->rc_tp->t_hpts_slot; > log.u_bbr.flex6 = TICKS_2_USEC(bbr->rc_tp->t_rxtcur); > - log.u_bbr.pkts_out = bbr->rc_inp->inp_flags2; > + log.u_bbr.pkts_out = bbr->rc_tp->t_flags2; > log.u_bbr.flex8 = which; > TCP_LOG_EVENTP(bbr->rc_tp, NULL, > &bbr->rc_inp->inp_socket->so_rcv, > @@ -9940,13 +9940,13 @@ bbr_init(struct tcpcb *tp, void **ptr) > } > bbr = (struct tcp_bbr *)*ptr; > bbr->rtt_valid = 0; > - inp->inp_flags2 |= INP_CANNOT_DO_ECN; > - inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; > + tp->t_flags2 |= TF2_CANNOT_DO_ECN; > + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; > /* Take off any undesired flags */ > - inp->inp_flags2 &= ~INP_MBUF_QUEUE_READY; > - inp->inp_flags2 &= ~INP_DONT_SACK_QUEUE; > - inp->inp_flags2 &= ~INP_MBUF_ACKCMP; > - inp->inp_flags2 &= ~INP_MBUF_L_ACKS; > + tp->t_flags2 &= ~TF2_MBUF_QUEUE_READY; > + tp->t_flags2 &= ~TF2_DONT_SACK_QUEUE; > + tp->t_flags2 &= ~TF2_MBUF_ACKCMP; > + tp->t_flags2 &= ~TF2_MBUF_L_ACKS; > > TAILQ_INIT(&bbr->r_ctl.rc_map); > TAILQ_INIT(&bbr->r_ctl.rc_free); > @@ -12046,7 +12046,7 @@ bbr_output_wtime(struct tcpcb *tp, const struct > timeval *tv) > return (retval < 0 ? retval : 0); > } > } > - bbr->rc_inp->inp_flags2 &= ~INP_MBUF_QUEUE_READY; > + bbr->rc_tp->t_flags2 &= ~TF2_MBUF_QUEUE_READY; > if (hpts_calling && > (bbr->r_ctl.rc_hpts_flags & PACE_PKT_OUTPUT)) { > bbr->r_ctl.rc_last_delay_val = 0; > @@ -14078,15 +14078,14 @@ bbr_switch_failed(struct tcpcb *tp) > * pacer (if our flags are up) if so we are good, if > * not we need to get back into the pacer. > */ > - struct inpcb *inp = tptoinpcb(tp); > struct timeval tv; > uint32_t cts; > uint32_t toval; > struct tcp_bbr *bbr; > struct hpts_diag diag; > > - inp->inp_flags2 |= INP_CANNOT_DO_ECN; > - inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; > + tp->t_flags2 |= TF2_CANNOT_DO_ECN; > + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; > tcp_change_time_units(tp, TCP_TMR_GRANULARITY_TICKS); > if (tp->t_in_hpts > IHPTS_NONE) { > return; > diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c > index 9e531a1d3182..44606c287f25 100644 > --- a/sys/netinet/tcp_stacks/rack.c > +++ b/sys/netinet/tcp_stacks/rack.c > @@ -6822,12 +6822,12 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct > tcpcb *tp, uint32_t cts, > * are not on then these flags won't have any effect since it > * won't go through the queuing LRO path). > * > - * INP_MBUF_QUEUE_READY - This flags says that I am busy > + * TF2_MBUF_QUEUE_READY - This flags says that I am busy > * pacing output, so don't disturb. But > * it also means LRO can wake me if there > * is a SACK arrival. > * > - * INP_DONT_SACK_QUEUE - This flag is used in conjunction > + * TF2_DONT_SACK_QUEUE - This flag is used in conjunction > * with the above flag (QUEUE_READY) and > * when present it says don't even wake me > * if a SACK arrives. > @@ -6842,7 +6842,7 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct > tcpcb *tp, uint32_t cts, > * Other cases should usually have none of the flags set > * so LRO can call into us. > */ > - inp->inp_flags2 &= ~(INP_DONT_SACK_QUEUE|INP_MBUF_QUEUE_READY); > + tp->t_flags2 &= ~(TF2_DONT_SACK_QUEUE|TF2_MBUF_QUEUE_READY); > if (slot) { > rack->r_ctl.rc_hpts_flags |= PACE_PKT_OUTPUT; > rack->r_ctl.rc_last_output_to = us_cts + slot; > @@ -6854,7 +6854,7 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct > tcpcb *tp, uint32_t cts, > * will be effective if mbuf queueing is on or > * compressed acks are being processed. > */ > - inp->inp_flags2 |= INP_MBUF_QUEUE_READY; > + tp->t_flags2 |= TF2_MBUF_QUEUE_READY; > /* > * But wait if we have a Rack timer running > * even a SACK should not disturb us (with > @@ -6862,7 +6862,7 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct > tcpcb *tp, uint32_t cts, > */ > if (rack->r_ctl.rc_hpts_flags & PACE_TMR_RACK) { > if (rack->r_rr_config != 3) > - inp->inp_flags2 |= INP_DONT_SACK_QUEUE; > + tp->t_flags2 |= TF2_DONT_SACK_QUEUE; > else if (rack->rc_pace_dnd) { > if (IN_RECOVERY(tp->t_flags)) { > /* > @@ -6873,13 +6873,14 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct > tcpcb *tp, uint32_t cts, > * and let all sacks wake us up. > * > */ > - inp->inp_flags2 |= INP_DONT_SACK_QUEUE; > + tp->t_flags2 |= TF2_DONT_SACK_QUEUE; > } > } > } > /* For sack attackers we want to ignore sack */ > if (rack->sack_attack_disable == 1) { > - inp->inp_flags2 |= (INP_DONT_SACK_QUEUE|INP_MBUF_QUEUE_READY); > + tp->t_flags2 |= (TF2_DONT_SACK_QUEUE | > + TF2_MBUF_QUEUE_READY); > } else if (rack->rc_ack_can_sendout_data) { > /* > * Ahh but wait, this is that special case > @@ -6887,7 +6888,8 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct > tcpcb *tp, uint32_t cts, > * backout the changes (used for non-paced > * burst limiting). > */ > - inp->inp_flags2 &= ~(INP_DONT_SACK_QUEUE|INP_MBUF_QUEUE_READY); > + tp->t_flags2 &= ~(TF2_DONT_SACK_QUEUE | > + TF2_MBUF_QUEUE_READY); > } > if ((rack->use_rack_rr) && > (rack->r_rr_config < 2) && > @@ -6908,7 +6910,7 @@ rack_start_hpts_timer(struct tcp_rack *rack, struct > tcpcb *tp, uint32_t cts, > } > } else if (hpts_timeout) { > /* > - * With respect to inp_flags2 here, lets let any new acks wake > + * With respect to t_flags2(?) here, lets let any new acks wake > * us up here. Since we are not pacing (no pacing timer), output > * can happen so we should let it. If its a Rack timer, then any inbound > * packet probably won't change the sending (we will be blocked) > @@ -8036,7 +8038,7 @@ rack_process_timers(struct tcpcb *tp, struct tcp_rack > *rack, uint32_t cts, uint8 > * no-sack wakeup on since we no longer have a PKT_OUTPUT > * flag in place. > */ > - rack->rc_inp->inp_flags2 &= ~INP_DONT_SACK_QUEUE; > + rack->rc_tp->t_flags2 &= ~TF2_DONT_SACK_QUEUE; > ret = -3; > left = rack->r_ctl.rc_timer_exp - cts; > tcp_hpts_insert(tp, HPTS_MS_TO_SLOTS(left)); > @@ -14566,9 +14568,8 @@ rack_switch_failed(struct tcpcb *tp) > * This method gets called if a stack switch was > * attempted and it failed. We are left > * but our hpts timers were stopped and we > - * need to validate time units and inp_flags2. > + * need to validate time units and t_flags2. > */ > - struct inpcb *inp = tptoinpcb(tp); > struct tcp_rack *rack; > struct timeval tv; > uint32_t cts; > @@ -14578,11 +14579,11 @@ rack_switch_failed(struct tcpcb *tp) > rack = (struct tcp_rack *)tp->t_fb_ptr; > tcp_change_time_units(tp, TCP_TMR_GRANULARITY_USEC); > if (rack->r_mbuf_queue || rack->rc_always_pace || rack->r_use_cmp_ack) > - inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; > + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; > else > - inp->inp_flags2 &= ~INP_SUPPORTS_MBUFQ; > + tp->t_flags2 &= ~TF2_SUPPORTS_MBUFQ; > if (rack->r_use_cmp_ack && TCPS_HAVEESTABLISHED(tp->t_state)) > - rack->rc_inp->inp_flags2 |= INP_MBUF_ACKCMP; > + tp->t_flags2 |= TF2_MBUF_ACKCMP; > if (tp->t_in_hpts > IHPTS_NONE) { > /* Strange */ > return; > @@ -15089,13 +15090,13 @@ rack_init(struct tcpcb *tp, void **ptr) > } > } > rack_stop_all_timers(tp, rack); > - /* Setup all the inp_flags2 */ > + /* Setup all the t_flags2 */ > if (rack->r_mbuf_queue || rack->rc_always_pace || rack->r_use_cmp_ack) > - tptoinpcb(tp)->inp_flags2 |= INP_SUPPORTS_MBUFQ; > + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; > else > - tptoinpcb(tp)->inp_flags2 &= ~INP_SUPPORTS_MBUFQ; > + tp->t_flags2 &= ~TF2_SUPPORTS_MBUFQ; > if (rack->r_use_cmp_ack && TCPS_HAVEESTABLISHED(tp->t_state)) > - rack->rc_inp->inp_flags2 |= INP_MBUF_ACKCMP; > + tp->t_flags2 |= TF2_MBUF_ACKCMP; > /* > * Timers in Rack are kept in microseconds so lets > * convert any initial incoming variables > @@ -15417,7 +15418,7 @@ rack_set_state(struct tcpcb *tp, struct tcp_rack > *rack) > break; > }; > if (rack->r_use_cmp_ack && TCPS_HAVEESTABLISHED(tp->t_state)) > - rack->rc_inp->inp_flags2 |= INP_MBUF_ACKCMP; > + rack->rc_tp->t_flags2 |= TF2_MBUF_ACKCMP; > > } > > @@ -16528,7 +16529,7 @@ rack_do_segment_nounlock(struct tcpcb *tp, struct > mbuf *m, struct tcphdr *th, > * so should process the packets. > */ > slot_remaining = rack->r_ctl.rc_last_output_to - us_cts; > - if (rack->rc_inp->inp_flags2 & INP_DONT_SACK_QUEUE) { > + if (rack->rc_tp->t_flags2 & TF2_DONT_SACK_QUEUE) { > no_output = 1; > } else { > /* > @@ -22410,7 +22411,7 @@ rack_set_dgp(struct tcp_rack *rack) > rack->use_fixed_rate = 0; > if (rack->gp_ready) > rack_set_cc_pacing(rack); > - rack->rc_inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; > + rack->rc_tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; > rack->rack_attempt_hdwr_pace = 0; > /* rxt settings */ > rack->full_size_rxt = 1; > @@ -22419,7 +22420,7 @@ rack_set_dgp(struct tcp_rack *rack) > rack->r_use_cmp_ack = 1; > if (TCPS_HAVEESTABLISHED(rack->rc_tp->t_state) && > rack->r_use_cmp_ack) > - rack->rc_inp->inp_flags2 |= INP_MBUF_ACKCMP; > + rack->rc_tp->t_flags2 |= TF2_MBUF_ACKCMP; > /* scwnd=1 */ > rack->rack_enable_scwnd = 1; > /* dynamic=100 */ > @@ -22536,11 +22537,11 @@ rack_set_profile(struct tcp_rack *rack, int prof) > if (rack_enable_mqueue_for_nonpaced || rack->r_use_cmp_ack) { > rack->r_mbuf_queue = 1; > if (TCPS_HAVEESTABLISHED(rack->rc_tp->t_state)) > - rack->rc_inp->inp_flags2 |= INP_MBUF_ACKCMP; > - rack->rc_inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; > + rack->rc_tp->t_flags2 |= TF2_MBUF_ACKCMP; > + rack->rc_tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; > } else { > rack->r_mbuf_queue = 0; > - rack->rc_inp->inp_flags2 &= ~INP_SUPPORTS_MBUFQ; > + rack->rc_tp->t_flags2 &= ~TF2_SUPPORTS_MBUFQ; > } > if (rack_enable_shared_cwnd) > rack->rack_enable_scwnd = 1; > @@ -22687,7 +22688,6 @@ rack_process_option(struct tcpcb *tp, struct > tcp_rack *rack, int sopt_name, > struct epoch_tracker et; > struct sockopt sopt; > struct cc_newreno_opts opt; > - struct inpcb *inp = tptoinpcb(tp); > uint64_t val; > int error = 0; > uint16_t ca, ss; > @@ -22865,16 +22865,16 @@ rack_process_option(struct tcpcb *tp, struct > tcp_rack *rack, int sopt_name, > break; > case TCP_USE_CMP_ACKS: > RACK_OPTS_INC(tcp_use_cmp_acks); > - if ((optval == 0) && (rack->rc_inp->inp_flags2 & INP_MBUF_ACKCMP)) { > + if ((optval == 0) && (tp->t_flags2 & TF2_MBUF_ACKCMP)) { > /* You can't turn it off once its on! */ > error = EINVAL; > } else if ((optval == 1) && (rack->r_use_cmp_ack == 0)) { > rack->r_use_cmp_ack = 1; > rack->r_mbuf_queue = 1; > - inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; > + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; > } > if (rack->r_use_cmp_ack && TCPS_HAVEESTABLISHED(tp->t_state)) > - inp->inp_flags2 |= INP_MBUF_ACKCMP; > + tp->t_flags2 |= TF2_MBUF_ACKCMP; > break; > case TCP_SHARED_CWND_TIME_LIMIT: > RACK_OPTS_INC(tcp_lscwnd); > @@ -22937,9 +22937,9 @@ rack_process_option(struct tcpcb *tp, struct > tcp_rack *rack, int sopt_name, > else > rack->r_mbuf_queue = 0; > if (rack->r_mbuf_queue || rack->rc_always_pace || rack->r_use_cmp_ack) > - inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; > + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; > else > - inp->inp_flags2 &= ~INP_SUPPORTS_MBUFQ; > + tp->t_flags2 &= ~TF2_SUPPORTS_MBUFQ; > break; > case TCP_RACK_NONRXT_CFG_RATE: > RACK_OPTS_INC(tcp_rack_cfg_rate); > @@ -23022,9 +23022,9 @@ rack_process_option(struct tcpcb *tp, struct > tcp_rack *rack, int sopt_name, > } > } > if (rack->r_mbuf_queue || rack->rc_always_pace || rack->r_use_cmp_ack) > - inp->inp_flags2 |= INP_SUPPORTS_MBUFQ; > + tp->t_flags2 |= TF2_SUPPORTS_MBUFQ; > else > - inp->inp_flags2 &= ~INP_SUPPORTS_MBUFQ; > + tp->t_flags2 &= ~TF2_SUPPORTS_MBUFQ; > /* A rate may be set irate or other, if so set seg size */ > rack_update_seg(rack); > break; > diff --git a/sys/netinet/tcp_stacks/rack_bbr_common.c > b/sys/netinet/tcp_stacks/rack_bbr_common.c > index 91bf32159004..625825fc7ed6 100644 > --- a/sys/netinet/tcp_stacks/rack_bbr_common.c > +++ b/sys/netinet/tcp_stacks/rack_bbr_common.c > @@ -445,8 +445,8 @@ skip_vnet: > * been compressed. We assert the inp has > * the flag set to enable this! > */ > - KASSERT((inp->inp_flags2 & INP_MBUF_ACKCMP), > - ("tp:%p inp:%p no INP_MBUF_ACKCMP flags?", tp, inp)); > + KASSERT((tp->t_flags2 & TF2_MBUF_ACKCMP), > + ("tp:%p no TF2_MBUF_ACKCMP flags?", tp)); > tlen = 0; > drop_hdrlen = 0; > th = NULL; > diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c > index 40dd9b7f3aa9..a8a896b7ebe6 100644 > --- a/sys/netinet/tcp_subr.c > +++ b/sys/netinet/tcp_subr.c > @@ -1073,7 +1073,7 @@ tcp_default_fb_init(struct tcpcb *tp, void **ptr) > > /* Make sure we get no interesting mbuf queuing behavior */ > /* All mbuf queue/ack compress flags should be off */ > - tcp_lro_features_off(tptoinpcb(tp)); > + tcp_lro_features_off(tp); > > /* Cancel the GP measurement in progress */ > tp->t_flags &= ~TF_GPUTINPROG; > @@ -2270,7 +2270,7 @@ tcp_newtcpcb(struct inpcb *inp) > V_tcp_mssdflt; > > /* All mbuf queue/ack compress flags should be off */ > - tcp_lro_features_off(tptoinpcb(tp)); > + tcp_lro_features_off(tp); > > callout_init_rw(&tp->t_callout, &inp->inp_lock, CALLOUT_RETURNUNLOCKED); > for (int i = 0; i < TT_N; i++) > @@ -4051,14 +4051,14 @@ tcp_default_switch_failed(struct tcpcb *tp) > /* > * If a switch fails we only need to > * care about two things: > - * a) The inp_flags2 > + * a) The t_flags2 > * and > * b) The timer granularity. > * Timeouts, at least for now, don't use the > * old callout system in the other stacks so > * those are hopefully safe. > */ > - tcp_lro_features_off(tptoinpcb(tp)); > + tcp_lro_features_off(tp); > tcp_change_time_units(tp, TCP_TMR_GRANULARITY_TICKS); > } > > @@ -4236,15 +4236,15 @@ tcp_handle_orphaned_packets(struct tcpcb *tp) > /* > * Called when a stack switch is occuring from the fini() > * of the old stack. We assue the init() as already been > - * run of the new stack and it has set the inp_flags2 to > + * run of the new stack and it has set the t_flags2 to > * what it supports. This function will then deal with any > * differences i.e. cleanup packets that maybe queued that > * the newstack does not support. > */ > > - if (tptoinpcb(tp)->inp_flags2 & INP_MBUF_L_ACKS) > + if (tp->t_flags2 & TF2_MBUF_L_ACKS) > return; > - if ((tptoinpcb(tp)->inp_flags2 & INP_SUPPORTS_MBUFQ) == 0 && > + if ((tp->t_flags2 & TF2_SUPPORTS_MBUFQ) == 0 && > !STAILQ_EMPTY(&tp->t_inqueue)) { > /* > * It is unsafe to process the packets since a > diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c > index 5f4bae92974e..54a347c2669e 100644 > --- a/sys/netinet/tcp_syncache.c > +++ b/sys/netinet/tcp_syncache.c > @@ -1724,7 +1724,7 @@ skip_alloc: > if (ltflags & TF_NOOPT) > sc->sc_flags |= SCF_NOOPT; > /* ECN Handshake */ > - if (V_tcp_do_ecn && (inp->inp_flags2 & INP_CANNOT_DO_ECN) == 0) > + if (V_tcp_do_ecn && (tp->t_flags2 & TF2_CANNOT_DO_ECN) == 0) > sc->sc_flags |= tcp_ecn_syncache_add(tcp_get_flags(th), iptos); > > if (V_tcp_syncookies) > diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h > index a3016a143b93..a8bd6f8732cc 100644 > --- a/sys/netinet/tcp_var.h > +++ b/sys/netinet/tcp_var.h > @@ -677,16 +677,6 @@ tcp_output(struct tcpcb *tp) > return (rv); > } > > -static inline void > -tcp_lro_features_off(struct inpcb *inp) > -{ > - inp->inp_flags2 &= ~(INP_SUPPORTS_MBUFQ| > - INP_MBUF_QUEUE_READY| > - INP_DONT_SACK_QUEUE| > - INP_MBUF_ACKCMP| > - INP_MBUF_L_ACKS); > -} > - > /* > * tcp_output_unlock() > * Always returns unlocked, handles drop request from advanced stacks. > @@ -853,6 +843,12 @@ tcp_packets_this_ack(struct tcpcb *tp, tcp_seq ack) > #define TF2_ECN_USE_ECT1 0x00000800 /* Use ECT(1) marking on session */ > #define TF2_TCP_ACCOUNTING 0x00001000 /* Do TCP accounting */ > #define TF2_HPTS_CALLS 0x00002000 /* tcp_output() called via HPTS */ > +#define TF2_MBUF_L_ACKS 0x00004000 /* large mbufs for ack compression */ > +#define TF2_MBUF_ACKCMP 0x00008000 /* mbuf ack compression ok */ > +#define TF2_SUPPORTS_MBUFQ 0x00010000 /* Supports the mbuf queue method */ > +#define TF2_MBUF_QUEUE_READY 0x00020000 /* Inputs can be queued */ > +#define TF2_DONT_SACK_QUEUE 0x00040000 /* Don't wake on sack */ > +#define TF2_CANNOT_DO_ECN 0x00080000 /* The stack does not do ECN */ > > /* > * Structure to hold TCP options that are only used during segment > @@ -1543,6 +1539,15 @@ tcp_http_alloc_req_full(struct tcpcb *tp, struct > http_req *req, uint64_t ts, int > int tcp_do_ack_accounting(struct tcpcb *tp, struct tcphdr *th, struct > tcpopt *to, uint32_t tiwin, int mss); > #endif > > +static inline void > +tcp_lro_features_off(struct tcpcb *tp) > +{ > + tp->t_flags2 &= ~(TF2_SUPPORTS_MBUFQ| > + TF2_MBUF_QUEUE_READY| > + TF2_DONT_SACK_QUEUE| > + TF2_MBUF_ACKCMP| > + TF2_MBUF_L_ACKS); > +} > > static inline void > tcp_fields_to_host(struct tcphdr *th) > -- Mateusz Guzik From nobody Tue Apr 25 21:09:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5ZQ561MGz46k2K; Tue, 25 Apr 2023 21:09: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 4Q5ZQ54Vf2z3NBL; Tue, 25 Apr 2023 21:09:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682456989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lOv+LnCYqXXhitag7tx/9XKAKXF9Qnxp7nFJ/OKZWbQ=; b=urEMfTlvVT2kjIXAPYkROmmwejS1DUFSyiGFoCDoxVWpwO9jbZ6SFvbzbYFqqQkaiCDqEB JQoVaYnRcqszeky78HXsiCORURWijBiPoJre+x6uA28p9J3yXQ1G8H1oJg7blZjpvoLJC6 HvKmhjaxg2bM8Hb7wT2Q2OYVbFJej2O5RXUnkN4fnmKQyxQl8jfgkIuGhPdv3l3OyJAsaP a+EpccxITtIk+yPALwYISzigIhKzL61of7DHBQobbImxCHDOLYJfsn3plpuXbFr9JKgQSJ tq0IS3eE3S8lg2ZJ+O4/ivFFuAQqK8Xg+nUTbSAfL8vsTAjY3ELEIWzwDjDumg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682456989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lOv+LnCYqXXhitag7tx/9XKAKXF9Qnxp7nFJ/OKZWbQ=; b=xSY/+VKdleszers60c87LKsNkG+dk6fenhUa6MQPieCDQst9XoJEUugzBBpUmOmnuwtyq9 +DmFQZRvVemooN5ZCAARPW3fy2OHXFAR7vdZS/kfvjnHFz1kYvW13c80/xDGkzYn+Uzkhg AegzoI57qWn0F99zsFJDXaXrCXXlPTYc6Nb/R6UDjv0O2vJttNL1eFNY5Uh9s8B+lySUzW N/if7ifVpnKMujR9/H0YRjbtzfMZMY1tpvVUORv//V+xJEqoROyWDgQCrWKuqrzTH658yk wL1HTTzYVXFnKNpFZx+0m47oX2TAkza+v0K9ulUl+kxHymp49ECW2Zza8h/QEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682456989; a=rsa-sha256; cv=none; b=Fsdx5VoTJIGFE7Lia6CPbqGtwLLcNYqXihxNdq8yIfOV20x4GNBR7pyRxxi41eTm95Lb3P 7GZqKNpJ/o8KmV948mDTj7aVMXdavYjdK+kf7TBboHOJifRSmkFBxCmfoYGxjW6j4jlCya ZsXoH7M9SkLamSpwlgb7qmo0p7BVboGKwD9HLtrdSTZHJRLsiMISUX3ovjVJiOqTbBPqSE BVCKB0VfG3ktYidubqQkwNEj0r+9Xlz3/3yznV6vV2CprWtYDt464awkNuCcbumDW2KZBA 34awGBW+BC0tMe9UT5Lk5UvhzImOGZCD7KyRDKX/rnG/YPOgymSRfbOeQ0Ub/A== 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 4Q5ZQ53TNKz1MZD; Tue, 25 Apr 2023 21:09: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 33PL9nxH092423; Tue, 25 Apr 2023 21:09:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PL9nAP092422; Tue, 25 Apr 2023 21:09:49 GMT (envelope-from git) Date: Tue, 25 Apr 2023 21:09:49 GMT Message-Id: <202304252109.33PL9nAP092422@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: 7aab8fc5c5f0 - main - clang: Enable -Wdeprecated-non-prototype by default. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7aab8fc5c5f0f26e494be3bc05c58cf38687cf69 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=7aab8fc5c5f0f26e494be3bc05c58cf38687cf69 commit 7aab8fc5c5f0f26e494be3bc05c58cf38687cf69 Author: John Baldwin AuthorDate: 2023-04-25 21:09:21 +0000 Commit: John Baldwin CommitDate: 2023-04-25 21:09:21 +0000 clang: Enable -Wdeprecated-non-prototype by default. PR: 270919 (exp-run) Reviewed by: dim, emaste Differential Revision: https://reviews.freebsd.org/D39535 --- share/mk/bsd.sys.mk | 1 - sys/conf/kern.mk | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index 19f92d8f9d5d..8141ed0661d1 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -95,7 +95,6 @@ CWARNFLAGS.clang+= -Wno-unused-const-variable CWARNFLAGS.clang+= -Wno-error=unused-but-set-variable .endif .if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 150000 -CWARNFLAGS.clang+= -Wno-error=deprecated-non-prototype CWARNFLAGS.clang+= -Wno-error=unused-but-set-parameter .endif .endif # WARNS <= 6 diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index 06fb48d0f93f..1a1251f670e1 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -47,10 +47,9 @@ CWARNEXTRA?= -Wno-error=tautological-compare -Wno-error=empty-body \ CWARNEXTRA+= -Wno-error=shift-negative-value CWARNEXTRA+= -Wno-address-of-packed-member .if ${COMPILER_VERSION} >= 150000 -# Clang 15 has much more aggressive diagnostics about K&R prototypes, -# mismatched prototypes, and unused-but-set variables. Make these +# Clang 15 has much more aggressive diagnostics about +# mismatched prototypes and unused-but-set variables. Make these # non-fatal for the time being. -CWARNEXTRA+= -Wno-error=deprecated-non-prototype CWARNEXTRA+= -Wno-error=strict-prototypes CWARNEXTRA+= -Wno-error=unused-but-set-variable .endif From nobody Tue Apr 25 21:26:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5Znp6kzLz46l0c; Tue, 25 Apr 2023 21:26: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 4Q5Znp6Gjhz3Pt6; Tue, 25 Apr 2023 21:26:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682458014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y9D7JqsbiGEGzRiMLu2/35BblwbnRN5py5bbeaxYR3U=; b=yt9nj1/3OSicGmWGCWBciu5QiBFluTSNxjajuQfYRlx548a0+vMxeRuZxRH6tAH37WqMJZ dmkk8PaU0gRBJiFifFFBwZV6IVtmoalw9rdvZuExN8/5Rf9FXkmNfRjSJ1oR+VjcCvqmCA B7Pgm5XBEBwMd7OnL1+2/9nN0zwstxvA2flVZ51ZyRABagMdlFdyBve1HEhicjUfHSOzwv s/2fZJdGnC0zGkVy+lVHLCs7hOysEFOfGXmnA4i3uo9RSJnDriRKXWtqKcWDKV+aKtDnGw 5xNefwAk3TWfsyYtP/XmjivmOVqDE0smTMRrxvPl69TlLx7fxBNERlIeHefxpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682458014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y9D7JqsbiGEGzRiMLu2/35BblwbnRN5py5bbeaxYR3U=; b=RaAdivo08/2TOQN9wvsCS0jd0tg6RYbLnlv0qXA5xVR2SEzijFfsz7xilHdvElJ2ouY/Jb cDm4RMCT6jMEpYosJtI3thc9A6vYttY9YkV8Gl8ZWPgWvGnKFzbtf3R7z6ChvobNPXdHai 4o286jxocWxjydwSpHFfQTJh6Vn96KEWQyk3piwbMKFnefA1sqCoo2Q6ecUy0fZxHPD+ij UiHIA9gkIlAh0d+jbP6f9efJO1SuAIO7TPO0SEcBlaHhCfdkiLfPjFqrUyI1WIUBxuJP0z wydbxoqxxVA9AdfhF5CyvV+gQvasm3COYDluCYus8kAlE4Ti9CXI84pMEmkoFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682458014; a=rsa-sha256; cv=none; b=az1XvX8IcJsg8m0+vJIbyeSm+eez8zxjW0oj5CGegsSr684KvEvWFs7DgdA/ZHwa+aoHxE 5Sfirx6Tj9S4AbzcdwttBCXQA08RvdP5f4ODuy7HggaagZtlP7faE3/E8Jw55rCW29zT5H ybda8GETzVdAZQyXnkDViSzH/SxmOl35+NN3fxHpTYbaHgPTvv8yfDFxaZl1FaFgNveDQb N0NJxAH9RA4XKcCKZvcuudF7Rz6spa6/OYsj2CIOOcbaU40byRSG4vd/7TpM55QIIrtHvV mY2Ip3IlmkZ76au94PEi2Z4HIzv1TBUIN46sI82vSuni6ZwPg3hW+gkIJfpkFg== 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 4Q5Znp5FJKz1NRJ; Tue, 25 Apr 2023 21:26: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 33PLQsO8024635; Tue, 25 Apr 2023 21:26:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PLQsKe024634; Tue, 25 Apr 2023 21:26:54 GMT (envelope-from git) Date: Tue, 25 Apr 2023 21:26:54 GMT Message-Id: <202304252126.33PLQsKe024634@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cheng Cui Subject: git: d090464ecd4a - main - Change the unit of srtt and rto to usec, inspired by these in struct "tcp_info". Therefore, no need hz and tcp_rtt_scale in the headline of the log. Update the man page as well. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d090464ecd4af5cd400ef5cbbfe8409d019eac34 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cc: URL: https://cgit.FreeBSD.org/src/commit/?id=d090464ecd4af5cd400ef5cbbfe8409d019eac34 commit d090464ecd4af5cd400ef5cbbfe8409d019eac34 Author: Cheng Cui AuthorDate: 2023-04-25 11:52:28 +0000 Commit: Cheng Cui CommitDate: 2023-04-25 17:26:39 +0000 Change the unit of srtt and rto to usec, inspired by these in struct "tcp_info". Therefore, no need hz and tcp_rtt_scale in the headline of the log. Update the man page as well. Summary: Simplify srtt and rto values in siftr log. Test Plan: Tested in Emulab testbed: cc@s1:~ % sudo sysctl net.inet.siftr net.inet.siftr.port_filter: 0 net.inet.siftr.genhashes: 0 net.inet.siftr.ppl: 1 net.inet.siftr.logfile: /var/log/siftr.log net.inet.siftr.enabled: 0 cc@s1:~ % sudo sysctl net.inet.siftr.port_filter=5001 net.inet.siftr.port_filter: 0 -> 5001 cc@s1:~ % sudo sysctl net.inet.siftr.enabled=1 net.inet.siftr.enabled: 0 -> 1 cc@s1:~ % cc@s1:~ % iperf -c r1 -n 1M ------------------------------------------------------------ Client connecting to r1, TCP port 5001 TCP window size: 32.0 KByte (default) ------------------------------------------------------------ [ 1] local 10.1.1.2 port 33817 connected with 10.1.1.3 port 5001 [ ID] Interval Transfer Bandwidth [ 1] 0.00-0.91 sec 1.00 MBytes 9.22 Mbits/sec cc@s1:~ % sudo sysctl net.inet.siftr.enabled=0 net.inet.siftr.enabled: 1 -> 0 cc@s1:~ % ll /var/log/siftr.log -rw-r--r-- 1 root wheel 91K Apr 25 09:38 /var/log/siftr.log cc@s1:~ % cat /var/log/siftr.log enable_time_secs=1682437111 enable_time_usecs=121115 siftrver=1.3.0 sysname=FreeBSD sysver=1400088 ipmode=4 o,0x00000000,1682437125.907343,10.1.1.2,33817,10.1.1.3,5001,1073725440,1073725440,2,0,0,0,0,2,536,0,1,672,1000000,32768,0,65536,0,0,0,0,0 i,0x00000000,1682437126.106759,10.1.1.2,33817,10.1.1.3,5001,1073725440,1073725440,2,0,0,0,0,2,536,0,1,672,1000000,32768,0,65536,0,1,0,0,0 o,0x00000000,1682437126.106767,10.1.1.2,33817,10.1.1.3,5001,1073725440,14480,2,65535,65700,9,9,4,1460,201000,1,16778209,803000,33580,0,65700,0,0,0,0,0 o,0x00000000,1682437126.107141,10.1.1.2,33817,10.1.1.3,5001,1073725440,14480,2,65535,65700,9,9,4,1460,201000,1,16778208,803000,33580,60,65700,0,0,0,0,0 ... i,0x00000000,1682437127.016754,10.1.1.2,33817,10.1.1.3,5001,1073725440,606109,1030,748544,66048,9,9,9,1460,100812,1,1008,303000,475948,0,65700,0,0,0,0,0 o,0x00000000,1682437127.016759,10.1.1.2,33817,10.1.1.3,5001,1073725440,606109,1030,748544,66048,9,9,10,1460,100812,1,1011,303000,475948,0,65700,0,0,0,0,0 disable_time_secs=1682437131 disable_time_usecs=767582 num_inbound_tcp_pkts=371 num_outbound_tcp_pkts=186 total_tcp_pkts=557 num_inbound_skipped_pkts_malloc=0 num_outbound_skipped_pkts_malloc=0 num_inbound_skipped_pkts_tcpcb=0 num_outbound_skipped_pkts_tcpcb=0 num_inbound_skipped_pkts_inpcb=0 num_outbound_skipped_pkts_inpcb=0 total_skipped_tcp_pkts=0 flow_list=10.1.1.2;33817-10.1.1.3;5001, Reviewers: rscheff, tuexen Approved by: rscheff, tuexen Subscribers: imp, melifaro, glebius Differential Revision: https://reviews.freebsd.org/D39803 --- share/man/man4/siftr.4 | 21 +++------------------ sys/netinet/siftr.c | 34 +++++++++++++++------------------- 2 files changed, 18 insertions(+), 37 deletions(-) diff --git a/share/man/man4/siftr.4 b/share/man/man4/siftr.4 index 0406a38779b6..78eb755ddef1 100644 --- a/share/man/man4/siftr.4 +++ b/share/man/man4/siftr.4 @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 24, 2023 +.Dd April 25, 2023 .Dt SIFTR 4 .Os .Sh NAME @@ -175,14 +175,6 @@ version of .Nm . .El .Bl -tag -offset indent -width Va -.It Va hz -tick rate of the kernel in ticks per second. -.El -.Bl -tag -offset indent -width Va -.It Va tcp_rtt_scale -smoothed RTT estimate scaling factor. -.El -.Bl -tag -offset indent -width Va .It Va sysname operating system name. .El @@ -294,11 +286,7 @@ The maximum segment size for the flow, in bytes. .El .Bl -tag -offset indent -width Va .It Va 17 -The current smoothed RTT estimate for the flow, in units of TCP_RTT_SCALE * HZ, -where TCP_RTT_SCALE is a define found in tcp_var.h, and HZ is the kernel's tick -timer. -Divide by TCP_RTT_SCALE * HZ to get the RTT in secs. -TCP_RTT_SCALE and HZ are reported in the enable log message. +The current smoothed RTT estimate for the flow, in units of microsecond. .El .Bl -tag -offset indent -width Va .It Va 18 @@ -313,10 +301,7 @@ for information about the various flags. .El .Bl -tag -offset indent -width Va .It Va 20 -The current retransmission timeout length for the flow, in units of HZ, where HZ -is the kernel's tick timer. -Divide by HZ to get the timeout length in seconds. -HZ is reported in the enable log message. +The current retransmission timeout length for the flow, in units microsecond. .El .Bl -tag -offset indent -width Va .It Va 21 diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c index a23980704e17..05104627910d 100644 --- a/sys/netinet/siftr.c +++ b/sys/netinet/siftr.c @@ -207,11 +207,8 @@ struct pkt_node { int conn_state; /* Max Segment Size (bytes). */ u_int max_seg_size; - /* - * Smoothed RTT stored as found in the TCP control block - * in units of (TCP_RTT_SCALE*hz). - */ - int smoothed_rtt; + /* Smoothed RTT (usecs). */ + uint32_t srtt; /* Is SACK enabled? */ u_char sack_enabled; /* Window scaling for snd window. */ @@ -220,8 +217,8 @@ struct pkt_node { u_char rcv_scale; /* TCP control block flags. */ u_int flags; - /* Retransmit timeout length. */ - int rxt_length; + /* Retransmission timeout (usec). */ + uint32_t rto; /* Size of the TCP send buffer in bytes. */ u_int snd_buf_hiwater; /* Current num bytes in the send socket buffer. */ @@ -453,7 +450,7 @@ siftr_process_pkt(struct pkt_node * pkt_node) MAX_LOG_MSG_LEN, "%c,0x%08x,%zd.%06ld,%x:%x:%x:%x:%x:%x:%x:%x,%u,%x:%x:%x:" "%x:%x:%x:%x:%x,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u," - "%u,%d,%u,%u,%u,%u,%u,%u,%u,%u\n", + "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u\n", direction[pkt_node->direction], pkt_node->hash, pkt_node->tval.tv_sec, @@ -485,10 +482,10 @@ siftr_process_pkt(struct pkt_node * pkt_node) pkt_node->rcv_scale, pkt_node->conn_state, pkt_node->max_seg_size, - pkt_node->smoothed_rtt, + pkt_node->srtt, pkt_node->sack_enabled, pkt_node->flags, - pkt_node->rxt_length, + pkt_node->rto, pkt_node->snd_buf_hiwater, pkt_node->snd_buf_cc, pkt_node->rcv_buf_hiwater, @@ -512,7 +509,7 @@ siftr_process_pkt(struct pkt_node * pkt_node) log_buf->ae_bytesused = snprintf(log_buf->ae_data, MAX_LOG_MSG_LEN, "%c,0x%08x,%jd.%06ld,%u.%u.%u.%u,%u,%u.%u.%u.%u,%u,%u,%u," - "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%d,%u,%u,%u,%u,%u,%u,%u,%u\n", + "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u\n", direction[pkt_node->direction], pkt_node->hash, (intmax_t)pkt_node->tval.tv_sec, @@ -536,10 +533,10 @@ siftr_process_pkt(struct pkt_node * pkt_node) pkt_node->rcv_scale, pkt_node->conn_state, pkt_node->max_seg_size, - pkt_node->smoothed_rtt, + pkt_node->srtt, pkt_node->sack_enabled, pkt_node->flags, - pkt_node->rxt_length, + pkt_node->rto, pkt_node->snd_buf_hiwater, pkt_node->snd_buf_cc, pkt_node->rcv_buf_hiwater, @@ -785,10 +782,10 @@ siftr_siftdata(struct pkt_node *pn, struct inpcb *inp, struct tcpcb *tp, pn->rcv_scale = tp->rcv_scale; pn->conn_state = tp->t_state; pn->max_seg_size = tp->t_maxseg; - pn->smoothed_rtt = tp->t_srtt; + pn->srtt = ((u_int64_t)tp->t_srtt * tick) >> TCP_RTT_SHIFT; pn->sack_enabled = (tp->t_flags & TF_SACK_PERMIT) != 0; pn->flags = tp->t_flags; - pn->rxt_length = tp->t_rxtcur; + pn->rto = tp->t_rxtcur * tick; pn->snd_buf_hiwater = inp->inp_socket->so_snd.sb_hiwat; pn->snd_buf_cc = sbused(&inp->inp_socket->so_snd); pn->rcv_buf_hiwater = inp->inp_socket->so_rcv.sb_hiwat; @@ -1270,10 +1267,9 @@ siftr_manage_ops(uint8_t action) sbuf_printf(s, "enable_time_secs=%jd\tenable_time_usecs=%06ld\t" - "siftrver=%s\thz=%u\ttcp_rtt_scale=%u\tsysname=%s\t" - "sysver=%u\tipmode=%u\n", - (intmax_t)tval.tv_sec, tval.tv_usec, MODVERSION_STR, hz, - TCP_RTT_SCALE, SYS_NAME, __FreeBSD_version, SIFTR_IPMODE); + "siftrver=%s\tsysname=%s\tsysver=%u\tipmode=%u\n", + (intmax_t)tval.tv_sec, tval.tv_usec, MODVERSION_STR, + SYS_NAME, __FreeBSD_version, SIFTR_IPMODE); sbuf_finish(s); alq_writen(siftr_alq, sbuf_data(s), sbuf_len(s), ALQ_WAITOK); From nobody Tue Apr 25 21:52:56 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5bMt1Bvpz46mYC; Tue, 25 Apr 2023 21:52:58 +0000 (UTC) (envelope-from mhorne@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 4Q5bMt0G29z3hn8; Tue, 25 Apr 2023 21:52:58 +0000 (UTC) (envelope-from mhorne@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682459578; h=from:from:reply-to:subject: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=xLTxdPuel4FDYopvTe/21gLy4JQa5VkkUGNfT4Pwo9M=; b=TRN8hZqYXWFzX+s4/ZyHsjQOzGFFHqrnO+MWFlWImltja9L4kRMkTBKKSIsZFuCnrfU+2A Lr7zjo7vfkMp+iLZ6EmyIkJjCYcHtB0nip10pnpz+H5DXYhMav07Tjrupf7Mk6Kfgt8gJp a2eUL1B5d+db09KiEahIF5SCCowXRCQAiy4qqUqpYGcD+RrNSS/yhi0yAbg3XwE6lNuw5P 6Ho8hqvSxrbO7+ezuR2ZZ8nyor9iFnjywqM9gdzTYBKtI0piWRkEFctb4KKrK9HL2b0aio 36fXR+s3AmsBu8rhbu1s0jxFCV6JBlaXaQWYcAdcMx15uGJ6ScTZInfMynSemg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682459578; h=from:from:reply-to:subject: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=xLTxdPuel4FDYopvTe/21gLy4JQa5VkkUGNfT4Pwo9M=; b=k/bnbq1+XASZ3M49DfFavjYumILBteDs6ZWAvFRMb1IFfdu40gqGaraHKTc1H+qdIuttlx jsJLJj2WlT5kkVinwIThp/IO8Lx8EBVFZurIP8PDv6g+4N85pX87YzXCzJu7p3zCaldh3A PfFpGNE1y/SPruC8lBpDQmv5yQLkJlTYpSf/ZR5emjxswtjBVIeDBny7C18Ub9rSFr0j8p I+UH1voc7/Kdxa3jWqamuZX8+0JAOUq4n5eTaphuvR8/4baCJeKffRtPOTR26G8hKBByhq NStrYFcXwpuFs4pxCze31GCGeKpq4txWcIqyxg3WIUzrMVzzfnll3ANAyrj7ww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682459578; a=rsa-sha256; cv=none; b=GeiI5ARghMv/pj0PhjFl3EmwGuOJG+9fpuKnyCj+162lrvVXb+zfbnDT7lrCkjjB0kHXVS Ip2cbfKR0+HzeVtHbtWTnAVbaidZ72S2Wktva6d5f22WGuU2gzYnVqVgGqntSvotGNhPER MKJopjoI91RtBrI28E40NbV1VRpvFVjclMw5UO1jr4DVUle4olOts6ByxD5j7mnZd6PpRs 4Gx0CH/oCDiSLV34orK1Vz+a+eWYYKOFToBV15O/ctINChbwN6dmDzaJOZ9/1bIVp/GYaI 3nbBPOdssjPOnWNdalY8vAO0fZ/8+l2iVWQIFESuvYxJx5KYy2bYKLoXkQSD6w== Received: from [192.168.1.151] (host-173-212-76-127.public.eastlink.ca [173.212.76.127]) (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: mhorne) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Q5bMs4ZbXzJtb; Tue, 25 Apr 2023 21:52:57 +0000 (UTC) (envelope-from mhorne@freebsd.org) Message-ID: <1ead933c-2567-7b79-8761-2f900ccf9b76@freebsd.org> Date: Tue, 25 Apr 2023 18:52:56 -0300 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: git: d090464ecd4a - main - Change the unit of srtt and rto to usec, inspired by these in struct "tcp_info". Therefore, no need hz and tcp_rtt_scale in the headline of the log. Update the man page as well. Content-Language: en-CA To: Cheng Cui , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202304252126.33PLQsKe024634@gitrepo.freebsd.org> From: Mitchell Horne In-Reply-To: <202304252126.33PLQsKe024634@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On 4/25/23 18:26, Cheng Cui wrote: > The branch main has been updated by cc: > > URL: https://cgit.FreeBSD.org/src/commit/?id=d090464ecd4af5cd400ef5cbbfe8409d019eac34 > > commit d090464ecd4af5cd400ef5cbbfe8409d019eac34 > Author: Cheng Cui > AuthorDate: 2023-04-25 11:52:28 +0000 > Commit: Cheng Cui > CommitDate: 2023-04-25 17:26:39 +0000 > > Change the unit of srtt and rto to usec, inspired by these in struct "tcp_info". Therefore, no need hz and tcp_rtt_scale in the headline of the log. Update the man page as well. > > Summary: Simplify srtt and rto values in siftr log. > > Test Plan: > Tested in Emulab testbed: > cc@s1:~ % sudo sysctl net.inet.siftr > net.inet.siftr.port_filter: 0 > net.inet.siftr.genhashes: 0 > net.inet.siftr.ppl: 1 > net.inet.siftr.logfile: /var/log/siftr.log > net.inet.siftr.enabled: 0 > cc@s1:~ % sudo sysctl net.inet.siftr.port_filter=5001 > net.inet.siftr.port_filter: 0 -> 5001 > cc@s1:~ % sudo sysctl net.inet.siftr.enabled=1 > net.inet.siftr.enabled: 0 -> 1 > cc@s1:~ % > cc@s1:~ % iperf -c r1 -n 1M > ------------------------------------------------------------ > Client connecting to r1, TCP port 5001 > TCP window size: 32.0 KByte (default) > ------------------------------------------------------------ > [ 1] local 10.1.1.2 port 33817 connected with 10.1.1.3 port 5001 > [ ID] Interval Transfer Bandwidth > [ 1] 0.00-0.91 sec 1.00 MBytes 9.22 Mbits/sec > cc@s1:~ % sudo sysctl net.inet.siftr.enabled=0 > net.inet.siftr.enabled: 1 -> 0 > > cc@s1:~ % ll /var/log/siftr.log > -rw-r--r-- 1 root wheel 91K Apr 25 09:38 /var/log/siftr.log > cc@s1:~ % cat /var/log/siftr.log > enable_time_secs=1682437111 enable_time_usecs=121115 siftrver=1.3.0 sysname=FreeBSD sysver=1400088 ipmode=4 > o,0x00000000,1682437125.907343,10.1.1.2,33817,10.1.1.3,5001,1073725440,1073725440,2,0,0,0,0,2,536,0,1,672,1000000,32768,0,65536,0,0,0,0,0 > i,0x00000000,1682437126.106759,10.1.1.2,33817,10.1.1.3,5001,1073725440,1073725440,2,0,0,0,0,2,536,0,1,672,1000000,32768,0,65536,0,1,0,0,0 > o,0x00000000,1682437126.106767,10.1.1.2,33817,10.1.1.3,5001,1073725440,14480,2,65535,65700,9,9,4,1460,201000,1,16778209,803000,33580,0,65700,0,0,0,0,0 > o,0x00000000,1682437126.107141,10.1.1.2,33817,10.1.1.3,5001,1073725440,14480,2,65535,65700,9,9,4,1460,201000,1,16778208,803000,33580,60,65700,0,0,0,0,0 > ... > i,0x00000000,1682437127.016754,10.1.1.2,33817,10.1.1.3,5001,1073725440,606109,1030,748544,66048,9,9,9,1460,100812,1,1008,303000,475948,0,65700,0,0,0,0,0 > o,0x00000000,1682437127.016759,10.1.1.2,33817,10.1.1.3,5001,1073725440,606109,1030,748544,66048,9,9,10,1460,100812,1,1011,303000,475948,0,65700,0,0,0,0,0 > disable_time_secs=1682437131 disable_time_usecs=767582 num_inbound_tcp_pkts=371 num_outbound_tcp_pkts=186 total_tcp_pkts=557 num_inbound_skipped_pkts_malloc=0 num_outbound_skipped_pkts_malloc=0 num_inbound_skipped_pkts_tcpcb=0 num_outbound_skipped_pkts_tcpcb=0 num_inbound_skipped_pkts_inpcb=0 num_outbound_skipped_pkts_inpcb=0 total_skipped_tcp_pkts=0 flow_list=10.1.1.2;33817-10.1.1.3;5001, > > Reviewers: rscheff, tuexen > Approved by: rscheff, tuexen > Subscribers: imp, melifaro, glebius > Differential Revision: https://reviews.freebsd.org/D39803 > --- > share/man/man4/siftr.4 | 21 +++------------------ > sys/netinet/siftr.c | 34 +++++++++++++++------------------- > 2 files changed, 18 insertions(+), 37 deletions(-) > Hello, This commit message is messy, and not easily understood. In particular the subject line should be shorter, and the 'Test Plan' probably should have been removed completely. The full set of guidelines for commit messages is documented in the Committers Guide: https://docs.freebsd.org/en/articles/committers-guide/#commit-log-message Next time you will need to clean up the message before pushing. Unfortunately the default output of the 'arc' tool does not generate a message that meets the guidelines. Ask your mentors for more information if you need it. Now you know :) Cheers, Mitchell > diff --git a/share/man/man4/siftr.4 b/share/man/man4/siftr.4 > index 0406a38779b6..78eb755ddef1 100644 > --- a/share/man/man4/siftr.4 > +++ b/share/man/man4/siftr.4 > @@ -29,7 +29,7 @@ > .\" > .\" $FreeBSD$ > .\" > -.Dd April 24, 2023 > +.Dd April 25, 2023 > .Dt SIFTR 4 > .Os > .Sh NAME > @@ -175,14 +175,6 @@ version of > .Nm . > .El > .Bl -tag -offset indent -width Va > -.It Va hz > -tick rate of the kernel in ticks per second. > -.El > -.Bl -tag -offset indent -width Va > -.It Va tcp_rtt_scale > -smoothed RTT estimate scaling factor. > -.El > -.Bl -tag -offset indent -width Va > .It Va sysname > operating system name. > .El > @@ -294,11 +286,7 @@ The maximum segment size for the flow, in bytes. > .El > .Bl -tag -offset indent -width Va > .It Va 17 > -The current smoothed RTT estimate for the flow, in units of TCP_RTT_SCALE * HZ, > -where TCP_RTT_SCALE is a define found in tcp_var.h, and HZ is the kernel's tick > -timer. > -Divide by TCP_RTT_SCALE * HZ to get the RTT in secs. > -TCP_RTT_SCALE and HZ are reported in the enable log message. > +The current smoothed RTT estimate for the flow, in units of microsecond. > .El > .Bl -tag -offset indent -width Va > .It Va 18 > @@ -313,10 +301,7 @@ for information about the various flags. > .El > .Bl -tag -offset indent -width Va > .It Va 20 > -The current retransmission timeout length for the flow, in units of HZ, where HZ > -is the kernel's tick timer. > -Divide by HZ to get the timeout length in seconds. > -HZ is reported in the enable log message. > +The current retransmission timeout length for the flow, in units microsecond. > .El > .Bl -tag -offset indent -width Va > .It Va 21 > diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c > index a23980704e17..05104627910d 100644 > --- a/sys/netinet/siftr.c > +++ b/sys/netinet/siftr.c > @@ -207,11 +207,8 @@ struct pkt_node { > int conn_state; > /* Max Segment Size (bytes). */ > u_int max_seg_size; > - /* > - * Smoothed RTT stored as found in the TCP control block > - * in units of (TCP_RTT_SCALE*hz). > - */ > - int smoothed_rtt; > + /* Smoothed RTT (usecs). */ > + uint32_t srtt; > /* Is SACK enabled? */ > u_char sack_enabled; > /* Window scaling for snd window. */ > @@ -220,8 +217,8 @@ struct pkt_node { > u_char rcv_scale; > /* TCP control block flags. */ > u_int flags; > - /* Retransmit timeout length. */ > - int rxt_length; > + /* Retransmission timeout (usec). */ > + uint32_t rto; > /* Size of the TCP send buffer in bytes. */ > u_int snd_buf_hiwater; > /* Current num bytes in the send socket buffer. */ > @@ -453,7 +450,7 @@ siftr_process_pkt(struct pkt_node * pkt_node) > MAX_LOG_MSG_LEN, > "%c,0x%08x,%zd.%06ld,%x:%x:%x:%x:%x:%x:%x:%x,%u,%x:%x:%x:" > "%x:%x:%x:%x:%x,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u," > - "%u,%d,%u,%u,%u,%u,%u,%u,%u,%u\n", > + "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u\n", > direction[pkt_node->direction], > pkt_node->hash, > pkt_node->tval.tv_sec, > @@ -485,10 +482,10 @@ siftr_process_pkt(struct pkt_node * pkt_node) > pkt_node->rcv_scale, > pkt_node->conn_state, > pkt_node->max_seg_size, > - pkt_node->smoothed_rtt, > + pkt_node->srtt, > pkt_node->sack_enabled, > pkt_node->flags, > - pkt_node->rxt_length, > + pkt_node->rto, > pkt_node->snd_buf_hiwater, > pkt_node->snd_buf_cc, > pkt_node->rcv_buf_hiwater, > @@ -512,7 +509,7 @@ siftr_process_pkt(struct pkt_node * pkt_node) > log_buf->ae_bytesused = snprintf(log_buf->ae_data, > MAX_LOG_MSG_LEN, > "%c,0x%08x,%jd.%06ld,%u.%u.%u.%u,%u,%u.%u.%u.%u,%u,%u,%u," > - "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%d,%u,%u,%u,%u,%u,%u,%u,%u\n", > + "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u\n", > direction[pkt_node->direction], > pkt_node->hash, > (intmax_t)pkt_node->tval.tv_sec, > @@ -536,10 +533,10 @@ siftr_process_pkt(struct pkt_node * pkt_node) > pkt_node->rcv_scale, > pkt_node->conn_state, > pkt_node->max_seg_size, > - pkt_node->smoothed_rtt, > + pkt_node->srtt, > pkt_node->sack_enabled, > pkt_node->flags, > - pkt_node->rxt_length, > + pkt_node->rto, > pkt_node->snd_buf_hiwater, > pkt_node->snd_buf_cc, > pkt_node->rcv_buf_hiwater, > @@ -785,10 +782,10 @@ siftr_siftdata(struct pkt_node *pn, struct inpcb *inp, struct tcpcb *tp, > pn->rcv_scale = tp->rcv_scale; > pn->conn_state = tp->t_state; > pn->max_seg_size = tp->t_maxseg; > - pn->smoothed_rtt = tp->t_srtt; > + pn->srtt = ((u_int64_t)tp->t_srtt * tick) >> TCP_RTT_SHIFT; > pn->sack_enabled = (tp->t_flags & TF_SACK_PERMIT) != 0; > pn->flags = tp->t_flags; > - pn->rxt_length = tp->t_rxtcur; > + pn->rto = tp->t_rxtcur * tick; > pn->snd_buf_hiwater = inp->inp_socket->so_snd.sb_hiwat; > pn->snd_buf_cc = sbused(&inp->inp_socket->so_snd); > pn->rcv_buf_hiwater = inp->inp_socket->so_rcv.sb_hiwat; > @@ -1270,10 +1267,9 @@ siftr_manage_ops(uint8_t action) > > sbuf_printf(s, > "enable_time_secs=%jd\tenable_time_usecs=%06ld\t" > - "siftrver=%s\thz=%u\ttcp_rtt_scale=%u\tsysname=%s\t" > - "sysver=%u\tipmode=%u\n", > - (intmax_t)tval.tv_sec, tval.tv_usec, MODVERSION_STR, hz, > - TCP_RTT_SCALE, SYS_NAME, __FreeBSD_version, SIFTR_IPMODE); > + "siftrver=%s\tsysname=%s\tsysver=%u\tipmode=%u\n", > + (intmax_t)tval.tv_sec, tval.tv_usec, MODVERSION_STR, > + SYS_NAME, __FreeBSD_version, SIFTR_IPMODE); > > sbuf_finish(s); > alq_writen(siftr_alq, sbuf_data(s), sbuf_len(s), ALQ_WAITOK); From nobody Tue Apr 25 22:02:43 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5bbQ48ngz46n8n; Tue, 25 Apr 2023 22:02:58 +0000 (UTC) (envelope-from ccfreebsd@gmail.com) Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) (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 4Q5bbQ1CDSz3jxL; Tue, 25 Apr 2023 22:02:58 +0000 (UTC) (envelope-from ccfreebsd@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-2a8bdcf87f4so58426881fa.2; Tue, 25 Apr 2023 15:02:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682460176; x=1685052176; 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=AyNSqiv8y6KArQqjsrKT9xtW5ugWsoXySqG2Cs4yg68=; b=XozP77se3pw7Lj3wEEmXEsyiMXoC51gRaEu3B09UiQc3RX9mqVtHlumgaXRSfsflJT Ais8+N3Goa8YZnB3Gz+2dPI1dRhD8Lhcof3cK7YK3Puizsy/vaXwl8aqZx49d9SXn0Se Gmu7ExXLaRTaUT3FWKBy4UPEl54el+0ZX85cJjbHOR8JipN36djS7JCTgUqmTRr3m36B 3PCVaKOb1Ua340Q8M5VgI5WbQDRwgG4GV+2vTdjSuMjLzmEcRAFJmUmqVa5lt59tDRDU EcC9nrX3jOI7ZXFXnOEhihVten1p6gZBpCqLcY43nlRBnAEuHficiI3EQUoptgaBGP9j yv0g== X-Gm-Message-State: AAQBX9emhiUFlBt6SqQtAzH2iD4Qa3P5ldJjLFqkYqxArOIbdrApkCV/ NJZZlLKr3i9td3XNejO7w5wCUNoqtD4pIg== X-Google-Smtp-Source: AKy350aYPH2L3Sv2XX4LOerN5LvuWHyxcdAlECXDsBpuQumpeJQRwbZmZKmo4xns/0C/SnDbkzExsw== X-Received: by 2002:a2e:9b44:0:b0:2a8:bd3a:d418 with SMTP id o4-20020a2e9b44000000b002a8bd3ad418mr3802540ljj.52.1682460175837; Tue, 25 Apr 2023 15:02:55 -0700 (PDT) Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com. [209.85.208.181]) by smtp.gmail.com with ESMTPSA id k21-20020a2e8895000000b002aa3ad9014asm1942935lji.54.2023.04.25.15.02.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 25 Apr 2023 15:02:55 -0700 (PDT) Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-2a8bdcf87f4so58426571fa.2; Tue, 25 Apr 2023 15:02:55 -0700 (PDT) X-Received: by 2002:a2e:960d:0:b0:2a5:f82e:e2a6 with SMTP id v13-20020a2e960d000000b002a5f82ee2a6mr4417649ljh.47.1682460174812; Tue, 25 Apr 2023 15:02:54 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202304252126.33PLQsKe024634@gitrepo.freebsd.org> <1ead933c-2567-7b79-8761-2f900ccf9b76@freebsd.org> In-Reply-To: <1ead933c-2567-7b79-8761-2f900ccf9b76@freebsd.org> From: Cheng Cui Date: Tue, 25 Apr 2023 18:02:43 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: d090464ecd4a - main - Change the unit of srtt and rto to usec, inspired by these in struct "tcp_info". Therefore, no need hz and tcp_rtt_scale in the headline of the log. Update the man page as well. To: Mitchell Horne Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000118c9e05fa304989" X-Rspamd-Queue-Id: 4Q5bbQ1CDSz3jxL 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 --000000000000118c9e05fa304989 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Apologize. I am thinking there must be some mess up between 'arc' and 'git commit --amend', as my original git commit message was well organized into 72 chars-per-line. The test plan added by the 'arc' during "arc diff --create" (I thought this command is used to create the Phabricator review page) is automatically mixed into the updated git message. My mentor already notified me about this mess. Now I know how to reproduce this problem, and I will take care of it in the future. :) Best Regards, Cheng Cui On Tue, Apr 25, 2023 at 5:52=E2=80=AFPM Mitchell Horne = wrote: > > > On 4/25/23 18:26, Cheng Cui wrote: > > The branch main has been updated by cc: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3Dd090464ecd4af5cd400ef5cbbfe8409= d019eac34 > > > > commit d090464ecd4af5cd400ef5cbbfe8409d019eac34 > > Author: Cheng Cui > > AuthorDate: 2023-04-25 11:52:28 +0000 > > Commit: Cheng Cui > > CommitDate: 2023-04-25 17:26:39 +0000 > > > > Change the unit of srtt and rto to usec, inspired by these in > struct "tcp_info". Therefore, no need hz and tcp_rtt_scale in the headlin= e > of the log. Update the man page as well. > > > > Summary: Simplify srtt and rto values in siftr log. > > > > Test Plan: > > Tested in Emulab testbed: > > cc@s1:~ % sudo sysctl net.inet.siftr > > net.inet.siftr.port_filter: 0 > > net.inet.siftr.genhashes: 0 > > net.inet.siftr.ppl: 1 > > net.inet.siftr.logfile: /var/log/siftr.log > > net.inet.siftr.enabled: 0 > > cc@s1:~ % sudo sysctl net.inet.siftr.port_filter=3D5001 > > net.inet.siftr.port_filter: 0 -> 5001 > > cc@s1:~ % sudo sysctl net.inet.siftr.enabled=3D1 > > net.inet.siftr.enabled: 0 -> 1 > > cc@s1:~ % > > cc@s1:~ % iperf -c r1 -n 1M > > ------------------------------------------------------------ > > Client connecting to r1, TCP port 5001 > > TCP window size: 32.0 KByte (default) > > ------------------------------------------------------------ > > [ 1] local 10.1.1.2 port 33817 connected with 10.1.1.3 port 5001 > > [ ID] Interval Transfer Bandwidth > > [ 1] 0.00-0.91 sec 1.00 MBytes 9.22 Mbits/sec > > cc@s1:~ % sudo sysctl net.inet.siftr.enabled=3D0 > > net.inet.siftr.enabled: 1 -> 0 > > > > cc@s1:~ % ll /var/log/siftr.log > > -rw-r--r-- 1 root wheel 91K Apr 25 09:38 /var/log/siftr.log > > cc@s1:~ % cat /var/log/siftr.log > > enable_time_secs=3D1682437111 enable_time_usecs=3D121115 > siftrver=3D1.3.0 sysname=3DFreeBSD sysver=3D1400088 ipmode=3D4 > > > o,0x00000000,1682437125.907343,10.1.1.2,33817,10.1.1.3,5001,1073725440,10= 73725440,2,0,0,0,0,2,536,0,1,672,1000000,32768,0,65536,0,0,0,0,0 > > > i,0x00000000,1682437126.106759,10.1.1.2,33817,10.1.1.3,5001,1073725440,10= 73725440,2,0,0,0,0,2,536,0,1,672,1000000,32768,0,65536,0,1,0,0,0 > > > o,0x00000000,1682437126.106767,10.1.1.2,33817,10.1.1.3,5001,1073725440,14= 480,2,65535,65700,9,9,4,1460,201000,1,16778209,803000,33580,0,65700,0,0,0,0= ,0 > > > o,0x00000000,1682437126.107141,10.1.1.2,33817,10.1.1.3,5001,1073725440,14= 480,2,65535,65700,9,9,4,1460,201000,1,16778208,803000,33580,60,65700,0,0,0,= 0,0 > > ... > > > i,0x00000000,1682437127.016754,10.1.1.2,33817,10.1.1.3,5001,1073725440,60= 6109,1030,748544,66048,9,9,9,1460,100812,1,1008,303000,475948,0,65700,0,0,0= ,0,0 > > > o,0x00000000,1682437127.016759,10.1.1.2,33817,10.1.1.3,5001,1073725440,60= 6109,1030,748544,66048,9,9,10,1460,100812,1,1011,303000,475948,0,65700,0,0,= 0,0,0 > > disable_time_secs=3D1682437131 disable_time_usecs=3D767582 > num_inbound_tcp_pkts=3D371 num_outbound_tcp_pkts=3D186 > total_tcp_pkts=3D557 num_inbound_skipped_pkts_malloc=3D0 > num_outbound_skipped_pkts_malloc=3D0 num_inbound_skipped_pkts_tcpcb= =3D0 > num_outbound_skipped_pkts_tcpcb=3D0 > num_inbound_skipped_pkts_inpcb=3D0 num_outbound_skipped_pkts_inpc= b=3D0 > total_skipped_tcp_pkts=3D0 flow_list=3D10.1.1.2;33817-10.1.1.= 3;5001, > > > > Reviewers: rscheff, tuexen > > Approved by: rscheff, tuexen > > Subscribers: imp, melifaro, glebius > > Differential Revision: https://reviews.freebsd.org/D39803 > > --- > > share/man/man4/siftr.4 | 21 +++------------------ > > sys/netinet/siftr.c | 34 +++++++++++++++------------------- > > 2 files changed, 18 insertions(+), 37 deletions(-) > > > > Hello, > > This commit message is messy, and not easily understood. In particular > the subject line should be shorter, and the 'Test Plan' probably should > have been removed completely. > > The full set of guidelines for commit messages is documented in the > Committers Guide: > https://docs.freebsd.org/en/articles/committers-guide/#commit-log-message > > Next time you will need to clean up the message before pushing. > Unfortunately the default output of the 'arc' tool does not generate a > message that meets the guidelines. Ask your mentors for more information > if you need it. Now you know :) > > Cheers, > Mitchell > > > diff --git a/share/man/man4/siftr.4 b/share/man/man4/siftr.4 > > index 0406a38779b6..78eb755ddef1 100644 > > --- a/share/man/man4/siftr.4 > > +++ b/share/man/man4/siftr.4 > > @@ -29,7 +29,7 @@ > > .\" > > .\" $FreeBSD$ > > .\" > > -.Dd April 24, 2023 > > +.Dd April 25, 2023 > > .Dt SIFTR 4 > > .Os > > .Sh NAME > > @@ -175,14 +175,6 @@ version of > > .Nm . > > .El > > .Bl -tag -offset indent -width Va > > -.It Va hz > > -tick rate of the kernel in ticks per second. > > -.El > > -.Bl -tag -offset indent -width Va > > -.It Va tcp_rtt_scale > > -smoothed RTT estimate scaling factor. > > -.El > > -.Bl -tag -offset indent -width Va > > .It Va sysname > > operating system name. > > .El > > @@ -294,11 +286,7 @@ The maximum segment size for the flow, in bytes. > > .El > > .Bl -tag -offset indent -width Va > > .It Va 17 > > -The current smoothed RTT estimate for the flow, in units of > TCP_RTT_SCALE * HZ, > > -where TCP_RTT_SCALE is a define found in tcp_var.h, and HZ is the > kernel's tick > > -timer. > > -Divide by TCP_RTT_SCALE * HZ to get the RTT in secs. > > -TCP_RTT_SCALE and HZ are reported in the enable log message. > > +The current smoothed RTT estimate for the flow, in units of microsecon= d. > > .El > > .Bl -tag -offset indent -width Va > > .It Va 18 > > @@ -313,10 +301,7 @@ for information about the various flags. > > .El > > .Bl -tag -offset indent -width Va > > .It Va 20 > > -The current retransmission timeout length for the flow, in units of HZ= , > where HZ > > -is the kernel's tick timer. > > -Divide by HZ to get the timeout length in seconds. > > -HZ is reported in the enable log message. > > +The current retransmission timeout length for the flow, in units > microsecond. > > .El > > .Bl -tag -offset indent -width Va > > .It Va 21 > > diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c > > index a23980704e17..05104627910d 100644 > > --- a/sys/netinet/siftr.c > > +++ b/sys/netinet/siftr.c > > @@ -207,11 +207,8 @@ struct pkt_node { > > int conn_state; > > /* Max Segment Size (bytes). */ > > u_int max_seg_size; > > - /* > > - * Smoothed RTT stored as found in the TCP control block > > - * in units of (TCP_RTT_SCALE*hz). > > - */ > > - int smoothed_rtt; > > + /* Smoothed RTT (usecs). */ > > + uint32_t srtt; > > /* Is SACK enabled? */ > > u_char sack_enabled; > > /* Window scaling for snd window. */ > > @@ -220,8 +217,8 @@ struct pkt_node { > > u_char rcv_scale; > > /* TCP control block flags. */ > > u_int flags; > > - /* Retransmit timeout length. */ > > - int rxt_length; > > + /* Retransmission timeout (usec). */ > > + uint32_t rto; > > /* Size of the TCP send buffer in bytes. */ > > u_int snd_buf_hiwater; > > /* Current num bytes in the send socket buffer. */ > > @@ -453,7 +450,7 @@ siftr_process_pkt(struct pkt_node * pkt_node) > > MAX_LOG_MSG_LEN, > > > "%c,0x%08x,%zd.%06ld,%x:%x:%x:%x:%x:%x:%x:%x,%u,%x:%x:%x:" > > "%x:%x:%x:%x:%x,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u," > > - "%u,%d,%u,%u,%u,%u,%u,%u,%u,%u\n", > > + "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u\n", > > direction[pkt_node->direction], > > pkt_node->hash, > > pkt_node->tval.tv_sec, > > @@ -485,10 +482,10 @@ siftr_process_pkt(struct pkt_node * pkt_node) > > pkt_node->rcv_scale, > > pkt_node->conn_state, > > pkt_node->max_seg_size, > > - pkt_node->smoothed_rtt, > > + pkt_node->srtt, > > pkt_node->sack_enabled, > > pkt_node->flags, > > - pkt_node->rxt_length, > > + pkt_node->rto, > > pkt_node->snd_buf_hiwater, > > pkt_node->snd_buf_cc, > > pkt_node->rcv_buf_hiwater, > > @@ -512,7 +509,7 @@ siftr_process_pkt(struct pkt_node * pkt_node) > > log_buf->ae_bytesused =3D snprintf(log_buf->ae_data, > > MAX_LOG_MSG_LEN, > > > "%c,0x%08x,%jd.%06ld,%u.%u.%u.%u,%u,%u.%u.%u.%u,%u,%u,%u," > > - > "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%d,%u,%u,%u,%u,%u,%u,%u,%u\n", > > + > "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u\n", > > direction[pkt_node->direction], > > pkt_node->hash, > > (intmax_t)pkt_node->tval.tv_sec, > > @@ -536,10 +533,10 @@ siftr_process_pkt(struct pkt_node * pkt_node) > > pkt_node->rcv_scale, > > pkt_node->conn_state, > > pkt_node->max_seg_size, > > - pkt_node->smoothed_rtt, > > + pkt_node->srtt, > > pkt_node->sack_enabled, > > pkt_node->flags, > > - pkt_node->rxt_length, > > + pkt_node->rto, > > pkt_node->snd_buf_hiwater, > > pkt_node->snd_buf_cc, > > pkt_node->rcv_buf_hiwater, > > @@ -785,10 +782,10 @@ siftr_siftdata(struct pkt_node *pn, struct inpcb > *inp, struct tcpcb *tp, > > pn->rcv_scale =3D tp->rcv_scale; > > pn->conn_state =3D tp->t_state; > > pn->max_seg_size =3D tp->t_maxseg; > > - pn->smoothed_rtt =3D tp->t_srtt; > > + pn->srtt =3D ((u_int64_t)tp->t_srtt * tick) >> TCP_RTT_SHIFT; > > pn->sack_enabled =3D (tp->t_flags & TF_SACK_PERMIT) !=3D 0; > > pn->flags =3D tp->t_flags; > > - pn->rxt_length =3D tp->t_rxtcur; > > + pn->rto =3D tp->t_rxtcur * tick; > > pn->snd_buf_hiwater =3D inp->inp_socket->so_snd.sb_hiwat; > > pn->snd_buf_cc =3D sbused(&inp->inp_socket->so_snd); > > pn->rcv_buf_hiwater =3D inp->inp_socket->so_rcv.sb_hiwat; > > @@ -1270,10 +1267,9 @@ siftr_manage_ops(uint8_t action) > > > > sbuf_printf(s, > > "enable_time_secs=3D%jd\tenable_time_usecs=3D%06ld\t" > > - "siftrver=3D%s\thz=3D%u\ttcp_rtt_scale=3D%u\tsysname= =3D%s\t" > > - "sysver=3D%u\tipmode=3D%u\n", > > - (intmax_t)tval.tv_sec, tval.tv_usec, MODVERSION_STR, > hz, > > - TCP_RTT_SCALE, SYS_NAME, __FreeBSD_version, > SIFTR_IPMODE); > > + "siftrver=3D%s\tsysname=3D%s\tsysver=3D%u\tipmode=3D%= u\n", > > + (intmax_t)tval.tv_sec, tval.tv_usec, MODVERSION_STR, > > + SYS_NAME, __FreeBSD_version, SIFTR_IPMODE); > > > > sbuf_finish(s); > > alq_writen(siftr_alq, sbuf_data(s), sbuf_len(s), > ALQ_WAITOK); > --000000000000118c9e05fa304989 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Apologize. I am thinking there must be some mess up b= etween 'arc' and 'git commit --amend',
as my orig= inal git commit message was well organized into 72 chars-per-line. The test= plan
added by the 'arc' during=C2=A0 "arc dif= f --create" (I thought this command is used to create the
=
Phabricator review page) is automatically mixed into the updated git m= essage.

My mentor already notified me about this m= ess. Now I know how to reproduce this problem,
and I = will take care of it in the future. :)

Best Regards,
Cheng Cui


On Tue, Apr 25, 2023 at 5:52=E2=80=AFPM Mitchell Hor= ne <mhorne@freebsd.org> wro= te:


On 4/25/23 18:26, Cheng Cui wrote:
> The branch main has been updated by cc:
>
> URL: https://= cgit.FreeBSD.org/src/commit/?id=3Dd090464ecd4af5cd400ef5cbbfe8409d019eac34<= /a>
>
> commit d090464ecd4af5cd400ef5cbbfe8409d019eac34
> Author:=C2=A0 =C2=A0 =C2=A0Cheng Cui <cc@FreeBSD.org>
> AuthorDate: 2023-04-25 11:52:28 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Cheng Cui <cc@FreeBSD.org>
> CommitDate: 2023-04-25 17:26:39 +0000
>
>=C2=A0 =C2=A0 =C2=A0 Change the unit of srtt and rto to usec, inspired = by these in struct "tcp_info". Therefore, no need hz and tcp_rtt_= scale in the headline of the log. Update the man page as well.
>=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 Summary: Simplify srtt and rto values in siftr log= .
>=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 Test Plan:
>=C2=A0 =C2=A0 =C2=A0 Tested in Emulab testbed:
>=C2=A0 =C2=A0 =C2=A0 cc@s1:~ % sudo sysctl net.inet.siftr
>=C2=A0 =C2=A0 =C2=A0 net.inet.siftr.port_filter: 0
>=C2=A0 =C2=A0 =C2=A0 net.inet.siftr.genhashes: 0
>=C2=A0 =C2=A0 =C2=A0 net.inet.siftr.ppl: 1
>=C2=A0 =C2=A0 =C2=A0 net.inet.siftr.logfile: /var/log/siftr.log
>=C2=A0 =C2=A0 =C2=A0 net.inet.siftr.enabled: 0
>=C2=A0 =C2=A0 =C2=A0 cc@s1:~ % sudo sysctl net.inet.siftr.port_filter= =3D5001
>=C2=A0 =C2=A0 =C2=A0 net.inet.siftr.port_filter: 0 -> 5001
>=C2=A0 =C2=A0 =C2=A0 cc@s1:~ % sudo sysctl net.inet.siftr.enabled=3D1 >=C2=A0 =C2=A0 =C2=A0 net.inet.siftr.enabled: 0 -> 1
>=C2=A0 =C2=A0 =C2=A0 cc@s1:~ %
>=C2=A0 =C2=A0 =C2=A0 cc@s1:~ % iperf -c r1 -n 1M
>=C2=A0 =C2=A0 =C2=A0 --------------------------------------------------= ----------
>=C2=A0 =C2=A0 =C2=A0 Client connecting to r1, TCP port 5001
>=C2=A0 =C2=A0 =C2=A0 TCP window size: 32.0 KByte (default)
>=C2=A0 =C2=A0 =C2=A0 --------------------------------------------------= ----------
>=C2=A0 =C2=A0 =C2=A0 [=C2=A0 1] local 10.1.1.2 port 33817 connected wit= h 10.1.1.3 port 5001
>=C2=A0 =C2=A0 =C2=A0 [ ID] Interval=C2=A0 =C2=A0 =C2=A0 =C2=A0Transfer= =C2=A0 =C2=A0 =C2=A0Bandwidth
>=C2=A0 =C2=A0 =C2=A0 [=C2=A0 1] 0.00-0.91 sec=C2=A0 1.00 MBytes=C2=A0 9= .22 Mbits/sec
>=C2=A0 =C2=A0 =C2=A0 cc@s1:~ % sudo sysctl net.inet.siftr.enabled=3D0 >=C2=A0 =C2=A0 =C2=A0 net.inet.siftr.enabled: 1 -> 0
>=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 cc@s1:~ % ll /var/log/siftr.log
>=C2=A0 =C2=A0 =C2=A0 -rw-r--r--=C2=A0 1 root=C2=A0 wheel=C2=A0 =C2=A0 9= 1K Apr 25 09:38 /var/log/siftr.log
>=C2=A0 =C2=A0 =C2=A0 cc@s1:~ % cat /var/log/siftr.log
>=C2=A0 =C2=A0 =C2=A0 enable_time_secs=3D1682437111=C2=A0 =C2=A0 =C2=A0e= nable_time_usecs=3D121115=C2=A0 =C2=A0 =C2=A0 =C2=A0 siftrver=3D1.3.0=C2=A0= sysname=3DFreeBSD sysver=3D1400088=C2=A0 ipmode=3D4
>=C2=A0 =C2=A0 =C2=A0 o,0x00000000,1682437125.907343,10.1.1.2,33817,10.1= .1.3,5001,1073725440,1073725440,2,0,0,0,0,2,536,0,1,672,1000000,32768,0,655= 36,0,0,0,0,0
>=C2=A0 =C2=A0 =C2=A0 i,0x00000000,1682437126.106759,10.1.1.2,33817,10.1= .1.3,5001,1073725440,1073725440,2,0,0,0,0,2,536,0,1,672,1000000,32768,0,655= 36,0,1,0,0,0
>=C2=A0 =C2=A0 =C2=A0 o,0x00000000,1682437126.106767,10.1.1.2,33817,10.1= .1.3,5001,1073725440,14480,2,65535,65700,9,9,4,1460,201000,1,16778209,80300= 0,33580,0,65700,0,0,0,0,0
>=C2=A0 =C2=A0 =C2=A0 o,0x00000000,1682437126.107141,10.1.1.2,33817,10.1= .1.3,5001,1073725440,14480,2,65535,65700,9,9,4,1460,201000,1,16778208,80300= 0,33580,60,65700,0,0,0,0,0
>=C2=A0 =C2=A0 =C2=A0 ...
>=C2=A0 =C2=A0 =C2=A0 i,0x00000000,1682437127.016754,10.1.1.2,33817,10.1= .1.3,5001,1073725440,606109,1030,748544,66048,9,9,9,1460,100812,1,1008,3030= 00,475948,0,65700,0,0,0,0,0
>=C2=A0 =C2=A0 =C2=A0 o,0x00000000,1682437127.016759,10.1.1.2,33817,10.1= .1.3,5001,1073725440,606109,1030,748544,66048,9,9,10,1460,100812,1,1011,303= 000,475948,0,65700,0,0,0,0,0
>=C2=A0 =C2=A0 =C2=A0 disable_time_secs=3D1682437131=C2=A0 =C2=A0 disabl= e_time_usecs=3D767582=C2=A0 =C2=A0 =C2=A0 =C2=A0num_inbound_tcp_pkts=3D371= =C2=A0 =C2=A0 =C2=A0 =C2=A0 num_outbound_tcp_pkts=3D186=C2=A0 =C2=A0 =C2=A0= =C2=A0total_tcp_pkts=3D557=C2=A0 =C2=A0 =C2=A0 num_inbound_skipped_pkts_ma= lloc=3D0=C2=A0 =C2=A0 =C2=A0 =C2=A0num_outbound_skipped_pkts_malloc=3D0=C2= =A0 =C2=A0 =C2=A0 num_inbound_skipped_pkts_tcpcb=3D0=C2=A0 =C2=A0 =C2=A0 = =C2=A0 num_outbound_skipped_pkts_tcpcb=3D0=C2=A0 =C2=A0 =C2=A0 =C2=A0num_in= bound_skipped_pkts_inpcb=3D0=C2=A0 =C2=A0 =C2=A0 =C2=A0 num_outbound_skippe= d_pkts_inpcb=3D0=C2=A0 =C2=A0 =C2=A0 =C2=A0total_skipped_tcp_pkts=3D0=C2=A0= =C2=A0 =C2=A0 =C2=A0 flow_list=3D10.1.1.2;33817-10.1.1.3;5001,
>=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 Reviewers: rscheff, tuexen
>=C2=A0 =C2=A0 =C2=A0 Approved by: rscheff, tuexen
>=C2=A0 =C2=A0 =C2=A0 Subscribers: imp, melifaro, glebius
>=C2=A0 =C2=A0 =C2=A0 Differential Revision:
https://reviews.fr= eebsd.org/D39803
> ---
>=C2=A0 =C2=A0share/man/man4/siftr.4 | 21 +++------------------
>=C2=A0 =C2=A0sys/netinet/siftr.c=C2=A0 =C2=A0 | 34 +++++++++++++++-----= --------------
>=C2=A0 =C2=A02 files changed, 18 insertions(+), 37 deletions(-)
>

Hello,

This commit message is messy, and not easily understood. In particular
the subject line should be shorter, and the 'Test Plan' probably sh= ould
have been removed completely.

The full set of guidelines for commit messages is documented in the
Committers Guide:
https://docs.freebsd.org/en= /articles/committers-guide/#commit-log-message

Next time you will need to clean up the message before pushing.
Unfortunately the default output of the 'arc' tool does not generat= e a
message that meets the guidelines. Ask your mentors for more information if you need it. Now you know :)

Cheers,
Mitchell

> diff --git a/share/man/man4/siftr.4 b/share/man/man4/siftr.4
> index 0406a38779b6..78eb755ddef1 100644
> --- a/share/man/man4/siftr.4
> +++ b/share/man/man4/siftr.4
> @@ -29,7 +29,7 @@
>=C2=A0 =C2=A0.\"
>=C2=A0 =C2=A0.\" $FreeBSD$
>=C2=A0 =C2=A0.\"
> -.Dd April 24, 2023
> +.Dd April 25, 2023
>=C2=A0 =C2=A0.Dt SIFTR 4
>=C2=A0 =C2=A0.Os
>=C2=A0 =C2=A0.Sh NAME
> @@ -175,14 +175,6 @@ version of
>=C2=A0 =C2=A0.Nm .
>=C2=A0 =C2=A0.El
>=C2=A0 =C2=A0.Bl -tag -offset indent -width Va
> -.It Va hz
> -tick rate of the kernel in ticks per second.
> -.El
> -.Bl -tag -offset indent -width Va
> -.It Va tcp_rtt_scale
> -smoothed RTT estimate scaling factor.
> -.El
> -.Bl -tag -offset indent -width Va
>=C2=A0 =C2=A0.It Va sysname
>=C2=A0 =C2=A0operating system name.
>=C2=A0 =C2=A0.El
> @@ -294,11 +286,7 @@ The maximum segment size for the flow, in bytes.<= br> >=C2=A0 =C2=A0.El
>=C2=A0 =C2=A0.Bl -tag -offset indent -width Va
>=C2=A0 =C2=A0.It Va 17
> -The current smoothed RTT estimate for the flow, in units of TCP_RTT_S= CALE * HZ,
> -where TCP_RTT_SCALE is a define found in tcp_var.h, and HZ is the ker= nel's tick
> -timer.
> -Divide by TCP_RTT_SCALE * HZ to get the RTT in secs.
> -TCP_RTT_SCALE and HZ are reported in the enable log message.
> +The current smoothed RTT estimate for the flow, in units of microseco= nd.
>=C2=A0 =C2=A0.El
>=C2=A0 =C2=A0.Bl -tag -offset indent -width Va
>=C2=A0 =C2=A0.It Va 18
> @@ -313,10 +301,7 @@ for information about the various flags.
>=C2=A0 =C2=A0.El
>=C2=A0 =C2=A0.Bl -tag -offset indent -width Va
>=C2=A0 =C2=A0.It Va 20
> -The current retransmission timeout length for the flow, in units of H= Z, where HZ
> -is the kernel's tick timer.
> -Divide by HZ to get the timeout length in seconds.
> -HZ is reported in the enable log message.
> +The current retransmission timeout length for the flow, in units micr= osecond.
>=C2=A0 =C2=A0.El
>=C2=A0 =C2=A0.Bl -tag -offset indent -width Va
>=C2=A0 =C2=A0.It Va 21
> diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c
> index a23980704e17..05104627910d 100644
> --- a/sys/netinet/siftr.c
> +++ b/sys/netinet/siftr.c
> @@ -207,11 +207,8 @@ struct pkt_node {
>=C2=A0 =C2=A0 =C2=A0 =C2=A0int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0conn_state;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0/* Max Segment Size (bytes). */
>=C2=A0 =C2=A0 =C2=A0 =C2=A0u_int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0max_seg_size;
> -=C2=A0 =C2=A0 =C2=A0/*
> -=C2=A0 =C2=A0 =C2=A0 * Smoothed RTT stored as found in the TCP contro= l block
> -=C2=A0 =C2=A0 =C2=A0 * in units of (TCP_RTT_SCALE*hz).
> -=C2=A0 =C2=A0 =C2=A0 */
> -=C2=A0 =C2=A0 =C2=A0int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0smoothed_rtt;
> +=C2=A0 =C2=A0 =C2=A0/* Smoothed RTT (usecs). */
> +=C2=A0 =C2=A0 =C2=A0uint32_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 srtt;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0/* Is SACK enabled? */
>=C2=A0 =C2=A0 =C2=A0 =C2=A0u_char=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 sack_enabled;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0/* Window scaling for snd window. */
> @@ -220,8 +217,8 @@ struct pkt_node {
>=C2=A0 =C2=A0 =C2=A0 =C2=A0u_char=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 rcv_scale;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0/* TCP control block flags. */
>=C2=A0 =C2=A0 =C2=A0 =C2=A0u_int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0flags;
> -=C2=A0 =C2=A0 =C2=A0/* Retransmit timeout length. */
> -=C2=A0 =C2=A0 =C2=A0int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0rxt_length;
> +=C2=A0 =C2=A0 =C2=A0/* Retransmission timeout (usec). */
> +=C2=A0 =C2=A0 =C2=A0uint32_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 rto;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0/* Size of the TCP send buffer in bytes. */<= br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0u_int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0snd_buf_hiwater;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0/* Current num bytes in the send socket buff= er. */
> @@ -453,7 +450,7 @@ siftr_process_pkt(struct pkt_node * pkt_node)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MA= X_LOG_MSG_LEN,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&q= uot;%c,0x%08x,%zd.%06ld,%x:%x:%x:%x:%x:%x:%x:%x,%u,%x:%x:%x:"
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&q= uot;%x:%x:%x:%x:%x,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,"
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"%= u,%d,%u,%u,%u,%u,%u,%u,%u,%u\n",
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"%= u,%u,%u,%u,%u,%u,%u,%u,%u,%u\n",
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0di= rection[pkt_node->direction],
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->hash,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->tval.tv_sec,
> @@ -485,10 +482,10 @@ siftr_process_pkt(struct pkt_node * pkt_node) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->rcv_scale,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->conn_state,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->max_seg_size,
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pkt_nod= e->smoothed_rtt,
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pkt_nod= e->srtt,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->sack_enabled,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->flags,
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pkt_nod= e->rxt_length,
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pkt_nod= e->rto,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->snd_buf_hiwater,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->snd_buf_cc,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->rcv_buf_hiwater,
> @@ -512,7 +509,7 @@ siftr_process_pkt(struct pkt_node * pkt_node)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0log_buf->ae_b= ytesused =3D snprintf(log_buf->ae_data,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MA= X_LOG_MSG_LEN,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&q= uot;%c,0x%08x,%jd.%06ld,%u.%u.%u.%u,%u,%u.%u.%u.%u,%u,%u,%u,"
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"%= u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%d,%u,%u,%u,%u,%u,%u,%u,%u\n",
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"%= u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u\n",
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0di= rection[pkt_node->direction],
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->hash,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(i= ntmax_t)pkt_node->tval.tv_sec,
> @@ -536,10 +533,10 @@ siftr_process_pkt(struct pkt_node * pkt_node) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->rcv_scale,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->conn_state,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->max_seg_size,
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pkt_nod= e->smoothed_rtt,
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pkt_nod= e->srtt,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->sack_enabled,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->flags,
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pkt_nod= e->rxt_length,
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pkt_nod= e->rto,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->snd_buf_hiwater,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->snd_buf_cc,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pk= t_node->rcv_buf_hiwater,
> @@ -785,10 +782,10 @@ siftr_siftdata(struct pkt_node *pn, struct inpcb= *inp, struct tcpcb *tp,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0pn->rcv_scale =3D tp->rcv_scale;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0pn->conn_state =3D tp->t_state;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0pn->max_seg_size =3D tp->t_maxseg;
> -=C2=A0 =C2=A0 =C2=A0pn->smoothed_rtt =3D tp->t_srtt;
> +=C2=A0 =C2=A0 =C2=A0pn->srtt =3D ((u_int64_t)tp->t_srtt * tick)= >> TCP_RTT_SHIFT;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0pn->sack_enabled =3D (tp->t_flags &= ; TF_SACK_PERMIT) !=3D 0;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0pn->flags =3D tp->t_flags;
> -=C2=A0 =C2=A0 =C2=A0pn->rxt_length =3D tp->t_rxtcur;
> +=C2=A0 =C2=A0 =C2=A0pn->rto =3D tp->t_rxtcur * tick;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0pn->snd_buf_hiwater =3D inp->inp_socke= t->so_snd.sb_hiwat;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0pn->snd_buf_cc =3D sbused(&inp->in= p_socket->so_snd);
>=C2=A0 =C2=A0 =C2=A0 =C2=A0pn->rcv_buf_hiwater =3D inp->inp_socke= t->so_rcv.sb_hiwat;
> @@ -1270,10 +1267,9 @@ siftr_manage_ops(uint8_t action)
>=C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0sbuf_printf(s, >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&q= uot;enable_time_secs=3D%jd\tenable_time_usecs=3D%06ld\t"
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"s= iftrver=3D%s\thz=3D%u\ttcp_rtt_scale=3D%u\tsysname=3D%s\t"
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"s= ysver=3D%u\tipmode=3D%u\n",
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(intmax= _t)tval.tv_sec, tval.tv_usec, MODVERSION_STR, hz,
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0TCP_RTT= _SCALE, SYS_NAME, __FreeBSD_version, SIFTR_IPMODE);
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"s= iftrver=3D%s\tsysname=3D%s\tsysver=3D%u\tipmode=3D%u\n",
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(intmax= _t)tval.tv_sec, tval.tv_usec, MODVERSION_STR,
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0SYS_NAM= E, __FreeBSD_version, SIFTR_IPMODE);
>=C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0sbuf_finish(s);<= br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0alq_writen(siftr= _alq, sbuf_data(s), sbuf_len(s), ALQ_WAITOK);
--000000000000118c9e05fa304989-- From nobody Tue Apr 25 22:09:28 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5bl84CPkz46nHc; Tue, 25 Apr 2023 22:09:40 +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 4Q5bl835mjz3l57; Tue, 25 Apr 2023 22:09:40 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682460580; 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=izFwLsKTBiI0Ua+BOCHCIwDmOvfYn8ShkRIJV2d82lg=; b=JPgQX7qDUUGvKFSDrdi1hhWk/x9jzuidWlumCQfaf62ddqPrBwchtRDLxbjeitKjvNAyyq CfOoaPJy8jKDS1AbJmGO4ydMBFXrBh9vG28GfTaY/tW2LF0h+6psWsR3K11Voste9hcuYY b3y3WyNl+BZ0bgqwzIO77trjEf/hteOwpD6h1wCuzWbBiDiNb3JGYaIAZCO+7UY1oFdq/v bB4IB3CjpvGPX4gIESUcz6oHRQp47fIpwRCtPeqzGjxkNLas3Vc04hzFxWpEQG1lX6QJ4d uC5DT4cNcLQDWHTvoBHBhn2YHJEwMKxjcFX0YbxgKSgeQd65itLdlyzw1C4ZAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682460580; 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=izFwLsKTBiI0Ua+BOCHCIwDmOvfYn8ShkRIJV2d82lg=; b=WoQUCzo7g1m4LXmduJ7/UE/lzo1FJIYKpsCBs9ZnSY7CwjbhGvQuu4QLd6JWVEB3gq99z7 jJ81/rZUn+2nOBhA5GdfmfH5jRlVWaE/LaCLWqKiZU8qZOn6sAfOX3WAFbekJtsTg3pyJN jQyxzRFU4GbyNDao0PIDI11V4SkgmF4E2iOxtIte9DH5LAdCtmazGTxruA8TPagyyADMTI EcUCYt7gpGoIZKgFWmwRVtdcL7kr29tyKbMQVz9Cacg6HGjY3D7S1JFXIwAqdAlXAGfrC1 KDQxBW2d75sFynv+n1zmcrllWTIwslYGOBG6s/FdsHfSrGPT9/jXN96ChVqhwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682460580; a=rsa-sha256; cv=none; b=YQSqDtYIgyrnZYhnXpLyAI5LWAZhb6U+Zond02oc02NkgTz3Re/9F6BgdnIUqkPm+GE75T c7bKygSq38c7ZfSbHbeypPUsQU1z411pSskqM9vepxRIeIKvhGU+ZJQTMhtD/JeeXQMT2C tRE+6N+3X4WmW37tLzj7VpczMfEZ2D6TkxRZCpy+Du5r83fIu+fNg1Ts1LXMlpIR29B172 XE+hDpmXA18XO7naGz9nfqc7OPnVP6Z+orCET4fWw1oa8K3ly0/yJ896lcjZewIKTyk72n MTHOkYpMxx13KzE2pFg8BUhAT7xocGA0LqxbzdHuT3BQ96z4XP0ACHOmwZYN3Q== Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) (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 4Q5bl821fwzJvg; Tue, 25 Apr 2023 22:09:40 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-74ab718c344so1824091285a.1; Tue, 25 Apr 2023 15:09:40 -0700 (PDT) X-Gm-Message-State: AC+VfDxhV/ZFVE3lHx8812PC+OplKI7UNnNt+kN99F2mHAdstwTKok/0 OLVWKUCN1h9cUZk0HZTh2q7i5nsiq6z8dWcS6F8= X-Google-Smtp-Source: ACHHUZ5OlADj8DLKWnEmVPK2onQ451D97kXMwuPHEGkQgUflcLPESlaJ1wWkm9h3rt5FKlrDAuUSn/FlcGnzGBgNFVk= X-Received: by 2002:a05:6214:c8c:b0:5ef:653e:169b with SMTP id r12-20020a0562140c8c00b005ef653e169bmr768705qvr.8.1682460579558; Tue, 25 Apr 2023 15:09:39 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202210271354.29RDsUoH077155@gitrepo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Tue, 25 Apr 2023 17:09:28 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) To: Souradeep Chakrabarti Cc: Kyle Evans , Wei Hu , "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 Tue, Apr 25, 2023 at 2:42=E2=80=AFAM Souradeep Chakrabarti wrote: > > > > > >-----Original Message----- > >From: Souradeep Chakrabarti > >Sent: Monday, April 24, 2023 6:24 PM > >To: Kyle Evans ; Wei Hu > >Cc: src-committers@freebsd.org; dev-commits-src-all@freebsd.org; dev-com= mits- > >src-main@freebsd.org > >Subject: RE: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: > >enablement for ARM64 in Hyper-V (Part 3, final) > > > > > > > > > >>-----Original Message----- > >>From: Kyle Evans > >>Sent: Wednesday, April 19, 2023 11:00 AM > >>To: Wei Hu ; Souradeep Chakrabarti > >> > >>Cc: src-committers@freebsd.org; dev-commits-src-all@freebsd.org; > >>dev-commits- src-main@freebsd.org > >>Subject: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: > >>enablement for ARM64 in Hyper-V (Part 3, final) > >> > >>On Thu, Oct 27, 2022 at 8:54=E2=80=AFAM Wei Hu wrote: > >>> > >>> The branch main has been updated by whu: > >>> > >>> URL: > >>> https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fc= gi > >>> t > >>> > >>.freebsd.org%2Fsrc%2Fcommit%2F%3Fid%3D9729f076e4d93c5a37e78d427bfe > >0 > >>f1a > >>> > >>b99bbcc6&data=3D05%7C01%7Cschakrabarti%40microsoft.com%7C393e855f13c6 > >>49a > >>> > >>8883708db4097211e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7 > >C > >>6381747 > >>> > >>90106786449%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIj > >oi > >>V2luMz > >>> > >>IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3DhuiaOBSB2Z > >>QDn5Q > >>> cw%2FLWnmI%2FqbbriQd7HkYtpxnGLGE%3D&reserved=3D0 > >>> > >>> commit 9729f076e4d93c5a37e78d427bfe0f1ab99bbcc6 > >>> Author: Souradeep Chakrabarti > >>> AuthorDate: 2022-10-27 13:46:08 +0000 > >>> Commit: Wei Hu > >>> CommitDate: 2022-10-27 13:53:22 +0000 > >>> > >>> arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) > >>> > >>> This is the last part for ARM64 Hyper-V enablement. This includes > >>> commone files and make file changes to enable the ARM64 FreeBSD > >>> guest on Hyper-V. With this patch, it should be able to build > >>> the ARM64 image and install it on Hyper-V. > >>> > >> > >>Hi, > >> > >>First off- thanks for doing this work! I can't seem to boot a -CURRENT > >>image under Hyper-V on a Volterra machine, seemingly due to vmbus. It s= talls right > >after "vmbus: > >>the irq 18" but before emitting a version number, I have some other > >>comments here... > >> > >>> [... snip ...] > >>> diff --git a/sys/dev/hyperv/vmbus/vmbus.c > >>> b/sys/dev/hyperv/vmbus/vmbus.c index b0cd750b26c8..f370f2a75b99 > >>> 100644 > >>> --- a/sys/dev/hyperv/vmbus/vmbus.c > >>> +++ b/sys/dev/hyperv/vmbus/vmbus.c > >>> [... snip ...] > >>> @@ -107,7 +113,7 @@ static uint32_t > >>vmbus_get_vcpu_id_method(device_t bus, > >>> device_t dev, int cpu); > >>> static struct taskqueue *vmbus_get_eventtq_method(dev= ice_t, device_t, > >>> int); -#ifdef EARLY_AP_STARTUP > >>> +#if defined(EARLY_AP_STARTUP) || defined(__aarch64__) > >>> static void vmbus_intrhook(void *); > >>> #endif > >>> > >> > >>My gut reaction to this is that this is a red flag. EARLY_AP_STARTUP > >>implies characteristics that aarch64 doesn't exhibit; it's hard to see > >>why this conditional is OK, or whether it's testing EARLY_AP_STARTUP as > >>a bad way to write __i386__ || __amd64__. > >[Souradeep] We had or'd the aarch64 here, as we wanted to defer the vmbu= s > >attachment after gic and arm generic timer is attached. As we need PAUSE= and > >DELAY for vmbus and hyper-v drivers. For that we wanted to use > >vmbus_intrhook(). > >> > >>> [... snip ...] > >>> @@ -760,7 +736,7 @@ vmbus_synic_setup(void *xsc) > >>> > >>> if (hyperv_features & CPUID_HV_MSR_VP_INDEX) { > >>> /* Save virtual processor id. */ > >>> - VMBUS_PCPU_GET(sc, vcpuid, cpu) =3D rdmsr(MSR_HV_VP_I= NDEX); > >>> + VMBUS_PCPU_GET(sc, vcpuid, cpu) =3D > >>> + RDMSR(MSR_HV_VP_INDEX); > >>> } else { > >>> /* Set virtual processor id to 0 for compatibility. *= / > >>> VMBUS_PCPU_GET(sc, vcpuid, cpu) =3D 0; > >> > >>This one, vmbus_synic_setup(), is invoked via vmbus_intrhook -> > >>vmbus_doattach - > >>> smp_rendezvous. On !EARLY_AP_STARTUP (e.g., aarch64), SMP isn't > >>> functional in > >>intrhooks and smp_rendezvous() will just call vmbus_synic_setup() on th= e boot > >AP. > >>There's nothing that will initialize the pcpu data on every other AP, A= FAICT. > >> > >>That said, the !EARLY_AP_STARTUP path is also wrong. Quoting lines that > >>weren't in this e-mail from vmbus_attach(): > >[Souradeep] Thanks! This is a really good catch, and yes, we are missing= the smp > >initialization during vmbus synic setup. > >> > >>1527 #else /* !EARLY_AP_STARTUP */ > >>1528 /* > >>1529 * If the system has already booted and thread > >>1530 * scheduling is possible indicated by the global > >>1531 * cold set to zero, we just call the driver > >>1532 * initialization directly. > >>1533 */ > >>1534 if (!cold) > >>1535 vmbus_doattach(vmbus_sc); > >>1536 #endif /* EARLY_AP_STARTUP and aarch64 */ > >> > >>The two immediate issues I see is that in a device_attach, SMP won't be > >>started. It's also going to be before SI_SUB_CONFIGURE, so `cold` will > >>never be 0 here -- this is effectively dead code, and if it weren't > >>dead code it would suffer the same problem as above where other APs > >>aren't started yet so we won't set their pcpu data. This is OK, though, > >>because then we have this sysinit later on that does the same thing for > >>!EARLY_AP_STARTUP && !__aarch64__`, but that should really just be > >>`!EARLY_AP_STARTUP` as aarch64 also needs to invoke > >>vmbus_doattach() at SI_SUB_SMP (much later than SI_SUB_DRIVERS). > >[Souradeep] I have tried to use the suggestion but in multi processor sy= stem the > >boot is getting stuck at the end and "vmbus0: device scan, probe and att= ach done" > >is not happening. > >I am trying to figure out what is going wrong here, as the same change i= s working > >with single cpu system. Any help or pointer will be really helpful. > [Souradeep] I can see the problem the task vmbus_scandone_task is gettin= g enqueued but > it is not getting executed. > > 525 static void > 526 vmbus_scan_done(struct vmbus_softc *sc, > 527 const struct vmbus_message *msg __unused) > 528 { > 529 device_printf(sc->vmbus_dev, " vmbus_scan_done is called\n"); > 530 > 531 taskqueue_enqueue(sc->vmbus_devtq, &sc->vmbus_scandone_task); > 532 } > vmbus scan done is getting called. > > But > 514 static void > 515 vmbus_scan_done_task(void *xsc, int pending __unused) > 516 { > 517 struct vmbus_softc *sc =3D xsc; > 518 device_printf(sc->vmbus_dev, " vmbus_scan_done_task is called\n"= ); > 519 bus_topo_lock(); > 520 sc->vmbus_scandone =3D true; > 521 bus_topo_unlock(); > 522 wakeup(&sc->vmbus_scandone); > 523 } > vmbus_scan_done_task is not getting called the task . > > But the same is happening when single cpu is running, for multi cpu it is= getting stuck. Hi, That seems odd. What happens if you bump the SYSINIT up to SI_SUB_SMP + 1, SI_ORDER_FIRST? We don't know for a fact that all APs are ready for scheduling until after smp_after_idle_runnable(), which is also at SI_ORDER_ANY -- maybe there's just something going horribly wrong. That would perhaps explain why it's fine on a single processor system, which won't do anything useful (at least in later parts of SI_SUB_SMP). Thanks, Kyle Evans From nobody Tue Apr 25 22:18:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5bxg0HqFz46nxl; Tue, 25 Apr 2023 22:18: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 4Q5bxf6ySTz3mKr; Tue, 25 Apr 2023 22:18:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682461127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l0/HKtJZVlXEDSRWxLVbcxfWjpO06W/IDjzadDDb+Vs=; b=gh45ZLcl2yMjYRKUzcKcnFtW5+czWzz47N59VzWspsnisHBgznx6Rmm1o9TRIh1KwM8azL Tr1crIdmQToQ1NjvchFIomIQiy8WjEQhPPpJvxMz+gljllx5nHkjBEEUe6YzMzHn2NJOoh m49kAORjDwamA76QxRl8fDqFAzLv7WquyfDxH3LiUeBK9bC94frWFZ4sllbmzPoca6WXZJ n5ywFDFIP/8sBkLKnoXicsIB209WrD4EsnP/tfWpBvmIOY9+AEsARUIzZBb8P7nAzfb2KO /i0P9NLbepaGREiZNBsmF5pMn7a7KfBLST1y+4F3Ls+GXDZW8KNBf+fbeFY/zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682461127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l0/HKtJZVlXEDSRWxLVbcxfWjpO06W/IDjzadDDb+Vs=; b=O+6EEBIp9Ykksb7TKkOXTGvOwx19Dke7oql6OTe9WQqVxLgpIiuhonLgn0jAaIMwaDbe/O cgpNr89hVWsbvdNH8vl8r115E3tgU1G2hsx46XUFqGg7Gt1p4pIUI8soqO7sUBaR+Vsv1b 1+YMc5rDgOWO9K3PxYI25/tkBSqHlzmX+ewSFcTRLt7/S6E0/OAMp/9S8cq+XsrkVL45+A zYeTtHfVI4PyjBU9o3P99PMfcV13gAu//NCb/xh1MG0Zk8TnWHWyNDNlOoNl1dTxXLuqa0 ayfPdFOTIyt09EFSvNTWXWO42BDsIS8qIEaskQAO3bFok1TC25Xc1xXGAv4RaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682461127; a=rsa-sha256; cv=none; b=lj5GzryHwdagRoCukJP1tMneUJhtuudVIo1CI8d0NhyYnoVciTEbnibWqYi5BB/QbnPm46 U03jZ7dCASb9Tdf32+iayJZ4dZ8F/G+f7NKtL1bFHa8HJjqFQ6ukMsbMwd056mOUklkGIm 0r+I2NIfkLmycuJbzgwajdtU+ruHFPG0CUxbMxyo5c8KKnYRoeJsWCJ8P0m8NNQVFefnyo Lf+1eKueViBofzH51tiI4y0v2nKpE7vCU23TFpe6uKgCnkREx2JD3XrJPAz58WrJ5+R5is XmivvW2ydzY1arlBZw46VF7DciuoGuKriChxIE4o+54vUa0kGmHH8xGEDYr4Cg== 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 4Q5bxf63Xnz1Pcy; Tue, 25 Apr 2023 22:18: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 33PMIkOK007190; Tue, 25 Apr 2023 22:18:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33PMIkSJ007189; Tue, 25 Apr 2023 22:18:46 GMT (envelope-from git) Date: Tue, 25 Apr 2023 22:18:46 GMT Message-Id: <202304252218.33PMIkSJ007189@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: f2e75b967ad2 - main - tcp_hpts: add missing "inline" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f2e75b967ad2e47f113c087d9357720e7d680a90 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=f2e75b967ad2e47f113c087d9357720e7d680a90 commit f2e75b967ad2e47f113c087d9357720e7d680a90 Author: Gleb Smirnoff AuthorDate: 2023-04-25 22:18:26 +0000 Commit: Gleb Smirnoff CommitDate: 2023-04-25 22:18:26 +0000 tcp_hpts: add missing "inline" Fixes: c2a69e846fffb95271c0299e0a81e2033382e9c2 --- sys/netinet/tcp_hpts.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/tcp_hpts.h b/sys/netinet/tcp_hpts.h index dfa6eaf79bdc..086669342bb8 100644 --- a/sys/netinet/tcp_hpts.h +++ b/sys/netinet/tcp_hpts.h @@ -114,7 +114,7 @@ struct hpts_diag { #ifdef _KERNEL void tcp_hpts_init(struct tcpcb *); void tcp_hpts_remove(struct tcpcb *); -static bool +static inline bool tcp_in_hpts(struct tcpcb *tp) { return (tp->t_in_hpts == IHPTS_ONQUEUE); From nobody Wed Apr 26 00:01:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5fCd1dh6z46w7v; Wed, 26 Apr 2023 00:01: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 4Q5fCd1BsLz3wQ8; Wed, 26 Apr 2023 00:01:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682467261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XUhpovXqZJBiNh3RhxI6ckiHdNpkEbmavnVUhYxsUcM=; b=SfIEGnek3FyGUsUjUVbMvVxSI0khxve10hQv5TrsroHtUvRXtDqj0nzA70xSCLOWqqDp2d wupH6GLkwdpHDy6CxWy5DCynYb5FybkeJ318fFxqB3xTF7+LLarp89qrNhv3eCVNeyn/pH qNdRMJOwVHo7YR4d1htRcXgrViLFVrQ5GTrqzRGTMG6fb1eTRBIokmFCQ17P8WCWXxvC4n x9PsGxmRQqKczVMfPiHddYT1Lz7WLEcmodDddbTJQjRbsQBwmmjZa9s3GfIRBOhO95BXYG 7l/g/id5lNnDiYzBxzaz2NbVXnlgmUd0u7FrrD49DNi+hMgbhJlRvpdtudwecQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682467261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XUhpovXqZJBiNh3RhxI6ckiHdNpkEbmavnVUhYxsUcM=; b=LvoIkfowDnlJJgGIYu/edQmgsj2CZZSe3BqWOyl0Meoafz3L1ZtKRx6Ego77OcQHG1J6Oe 6FpzT7+iX8PqzI6rWS5YLLTUVt/PfWUOYCiazRhTk8l/I3RJUXqPWfMllkiVDxXFjY5rEv TOunKkoTt2Obzyw81F4Uzb3DvDaAoXskFsCwBnBVm9vypd34s+sVkhbfAHzsHE/wH2IPdb HDO9QB41ZnMUf5rM4QW3VvGayx4pi4ZGhP0ahm1/VQL0jSnQKTL2ElyOpJlRczQhY5kbvK 61IeMcNttkUKoAAePtsAGWwivU/U36EBJE4dR1oe0TZWotIxelMNkKVkh1o3NQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682467261; a=rsa-sha256; cv=none; b=SRKjVsHM0qQ6nur4xW1LNrwdY0EJyFGQpnKsftcCwzcvmRnMIELhRId9eeBk3/yizJdVEF UP7TaJ61fJtdW5sVXDXbIiG03PR8NdPv8lAsgJuE3gwR8WmuIuvGD/usFt34BZSXEbJHwa jWDer6GZvu/EmFNGLfeSGBzxIrIVQnseAD+CYdl9niNuj22Hzwkl3El0xPqtGNu+drwDKh a19lSwqhCE+3Fah/vf71xxkJlfHC3el4veofOpko9r5EK+jPESq/f296TEDTqfpWaTHr2x tTC11fBL9IxFQzREYRCn4qp0EGgnGCttZkJxoJIorh73k6wQ8YTTCy7g9XYCrw== 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 4Q5fCd0Hm4z1Rlp; Wed, 26 Apr 2023 00:01:01 +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 33Q0102k084246; Wed, 26 Apr 2023 00:01:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q010Hl084245; Wed, 26 Apr 2023 00:01:00 GMT (envelope-from git) Date: Wed, 26 Apr 2023 00:01:00 GMT Message-Id: <202304260001.33Q010Hl084245@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: 37e6036b26cd - main - VOP_CLOSE(): MNTK_EXTENDED_SHARED filesystems do not need excl lock List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 37e6036b26cdd2942344b6c69f9a10764c6209ba Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=37e6036b26cdd2942344b6c69f9a10764c6209ba commit 37e6036b26cdd2942344b6c69f9a10764c6209ba Author: Konstantin Belousov AuthorDate: 2023-04-24 22:43:32 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-25 22:39:25 +0000 VOP_CLOSE(): MNTK_EXTENDED_SHARED filesystems do not need excl lock All in-tree implementations of VOP_CLOSE() for filesystems proclaiming MNTK_EXTENDED_SHARED, are fine with the shared lock for the closed vnode. I checked the following implementations: ffs ext2 ufs null tmpfs devfs fdescfs cd9660 zfs It seems that initial addition of FWRITE check was due to necessity of handling the VV_TEXT vnode vflag. Since VOP_ADD_WRITECOUNT() only requires shared lock, we can relax the locking requirement there. Reviewed by: markj, Olivier Certner Tested by: Olivier Certner Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D39784 --- sys/kern/vfs_vnops.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index e42d17ec2478..581d620e348e 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -483,7 +483,7 @@ vn_open_vnode(struct vnode *vp, int fmode, struct ucred *cred, * If there is no fp, due to kernel-mode open, * we can call VOP_CLOSE() now. */ - if ((vp->v_type == VFIFO || (fmode & FWRITE) != 0 || + if ((vp->v_type == VFIFO || !MNT_EXTENDED_SHARED(vp->v_mount)) && VOP_ISLOCKED(vp) != LK_EXCLUSIVE) vn_lock(vp, LK_UPGRADE | LK_RETRY); @@ -528,11 +528,8 @@ vn_close1(struct vnode *vp, int flags, struct ucred *file_cred, struct mount *mp; int error, lock_flags; - if (vp->v_type != VFIFO && (flags & FWRITE) == 0 && - MNT_EXTENDED_SHARED(vp->v_mount)) - lock_flags = LK_SHARED; - else - lock_flags = LK_EXCLUSIVE; + lock_flags = vp->v_type != VFIFO && MNT_EXTENDED_SHARED(vp->v_mount) ? + LK_SHARED : LK_EXCLUSIVE; vn_start_write(vp, &mp, V_WAIT); vn_lock(vp, lock_flags | LK_RETRY); From nobody Wed Apr 26 05:33:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5nbb1Q4fz47GJk; Wed, 26 Apr 2023 05:33: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 4Q5nbb0wf2z4MDZ; Wed, 26 Apr 2023 05:33:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682487227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9TjZNSiWfUbaxPqvDnOS/vUu8Vj1L0JUinPtg0uiOmk=; b=etPX8wxsOJWbLe2V/Df0Qcph4Bjeu2QI1BOYkg1jhwghUtGdQsqEcRj29DCC1XzggeBDGj xfST2RQ//43+zX90XyvzVrR0CV8Y9hVIFCh3Kzy6LmVewIYNMd1cjWaBb/HuxTZBpwUpCT d1jaZnY3gxLvHQ03rjmYFXctO/fLiXweCbKLnNv2QJ1VpVe+yarR0V5/1at2FS6MDNaiCj t0xYPncRBw5tHmmvNhNmcisk+PUCCz2iSAMe97ujw0LDj+UYkO3hY3NMuTGc9AYaQtDaFr cwk3t21Vq72x7cvOiRmAUnRoLkFQScFpgGdt3H6vSobQb4MM0qBmMKgx7laRbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682487227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9TjZNSiWfUbaxPqvDnOS/vUu8Vj1L0JUinPtg0uiOmk=; b=HGdfENqa2B5lq5+M6gWNPtQrDrugLLIs1heTZWK3qjW7Y62V/uDcSZHsgz9GvjNS69evgp xLc5xzTAg8IPfpZ7dEd4006sY0+nNPHJNIcSIYHBm7esrks2FnBEW/+mH77c4k6jJTpzmI +g3T3bKMkJ5aW1mDPhX7mbo43pi9m++iSHpcmmBop1md3UKGrx7pnpR0DgjB1AiLoc/JGa UUBTh2Hy0VkYmPDBzajL/28ImpXjyQWk/48BP9vj8MGpIJ7K4qP/iI5nARh2nbsdL831no oKwoxBJqTTDgBroyG2Rlix+r6EIzmUZ5asb63YwFNpt0J/jqx6ASsipMvkV7Zw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682487227; a=rsa-sha256; cv=none; b=wp/XkXO64udwl8oqbIhcuKRyJBMgLG5yTyl8ej9NUsZ5cnqhLnEpMnJJU4hiC/eTJAX59M Ir3A02fDq4urFEB9s/nIt7u2E4wTwPt9TgvI363xIzgE6Ca+CYbyLsw2cPVY7NWtMwUZl9 QT6mIn0Xu+B3PoqzZXCySBzrNrUULn4Yq/iea5mJbK2x8lKF6bb0BmP7W8ukU7EFOkolPj 8gWf95HKNDVmtxgtyM1Fkk7b4aaNUe0i/sYhQNT8c2SpBx84RlhlWfD++XRkMVE9Ta/AMA V2Qn+6nxp+bpDBBJB8OAbe02JFr5Lg9MXHJXgIHXpvgMfFWg2iOKMfdQJNCkyg== 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 4Q5nbZ74s7zMwM; Wed, 26 Apr 2023 05:33: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 33Q5XkpS029291; Wed, 26 Apr 2023 05:33:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q5Xk7Z029290; Wed, 26 Apr 2023 05:33:46 GMT (envelope-from git) Date: Wed, 26 Apr 2023 05:33:46 GMT Message-Id: <202304260533.33Q5Xk7Z029290@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: 4163bae03051 - main - bectl: document the -r flag to bectl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4163bae03051839c739c0133605b4ef494ee8f6a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=4163bae03051839c739c0133605b4ef494ee8f6a commit 4163bae03051839c739c0133605b4ef494ee8f6a Author: Kyle Evans AuthorDate: 2023-04-20 04:55:07 +0000 Commit: Kyle Evans CommitDate: 2023-04-26 05:33:25 +0000 bectl: document the -r flag to bectl Independent of all of the commands, bectl itself takes an `-r` flag that specifies the BE root to use. This was originally added to facilitate testing, but it was later discovered to be incredibly useful in other scenarios; e.g., trying to recover some boot environments in rescue media. The "BE root" described here is the parent dataset that holds boot environments, but I've no idea if that's an accepted definition for that dataset. Reviewed by: gallatin, imp, Pau Amma MFC after: 1 week Differential Review: https://reviews.freebsd.org/D39710 --- sbin/bectl/bectl.8 | 39 +++++++++++++++++++++++++++++++++++---- sbin/bectl/bectl.c | 30 +++++++++++++++--------------- 2 files changed, 50 insertions(+), 19 deletions(-) diff --git a/sbin/bectl/bectl.8 b/sbin/bectl/bectl.8 index 79bdec751a86..974c6ece9d12 100644 --- a/sbin/bectl/bectl.8 +++ b/sbin/bectl/bectl.8 @@ -17,7 +17,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 31, 2022 +.Dd April 26, 2023 .Dt BECTL 8 .Os .Sh NAME @@ -25,54 +25,67 @@ .Nd Utility to manage boot environments on ZFS .Sh SYNOPSIS .Nm +.Op Fl r Ar beroot .Cm activate .Op Fl t | Fl T .Ar beName .Nm +.Op Fl r Ar beroot .Cm check .Nm +.Op Fl r Ar beroot .Cm create .Op Fl r .Op Fl e Brq Ar nonActiveBe | Ar beName Ns Cm @ Ns Ar snapshot .Ar newBeName .Nm +.Op Fl r Ar beroot .Cm create .Op Fl r .Ar beName@snapshot .Nm +.Op Fl r Ar beroot .Cm destroy .Op Fl \&Fo .Ar beName Ns Op Cm @ Ns Ar snapshot .Nm +.Op Fl r Ar beroot .Cm export .Ar sourceBe .Nm +.Op Fl r Ar beroot .Cm import .Ar targetBe .Nm +.Op Fl r Ar beroot .Cm jail .Op Fl bU .Oo Bro Fl o Ar key Ns Cm = Ns Ar value | Fl u Ar key Brc Oc Ns ... .Ar beName .Op Ar utility Op Ar argument ... .Nm +.Op Fl r Ar beroot .Cm list .Op Fl aDHs .Op Fl c Ar property .Op Fl C Ar property .Oo Bro Fl c Ar property | Fl C Ar property Brc Oc .Nm +.Op Fl r Ar beroot .Cm mount .Ar beName .Op Ar mountpoint .Nm +.Op Fl r Ar beroot .Cm rename .Ar origBeName .Ar newBeName .Nm +.Op Fl r Ar beroot .Brq Cm ujail | unjail .Brq Ar jailId | jailName | beName .Nm +.Op Fl r Ar beroot .Brq Cm umount | unmount .Op Fl f .Ar beName @@ -89,6 +102,23 @@ Boot environments allow the system to be upgraded, while preserving the old system environment in a separate ZFS dataset. .Pp +.Nm +itself accepts an +.Fl r +flag specified before the command to indicate the +.Ar beroot +that should be used as the boot environment root, or the dataset whose children +are all boot environments. +Normally this information is derived from the bootfs property of the pool that +is mounted at +.Pa / , +but it is useful when the system has not been booted into a ZFS root or a +different pool should be operated on. +For instance, booting into the recovery media and manually importing a pool from +one of the system's resident disks will require the +.Fl r +flag to work. +.Pp The following commands are supported by .Nm : .Bl -tag -width activate @@ -141,11 +171,13 @@ flag is specified, the new environment will be cloned from the given .Ar nonActiveBe or .Ar beName Ns Cm @ Ns Ar snapshot . -Otherwise, the new environment will be created from the currently booted environment. +Otherwise, the new environment will be created from the currently booted +environment. .Pp If .Nm -is creating from another boot environment, a snapshot of that boot environment will be created to clone from. +is creating from another boot environment, a snapshot of that boot environment +will be created to clone from. .It Xo .Cm create .Op Fl r @@ -276,7 +308,6 @@ is used on next boot once .Pq Em \&T ; or combination of .Pq Em \&NRT . -.Pp .Bl -tag -width indent .It Fl a Display all datasets. diff --git a/sbin/bectl/bectl.c b/sbin/bectl/bectl.c index bc414d6baf41..9e3833ba834e 100644 --- a/sbin/bectl/bectl.c +++ b/sbin/bectl/bectl.c @@ -69,23 +69,23 @@ usage(bool explicit) fprintf(fp, "%s", "Usage:\tbectl {-h | -? | subcommand [args...]}\n" #if SOON - "\tbectl add (path)*\n" + "\tbectl [-r beroot] add (path)*\n" #endif - "\tbectl activate [-t] beName\n" - "\tbectl activate [-T]\n" - "\tbectl check\n" - "\tbectl create [-r] [-e {nonActiveBe | beName@snapshot}] beName\n" - "\tbectl create [-r] beName@snapshot\n" - "\tbectl destroy [-Fo] {beName | beName@snapshot}\n" - "\tbectl export sourceBe\n" - "\tbectl import targetBe\n" - "\tbectl jail [-bU] [{-o key=value | -u key}]... beName\n" + "\tbectl [-r beroot] activate [-t] beName\n" + "\tbectl [-r beroot] activate [-T]\n" + "\tbectl [-r beroot] check\n" + "\tbectl [-r beroot] create [-r] [-e {nonActiveBe | beName@snapshot}] beName\n" + "\tbectl [-r beroot] create [-r] beName@snapshot\n" + "\tbectl [-r beroot] destroy [-Fo] {beName | beName@snapshot}\n" + "\tbectl [-r beroot] export sourceBe\n" + "\tbectl [-r beroot] import targetBe\n" + "\tbectl [-r beroot] jail [-bU] [{-o key=value | -u key}]... beName\n" "\t [utility [argument ...]]\n" - "\tbectl list [-aDHs] [{-c property | -C property}]\n" - "\tbectl mount beName [mountpoint]\n" - "\tbectl rename origBeName newBeName\n" - "\tbectl {ujail | unjail} {jailID | jailName | beName}\n" - "\tbectl {umount | unmount} [-f] beName\n"); + "\tbectl [-r beroot] list [-aDHs] [{-c property | -C property}]\n" + "\tbectl [-r beroot] mount beName [mountpoint]\n" + "\tbectl [-r beroot] rename origBeName newBeName\n" + "\tbectl [-r beroot] {ujail | unjail} {jailID | jailName | beName}\n" + "\tbectl [-r beroot] {umount | unmount} [-f] beName\n"); return (explicit ? 0 : EX_USAGE); } From nobody Wed Apr 26 05:36:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5ng85P0yz47FVS; Wed, 26 Apr 2023 05:36: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 4Q5ng84LZQz4MlG; Wed, 26 Apr 2023 05:36:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682487412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TXeHU67WFmSucTrHe/s/noZCoPhr1qITwC9Rniw4eo8=; b=nn3/tE+edjyqeq7qyn3kc55QcEG75nDsi60P5Xvsuo3lvXtYyqayAjcXnE4gP2MgezVLCI Ctt3t96/zF2oHkYIr2s1N9MNfx/nGt1eaeuL6GeR73QfkPqFyCw757ffK57cif30gs/pPy R4Z4tCqre6W1aymMZ0XEEN+/kkpLA8mI6pEzJoruchN7mVOfUErDp5g1l+BHloTSWLOM8N b6AnUJ94Y99Jfvt0+pUOtoiNP4iJbbr0x56oHZFTwWlat/d+IfEtyadyFYyfwxfr0r81VO GZTiV0IVwxVUxonTKxkwOgpL6UDVPdCIuG0ksnPEHt5Mlq9p4ZOVQfmM1PrmQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682487412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TXeHU67WFmSucTrHe/s/noZCoPhr1qITwC9Rniw4eo8=; b=OX8Pyocvp2lV7zeuiWBUAo5wmneHoPhg4uMEvD/Cso6Z65Gc5COcaVEOyc8mlAX7FWBCT9 RulPRuYr2B8PzIdL1RJjty7IU9aCvQ8KLIuNEyB7ickfo/11o01bwUptgGObZuxTVDTngx TegDHIjGycGvDlkCxMwUDbPdGEH2WpMFbNyt2GzYjgHHdYFgSDmDCLM6YUGIJGL6T/bGEz bsJwvH8tF6bScEI2hspiH9vpDcbfdQlZyXvyHbD327gyQhBpX3NtALI3/EidRvGwd3bbik 7tmcvB2uDlzU1cwz8cIxc6R2Y9vFgOgdB0UzKbm7jxw88kbTW84fSFe+i5Yp4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682487412; a=rsa-sha256; cv=none; b=JiB06/PlnxOwLJ4xdxwnIK1318kkOFUQF/2DLyYR8M+k+rotJYFcNG8ltW/bpk1dpbB6mv 3/lOucWbbQC9GnUA4jkWR0LbEe17wqTk9XIUBDvftv6rLHBQfjgoh1q7xb9QuLKxs/Jt8u f8VuLQYvTuXT7cyBhdmnZqlhDwWULYYpXUo7YKGYzQr6RimwC+WH/rkuq5+gsGPtq8talf fh0wqQMYDxLWu2WMVQ+93FnIr/F1KEayHu3vVa9uvPliInAdSUeu9i3Cci9NBJ3bgSwlNM wZOpMN2VdjFOwsUtjl1x13WX0MB6W/ofzCdYgW4qnM7o7T02WzLtoVqLMfO02g== 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 4Q5ng83CQQzMwP; Wed, 26 Apr 2023 05:36:52 +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 33Q5aqq5029815; Wed, 26 Apr 2023 05:36:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q5aqPA029814; Wed, 26 Apr 2023 05:36:52 GMT (envelope-from git) Date: Wed, 26 Apr 2023 05:36:52 GMT Message-Id: <202304260536.33Q5aqPA029814@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: 3a5855dd220b - main - gbde: stop rebuilding sha512 bits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3a5855dd220b00ab8b1c94a95e2e44cdddb8417e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=3a5855dd220b00ab8b1c94a95e2e44cdddb8417e commit 3a5855dd220b00ab8b1c94a95e2e44cdddb8417e Author: Kyle Evans AuthorDate: 2023-04-26 05:36:33 +0000 Commit: Kyle Evans CommitDate: 2023-04-26 05:36:33 +0000 gbde: stop rebuilding sha512 bits In the early days of gbde, it linked against libmd. Shortly after conception, phk replaced ARC4 with SHA-512, but libmd did not have SHA2 at the time thus he built a copy of sha2.c for gbde. Fast forward 3 years, cperciva adds SHA2 to libmd -- this makes gbde's build of sha2.c redundant, but it's (understandably) overlooked. Let's simplify the gbde build now and just assume that libmd includes the most optimal implementation. Reported by: koobs (weird lto errors?) Differential Revision: https://reviews.freebsd.org/D34668 --- sbin/gbde/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/sbin/gbde/Makefile b/sbin/gbde/Makefile index 867a7f8e9b55..b1ee8edb9d80 100644 --- a/sbin/gbde/Makefile +++ b/sbin/gbde/Makefile @@ -5,7 +5,6 @@ PROG= gbde SRCS= gbde.c template.c SRCS+= rijndael-alg-fst.c SRCS+= rijndael-api-fst.c -SRCS+= sha512c.c SRCS+= g_bde_lock.c # rijndael-fst.c does evil casting things which can results in warnings, From nobody Wed Apr 26 05:39:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5njd12B3z47GKV; Wed, 26 Apr 2023 05:39: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 4Q5njd0YPrz4MqV; Wed, 26 Apr 2023 05:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682487541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n5ws5iujob0ycKfWtNQm5JQRgVpPPPkpZtCrrpZOIMQ=; b=EC9kmzMATgnJY1RYArKCpcGP/47FHZOTm76dfLOgJATTVlyHqDrlMBjAwF2RiYvSwk2TX5 pdX+0yJ0JrrpTxekxxsfSNZSR4qQoxYOqhd7tjnDOUw8McyztS1TCI3QMpFCxLUb+rA/tn TZi32nQzYvm0rtpeVmQjUMrO1DWHFw6iG6jgBIdkxWPeYE1gWXW1TVYUqWeGVD4moCxQEP rlVvJu/TUIWXWYIS3Y+R8HYCn++0m82iP39E0m1NPXi844YsqZiN+1ZtEehQU3AZrK5OaP 4GDSgCQA4kRBSlfk/bgTMP08W65prruIFAQV3aS/iZFnBgIFk7g98k6jS5Igyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682487541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n5ws5iujob0ycKfWtNQm5JQRgVpPPPkpZtCrrpZOIMQ=; b=Nox0HlOVNdjKwpzDJEvZGc25GOjMb/5hBcwL+MAf39TSN1Bo+XLVvwGLwS3QExMwYJ4eCt NJcax2EWikjH8qJmd1+aSu40FdAN7T+gpYSQbP/A/0Aa96X5dy/mAUgfxgXOIoxDnxlawf FDu9ruoimtAJbXiuV3xtNW0tHIIDsRcVyYZkRHiFilOsH0Pc/JDfpMWNmk39DUbsY6jdm/ leL7/88zFiE5/gHSwU/+ENaIpuFcOsGQx8aUUbMoVllzNR1KDJ+IrlWzL3wvh0LUc2L/Zn UKO8rE7NRrbLSNgK4FynYu17dbmDP+a6vVrHm288ut08XvflnCPHFyizEPHj1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682487541; a=rsa-sha256; cv=none; b=RBmv71XHb82P/DqawjdpBA98vK0pZP8Ci0151u4qCJv3g5i4zD13OgQEh0eQqCmCL6nH8N 9/TqArei5pT17aBetsG8w/HpVSQMK9k0aszsfSM7nxFHP+7l9xoLoAYRIs0IDbHXzoPi5g teYtvAtG7mVeMuBQulkkD0flxiKr/5PR7U9TaGMJDMdL9CLLp/yZ1F9fFyrnMpnQknWGpa OyU4SJMQIEVKns43FTAW9qZtLEIgrAP6IxztL23MMWx30VoqI1QeMP86RWj2JmoJZtzDCp N/Z6JlZqKBstqfWMvtFVPoHVSvRIFqHfRU81By/I9+dFWLUU01rexGjjsJMYnw== 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 4Q5njc6kJMzMsx; Wed, 26 Apr 2023 05:39: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 33Q5d0Kb030135; Wed, 26 Apr 2023 05:39:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q5d0gr030134; Wed, 26 Apr 2023 05:39:00 GMT (envelope-from git) Date: Wed, 26 Apr 2023 05:39:00 GMT Message-Id: <202304260539.33Q5d0gr030134@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: 61fd6a1ea296 - main - Note that static hints no longer break loader hints List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 61fd6a1ea2961736952ef060b625637f9816343c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=61fd6a1ea2961736952ef060b625637f9816343c commit 61fd6a1ea2961736952ef060b625637f9816343c Author: Kyle Evans AuthorDate: 2023-04-26 05:38:32 +0000 Commit: Kyle Evans CommitDate: 2023-04-26 05:38:32 +0000 Note that static hints no longer break loader hints This commentary was carried over from the x86 version of the same code, but has actually been inaccurate for a while now. As of FreeBSD 12.x, all environments are used unless they disable each other. See 39d44f7f15c ("kern_environment: use any provided environments [...]") for details. Reviewed by: imp Differentiala Revision: https://reviews.freebsd.org/D35695 --- stand/efi/loader/arch/arm64/exec.c | 8 +++----- sys/arm64/acpica/OsdEnvironment.c | 3 +-- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/stand/efi/loader/arch/arm64/exec.c b/stand/efi/loader/arch/arm64/exec.c index 3cf1c1857f51..a8cd80cd0fc6 100644 --- a/stand/efi/loader/arch/arm64/exec.c +++ b/stand/efi/loader/arch/arm64/exec.c @@ -83,11 +83,9 @@ elf64_exec(struct preloaded_file *fp) /* * Report the RSDP to the kernel. The old code used the 'hints' method - * to communite this to the kernel. However, while convenient, the - * 'hints' method is fragile and does not work when static hints are - * compiled into the kernel. Instead, move to setting different tunables - * that start with acpi. The old 'hints' can be removed before we branch - * for FreeBSD 15. + * to communicate this to the kernel, but this is now considered legacy. + * Instead, move to setting different tunables that start with acpi. + * The old 'hints' can be removed before we branch for FreeBSD 15. */ rsdp = efi_get_table(&acpi20_guid); diff --git a/sys/arm64/acpica/OsdEnvironment.c b/sys/arm64/acpica/OsdEnvironment.c index d1590bee7753..2659d1c7da84 100644 --- a/sys/arm64/acpica/OsdEnvironment.c +++ b/sys/arm64/acpica/OsdEnvironment.c @@ -65,8 +65,7 @@ acpi_get_root_from_loader(void) return (acpi_root); /* - * The hints mechanism is unreliable (it fails if anybody ever - * compiled in hints to the kernel). It has been replaced + * The hints mechanism is considered legacy and has been replaced * by the tunable method, but is used here as a fallback to * retain maximum compatibility between old loaders and new * kernels. It can be removed after 14.0R. From nobody Wed Apr 26 05:45:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5ns54ZWtz47Gp8; Wed, 26 Apr 2023 05:45: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 4Q5ns548Q1z4NcK; Wed, 26 Apr 2023 05:45:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682487929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1H4jYRobjNCD/13onLhOlAf+xH+ADouyDTXRbdY9D7A=; b=nP50/ho59AT086JvoBvZnBAg46I0lEf8UyFdXFMrFQbGfVZIw1qGWCr43g038/7Uhk3Vn8 MmwDTWv3meDx2ukXh6vVEL1nzT7XoFvZmADnrF+bPtObxxI8ozeNo3XmLzOJR0RRcozIcH heLRooL5x9xpfFzyXGPxMfeyYp+iAzV/WlEIPvZFQ8Ky/x4wL8MaNLzjr1c2WCVrl+F58r evkeJgkAaas7crh1BhnTMhnz4u93nfZRIrSU/psijrud3e9DlqNpOo9peqE7kq7aiqEgMr 5hPjub/BRyzEJ93zrfOsmYKYUABUpxnLBfTQFci8BZhX+AwMKf55PMHMYPBtPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682487929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1H4jYRobjNCD/13onLhOlAf+xH+ADouyDTXRbdY9D7A=; b=Pt4CsoRPotc5ydhW2Ft6IBkKQ2ZMCys98/+i65MISxfLp7HiOrKhcymSG/PCp7UEhFvxHC P+NNzdRyc45ZaRLYZ61WYzPcDa3BKAe7+AC8nHhjRxeQkL1Qr3e9isvWOFmmMj/TDtHEf/ DqoNj5r7V79qgSFCyIh5AwmW+K+ciA/3zopYhOFoK3A3TTrP/yCHtinOlb38KhGJq8g+tT YuBAjfRqKbzcTfGCPHmaRm3ryEPwuRrh5BasuOpcF62o5LoUP+c2PF+Qmu7ybIqIvr45CS eB2Tnq/dzojmMWqr5XNrZJtl2UwGW1ABazsTNj9lMeLtS81iK3bCodhuLdTHuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682487929; a=rsa-sha256; cv=none; b=od7zUw1xSwWt9x2Yqh9U8dC7YAjF3XXt072ZrpxlEfDU5xKF+UjhHzUdFVhaigfC5dOZ9W AeirbdHDsxqTH3KoKg5K/LzMRQ3IE4b/h7cA9p9v5RFWJ+fdYNBFMuCS+HXYW84KUg+C5k BAvlrrJ1iAvps6g6lxn6v01KmJc5vyi3klz2CpoZ4yd49b5LjRdvaYtRrnLQ4JG1yoC1lw znlmra7lZ0gzTPpW3+wlJYi3kVnySzFV/4r+gEeZ0q86G6CIDWaemuBXzd2e5kZMOCBZy1 FUBdUKniu65TFFNLJH9M+Yq52jUcivZfczgBjwK62TmRrZrpOwlCEfaR7/ybKQ== 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 4Q5ns53D5szMyv; Wed, 26 Apr 2023 05:45: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 33Q5jTHv046691; Wed, 26 Apr 2023 05:45:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q5jTsb046690; Wed, 26 Apr 2023 05:45:29 GMT (envelope-from git) Date: Wed, 26 Apr 2023 05:45:29 GMT Message-Id: <202304260545.33Q5jTsb046690@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: d5035d913cc6 - main - Add a simple-framebuffer vt driver List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d5035d913cc6453320df53840fea2145fe1d0128 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d5035d913cc6453320df53840fea2145fe1d0128 commit d5035d913cc6453320df53840fea2145fe1d0128 Author: Andrew Turner AuthorDate: 2023-04-26 05:44:10 +0000 Commit: Kyle Evans CommitDate: 2023-04-26 05:44:48 +0000 Add a simple-framebuffer vt driver This allows us to support this hardware and, in the future, use clocks so they are enabled past the initial kernel boot process. Reviewed by: ray Differential Revision: https://reviews.freebsd.org/D30103 --- sys/arm64/conf/std.dev | 1 + sys/conf/files | 1 + sys/dev/vt/hw/simplefb/simplefb.c | 226 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 228 insertions(+) diff --git a/sys/arm64/conf/std.dev b/sys/arm64/conf/std.dev index 0a0e1da8cf8b..74d2407e0aec 100644 --- a/sys/arm64/conf/std.dev +++ b/sys/arm64/conf/std.dev @@ -49,6 +49,7 @@ device vt device kbdmux device vt_efifb +device vt_simplefb # Pseudo devices. device crypto # core crypto support diff --git a/sys/conf/files b/sys/conf/files index ec3ffa0bffdd..8c573d3293ec 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3432,6 +3432,7 @@ dev/vt/colors/vt_termcolors.c optional vt dev/vt/font/vt_font_default.c optional vt dev/vt/font/vt_mouse_cursor.c optional vt dev/vt/hw/efifb/efifb.c optional vt_efifb +dev/vt/hw/simplefb/simplefb.c optional vt_simplefb dev/vt/hw/vbefb/vbefb.c optional vt_vbefb dev/vt/hw/fb/vt_fb.c optional vt dev/vt/hw/vga/vt_vga.c optional vt vt_vga diff --git a/sys/dev/vt/hw/simplefb/simplefb.c b/sys/dev/vt/hw/simplefb/simplefb.c new file mode 100644 index 000000000000..8fdc7146f0a8 --- /dev/null +++ b/sys/dev/vt/hw/simplefb/simplefb.c @@ -0,0 +1,226 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2014 The FreeBSD Foundation + * Copyright (c) 2021 Andrew Turner + * + * Portions of this software was developed by Aleksandr Rybalko under + * sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include +#include +#include +#include + +static vd_init_t vt_simplefb_init; +static vd_fini_t vt_simplefb_fini; +static vd_probe_t vt_simplefb_probe; + +static struct vt_driver vt_simplefb_driver = { + .vd_name = "simplefb", + .vd_probe = vt_simplefb_probe, + .vd_init = vt_simplefb_init, + .vd_fini = vt_simplefb_fini, + .vd_blank = vt_fb_blank, + .vd_bitblt_text = vt_fb_bitblt_text, + .vd_invalidate_text = vt_fb_invalidate_text, + .vd_bitblt_bmp = vt_fb_bitblt_bitmap, + .vd_drawrect = vt_fb_drawrect, + .vd_setpixel = vt_fb_setpixel, + .vd_fb_ioctl = vt_fb_ioctl, + .vd_fb_mmap = vt_fb_mmap, + .vd_suspend = vt_suspend, + .vd_resume = vt_resume, + /* Better than efifb, but still generic driver. */ + .vd_priority = VD_PRIORITY_GENERIC + 2, +}; + +struct { + const char *name; + int rbits, rshift; + int gbits, gshift; + int bbits, bshift; + int depth; + enum vt_color_format format; +} simplefb_formats[] = { + { + .name = "r5g6b5", + .rbits = 5, .rshift = 11, + .gbits = 6, .gshift = 5, + .bbits = 5, .bshift = 0, + .depth = 16, .format = COLOR_FORMAT_RGB, + }, + { + .name = "r8g8b8", + .rbits = 8, .rshift = 16, + .gbits = 8, .gshift = 8, + .bbits = 8, .bshift = 0, + .depth = 24, .format = COLOR_FORMAT_RGB, + }, + { + .name = "a8r8g8b8", + .rbits = 8, .rshift = 16, + .gbits = 8, .gshift = 8, + .bbits = 8, .bshift = 0, + .depth = 32, .format = COLOR_FORMAT_RGB, + }, + { + .name = "x8r8g8b8", + .rbits = 8, .rshift = 16, + .gbits = 8, .gshift = 8, + .bbits = 8, .bshift = 0, + .depth = 32, .format = COLOR_FORMAT_RGB, + }, + { + .name = "x2r10g10b10", + .rbits = 10, .rshift = 20, + .gbits = 10, .gshift = 10, + .bbits = 10, .bshift = 0, + .depth = 32, .format = COLOR_FORMAT_RGB, + }, +}; + +static struct fb_info local_info; +VT_DRIVER_DECLARE(vt_simplefb, vt_simplefb_driver); + +static bool +vt_simplefb_node(phandle_t *nodep) +{ + phandle_t chosen, node; + + chosen = OF_finddevice("/chosen"); + if (chosen == -1) + return (false); + + for (node = OF_child(chosen); node != 0; node = OF_peer(node)) { + if (ofw_bus_node_is_compatible(node, "simple-framebuffer")) + break; + } + if (node == 0) + return (false); + + if (nodep != NULL) + *nodep = node; + + return (true); +} + +static int +vt_simplefb_probe(struct vt_device *vd) +{ + int disabled; + + disabled = 0; + TUNABLE_INT_FETCH("hw.syscons.disable", &disabled); + if (disabled != 0) + return (CN_DEAD); + + if (!vt_simplefb_node(NULL)) + return (CN_DEAD); + + return (CN_INTERNAL); +} + +static int +vt_simplefb_init(struct vt_device *vd) +{ + char format[16]; + pcell_t height, width, stride; + struct fb_info *sc; + phandle_t node; + bus_size_t size; + int error; + + /* Initialize softc */ + vd->vd_softc = sc = &local_info; + + if (!vt_simplefb_node(&node)) + return (CN_DEAD); + + if (OF_getencprop(node, "height", &height, sizeof(height)) == -1 || + OF_getencprop(node, "width", &width, sizeof(width)) == -1 || + OF_getencprop(node, "stride", &stride, sizeof(stride)) == -1 || + OF_getprop(node, "format", format, sizeof(format)) == -1) { + return (CN_DEAD); + } + + sc->fb_height = height; + sc->fb_width = width; + sc->fb_stride = stride; + sc->fb_cmsize = NCOLORS; + + error = 1; + for (int i = 0; i < nitems(simplefb_formats); i++) { + if (strcmp(format, simplefb_formats[i].name) == 0) { + vt_config_cons_colors(sc, + simplefb_formats[i].format, + (1 << simplefb_formats[i].rbits) - 1, + simplefb_formats[i].rshift, + (1 << simplefb_formats[i].gbits) - 1, + simplefb_formats[i].gshift, + (1 << simplefb_formats[i].bbits) - 1, + simplefb_formats[i].bshift); + sc->fb_depth = sc->fb_bpp = simplefb_formats[i].depth; + error = 0; + break; + } + } + if (error != 0) + return (CN_DEAD); + + ofw_reg_to_paddr(node, 0, &sc->fb_pbase, &size, NULL); + sc->fb_vbase = (intptr_t)pmap_mapdev_attr(sc->fb_pbase, + size, VM_MEMATTR_WRITE_COMBINING); + sc->fb_size = size; + + vt_fb_init(vd); + + return (CN_INTERNAL); +} + +static void +vt_simplefb_fini(struct vt_device *vd, void *softc) +{ + struct fb_info *sc; + + sc = softc; + vt_fb_fini(vd, softc); + pmap_unmapdev((void *)sc->fb_vbase, sc->fb_size); +} From nobody Wed Apr 26 05:47:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5nv54sjxz47GdV for ; Wed, 26 Apr 2023 05:47:13 +0000 (UTC) (envelope-from 01000187bc19fc1e-5504153f-04c8-4825-9a58-15782ac3d681-000000@amazonses.com) Received: from a8-237.smtp-out.amazonses.com (a8-237.smtp-out.amazonses.com [54.240.8.237]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q5nv520Wqz4PHD for ; Wed, 26 Apr 2023 05:47:13 +0000 (UTC) (envelope-from 01000187bc19fc1e-5504153f-04c8-4825-9a58-15782ac3d681-000000@amazonses.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ae7m2yrxjw65l2cqdpjxuucyrvy564tn; d=tarsnap.com; t=1682488032; h=Message-ID:Date:MIME-Version:Subject:To:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding; bh=wv7eam+6+vXwDpPDHF3/wiSw80D/a8PxKk89wQ6oYbs=; b=Hrzc2BBAHvY27LCUoPTL1A+68IopzQzLtm7GsYa4TcLHAXGqILqFUSgKJjZ05fpf ZOnRPYX6Q1hS1ytN76bhN8ZdLDwevt6jYh266+CO3kyx9qlHVtTWPJM/iNQXl06E5nT Zn4EEDm6II+NxWKjlenI7v1pRNbjdHpxZfVjL4+A= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1682488032; h=Message-ID:Date:MIME-Version:Subject:To:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Feedback-ID; bh=wv7eam+6+vXwDpPDHF3/wiSw80D/a8PxKk89wQ6oYbs=; b=VTPLgD1VdkxGMK5ATWla6BOGigpMu7ume70LO9KDAT1nH2yQ1RdNc78uylDp3VrV 9UOiB5x7YLytzBwGBnT2XK3XGaFwQTy5Ksak4tqxriu8wp7oxbM/OHR4kS5Ve/c5bxj A98B+kFhQxn+qBi+L0GE9sb3v5ujjDLFEzjx+1dY= Message-ID: <01000187bc19fc1e-5504153f-04c8-4825-9a58-15782ac3d681-000000@email.amazonses.com> Date: Wed, 26 Apr 2023 05:47:12 +0000 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: git: 3a5855dd220b - main - gbde: stop rebuilding sha512 bits Content-Language: en-US To: Kyle Evans , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202304260536.33Q5aqPA029814@gitrepo.freebsd.org> From: Colin Percival In-Reply-To: <202304260536.33Q5aqPA029814@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Feedback-ID: 1.us-east-1.Lv9FVjaNvvR5llaqfLoOVbo2VxOELl7cjN0AOyXnPlk=:AmazonSES X-SES-Outgoing: 2023.04.26-54.240.8.237 X-Rspamd-Queue-Id: 4Q5nv520Wqz4PHD X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:14618, ipnet:54.240.8.0/21, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 4/25/23 22:36, Kyle Evans wrote: > In the early days of gbde, it linked against libmd. Shortly after > conception, phk replaced ARC4 with SHA-512, but libmd did not have SHA2 > at the time thus he built a copy of sha2.c for gbde. > > Fast forward 3 years, cperciva adds SHA2 to libmd -- this makes gbde's > build of sha2.c redundant, but it's (understandably) overlooked. Let's > simplify the gbde build now and just assume that libmd includes the most > optimal implementation. Slight correction: I added *sha256* to libmd in 2005 (FreeBSD 6.0); markm added sha512 to libmd in 2011 (FreeBSD 9.0). -- Colin Percival FreeBSD Deputy Release Engineer & EC2 platform maintainer Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid From nobody Wed Apr 26 07:59:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5rqn3Qxhz47PVS; Wed, 26 Apr 2023 07:59: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 4Q5rqn2rHnz4b3p; Wed, 26 Apr 2023 07:59:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682495973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v0L/Z6F86ujDzjpuIlgnYEiQCefyPV4skc+HhASHWd4=; b=D8Q8ZZaL9HqU93G4moO1gFYzD8Vty0ccTsMbj5kNz8vQcukZbwWSIIO6JxhWrsAjiSrv4y oEDPWcs9s7J7bxKNol2XKFs5TXkn7StOrqB4h35zE/6QomTDP69cQ+mTcxR+NGdYV4ab2k zPyt03crEUlJPG9JENonHtxBI1mmu8e7KSmRWtdeiJAk8OsHsht4dl0Jgd58Pcar1FvSzU xFCdNlHnTe/5pzbG9PyfNL5lzAyffyyj1T0Zr75ovtsoBNqatMgaAo/+taF/m4GycKmkHj HCzR2H+2S9EzIseo45hwbrQG7sMWAr+Or9UXZQsfAVLIqqVAZIioZ3DEzUKmqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682495973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v0L/Z6F86ujDzjpuIlgnYEiQCefyPV4skc+HhASHWd4=; b=woVtiBKmgaGvLywXXPFHupMYJCVrGGatZC1n/IO73QfxqEIuEmgUA/ORF0d8CkJJQLfhfu NsXb6OfN7BOFp4/c0XLXtJa+4PrXh5YF08micCu5WQ8I70nY/lZ/OdtUAM0rZBAbWQqYWp Cy5528S3o3JZa2359k5EwFSEeR6dHa7JO1OQ8WGp3KZQQNopIz7H/kwmdOPRsrBN7GD/qQ krOjJfxYwIo87CiEF4O7Z+SZTgDYYmaRcmIGO/UHnPveW86Rnfxh0Twf5A85S0wAysjXq6 Q8TKWx/OyGBV930Ewgyx2FF8+wyiz6ClhdHRkjvpC6Fp2S+AP17mDZwVTd5PSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682495973; a=rsa-sha256; cv=none; b=jWbdlwvcVBQ8miXVaxpWDhG2w8RAfTAPD9pGam+EQFcjaEoEWBvX4lalSPxgIUtV6kN/HH mZTo1+NvnIEkw7Pt+jiJnyQzp24f4OH1FLg7GSVQLyIaflGvhGTHWCWRkJHMgAF2fIFdGo Et137ctYj1pkWwQeDsYt6XfPTmNnM0t2+i7Qv46iponiWsKeQfKefRKNqdBoUPX4Wl+eRs LFTuHREIeSmkkrs9tJmy3yYgR75qIlndKKDPt5cJLkWpczMWZ+3GVZDBZgiwWb6CDMcRdm b1Tx1gEc4GoaBEqRPL+ACsO7pQloQ8E/K/odREG2SQPcEPWTgN0QwBdtH2qsLg== 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 4Q5rqn1ttvzQxp; Wed, 26 Apr 2023 07:59: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 33Q7xXGm059682; Wed, 26 Apr 2023 07:59:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q7xX4t059681; Wed, 26 Apr 2023 07:59:33 GMT (envelope-from git) Date: Wed, 26 Apr 2023 07:59:33 GMT Message-Id: <202304260759.33Q7xX4t059681@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: 9180daa1e345 - main - bhyve: add basic E820 implementation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9180daa1e34577aaccf3ff64cc63a5179c4f09d8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=9180daa1e34577aaccf3ff64cc63a5179c4f09d8 commit 9180daa1e34577aaccf3ff64cc63a5179c4f09d8 Author: Corvin Köhne AuthorDate: 2021-09-09 09:37:03 +0000 Commit: Corvin Köhne CommitDate: 2023-04-26 07:58:27 +0000 bhyve: add basic E820 implementation There are some use cases where bhyve has to prepare some special memory regions. E.g. GPU passthrough for Intel integrated graphic devices needs to reserve some memory for the graphic device. So, bhyve has to inform the guest about those memory regions. This information can be passed by the qemu fwcfg interface. As qemu creates an E820 table, we can reuse the existing fwcfg item "etc/e820". This commit is the first one of a series. It only adds a basic implementation for the creation of the E820 table. Some subsequent commits will add more items to the E820 table and register it as fwcfg item. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39545 --- usr.sbin/bhyve/e820.c | 233 ++++++++++++++++++++++++++++++++++++++++++++++++++ usr.sbin/bhyve/e820.h | 28 ++++++ 2 files changed, 261 insertions(+) diff --git a/usr.sbin/bhyve/e820.c b/usr.sbin/bhyve/e820.c new file mode 100644 index 000000000000..746d34d6521c --- /dev/null +++ b/usr.sbin/bhyve/e820.c @@ -0,0 +1,233 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2021 Beckhoff Automation GmbH & Co. KG + * Author: Corvin Köhne + */ + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include "e820.h" +#include "qemu_fwcfg.h" + +#define E820_FWCFG_FILE_NAME "etc/e820" + +#define KB (1024UL) +#define MB (1024 * KB) +#define GB (1024 * MB) + +struct e820_element { + TAILQ_ENTRY(e820_element) chain; + uint64_t base; + uint64_t end; + enum e820_memory_type type; +}; +static TAILQ_HEAD(e820_table, e820_element) e820_table = TAILQ_HEAD_INITIALIZER( + e820_table); + +static struct e820_element * +e820_element_alloc(uint64_t base, uint64_t end, enum e820_memory_type type) +{ + struct e820_element *element; + + element = calloc(1, sizeof(*element)); + if (element == NULL) { + return (NULL); + } + + element->base = base; + element->end = end; + element->type = type; + + return (element); +} + +struct qemu_fwcfg_item * +e820_get_fwcfg_item(void) +{ + struct qemu_fwcfg_item *fwcfg_item; + struct e820_element *element; + struct e820_entry *entries; + int count, i; + + count = 0; + TAILQ_FOREACH(element, &e820_table, chain) { + ++count; + } + if (count == 0) { + warnx("%s: E820 table empty", __func__); + return (NULL); + } + + fwcfg_item = calloc(1, sizeof(struct qemu_fwcfg_item)); + if (fwcfg_item == NULL) { + return (NULL); + } + + fwcfg_item->size = count * sizeof(struct e820_entry); + fwcfg_item->data = calloc(count, sizeof(struct e820_entry)); + if (fwcfg_item->data == NULL) { + free(fwcfg_item); + return (NULL); + } + + i = 0; + entries = (struct e820_entry *)fwcfg_item->data; + TAILQ_FOREACH(element, &e820_table, chain) { + struct e820_entry *entry = &entries[i]; + + entry->base = element->base; + entry->length = element->end - element->base; + entry->type = element->type; + + ++i; + } + + return (fwcfg_item); +} + +static int +e820_add_entry(const uint64_t base, const uint64_t end, + const enum e820_memory_type type) +{ + struct e820_element *new_element; + struct e820_element *element; + struct e820_element *ram_element; + + assert(end >= base); + + new_element = e820_element_alloc(base, end, type); + if (new_element == NULL) { + return (ENOMEM); + } + + /* + * E820 table should always be sorted in ascending order. Therefore, + * search for a range whose end is larger than the base parameter. + */ + TAILQ_FOREACH(element, &e820_table, chain) { + if (element->end > base) { + break; + } + } + + /* + * System memory requires special handling. + */ + if (type == E820_TYPE_MEMORY) { + /* + * base is larger than of any existing element. Add new system + * memory at the end of the table. + */ + if (element == NULL) { + TAILQ_INSERT_TAIL(&e820_table, new_element, chain); + return (0); + } + + /* + * System memory shouldn't overlap with any existing element. + */ + assert(end >= element->base); + + TAILQ_INSERT_BEFORE(element, new_element, chain); + + return (0); + } + + assert(element != NULL); + /* Non system memory should be allocated inside system memory. */ + assert(element->type == E820_TYPE_MEMORY); + /* New element should fit into existing system memory element. */ + assert(base >= element->base && end <= element->end); + + if (base == element->base) { + /* + * New element at system memory base boundary. Add new + * element before current and adjust the base of the old + * element. + * + * Old table: + * [ 0x1000, 0x4000] RAM <-- element + * New table: + * [ 0x1000, 0x2000] Reserved + * [ 0x2000, 0x4000] RAM <-- element + */ + TAILQ_INSERT_BEFORE(element, new_element, chain); + element->base = end; + } else if (end == element->end) { + /* + * New element at system memory end boundary. Add new + * element after current and adjust the end of the + * current element. + * + * Old table: + * [ 0x1000, 0x4000] RAM <-- element + * New table: + * [ 0x1000, 0x3000] RAM <-- element + * [ 0x3000, 0x4000] Reserved + */ + TAILQ_INSERT_AFTER(&e820_table, element, new_element, chain); + element->end = base; + } else { + /* + * New element inside system memory entry. Split it by + * adding a system memory element and the new element + * before current. + * + * Old table: + * [ 0x1000, 0x4000] RAM <-- element + * New table: + * [ 0x1000, 0x2000] RAM + * [ 0x2000, 0x3000] Reserved + * [ 0x3000, 0x4000] RAM <-- element + */ + ram_element = e820_element_alloc(element->base, base, + E820_TYPE_MEMORY); + if (ram_element == NULL) { + return (ENOMEM); + } + TAILQ_INSERT_BEFORE(element, ram_element, chain); + TAILQ_INSERT_BEFORE(element, new_element, chain); + element->base = end; + } + + return (0); +} + +int +e820_init(struct vmctx *const ctx) +{ + uint64_t lowmem_size, highmem_size; + int error; + + TAILQ_INIT(&e820_table); + + lowmem_size = vm_get_lowmem_size(ctx); + error = e820_add_entry(0, lowmem_size, E820_TYPE_MEMORY); + if (error) { + warnx("%s: Could not add lowmem", __func__); + return (error); + } + + highmem_size = vm_get_highmem_size(ctx); + if (highmem_size != 0) { + error = e820_add_entry(4 * GB, 4 * GB + highmem_size, + E820_TYPE_MEMORY); + if (error) { + warnx("%s: Could not add highmem", __func__); + return (error); + } + } + + return (0); +} diff --git a/usr.sbin/bhyve/e820.h b/usr.sbin/bhyve/e820.h new file mode 100644 index 000000000000..6843ad5dc736 --- /dev/null +++ b/usr.sbin/bhyve/e820.h @@ -0,0 +1,28 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2021 Beckhoff Automation GmbH & Co. KG + * Author: Corvin Köhne + */ + +#pragma once + +#include + +#include "qemu_fwcfg.h" + +enum e820_memory_type { + E820_TYPE_MEMORY = 1, + E820_TYPE_RESERVED = 2, + E820_TYPE_ACPI = 3, + E820_TYPE_NVS = 4 +}; + +struct e820_entry { + uint64_t base; + uint64_t length; + uint32_t type; +} __packed; + +struct qemu_fwcfg_item *e820_get_fwcfg_item(void); +int e820_init(struct vmctx *const ctx); From nobody Wed Apr 26 07:59:34 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5rqp67Vfz47PMW; Wed, 26 Apr 2023 07:59: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 4Q5rqp3qqYz4bVv; Wed, 26 Apr 2023 07:59:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682495974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oqpF2ZfJ9OC1RLBzOJ/6T8D/hULL1Ti0eN0C42jC+cw=; b=kjH11KQRwU3MRcgmjtJiD6cW6PvChWFCWM3Of28852U6pvkJ1yG6mETPFWBS3+Ypot+w1F 76ZmPzfwjaHnHe8vT9BPN7bAGXIuAREZFHRYCR9whaYlpucEJNEwgqGYK7oHXgkBmQGB1B 4hF5GOMIWgo8cRX/NN9L0aTwrigR5iR4/MOQQoj+rNaSt+rE6rYGF9Gfa+d88a3wv623eB K7SkudCY6uDMBcGnIlFkZe/xp17QfPgL+whF3tUadMZURoEVYiiQCpOJl+w3/cuU2LVrlr /BvZG2lOjICVCN0oCTjyF3IQYFkfBri6/n+RcFtw1J1x0K9gNcq3WSJ4zgEeWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682495974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oqpF2ZfJ9OC1RLBzOJ/6T8D/hULL1Ti0eN0C42jC+cw=; b=lKWHYCR54MvhFoxxGNIjJCpM+QZAURkVGAzX4mdTByOgCpVWcV+eYqLVelYwypJLJZwgcx GITAOeHL4um37RSPOE9D9OR6RQPlLr+IesKgIYbY0V2ksu2SEXcAuwSiJhZWYWF5TGT2zb nEmLhHko8wcvB2G9wwOhdjYxuddIyM+Gd4N+GOpsRphS27odWKsrh+8s4ZcpTDQtnjnCB5 ow6pGXw1iFkarstxz7PC1J3Gv5uZ0UCe41QKGgCtw4rLqxS3/xnpBNjFbgOq8hYhKzUolv p58wknGADyNovNWTjc7Kv8374hl5NP6Z5GE2Jpgo/FJGzE7bIpLwPrQSabPgVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682495974; a=rsa-sha256; cv=none; b=gRzQjwuX5fYzIKtt2K3K9rDSEH0WC8EVd+P/KgarIDl02E/EQ/mXbyDm+W/InPImjOcHcM EIiHk/WJdg+SzCX3pyNhTS4zeiueD4E47JzJSzOMhWzAqjFXdyjg5VTGUILzPEIOfgFDHA 0VKGQfEIp72HETfRxD2QSNqu/bgOVY2W2eKfITHU0mb+nr+nEPdugjPyGXYUKqYboPxhC5 WtPZ99q+wdYPtIkHNSvSQZvBhxFo27VBQuez0ycEo4RCCFgZymnBBVm9JsQDSea/EnHt7X 0Y5XXp0+kmiDe+OJzBrx08yFH/DfEcZyWoNz1MfRVhG3XlaUZ99msW3EM2HstQ== 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 4Q5rqp2m2wzRXF; Wed, 26 Apr 2023 07:59: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 33Q7xYx4059706; Wed, 26 Apr 2023 07:59:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q7xYZV059705; Wed, 26 Apr 2023 07:59:34 GMT (envelope-from git) Date: Wed, 26 Apr 2023 07:59:34 GMT Message-Id: <202304260759.33Q7xYZV059705@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: 059af92a300f - main - bhyve: add common memory holes to E820 table List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 059af92a300f76653048c042559f7d7d8fd8f99c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=059af92a300f76653048c042559f7d7d8fd8f99c commit 059af92a300f76653048c042559f7d7d8fd8f99c Author: Corvin Köhne AuthorDate: 2021-09-09 09:37:03 +0000 Commit: Corvin Köhne CommitDate: 2023-04-26 07:58:31 +0000 bhyve: add common memory holes to E820 table The VGA and the ROM memory ranges can't be used as system memory. For that reason, remove them from the E820 table. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39546 --- usr.sbin/bhyve/e820.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/usr.sbin/bhyve/e820.c b/usr.sbin/bhyve/e820.c index 746d34d6521c..95b83c056b9b 100644 --- a/usr.sbin/bhyve/e820.c +++ b/usr.sbin/bhyve/e820.c @@ -26,6 +26,16 @@ #define MB (1024 * KB) #define GB (1024 * MB) +/* + * Fix E820 memory holes: + * [ A0000, C0000) VGA + * [ C0000, 100000) ROM + */ +#define E820_VGA_MEM_BASE 0xA0000 +#define E820_VGA_MEM_END 0xC0000 +#define E820_ROM_MEM_BASE 0xC0000 +#define E820_ROM_MEM_END 0x100000 + struct e820_element { TAILQ_ENTRY(e820_element) chain; uint64_t base; @@ -204,6 +214,74 @@ e820_add_entry(const uint64_t base, const uint64_t end, return (0); } +static int +e820_add_memory_hole(const uint64_t base, const uint64_t end) +{ + struct e820_element *element; + struct e820_element *ram_element; + + assert(end >= base); + + /* + * E820 table should be always sorted in ascending order. Therefore, + * search for an element which end is larger than the base parameter. + */ + TAILQ_FOREACH(element, &e820_table, chain) { + if (element->end > base) { + break; + } + } + + if (element == NULL || end <= element->base) { + /* Nothing to do. Hole already exists */ + return (0); + } + + /* Memory holes are only allowed in system memory */ + assert(element->type == E820_TYPE_MEMORY); + + if (base == element->base) { + /* + * New hole at system memory base boundary. + * + * Old table: + * [ 0x1000, 0x4000] RAM + * New table: + * [ 0x2000, 0x4000] RAM + */ + element->base = end; + } else if (end == element->end) { + /* + * New hole at system memory end boundary. + * + * Old table: + * [ 0x1000, 0x4000] RAM + * New table: + * [ 0x1000, 0x3000] RAM + */ + element->end = base; + } else { + /* + * New hole inside system memory entry. Split the system memory. + * + * Old table: + * [ 0x1000, 0x4000] RAM <-- element + * New table: + * [ 0x1000, 0x2000] RAM + * [ 0x3000, 0x4000] RAM <-- element + */ + ram_element = e820_element_alloc(element->base, base, + E820_TYPE_MEMORY); + if (ram_element == NULL) { + return (ENOMEM); + } + TAILQ_INSERT_BEFORE(element, ram_element, chain); + element->base = end; + } + + return (0); +} + int e820_init(struct vmctx *const ctx) { @@ -229,5 +307,17 @@ e820_init(struct vmctx *const ctx) } } + error = e820_add_memory_hole(E820_VGA_MEM_BASE, E820_VGA_MEM_END); + if (error) { + warnx("%s: Could not add VGA memory", __func__); + return (error); + } + + error = e820_add_memory_hole(E820_ROM_MEM_BASE, E820_ROM_MEM_END); + if (error) { + warnx("%s: Could not add ROM area", __func__); + return (error); + } + return (0); } From nobody Wed Apr 26 07:59:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5rqq5VqBz47PQF; Wed, 26 Apr 2023 07:59: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 4Q5rqq51V1z4bYf; Wed, 26 Apr 2023 07:59:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682495975; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ngl/wwoQlTZPXjmU7qnXkZqV4ocxvILh3dpLR4I4nDY=; b=jLSrFHvSOZU9lNyb/G4MXS6Urrk3+HICG+rjGsVzb3QHRjqoXn/9L5RcuXE66zrECQuHJv ntOp+zZBCcnEGI7+B7Ap6zUwWdVkxUpa4eTJobftzEMmNcZGT7na1WZyq6q4f+B4ZDxLb8 DTZxEif9qNuZwr6i+ayqmnto1RpVzPZvLHpJIqQUd96J0nfFOFFnYn6XAhu7jGpKzc8JQk 7T7x3A4oYax59Ppglc+CGZJyzuAEtkuQpxtysvUggEjrrrLRcbJK3/dcLdNSiUZFxQI/5j 7cGFxERnD7KspP9mOTMNUvKTTlgPjTOvgkI5hadvlQ56LCCcQBgdw4ZDdI+QaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682495975; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ngl/wwoQlTZPXjmU7qnXkZqV4ocxvILh3dpLR4I4nDY=; b=AshCjOTnySeBAjS6Nc+bRImASgG2wECtcOBfwMYoGQn4OJbxV9gcAuuz5r94lDF2PTXkDY wA51BAykGssAn/xE9w+p5nIoUCrpZOpSJhAIWh9HC6NVbWkXRhXtP+RyzAAPjeS/l9OUKe ZUzU8cAXtfCQxUrWOQZm/atO4tejn6W2oYqn6A97m7M0a/YaKbPeJl7shLjYLVEEghJ2ZM UwYbm9qVwfp1dY+VDej/K19i+UYkmW3PaT+Sk4PsmeR/b77qT3d1Y2pIH69mNdwDdosTy/ 2idnhI/pU1BAhfGkSn7pwsAIBYplsP5kgrsADm7IWBj+hbrfKfZAGoDMKje1Yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682495975; a=rsa-sha256; cv=none; b=I2U53D1PwOY2H64Mppa8b5I4yUOz4xU9ueGuzz3cGx4Lq4tP2LjkNeieSI0eUQvw+v9YJA Fz7ym0U7eh8jAf+jKGTmfRLKUnEmO4nenHeNHszuniuT6XLr2TA9CcPcUN5HONXYK38Z0i fvryOkuFdMygxvCHOqEA/Rpp6sPjs7/KTiGbhCSOZXhsE9fjnoja3oTiBuBHVMB0B/jw/k fhLnPJs8B23vY8yDImvR53HtbO5KMbLPadYvf+1vrdfpZcCyev9eeCSqFlFpvdZDfSVlBI yROVYWPqU8MhywLOt0kAagyoHnUYPgYT+ADKwOvcjyX4bcgCNrDwY50W3uby0A== 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 4Q5rqq3jdXzRJ2; Wed, 26 Apr 2023 07:59: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 33Q7xZth059734; Wed, 26 Apr 2023 07:59:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q7xZEm059733; Wed, 26 Apr 2023 07:59:35 GMT (envelope-from git) Date: Wed, 26 Apr 2023 07:59:35 GMT Message-Id: <202304260759.33Q7xZEm059733@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: 5597f564870e - main - bhyve: add allocation function to E820 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5597f564870e94d56111dec638b8859423c936a9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=5597f564870e94d56111dec638b8859423c936a9 commit 5597f564870e94d56111dec638b8859423c936a9 Author: Corvin Köhne AuthorDate: 2021-09-09 09:37:03 +0000 Commit: Corvin Köhne CommitDate: 2023-04-26 07:58:34 +0000 bhyve: add allocation function to E820 This function makes it easy to allocate new E820 entries. It will be used to allocate graphics memory for Intel integrated graphic devices. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39547 --- usr.sbin/bhyve/e820.c | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++ usr.sbin/bhyve/e820.h | 16 ++++++++ 2 files changed, 120 insertions(+) diff --git a/usr.sbin/bhyve/e820.c b/usr.sbin/bhyve/e820.c index 95b83c056b9b..922381d032ce 100644 --- a/usr.sbin/bhyve/e820.c +++ b/usr.sbin/bhyve/e820.c @@ -20,6 +20,14 @@ #include "e820.h" #include "qemu_fwcfg.h" +/* + * E820 always uses 64 bit entries. Emulation code will use vm_paddr_t since it + * works on physical addresses. If vm_paddr_t is larger than uint64_t E820 can't + * hold all possible physical addresses and we can get into trouble. + */ +static_assert(sizeof(vm_paddr_t) <= sizeof(uint64_t), + "Unable to represent physical memory by E820 table"); + #define E820_FWCFG_FILE_NAME "etc/e820" #define KB (1024UL) @@ -282,6 +290,102 @@ e820_add_memory_hole(const uint64_t base, const uint64_t end) return (0); } +static uint64_t +e820_alloc_highest(const uint64_t max_address, const uint64_t length, + const uint64_t alignment, const enum e820_memory_type type) +{ + struct e820_element *element; + + TAILQ_FOREACH_REVERSE(element, &e820_table, e820_table, chain) { + uint64_t address, base, end; + + end = MIN(max_address, element->end); + base = roundup2(element->base, alignment); + + /* + * If end - length == 0, we would allocate memory at address 0. This + * address is mostly unusable and we should avoid allocating it. + * Therefore, search for another block in that case. + */ + if (element->type != E820_TYPE_MEMORY || end < base || + end - base < length || end - length == 0) { + continue; + } + + address = rounddown2(end - length, alignment); + + if (e820_add_entry(address, address + length, type) != 0) { + return (0); + } + + return (address); + } + + return (0); +} + +static uint64_t +e820_alloc_lowest(const uint64_t min_address, const uint64_t length, + const uint64_t alignment, const enum e820_memory_type type) +{ + struct e820_element *element; + + TAILQ_FOREACH(element, &e820_table, chain) { + uint64_t base, end; + + end = element->end; + base = MAX(min_address, roundup2(element->base, alignment)); + + /* + * If base == 0, we would allocate memory at address 0. This + * address is mostly unusable and we should avoid allocating it. + * Therefore, search for another block in that case. + */ + if (element->type != E820_TYPE_MEMORY || end < base || + end - base < length || base == 0) { + continue; + } + + if (e820_add_entry(base, base + length, type) != 0) { + return (0); + } + + return (base); + } + + return (0); +} + +uint64_t +e820_alloc(const uint64_t address, const uint64_t length, + const uint64_t alignment, const enum e820_memory_type type, + const enum e820_allocation_strategy strategy) +{ + assert(powerof2(alignment)); + assert((address & (alignment - 1)) == 0); + + switch (strategy) { + case E820_ALLOCATE_ANY: + /* + * Allocate any address. Therefore, ignore the address parameter + * and reuse the code path for allocating the lowest address. + */ + return (e820_alloc_lowest(0, length, alignment, type)); + case E820_ALLOCATE_LOWEST: + return (e820_alloc_lowest(address, length, alignment, type)); + case E820_ALLOCATE_HIGHEST: + return (e820_alloc_highest(address, length, alignment, type)); + case E820_ALLOCATE_SPECIFIC: + if (e820_add_entry(address, address + length, type) != 0) { + return (0); + } + + return (address); + } + + return (0); +} + int e820_init(struct vmctx *const ctx) { diff --git a/usr.sbin/bhyve/e820.h b/usr.sbin/bhyve/e820.h index 6843ad5dc736..8b8e23422e1f 100644 --- a/usr.sbin/bhyve/e820.h +++ b/usr.sbin/bhyve/e820.h @@ -18,11 +18,27 @@ enum e820_memory_type { E820_TYPE_NVS = 4 }; +enum e820_allocation_strategy { + /* allocate any address */ + E820_ALLOCATE_ANY, + /* allocate lowest address larger than address */ + E820_ALLOCATE_LOWEST, + /* allocate highest address lower than address */ + E820_ALLOCATE_HIGHEST, + /* allocate a specific address */ + E820_ALLOCATE_SPECIFIC +}; + struct e820_entry { uint64_t base; uint64_t length; uint32_t type; } __packed; +#define E820_ALIGNMENT_NONE 1 + +uint64_t e820_alloc(const uint64_t address, const uint64_t length, + const uint64_t alignment, const enum e820_memory_type type, + const enum e820_allocation_strategy strategy); struct qemu_fwcfg_item *e820_get_fwcfg_item(void); int e820_init(struct vmctx *const ctx); From nobody Wed Apr 26 07:59:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5rqr63Dtz47PQJ; Wed, 26 Apr 2023 07:59: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 4Q5rqr5Y4Pz4bPJ; Wed, 26 Apr 2023 07:59:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682495976; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6g2F9X4csX0wHBkfmbL1wPWn+QKqb79Clzq9FBBtS/I=; b=mBMB8EVrg80B+quMqiIF6OxnAN6RJUd4VjiIB0yLZwzOCBX1lLLd8eIKkooyMBpjAC3NHE GkqrCE3ai9vxfn9CY3uUxiRxYH95kl1bIGrZbWPkkBdw90buQ0Y2wI97Wp36d45xrynkFQ s096ZPIqb/BO2Xc74K/DUO6IVh7TbEPG9XRyepkDnOUNRd3e3WOVWpeBKgp8KNgBQVUWWi dhxSzkHOG90TMsRX4SqJRx0H+qopTkn3Myd6B7jZ+GhW9+hYfNn+hmKMfV5HLnldML1Y4n r/d0hELrnjM/bmNjYNN1t5WuuVGDt24R63u0InhOSvwKaE4BHs5Lj7P9ydOJow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682495976; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6g2F9X4csX0wHBkfmbL1wPWn+QKqb79Clzq9FBBtS/I=; b=L/6puMI10nuJHCLgDeTgVC9SHhU/ozp84wae7++gQqIqc+ofqxNN6Pocx2vP7RnJyyd8z1 5++IaZ1CrWeE/xU6Q4JYRKfyyX/tee8/pMzVHn937StDtusyUBeSzeb8qyltO1XHlby9pF HH9XX1lQ8ffDDP5L+3oWc3b8XwvtHHbIJwPJZHLWWGg08hMFghnfPOWvoMgE4+ELR0ZE7Q oG3pn4xkBJMbR7QPg1ltLRhwX4812Dg3cpdsUTFcBq3/AN73LAyUQawc9dx/NobMWzweBT 68fa9XfpME5dUbDnj4KFHjNDbDh9TjlxKZi5Vm9/H2xrmAtNmQDMrPdgflEutQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682495976; a=rsa-sha256; cv=none; b=ehc2ya6OAGkcfHWFfRbAyrDiLpvz8ACjez2vb3JxaujHh8NUYDVrvYGgNartK7JcUQGBB4 N1TZWwyqtuCBaVkf1zUbzwzrNnlOqQVWzBv8cv0HSlDAHTePmKQqQ01cc/+YgzLvEpMxRE oXwF1asI6OJMz5tzmmAl+HrceS57/KgVEhMdZD604Uxz0Z/OCbWVp5+FBTAxmsWwjnldZj Y4ia84N/eDV2vfsWetOAWgjXZdDAHAeb+aMXD5XmguhVqMWc0tWtP1dqaghCgXT1OW9FkN tTo95njj7ReFkx5X3FnhQ9EHhEwz+Z9iW72NgLBRJUGuX6eFb4m/bVMwquf3ig== 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 4Q5rqr4fDHzRKM; Wed, 26 Apr 2023 07:59: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 33Q7xaCi059764; Wed, 26 Apr 2023 07:59:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q7xaoB059763; Wed, 26 Apr 2023 07:59:36 GMT (envelope-from git) Date: Wed, 26 Apr 2023 07:59:36 GMT Message-Id: <202304260759.33Q7xaoB059763@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: a8a8e9af574c - main - bhyve: add E820 dump function List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a8a8e9af574c63fbecf4719e3bf184795dc98c51 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=a8a8e9af574c63fbecf4719e3bf184795dc98c51 commit a8a8e9af574c63fbecf4719e3bf184795dc98c51 Author: Corvin Köhne AuthorDate: 2021-09-09 09:37:03 +0000 Commit: Corvin Köhne CommitDate: 2023-04-26 07:58:35 +0000 bhyve: add E820 dump function For debugging purposes it is helpful to dump the E820 table. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39549 --- usr.sbin/bhyve/e820.c | 35 +++++++++++++++++++++++++++++++++++ usr.sbin/bhyve/e820.h | 1 + 2 files changed, 36 insertions(+) diff --git a/usr.sbin/bhyve/e820.c b/usr.sbin/bhyve/e820.c index 922381d032ce..6c43e6eda3a5 100644 --- a/usr.sbin/bhyve/e820.c +++ b/usr.sbin/bhyve/e820.c @@ -70,6 +70,41 @@ e820_element_alloc(uint64_t base, uint64_t end, enum e820_memory_type type) return (element); } +static const char * +e820_get_type_name(const enum e820_memory_type type) +{ + switch (type) { + case E820_TYPE_MEMORY: + return ("RAM"); + case E820_TYPE_RESERVED: + return ("Reserved"); + case E820_TYPE_ACPI: + return ("ACPI"); + case E820_TYPE_NVS: + return ("NVS"); + default: + return ("Unknown"); + } +} + +void +e820_dump_table(void) +{ + struct e820_element *element; + uint64_t i; + + fprintf(stderr, "E820 map:\n"); + + i = 0; + TAILQ_FOREACH(element, &e820_table, chain) { + fprintf(stderr, " (%4lu) [%16lx, %16lx] %s\n", i, + element->base, element->end, + e820_get_type_name(element->type)); + + ++i; + } +} + struct qemu_fwcfg_item * e820_get_fwcfg_item(void) { diff --git a/usr.sbin/bhyve/e820.h b/usr.sbin/bhyve/e820.h index 8b8e23422e1f..8703a55115cd 100644 --- a/usr.sbin/bhyve/e820.h +++ b/usr.sbin/bhyve/e820.h @@ -40,5 +40,6 @@ struct e820_entry { uint64_t e820_alloc(const uint64_t address, const uint64_t length, const uint64_t alignment, const enum e820_memory_type type, const enum e820_allocation_strategy strategy); +void e820_dump_table(void); struct qemu_fwcfg_item *e820_get_fwcfg_item(void); int e820_init(struct vmctx *const ctx); From nobody Wed Apr 26 07:59:37 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5rqs6YJVz47PQK; Wed, 26 Apr 2023 07:59: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 4Q5rqs6598z4bgJ; Wed, 26 Apr 2023 07:59:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682495977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XJrp9zi10wmt1aniICjFzoGUIBGQOMiIkAdlbbKpz7U=; b=FJAOEAfgPF4x752v2hPr8p4RF/DTqZNuigsft6GYhoGe5h6AZ9zGwZIMXwlbvk+Q/izI9Q OUMut6kNYdyLrac1knDmCGw5IOIwqWxxuzXdVlD2c1/iPtaMjPd8krYlSrHd9TCpLXmrRB U1ERJ72GjtfDfPyqYZBWDj9tj3UtLPtGAPMgr3VbHlThK9At+b3lvKx9HszhYmrJf3y9qi N/y8shC37oIBEl0DgN23nmH2ysSiJeKPhfW6rbDG2kYZxDzcN6qf0Fn3kJ6n8y1RauSCNr zY79Uj/PJNkpne0uCznZzxxyVVCQSybKRZ3ZFou6uFG1GzSoFv70hejuXP3rkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682495977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XJrp9zi10wmt1aniICjFzoGUIBGQOMiIkAdlbbKpz7U=; b=sOjAzoJx3I4N1DAdn9LW5VRY3nj/c2nLAHLrO5uS+3AWRKcaiKUl7o2dcAr8JG1x9r2S+j u4r6kpKqKFNIo3dRWnpXO0Q8p7Qk8UHJVLlHuubV6dWWb1w5QiiU6xxjFQ710MZeci5Ybu BrUPF4UaitEsa5n5Y2GdEqZ7cxoabz2rlEbcusfuQtY+5hZBJNvVPCDLsFXQnzX55tk8zY 2KW+Ob/vrt/14hlfxiTcRptVXS/kEiX2f8+EdAuzRstJUu25g9w/fBbBzjA33lCWagczGU gvYQgsJ4mj4AnpkzGD7KKMDITU8WjlFoG8NglIUZ9KMBwRr4Kqf0yXYlOBfxIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682495977; a=rsa-sha256; cv=none; b=qEjq9wrqvCXArWpm+SfS3hbaPKlpwoZy6JUhXnwaFO3AlZqQS6G4E3/p0HnnEYP4wrUWFE Walh+kwPPHtRD7qBSb0UCi2vtBJ+mm3fNHOZPFD/IBjTsfSdf3z/AF7WKmAoXdlf+jXwST MUgweyqZ/SInanDuntC8q+/INPRHgQjPeZo2viElo6M1I+Twy1377/mzKZsrZStO01rojp PFg5pX9UlaBsBZA+WtMejxtQQ7R1BAv+DAcNM15c8zU6yvquEKi5mpL7q0HIm2C8mKW/Nu Nzv4qFdj8pjyPt0gClenSm3GNVcPhsuNmkHYUP28o3NiOvNg1pk7KbFTbZNLkw== 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 4Q5rqs596PzRXG; Wed, 26 Apr 2023 07:59: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 33Q7xbxq059788; Wed, 26 Apr 2023 07:59:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q7xbTJ059787; Wed, 26 Apr 2023 07:59:37 GMT (envelope-from git) Date: Wed, 26 Apr 2023 07:59:37 GMT Message-Id: <202304260759.33Q7xbTJ059787@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: 16f23f754329 - main - bhyve: pass E820 table to guest List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 16f23f75432915e64a34357e7d5f26bca82f8219 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=16f23f75432915e64a34357e7d5f26bca82f8219 commit 16f23f75432915e64a34357e7d5f26bca82f8219 Author: Corvin Köhne AuthorDate: 2021-09-09 09:37:04 +0000 Commit: Corvin Köhne CommitDate: 2023-04-26 07:58:37 +0000 bhyve: pass E820 table to guest E820 table will be used to report valid RAM ranges and reserve special memory areas like graphics memory for GPU passthrough. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39550 --- usr.sbin/bhyve/Makefile | 1 + usr.sbin/bhyve/bhyverun.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index 7f67c5bf0489..02a1f67d66eb 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -29,6 +29,7 @@ SRCS= \ crc16.c \ ctl_util.c \ ctl_scsi_all.c \ + e820.c \ fwctl.c \ gdb.c \ hda_codec.c \ diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index d447a9ee60e4..627a86d71e0e 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -91,6 +91,7 @@ __FBSDID("$FreeBSD$"); #include "config.h" #include "inout.h" #include "debug.h" +#include "e820.h" #include "fwctl.h" #include "gdb.h" #include "ioapic.h" @@ -1242,6 +1243,7 @@ main(int argc, char *argv[]) int max_vcpus, memflags; struct vcpu *bsp; struct vmctx *ctx; + struct qemu_fwcfg_item *e820_fwcfg_item; uint64_t rip; size_t memsize; const char *optstr, *value, *vmname; @@ -1486,6 +1488,11 @@ main(int argc, char *argv[]) exit(4); } + if (e820_init(ctx) != 0) { + fprintf(stderr, "Unable to setup E820"); + exit(4); + } + /* * Exit if a device emulation finds an error in its initilization */ @@ -1576,6 +1583,18 @@ main(int argc, char *argv[]) assert(error == 0); } + e820_fwcfg_item = e820_get_fwcfg_item(); + if (e820_fwcfg_item == NULL) { + fprintf(stderr, "invalid e820 table"); + exit(4); + } + if (qemu_fwcfg_add_file("etc/e820", e820_fwcfg_item->size, + e820_fwcfg_item->data) != 0) { + fprintf(stderr, "could not add qemu fwcfg etc/e820"); + exit(4); + } + free(e820_fwcfg_item); + if (lpc_bootrom() && strcmp(lpc_fwcfg(), "bhyve") == 0) { fwctl_init(); } From nobody Wed Apr 26 08:30:18 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5sWG6m55z47gm7; Wed, 26 Apr 2023 08:30: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 4Q5sWG65Znz3Cmq; Wed, 26 Apr 2023 08:30:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682497818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yzDpwiFqmekCJlk9mxUO5Hq6O34km5Jf9bY6tKMJLlQ=; b=vGKxNXJbpqZpY+XICmypWf4HdYPCp9GIEFs/xn6hAtQlcixcNeiPvOgSd0MwLPxCsFYXTK VSxWDnhcBIWES6ssIOuKtG6XEGtjfdHdIcah4MzgvzL9k3COMYY7uKJi+Wpuoji9dDCnmN Za8scy7lgyD87E7uvL3DTlYT9MTpxaPsCcrZAimpioBCumaVrD0iygvSgGywLytf8zRJ0A +GajyQoYxfadcemSq2vB6YGRrUZBkmgCjoUMDpu+k90qNJjsQO0JP/CmSaopyxvPiQRPTN kCLwOH6LiN9IUdYU1VbOe9UAsf+WHf7a83XKFo5FW2igrW/1cVOPpo0lFOGmTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682497818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yzDpwiFqmekCJlk9mxUO5Hq6O34km5Jf9bY6tKMJLlQ=; b=dronZ+lZQfSpI78roMHMoeK4VfujgA8eUvL1cDAd/kGNsHxAppjXF22D/4VKKcePJK2e1G onUghpkxxJExpQ4FGKp6kspJ5HxG6CkK9OROCp5pi9V6T0Bva7TwQoHHiqRA7Eu9/12azZ hYytfySzeBHSK50BxS1VM+nyo1K309L3VgUBaYxDjMXpn7hu0EG2wlcnXAzl2e47IHhKFy KEb71B/C7FAFTI2/jNb5aK7s+J8tnfVJhw5UCHVAmMWDKvtgrxZ2/8mUijwe5/n1gHFsp0 q41JXPCJkt424QD7kL8KVSpZepHBSqaIh7K6AkVowg/HKMrG/2yqeK2CZj2TLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682497818; a=rsa-sha256; cv=none; b=aQwigq9aT1WB1rpmeQxH2PVJuToJKnDv1UF/0MisfWhqxLlMvZuJSBLxeVVnGl+syPx5bs uNmKrJ0xRaIYkctxfx7dFSBGrDe8o0tDqhn8wK8BUxrRPCdpbHVmOXJDtet20VdcfzxK7q p+v3iLkAYfsTI7yT/zk1mES7tlQ4ORZPnsOV/8f/9NVGRYZPc9bbM+SvF36L7EvpAMrgg2 39rO9MXbFQ452pVBg588Ob1JoWGACntJdeS9ycwij5Fy80FaS/2Q4vT4kQDmaXRaq6rK0p t/b1Q8oqo/bcbTLcdklDXSz8MpeGELQ+3XdwpAKnrYlnNk2exjIWeQV5zIzT1Q== 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 4Q5sWG58VQzS4V; Wed, 26 Apr 2023 08:30: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 33Q8UIxB018410; Wed, 26 Apr 2023 08:30:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q8UI0P018409; Wed, 26 Apr 2023 08:30:18 GMT (envelope-from git) Date: Wed, 26 Apr 2023 08:30:18 GMT Message-Id: <202304260830.33Q8UI0P018409@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Jeremy Subject: git: b9600db494a0 - main - prometheus_sysctl_exporter: Replace magic numbers with identifiers. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: peterj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b9600db494a04db6fbf1a16dbcf92f7c64d5e863 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by peterj: URL: https://cgit.FreeBSD.org/src/commit/?id=b9600db494a04db6fbf1a16dbcf92f7c64d5e863 commit b9600db494a04db6fbf1a16dbcf92f7c64d5e863 Author: Peter Jeremy AuthorDate: 2023-04-26 08:29:33 +0000 Commit: Peter Jeremy CommitDate: 2023-04-26 08:29:33 +0000 prometheus_sysctl_exporter: Replace magic numbers with identifiers. Identifiers make it clearer what is going on and makes it easier to find consumers of sysctl functionality. No functional change. MFC after: 3 days Reviewed by: asomers Differential Revision: https://reviews.freebsd.org/D39797 --- .../prometheus_sysctl_exporter.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c b/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c index 931d8e965d00..6c20d639a6d3 100644 --- a/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c +++ b/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c @@ -62,7 +62,7 @@ static void oid_get_root(struct oid *o) { - o->id[0] = 1; + o->id[0] = CTL_KERN; o->len = 1; } @@ -91,8 +91,8 @@ oid_get_next(const struct oid *cur, struct oid *next) int lookup[CTL_MAXNAME + 2]; size_t nextsize; - lookup[0] = 0; - lookup[1] = 2; + lookup[0] = CTL_SYSCTL; + lookup[1] = CTL_SYSCTL_NEXT; memcpy(lookup + 2, cur->id, cur->len * sizeof(lookup[0])); nextsize = sizeof(next->id); if (sysctl(lookup, 2 + cur->len, &next->id, &nextsize, 0, 0) != 0) { @@ -135,8 +135,8 @@ oid_get_format(const struct oid *o, struct oidformat *of) int lookup[CTL_MAXNAME + 2]; size_t oflen; - lookup[0] = 0; - lookup[1] = 4; + lookup[0] = CTL_SYSCTL; + lookup[1] = CTL_SYSCTL_OIDFMT; memcpy(lookup + 2, o->id, o->len * sizeof(lookup[0])); oflen = sizeof(*of); if (sysctl(lookup, 2 + o->len, of, &oflen, 0, 0) != 0) { @@ -344,8 +344,8 @@ oid_get_name(const struct oid *o, struct oidname *on) size_t i, len; /* Fetch the name and split it up in separate components. */ - lookup[0] = 0; - lookup[1] = 1; + lookup[0] = CTL_SYSCTL; + lookup[1] = CTL_SYSCTL_NAME; memcpy(lookup + 2, o->id, o->len * sizeof(lookup[0])); len = sizeof(on->names); if (sysctl(lookup, 2 + o->len, on->names, &len, 0, 0) != 0) @@ -464,8 +464,8 @@ oid_get_description(const struct oid *o, struct oiddescription *od) char *newline; size_t odlen; - lookup[0] = 0; - lookup[1] = 5; + lookup[0] = CTL_SYSCTL; + lookup[1] = CTL_SYSCTL_OIDDESCR; memcpy(lookup + 2, o->id, o->len * sizeof(lookup[0])); odlen = sizeof(od->description); if (sysctl(lookup, 2 + o->len, &od->description, &odlen, 0, 0) != 0) { From nobody Wed Apr 26 08:38:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5sjC2YWQz47h2Q; Wed, 26 Apr 2023 08:38: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 4Q5sjC28M4z3Dr3; Wed, 26 Apr 2023 08:38:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682498335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U+JRebYcjAlUyhjKFq6VRKhr55fV8TzwIvcKDz80KR0=; b=eyazeVMoMN5hDVva5L0eykSFMCSMMHJ1gpuR5aq88C6Th00CsZZKMitb+IdG/VBmCkmQjq wK4WG+dr7axx83SzW+wpvjKAOw0qbQHl2G2zEv1CLwfcsSMnQdSjIGp/BgAFfUYzYH3n8G gNFaCcGjbr3dqFRd9UK7YPKzDTpp4BL5MuqPwsBC5FlhkWO022MGtkSFoQjg3Y3gDRWDqN UgnYR8M0OZDSRXYwNOED04Dd7gMyoNh+LRTeKWj2aInUJSkpdHcWQ9w4BfqmgLiZYNt5Iu UzPl3ZYkih6nWycae7i47bKt+fhpgw8piUERA/+IDWSKgkCj3qVeSoZKdp8SiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682498335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U+JRebYcjAlUyhjKFq6VRKhr55fV8TzwIvcKDz80KR0=; b=pXWhHlrw4xWD7hAlR7al9mMwXbFsOLQmJ5SyRDjHZRxAq7gkxja4asKmlGvjsvpHVIJcps 5FQLabfclVLnvrQdCAt1CrtIz4+K3Qx1ERd1z8joZofCYECZzMTaxsCtU/76ZjS534sKQo wN8ZjgXtdDmtMdqd2B6n2jzfUFtSNMM8F/8Xx+maHIWfqkxD1NS43lSWKwrFuJ3Z2+fOMh nu5kY4j+O4+wm3N7vACfJKa5t31aCjlRdHJ2T8ZukWvmHN4bxmoi5vh7Qh72iyKpU9Niz9 gwJFjyEi4sv5iIahCqELg5HnOhriY7Ii4J0uGzjUa/nQrz2n3tVhK8qG0rXg7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682498335; a=rsa-sha256; cv=none; b=sZcHAYQoTOh/lIKCWv33s854T1j+TXG9M3cZAQln50v+Yg1AXpXMyIBdbpFbKHTZsoMRU2 PyXMqAlY0LW97qlMqRHcz9DpUx2dPZVciZMLXEtFFuGODzgUQKB3NdS6a8mW2oyxyn8rsd GlWLzR+nXLn8S4IqL1ZD+TGxHkznlNiUiJ1YJKtpMzd2vKjJHjNXGCJPMjjr9k/y5unukm 0TeLB7ci37QPYT6H5hbDstSmsX1bLIP4enzIh4sxbMQniMjKXbWwja5OW1jphYVI1oexft vL/7yKCSF7YZT4GgkentEMR6hPZGaN6m7g2x+Vb6D/oNSZy+F84kJfE/G0Oobw== 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 4Q5sjC1DGCzSDq; Wed, 26 Apr 2023 08:38: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 33Q8ct8b025889; Wed, 26 Apr 2023 08:38:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q8ctq2025888; Wed, 26 Apr 2023 08:38:55 GMT (envelope-from git) Date: Wed, 26 Apr 2023 08:38:55 GMT Message-Id: <202304260838.33Q8ctq2025888@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: 0912408a281f - main - vmm: fix HLT loop while vcpu has requested virtual interrupts List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0912408a281f203c43d0b3f73c38117336588342 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=0912408a281f203c43d0b3f73c38117336588342 commit 0912408a281f203c43d0b3f73c38117336588342 Author: Vitaliy Gusev AuthorDate: 2023-04-26 08:17:50 +0000 Commit: Corvin Köhne CommitDate: 2023-04-26 08:38:46 +0000 vmm: fix HLT loop while vcpu has requested virtual interrupts This fixes the detection of pending interrupts when pirval is 0 and the pending bit is set More information how this situation occurs, can be found here: https://github.com/freebsd/freebsd-src/blob/c5b5f2d8086f540fefe4826da013dd31d4e45fe8/sys/amd64/vmm/intel/vmx.c#L4016-L4031 Reviewed by: corvink, markj Fixes: 02cc877968bbcd57695035c67114a67427f54549 ("Recognize a pending virtual interrupt while emulating the halt instruction.") MFC after: 1 week Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D39620 --- sys/amd64/vmm/intel/vmx.c | 44 +++++++++++++++++++------------------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 91406f0614ce..32e53de4e8ee 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -3763,7 +3763,8 @@ vmx_pending_intr(struct vlapic *vlapic, int *vecptr) struct pir_desc *pir_desc; struct LAPIC *lapic; uint64_t pending, pirval; - uint32_t ppr, vpr; + uint8_t ppr, vpr, rvi; + struct vm_exit *vmexit; int i; /* @@ -3774,31 +3775,26 @@ vmx_pending_intr(struct vlapic *vlapic, int *vecptr) vlapic_vtx = (struct vlapic_vtx *)vlapic; pir_desc = vlapic_vtx->pir_desc; + lapic = vlapic->apic_page; - pending = atomic_load_acq_long(&pir_desc->pending); - if (!pending) { - /* - * While a virtual interrupt may have already been - * processed the actual delivery maybe pending the - * interruptibility of the guest. Recognize a pending - * interrupt by reevaluating virtual interrupts - * following Section 29.2.1 in the Intel SDM Volume 3. - */ - struct vm_exit *vmexit; - uint8_t rvi, ppr; - - vmexit = vm_exitinfo(vlapic->vcpu); - KASSERT(vmexit->exitcode == VM_EXITCODE_HLT, - ("vmx_pending_intr: exitcode not 'HLT'")); - rvi = vmexit->u.hlt.intr_status & APIC_TPR_INT; - lapic = vlapic->apic_page; - ppr = lapic->ppr & APIC_TPR_INT; - if (rvi > ppr) { - return (1); - } + /* + * While a virtual interrupt may have already been + * processed the actual delivery maybe pending the + * interruptibility of the guest. Recognize a pending + * interrupt by reevaluating virtual interrupts + * following Section 30.2.1 in the Intel SDM Volume 3. + */ + vmexit = vm_exitinfo(vlapic->vcpu); + KASSERT(vmexit->exitcode == VM_EXITCODE_HLT, + ("vmx_pending_intr: exitcode not 'HLT'")); + rvi = vmexit->u.hlt.intr_status & APIC_TPR_INT; + ppr = lapic->ppr & APIC_TPR_INT; + if (rvi > ppr) + return (1); + pending = atomic_load_acq_long(&pir_desc->pending); + if (!pending) return (0); - } /* * If there is an interrupt pending then it will be recognized only @@ -3807,8 +3803,6 @@ vmx_pending_intr(struct vlapic *vlapic, int *vecptr) * Special case: if the processor priority is zero then any pending * interrupt will be recognized. */ - lapic = vlapic->apic_page; - ppr = lapic->ppr & APIC_TPR_INT; if (ppr == 0) return (1); From nobody Wed Apr 26 09:19:47 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5tcN1zCZz47kBT; Wed, 26 Apr 2023 09:19: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 4Q5tcN1PlTz3KbB; Wed, 26 Apr 2023 09:19:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682500788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+JOYy0HFhaRdu+HgLG/NuDh6D8XZLXBl3k45uSiWpNI=; b=R3ZM8lPdU6tkKqLSZI1cPzrll9tUF/uuVRHvbvv/9G7zhZpu3U6wtePUmrm28K17LJ+pRU C/W1p5aiaood/n3ZPmuwkHJbtMkPKtyMpaUOO1hQmB2vadjkOvvjf4+fcJ1n4WQyyhWBuv is+dyfB6UJbWa2ZASxxC1wQwGKepZqLgDWOeeMKcu2FdO04CUgRBGDibafKN+7KPMd96Ny hu3z+WLlYKMx+aVOnHs9OB5t1x9IeE+tLrfKjLVNAWdHqoPvDMmDoqV0kG2tlFd8sQXumo yGpidjDpPsBHrNQ0PL008EPtwI3zP7d61k0ogyDnSPklzPaDoO7dK8ok3HnCEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682500788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+JOYy0HFhaRdu+HgLG/NuDh6D8XZLXBl3k45uSiWpNI=; b=cALjhU82NtZ/kWpd9qftchFCct0GjNKOQwF2rYmZpYLDqxmTXxHicQlfpZEu+HCPyy2lBW eqQwkiKViHh2XpCf46IQNKVNvjd1Ua5douwQmqNjGgvtwt0gAQeBMM8IMLLJJUnbeM4+pz YMFQX4UE7APM3Qlfhnragt/MRoXvtbqntA++R3XZr/YP2CWIsKH7KBvczSrEXcyncWSxc1 DvQhSe+k29CaNpW8yL8h708VqPTWXk2uGQPLPH9u8joPaiZ9H+X/5yruI/n1BN8Ajqp3Ri 3WBG/4NyYEmHnwikMRtBgAZM1MXNIQ1gm+DCHVbuN8eyfUm0L1aLKI7fMQZuNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682500788; a=rsa-sha256; cv=none; b=iAmhJUcHfj3xJCiM2Igj2Fyuwa+PvraAr+pDMgk3rgE4E2XZ3JXk1rqrSJ/AYrLyo/qhjJ ev8pA2LfT2mRnoPKtVj6m1XJ4doDfwXD8UthToyxaDltMII2ww+4WxRtTv/ThI4xtZRIs3 h3NyTSj9dE0j04CEsQkW8fJK/V7NSZw7BHbHCrSWa+Au11C95jUsgJOMYqvLhq1Xmi1a67 rYqJ2uMlEFOWeiewoKit0sW3mUk3rgYyq0k8gzYPDbMBNn0GQnt6dA0eSxOJl5y1nyoR1b Z15nYbrKPWVCqmNC5zFtEVc1RhWSnVwo7PAV3IgVc0aqSux4540Yb0l1e4S1mA== 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 4Q5tcN0TZLzTNv; Wed, 26 Apr 2023 09:19: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 33Q9JlHP092129; Wed, 26 Apr 2023 09:19:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33Q9JlgI092128; Wed, 26 Apr 2023 09:19:47 GMT (envelope-from git) Date: Wed, 26 Apr 2023 09:19:47 GMT Message-Id: <202304260919.33Q9JlgI092128@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: ef661d4a5bf9 - main - pf: introduce ridentifier and labels to ether rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef661d4a5bf912e4d4850faaf50664532d82541c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=ef661d4a5bf912e4d4850faaf50664532d82541c commit ef661d4a5bf912e4d4850faaf50664532d82541c Author: Christian McDonald AuthorDate: 2023-04-24 18:55:34 +0000 Commit: Kristof Provost CommitDate: 2023-04-26 09:14:41 +0000 pf: introduce ridentifier and labels to ether rules Make Ethernet rules more similar to the usual layer 3 rules by also allowing ridentifier and labels to be set on them. Reviewed by: kp Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 20 +++++++++++++++++++- lib/libpfctl/libpfctl.h | 3 +++ sbin/pfctl/parse.y | 33 +++++++++++++++++++++++++++++++++ sbin/pfctl/pfctl_parser.c | 9 +++++++++ sbin/pfctl/tests/files/pf1013.in | 1 + sbin/pfctl/tests/files/pf1013.ok | 1 + sbin/pfctl/tests/files/pf1014.in | 1 + sbin/pfctl/tests/files/pf1014.ok | 1 + sbin/pfctl/tests/files/pf1015.in | 1 + sbin/pfctl/tests/files/pf1015.ok | 1 + sbin/pfctl/tests/files/pf1016.in | 1 + sbin/pfctl/tests/files/pf1016.ok | 1 + sbin/pfctl/tests/files/pf1017.in | 1 + sbin/pfctl/tests/files/pf1017.ok | 1 + sbin/pfctl/tests/pfctl_test_list.inc | 5 +++++ share/man/man5/pf.conf.5 | 5 +++-- sys/net/pfvar.h | 3 +++ sys/netpfil/pf/pf_nv.c | 27 +++++++++++++++++++++++++++ 18 files changed, 112 insertions(+), 3 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index c75f9ab12889..4f251e92d9aa 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -625,6 +625,9 @@ pfctl_eth_addr_to_nveth_addr(const struct pfctl_eth_addr *addr) static void pfctl_nveth_rule_to_eth_rule(const nvlist_t *nvl, struct pfctl_eth_rule *rule) { + const char *const *labels; + size_t labelcount, i; + rule->nr = nvlist_get_number(nvl, "nr"); rule->quick = nvlist_get_bool(nvl, "quick"); strlcpy(rule->ifname, nvlist_get_string(nvl, "ifname"), IFNAMSIZ); @@ -636,6 +639,12 @@ pfctl_nveth_rule_to_eth_rule(const nvlist_t *nvl, struct pfctl_eth_rule *rule) rule->match_tag = nvlist_get_number(nvl, "match_tag"); rule->match_tag_not = nvlist_get_bool(nvl, "match_tag_not"); + labels = nvlist_get_string_array(nvl, "labels", &labelcount); + assert(labelcount <= PF_RULE_MAX_LABEL_COUNT); + for (i = 0; i < labelcount; i++) + strlcpy(rule->label[i], labels[i], PF_RULE_LABEL_SIZE); + rule->ridentifier = nvlist_get_number(nvl, "ridentifier"); + pfctl_nveth_addr_to_eth_addr(nvlist_get_nvlist(nvl, "src"), &rule->src); pfctl_nveth_addr_to_eth_addr(nvlist_get_nvlist(nvl, "dst"), @@ -775,7 +784,7 @@ pfctl_add_eth_rule(int dev, const struct pfctl_eth_rule *r, const char *anchor, nvlist_t *nvl, *addr; void *packed; int error = 0; - size_t size; + size_t labelcount, size; nvl = nvlist_create(0); @@ -811,6 +820,15 @@ pfctl_add_eth_rule(int dev, const struct pfctl_eth_rule *r, const char *anchor, pfctl_nv_add_rule_addr(nvl, "ipsrc", &r->ipsrc); pfctl_nv_add_rule_addr(nvl, "ipdst", &r->ipdst); + labelcount = 0; + while (r->label[labelcount][0] != 0 && + labelcount < PF_RULE_MAX_LABEL_COUNT) { + nvlist_append_string_array(nvl, "labels", + r->label[labelcount]); + labelcount++; + } + nvlist_add_number(nvl, "ridentifier", r->ridentifier); + nvlist_add_string(nvl, "qname", r->qname); nvlist_add_string(nvl, "tagname", r->tagname); nvlist_add_number(nvl, "dnpipe", r->dnpipe); diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index 1a07b74dc10f..064adafcf3ed 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -87,6 +87,9 @@ struct pfctl_eth_addr { struct pfctl_eth_rule { uint32_t nr; + char label[PF_RULE_MAX_LABEL_COUNT][PF_RULE_LABEL_SIZE]; + uint32_t ridentifier; + bool quick; /* Filter */ diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index e5629f9fcd5f..b0f631a5998c 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -379,6 +379,7 @@ int expand_skip_interface(struct node_if *); int check_rulestate(int); int getservice(char *); int rule_label(struct pfctl_rule *, char *s[PF_RULE_MAX_LABEL_COUNT]); +int eth_rule_label(struct pfctl_eth_rule *, char *s[PF_RULE_MAX_LABEL_COUNT]); int rt_tableid_max(void); void mv_rules(struct pfctl_ruleset *, struct pfctl_ruleset *); @@ -1243,6 +1244,11 @@ etherrule : ETHER action dir quick interface bridge etherproto etherfromto l3fro memcpy(&r.qname, $10.queues.qname, sizeof(r.qname)); r.dnpipe = $10.dnpipe; r.dnflags = $10.free_flags; + if (eth_rule_label(&r, $10.label)) + YYERROR; + for (int i = 0; i < PF_RULE_MAX_LABEL_COUNT; i++) + free($10.label[i]); + r.ridentifier = $10.ridentifier; expand_eth_rule(&r, $5, $7, $8.src, $8.dst, $9.src.host, $9.dst.host, $6, ""); @@ -1366,6 +1372,16 @@ etherfilter_opt : etherqname { } filter_opts.queues = $1; } + | RIDENTIFIER number { + filter_opts.ridentifier = $2; + } + | label { + if (filter_opts.labelcount >= PF_RULE_MAX_LABEL_COUNT) { + yyerror("label can only be used %d times", PF_RULE_MAX_LABEL_COUNT); + YYERROR; + } + filter_opts.label[filter_opts.labelcount++] = $1; + } | TAG string { filter_opts.tag = $2; } @@ -6945,6 +6961,23 @@ rule_label(struct pfctl_rule *r, char *s[PF_RULE_MAX_LABEL_COUNT]) return (0); } +int +eth_rule_label(struct pfctl_eth_rule *r, char *s[PF_RULE_MAX_LABEL_COUNT]) +{ + for (int i = 0; i < PF_RULE_MAX_LABEL_COUNT; i++) { + if (s[i] == NULL) + return (0); + + if (strlcpy(r->label[i], s[i], sizeof(r->label[0])) >= + sizeof(r->label[0])) { + yyerror("rule label too long (max %d chars)", + sizeof(r->label[0])-1); + return (-1); + } + } + return (0); +} + u_int16_t parseicmpspec(char *w, sa_family_t af) { diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index 1f8627f5e246..c3aa840bca40 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -755,6 +755,8 @@ print_eth_rule(struct pfctl_eth_rule *r, const char *anchor_call, static const char *actiontypes[] = { "pass", "block", "", "", "", "", "", "", "", "", "", "", "match" }; + int i; + if (rule_numbers) printf("@%u ", r->nr); @@ -797,6 +799,13 @@ print_eth_rule(struct pfctl_eth_rule *r, const char *anchor_call, print_fromto(&r->ipsrc, PF_OSFP_ANY, &r->ipdst, r->proto == ETHERTYPE_IP ? AF_INET : AF_INET6, 0, 0, 0); + + i = 0; + while (r->label[i][0]) + printf(" label \"%s\"", r->label[i++]); + if (r->ridentifier) + printf(" ridentifier %u", r->ridentifier); + if (r->qname[0]) printf(" queue %s", r->qname); if (r->tagname[0]) diff --git a/sbin/pfctl/tests/files/pf1013.in b/sbin/pfctl/tests/files/pf1013.in new file mode 100644 index 000000000000..053804e1a35a --- /dev/null +++ b/sbin/pfctl/tests/files/pf1013.in @@ -0,0 +1 @@ +ether block out on igb0 ridentifier 12345678 diff --git a/sbin/pfctl/tests/files/pf1013.ok b/sbin/pfctl/tests/files/pf1013.ok new file mode 100644 index 000000000000..7395f3fd6311 --- /dev/null +++ b/sbin/pfctl/tests/files/pf1013.ok @@ -0,0 +1 @@ +ether block out on igb0 l3 all ridentifier 12345678 diff --git a/sbin/pfctl/tests/files/pf1014.in b/sbin/pfctl/tests/files/pf1014.in new file mode 100644 index 000000000000..8739034f1bda --- /dev/null +++ b/sbin/pfctl/tests/files/pf1014.in @@ -0,0 +1 @@ +ether block out on igb0 label "test" diff --git a/sbin/pfctl/tests/files/pf1014.ok b/sbin/pfctl/tests/files/pf1014.ok new file mode 100644 index 000000000000..d0086cb25e54 --- /dev/null +++ b/sbin/pfctl/tests/files/pf1014.ok @@ -0,0 +1 @@ +ether block out on igb0 l3 all label "test" diff --git a/sbin/pfctl/tests/files/pf1015.in b/sbin/pfctl/tests/files/pf1015.in new file mode 100644 index 000000000000..11c7a211ae8a --- /dev/null +++ b/sbin/pfctl/tests/files/pf1015.in @@ -0,0 +1 @@ +ether block out on igb0 label "test" label "another label" diff --git a/sbin/pfctl/tests/files/pf1015.ok b/sbin/pfctl/tests/files/pf1015.ok new file mode 100644 index 000000000000..d3ea76f1875b --- /dev/null +++ b/sbin/pfctl/tests/files/pf1015.ok @@ -0,0 +1 @@ +ether block out on igb0 l3 all label "test" label "another label" diff --git a/sbin/pfctl/tests/files/pf1016.in b/sbin/pfctl/tests/files/pf1016.in new file mode 100644 index 000000000000..a7b1f6bc0ca9 --- /dev/null +++ b/sbin/pfctl/tests/files/pf1016.in @@ -0,0 +1 @@ +ether block out on igb0 label "test" ridentifier 12345678 diff --git a/sbin/pfctl/tests/files/pf1016.ok b/sbin/pfctl/tests/files/pf1016.ok new file mode 100644 index 000000000000..f1d59c988730 --- /dev/null +++ b/sbin/pfctl/tests/files/pf1016.ok @@ -0,0 +1 @@ +ether block out on igb0 l3 all label "test" ridentifier 12345678 diff --git a/sbin/pfctl/tests/files/pf1017.in b/sbin/pfctl/tests/files/pf1017.in new file mode 100644 index 000000000000..ad523337bdc5 --- /dev/null +++ b/sbin/pfctl/tests/files/pf1017.in @@ -0,0 +1 @@ +ether block out on igb0 label "test" label "another test" ridentifier 12345678 diff --git a/sbin/pfctl/tests/files/pf1017.ok b/sbin/pfctl/tests/files/pf1017.ok new file mode 100644 index 000000000000..0efdd55e27a0 --- /dev/null +++ b/sbin/pfctl/tests/files/pf1017.ok @@ -0,0 +1 @@ +ether block out on igb0 l3 all label "test" label "another test" ridentifier 12345678 diff --git a/sbin/pfctl/tests/pfctl_test_list.inc b/sbin/pfctl/tests/pfctl_test_list.inc index 0b7d89099efe..7caf66221e2d 100644 --- a/sbin/pfctl/tests/pfctl_test_list.inc +++ b/sbin/pfctl/tests/pfctl_test_list.inc @@ -123,3 +123,8 @@ PFCTL_TEST(1009, "Ethernet rule with mask") PFCTL_TEST(1010, "POM_STICKYADDRESS test") PFCTL_TEST(1011, "Test disabling scrub fragment reassemble") PFCTL_TEST(1012, "Test scrub fragment reassemble is default") +PFCTL_TEST(1013, "Ethernet rule with ridentifier") +PFCTL_TEST(1014, "Ethernet rule with one label") +PFCTL_TEST(1015, "Ethernet rule with several labels") +PFCTL_TEST(1016, "Ethernet rule with ridentifier and one label") +PFCTL_TEST(1017, "Ethernet rule with ridentifier and several labels") diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index 88c509f36ff7..8292812f7817 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -28,7 +28,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 21, 2023 +.Dd April 26, 2023 .Dt PF.CONF 5 .Os .Sh NAME @@ -3108,7 +3108,8 @@ logopts = logopt [ "," logopts ] logopt = "all" | "user" | "to" interface-name etherfilteropt-list = etherfilteropt-list etherfilteropt | etherfilteropt -etherfilteropt = "tag" string | "tagged" string | "queue" ( string ) +etherfilteropt = "tag" string | "tagged" string | "queue" ( string ) | + "ridentifier" number | "label" string filteropt-list = filteropt-list filteropt | filteropt filteropt = user | group | flags | icmp-type | icmp6-type | "tos" tos | diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 2f017923afa1..a82735f71c8c 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -703,6 +703,9 @@ struct pf_keth_rule { uint8_t action; uint16_t dnpipe; uint32_t dnflags; + + char label[PF_RULE_MAX_LABEL_COUNT][PF_RULE_LABEL_SIZE]; + uint32_t ridentifier; }; union pf_krule_ptr { diff --git a/sys/netpfil/pf/pf_nv.c b/sys/netpfil/pf/pf_nv.c index 544477407861..4391dc0ef8d5 100644 --- a/sys/netpfil/pf/pf_nv.c +++ b/sys/netpfil/pf/pf_nv.c @@ -1051,6 +1051,11 @@ pf_keth_rule_to_nveth_rule(const struct pf_keth_rule *krule) if (nvl == NULL) return (NULL); + for (int i = 0; i < PF_RULE_MAX_LABEL_COUNT; i++) { + nvlist_append_string_array(nvl, "labels", krule->label[i]); + } + nvlist_add_number(nvl, "ridentifier", krule->ridentifier); + nvlist_add_number(nvl, "nr", krule->nr); nvlist_add_bool(nvl, "quick", krule->quick); nvlist_add_string(nvl, "ifname", krule->ifname); @@ -1126,8 +1131,29 @@ pf_nveth_rule_to_keth_rule(const nvlist_t *nvl, { int error = 0; +#define ERROUT(x) ERROUT_FUNCTION(errout, x) + bzero(krule, sizeof(*krule)); + if (nvlist_exists_string_array(nvl, "labels")) { + const char *const *strs; + size_t items; + int ret; + + strs = nvlist_get_string_array(nvl, "labels", &items); + if (items > PF_RULE_MAX_LABEL_COUNT) + ERROUT(E2BIG); + + for (size_t i = 0; i < items; i++) { + ret = strlcpy(krule->label[i], strs[i], + sizeof(krule->label[0])); + if (ret >= sizeof(krule->label[0])) + ERROUT(E2BIG); + } + } + + PFNV_CHK(pf_nvuint32_opt(nvl, "ridentifier", &krule->ridentifier, 0)); + PFNV_CHK(pf_nvuint32(nvl, "nr", &krule->nr)); PFNV_CHK(pf_nvbool(nvl, "quick", &krule->quick)); PFNV_CHK(pf_nvstring(nvl, "ifname", krule->ifname, @@ -1192,6 +1218,7 @@ pf_nveth_rule_to_keth_rule(const nvlist_t *nvl, krule->action != PF_MATCH) return (EBADMSG); +#undef ERROUT errout: return (error); } From nobody Wed Apr 26 11:11:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5x565D3rz47qHF; Wed, 26 Apr 2023 11:11: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 4Q5x5650Qqz3mYF; Wed, 26 Apr 2023 11:11:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682507482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j4cuO30FETBchw5+tPZjIYNLJevY1Ef1DJt8NMp5Kps=; b=fcEyqfB+2yysMl41kn7bTCiOLYgDsI2rlZVRGKLu80r17aDWPyzyFhjUhsI0+lXXDWB8aR fS0tu2W8pPURYkOzwuibmRSpRCG39qANrXE6Mmyf9eJst3qXCh93fmoFzYqs8xF3ThilMd Wmu3S4tDWar/s4qLvNWo8VJN808MLb1jGphkJ6p6RKBnySHrUu2uaBEAQPwZ/qkz3yCQq/ 9h1rqoP/vzjoNDUlteMpUdpblvu/LAE5+LYjwPkRhvQNTasFophnMgGNrh+JzZ8FqzumOH 6bnLUnYp85LgNN7zXMG0A1uniPnGCZq31KDhbMKSVJ/IwxKzAJVPHkUBz2wTbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682507482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j4cuO30FETBchw5+tPZjIYNLJevY1Ef1DJt8NMp5Kps=; b=VV2GRL+nAVvQgoO2Y1PNtPdXc/rqaBP94wYJtmVIwFiWwHoNGmo1W6eEX0WF7km+6oCLtd 8EDnQQxReQ/4KgTRrp8+HQcI6UtsiUk5iPBs/2TuthUepCaMuK2JfTjFgIh6oejzrsXKTm E121vLanc4CQ4+soZN1lako1BX6qR9SykIy8vZlzgPGSpweldKPhq7X6tGUJ/cXSoz0WCp TPzo2E4syaANtnQTnqDSWOKGehHYJSN8RR1dI0IZYS2uqfmb5O63cgtuHl3iVDW5nc2/rM tUyErjmqb0RmA+BZeY5I7Co0S9lJrZf60MEZjq+ONe7hZEJifxtISkTMKzOz3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682507482; a=rsa-sha256; cv=none; b=tQKfAwLy2f70N5VCcXPaon87e/JJxk/N/oDaT3OrEBSWCG22xmBoQ+HBQKPq6L6VqTnMdp 9o/1c5+vZix6FCeaVipsARYYk2/uvWBjxTh3Uu3ZShwJI1TYp+n6xc+MJhYUx7eTclMD0k IHzB1OPpeeNxhnsG7LWka8QwKxBDVwBUAbDduQO0BAXUbV8UJ9CJuDGy/LYT/1deXenyc+ rXQuKcNkcX1fZ7XpXg7RKAQqkIfkeXx5u40X37urTjcKmTa4XHSpJhF6BGWecbhyaFsnvZ pR82zgvPWgW89/VxuK100BdxlVetCxqwefZ8DzXyXhexR6Z7xkpBK5itDjIkVQ== 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 4Q5x56450pzXdC; Wed, 26 Apr 2023 11:11: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 33QBBMDF086332; Wed, 26 Apr 2023 11:11:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QBBM7V086331; Wed, 26 Apr 2023 11:11:22 GMT (envelope-from git) Date: Wed, 26 Apr 2023 11:11:22 GMT Message-Id: <202304261111.33QBBM7V086331@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: 75411d157232 - main - Update tzcode to 2023c. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 75411d157232ee3b4789b92c9205453e7d59a3d2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=75411d157232ee3b4789b92c9205453e7d59a3d2 commit 75411d157232ee3b4789b92c9205453e7d59a3d2 Merge: ef661d4a5bf9 d5228e8957c2 Author: Dag-Erling Smørgrav AuthorDate: 2023-04-26 09:46:18 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-04-26 09:46:21 +0000 Update tzcode to 2023c. MFC after: 3 weeks Sponsored by: Klara, Inc. Reviewed by: philip Differential Revision: https://reviews.freebsd.org/D39712 contrib/tzcode/CONTRIBUTING | 2 +- contrib/tzcode/Makefile | 54 ++++---- contrib/tzcode/NEWS | 143 ++++++++++++++++++--- contrib/tzcode/asctime.c | 29 ++++- contrib/tzcode/date.1 | 5 +- contrib/tzcode/date.c | 15 +-- contrib/tzcode/localtime.c | 152 ++++++++++++---------- contrib/tzcode/newctime.3 | 22 +++- contrib/tzcode/newstrftime.3 | 2 +- contrib/tzcode/newtzset.3 | 5 +- contrib/tzcode/private.h | 135 +++++++++++++++----- contrib/tzcode/strftime.c | 6 +- contrib/tzcode/theory.html | 66 ++++++---- contrib/tzcode/time2posix.3 | 3 - contrib/tzcode/tz-art.html | 21 +++- contrib/tzcode/tz-how-to.html | 6 +- contrib/tzcode/tz-link.html | 93 ++++++++++---- contrib/tzcode/tzfile.5 | 5 +- contrib/tzcode/tzfile.h | 6 +- contrib/tzcode/tzselect.8 | 2 +- contrib/tzcode/tzselect.ksh | 287 +++++++++++++++++++++++++++++------------- contrib/tzcode/version | 2 +- contrib/tzcode/zdump.8 | 3 - contrib/tzcode/zdump.c | 85 +++++++------ contrib/tzcode/zic.8 | 19 +-- contrib/tzcode/zic.c | 67 +++++----- lib/libc/stdtime/Symbol.map | 1 + 27 files changed, 839 insertions(+), 397 deletions(-) diff --cc contrib/tzcode/Makefile index afb9d538a203,000000000000..0e56af89e2a4 mode 100644,000000..100644 --- a/contrib/tzcode/Makefile +++ b/contrib/tzcode/Makefile @@@ -1,1250 -1,0 +1,1250 @@@ +# Make and install tzdb code and data. + +# This file is in the public domain, so clarified as of +# 2009-05-17 by Arthur David Olson. + +# Package name for the code distribution. +PACKAGE= tzcode + +# Version number for the distribution, overridden in the 'tarballs' rule below. +VERSION= unknown + +# Email address for bug reports. +BUGEMAIL= tz@iana.org + +# DATAFORM selects the data format. +# Available formats represent essentially the same data, albeit +# possibly with minor discrepancies that users are not likely to notice. +# To get new features and the best data right away, use: +# DATAFORM= vanguard +# To wait a while before using new features, to give downstream users +# time to upgrade zic (the default), use: +# DATAFORM= main +# To wait even longer for new features, use: +# DATAFORM= rearguard +# Rearguard users might also want "ZFLAGS = -b fat"; see below. +DATAFORM= main + +# Change the line below for your timezone (after finding the one you want in +# one of the $(TDATA) source files, or adding it to a source file). +# Alternatively, if you discover you've got the wrong timezone, you can just +# 'zic -l -' to remove it, or 'zic -l rightzone' to change it. +# Use the command +# make zonenames +# to get a list of the values you can use for LOCALTIME. + +LOCALTIME= Factory + - # The POSIXRULES macro controls interpretation of nonstandard and obsolete - # POSIX-like TZ settings like TZ='EET-2EEST' that lack DST transition rules. - # Such a setting uses the rules in a template file to determine - # "spring forward" and "fall back" days and times; the environment - # variable itself specifies UT offsets of standard and daylight saving time. - # ++# The POSIXRULES macro controls interpretation of POSIX-like TZ ++# settings like TZ='EET-2EEST' that lack DST transition rules. +# If POSIXRULES is '-', no template is installed; this is the default. - # +# Any other value for POSIXRULES is obsolete and should not be relied on, as: +# * It does not work correctly in popular implementations such as GNU/Linux. +# * It does not work even in tzcode, except for historical timestamps +# that precede the last explicit transition in the POSIXRULES file. +# Hence it typically does not work for current and future timestamps. - # In short, software should avoid ruleless settings like TZ='EET-2EEST' - # and so should not depend on the value of POSIXRULES. - # +# If, despite the above, you want a template for handling these settings, +# you can change the line below (after finding the timezone you want in the +# one of the $(TDATA) source files, or adding it to a source file). +# Alternatively, if you discover you've got the wrong timezone, you can just +# 'zic -p -' to remove it, or 'zic -p rightzone' to change it. +# Use the command +# make zonenames +# to get a list of the values you can use for POSIXRULES. + +POSIXRULES= - + +# Also see TZDEFRULESTRING below, which takes effect only - # if the time zone files cannot be accessed. ++# if POSIXRULES is '-' or if the template file cannot be accessed. + + +# Installation locations. +# +# The defaults are suitable for Debian, except that if REDO is +# posix_right or right_posix then files that Debian puts under +# /usr/share/zoneinfo/posix and /usr/share/zoneinfo/right are instead +# put under /usr/share/zoneinfo-posix and /usr/share/zoneinfo-leaps, +# respectively. Problems with the Debian approach are discussed in +# the commentary for the right_posix rule (below). + +# Destination directory, which can be used for staging. +# 'make DESTDIR=/stage install' installs under /stage (e.g., to +# /stage/etc/localtime instead of to /etc/localtime). Files under +# /stage are not intended to work as-is, but can be copied by hand to +# the root directory later. If DESTDIR is empty, 'make install' does +# not stage, but installs directly into production locations. +DESTDIR = + +# Everything is installed into subdirectories of TOPDIR, and used there. +# TOPDIR should be empty (meaning the root directory), +# or a directory name that does not end in "/". +# TOPDIR should be empty or an absolute name unless you're just testing. +TOPDIR = + +# The default local timezone is taken from the file TZDEFAULT. +TZDEFAULT = $(TOPDIR)/etc/localtime + +# The subdirectory containing installed program and data files, and +# likewise for installed files that can be shared among architectures. +# These should be relative file names. +USRDIR = usr +USRSHAREDIR = $(USRDIR)/share + +# "Compiled" timezone information is placed in the "TZDIR" directory +# (and subdirectories). +# TZDIR_BASENAME should not contain "/" and should not be ".", ".." or empty. +TZDIR_BASENAME= zoneinfo +TZDIR = $(TOPDIR)/$(USRSHAREDIR)/$(TZDIR_BASENAME) + +# The "tzselect" and (if you do "make INSTALL") "date" commands go in: +BINDIR = $(TOPDIR)/$(USRDIR)/bin + +# The "zdump" command goes in: +ZDUMPDIR = $(BINDIR) + +# The "zic" command goes in: +ZICDIR = $(TOPDIR)/$(USRDIR)/sbin + +# Manual pages go in subdirectories of. . . +MANDIR = $(TOPDIR)/$(USRSHAREDIR)/man + +# Library functions are put in an archive in LIBDIR. +LIBDIR = $(TOPDIR)/$(USRDIR)/lib + + +# Types to try, as an alternative to time_t. +TIME_T_ALTERNATIVES = $(TIME_T_ALTERNATIVES_HEAD) $(TIME_T_ALTERNATIVES_TAIL) +TIME_T_ALTERNATIVES_HEAD = int_least64_t +TIME_T_ALTERNATIVES_TAIL = int_least32_t uint_least32_t uint_least64_t + +# What kind of TZif data files to generate. (TZif is the binary time +# zone data format that zic generates; see Internet RFC 8536.) +# If you want only POSIX time, with time values interpreted as +# seconds since the epoch (not counting leap seconds), use +# REDO= posix_only +# below. If you want only "right" time, with values interpreted +# as seconds since the epoch (counting leap seconds), use +# REDO= right_only +# below. If you want both sets of data available, with leap seconds not +# counted normally, use +# REDO= posix_right +# below. If you want both sets of data available, with leap seconds counted +# normally, use +# REDO= right_posix +# below. POSIX mandates that leap seconds not be counted; for compatibility +# with it, use "posix_only" or "posix_right". Use POSIX time on systems with +# leap smearing; this can work better than unsmeared "right" time with +# applications that are not leap second aware, and is closer to unsmeared +# "right" time than unsmeared POSIX time is (e.g., 0.5 vs 1.0 s max error). + +REDO= posix_right + +# Whether to put an "Expires" line in the leapseconds file. +# Use EXPIRES_LINE=1 to put the line in, 0 to omit it. +# The EXPIRES_LINE value matters only if REDO's value contains "right". +# If you change EXPIRES_LINE, remove the leapseconds file before running "make". +# zic's support for the Expires line was introduced in tzdb 2020a, +# and was modified in tzdb 2021b to generate version 4 TZif files. +# EXPIRES_LINE defaults to 0 for now so that the leapseconds file +# can be given to pre-2020a zic implementations and so that TZif files +# built by newer zic implementations can be read by pre-2021b libraries. +EXPIRES_LINE= 0 + +# To install data in text form that has all the information of the TZif data, +# (optionally incorporating leap second information), use +# TZDATA_TEXT= tzdata.zi leapseconds +# To install text data without leap second information (e.g., because +# REDO='posix_only'), use +# TZDATA_TEXT= tzdata.zi +# To avoid installing text data, use +# TZDATA_TEXT= + +TZDATA_TEXT= leapseconds tzdata.zi + +# For backward-compatibility links for old zone names, use +# BACKWARD= backward +# To omit these links, use +# BACKWARD= + +BACKWARD= backward + +# If you want out-of-scope and often-wrong data from the file 'backzone', +# but only for entries listed in the backward-compatibility file zone.tab, use +# PACKRATDATA= backzone +# PACKRATLIST= zone.tab +# If you want all the 'backzone' data, use +# PACKRATDATA= backzone +# PACKRATLIST= +# To omit this data, use +# PACKRATDATA= +# PACKRATLIST= + +PACKRATDATA= +PACKRATLIST= + +# The name of a locale using the UTF-8 encoding, used during self-tests. +# The tests are skipped if the name does not appear to work on this system. + +UTF8_LOCALE= en_US.utf8 + +# Non-default libraries needed to link. +# On some hosts, this should have -lintl unless CFLAGS has -DHAVE_GETTEXT=0. +LDLIBS= + +# Add the following to the end of the "CFLAGS=" line as needed to override +# defaults specified in the source code. "-DFOO" is equivalent to "-DFOO=1". +# -DDEPRECATE_TWO_DIGIT_YEARS for optional runtime warnings about strftime +# formats that generate only the last two digits of year numbers +# -DEPOCH_LOCAL if the 'time' function returns local time not UT +# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater +# than what POSIX specifies, assuming local time is UT. +# For example, N is 252460800 on AmigaOS. +# -DHAVE_DECL_ASCTIME_R=0 if does not declare asctime_r +# -DHAVE_DECL_ENVIRON if declares 'environ' +# -DHAVE_DECL_TIMEGM=0 if does not declare timegm +# -DHAVE_DIRECT_H if mkdir needs (MS-Windows) - # -DHAVE_GENERIC=0 if _Generic does not work* ++# -DHAVE__GENERIC=0 if _Generic does not work* +# -DHAVE_GETRANDOM if getrandom works (e.g., GNU/Linux), +# -DHAVE_GETRANDOM=0 to avoid using getrandom +# -DHAVE_GETTEXT if gettext works (e.g., GNU/Linux, FreeBSD, Solaris), +# where LDLIBS also needs to contain -lintl on some hosts; +# -DHAVE_GETTEXT=0 to avoid using gettext +# -DHAVE_INCOMPATIBLE_CTIME_R if your system's time.h declares +# ctime_r and asctime_r incompatibly with the POSIX standard +# (Solaris when _POSIX_PTHREAD_SEMANTICS is not defined). - # -DHAVE_INTTYPES_H=0 if does not work* ++# -DHAVE_INTTYPES_H=0 if does not work*+ +# -DHAVE_LINK=0 if your system lacks a link function +# -DHAVE_LOCALTIME_R=0 if your system lacks a localtime_r function +# -DHAVE_LOCALTIME_RZ=0 if you do not want zdump to use localtime_rz +# localtime_rz can make zdump significantly faster, but is nonstandard. +# -DHAVE_MALLOC_ERRNO=0 if malloc etc. do not set errno on failure. +# -DHAVE_POSIX_DECLS=0 if your system's include files do not declare +# functions like 'link' or variables like 'tzname' required by POSIX +# -DHAVE_SETENV=0 if your system lacks the setenv function - # -DHAVE_SNPRINTF=0 if your system lacks the snprintf function ++# -DHAVE_SNPRINTF=0 if your system lacks the snprintf function+ +# -DHAVE_STDCKDINT_H=0 if neither nor substitutes like +# __builtin_add_overflow work* - # -DHAVE_STDINT_H=0 if does not work* ++# -DHAVE_STDINT_H=0 if does not work*+ +# -DHAVE_STRFTIME_L if declares locale_t and strftime_l +# -DHAVE_STRDUP=0 if your system lacks the strdup function - # -DHAVE_STRTOLL=0 if your system lacks the strtoll function ++# -DHAVE_STRTOLL=0 if your system lacks the strtoll function+ +# -DHAVE_SYMLINK=0 if your system lacks the symlink function +# -DHAVE_SYS_STAT_H=0 if does not work* +# -DHAVE_TZSET=0 if your system lacks a tzset function +# -DHAVE_UNISTD_H=0 if does not work* +# -DHAVE_UTMPX_H=0 if does not work* +# -Dlocale_t=XXX if your system uses XXX instead of locale_t ++# -DPORT_TO_C89 if tzcode should also run on C89 platforms+ +# -DRESERVE_STD_EXT_IDS if your platform reserves standard identifiers +# with external linkage, e.g., applications cannot define 'localtime'. +# -Dssize_t=long on hosts like MS-Windows that lack ssize_t ++# -DSUPPORT_C89 if the tzcode library should support C89 callers+ +# -DSUPPRESS_TZDIR to not prepend TZDIR to file names; this has +# security implications and is not recommended for general use +# -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires; +# not needed by the main-program tz code, which is single-threaded. +# Append other compiler flags as needed, e.g., -pthread on GNU/Linux. +# -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t +# This is intended for internal use only; it mangles external names. +# -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz" +# -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; +# the default is system-supplied, typically "/usr/lib/locale" +# -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified - # DST transitions if the time zone files cannot be accessed ++# DST transitions for POSIX-style TZ strings lacking them, ++# in the usual case where POSIXRULES is '-'. If not specified, ++# TZDEFRULESTRING defaults to US rules for future DST transitions. ++# This mishandles some past timestamps, as US DST rules have changed. ++# It also mishandles settings like TZ='EET-2EEST' for eastern Europe, ++# as Europe and US DST rules differ. ++# -DTZNAME_MAXIMUM=N to limit time zone abbreviations to N bytes (default 255) +# -DUNINIT_TRAP if reading uninitialized storage can cause problems +# other than simply getting garbage data +# -DUSE_LTZ=0 to build zdump with the system time zone library +# Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below. +# -DZIC_BLOAT_DEFAULT=\"fat\" to default zic's -b option to "fat", and +# similarly for "slim". Fat TZif files work around incompatibilities +# and bugs in some TZif readers, notably older ones that +# ignore or otherwise mishandle 64-bit data in TZif files; +# however, fat TZif files may trigger bugs in newer TZif readers. +# Slim TZif files are more efficient, and are the default. +# -DZIC_MAX_ABBR_LEN_WO_WARN=3 +# (or some other number) to set the maximum time zone abbreviation length +# that zic will accept without a warning (the default is 6) +# $(GCC_DEBUG_FLAGS) if you are using recent GCC and want lots of checking +# +# * Options marked "*" can be omitted if your compiler is C23 compatible. ++# * Options marked "+" are obsolescent and are planned to be removed ++# once the code assumes C99 or later. +# +# Select instrumentation via "make GCC_INSTRUMENT='whatever'". +GCC_INSTRUMENT = \ + -fsanitize=undefined -fsanitize-address-use-after-scope \ + -fsanitize-undefined-trap-on-error -fstack-protector +# Omit -fanalyzer from GCC_DEBUG_FLAGS, as it makes GCC too slow. +GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ + $(GCC_INSTRUMENT) \ + -Wall -Wextra \ + -Walloc-size-larger-than=100000 -Warray-bounds=2 \ + -Wbad-function-cast -Wbidi-chars=any,ucn -Wcast-align=strict -Wdate-time \ + -Wdeclaration-after-statement -Wdouble-promotion \ + -Wduplicated-branches -Wduplicated-cond \ + -Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \ + -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op \ + -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ + -Wnull-dereference \ + -Wold-style-definition -Woverlength-strings -Wpointer-arith \ + -Wshadow -Wshift-overflow=2 -Wstrict-overflow \ + -Wstrict-prototypes -Wstringop-overflow=4 \ + -Wstringop-truncation -Wsuggest-attribute=cold \ + -Wsuggest-attribute=const -Wsuggest-attribute=format \ + -Wsuggest-attribute=malloc \ + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \ + -Wtrampolines -Wundef -Wuninitialized -Wunused-macros -Wuse-after-free=3 \ + -Wvariadic-macros -Wvla -Wwrite-strings \ + -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ + -Wno-type-limits +# +# If your system has a "GMT offset" field in its "struct tm"s +# (or if you decide to add such a field in your system's "time.h" file), +# add the name to a define such as +# -DTM_GMTOFF=tm_gmtoff +# to the end of the "CFLAGS=" line. If not defined, the code attempts to +# guess TM_GMTOFF from other macros; define NO_TM_GMTOFF to suppress this. +# Similarly, if your system has a "zone abbreviation" field, define +# -DTM_ZONE=tm_zone +# and define NO_TM_ZONE to suppress any guessing. Although these two fields +# not required by POSIX, a future version of POSIX is planned to require them +# and they are widely available on GNU/Linux and BSD systems. +# +# The next batch of options control support for external variables +# exported by tzcode. In practice these variables are less useful +# than TM_GMTOFF and TM_ZONE. However, most of them are standardized. +# # +# # To omit or support the external variable "tzname", add one of: +# # -DHAVE_TZNAME=0 # do not support "tzname" +# # -DHAVE_TZNAME=1 # support "tzname", which is defined by system library +# # -DHAVE_TZNAME=2 # support and define "tzname" +# # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later. +# # If not defined, the code attempts to guess HAVE_TZNAME from other macros. +# # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause +# # crashes when combined with some platforms' standard libraries, +# # presumably due to memory allocation issues. +# # +# # To omit or support the external variables "timezone" and "daylight", add +# # -DUSG_COMPAT=0 # do not support +# # -DUSG_COMPAT=1 # support, and variables are defined by system library +# # -DUSG_COMPAT=2 # support and define variables +# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by +# # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later. +# # If not defined, the code attempts to guess USG_COMPAT from other macros. +# # +# # To support the external variable "altzone", add +# # -DALTZONE=0 # do not support +# # -DALTZONE=1 # support "altzone", which is defined by system library +# # -DALTZONE=2 # support and define "altzone" +# # to the end of the "CFLAGS=" line; although "altzone" appeared in +# # System V Release 3.1 it has not been standardized. +# # If not defined, the code attempts to guess ALTZONE from other macros. +# +# If you want functions that were inspired by early versions of X3J11's work, +# add +# -DSTD_INSPIRED +# to the end of the "CFLAGS=" line. This arranges for the following +# functions to be added to the time conversion library. +# "offtime" is like "gmtime" except that it accepts a second (long) argument +# that gives an offset to add to the time_t when converting it. ++# "offtime_r" is to "offtime" what "gmtime_r" is to "gmtime". +# "timelocal" is equivalent to "mktime". +# "timeoff" is like "timegm" except that it accepts a second (long) argument +# that gives an offset to use when converting to a time_t. +# "posix2time" and "time2posix" are described in an included manual page. +# X3J11's work does not describe any of these functions. +# These functions may well disappear in future releases of the time +# conversion package. +# +# If you don't want functions that were inspired by NetBSD, add +# -DNETBSD_INSPIRED=0 +# to the end of the "CFLAGS=" line. Otherwise, the functions +# "localtime_rz", "mktime_z", "tzalloc", and "tzfree" are added to the - # time library, and if STD_INSPIRED is also defined the functions ++# time library, and if STD_INSPIRED is also defined to nonzero the functions +# "posix2time_z" and "time2posix_z" are added as well. +# The functions ending in "_z" (or "_rz") are like their unsuffixed +# (or suffixed-by-"_r") counterparts, except with an extra first +# argument of opaque type timezone_t that specifies the timezone. +# "tzalloc" allocates a timezone_t value, and "tzfree" frees it. +# +# If you want to allocate state structures in localtime, add +# -DALL_STATE +# to the end of the "CFLAGS=" line. Storage is obtained by calling malloc. +# +# NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put +# out by the National Institute of Standards and Technology +# which claims to test C and Posix conformance. If you want to pass PCTS, add +# -DPCTS +# to the end of the "CFLAGS=" line. +# +# If you want strict compliance with XPG4 as of 1994-04-09, add +# -DXPG4_1994_04_09 +# to the end of the "CFLAGS=" line. This causes "strftime" to always return +# 53 as a week number (rather than 52 or 53) for January days before +# January's first Monday when a "%V" format is used and January 1 +# falls on a Friday, Saturday, or Sunday. + +CFLAGS= + +# Linker flags. Default to $(LFLAGS) for backwards compatibility +# to release 2012h and earlier. + +LDFLAGS= $(LFLAGS) + +# For leap seconds, this Makefile uses LEAPSECONDS='-L leapseconds' in +# submake command lines. The default is no leap seconds. + +LEAPSECONDS= + +# The zic command and its arguments. + +zic= ./zic +ZIC= $(zic) $(ZFLAGS) + +# To shrink the size of installed TZif files, +# append "-r @N" to omit data before N-seconds-after-the-Epoch. +# To grow the files and work around bugs in older applications, +# possibly at the expense of introducing bugs in newer ones, +# append "-b fat"; see ZIC_BLOAT_DEFAULT above. +# See the zic man page for more about -b and -r. +ZFLAGS= + +# How to use zic to install TZif files. + +ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDIR)' $(LEAPSECONDS) + +# The name of a Posix-compliant 'awk' on your system. +# mawk 1.3.3 and Solaris 10 /usr/bin/awk do not work. +# Also, it is better (though not essential) if 'awk' supports UTF-8, +# and unfortunately mawk and busybox awk do not support UTF-8. +# Try AWK=gawk or AWK=nawk if your awk has the abovementioned problems. +AWK= awk + +# The full path name of a Posix-compliant shell, preferably one that supports +# the Korn shell's 'select' statement as an extension. +# These days, Bash is the most popular. +# It should be OK to set this to /bin/sh, on platforms where /bin/sh +# lacks 'select' or doesn't completely conform to Posix, but /bin/bash +# is typically nicer if it works. +KSHELL= /bin/bash + +# Name of curl , used for HTML validation. +CURL= curl + +# Name of GNU Privacy Guard , used to sign distributions. +GPG= gpg + +# This expensive test requires USE_LTZ. +# To suppress it, define this macro to be empty. +CHECK_TIME_T_ALTERNATIVES = check_time_t_alternatives + +# SAFE_CHAR is a regular expression that matches a safe character. +# Some parts of this distribution are limited to safe characters; +# others can use any UTF-8 character. +# For now, the safe characters are a safe subset of ASCII. +# The caller must set the shell variable 'sharp' to the character '#', +# since Makefile macros cannot contain '#'. +# TAB_CHAR is a single tab character, in single quotes. +TAB_CHAR= ' ' +SAFE_CHARSET1= $(TAB_CHAR)' !\"'$$sharp'$$%&'\''()*+,./0123456789:;<=>?@' +SAFE_CHARSET2= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\^_`' +SAFE_CHARSET3= 'abcdefghijklmnopqrstuvwxyz{|}~' +SAFE_CHARSET= $(SAFE_CHARSET1)$(SAFE_CHARSET2)$(SAFE_CHARSET3) +SAFE_CHAR= '[]'$(SAFE_CHARSET)'-]' + - # These characters are Latin-1, and so are likely to be displayable - # even in editors with limited character sets. - UNUSUAL_OK_LATIN_1 = «°±»½¾× - # This IPA symbol is represented in Unicode as the composition of - # U+0075 and U+032F, and U+032F is not considered alphabetic by some - # grep implementations that do not grok composition. - UNUSUAL_OK_IPA = u̯ ++# These non-alphabetic, non-ASCII printable characters are Latin-1, ++# and so are likely displayable even in editors like XEmacs 21 ++# that have limited display capabilities. ++UNUSUAL_OK_LATIN_1 = ¡¢£¤¥¦§¨©«¬®¯°±²³´¶·¸¹»¼½¾¿×÷ +# Non-ASCII non-letters that OK_CHAR allows, as these characters are +# useful in commentary. - UNUSUAL_OK_CHARSET= $(UNUSUAL_OK_LATIN_1)$(UNUSUAL_OK_IPA) ++UNUSUAL_OK_CHARSET= $(UNUSUAL_OK_LATIN_1) + +# Put this in a bracket expression to match spaces. +s = [:space:] + +# OK_CHAR matches any character allowed in the distributed files. +# This is the same as SAFE_CHAR, except that UNUSUAL_OK_CHARSET and +# multibyte letters are also allowed so that commentary can contain a +# few safe symbols and people's names and can quote non-English sources. +# Other non-letters are limited to ASCII renderings for the +# convenience of maintainers using XEmacs 21.5.34, which by default +# mishandles Unicode characters U+0100 and greater. +OK_CHAR= '[][:alpha:]$(UNUSUAL_OK_CHARSET)'$(SAFE_CHARSET)'-]' + +# SAFE_LINE matches a line of safe characters. +# SAFE_SHARP_LINE is similar, except any OK character can follow '#'; +# this is so that comments can contain non-ASCII characters. +# OK_LINE matches a line of OK characters. +SAFE_LINE= '^'$(SAFE_CHAR)'*$$' +SAFE_SHARP_LINE='^'$(SAFE_CHAR)'*('$$sharp$(OK_CHAR)'*)?$$' +OK_LINE= '^'$(OK_CHAR)'*$$' + +# Flags to give 'tar' when making a distribution. +# Try to use flags appropriate for GNU tar. +GNUTARFLAGS= --format=pax --pax-option='delete=atime,delete=ctime' \ + --numeric-owner --owner=0 --group=0 \ + --mode=go+u,go-w --sort=name +TARFLAGS= `if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; \ + then echo $(GNUTARFLAGS); \ + else :; \ + fi` + +# Flags to give 'gzip' when making a distribution. +GZIPFLAGS= -9n + +# When comparing .tzs files, use GNU diff's -F'^TZ=' option if supported. +# This makes it easier to see which Zone has been affected. +DIFF_TZS= diff -u$$(! diff -u -F'^TZ=' - - <>/dev/null >&0 2>&1 \ + || echo ' -F^TZ=') + +############################################################################### + +#MAKE= make + +cc= cc +CC= $(cc) -DTZDIR='"$(TZDIR)"' + +AR= ar + +# ':' on typical hosts; 'ranlib' on the ancient hosts that still need ranlib. +RANLIB= : + +TZCOBJS= zic.o +TZDOBJS= zdump.o localtime.o asctime.o strftime.o +DATEOBJS= date.o localtime.o strftime.o asctime.o +LIBSRCS= localtime.c asctime.c difftime.c strftime.c +LIBOBJS= localtime.o asctime.o difftime.o strftime.o +HEADERS= tzfile.h private.h +NONLIBSRCS= zic.c zdump.c +NEWUCBSRCS= date.c +SOURCES= $(HEADERS) $(LIBSRCS) $(NONLIBSRCS) $(NEWUCBSRCS) \ + tzselect.ksh workman.sh +MANS= newctime.3 newstrftime.3 newtzset.3 time2posix.3 \ + tzfile.5 tzselect.8 zic.8 zdump.8 +MANTXTS= newctime.3.txt newstrftime.3.txt newtzset.3.txt \ + time2posix.3.txt \ + tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \ + date.1.txt +COMMON= calendars CONTRIBUTING LICENSE Makefile \ + NEWS README SECURITY theory.html version +WEB_PAGES= tz-art.html tz-how-to.html tz-link.html +CHECK_WEB_PAGES=check_theory.html check_tz-art.html \ + check_tz-how-to.html check_tz-link.html +DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES) +PRIMARY_YDATA= africa antarctica asia australasia \ + europe northamerica southamerica +YDATA= $(PRIMARY_YDATA) etcetera +NDATA= factory +TDATA_TO_CHECK= $(YDATA) $(NDATA) backward +TDATA= $(YDATA) $(NDATA) $(BACKWARD) +ZONETABLES= zone1970.tab zone.tab +TABDATA= iso3166.tab $(TZDATA_TEXT) $(ZONETABLES) +LEAP_DEPS= leapseconds.awk leap-seconds.list +TZDATA_ZI_DEPS= ziguard.awk zishrink.awk version $(TDATA) \ + $(PACKRATDATA) $(PACKRATLIST) +DSTDATA_ZI_DEPS= ziguard.awk $(TDATA) $(PACKRATDATA) $(PACKRATLIST) +DATA= $(TDATA_TO_CHECK) backzone iso3166.tab leap-seconds.list \ + leapseconds $(ZONETABLES) +AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk \ + ziguard.awk zishrink.awk +MISC= $(AWK_SCRIPTS) +TZS_YEAR= 2050 +TZS_CUTOFF_FLAG= -c $(TZS_YEAR) +TZS= to$(TZS_YEAR).tzs +TZS_NEW= to$(TZS_YEAR)new.tzs +TZS_DEPS= $(YDATA) asctime.c localtime.c \ + private.h tzfile.h zdump.c zic.c +TZDATA_DIST = $(COMMON) $(DATA) $(MISC) +# EIGHT_YARDS is just a yard short of the whole ENCHILADA. +EIGHT_YARDS = $(TZDATA_DIST) $(DOCS) $(SOURCES) tzdata.zi +ENCHILADA = $(EIGHT_YARDS) $(TZS) + +# Consult these files when deciding whether to rebuild the 'version' file. +# This list is not the same as the output of 'git ls-files', since +# .gitignore is not distributed. +VERSION_DEPS= \ + calendars CONTRIBUTING LICENSE Makefile NEWS README SECURITY \ + africa antarctica asctime.c asia australasia \ + backward backzone \ + checklinks.awk checktab.awk \ + date.1 date.c difftime.c \ + etcetera europe factory iso3166.tab \ + leap-seconds.list leapseconds.awk localtime.c \ + newctime.3 newstrftime.3 newtzset.3 northamerica \ + private.h southamerica strftime.c theory.html \ + time2posix.3 tz-art.html tz-how-to.html tz-link.html \ + tzfile.5 tzfile.h tzselect.8 tzselect.ksh \ + workman.sh zdump.8 zdump.c zic.8 zic.c \ + ziguard.awk zishrink.awk \ + zone.tab zone1970.tab + +# And for the benefit of csh users on systems that assume the user +# shell should be used to handle commands in Makefiles. . . + +SHELL= /bin/sh + +all: tzselect zic zdump libtz.a $(TABDATA) \ + vanguard.zi main.zi rearguard.zi + +ALL: all date $(ENCHILADA) + +install: all $(DATA) $(REDO) $(MANS) + mkdir -p '$(DESTDIR)$(BINDIR)' \ + '$(DESTDIR)$(ZDUMPDIR)' '$(DESTDIR)$(ZICDIR)' \ + '$(DESTDIR)$(LIBDIR)' \ + '$(DESTDIR)$(MANDIR)/man3' '$(DESTDIR)$(MANDIR)/man5' \ + '$(DESTDIR)$(MANDIR)/man8' + $(ZIC_INSTALL) -l $(LOCALTIME) \ + `case '$(POSIXRULES)' in ?*) echo '-p';; esac \ + ` $(POSIXRULES) \ + -t '$(DESTDIR)$(TZDEFAULT)' + cp -f $(TABDATA) '$(DESTDIR)$(TZDIR)/.' + cp tzselect '$(DESTDIR)$(BINDIR)/.' + cp zdump '$(DESTDIR)$(ZDUMPDIR)/.' + cp zic '$(DESTDIR)$(ZICDIR)/.' + cp libtz.a '$(DESTDIR)$(LIBDIR)/.' + $(RANLIB) '$(DESTDIR)$(LIBDIR)/libtz.a' + cp -f newctime.3 newtzset.3 '$(DESTDIR)$(MANDIR)/man3/.' + cp -f tzfile.5 '$(DESTDIR)$(MANDIR)/man5/.' + cp -f tzselect.8 zdump.8 zic.8 '$(DESTDIR)$(MANDIR)/man8/.' + +INSTALL: ALL install date.1 + mkdir -p '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man1' + cp date '$(DESTDIR)$(BINDIR)/.' + cp -f date.1 '$(DESTDIR)$(MANDIR)/man1/.' + +# Calculate version number from git, if available. +# Otherwise, use $(VERSION) unless it is "unknown" and there is already +# a 'version' file, in which case reuse the existing 'version' contents +# and append "-dirty" if the contents do not already end in "-dirty". +version: $(VERSION_DEPS) + { (type git) >/dev/null 2>&1 && \ + V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \ + --abbrev=7 --dirty` || \ + if test '$(VERSION)' = unknown && V=`cat $@`; then \ + case $$V in *-dirty);; *) V=$$V-dirty;; esac; \ + else \ + V='$(VERSION)'; \ + fi; } && \ + printf '%s\n' "$$V" >$@.out + mv $@.out $@ + +# These files can be tailored by setting BACKWARD, PACKRATDATA, PACKRATLIST. +vanguard.zi main.zi rearguard.zi: $(DSTDATA_ZI_DEPS) + $(AWK) \ + -v DATAFORM=`expr $@ : '\(.*\).zi'` \ + -v PACKRATDATA='$(PACKRATDATA)' \ + -v PACKRATLIST='$(PACKRATLIST)' \ + -f ziguard.awk \ + $(TDATA) $(PACKRATDATA) >$@.out + mv $@.out $@ +# This file has a version comment that attempts to capture any tailoring +# via BACKWARD, DATAFORM, PACKRATDATA, PACKRATLIST, and REDO. +tzdata.zi: $(DATAFORM).zi version zishrink.awk + version=`sed 1q version` && \ + LC_ALL=C $(AWK) \ + -v dataform='$(DATAFORM)' \ + -v deps='$(DSTDATA_ZI_DEPS) zishrink.awk' \ + -v redo='$(REDO)' \ + -v version="$$version" \ + -f zishrink.awk \ + $(DATAFORM).zi >$@.out + mv $@.out $@ + +version.h: version + VERSION=`cat version` && printf '%s\n' \ + 'static char const PKGVERSION[]="($(PACKAGE)) ";' \ + "static char const TZVERSION[]=\"$$VERSION\";" \ + 'static char const REPORT_BUGS_TO[]="$(BUGEMAIL)";' \ + >$@.out + mv $@.out $@ + +zdump: $(TZDOBJS) + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS) + +zic: $(TZCOBJS) + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS) + +leapseconds: $(LEAP_DEPS) + $(AWK) -v EXPIRES_LINE=$(EXPIRES_LINE) \ + -f leapseconds.awk leap-seconds.list >$@.out + mv $@.out $@ + +# Arguments to pass to submakes of install_data. +# They can be overridden by later submake arguments. +INSTALLARGS = \ + BACKWARD='$(BACKWARD)' \ + DESTDIR='$(DESTDIR)' \ + LEAPSECONDS='$(LEAPSECONDS)' \ + PACKRATDATA='$(PACKRATDATA)' \ + PACKRATLIST='$(PACKRATLIST)' \ + TZDEFAULT='$(TZDEFAULT)' \ + TZDIR='$(TZDIR)' \ + ZIC='$(ZIC)' + +INSTALL_DATA_DEPS = zic leapseconds tzdata.zi + +# 'make install_data' installs one set of TZif files. +install_data: $(INSTALL_DATA_DEPS) + $(ZIC_INSTALL) tzdata.zi + +posix_only: $(INSTALL_DATA_DEPS) + $(MAKE) $(INSTALLARGS) LEAPSECONDS= install_data + +right_only: $(INSTALL_DATA_DEPS) + $(MAKE) $(INSTALLARGS) LEAPSECONDS='-L leapseconds' \ + install_data + +# In earlier versions of this makefile, the other two directories were +# subdirectories of $(TZDIR). However, this led to configuration errors. +# For example, with posix_right under the earlier scheme, +# TZ='right/Australia/Adelaide' got you localtime with leap seconds, +# but gmtime without leap seconds, which led to problems with applications +# like sendmail that subtract gmtime from localtime. +# Therefore, the other two directories are now siblings of $(TZDIR). +# You must replace all of $(TZDIR) to switch from not using leap seconds +# to using them, or vice versa. +right_posix: right_only + rm -fr '$(DESTDIR)$(TZDIR)-leaps' + ln -s '$(TZDIR_BASENAME)' '$(DESTDIR)$(TZDIR)-leaps' || \ + $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-leaps' right_only + $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-posix' posix_only + +posix_right: posix_only + rm -fr '$(DESTDIR)$(TZDIR)-posix' + ln -s '$(TZDIR_BASENAME)' '$(DESTDIR)$(TZDIR)-posix' || \ + $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-posix' posix_only + $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-leaps' right_only + +zones: $(REDO) + +# dummy.zd is not a real file; it is mentioned here only so that the +# top-level 'make' does not have a syntax error. +ZDS = dummy.zd +# Rule used only by submakes invoked by the $(TZS_NEW) rule. +# It is separate so that GNU 'make -j' can run instances in parallel. +$(ZDS): zdump + ./zdump -i $(TZS_CUTOFF_FLAG) '$(wd)/'$$(expr $@ : '\(.*\).zd') \ + >$@ + +TZS_NEW_DEPS = tzdata.zi zdump zic +$(TZS_NEW): $(TZS_NEW_DEPS) + rm -fr tzs$(TZS_YEAR).dir + mkdir tzs$(TZS_YEAR).dir + $(zic) -d tzs$(TZS_YEAR).dir tzdata.zi + $(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \ + tzdata.zi | LC_ALL=C sort >$@.out + wd=`pwd` && \ + x=`$(AWK) '/^Z/{print "tzs$(TZS_YEAR).dir/" $$2 ".zd"}' \ + tzdata.zi \ + | LC_ALL=C sort -t . -k 2,2` && \ + set x $$x && \ + shift && \ + ZDS=$$* && \ + $(MAKE) wd="$$wd" TZS_CUTOFF_FLAG="$(TZS_CUTOFF_FLAG)" \ + ZDS="$$ZDS" $$ZDS && \ + sed 's,^TZ=".*\.dir/,TZ=",' $$ZDS >>$@.out + rm -fr tzs$(TZS_YEAR).dir + mv $@.out $@ + +# If $(TZS) exists but 'make check_tzs' fails, a maintainer should inspect the +# failed output and fix the inconsistency, perhaps by running 'make force_tzs'. +$(TZS): + touch $@ + +force_tzs: $(TZS_NEW) + cp $(TZS_NEW) $(TZS) + +libtz.a: $(LIBOBJS) + rm -f $@ + $(AR) -rc $@ $(LIBOBJS) + $(RANLIB) $@ + +date: $(DATEOBJS) + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(DATEOBJS) $(LDLIBS) + +tzselect: tzselect.ksh version + VERSION=`cat version` && sed \ + -e 's|#!/bin/bash|#!$(KSHELL)|g' \ + -e 's|AWK=[^}]*|AWK='\''$(AWK)'\''|g' \ + -e 's|\(PKGVERSION\)=.*|\1='\''($(PACKAGE)) '\''|' \ + -e 's|\(REPORT_BUGS_TO\)=.*|\1=$(BUGEMAIL)|' \ + -e 's|TZDIR=[^}]*|TZDIR=$(TZDIR)|' \ + -e 's|\(TZVERSION\)=.*|\1='"$$VERSION"'|' \ + <$@.ksh >$@.out + chmod +x $@.out + mv $@.out $@ + +check: check_back check_mild +check_mild: check_character_set check_white_space check_links \ + check_name_lengths check_slashed_abbrs check_sorted \ + check_tables check_web check_ziguard check_zishrink check_tzs + +check_character_set: $(ENCHILADA) + test ! '$(UTF8_LOCALE)' || \ + ! printf 'A\304\200B\n' | \ + LC_ALL='$(UTF8_LOCALE)' grep -q '^A.B$$' >/dev/null 2>&1 || { \ + LC_ALL='$(UTF8_LOCALE)' && export LC_ALL && \ + sharp='#' && \ + ! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \ + $(MISC) $(SOURCES) $(WEB_PAGES) \ + CONTRIBUTING LICENSE README SECURITY \ + version tzdata.zi && \ + ! grep -Env $(SAFE_LINE)'|^UNUSUAL_OK_'$(OK_CHAR)'*$$' \ + Makefile && \ + ! grep -Env $(SAFE_SHARP_LINE) $(TDATA_TO_CHECK) backzone \ + leapseconds zone.tab && \ + ! grep -Env $(OK_LINE) $(ENCHILADA); \ + } + touch $@ + +check_white_space: $(ENCHILADA) + patfmt=' \t|[\f\r\v]' && pat=`printf "$$patfmt\\n"` && \ + ! grep -En "$$pat" \ + $$(ls $(ENCHILADA) | grep -Fvx leap-seconds.list) + ! grep -n '[$s]$$' \ + $$(ls $(ENCHILADA) | grep -Fvx leap-seconds.list) + touch $@ + +PRECEDES_FILE_NAME = ^(Zone|Link[$s]+[^$s]+)[$s]+ +FILE_NAME_COMPONENT_TOO_LONG = $(PRECEDES_FILE_NAME)[^$s]*[^/$s]{15} + +check_name_lengths: $(TDATA_TO_CHECK) backzone + ! grep -En '$(FILE_NAME_COMPONENT_TOO_LONG)' \ + $(TDATA_TO_CHECK) backzone + touch $@ + +PRECEDES_STDOFF = ^(Zone[$s]+[^$s]+)?[$s]+ +STDOFF = [-+]?[0-9:.]+ +RULELESS_SAVE = (-|$(STDOFF)[sd]?) +RULELESS_SLASHED_ABBRS = \ + $(PRECEDES_STDOFF)$(STDOFF)[$s]+$(RULELESS_SAVE)[$s]+[^$s]*/ + +check_slashed_abbrs: $(TDATA_TO_CHECK) + ! grep -En '$(RULELESS_SLASHED_ABBRS)' $(TDATA_TO_CHECK) + touch $@ + +CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; } + - check_sorted: backward backzone iso3166.tab zone.tab zone1970.tab ++check_sorted: backward backzone + $(AWK) '/^Link/ {printf "%.5d %s\n", g, $$3} !/./ {g++}' \ + backward | LC_ALL=C sort -cu + $(AWK) '/^Zone/ {print $$2}' backzone | LC_ALL=C sort -cu + touch $@ + +check_back: checklinks.awk $(TDATA_TO_CHECK) + $(AWK) \ + -v DATAFORM=$(DATAFORM) \ + -v backcheck=backward \ + -f checklinks.awk $(TDATA_TO_CHECK) + touch $@ + +check_links: checklinks.awk tzdata.zi + $(AWK) \ + -v DATAFORM=$(DATAFORM) \ + -f checklinks.awk tzdata.zi + touch $@ + +check_tables: checktab.awk $(YDATA) backward $(ZONETABLES) + for tab in $(ZONETABLES); do \ + test "$$tab" = zone.tab && links='$(BACKWARD)' || links=''; \ + $(AWK) -f checktab.awk -v zone_table=$$tab $(YDATA) $$links \ + || exit; \ + done + touch $@ + +check_tzs: $(TZS) $(TZS_NEW) + if test -s $(TZS); then \ + $(DIFF_TZS) $(TZS) $(TZS_NEW); \ + else \ + cp $(TZS_NEW) $(TZS); \ + fi + touch $@ + +check_web: $(CHECK_WEB_PAGES) +check_theory.html: theory.html +check_tz-art.html: tz-art.html +check_tz-how-to.html: tz-how-to.html +check_tz-link.html: tz-link.html +check_theory.html check_tz-art.html check_tz-how-to.html check_tz-link.html: + $(CURL) -sS --url https://validator.w3.org/nu/ -F out=gnu \ + -F file=@$$(expr $@ : 'check_\(.*\)') -o $@.out && \ + test ! -s $@.out || { cat $@.out; exit 1; } + mv $@.out $@ + +check_ziguard: rearguard.zi vanguard.zi ziguard.awk + $(AWK) -v DATAFORM=rearguard -f ziguard.awk vanguard.zi | \ + diff -u rearguard.zi - + $(AWK) -v DATAFORM=vanguard -f ziguard.awk rearguard.zi | \ + diff -u vanguard.zi - + touch $@ + +# Check that zishrink.awk does not alter the data, and that ziguard.awk +# preserves main-format data. +check_zishrink: check_zishrink_posix check_zishrink_right +check_zishrink_posix check_zishrink_right: \ + zic leapseconds $(PACKRATDATA) $(PACKRATLIST) \ + $(TDATA) $(DATAFORM).zi tzdata.zi + rm -fr $@.dir $@-t.dir $@-shrunk.dir + mkdir $@.dir $@-t.dir $@-shrunk.dir + case $@ in \ + *_right) leap='-L leapseconds';; \ + *) leap=;; \ + esac && \ + $(ZIC) $$leap -d $@.dir $(DATAFORM).zi && \ + $(ZIC) $$leap -d $@-shrunk.dir tzdata.zi && \ + case $(DATAFORM),$(PACKRATLIST) in \ + main,) \ + $(ZIC) $$leap -d $@-t.dir $(TDATA) && \ + $(AWK) '/^Rule/' $(TDATA) | \ + $(ZIC) $$leap -d $@-t.dir - $(PACKRATDATA) && \ *** 2988 LINES SKIPPED *** From nobody Wed Apr 26 11:11:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5x5815jKz47qW3; Wed, 26 Apr 2023 11:11: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 4Q5x576tsWz3mqK; Wed, 26 Apr 2023 11:11:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682507484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fw9UdGkSlIN+olQH1jwR+hvJfFI3NHrZvkqxxJB9AJg=; b=tmw+0xRRs4/NFWynXKbYDKHrhFIDqO1kMCSiJJ4VrsHvAxPhiPbgHs8q6/SUasBNLVRG7D eWbIak0sjuyi9XRhUyThOlBX6DLz2TGfwShOh1qGL0iOxdzWRtSpZyXX6dK6KBAAKLA0kB TbXzyAXiotkWAqHgIpoSCwHj6BQTqeDhHVrJt8s05vGc515MtoSRXsM6wUs0+NWf4La6oT wWGfxRAvUhOmQI4QBXQ18Q6Mg3R8M7pK1bL4Nj4jDE9NEhgPcDa7XYm3nv1/C9LWyjNgX5 rMThZdjt2tmedKqsHiMo+BXP6mCF4Rk6Y6bqaH68TugHNOeOmpqkcM/1TrXU9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682507484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fw9UdGkSlIN+olQH1jwR+hvJfFI3NHrZvkqxxJB9AJg=; b=bGyTUiNjtem9joJ5JBu3SSmqx7i8FZOFN/ql7ablWPsYnP1qsmrxgn8jyEzL+EVFmf6NZD D4v0ynlDYlpE7HjEiyccgMG7EYSjBy4cS8Lr/IPnyv63sVQl22R73HSch5Twg95+xXD1/i qB+43biNysbp9BzY/i/iKsDI8sHn+32uiytp5AbZqq0R/PhshhWOHCFnnGstudbZSQWvyw dFKfWtvP0QO4An18HsWKKVKduoIplIjweEDKALZR+ViyWkN42L2LzKYXxMMdxAph8poBTD K2E50lDQJ0lEUK5Kgf2FRJy5wrio0Cz6OTtVc4M/JD5fA36Z06+s/kGhsfFYHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682507484; a=rsa-sha256; cv=none; b=IYQ3zgThF98yygGWdTFx2ws9qw7kUqIVJBSKmuMspLnFJxoyWIE49m5CMQGRXh4cOF6F4d EO5sRlLup99dvVHPZKmHC0MNQ0bhcKm+dPLK6943DGd531jHFKULW3F/k4a8yEnvw1ddWW Mg0pp8aKSsEr+UQX0Hm3ijkW/kDuGSiG7g5WWNUjcei/ueK96tkVvQIC+ca3j3VT9mzCRj yQZD6FxwfWTbXGYoJeHlA43eAbb0RVuJBZJ+fylkxCGuYzBDCIijehI/y/7H00KA3SBqws YzmHjvU4X4e1qRXv8UutClgYXwCpefhW8jkhxxqib7AaHITbTsVOl0mC/bONAA== 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 4Q5x5751q3zXLY; Wed, 26 Apr 2023 11:11: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 33QBBNa7086357; Wed, 26 Apr 2023 11:11:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QBBNcH086356; Wed, 26 Apr 2023 11:11:23 GMT (envelope-from git) Date: Wed, 26 Apr 2023 11:11:23 GMT Message-Id: <202304261111.33QBBNcH086356@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: 6f3c2f41b18b - main - tzcode: Clean up the ctime(3) manual page. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6f3c2f41b18b9a7a8feb3c50254a21db2d9908fd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=6f3c2f41b18b9a7a8feb3c50254a21db2d9908fd commit 6f3c2f41b18b9a7a8feb3c50254a21db2d9908fd Author: Dag-Erling Smørgrav AuthorDate: 2023-04-26 09:46:41 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-04-26 09:46:41 +0000 tzcode: Clean up the ctime(3) manual page. MFC after: 3 weeks Sponsored by: Klara, Inc. Reviewed by: pauamma_gundo.com Differential Revision: https://reviews.freebsd.org/D39714 --- lib/libc/stdtime/ctime.3 | 191 ++++++++++++++++++++++------------------------- 1 file changed, 89 insertions(+), 102 deletions(-) diff --git a/lib/libc/stdtime/ctime.3 b/lib/libc/stdtime/ctime.3 index b347e5362948..2aaf94f2b12a 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 March 6, 2023 +.Dd April 20, 2023 .Dt CTIME 3 .Os .Sh NAME @@ -52,81 +52,78 @@ .In time.h .Vt extern char *tzname[2] ; .Ft char * +.Fn asctime "const struct tm *tm" +.Ft char * +.Fn asctime_r "const struct tm *tm" "char *buf" +.Ft char * .Fn ctime "const time_t *clock" +.Ft char * +.Fn ctime_r "const time_t *clock" "char *buf" .Ft double .Fn difftime "time_t time1" "time_t time0" -.Ft char * -.Fn asctime "const struct tm *tm" +.Ft struct tm * +.Fn gmtime "const time_t *clock" +.Ft struct tm * +.Fn gmtime_r "const time_t *clock" "struct tm *result" .Ft struct tm * .Fn localtime "const time_t *clock" .Ft struct tm * -.Fn gmtime "const time_t *clock" +.Fn localtime_r "const time_t *clock" "struct tm *result" .Ft time_t .Fn mktime "struct tm *tm" .Ft time_t .Fn timegm "struct tm *tm" -.Ft char * -.Fn ctime_r "const time_t *clock" "char *buf" -.Ft struct tm * -.Fn localtime_r "const time_t *clock" "struct tm *result" -.Ft struct tm * -.Fn gmtime_r "const time_t *clock" "struct tm *result" -.Ft char * -.Fn asctime_r "const struct tm *tm" "char *buf" .Sh DESCRIPTION -The functions +The .Fn ctime , -.Fn gmtime +.Fn gmtime , and .Fn localtime -all take as an argument a time value representing the time in seconds since -the Epoch (00:00:00 -.Tn UTC , -January 1, 1970; see +functions all take as argument a pointer to a time value representing +the time in seconds since the Epoch (00:00:00 UTC on January 1, 1970; +see .Xr time 3 ) . .Pp -The function +The .Fn localtime -converts the time value pointed at by +function converts the time value pointed to by .Fa clock , and returns a pointer to a -.Dq Fa struct tm +.Vt struct tm (described below) which contains the broken-out time information for the value after adjusting for the current -time zone (and any other factors such as Daylight Saving Time). +time zone (see +.Xr tzset 3 ) . When the specified time translates to a year that will not fit in an -.Dv int , +.Vt int , .Fn localtime -returns NULL. -Time zone adjustments are performed as specified by the -.Ev TZ -environment variable (see -.Xr tzset 3 ) . -The function +returns +.Dv NULL . +The .Fn localtime -uses +function uses .Xr tzset 3 to initialize time conversion information if .Xr tzset 3 has not already been called by the process. .Pp -After filling in the tm structure, +After filling in the +.Vt struct tm , .Fn localtime sets the -.Fa tm_isdst Ns 'th +.Va tm_isdst Ns 'th element of -.Fa tzname -to a pointer to an -.Tn ASCII -string that is the time zone abbreviation to be +.Va tzname +to a pointer to an ASCII string that is the time zone abbreviation to be used with .Fn localtime Ns 's return value. .Pp -The function +The .Fn gmtime -similarly converts the time value, but without any time zone adjustment, -and returns a pointer to a tm structure (described below). +function similarly converts the time value, but without any time zone +adjustment, and returns a pointer to a +.Vt struct tm . .Pp The .Fn ctime @@ -141,65 +138,58 @@ Thu Nov 24 18:22:48 1986\en\e0 All the fields have constant width. .Pp The +.Fn asctime +function converts the broken down time in the +.Vt struct tm +pointed to by +.Fa tm +to the form shown in the example above. +.Pp +The .Fn ctime_r -function -provides the same functionality as +and +.Fn asctime_r +functions +provide the same functionality as .Fn ctime +and +.Fn asctime except the caller must provide the output buffer -.Fa buf -to store the result, which must be at least 26 characters long. +.Fa buf , +which must be at least 26 characters long, to store the result in. The .Fn localtime_r and .Fn gmtime_r -functions -provide the same functionality as +functions provide the same functionality as .Fn localtime and .Fn gmtime respectively, except the caller must provide the output buffer .Fa result . .Pp -The -.Fn asctime -function -converts the broken down time in the structure -.Fa tm -pointed at by -.Fa *tm -to the form -shown in the example above. -.Pp -The -.Fn asctime_r -function -provides the same functionality as -.Fn asctime -except the caller provide the output buffer -.Fa buf -to store the result, which must be at least 26 characters long. -.Pp The functions .Fn mktime and .Fn timegm -convert the broken-down time in the structure -pointed to by tm into a time value with the same encoding as that of the -values returned by the +convert the broken-down time in the +.Vt struct tm +pointed to by +.Fa tm +into a time value with the same encoding as that of the values +returned by the .Xr time 3 -function (that is, seconds from the Epoch, -.Tn UTC ) . +function (that is, seconds from the Epoch, UTC). The .Fn mktime -function -interprets the input structure according to the current timezone setting -(see -.Xr tzset 3 ) . -The +function interprets the input structure according to the current +timezone setting (see +.Xr tzset 3 ) +while the .Fn timegm -function -interprets the input structure as representing Universal Coordinated Time -.Pq Tn UTC . +function interprets the input structure as representing Universal +Coordinated Time +.Pq UTC . .Pp The original values of the .Fa tm_wday @@ -228,7 +218,7 @@ A negative value for .Fa tm_isdst causes the .Fn mktime -function to attempt to divine whether summer time is in effect for the +function to attempt to guess whether summer time is in effect for the specified time. The .Fa tm_isdst @@ -258,17 +248,19 @@ represented, it returns \-1; .Pp The .Fn difftime -function -returns the difference between two calendar times, -.Pf ( Fa time1 -- -.Fa time0 ) , -expressed in seconds. +function returns the difference in seconds between two time values, +.Fa time1 +\- +.Fa time0 . .Pp -External declarations as well as the tm structure definition are in the +External declarations as well as the definition of +.Vt struct tm +are in the .In time.h -include file. -The tm structure includes at least the following fields: +header. +The +.Vt tm +structure includes at least the following fields: .Bd -literal -offset indent int tm_sec; /* seconds (0 - 60) */ int tm_min; /* minutes (0 - 59) */ @@ -284,16 +276,14 @@ long tm_gmtoff; /* offset from UTC in seconds */ .Ed .Pp The -field .Fa tm_isdst -is non-zero if summer time is in effect. +field is non-zero if summer time is in effect. .Pp -The field +The .Fa tm_gmtoff -is the offset (in seconds) of the time represented from -.Tn UTC , -with positive -values indicating east of the Prime Meridian. +field is the offset in seconds of the time represented from UTC, +with positive values indicating a time zone ahead of UTC (east of the +Prime Meridian). .Sh SEE ALSO .Xr date 1 , .Xr clock_gettime 2 , @@ -359,13 +349,13 @@ and .Fn timelocal in SunOS 4.0. .Pp -The functions +The .Fn asctime_r , .Fn ctime_r , -.Fn gmtime_r , +.Fn gmtime_r and .Fn localtime_r -have been available since +functions have been available since .Fx 8.0 . .Sh BUGS Except for @@ -380,13 +370,10 @@ Subsequent calls to these function will modify the same object. .Pp The C Standard provides no mechanism for a program to modify its current -local timezone setting, and the -.Tn POSIX Ns No \&-standard +local timezone setting, and the POSIX-standard method is not reentrant. (However, thread-safe implementations are provided -in the -.Tn POSIX -threaded environment.) +in the POSIX threaded environment.) .Pp The .Va tm_zone From nobody Wed Apr 26 11:15:50 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5xBG4BKjz47rD3; Wed, 26 Apr 2023 11: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 4Q5xBG3bvBz3pfk; Wed, 26 Apr 2023 11:15:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682507750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=if6D9Bvdx1X0woltaIl7/f6YhM4mwopS4KvKcHKc8yg=; b=go2Uv23b9mKG/85IaLzdtUXR+4Xdtgbp7UTZifydImwH/mF3ldH/X1BKzsMx0aFIq4M2ae fbeJ9nNhAZYO+Q4gLekTZBEDoMO7Ud6O1/+FmNGMmgVSRbCfEKSLoABEqpSlTQyBu9FK2R ljB4Fnd5x9Ow4udTanbck0SW6rcr/WLkLmYa3u4uMBlKbPJWMvo6NkNdIDFaKOIY92V2Gw 6sM1MOntl/CmAoStYsI2lby10c5/KxyN1GBmIMTD/BRcmx2+17qZzFyuJyjRpxUUcdRVWA RmRjteBAKkdULhb73rUqH6CzRNocxiTwhGUv742VhoEg3FGXxMFfLZqKGiW5kQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682507750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=if6D9Bvdx1X0woltaIl7/f6YhM4mwopS4KvKcHKc8yg=; b=FmC4J4qFWJICjeh5YjN9gbFibsQqfYA8MyZONM0+lV/ElQoSDqey5rObgHN0rQCo5VHCHJ X2h7B3h9xwd1CQ5NJmAx9K6ITsJta0Lx9Ue2/9ZuH984KaoHv6P3KYQ/AkE+Y4hUXwXTj6 nykGH7IYngp059W7XjG1lpc/t4uIihJxUsSnmuHC1NtYYK+Eho2UQ8zUKhVvmfptjXC8gr yR/zd9m0rHd41EICLMdYDYRe20WyDXpu/EmiW8h86CuI9wktNuBGM7/et8k+PSdCGXs4+/ KdB9OX8A/h98dMTXiSILbhbIcWHbjVV+JwLBz8hn1GE0EzLynP71E/E4IRaghg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682507750; a=rsa-sha256; cv=none; b=pQ32xaHa89a7tB2DwLaJzLuJXB1x3JKtLSfTXxTTsO37lYZO80Dd0gmml0o5jET3xGB5eg vxPjP6V4dSxg2KQsWVCNbrIHNGll6MRQ1VN7dekINpevdj9ud2pfo4igAWZvJkfR0oRN1Q mWe0xNz5N0AashrMhd9+ieq5Mo7IY0xb7QC0DwJ4S8zAOe4dfrQj3Jqnx1i35FdHld0FYD wTHnvdMeSfWxlK5h2U/Arx8QTbdAA3coZ4A6XggIWCrduFrUcRUypR1sfWPnRsqI0Hiqux dFlH0OuAhIX63LZBMjq+/mIR4vtKM/JRMmbtu6reuhHKXX35JTlnYBNVpFFtOw== 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 4Q5xBG2fQ2zXq6; Wed, 26 Apr 2023 11:15: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 33QBFo1o089874; Wed, 26 Apr 2023 11:15:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QBFonO089873; Wed, 26 Apr 2023 11:15:50 GMT (envelope-from git) Date: Wed, 26 Apr 2023 11:15:50 GMT Message-Id: <202304261115.33QBFonO089873@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Yuri Pankov Subject: git: 01007472eadd - main - getconf(1): add DEALLOC_PRESENT List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuripv X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 01007472eaddcb3c9abb8edab5b01c21c57f1f26 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by yuripv: URL: https://cgit.FreeBSD.org/src/commit/?id=01007472eaddcb3c9abb8edab5b01c21c57f1f26 commit 01007472eaddcb3c9abb8edab5b01c21c57f1f26 Author: Yuri Pankov AuthorDate: 2023-04-26 11:01:43 +0000 Commit: Yuri Pankov CommitDate: 2023-04-26 11:13:36 +0000 getconf(1): add DEALLOC_PRESENT Allow getconf to query _PC_DEALLOC_PRESENT pathconf(2) variable added in 0dc332bff200. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D39796 --- usr.bin/getconf/pathconf.gperf | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/getconf/pathconf.gperf b/usr.bin/getconf/pathconf.gperf index f33a66a06c7f..d00251ab0054 100644 --- a/usr.bin/getconf/pathconf.gperf +++ b/usr.bin/getconf/pathconf.gperf @@ -24,6 +24,7 @@ ACL_EXTENDED, _PC_ACL_EXTENDED ACL_NFS4, _PC_ACL_NFS4 ACL_PATH_MAX, _PC_ACL_PATH_MAX CAP_PRESENT, _PC_CAP_PRESENT +DEALLOC_PRESENT, _PC_DEALLOC_PRESENT FILESIZEBITS, _PC_FILESIZEBITS INF_PRESENT, _PC_INF_PRESENT LINK_MAX, _PC_LINK_MAX From nobody Wed Apr 26 11:19:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5xGs55bqz47rW6; Wed, 26 Apr 2023 11:19: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 4Q5xGs4Bljz3qV5; Wed, 26 Apr 2023 11:19:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682507989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FJkcVynPdu5qcBMvECYYwhegVO43Uqz6XvuAoHYBqys=; b=QK3b1hUwRxzUob96fK+J7TgQM/Ty6opqDIowdsk/1IZDQPyFMFcA1/dAKlmrLLfYi8jReS qkvt02B+RLQNFy8CAq12SAT/OzgkMT6J7uDf2Ac8Lu8lZYOURagkwZ4glUqtYSerQmt+SG WdvqkLc81ZCU7D16ccP1gpqH4SxsXPgFns2oMnhCHgFxSbFc16YthYLp+NZdwLgpobeeyC mqbjn7mBTWQrgrsqn+dfoekWXtRdhvuAF69qrLmLDepCzj6VjsoB+bMDNB7Jw+1x0HLF9g osVBuA3ucF3JXn1cEIr2ZpPtR+lP87klPJp+SVITV5g01T+Qjs03nq485JnyNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682507989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FJkcVynPdu5qcBMvECYYwhegVO43Uqz6XvuAoHYBqys=; b=DmzpSYljXnxjVK1aBn9uqldygF0ONVP+6OUJ3jPttzwQxpWc5v87s6cv6YF3UZ0NJkTaMk TZBuVMzCozcsPSh65RSpHRaEpLJherr7RZPGt5y5KNUHj0s2PISZIGf0NeL1pcagZVaXPo z4Eb0bpJv4TqcOVBKsVJKn2slTVTDxCsaSMcl0G65H85OSHmGro/pB8z19q54txIHJRX1P F4pCKMNtXMzrPrQWIhPHrb3STlOxiFr1fipdDblh1rW+VAodECoYw8z4RnvDBP1y0h0ffq 9g6KnaZQnoehzy3qj3GGyQhckKl1x74w2ufPsEh16jFgrUPKzebDEsybtn6vKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682507989; a=rsa-sha256; cv=none; b=xoVhzwGTuSS5MpWQOyMM75gZrfutLH751kYywBJpGI/t8OPfBx4HyIUVP2xmuO+UiXnVTn NWY56sBWySS7tZunaO7VfOkTNvxoLNUt85vYS5nb1C/AeFjhDElIvbGd85RRD2RcL3+5UR nY6i/LtAXfH9sgE6XIoq47QYVDBbyJvlKDOgFA18tmNEPHJt221V2VQJgHvJUMa3nH81nz KUNCGnfzSyA9qshJxyeEBQ3QxuiXKQrVonFe+Mea5Cq88rgqmAE5r4476bSLdMMydm4Ltl Cqx07iM/XBlSDrPOceutiG+NYGNAWbBYgBjmHJf1OQUPprZEEZ4YbJMmDGd0Sw== 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 4Q5xGs3H9XzXmk; Wed, 26 Apr 2023 11:19: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 33QBJnxf090488; Wed, 26 Apr 2023 11:19:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QBJntk090487; Wed, 26 Apr 2023 11:19:49 GMT (envelope-from git) Date: Wed, 26 Apr 2023 11:19:49 GMT Message-Id: <202304261119.33QBJntk090487@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: a1db1097e654 - main - netlink: fix build without NETLINK in the kernel. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1db1097e654272c1af0a1e0581b4a8deb75f168 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=a1db1097e654272c1af0a1e0581b4a8deb75f168 commit a1db1097e654272c1af0a1e0581b4a8deb75f168 Author: Alexander V. Chernikov AuthorDate: 2023-04-26 11:18:43 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-26 11:19:41 +0000 netlink: fix build without NETLINK in the kernel. PR: 271066 --- sys/netlink/netlink_glue.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/netlink/netlink_glue.c b/sys/netlink/netlink_glue.c index 069cb9900e03..940ff2de4859 100644 --- a/sys/netlink/netlink_glue.c +++ b/sys/netlink/netlink_glue.c @@ -49,6 +49,7 @@ #include #include #include +#include /* Standard bits: built-in the kernel */ SYSCTL_NODE(_net, OID_AUTO, netlink, CTLFLAG_RD, 0, ""); @@ -282,11 +283,11 @@ int nl_modify_ifp_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, const struct nlattr_bmask *bm , struct nl_pstate *npt) { - return (_nl->nl_modify_ifp(ifp, lattrs, bm, npt)); + return (_nl->nl_modify_ifp_generic(ifp, lattrs, bm, npt)); } -static void -nl_store_ifp_cookie_stub(struct nl_pstate *npt, struct ifnet *ifp) +void +nl_store_ifp_cookie(struct nl_pstate *npt, struct ifnet *ifp) { return (_nl->nl_store_ifp_cookie(npt, ifp)); } From nobody Wed Apr 26 12:31:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5ysS5wfnz47wCl; Wed, 26 Apr 2023 12:31: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 4Q5ysS3WPhz44hR; Wed, 26 Apr 2023 12:31:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682512284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=64quR3xbHtCbadHYgm55BQUV3dBZnvW3ugFU2No2huc=; b=qd+g3PpmCPXuBPHD1L1LgSw4cXQx7ki0RW0l2FW9PKnNg1hKSVX8ivON86kNTRz3bejcR8 8JMhgteD/8JvFpAlUORULcyOZwuK0udzN+GmuCDvUn0jkd2hIyH05LbjS/D0JoBZnefvkR SJevYQZx2SotzfaOnWRe2osWQRosW7Vb2izK/xesCQDv35Jhdmr3HKsZyzqbpNStEDs5/y f92bIG44FQsHzMz+G6Bd2SsopKSYSQoJXXnsfDc0GKAmpDbHa6QjxZmkFM8VlQxXT1D7SP 00trhQXfunhxbBxlHtzkJanAN7QmoDPvfTuMNrgV7+hpuEB5MT5rLSMmjm7GwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682512284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=64quR3xbHtCbadHYgm55BQUV3dBZnvW3ugFU2No2huc=; b=JgkF9ksaO/ENMA6XzQ5AaHhpMux8iqiGcIslkgLzg67UpV+8a2jFeRRUrMVJTr2SD9md/v iYdaQ9jXXWK8ZuzbVPoe0mteA6yQkhwk625z4O4vqi2VwBxWlUuKO/MgN5WhZ9m6fc2uV2 pLHKSfQSYo7cnrlSlO1egXx8VnIZJ46vzukvaJvQnhD3N65kBE/wU1m8Tp98IYINjug6Sf 3BR0R26jBlkm3Kh4RdzUew5O1eaQn7Vzw1wOe0RPwAy5Pc68Sy6BSCGyLFxg9ATkAM737G 09yYo33iug8PTZ7SBjCq+f09F25eXbpO5y1vZHKFZ+qPir1IA8hox+pSl1rS7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682512284; a=rsa-sha256; cv=none; b=Df780kspCJPHeg1o+Lt094AUq0+sCU0r7a8cBdpr1NFIUff8j0YOj34lMWIkIYKZecbm6B +U9fO+rI1ifuDMoCXzrNr1C6iVDHbPfCVcuj3ndIM7CphmcsSPD97bZm7JTE+6y1GaECsN kZqSZUIzoWoM/h0GAZN/ZO2HDjbDnUS7AE/P+yulzv8UMOILU5tLvKJMq/9Z+g8+6RNUI8 5TFFPc0/f3bJoZE/uLnbU8BaFhCIBo8xG3Lzx0wXF7knNzdIz+7fh58n0inLVpydGaM6ne ItatCKe4x2uJixfbV6AcL9LbLj36Pf//G+VssXuColPI+WBkQ3qH1K8yH7V7Yw== 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 4Q5ysS2cNJzZbd; Wed, 26 Apr 2023 12:31: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 33QCVOGS018424; Wed, 26 Apr 2023 12:31:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QCVOu7018423; Wed, 26 Apr 2023 12:31:24 GMT (envelope-from git) Date: Wed, 26 Apr 2023 12:31:24 GMT Message-Id: <202304261231.33QCVOu7018423@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Yuri Pankov Subject: git: 989a0e1d81df - main - tzsetup: fix bootstrapping for github CI jobs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuripv X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 989a0e1d81df5af350ed823506e4a93c5c8a4639 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by yuripv: URL: https://cgit.FreeBSD.org/src/commit/?id=989a0e1d81df5af350ed823506e4a93c5c8a4639 commit 989a0e1d81df5af350ed823506e4a93c5c8a4639 Author: Yuri Pankov AuthorDate: 2023-04-26 12:29:08 +0000 Commit: Yuri Pankov CommitDate: 2023-04-26 12:29:08 +0000 tzsetup: fix bootstrapping for github CI jobs Move dump_zonetab() under HAVE_BSDDIALOG as the parsing code it relies on already is. --- usr.sbin/tzsetup/tzsetup.c | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c index 76f6a2537de6..b4d906d90b7e 100644 --- a/usr.sbin/tzsetup/tzsetup.c +++ b/usr.sbin/tzsetup/tzsetup.c @@ -483,6 +483,27 @@ read_zones(void) fclose(fp); } +static void +dump_zonetab(void) +{ + struct country *cp; + struct zone *zp; + const char *cont; + + for (cp = countries; cp->name != NULL; cp++) { + printf("%s:%s\n", cp->tlc, cp->name); + if (cp->nzones < 0) { + cont = find_continent_name(cp->continent); + printf(" %s:%s\n", cont, cp->filename); + } else { + TAILQ_FOREACH(zp, &cp->zones, link) { + cont = find_continent_name(zp->continent); + printf(" %s:%s\n", cont, zp->filename); + } + } + } +} + static void make_menus(void) { @@ -799,27 +820,6 @@ install_zoneinfo(const char *zoneinfo) return (rv); } -static void -dump_zonetab(void) -{ - struct country *cp; - struct zone *zp; - const char *cont; - - for (cp = countries; cp->name != NULL; cp++) { - printf("%s:%s\n", cp->tlc, cp->name); - if (cp->nzones < 0) { - cont = find_continent_name(cp->continent); - printf(" %s:%s\n", cont, cp->filename); - } else { - TAILQ_FOREACH(zp, &cp->zones, link) { - cont = find_continent_name(zp->continent); - printf(" %s:%s\n", cont, zp->filename); - } - } - } -} - static void usage(void) { From nobody Wed Apr 26 13:13:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5zng59skz46V2H; Wed, 26 Apr 2023 13:13: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 4Q5zng4jQqz4Bpv; Wed, 26 Apr 2023 13:13:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682514791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a1E7qQDZhPkf5Pu1QcM8PfryrYZQsvCbLyfdx6hbJoM=; b=KsnOZBLgc3oYSzja0d4GcHsXVVk+hu4RNqbpC+6jJGkkO/8s9vJ6uTRg2TCl+RffGQ+g25 uHUSbMVc+eXDip69of5ieJPKAr7styv5vp5QRgBEgyUn6kp6kjrhmtaDZunBrhBVYRHn+d 9U4UynRVq8tBN6gvL+Kin+tJNK/L23lLLB4VYaR0Pi52oKJVuaUg0tTAuzzIyfJ9IJS9JW HYfvCIf9HzzkshFbZa/0dVgLUhj1A+0vONCnyblYD7DG/OYCK8kJ3U64n+03vn3BfzmJi6 BkVxS37lo6uNn+wfAFlmLvZIoYE+6BdOuwJKSUARg5R/yHlwNUQ20C6+8Nyr/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682514791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a1E7qQDZhPkf5Pu1QcM8PfryrYZQsvCbLyfdx6hbJoM=; b=btOPVx4aDpeLNQXmnR8WIqbjwl4PbOeJLcBC+EYEbV9oZvgv/EPsBV+gstA5AnD//qcxcT FgH9UVX3BTPPPsUG7uw2/tTRM29H6YeXMuuvl/3KMBninlU+TciJ7BB5H0SSYtQer5JVRE u9zdDOWn4OxQh9Rg8DtaSpuC5NGdKLYtkogtzXJPC6FFw0dUSHGwO/XHhkhERdgE3lsGCF GDPmoB3HFNebGw4TnsCKcMhjNYtcshgy27VYfhGr26i0OojynGYt5OEXjxb12RIR9vcPJV 4EJ3FRcQ/rhWUf6NbtY8pAugDvKQxsq5Sw3SFty8O44CQszwdjnoPrOXF1aZQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682514791; a=rsa-sha256; cv=none; b=pl/88lpHVFliVpOOZV3KxMseDf9HOiONzGt7+hnTzGSqnorI5RfpvnmAlRIPCD4ArVqesr /OkjtKvdukyyQFAkCtHpRl2iY5Uo44nJdmmGXcGpWAfJDiUkA7nkJ2l5RFF6qjnqcjRWRb Elc2qyg29bG9OO3aTUo8J6LmPbxZXLYBtVtdPOK1UY+TKI58CLu8BngB3MsiUDqaLIWZq0 LYhEp9xAhB9DTtJ05DckqSNwdde6JsmSFSjslIIfJoMMv3xWgu+JUQDLH1eyzkBU6nqYxi C5B5NMDVneFpOsDnD86i8bsv8OQ9PVxCzb97h8QN9xAI8RQVlYheIPDGrFlhag== 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 4Q5zng3nQJzbqh; Wed, 26 Apr 2023 13:13: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 33QDDBcj087494; Wed, 26 Apr 2023 13:13:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QDDBqP087493; Wed, 26 Apr 2023 13:13:11 GMT (envelope-from git) Date: Wed, 26 Apr 2023 13:13:11 GMT Message-Id: <202304261313.33QDDBqP087493@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: 80327535cfca - main - Mark simplefb as depending on fdt List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 80327535cfcadf8d0fedaf0e1c084688627c9785 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=80327535cfcadf8d0fedaf0e1c084688627c9785 commit 80327535cfcadf8d0fedaf0e1c084688627c9785 Author: Andrew Turner AuthorDate: 2023-04-26 13:11:31 +0000 Commit: Andrew Turner CommitDate: 2023-04-26 13:11:31 +0000 Mark simplefb as depending on fdt This file is for a FDT specific device, mark it as such. Reported by: Zachary Leaf Sponsored by: Arm Ltd --- sys/conf/files | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/files b/sys/conf/files index 8c573d3293ec..8c3d80c48b01 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3432,7 +3432,7 @@ dev/vt/colors/vt_termcolors.c optional vt dev/vt/font/vt_font_default.c optional vt dev/vt/font/vt_mouse_cursor.c optional vt dev/vt/hw/efifb/efifb.c optional vt_efifb -dev/vt/hw/simplefb/simplefb.c optional vt_simplefb +dev/vt/hw/simplefb/simplefb.c optional vt_simplefb fdt dev/vt/hw/vbefb/vbefb.c optional vt_vbefb dev/vt/hw/fb/vt_fb.c optional vt dev/vt/hw/vga/vt_vga.c optional vt vt_vga From nobody Wed Apr 26 13:13:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q5znh6Lyfz46VQx; Wed, 26 Apr 2023 13:13: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 4Q5znh5crJz4CBL; Wed, 26 Apr 2023 13:13:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682514792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pzr3E44fCz1kqOCrwwspCbUKLUr3zGNl8L8wfFPAZmA=; b=mqSlbVqCMmIZ6eoxfp4iAvN3NfGAXMGO/+PdQ1ojdsiPlIv6LibWhRRdKJo1uUOxipwSav s5S7Ha4FfVctTCJlWnevVbIkap3FcygvkLWQRf26pMdRsJIhZ1/hQ1+295AThbOMK3WdWD jJWc8SGMqYBEnzFyXzdK/J6reKXa9i4MJILt4eM+k9EiErNb1EUlmjjHs2eB97AQSmLqWt koeehMOZMjANivCjjCDoYwgWh2r4G064V2pvQDIwzU9iM8dgP9qeZhL+yF58Z8LxxJ31NH F+/eBOmQTM0JlbO2xbyw+YF5ZioCjnS+ygMHghu0LwlgWQavkd273jXDnQmTHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682514792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pzr3E44fCz1kqOCrwwspCbUKLUr3zGNl8L8wfFPAZmA=; b=PBN3Fegxiiov38kJZYLLzQnQRFZAhm4sJvVyBv2tcwMB8/BwXQ4Z6/YmPvpcmtHUzRlOpS nBaYNJN4BzkbUbgkCrvnpTgNfkyHPODiQn3RDmmPUuk+xW7XsJ0x6yG44pwfS03bc8K2GM i02jIez66PrkQK3DlHrENwYbX4Jc6mUIrWmYIChllLFIzMKVwVaFxH+Zmuizs4tW2UIkah 0FBL1d6XU4hW2mjLkivLhs1h70IiFSedwmDSq8BnoPah20xepjo6QBbPmUyJe11lvuKSkA EPWqd9UFFPNGbd50shr5SM6RlmzpTIoVU5BDhfyEwmeFIIC/CD1IuyXHVAC0sg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682514792; a=rsa-sha256; cv=none; b=IrMWkGSWu9Vc+qeHftNaJjMYzjzBjjYn5JYByVbaaCmCuLn6g5w8CYMXITQI0kLWG/OmOC E/CmvRABJr/aQWf4aAdDRwPDfT0K+c+E6XjAdkVfKFY6hUuOLQzo0q4Zw3v5EkkdFzkclX CtQ4uAZOYlp2zWlbxhxGIdRVCgmpADr/DZkfRPEVp92Q9Z8hSOgHM6OjVPH13+eDTqxg6c r+MexzY1sYOsBHxa23iue1Aa5SOHotE/u8vRrjzCJ1gGCbOHypK4+D8W9K8Fr2vU08Me55 9xoyQZV40ahJnT5590vSc5AQx1CmV7yRhjXFWghGXIiWR9t5KL/27n1L2AxrqQ== 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 4Q5znh4hzTzbn9; Wed, 26 Apr 2023 13:13: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 33QDDCYg087513; Wed, 26 Apr 2023 13:13:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QDDCwj087512; Wed, 26 Apr 2023 13:13:12 GMT (envelope-from git) Date: Wed, 26 Apr 2023 13:13:12 GMT Message-Id: <202304261313.33QDDCwj087512@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: f8c451d29174 - main - Add vt_simplefb to the arm64 NOTES file List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f8c451d2917425bc2f6615884b05e4d12b9b5ab5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=f8c451d2917425bc2f6615884b05e4d12b9b5ab5 commit f8c451d2917425bc2f6615884b05e4d12b9b5ab5 Author: Andrew Turner AuthorDate: 2023-04-26 13:09:00 +0000 Commit: Andrew Turner CommitDate: 2023-04-26 13:11:36 +0000 Add vt_simplefb to the arm64 NOTES file This will be picked up in the LINT-ACPI and LINT-FDT configs to check it builds with only one option enabled Sponsored by: Arm Ltd --- sys/arm64/conf/NOTES | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/conf/NOTES b/sys/arm64/conf/NOTES index e77a5cf087aa..ce5b071e5ab5 100644 --- a/sys/arm64/conf/NOTES +++ b/sys/arm64/conf/NOTES @@ -183,6 +183,7 @@ device pwm device aw_pwm device vt_efifb +device vt_simplefb # EVDEV support options EVDEV_SUPPORT # evdev support in legacy drivers From nobody Wed Apr 26 13:27:01 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q605d32y7z46W9F; Wed, 26 Apr 2023 13:27: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 4Q605d2S65z4F6J; Wed, 26 Apr 2023 13:27:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682515621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6JZnFP8qdMbYpH9oQSanjLUfPRexEgDRJMhwl8NU+iI=; b=jeuJ7ANPQcb8szEvjYAFExL1mf0K7iJpqfdK4B9kaceaDrBFBbsOMPj2hlwHkG7cQ3KSxP f1s+iTpYKXL5Eb8jinmQ4VKqVe6cMIEKS5n6m6TvpXFwUXliYYEyT4zh/PQH6icINh9mVm n72KB+60Z5tliK8/qqZ1QvW2PMHv3hFumlVsJ4cjJh5mRkDs8SYAWGYEPIAVAgJmnuhNI9 9YzfoxZKIk3QjGpbNq2oqGiJnkyyeELCA5PL4EquA86KwfqM8RzKanPwmbytt9KAbSSo/O cDo0G+AqPDoJNwfNRrKNHlB6gMDBjmK/inv5vxp0cTg0fRHw340EXy2jqKCC9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682515621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6JZnFP8qdMbYpH9oQSanjLUfPRexEgDRJMhwl8NU+iI=; b=N3OhZDWboig3bAA1PawgGmsMWNEAoL65mdxCilCOGD7bghM6iuxgRShb4KXHOQCHIVBcZB BXg8JAhiaLO4FxzFylfm1YRj+CLXMtOT8CnowqCOQNN5EetmCXrHVDXI5GsADHqPBqKujH FVhBJd+9q0vOqfjklPUvI7O9xSxuevrbD4h+aFhdbwWwKm+imd8KC8FEfYmXS1h+mqoFnR HRUR2JZIG9oEgMLGRdk8IONME9pibvQ+0w66p891yMFfN1pzPR6bMq4+N4/SBG1qf5bbZj wl2rKaN/RhzQam4inESN/+zieXUs4ZrEQD7ipHPXzMNrac+BQwf/B9GcDqxeyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682515621; a=rsa-sha256; cv=none; b=QlZlSch2K6tflNI3Y7sSp3FOyDAhxXOES5U3/o2xuZ/lVsbmd5Fqcr1VIkJV6HY402eG6L AVsoua0GLBuoQtSxR/8PVRwl6ZWK4mnskXLGptBUteSB5F7KS/A5sK+k57P9GWLOM6ugZ5 l/4mKDtc5a8qG+c86ap8Oy13LzQH5OqU7uNbqu/NQx5DZqiw2/6XhHOtMH/xc8vYIzSQLB xZDi5dV1XUystYT6TmrWCZvpfB5Hz8qNPSdDNCQzMiGE5YjJtFaZ4jP5FNitsDuiyDijv4 JWLFZtjE1QuCVGoR2ppPvX0UXl8XxWsNMoIQzd0Qi9GYy/cAUejzwe6xOxnyDA== 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 4Q605d1Vm7zbcK; Wed, 26 Apr 2023 13:27:01 +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 33QDR1h1004566; Wed, 26 Apr 2023 13:27:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QDR1T4004565; Wed, 26 Apr 2023 13:27:01 GMT (envelope-from git) Date: Wed, 26 Apr 2023 13:27:01 GMT Message-Id: <202304261327.33QDR1T4004565@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: 52199877a658 - main - arp: report successful deletion via netlink to mimic rtsock. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 52199877a658842f81f1e997205ff26fb781a5a0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=52199877a658842f81f1e997205ff26fb781a5a0 commit 52199877a658842f81f1e997205ff26fb781a5a0 Author: Alexander V. Chernikov AuthorDate: 2023-04-26 12:29:43 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-26 13:26:37 +0000 arp: report successful deletion via netlink to mimic rtsock. --- usr.sbin/arp/arp_netlink.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usr.sbin/arp/arp_netlink.c b/usr.sbin/arp/arp_netlink.c index 6e9ffce52608..30df255b591b 100644 --- a/usr.sbin/arp/arp_netlink.c +++ b/usr.sbin/arp/arp_netlink.c @@ -359,7 +359,9 @@ delete_nl(uint32_t ifindex, char *host) xo_warnx("delete %s: %s (%s)", host, strerror(e.error), e.error_str); else xo_warnx("delete %s: %s", host, strerror(e.error)); - } + } else + printf("%s (%s) deleted\n", host, inet_ntoa(dst->sin_addr)); + snl_free(&ss); return (e.error != 0); From nobody Wed Apr 26 13:27:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q605f3sthz46W4R; Wed, 26 Apr 2023 13:27: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 4Q605f3G7Jz4FCY; Wed, 26 Apr 2023 13:27:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682515622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bth6NTYmftHfj86Ge4mhLHFhvl4N4V6bk5njemTq/z8=; b=pQI25/fLrOBEss/HGANVc483eLlQUziPtisAsN7mq1jKCG/5b3TAgvFotjH0rJQpR1hvB8 +U2ewzvcVADssg5lNjhacRizl8TqKkmw4+LOF7aoeqZddCRgD1xlAGI4YfrRHZ6U+eaDio gSLaX7YGvN6gYHNLhAbQK5voBJVu7btfk74/VYR1i+nm466v+lrdVlM/YMVDLb95AiF9EY DzDsbJxlChaBF2tirHvdysHDuFeXDB2IYdzZL1p8YSkEYMyMIn2h1PIfMQ3k5Zj+PXfxD9 BrT38JbJqDl99qE19UVoEboIASptRJa+UR6Euc9zbg+Qq/4FJasdc/YlBsqRbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682515622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bth6NTYmftHfj86Ge4mhLHFhvl4N4V6bk5njemTq/z8=; b=c1DxsZzFYdpZwQnE8uE7wTmqKozXFG3Y9GUG0qEG8uWsugCivFji1xGTFwYft6PV7fbKJM h6Z71gnKyR1qWsa7+z3GzD2BG+AF0pfs7D2gG5EuMu5bEUEzbdXwCVrdeUGxfM6vnGTi7x tUFChoW0ks2+6bCWt92DYt9Ts+h7uh70ItjQVCWk3tTOPq19k7iYXSL66GUZBzwgZgonBc nh7CTY0ZBRK5kl+N6+q3JIbZEbB2IdRhxsjBAbehsiZ5GVrV/QTG1Hep76T1hEvWgL3eL5 aX09kL+GT4qRxedIzgM31pouc4w/RrUIV9cbIVNbcKcHomjCI3UR5/ncggVnHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682515622; a=rsa-sha256; cv=none; b=RpOv+SFKmvSeYkXL1B8K03/YwieV2XLwzEzxs5x3xJwaeOQNSmyQ2AwVQwax7tUEmcVyFR iMwAEJ6LOM8KKX+BhhDLeAPvyjlfdXGepEeIUgL2zXRCelkbMw3T64vqPwWNgXXLJ7F9is uWwLFcgnkinpypcYcAm/6JwpRln0nmsLyuuLacfhmgWdCc78U+zpbS7ZGpem4aWH3+oWjY ea0BCKOfTzwGpofBNYvjcPod3BIjRaDgkWN7ulB3L+RL0fJPCzQ35zKbi0Ic2n7Hxmxq1T gSTVsNK6Fo+8zkm4LDGek0QdBGmk/JtbCj+WYw8wHREuAfFjptCe8p+4DKYvOA== 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 4Q605f2N5gzc3Y; Wed, 26 Apr 2023 13:27: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 33QDR213004589; Wed, 26 Apr 2023 13:27:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QDR21d004588; Wed, 26 Apr 2023 13:27:02 GMT (envelope-from git) Date: Wed, 26 Apr 2023 13:27:02 GMT Message-Id: <202304261327.33QDR21d004588@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: 20b6945c7f54 - main - netlink: fix IPv6 proxy ndp deletion. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 20b6945c7f542a76b8c8f9f962403303ccee4227 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=20b6945c7f542a76b8c8f9f962403303ccee4227 commit 20b6945c7f542a76b8c8f9f962403303ccee4227 Author: Alexander V. Chernikov AuthorDate: 2023-04-26 13:23:39 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-26 13:26:37 +0000 netlink: fix IPv6 proxy ndp deletion. * Move LLT_ADDEDPROXY handling into lltable_link_entry() to reduct duplication * Use standard lltable_delete_addr() for entry deletion * Add (forgotten) call to llt_post_resolved handler after adding the entry via netlink. MFC after: 2 weeks --- sys/net/if_llatbl.c | 9 +++++---- sys/netlink/route/neigh.c | 24 ++---------------------- 2 files changed, 7 insertions(+), 26 deletions(-) diff --git a/sys/net/if_llatbl.c b/sys/net/if_llatbl.c index 86bf9a0d47db..f97c2f8f91de 100644 --- a/sys/net/if_llatbl.c +++ b/sys/net/if_llatbl.c @@ -904,8 +904,12 @@ lltable_free_entry(struct lltable *llt, struct llentry *lle) int lltable_link_entry(struct lltable *llt, struct llentry *lle) { + int error = llt->llt_link_entry(llt, lle); - return (llt->llt_link_entry(llt, lle)); + if (error == 0 && (lle->la_flags & LLE_PUB) != 0) + llt->llt_flags |= LLT_ADDEDPROXY; + + return (error); } void @@ -1034,9 +1038,6 @@ lla_rt_output(struct rt_msghdr *rtm, struct rt_addrinfo *info) lltable_unlink_entry(llt, lle_tmp); } lltable_link_entry(llt, lle); - if ((lle->la_flags & LLE_PUB) != 0 && - (llt->llt_flags & LLT_ADDEDPROXY) == 0) - llt->llt_flags |= LLT_ADDEDPROXY; IF_AFDATA_WUNLOCK(ifp); if (lle_tmp != NULL) { diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index daf0843e432c..db72bc9bfd4e 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -451,6 +451,7 @@ rtnl_handle_newneigh(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate * /* XXX: We're inside epoch */ EVENTHANDLER_INVOKE(lle_event, lle, LLENTRY_RESOLVED); LLE_WUNLOCK(lle); + llt->llt_post_resolved(llt, lle); return (0); } @@ -479,28 +480,7 @@ rtnl_handle_delneigh(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate * if (llt == NULL) return (EAFNOSUPPORT); - IF_AFDATA_WLOCK(attrs.nda_ifp); - struct llentry *lle = lla_lookup(llt, LLE_SF(attrs.ndm_family, LLE_EXCLUSIVE), - attrs.nda_dst); - if (lle != NULL) { - if ((lle->la_flags & LLE_IFADDR) != 0) { - LLE_WUNLOCK(lle); - lle = NULL; - error = EPERM; - NLMSG_REPORT_ERR_MSG(npt, "unable to delete ifaddr record"); - } else - lltable_unlink_entry(llt, lle); - } else - error = ENOENT; - IF_AFDATA_WUNLOCK(attrs.nda_ifp); - - if (error == 0 && lle != NULL) - EVENTHANDLER_INVOKE(lle_event, lle, LLENTRY_DELETED); - - if (lle != NULL) - llentry_free(lle); - - return (error); + return (lltable_delete_addr(llt, 0, attrs.nda_dst)); } static int From nobody Wed Apr 26 13:33:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q60Fb62mWz46Wxh; Wed, 26 Apr 2023 13:33: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 4Q60Fb5Wt2z4GF9; Wed, 26 Apr 2023 13:33:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682516035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i6CAMT5F9ix/ow3GNgEs3bljPTzmO6ql1u1rZ2G/3JQ=; b=bgzQCI1+TkkK+bBxV73KxY/kqLF8Qr7fwaJxY1OfiRsZIk9MIzFDwF4tiui6vQvmnvoCfL 7oeo+UERDadOloo7U3stjaYLNaFaW62NmLjzKI2F7sMzfkn/A0d4UUkNILw/zUdogFlOp4 tELH/kYD7HlxxtFVsEm5kU7kH6NkfOqRnW9ZztF28CPIjVKCq+h7NqOLqsslkuA854yWIU i9Cb3cuq6yvlz1MCPE74AuomFYTexTJsxMTXReDktuWP9ITPXKmWOHSla391I0kprOQZlr 98/H9jSBvzcdvHKgM2sEnjHEWqhkQKfwpLwaw0Y5gDeoYZfZomHabSepQNWiXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682516035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i6CAMT5F9ix/ow3GNgEs3bljPTzmO6ql1u1rZ2G/3JQ=; b=YXZfRXqdMCjMGt7uhn5HXZhvDPjuGldBis6/8l91rBbo+iR9dk0VpZamY+rXlYHq0r5M4e ZzSSZOMDgfCZJSk7lHxc2D7+lluUQ7PPl2cl3Un2CvvGtf7dx7cpR9qOoT31Nq5kiqnCiM eO12G/yip1Et5bHdD7jokwka8HIYdEUCRHIlujMXsIYHaRNH+FInBpD7e6FzA/s6KSBAR1 Ly/xJ7l36HhjTCHMAWT0GyXzmGvNkHlfkptQSfoAr9V/HKMOLIa4FjiQ3e/GzsQF98oroS ADUY25eZ+MRl/V5TA0YG1PJeN+vCPfgqUgvZwnaiUZ4QFk0qtE7rflforIty5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682516035; a=rsa-sha256; cv=none; b=VZdrMhOXTIQMsed13Ee65f0rBFx7QBbnn9DQ6A64Gu8fc7dYxH0qboeEvru/V84erAr/pv fmD6NZvarg2JFLXwBjjQi+VWM9gPTiPjP6rNHsg5QB1hm0igfX0Xuli8f7kezpDD9XVJa1 wapft9It769BEOEpzXbyCTBj1eWACx5CQfJB/Ap5gfvoASwsJZr/qE/EjUAVtN9C7KRJIa LddsREcjy4zRcQYa0Co10wcxb8jpvVG7zwkIkEuTQobu9s18KZYBqUFHxoWNnbDDw0T0Fs +AaGN4RQfr7pGKirTTsDhKXhaj0jysaGLQf+e57sglfwwwztU4vJOU4g6Ysluw== 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 4Q60Fb4b92zbpD; Wed, 26 Apr 2023 13:33: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 33QDXtpS020202; Wed, 26 Apr 2023 13:33:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QDXtSD020201; Wed, 26 Apr 2023 13:33:55 GMT (envelope-from git) Date: Wed, 26 Apr 2023 13:33:55 GMT Message-Id: <202304261333.33QDXtSD020201@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Toomas Soome Subject: git: 795497bf3d2c - main - pxeboot: bugs in pxe.h List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tsoome X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 795497bf3d2cdaf94c0054e1093567b65b569802 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by tsoome: URL: https://cgit.FreeBSD.org/src/commit/?id=795497bf3d2cdaf94c0054e1093567b65b569802 commit 795497bf3d2cdaf94c0054e1093567b65b569802 Author: Toomas Soome AuthorDate: 2023-04-25 12:12:07 +0000 Commit: Toomas Soome CommitDate: 2023-04-26 13:33:28 +0000 pxeboot: bugs in pxe.h SEGDESC_t needs to be PACKED there is no status in t_PXENV_UNDI_MCAST_ADDRESS Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D39799 --- stand/i386/libi386/pxe.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/stand/i386/libi386/pxe.h b/stand/i386/libi386/pxe.h index a51d72dae650..327fd9f8a48e 100644 --- a/stand/i386/libi386/pxe.h +++ b/stand/i386/libi386/pxe.h @@ -62,7 +62,7 @@ typedef struct { uint16_t Seg_Addr; uint32_t Phy_Addr; uint16_t Seg_Size; -} SEGDESC_t; +} PACKED SEGDESC_t; typedef uint16_t SEGSEL_t; typedef uint16_t PXENV_STATUS_t; @@ -151,7 +151,6 @@ typedef struct { #define MAXNUM_MCADDR 8 typedef struct { - PXENV_STATUS_t Status; uint16_t MCastAddrCount; MAC_ADDR McastAddr[MAXNUM_MCADDR]; } PACKED t_PXENV_UNDI_MCAST_ADDRESS; From nobody Wed Apr 26 13:44:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q60Tn4S6yz46XNV; Wed, 26 Apr 2023 13:44: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 4Q60Tn40GSz4GrZ; Wed, 26 Apr 2023 13:44:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682516669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Owg5ErCXR+W2DyafJdIO/ssz3NwNhoBYWR8D3VPFxI=; b=cRSEfiGa5NI/LsKv7+N64ehJAuWItEcOYumE75swgGPy1f3v+oRh6CRot+1DjzftxHowUI Z0s0u2X943vdoKv+3nQeB8CbRIH6GjE2hhBTNElbHrv2v2UIfv8Kc1omFbZ08pOCVQOfzq TWVIBuQw8TpWmTCzl41XuxgDNQY34KpYy4QioKx61fcWBIw+Okc2vyV83E4KNbRH5AbPRe +LSCLSZcaDp+RIPjpZO+GBJC3qFao7iMjLzEXCEeTTnswxCwbzKUC7OAjmKyYfRnOHmngi b1uixl53UwuYqk/ESAS9deZ0YgFrmOuv6OLsjZ1xc+krwIWnaVjveLyVOeypYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682516669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Owg5ErCXR+W2DyafJdIO/ssz3NwNhoBYWR8D3VPFxI=; b=dZcJIJhbaaFnmLjzpQ3IFnhahHwD6wvh1geYX0suPuCAxoaGqxiNayr5S2dJihcUjEnAbJ 2UYqp1+5QieoY+CqlRjAJb/p0Lk631LLCid2BNvVFi5awA4eBxRLBjfRHsw2TJMUponLuX 3IgQeRS18vdUJ1PsiInLtkwnUTHm5q+kC+OD5ltAVrp3fw6Q7xTVo3aHVG21ZYCGvTlh78 /3YXAa0M3cBH2FaB/isJT+1fk+7HC5DVPvsNb9B/YjRfBhWKVnz5h6ojjNvla76X9byWha P6R+48wSPPCRYHgYK9nyoKZwxo3o/2pKtz//0AQVArJlPnLxg/5pi4NAmL3MQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682516669; a=rsa-sha256; cv=none; b=fJGCYJdl80wZoWQ6orcp1LdA/RmgjkGwnqB9tfe+KnnrauZqH6GYFm2svMT4UvuMfZyEQV ELNoXIAc8nC77u5jipNHuhhJWgXZiRc4tjpdPqmOX7a7Xvyk13HuKnEo8aQPMJSfS8Ao3u zOXmiwFr60BiR9jxK6uD0OSYy1LHVttXGXPRmv3eZPMWvC2QB1NLyHrWaz24ITVwg69bFo CwihqNwQ9BgIDXLw5UnLDRp03VwZDZydhuRKvwIUhddqqYNROVJYCnGtVSU1U5uCRRunmX 9EbkhjWgu+ptpwnVuaJT5gVPQvuYHzB8awzJ616E06yXTaB+vIDQ5YF/d+z6GA== 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 4Q60Tn34Qwzcm1; Wed, 26 Apr 2023 13:44: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 33QDiTAB036809; Wed, 26 Apr 2023 13:44:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QDiTSB036808; Wed, 26 Apr 2023 13:44:29 GMT (envelope-from git) Date: Wed, 26 Apr 2023 13:44:29 GMT Message-Id: <202304261344.33QDiTSB036808@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: 727fd8a73df5 - main - irdma: Silence an unused function warning List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 727fd8a73df595453572b1f89e569d01c77eb63e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=727fd8a73df595453572b1f89e569d01c77eb63e commit 727fd8a73df595453572b1f89e569d01c77eb63e Author: Mark Johnston AuthorDate: 2023-04-26 13:36:31 +0000 Commit: Mark Johnston CommitDate: 2023-04-26 13:36:52 +0000 irdma: Silence an unused function warning Reviewed by: erj Fixes: 35105900c65b ("irdma(4): Upgrade the driver to 1.1.11-k") Differential Revision: https://reviews.freebsd.org/D39719 --- sys/dev/irdma/irdma_cm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/irdma/irdma_cm.c b/sys/dev/irdma/irdma_cm.c index 9f88f6e3cdfe..09f6e6482d8a 100644 --- a/sys/dev/irdma/irdma_cm.c +++ b/sys/dev/irdma/irdma_cm.c @@ -4205,7 +4205,7 @@ irdma_cm_post_event(struct irdma_cm_event *event) * * teardown QPs where source or destination addr matches ip addr */ -static void +static void __unused irdma_cm_teardown_connections(struct irdma_device *iwdev, u32 *ipaddr, struct irdma_cm_info *nfo, From nobody Wed Apr 26 13:56:01 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q60lD2vZ4z46XsF; Wed, 26 Apr 2023 13:56:08 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Received: from HK2P15301CU002.outbound.protection.outlook.com (mail-eastasiaazon11020017.outbound.protection.outlook.com [52.101.128.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q60lC45Hxz4JDd; Wed, 26 Apr 2023 13:56:07 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Authentication-Results: mx1.freebsd.org; none ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DFNF59XPjsNBjid+ncuT8lPN/wW/8hDLLlbRi1OdTX+80gbfY8pTUvIx2p+MfUyxCFuG/MTd4jBKWgrd/hzBqpy0pyeAGA3zafm/jNHRFVs6Vpx3uOJ8OydnsaLLavYFnUd/UX54CiqDNliPg0ww7xv9hjvEpX/pyUc12y+qOljg+H5d5CieR0L2ducEyiSGXbQheYMD4zIjJ+UhpN890LOZM+aTbtQOa4/vJaljhdiaIOKskrsUTIOhHY+lsmp4779hYbXZs1hgf3yJtnOWhvUnfn28K1c345JE3DAhdNdQprK2R3U29NWrF9fuCQ9agUKIBG2274Q1+BX6aCgVdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nqvKkiMU8UKf2xdTtKr9iwe74qQ5pxrwS97CmhTg83k=; b=d+ZZpou8ueer3TLL6msPI4HemtWV3PDLGsWOWY+SZ+54n+yr0BiHjoQvesLq1+g9U6Rj9zvl+JmoXwkLjvbY7BPDvV8DmT0UWC8NS5SRRce5KUqUYEAOEddMpYT4K7jAnksLEDUR6Wm2REIvNjgnZDrpn4Dx3OGtdHEtGc0AzXlz1rcZcldZmU9k+41WmeTyRyaFrmIf36x+KlIiKeQfsGI/n1agkrP+rfY/S7+hNcyEngIEi59Uup4NmanOC3Sjs0RNCN3jnHkboTbqrNHW6AUEfk48LN0keN3ps6+p7NW/sup7QxEonl9wPbsWxv76kRLeSlMFY7r+0oNrzO1w5Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nqvKkiMU8UKf2xdTtKr9iwe74qQ5pxrwS97CmhTg83k=; b=X8xnvlnzOZXnKj/7LpjjB3TrzGKce1CncelxppKLzwlHAMBAq9p37F52DoTm0am6HjSgMzCNDAyvbBIazmhZ8urCNJXqkGtUj4MrTpK4f3zktiUs5XLkRoPumQwTKj5pVcV/XNj+vSbXkKEYe5dcgO8bleGwQ/XPO/RT2MVLI58= Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM (2603:1096:301:75::14) by PUZP153MB0649.APCP153.PROD.OUTLOOK.COM (2603:1096:301:e1::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.6; Wed, 26 Apr 2023 13:56:02 +0000 Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::3f0:d0e4:818f:7af0]) by PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::3f0:d0e4:818f:7af0%3]) with mapi id 15.20.6363.005; Wed, 26 Apr 2023 13:56:02 +0000 From: Souradeep Chakrabarti To: Kyle Evans CC: Wei Hu , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: RE: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Thread-Topic: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Thread-Index: AQHZcn/2gVTtqNix60WeYnOdZN2tzq86cNIwgAE7PnCAAPQkAIABB3Eg Date: Wed, 26 Apr 2023 13:56:01 +0000 Message-ID: References: <202210271354.29RDsUoH077155@gitrepo.freebsd.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=21a74f30-ac77-4407-8a3e-65e511a6f288;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2023-04-26T13:52:21Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PSAP153MB0536:EE_|PUZP153MB0649:EE_ x-ms-office365-filtering-correlation-id: a279abd4-d206-4542-a0d1-08db465df88a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: N5TnuOS/S9+hTfxWaspaJO8IyHb/FFFjajYyjwUZVNZBC5rxte7JDievibrDFDUxn2IsZJ9rvfo3sgyMOPQdgQEWfvr3W4dCA/95NPtBXV1FAZnCb2m3YzVOkXovEZNzM5baRiSrAzOdR1wuZ6HC3EBjkEJvH7uD1LUJfrJ+PUWcMBUJlpAN1VM4NZW9L9RCU1eKOZ27uRT//dpvvsPN+s0pdlHETNh4kFxZFTIP4eqn1MMm03H6JXfzyGaF7Z6u/AAeNxLqdX2IpSLCER+FzEg1JerYkMjUx4jHdtYL2p3AXI/dnbO+SSX+fxJdczsubVRP2LQsUYXpqbaIHocEPrg2QRbb1YnPQfDfsXzqBEHx94vn0gjEwVFZUHYAOoomS69a8Y5LzZlPKvr1WONZ5Wkiy4Gl3fv53E9+1dBrxGsnfo9TcozZ9hUR3ysWNJvexTHFWNlrdZt/Duh+b4fT4CZYu1pqfWfnkY8TluJIq01wDsJp6K40JfMKmMz1RMpQoB8mmQSioMMpD5iuXXq6QfzxDX79a9u0uUr6Oh7wYhrNeLAT9XuKcloQhTzO2AnaJD7EhhWjqwoqunh8uTIrU3Z7p7qngkECtD9sipek8/HSwNA3x0QG2DaFR1DINoQk0TRMmwf8iz/mgVGTt+KcPA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PSAP153MB0536.APCP153.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(376002)(366004)(136003)(346002)(39860400002)(451199021)(26005)(6506007)(9686003)(186003)(478600001)(10290500003)(33656002)(54906003)(966005)(7696005)(71200400001)(5660300002)(52536014)(8936002)(8676002)(30864003)(2906002)(4001150100001)(8990500004)(38070700005)(786003)(316002)(82960400001)(82950400001)(4326008)(450100002)(86362001)(6916009)(64756008)(66446008)(66476007)(66946007)(76116006)(66556008)(38100700002)(41300700001)(122000001)(55016003)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aXNGdERMUHl0S2lVMkJUUVVFamU0TmNnSnJ1aDVKU2Y3b3JWNFpJTHl3VFk3?= =?utf-8?B?ZEZoSzlUS0hWUFViOVRHbXRCN2FnZnZqa0VSWmNBWWEzZEtUaHRMQkJSVHNu?= =?utf-8?B?YmJNd21BaERZaTlBNEc3c29EUWJWQisyMzQ1VzZhNlhyTTZaRDJ2bDE1WWNE?= =?utf-8?B?N0dPVUdnZThQL0QrcTVXc3liRUJvdlRkdHV4djFLaEFkSTRlL3JHUFkzTm1Y?= =?utf-8?B?QU5HOEtVY0F4aWZRTU5lOU1Odm1oMGZoU1EyaU0rMzN3UGU0dGpsVXdNWFpx?= =?utf-8?B?ekFmSk1iQ3BtTXd1UWx0bFN3WVorQkJOaGtyd2E3Y0pJejIxUEw4Mm5hZkZ1?= =?utf-8?B?Yko3ZHlLTnhNbDdRdThmYzN6NERCeGYxTjIrN2lKVEtScnpVNmIvTWxMM2tM?= =?utf-8?B?YW1lT1R4amYzOGE3QmNTRXBMTms1LytlYndZSzBad1NWd1pKTFpLSE5lY2pQ?= =?utf-8?B?VURKK0hURHN5emN2MmJoSHlCTHNyT29hc0VHYk8wZ3kxTFhMbVpPMlVja0pF?= =?utf-8?B?WGZzUURLRzRRd095WFpneitRUFl4Ymp0ajQ1azdUdTExNGE3cmp2ZWRCVUJo?= =?utf-8?B?UkFzeklLV2xCOFZkQnpvRnVBTkU1Ynd4R1RGS1grNGtnVHFJYzhEUk45VXYy?= =?utf-8?B?d2xja1dvRHJVdE1waWRSSldad0NSdHdnanZ6elZwWXMvZmE0Mmd0Y1RUZHJp?= =?utf-8?B?UmdHeWx0dkpreE9VT1JCNkxkOEIva2lNVEh6MTB4RjBQZkRoZDR5RW5xR3pD?= =?utf-8?B?bmFaM1daaW9vK3hpRUdxNW5PNDErVk4veXh4ZnZMak1zZExWbXdReWwyTHJE?= =?utf-8?B?V0VuOEVnQlRtam9EdG5GcTRyQzlPNUZxYVpEY2lwQnhWY1lQK09VRzM5WWFn?= =?utf-8?B?N20wTW5mRllYYVY5bG1ZRkRrMm1FNTBIalN2cXB6Y1BMdHBVSG81c1lFQmVV?= =?utf-8?B?UlhXNTk2YWNTN3hyRm1xdmxxQjFya3hRSXR6MFdDYTBhOVR3UDg2Z2pBeHND?= =?utf-8?B?YjRlaWVWYlR4aXhaa0htTnhNaDBYV3hETHJXNmpieUZRc3hpZm91N1FCalFN?= =?utf-8?B?RS9HOU5mRkI4Vzc2aEVzTTdhQmZkZXBma2VEYnRyMHdnU29EN2E3MXN3NFhD?= =?utf-8?B?NlRaVVo4eFN6NTZ2UmFTUUN0V3lWSk5IeEVMWjROdk5NUEY4R3JsNmNyVEx5?= =?utf-8?B?bDU1a1kxSzE2amZybGRDVFFKcHFsWE15U3ZyUmVKbHR0MTliQzZxbE5URlkr?= =?utf-8?B?VWQ0NUlJL0hiOUZELzhzbkl0ejNwa1NicGxiVGJIVnpBcGFOQndEOGxPL0pV?= =?utf-8?B?RVY1SUhvTEx0aEd3c0d4T2VVdW01bFF5ZS9DY3VOcDJjTk55QkhsU3gwNzFC?= =?utf-8?B?VEhFQ09WSHUvNjZaWWVzbUF4N0lka3NsbHpTSjZQSGNPY2RpWVhaRzBxTnBh?= =?utf-8?B?c29KWkxwNmpUdzBhdWtlQXJ4SVlsbEUrUllySXJ3ekh3alVzTThCSGFNMG1C?= =?utf-8?B?bjBGUjkwSGRuWGFuRklLMnRkTzFFWi91cnNKVy9ieFV4SEt4d1ZYaWxrQlRN?= =?utf-8?B?N2dRV3pWcC9RVTBiMUR3YUFod0IzSm9COG1QTzRNS1VMZHBMRmlybVFvOXZN?= =?utf-8?B?bGYrVDRETXB6d3d3SlVFRCtjVkpLTTdWVFBRUUszRHBWOVVZMEVYUms0NnYy?= =?utf-8?B?dndjVy8xSGVJYmEwc0hkN0V4cSt1VVl3aWYyNmJ0dGpwN0ZuR3N3R2VNeDI5?= =?utf-8?B?a2RXY3Q0S0xvZG1qMWE1dW9CVG1qNjU0NXVrM3RxRWtmREU1ZUtvcVJnM2dm?= =?utf-8?B?MnppQkFOZ0piWkRnc2ppcXpiMUhZZzl5WVZrM3BYMDZvMmhjS20zMUJMa1ZU?= =?utf-8?B?MUdSeWovWGdvME96NzhpL29uMUU1OEJIVkV0clUrcHVNbTMwd1NERU1pczZr?= =?utf-8?B?RXMwZ3UwSGFSaFVWcE1oMlFBQXY4SEl1SFFTS3c5dDM0TmJ5WFZWQW1iTDFu?= =?utf-8?B?TTZ2R3NNSm5WY3lxbitXSEwwQlVTek9HOXVaa21qek5QdHZIYkQwcU1nbFdQ?= =?utf-8?Q?uweg2s?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PSAP153MB0536.APCP153.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: a279abd4-d206-4542-a0d1-08db465df88a X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2023 13:56:01.8521 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: UbDmPgGOj1ZPINdYa+e3Y3DsqxcQGqilm6CO4PwWe06sAxRjS2Y0MXhkAIyuF3cSz6jcLLslBXHt0uQUxBCegKGESCoMF23+GnEBjh100g8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PUZP153MB0649 X-Rspamd-Queue-Id: 4Q60lC45Hxz4JDd X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:8075, ipnet:52.96.0.0/12, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N DQoNCg0KPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogS3lsZSBFdmFucyA8a2V2 YW5zQGZyZWVic2Qub3JnPg0KPlNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMjYsIDIwMjMgMzozOSBB TQ0KPlRvOiBTb3VyYWRlZXAgQ2hha3JhYmFydGkgPHNjaGFrcmFiYXJ0aUBtaWNyb3NvZnQuY29t Pg0KPkNjOiBLeWxlIEV2YW5zIDxrZXZhbnNAZnJlZWJzZC5vcmc+OyBXZWkgSHUgPHdodUBmcmVl YnNkLm9yZz47IHNyYy0NCj5jb21taXR0ZXJzQGZyZWVic2Qub3JnOyBkZXYtY29tbWl0cy1zcmMt YWxsQGZyZWVic2Qub3JnOyBkZXYtY29tbWl0cy1zcmMtDQo+bWFpbkBmcmVlYnNkLm9yZw0KPlN1 YmplY3Q6IFJlOiBbRVhURVJOQUxdIFJlOiBnaXQ6IDk3MjlmMDc2ZTRkOSAtIG1haW4gLSBhcm02 NDogSHlwZXItVjoNCj5lbmFibGVtZW50IGZvciBBUk02NCBpbiBIeXBlci1WIChQYXJ0IDMsIGZp bmFsKQ0KPg0KPk9uIFR1ZSwgQXByIDI1LCAyMDIzIGF0IDI6NDLigK9BTSBTb3VyYWRlZXAgQ2hh a3JhYmFydGkNCj48c2NoYWtyYWJhcnRpQG1pY3Jvc29mdC5jb20+IHdyb3RlOg0KPj4NCj4+DQo+ Pg0KPj4NCj4+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gPkZyb206IFNvdXJhZGVl cCBDaGFrcmFiYXJ0aQ0KPj4gPlNlbnQ6IE1vbmRheSwgQXByaWwgMjQsIDIwMjMgNjoyNCBQTQ0K Pj4gPlRvOiBLeWxlIEV2YW5zIDxrZXZhbnNAZnJlZWJzZC5vcmc+OyBXZWkgSHUgPHdodUBmcmVl YnNkLm9yZz4NCj4+ID5DYzogc3JjLWNvbW1pdHRlcnNAZnJlZWJzZC5vcmc7IGRldi1jb21taXRz LXNyYy1hbGxAZnJlZWJzZC5vcmc7DQo+PiA+ZGV2LWNvbW1pdHMtIHNyYy1tYWluQGZyZWVic2Qu b3JnDQo+PiA+U3ViamVjdDogUkU6IFtFWFRFUk5BTF0gUmU6IGdpdDogOTcyOWYwNzZlNGQ5IC0g bWFpbiAtIGFybTY0OiBIeXBlci1WOg0KPj4gPmVuYWJsZW1lbnQgZm9yIEFSTTY0IGluIEh5cGVy LVYgKFBhcnQgMywgZmluYWwpDQo+PiA+DQo+PiA+DQo+PiA+DQo+PiA+DQo+PiA+Pi0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+PiA+PkZyb206IEt5bGUgRXZhbnMgPGtldmFuc0BmcmVlYnNk Lm9yZz4NCj4+ID4+U2VudDogV2VkbmVzZGF5LCBBcHJpbCAxOSwgMjAyMyAxMTowMCBBTQ0KPj4g Pj5UbzogV2VpIEh1IDx3aHVAZnJlZWJzZC5vcmc+OyBTb3VyYWRlZXAgQ2hha3JhYmFydGkNCj4+ ID4+PHNjaGFrcmFiYXJ0aUBtaWNyb3NvZnQuY29tPg0KPj4gPj5DYzogc3JjLWNvbW1pdHRlcnNA ZnJlZWJzZC5vcmc7IGRldi1jb21taXRzLXNyYy1hbGxAZnJlZWJzZC5vcmc7DQo+PiA+PmRldi1j b21taXRzLSBzcmMtbWFpbkBmcmVlYnNkLm9yZw0KPj4gPj5TdWJqZWN0OiBbRVhURVJOQUxdIFJl OiBnaXQ6IDk3MjlmMDc2ZTRkOSAtIG1haW4gLSBhcm02NDogSHlwZXItVjoNCj4+ID4+ZW5hYmxl bWVudCBmb3IgQVJNNjQgaW4gSHlwZXItViAoUGFydCAzLCBmaW5hbCkNCj4+ID4+DQo+PiA+Pk9u IFRodSwgT2N0IDI3LCAyMDIyIGF0IDg6NTTigK9BTSBXZWkgSHUgPHdodUBmcmVlYnNkLm9yZz4g d3JvdGU6DQo+PiA+Pj4NCj4+ID4+PiBUaGUgYnJhbmNoIG1haW4gaGFzIGJlZW4gdXBkYXRlZCBi eSB3aHU6DQo+PiA+Pj4NCj4+ID4+PiBVUkw6DQo+PiA+Pj4gaHR0cHM6Ly9uYW0wNi5zYWZlbGlu a3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGDQo+PiA+Pj4NCj5j Z2klMkYmZGF0YT0wNSU3QzAxJTdDc2NoYWtyYWJhcnRpJTQwbWljcm9zb2Z0LmNvbSU3Q2UxY2Zj M2FmZjdmOTQNCj4+ID4+Pg0KPmQ1YzJjYTQwOGRiNDVkOWM0YzUlN0M3MmY5ODhiZjg2ZjE0MWFm OTFhYjJkN2NkMDExZGI0NyU3QzElN0MwJTcNCj5DNg0KPj4gPj4+DQo+MzgxODA1NzM4NjcxMTg3 OTMlN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKV0lqb2lNQzR3TGpBd01EQWkNCj5MQ0pRDQo+ PiA+Pj4NCj5Jam9pVjJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlM0QlN0MzMDAw JTdDJTdDJTdDJnNkYXRhPWsNCj4+ID4+Pg0KPk1udE1ZemVnV2dGJTJCOTB2cTZGRVJCTGp3Zk0l MkZWYjFHVU53VVA5cHY5MFElM0QmcmVzZXJ2ZWQ9MA0KPj4gPj4+IHQNCj4+ID4+Pg0KPj4NCj4+ Pi5mcmVlYnNkLm9yZyUyRnNyYyUyRmNvbW1pdCUyRiUzRmlkJTNEOTcyOWYwNzZlNGQ5M2M1YTM3 ZTc4ZDQyN2JmDQo+ZQ0KPj4gPjANCj4+ID4+ZjFhDQo+PiA+Pj4NCj4+DQo+Pj5iOTliYmNjNiZk YXRhPTA1JTdDMDElN0NzY2hha3JhYmFydGklNDBtaWNyb3NvZnQuY29tJTdDMzkzZTg1NWYxM2MN Cj42DQo+PiA+PjQ5YQ0KPj4gPj4+DQo+Pg0KPj4+ODg4MzcwOGRiNDA5NzIxMWUlN0M3MmY5ODhi Zjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0NyU3QzElN0MwJQ0KPjcNCj4+ID5DDQo+PiA+PjYzODE3 NDcNCj4+ID4+Pg0KPj4NCj4+PjkwMTA2Nzg2NDQ5JTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5 SldJam9pTUM0d0xqQXdNREFpTENKUUkNCj5qDQo+PiA+b2kNCj4+ID4+VjJsdU16DQo+PiA+Pj4N Cj4+DQo+Pj5JaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzMwMDAlN0MlN0MlN0Mm c2RhdGE9aHVpYU9CU0IyDQo+Wg0KPj4gPj5RRG41UQ0KPj4gPj4+IGN3JTJGTFdubUklMkZxYmJy aVFkN0hrWXRweG5HTEdFJTNEJnJlc2VydmVkPTANCj4+ID4+Pg0KPj4gPj4+IGNvbW1pdCA5NzI5 ZjA3NmU0ZDkzYzVhMzdlNzhkNDI3YmZlMGYxYWI5OWJiY2M2DQo+PiA+Pj4gQXV0aG9yOiAgICAg U291cmFkZWVwIENoYWtyYWJhcnRpIDxzY2hha3JhYmFydGlAbWljcm9zb2Z0LmNvbT4NCj4+ID4+ PiBBdXRob3JEYXRlOiAyMDIyLTEwLTI3IDEzOjQ2OjA4ICswMDAwDQo+PiA+Pj4gQ29tbWl0OiAg ICAgV2VpIEh1IDx3aHVARnJlZUJTRC5vcmc+DQo+PiA+Pj4gQ29tbWl0RGF0ZTogMjAyMi0xMC0y NyAxMzo1MzoyMiArMDAwMA0KPj4gPj4+DQo+PiA+Pj4gICAgIGFybTY0OiBIeXBlci1WOiBlbmFi bGVtZW50IGZvciBBUk02NCBpbiBIeXBlci1WIChQYXJ0IDMsDQo+PiA+Pj4gZmluYWwpDQo+PiA+ Pj4NCj4+ID4+PiAgICAgVGhpcyBpcyB0aGUgbGFzdCBwYXJ0IGZvciBBUk02NCBIeXBlci1WIGVu YWJsZW1lbnQuIFRoaXMgaW5jbHVkZXMNCj4+ID4+PiAgICAgY29tbW9uZSBmaWxlcyBhbmQgbWFr ZSBmaWxlIGNoYW5nZXMgdG8gZW5hYmxlIHRoZSBBUk02NCBGcmVlQlNEDQo+PiA+Pj4gICAgIGd1 ZXN0IG9uIEh5cGVyLVYuIFdpdGggdGhpcyBwYXRjaCwgaXQgc2hvdWxkIGJlIGFibGUgdG8gYnVp bGQNCj4+ID4+PiAgICAgdGhlIEFSTTY0IGltYWdlIGFuZCBpbnN0YWxsIGl0IG9uIEh5cGVyLVYu DQo+PiA+Pj4NCj4+ID4+DQo+PiA+PkhpLA0KPj4gPj4NCj4+ID4+Rmlyc3Qgb2ZmLSB0aGFua3Mg Zm9yIGRvaW5nIHRoaXMgd29yayEgSSBjYW4ndCBzZWVtIHRvIGJvb3QgYQ0KPj4gPj4tQ1VSUkVO VCBpbWFnZSB1bmRlciBIeXBlci1WIG9uIGEgVm9sdGVycmEgbWFjaGluZSwgc2VlbWluZ2x5IGR1 ZSB0bw0KPj4gPj52bWJ1cy4gSXQgc3RhbGxzIHJpZ2h0DQo+PiA+YWZ0ZXIgInZtYnVzOg0KPj4g Pj50aGUgaXJxIDE4IiBidXQgYmVmb3JlIGVtaXR0aW5nIGEgdmVyc2lvbiBudW1iZXIsIEkgaGF2 ZSBzb21lIG90aGVyDQo+PiA+PmNvbW1lbnRzIGhlcmUuLi4NCj4+ID4+DQo+PiA+Pj4gWy4uLiBz bmlwIC4uLl0NCj4+ID4+PiBkaWZmIC0tZ2l0IGEvc3lzL2Rldi9oeXBlcnYvdm1idXMvdm1idXMu Yw0KPj4gPj4+IGIvc3lzL2Rldi9oeXBlcnYvdm1idXMvdm1idXMuYyBpbmRleCBiMGNkNzUwYjI2 YzguLmYzNzBmMmE3NWI5OQ0KPj4gPj4+IDEwMDY0NA0KPj4gPj4+IC0tLSBhL3N5cy9kZXYvaHlw ZXJ2L3ZtYnVzL3ZtYnVzLmMNCj4+ID4+PiArKysgYi9zeXMvZGV2L2h5cGVydi92bWJ1cy92bWJ1 cy5jDQo+PiA+Pj4gWy4uLiBzbmlwIC4uLl0NCj4+ID4+PiBAQCAtMTA3LDcgKzExMyw3IEBAIHN0 YXRpYyB1aW50MzJfdA0KPj4gPj52bWJ1c19nZXRfdmNwdV9pZF9tZXRob2QoZGV2aWNlX3QgYnVz LA0KPj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZV90IGRl diwgaW50IGNwdSk7DQo+PiA+Pj4gIHN0YXRpYyBzdHJ1Y3QgdGFza3F1ZXVlICAgICAgICAgICAg ICAgICp2bWJ1c19nZXRfZXZlbnR0cV9tZXRob2QoZGV2aWNlX3QsDQo+ZGV2aWNlX3QsDQo+PiA+ Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KTsgLSNpZmRlZiBFQVJM WV9BUF9TVEFSVFVQDQo+PiA+Pj4gKyNpZiBkZWZpbmVkKEVBUkxZX0FQX1NUQVJUVVApIHx8IGRl ZmluZWQoX19hYXJjaDY0X18pDQo+PiA+Pj4gIHN0YXRpYyB2b2lkICAgICAgICAgICAgICAgICAg ICB2bWJ1c19pbnRyaG9vayh2b2lkICopOw0KPj4gPj4+ICAjZW5kaWYNCj4+ID4+Pg0KPj4gPj4N Cj4+ID4+TXkgZ3V0IHJlYWN0aW9uIHRvIHRoaXMgaXMgdGhhdCB0aGlzIGlzIGEgcmVkIGZsYWcu IEVBUkxZX0FQX1NUQVJUVVANCj4+ID4+aW1wbGllcyBjaGFyYWN0ZXJpc3RpY3MgdGhhdCBhYXJj aDY0IGRvZXNuJ3QgZXhoaWJpdDsgaXQncyBoYXJkIHRvDQo+PiA+PnNlZSB3aHkgdGhpcyBjb25k aXRpb25hbCBpcyBPSywgb3Igd2hldGhlciBpdCdzIHRlc3RpbmcNCj4+ID4+RUFSTFlfQVBfU1RB UlRVUCBhcyBhIGJhZCB3YXkgdG8gd3JpdGUgX19pMzg2X18gfHwgX19hbWQ2NF9fLg0KPj4gPltT b3VyYWRlZXBdIFdlIGhhZCBvcidkIHRoZSBhYXJjaDY0IGhlcmUsIGFzIHdlIHdhbnRlZCB0byBk ZWZlciB0aGUNCj4+ID52bWJ1cyBhdHRhY2htZW50IGFmdGVyIGdpYyBhbmQgYXJtIGdlbmVyaWMg dGltZXIgaXMgYXR0YWNoZWQuIEFzIHdlDQo+PiA+bmVlZCBQQVVTRSBhbmQgREVMQVkgZm9yIHZt YnVzIGFuZCBoeXBlci12IGRyaXZlcnMuIEZvciB0aGF0IHdlDQo+PiA+d2FudGVkIHRvIHVzZSB2 bWJ1c19pbnRyaG9vaygpLg0KPj4gPj4NCj4+ID4+PiBbLi4uIHNuaXAgLi4uXQ0KPj4gPj4+IEBA IC03NjAsNyArNzM2LDcgQEAgdm1idXNfc3luaWNfc2V0dXAodm9pZCAqeHNjKQ0KPj4gPj4+DQo+ PiA+Pj4gICAgICAgICBpZiAoaHlwZXJ2X2ZlYXR1cmVzICYgQ1BVSURfSFZfTVNSX1ZQX0lOREVY KSB7DQo+PiA+Pj4gICAgICAgICAgICAgICAgIC8qIFNhdmUgdmlydHVhbCBwcm9jZXNzb3IgaWQu ICovDQo+PiA+Pj4gLSAgICAgICAgICAgICAgIFZNQlVTX1BDUFVfR0VUKHNjLCB2Y3B1aWQsIGNw dSkgPSByZG1zcihNU1JfSFZfVlBfSU5ERVgpOw0KPj4gPj4+ICsgICAgICAgICAgICAgICBWTUJV U19QQ1BVX0dFVChzYywgdmNwdWlkLCBjcHUpID0NCj4+ID4+PiArIFJETVNSKE1TUl9IVl9WUF9J TkRFWCk7DQo+PiA+Pj4gICAgICAgICB9IGVsc2Ugew0KPj4gPj4+ICAgICAgICAgICAgICAgICAv KiBTZXQgdmlydHVhbCBwcm9jZXNzb3IgaWQgdG8gMCBmb3IgY29tcGF0aWJpbGl0eS4gKi8NCj4+ ID4+PiAgICAgICAgICAgICAgICAgVk1CVVNfUENQVV9HRVQoc2MsIHZjcHVpZCwgY3B1KSA9IDA7 DQo+PiA+Pg0KPj4gPj5UaGlzIG9uZSwgdm1idXNfc3luaWNfc2V0dXAoKSwgaXMgaW52b2tlZCB2 aWEgdm1idXNfaW50cmhvb2sgLT4NCj4+ID4+dm1idXNfZG9hdHRhY2ggLQ0KPj4gPj4+IHNtcF9y ZW5kZXp2b3VzLiBPbiAhRUFSTFlfQVBfU1RBUlRVUCAoZS5nLiwgYWFyY2g2NCksIFNNUCBpc24n dA0KPj4gPj4+IGZ1bmN0aW9uYWwgaW4NCj4+ID4+aW50cmhvb2tzIGFuZCBzbXBfcmVuZGV6dm91 cygpIHdpbGwganVzdCBjYWxsIHZtYnVzX3N5bmljX3NldHVwKCkgb24NCj4+ID4+dGhlIGJvb3QN Cj4+ID5BUC4NCj4+ID4+VGhlcmUncyBub3RoaW5nIHRoYXQgd2lsbCBpbml0aWFsaXplIHRoZSBw Y3B1IGRhdGEgb24gZXZlcnkgb3RoZXIgQVAsIEFGQUlDVC4NCj4+ID4+DQo+PiA+PlRoYXQgc2Fp ZCwgdGhlICFFQVJMWV9BUF9TVEFSVFVQIHBhdGggaXMgYWxzbyB3cm9uZy4gUXVvdGluZyBsaW5l cw0KPj4gPj50aGF0IHdlcmVuJ3QgaW4gdGhpcyBlLW1haWwgZnJvbSB2bWJ1c19hdHRhY2goKToN Cj4+ID5bU291cmFkZWVwXSBUaGFua3MhIFRoaXMgaXMgYSByZWFsbHkgZ29vZCBjYXRjaCwgYW5k IHllcywgd2UgYXJlDQo+PiA+bWlzc2luZyB0aGUgc21wIGluaXRpYWxpemF0aW9uIGR1cmluZyB2 bWJ1cyBzeW5pYyBzZXR1cC4NCj4+ID4+DQo+PiA+PjE1MjcgI2Vsc2UgICAvKiAhRUFSTFlfQVBf U1RBUlRVUCAqLw0KPj4gPj4xNTI4ICAgICAgICAgLyoNCj4+ID4+MTUyOSAgICAgICAgICAqIElm IHRoZSBzeXN0ZW0gaGFzIGFscmVhZHkgYm9vdGVkIGFuZCB0aHJlYWQNCj4+ID4+MTUzMCAgICAg ICAgICAqIHNjaGVkdWxpbmcgaXMgcG9zc2libGUgaW5kaWNhdGVkIGJ5IHRoZSBnbG9iYWwNCj4+ ID4+MTUzMSAgICAgICAgICAqIGNvbGQgc2V0IHRvIHplcm8sIHdlIGp1c3QgY2FsbCB0aGUgZHJp dmVyDQo+PiA+PjE1MzIgICAgICAgICAgKiBpbml0aWFsaXphdGlvbiBkaXJlY3RseS4NCj4+ID4+ MTUzMyAgICAgICAgICAqLw0KPj4gPj4xNTM0ICAgICAgICAgaWYgKCFjb2xkKQ0KPj4gPj4xNTM1 ICAgICAgICAgICAgICAgICB2bWJ1c19kb2F0dGFjaCh2bWJ1c19zYyk7DQo+PiA+PjE1MzYgI2Vu ZGlmIC8qIEVBUkxZX0FQX1NUQVJUVVAgIGFuZCBhYXJjaDY0ICovDQo+PiA+Pg0KPj4gPj5UaGUg dHdvIGltbWVkaWF0ZSBpc3N1ZXMgSSBzZWUgaXMgdGhhdCBpbiBhIGRldmljZV9hdHRhY2gsIFNN UCB3b24ndA0KPj4gPj5iZSBzdGFydGVkLiBJdCdzIGFsc28gZ29pbmcgdG8gYmUgYmVmb3JlIFNJ X1NVQl9DT05GSUdVUkUsIHNvIGBjb2xkYA0KPj4gPj53aWxsIG5ldmVyIGJlIDAgaGVyZSAtLSB0 aGlzIGlzIGVmZmVjdGl2ZWx5IGRlYWQgY29kZSwgYW5kIGlmIGl0DQo+PiA+PndlcmVuJ3QgZGVh ZCBjb2RlIGl0IHdvdWxkIHN1ZmZlciB0aGUgc2FtZSBwcm9ibGVtIGFzIGFib3ZlIHdoZXJlDQo+ PiA+Pm90aGVyIEFQcyBhcmVuJ3Qgc3RhcnRlZCB5ZXQgc28gd2Ugd29uJ3Qgc2V0IHRoZWlyIHBj cHUgZGF0YS4gVGhpcw0KPj4gPj5pcyBPSywgdGhvdWdoLCBiZWNhdXNlIHRoZW4gd2UgaGF2ZSB0 aGlzIHN5c2luaXQgbGF0ZXIgb24gdGhhdCBkb2VzDQo+PiA+PnRoZSBzYW1lIHRoaW5nIGZvciAh RUFSTFlfQVBfU1RBUlRVUCAmJiAhX19hYXJjaDY0X19gLCBidXQgdGhhdA0KPj4gPj5zaG91bGQg cmVhbGx5IGp1c3QgYmUgYCFFQVJMWV9BUF9TVEFSVFVQYCBhcyBhYXJjaDY0IGFsc28gbmVlZHMg dG8NCj4+ID4+aW52b2tlDQo+PiA+PnZtYnVzX2RvYXR0YWNoKCkgYXQgU0lfU1VCX1NNUCAobXVj aCBsYXRlciB0aGFuIFNJX1NVQl9EUklWRVJTKS4NCj4+ID5bU291cmFkZWVwXSBJIGhhdmUgdHJp ZWQgdG8gdXNlIHRoZSBzdWdnZXN0aW9uIGJ1dCBpbiBtdWx0aSBwcm9jZXNzb3INCj4+ID5zeXN0 ZW0gdGhlIGJvb3QgaXMgZ2V0dGluZyBzdHVjayBhdCB0aGUgZW5kIGFuZCAidm1idXMwOiBkZXZp Y2Ugc2NhbiwgcHJvYmUgYW5kDQo+YXR0YWNoIGRvbmUiDQo+PiA+aXMgbm90IGhhcHBlbmluZy4N Cj4+ID5JIGFtIHRyeWluZyB0byBmaWd1cmUgb3V0IHdoYXQgaXMgZ29pbmcgd3JvbmcgaGVyZSwg YXMgdGhlIHNhbWUNCj4+ID5jaGFuZ2UgaXMgd29ya2luZyB3aXRoIHNpbmdsZSBjcHUgc3lzdGVt LiBBbnkgaGVscCBvciBwb2ludGVyIHdpbGwgYmUgcmVhbGx5DQo+aGVscGZ1bC4NCj4+IFtTb3Vy YWRlZXBdICBJIGNhbiBzZWUgdGhlIHByb2JsZW0gdGhlIHRhc2sgdm1idXNfc2NhbmRvbmVfdGFz ayBpcw0KPj4gZ2V0dGluZyBlbnF1ZXVlZCBidXQgaXQgaXMgbm90IGdldHRpbmcgZXhlY3V0ZWQu DQo+Pg0KPj4gNTI1IHN0YXRpYyB2b2lkDQo+PiAgNTI2IHZtYnVzX3NjYW5fZG9uZShzdHJ1Y3Qg dm1idXNfc29mdGMgKnNjLA0KPj4gIDUyNyAgICAgY29uc3Qgc3RydWN0IHZtYnVzX21lc3NhZ2Ug Km1zZyBfX3VudXNlZCkNCj4+ICA1Mjggew0KPj4gIDUyOSAgICAgZGV2aWNlX3ByaW50ZihzYy0+ dm1idXNfZGV2LCAiIHZtYnVzX3NjYW5fZG9uZSBpcyBjYWxsZWRcbiIpOw0KPj4gIDUzMA0KPj4g IDUzMSAgICAgdGFza3F1ZXVlX2VucXVldWUoc2MtPnZtYnVzX2RldnRxLCAmc2MtPnZtYnVzX3Nj YW5kb25lX3Rhc2spOw0KPj4gIDUzMiB9DQo+PiB2bWJ1cyBzY2FuIGRvbmUgaXMgZ2V0dGluZyBj YWxsZWQuDQo+Pg0KPj4gQnV0DQo+PiA1MTQgc3RhdGljIHZvaWQNCj4+ICA1MTUgdm1idXNfc2Nh bl9kb25lX3Rhc2sodm9pZCAqeHNjLCBpbnQgcGVuZGluZyBfX3VudXNlZCkNCj4+ICA1MTYgew0K Pj4gIDUxNyAgICAgc3RydWN0IHZtYnVzX3NvZnRjICpzYyA9IHhzYzsNCj4+ICA1MTggICAgIGRl dmljZV9wcmludGYoc2MtPnZtYnVzX2RldiwgIiB2bWJ1c19zY2FuX2RvbmVfdGFzayBpcyBjYWxs ZWRcbiIpOw0KPj4gIDUxOSAgICAgYnVzX3RvcG9fbG9jaygpOw0KPj4gIDUyMCAgICAgc2MtPnZt YnVzX3NjYW5kb25lID0gdHJ1ZTsNCj4+ICA1MjEgICAgIGJ1c190b3BvX3VubG9jaygpOw0KPj4g IDUyMiAgICAgd2FrZXVwKCZzYy0+dm1idXNfc2NhbmRvbmUpOw0KPj4gIDUyMyB9DQo+PiB2bWJ1 c19zY2FuX2RvbmVfdGFzayAgaXMgbm90IGdldHRpbmcgY2FsbGVkIHRoZSB0YXNrIC4NCj4+DQo+ PiBCdXQgdGhlIHNhbWUgaXMgaGFwcGVuaW5nIHdoZW4gc2luZ2xlIGNwdSBpcyBydW5uaW5nLCBm b3IgbXVsdGkgY3B1IGl0IGlzIGdldHRpbmcNCj5zdHVjay4NCj4NCj5IaSwNCj4NCj5UaGF0IHNl ZW1zIG9kZC4gV2hhdCBoYXBwZW5zIGlmIHlvdSBidW1wIHRoZSBTWVNJTklUIHVwIHRvIFNJX1NV Ql9TTVANCj4rIDEsIFNJX09SREVSX0ZJUlNUPyBXZSBkb24ndCBrbm93IGZvciBhIGZhY3QgdGhh dCBhbGwgQVBzIGFyZSByZWFkeQ0KPmZvciBzY2hlZHVsaW5nIHVudGlsIGFmdGVyIHNtcF9hZnRl cl9pZGxlX3J1bm5hYmxlKCksIHdoaWNoIGlzIGFsc28gYXQgU0lfT1JERVJfQU5ZDQo+LS0gbWF5 YmUgdGhlcmUncyBqdXN0IHNvbWV0aGluZyBnb2luZyBob3JyaWJseSB3cm9uZy4NCj5UaGF0IHdv dWxkIHBlcmhhcHMgZXhwbGFpbiB3aHkgaXQncyBmaW5lIG9uIGEgc2luZ2xlIHByb2Nlc3NvciBz eXN0ZW0sIHdoaWNoIHdvbid0DQo+ZG8gYW55dGhpbmcgdXNlZnVsIChhdCBsZWFzdCBpbiBsYXRl ciBwYXJ0cyBvZiBTSV9TVUJfU01QKS4NCltTb3VyYWRlZXBdIA0KSW4gQVJNNjQgU01QKFZNIHdp dGggdHdvIGNwdSksICBzdG9ydnNjIGF0dGFjaCBpcyBoYXBwZW5pbmcgdHdvIHRpbWVzIGZvciBz aW5nbGUgc2NzaSBjb250cm9sbGVyLiANCkJ1dCBmb3IgaW50ZWwgc2ltaWxhciBWTSAodHdvIGNw dSksIGl0IGlzIGhhcHBlbmluZyBvbmNlLg0KRm9yIHRoZSBkdW1teS9mYWtlIHN0b3J2c2MgaW4g YXJtNjQsIHdlIGFyZSBnZXR0aW5nIHN0dWNrIGF0IGRldmljZV9hdHRhY2guDQoNCkRldGFpbHM6 DQoNCnZtYnVzX3NjYW5fZG9uZSgpLCBub3QgZ2V0dGluZyBpbnZva2VkIGJlY2F1c2Ugdm1idXNf YWRkX2NoaWxkKCkgaXMgbm90IGNvbXBsZXRlIGZvciBhIGNoYW5uZWwgMTUsIA0KYmVjYXVzZSBv ZiB3aGljaCB2bWJ1c19kZXZ0cSBpcyBoYXZpbmcgb25lIHRhc2sgcGVuZGluZy4NCg0KTm93DQpC eSBwYXNzaW5nIE5NSSBpbiB0aGUgaHVuZyBzeXN0ZW0sIGFmdGVyIGV4YW1pbmluZyBhbGwgdGhy ZWFkczoNCg0Kc2NoZWRfc3dpdGNoKCkgYXQgc2NoZWRfc3dpdGNoKzB4NGRjDQptaV9zd2l0Y2go KSBhdCBtaV9zd2l0Y2grMHgxOTQNCnNsZWVwcV9zd2l0Y2goKSBhdCBzbGVlcHFfc3dpdGNoKzB4 ZmMNCl9jdl93YWl0KCkgYXQgX2N2X3dhaXQrMHgxNjANCl9zZW1hX3dhaXQoKSBhdCBfc2VtYV93 YWl0KzB4NTANCnN0b3J2c2NfYXR0YWNoKCkgYXQgc3RvcnZzY19hdHRhY2grMHg2MTANCmRldmlj ZV9hdHRhY2goKSBhdCBkZXZpY2VfYXR0YWNoKzB4M2Y4DQpkZXZpY2VfcHJvYmVfYW5kX2F0dGFj aCgpIGF0IGRldmljZV9wcm9iZV9hbmRfYXR0YWNoKzB4N2MNCnZtYnVzX2FkZF9jaGlsZCgpIGF0 IHZtYnVzX2FkZF9jaGlsZCsweDY0DQoNCk5vdyAsDQoNCkl0IGlzIHN0dWNrIGF0IHdhaXRpbmcg b24gc2VtYV93YWl0KCkgb24gcmVxdWVzdC0+c3luY2hfc2VtYSBpbiBodl9zdG9ydnNjX2NoYW5u ZWxfaW5pdCgpIGJlY2F1c2UNCnNlbWFfcG9zdCgpIG9uIHJlcXVlc3QtPnN5bmNoX3NlbWEgaXMg bm90IGdldHRpbmcgaW52b2tlZC4gV2hpY2ggdW5sb2NrcyBpdC4NClRoaXMgaXMgYmVjYXVzZSB3 ZSBhcmUgd2FpdGluZyBvbiBzZW1hX3dhaXQgb24gc3luY2hfc2VtYSBodl9zdG9ydnNjX2NoYW5u ZWxfaW5pdCgpLCBmb3Igc3RvcnZzYzEgLCANCmJ1dCB0aGVyZSBpcyBubyBzdG9ydnNjMSBkZXZp Y2UuIFNvIG5vdCBnZXR0aW5nIGEgY2FsbGJhY2sgY2FsbGVkIGZvciBzdG9ydnNjMS4NCg0KRnJv bSBBUk02NCBkZWJ1ZyBsb2c6DQpJZiB5b3Ugc2VlIGF0IGxpbmUgNTQ1IGFnYWluIFNDSSBkZXZp Y2UgZ290IGRldGVjdGVkLg0KDQoJTGluZSAgMzcwOiBzdG9ydnNjMDogRW5saWdodGVuZWQgU0NT SSBkZXZpY2UgZGV0ZWN0ZWQNCglMaW5lICAzNzE6IHN0b3J2c2MwOiA8SHlwZXItViBTQ1NJPiBv biB2bWJ1czANCglMaW5lICA0MDY6IChwcm9iZTA6c3RvcnZzYzA6MDowOjApOiBzdG9ydnNjIHNj c2lfc3RhdHVzID0gMiwgc3JiX3N0YXR1cyA9IDYNCglMaW5lICA0MjE6IDxNc2Z0IFZpcnR1YWwg RGlzayAxLjA+IEZpeGVkIERpcmVjdCBBY2Nlc3MgU1BDLTMgU0NTSSBkZXZpY2UNCglMaW5lICA0 MzY6IGRhMDogPE1zZnQgVmlydHVhbCBEaXNrIDEuMD4gRml4ZWQgRGlyZWN0IEFjY2VzcyBTUEMt MyBTQ1NJIGRldmljZQ0KCUxpbmUgIDQ0MzogcGFzczE6IDxNc2Z0IFZpcnR1YWwgRFZELVJPTSAx LjA+IFJlbW92YWJsZSBDRC1ST00gU1BDLTMgU0NTSSBkZXZpY2UNCglMaW5lICA0NDc6IGNkMDog PE1zZnQgVmlydHVhbCBEVkQtUk9NIDEuMD4gUmVtb3ZhYmxlIENELVJPTSBTUEMtMyBTQ1NJIGRl dmljZQ0KCUxpbmUgIDU0NTogc3RvcnZzYzE6IEVubGlnaHRlbmVkIFNDU0kgZGV2aWNlIGRldGVj dGVkDQoJTGluZSAgNTQ3OiBzdG9ydnNjMTogRW5saWdodGVuZWQgU0NTSSBkZXZpY2UgZGV0ZWN0 ZWQNCglMaW5lICA1NDk6IHN0b3J2c2MxOiA8SHlwZXItViBTQ1NJPmh2X3N0b3J2c2Nfb25fY2hh bm5lbF9jYWxsYmFjayBpcyBjYWxsZWQNCg0KRnJvbSBMb2c6DQoNCnVua25vd246IGRldmljZV9h ZGRfY2hpbGQgZm9yIGNoYW4xNQ0Kc3RvcnZzYzE6IEVubGlnaHRlbmVkIFNDU0kgZGV2aWNlIGRl dGVjdGVkDQpzdG9ydnNjMTogRW5saWdodGVuZWQgU0NTSSBkZXZpY2UgZGV0ZWN0ZWQNCnN0b3J2 c2MxOiA8SHlwZXItViBTQ1NJPiBvbiB2bWJ1czANCnN0b3J2c2MgcmluZ2J1ZmZlciBzaXplOiAy NjIxNDQsIG1heF9pbzogNTEyDQpzdG9ydnNjMTogY2hhbjE1IGFzc2lnbmVkIHRvIGNwdTEgW3Zj cHUxXQ0KaG4wOiBsaW5rIHN0YXRlIGNoYW5nZWQgdG8gVVANCnZtYnVzMDogdm1idXNfY2hhbm1z Z19oYW5kbGUgdHlwZSAweGENCnN0b3J2c2MxOiBncGFkbF9jb25uKGNoYW4xNSkgc3VjY2VlZGVk DQp2bWJ1czA6IHZtYnVzX2NoYW5tc2dfaGFuZGxlIHR5cGUgMHg2DQpzdG9ydnNjMTogY2hhbjE1 IG9wZW5lZA0Kd2FpdGluZyBvbiBzZW1hIHdhaXQgc3luY2hfc2VtYSBodl9zdG9ydnNjX2NoYW5u ZWxfaW5pdA0KPg0KPlRoYW5rcywNCj4NCj5LeWxlIEV2YW5zDQo= From nobody Wed Apr 26 13:59:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q60pY1TpPz46YG0; Wed, 26 Apr 2023 13:59: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 4Q60pY0mp1z4JcV; Wed, 26 Apr 2023 13:59:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682517541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bVQENq6gkyTUQnWLfhH3NWKqynRUj8AlvkCLI76eur0=; b=MY+2FmmBUSkYJ7YXkRQ4E5kE36teTxJExeNiZU9QOMM4IfZX+hQjOEwuHNB+rMmvOx60aY RTXAIXuqtM1s+BLRedQxHXvz7pAC6EeIvamaQ0Wg6IVoRsIDp14ljfVzb/A9dld7y1DZN/ aAbjdiogxg32voE2tJBIGG9Krs7K/4CPP4QoYR/2k5cXvK4L+t9xcRBNTxds4+VXhFscO8 xYeXTlhBuLag7h/jZhDnwMpXToiyq5r5PnPzr34edeQ0OD9xXN3JTnohlNiE8F08tnsJMH 7XHXNzOndxoCoNxuWzOnC5AVM6IWBxcSQ/+QoWefVLUDpc5cFMooXcNhP7cI3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682517541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bVQENq6gkyTUQnWLfhH3NWKqynRUj8AlvkCLI76eur0=; b=P+LgoqaPa9u/n/DIr38zyZmtoCCKWYgaD1CfQxKafpFXQwUpFRACtERADk7KfVyajFRDqz PlvDf9x82IpGHaDIqM8Mp0TQ7ZFLjJpJo3k/iVVJRwR7rype5PkBpzarubyy8UN+eOR3Kw pA7lubtKZs4EIdK/uiwG3P73bLeWy7BqWgccBqUxKdM4n/ZPDoaO3YstGEtpZdj6IFwb58 O0dUl+wUfxfAsc+Xyv1S8s/7rnufk7SVcvo5KEEPE2xeUt5fb4MTSqP1QjXMQS9YzGINg9 QcqN/C8jQcfQeegGDxL+lPavfmpOQ9QZKDVtubz97pK/D6v4F19Fuh6UUvZcvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682517541; a=rsa-sha256; cv=none; b=hIIeYEliaZkBeX1BTtHg4RuIhGIBON5+jQ4z01ayiK9kT699xfjUp/PBWpU3JlqpQO5FLT FPSL9UfPsmLKVqMxTtJc/3Tz7+nTK73zti61l3LVciNsNJDjicc0KTVS9PwS4W1q+XIoMk If9rTEJZoOowr1RGISviGoht4RVuZvvI7jntPRsWMlR/BtMdUjStR/30zAjiI2y2rvH415 B8x/MWAIjd2u+toLaqwfbcstADlvOBjgu7r/JZkR5/Mnn/j20tR/sbz0e8GPV+ecumXAhY 591E3dWh7TB9jXdQPbMviFV/IG5N1qHgo3M3h/5TtUmM3LHldJbGnyu6a+4uvg== 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 4Q60pX6ycBzcPl; Wed, 26 Apr 2023 13:59: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 33QDx0OB053704; Wed, 26 Apr 2023 13:59:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QDx0Po053703; Wed, 26 Apr 2023 13:59:00 GMT (envelope-from git) Date: Wed, 26 Apr 2023 13:59:00 GMT Message-Id: <202304261359.33QDx0Po053703@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 76f8584e49cf - main - linux(4): Don't relie on process osreldata when testing features List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 76f8584e49cf7eedaa2e1312593bf46c7225d79a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=76f8584e49cf7eedaa2e1312593bf46c7225d79a commit 76f8584e49cf7eedaa2e1312593bf46c7225d79a Author: Dmitry Chagin AuthorDate: 2023-04-26 13:56:41 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-26 13:56:41 +0000 linux(4): Don't relie on process osreldata when testing features The ELF note identifyies the operating-system ABI that the executable was created for. The note data of the Glibc executable contains the earliest release number of the Linux kernel that supports this ABI. As of a current 2.37 version of Glibc, it is 3.2.0 for x86, 3.7.0 for Aarch64. Glibc does not use this release number and the current kernel's LINUX_VERSION_CODE to detect kernel features, using fallbacks to known previous way in case of ENOSYS or something else instead. A dynamically linked Glibc reads the current kernel's LINUX_VERSION_CODE from the ELF note in the vDSO or fallback to uname syscall if the vDSO can't be located and parse the release field in struct utsname. Glibc uses the current kernel's LINUX_VERSION_CODE for "kernel too old" check. While here use inlined LINUX_KERNVER for tests to improve readability, as suggested by emaste@. MFC after: 1 month --- sys/compat/linux/linux_elf.c | 8 ++++---- sys/compat/linux/linux_mib.h | 3 --- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/sys/compat/linux/linux_elf.c b/sys/compat/linux/linux_elf.c index f335f18e252f..1af861122f81 100644 --- a/sys/compat/linux/linux_elf.c +++ b/sys/compat/linux/linux_elf.c @@ -492,6 +492,7 @@ linux_trans_osrel(const Elf_Note *note, int32_t *osrel) int __linuxN(copyout_auxargs)(struct image_params *imgp, uintptr_t base) { + struct thread *td = curthread; Elf_Auxargs *args; Elf_Auxinfo *aarray, *pos; struct proc *p; @@ -526,14 +527,13 @@ __linuxN(copyout_auxargs)(struct image_params *imgp, uintptr_t base) AUXARGS_ENTRY(pos, AT_GID, imgp->proc->p_ucred->cr_rgid); AUXARGS_ENTRY(pos, AT_EGID, imgp->proc->p_ucred->cr_svgid); AUXARGS_ENTRY(pos, LINUX_AT_SECURE, issetugid); - if (p->p_osrel >= LINUX_KERNVER_2006030 || p->p_osrel == 0) + if (linux_kernver(td) >= LINUX_KERNVER(2,6,30)) AUXARGS_ENTRY_PTR(pos, LINUX_AT_RANDOM, imgp->canary); - if ((p->p_osrel >= LINUX_KERNVER_2006026 || p->p_osrel == 0) && - imgp->execpathp != 0) + if (linux_kernver(td) >= LINUX_KERNVER(2,6,26) && imgp->execpathp != 0) AUXARGS_ENTRY(pos, LINUX_AT_EXECFN, PTROUT(imgp->execpathp)); if (args->execfd != -1) AUXARGS_ENTRY(pos, AT_EXECFD, args->execfd); - if (p->p_osrel >= LINUX_KERNVER_5013000 || p->p_osrel == 0) + if (linux_kernver(td) >= LINUX_KERNVER(5,13,0)) AUXARGS_ENTRY(pos, LINUX_AT_MINSIGSTKSZ, imgp->sysent->sv_minsigstksz); AUXARGS_ENTRY(pos, AT_NULL, 0); diff --git a/sys/compat/linux/linux_mib.h b/sys/compat/linux/linux_mib.h index 41b53d40da3a..7022d811959b 100644 --- a/sys/compat/linux/linux_mib.h +++ b/sys/compat/linux/linux_mib.h @@ -58,11 +58,8 @@ int linux_kernver(struct thread *td); #define LINUX_VERSION_STR LINUX_XKERNVERSTR(LINUX_KVERSION.LINUX_KPATCHLEVEL.LINUX_KSUBLEVEL) #define LINUX_KERNVER_2004000 LINUX_KERNVER(2,4,0) -#define LINUX_KERNVER_2006026 LINUX_KERNVER(2,6,26) -#define LINUX_KERNVER_2006030 LINUX_KERNVER(2,6,30) #define LINUX_KERNVER_2006039 LINUX_KERNVER(2,6,39) #define LINUX_KERNVER_5004000 LINUX_KERNVER(5,4,0) -#define LINUX_KERNVER_5013000 LINUX_KERNVER(5,13,0) #define linux_use54(t) (linux_kernver(t) >= LINUX_KERNVER_5004000) From nobody Wed Apr 26 13:59:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q60pZ2w7Nz46YDf; Wed, 26 Apr 2023 13:59: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 4Q60pZ1LgJz4Jb0; Wed, 26 Apr 2023 13:59:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682517542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xXH6uPCayq1qVKD7P22Pq2LkdmOg58RhmW/hKuRKsSQ=; b=oliJcKThe8QO7HswCsq7IclOyHVUdOy3I4TKW5eqHahf0DBjUgDVrLlh8P/A0gEeKFzFze mmx+q82+/Uk9hniwp9maT79THEkq73gDmPgodWhtbGBN4F1pWTlDiL/E5IF/iRpxIbqJ1+ pZoWuo+d2Ix/XGa0E4+Ue+2sSkHaVHt3u1JRAq8E/HVTsUkPBrP8Zo7KhzZL61Pdt05TWd UQqskFR7buyT/BGJf9JnkrdnnweiKpe++81vdwqKaicQPY9iGrX66ckzjifjj5cy5pdR0u j8SWpo/P6Rv5e56hx/JKcoFeuZ/I9D3YOoCqiAtYLwgGsc5nIaPpzzncNtpBng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682517542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xXH6uPCayq1qVKD7P22Pq2LkdmOg58RhmW/hKuRKsSQ=; b=e872xNMI5RRU4LUJWcB0eHJigQqD8cTGlh/zQZywTUOqdLwl1h43/LMCcH+2v0uUDxBYs8 EzQDKhRBKIRxDIYaNV1Ta9XIa+SvXnl5xPdD1t21xJNkJi9OK3ZqsagkeVMS/jNb5TdAas VmDfvoQpKx6TSBgzYcqk52pv4XER7oo5WgdmDrVt92JrMvvnjZNfNZ292h3NVc5HOx7m79 7jHU+kmK5x7q8DrIOHeEQYIWF6h8YMLSFyX8E0B8cHN8mNxAipVZvOoH99MdqBjZWZg7v2 DArM3JRiHpU6FA7eoZdvVfeJBLrU4oAzIyzm+gORMkZclMA7/0lYlNrB/eMjoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682517542; a=rsa-sha256; cv=none; b=OsT+drN55nYNn3q1T0XGbMWgeHiUXZg0ekPc9Uz5uVcd9hZPGT4bmPIKZ6Sbp/iXaJdxDa PiVvABO5Bs7Yj4mladNfCu8FTcQKsk+LQQNG7E4HVsOi5foxDJdbUFdaWDkPmbuPpws/rb Lo/zlzaYBJB8AcZqcsFB/ayUhSyRqvA8QkdWzF025PtRL/QKGUDOLlzz/TrYEE50ZYfdy4 8YDNQH96dFZPrW9C2LKMGYOLWAf+bNunyQoLA2rl4nlaf8Y9O8t+fGKsjt6SR0JKzsfMnF l9vfs0a/KlcJfAB3EUp1m2bCo1fA6Vq596GOebs1ner8Xyig5WxAhAQ3R/gHHA== 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 4Q60pZ0SrBzcXq; Wed, 26 Apr 2023 13:59: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 33QDx2Qd053723; Wed, 26 Apr 2023 13:59:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QDx2dQ053722; Wed, 26 Apr 2023 13:59:02 GMT (envelope-from git) Date: Wed, 26 Apr 2023 13:59:02 GMT Message-Id: <202304261359.33QDx2dQ053722@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: e185d83fc48b - main - linux(4): Use inlined LINUX_KERNVER for tests to improve readability List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e185d83fc48ba0f28896a986104c02203005b533 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=e185d83fc48ba0f28896a986104c02203005b533 commit e185d83fc48ba0f28896a986104c02203005b533 Author: Dmitry Chagin AuthorDate: 2023-04-26 13:57:30 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-26 13:57:30 +0000 linux(4): Use inlined LINUX_KERNVER for tests to improve readability MFC after: 1 month --- sys/compat/linux/linux_elf.c | 2 +- sys/compat/linux/linux_mib.h | 6 ------ sys/compat/linux/linux_misc.c | 4 ++-- sys/compat/linux/linux_signal.c | 2 +- 4 files changed, 4 insertions(+), 10 deletions(-) diff --git a/sys/compat/linux/linux_elf.c b/sys/compat/linux/linux_elf.c index 1af861122f81..06a384325d14 100644 --- a/sys/compat/linux/linux_elf.c +++ b/sys/compat/linux/linux_elf.c @@ -513,7 +513,7 @@ __linuxN(copyout_auxargs)(struct image_params *imgp, uintptr_t base) * is not present. * Also see linux_times() implementation. */ - if (linux_kernver(curthread) >= LINUX_KERNVER_2004000) + if (linux_kernver(td) >= LINUX_KERNVER(2,4,0)) AUXARGS_ENTRY(pos, LINUX_AT_CLKTCK, stclohz); AUXARGS_ENTRY(pos, AT_PAGESZ, args->pagesz); AUXARGS_ENTRY(pos, AT_PHDR, args->phdr); diff --git a/sys/compat/linux/linux_mib.h b/sys/compat/linux/linux_mib.h index 7022d811959b..5902f523dfee 100644 --- a/sys/compat/linux/linux_mib.h +++ b/sys/compat/linux/linux_mib.h @@ -57,12 +57,6 @@ int linux_kernver(struct thread *td); #define LINUX_XKERNVERSTR(x) LINUX_KERNVERSTR(x) #define LINUX_VERSION_STR LINUX_XKERNVERSTR(LINUX_KVERSION.LINUX_KPATCHLEVEL.LINUX_KSUBLEVEL) -#define LINUX_KERNVER_2004000 LINUX_KERNVER(2,4,0) -#define LINUX_KERNVER_2006039 LINUX_KERNVER(2,6,39) -#define LINUX_KERNVER_5004000 LINUX_KERNVER(5,4,0) - -#define linux_use54(t) (linux_kernver(t) >= LINUX_KERNVER_5004000) - extern int linux_debug; extern int linux_default_openfiles; extern int linux_default_stacksize; diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index bc62c6b24d2c..ba0ac190a946 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -384,7 +384,7 @@ struct l_times_argv { #define CONVOTCK(r) (r.tv_sec * CLK_TCK + r.tv_usec / (1000000 / CLK_TCK)) #define CONVNTCK(r) (r.tv_sec * stclohz + r.tv_usec / (1000000 / stclohz)) -#define CONVTCK(r) (linux_kernver(td) >= LINUX_KERNVER_2004000 ? \ +#define CONVTCK(r) (linux_kernver(td) >= LINUX_KERNVER(2,4,0) ? \ CONVNTCK(r) : CONVOTCK(r)) int @@ -850,7 +850,7 @@ linux_waitid(struct thread *td, struct linux_waitid_args *args) idtype = P_PID; break; case LINUX_P_PGID: - if (linux_use54(td) && args->id == 0) { + if (linux_kernver(td) >= LINUX_KERNVER(5,4,0) && args->id == 0) { p = td->td_proc; PROC_LOCK(p); id = p->p_pgid; diff --git a/sys/compat/linux/linux_signal.c b/sys/compat/linux/linux_signal.c index 5a3cb97c385f..89f0f38d7b6c 100644 --- a/sys/compat/linux/linux_signal.c +++ b/sys/compat/linux/linux_signal.c @@ -776,7 +776,7 @@ lsiginfo_to_siginfo(struct thread *td, const l_siginfo_t *lsi, switch (lsi->lsi_code) { case LINUX_SI_TKILL: - if (linux_kernver(td) >= LINUX_KERNVER_2006039) { + if (linux_kernver(td) >= LINUX_KERNVER(2,6,39)) { linux_msg(td, "SI_TKILL forbidden since 2.6.39"); return (EPERM); } From nobody Wed Apr 26 14:13:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q617q11pyz46ZMm; Wed, 26 Apr 2023 14:13: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 4Q617q0R2Gz4MKV; Wed, 26 Apr 2023 14:13:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682518439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YZIb1O+D1YKbgYwi42aOdG2TaJm7KX1MHk0vXszeUn4=; b=x5zrzvLi/SnJViBefFVVLjid7lKl1ysVg8ANyXaKi1jjjMshyPTZXdBQ63+c118bCxz1W9 Js1rq6GgfU+dR7JWWFLWrG3JjPdwrItr+YkxYIWZWXlkJcRRUCA/LNbcYY24Tx4QD5OyqZ FbAGwC2ppPR00M4iBqFQHYol92/2Aojaktgh9XwdI/o1OFLo4dCa1KWnGSzGHMHk9MfRo7 i3ol1UhOzyYgNqkMhbnnDPzp+SrBE0QES6lzjy7jrZeXT5Y4lbzfs3TFnHcFY2m0pEHvyS zvtDvW1y/IxM5tcRbvGAeb87UB9hZDboqXdgZBQConPXTSY62Rb0MAiCXJ0T9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682518439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YZIb1O+D1YKbgYwi42aOdG2TaJm7KX1MHk0vXszeUn4=; b=H2DPO9tYsrpbAO9Xt2ZFndAJlPM7fgZD6+NKgI0HCgIKoYe87rjv+Pz9B4HMulccM+3Kat bOO9aew7gYeyPetgFxaipr2lKNI4KytTpvfumRgpcQlJMaMyvtsYmhVZnNsyQN9g5Bx2k+ NUwB8e4+QNdM9q5e1X7RoxKCSlcs0/0lEB4mOFBzBIIW9UWzDuhRhgSeWm8bItrLXIC0Uq WiW+mLdjV6I/2zrd1qhoKY7SHSc0pcZzHK/BLrDmF4d8UODRgTwQSa1+eFQy+er3qXjdKR hbgkvccqJqzK67vJgy11gomMT0/FSQEGEqrnE1efm0ifJKqjQdkGAREGsVtPew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682518439; a=rsa-sha256; cv=none; b=LyhGN7jQWPrleUZ363Js/YUs9K6DT9N2bNKmSaRGZO1Y0J6abkbv/fF3h/tQ3hWUXUUQ8n wK+qmQO0LsHVKs9Bn7nlx4rYXS3GgEuARaWha3QWfmQoyyH0Brv0z1i7Jj1Ji7CARgtqg6 Egin9LFbLbWaPoEBGoGJeampLJAHpVoLWd+sunFJXsWxMQEllsjtG/92p5JosvArUN1aTX qSs0DwWwnHUR/wDVKWpvV68Y6NY/zCkKHMT57oXg25Ub2ugeOHDHnKbxfJqiduShQ2/W78 1yPkEDEtAwnCQlVMxKDt443Jbhxv9PPH9WRroMJgPpr3kkwYzyH928R00L0koA== 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 4Q617p6c1Mzcqk; Wed, 26 Apr 2023 14:13: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 33QEDwH6086648; Wed, 26 Apr 2023 14:13:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QEDwI6086647; Wed, 26 Apr 2023 14:13:58 GMT (envelope-from git) Date: Wed, 26 Apr 2023 14:13:58 GMT Message-Id: <202304261413.33QEDwI6086647@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: 74ac712f72cf - main - vmm: Dynamically allocate a couple of per-CPU state save areas List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 74ac712f72cfd6d7b3db3c9d3b72ccf2824aa183 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=74ac712f72cfd6d7b3db3c9d3b72ccf2824aa183 commit 74ac712f72cfd6d7b3db3c9d3b72ccf2824aa183 Author: Mark Johnston AuthorDate: 2023-04-26 14:08:42 +0000 Commit: Mark Johnston CommitDate: 2023-04-26 14:08:42 +0000 vmm: Dynamically allocate a couple of per-CPU state save areas This avoids bloating the BSS when MAXCPU is large. No functional change intended. PR: 269572 Reviewed by: corvink, rew Tested by: rew MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39805 --- sys/amd64/vmm/amd/svm.c | 11 ++++++----- sys/amd64/vmm/intel/vmx.c | 12 ++++++++---- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index d995b68ebdc6..0af7342128f2 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -123,10 +124,8 @@ SYSCTL_UINT(_hw_vmm_svm, OID_AUTO, num_asids, CTLFLAG_RDTUN, &nasid, 0, /* Current ASID generation for each host cpu */ static struct asid asid[MAXCPU]; -/* - * SVM host state saved area of size 4KB for each core. - */ -static uint8_t hsave[MAXCPU][PAGE_SIZE] __aligned(PAGE_SIZE); +/* SVM host state saved area of size 4KB for each physical core. */ +static uint8_t *hsave; static VMM_STAT_AMD(VCPU_EXITINTINFO, "VM exits during event delivery"); static VMM_STAT_AMD(VCPU_INTINFO_INJECTED, "Events pending at VM entry"); @@ -167,6 +166,7 @@ svm_modcleanup(void) { smp_rendezvous(NULL, svm_disable, NULL, NULL); + kmem_free(hsave, (mp_maxid + 1) * PAGE_SIZE); return (0); } @@ -214,7 +214,7 @@ svm_enable(void *arg __unused) efer |= EFER_SVM; wrmsr(MSR_EFER, efer); - wrmsr(MSR_VM_HSAVE_PA, vtophys(hsave[curcpu])); + wrmsr(MSR_VM_HSAVE_PA, vtophys(&hsave[curcpu * PAGE_SIZE])); } /* @@ -269,6 +269,7 @@ svm_modinit(int ipinum) svm_npt_init(ipinum); /* Enable SVM on all CPUs */ + hsave = kmem_malloc((mp_maxid + 1) * PAGE_SIZE, M_WAITOK | M_ZERO); smp_rendezvous(NULL, svm_enable, NULL, NULL); return (0); diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 32e53de4e8ee..55ed5fdf1a00 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -134,7 +135,7 @@ SYSCTL_NODE(_hw_vmm, OID_AUTO, vmx, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, NULL); int vmxon_enabled[MAXCPU]; -static char vmxon_region[MAXCPU][PAGE_SIZE] __aligned(PAGE_SIZE); +static uint8_t *vmxon_region; static uint32_t pinbased_ctls, procbased_ctls, procbased_ctls2; static uint32_t exit_ctls, entry_ctls; @@ -618,6 +619,7 @@ vmx_modcleanup(void) nmi_flush_l1d_sw = 0; smp_rendezvous(NULL, vmx_disable, NULL, NULL); + kmem_free(vmxon_region, (mp_maxid + 1) * PAGE_SIZE); return (0); } @@ -638,8 +640,8 @@ vmx_enable(void *arg __unused) load_cr4(rcr4() | CR4_VMXE); - *(uint32_t *)vmxon_region[curcpu] = vmx_revision(); - error = vmxon(vmxon_region[curcpu]); + *(uint32_t *)&vmxon_region[curcpu * PAGE_SIZE] = vmx_revision(); + error = vmxon(&vmxon_region[curcpu * PAGE_SIZE]); if (error == 0) vmxon_enabled[curcpu] = 1; } @@ -649,7 +651,7 @@ vmx_modresume(void) { if (vmxon_enabled[curcpu]) - vmxon(vmxon_region[curcpu]); + vmxon(&vmxon_region[curcpu * PAGE_SIZE]); } static int @@ -953,6 +955,8 @@ vmx_modinit(int ipinum) vmx_msr_init(); /* enable VMX operation */ + vmxon_region = kmem_malloc((mp_maxid + 1) * PAGE_SIZE, + M_WAITOK | M_ZERO); smp_rendezvous(NULL, vmx_enable, NULL, NULL); vmx_initialized = 1; From nobody Wed Apr 26 14:13:59 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q617r2GQmz46ZKT; Wed, 26 Apr 2023 14:14: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 4Q617r1LTjz4McG; Wed, 26 Apr 2023 14:14:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682518440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sASe+oRrJ1k3tllUoPCvOrc829SWZt7EZKqxVYA3vGo=; b=vc4rHWohsoq4u+Z/GJUdx8t87ohfI+cv/u8UvzznJvfEF5/PeVEtGc3kuTLh9ezHvuHLXF 3ew3rKBj5k8l41dMFqUl+W/Rbhry+iKgGJwvVvzLlNnfbD0F0x3wydx9xBxvdV0ieaF4UE Cy4mA1UJ+e67piM+utPvbt/2++NeJx+kE704RRBEfy978o0IPuDh96qtSkh0P7+RHgIFRF JlvroeLSQzDZWUn8K5XMingbFmv78q9mAtHXvhR6kV0bTd9lb6I9N3VfSHxjm6LoQXWdGw bvjVnpw44iG1JmYCQqptGdezLXqGIwgr9vfxseuUEMG2XdPSdAcDXwJl6AWaCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682518440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sASe+oRrJ1k3tllUoPCvOrc829SWZt7EZKqxVYA3vGo=; b=pEdmxSEViNCoSnYNPv5q3TYB7dImCuBEFUzLOrn7w2GjDwTXCjydN41OBgLUck3VxRuFCH 7BHUeAEOtcvzvFaeqtuHuT3zGRTN0OsYJu/vD0SVIi52Y1vPQ7FPmP3ZW1UitdW/zJ4tiq xqcfMOUpkSj5x2w3Q/cAF9x3BEtEbln+ySA5cOmmXNHh8JTRIpjrPFz1fFBZGRC5Zl/LnN I6piU4YQ6r2JkhQ0hk+UgyN65Egj0eOZo4QNlzi4hjQ6LVMCF1RANRbZZPIa8AZg7HOMAU KQMYCXcAU4Jou/GYTdksUs7xzv4QOiuh6FfNP1YbGfj8dHjM36ZYJ4SOa7eY0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682518440; a=rsa-sha256; cv=none; b=uGbl9k1O8G76xX9mX7IS12Frckq9gX4ehxJUgK/3pYd+qXOvvKeE2oqneLnuKniagdUWPg CeZF2qxDDUfiSZx1+CDflmwn5JOB178gBMLxLpc4rulE5uvsYcqJKnOs3frBBZzngwKk2M z+iHg3x4frT++RdBStOGwdnDvtFKPilWdhhbFC7hvYIr8rygbqoC7l7z+BnKIwPeXMMuN/ R/vwZ5CfI1rmGwliLQFpS6CMFjD+Mmyp9O22fmoCGdIc+U1+mytcSa2tN2G1m4jwOf+N3O 0z7xutg92whWfGreilk6/z8bG+edlHLKl+i1VC4e/QFBDn3uNRjErYimdzomVg== 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 4Q617r0P6gzdPX; Wed, 26 Apr 2023 14:14: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 33QEDxlx086667; Wed, 26 Apr 2023 14:13:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QEDxBD086666; Wed, 26 Apr 2023 14:13:59 GMT (envelope-from git) Date: Wed, 26 Apr 2023 14:13:59 GMT Message-Id: <202304261413.33QEDxBD086666@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: 78cfa762ebf2 - main - callout: Move per-CPU callout state into the dpcpu region List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 78cfa762ebf2afc821e49e41c7bc72cc9044c233 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=78cfa762ebf2afc821e49e41c7bc72cc9044c233 commit 78cfa762ebf2afc821e49e41c7bc72cc9044c233 Author: Mark Johnston AuthorDate: 2023-04-26 14:09:09 +0000 Commit: Mark Johnston CommitDate: 2023-04-26 14:09:09 +0000 callout: Move per-CPU callout state into the dpcpu region This eliminates some static bloat in amd64 kernels and reduces the penalty of increasing MAXCPU. The structures now also maintain NUMA affinity. No functional change intended. PR: 269572 Reviewed by: mjg, kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39807 --- sys/kern/kern_timeout.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_timeout.c b/sys/kern/kern_timeout.c index 05497f3d46d7..374e8f2b172a 100644 --- a/sys/kern/kern_timeout.c +++ b/sys/kern/kern_timeout.c @@ -195,9 +195,9 @@ struct callout_cpu { #define cc_migration_time(cc, dir) cc->cc_exec_entity[dir].ce_migration_time #define cc_migration_prec(cc, dir) cc->cc_exec_entity[dir].ce_migration_prec -static struct callout_cpu cc_cpu[MAXCPU]; +DPCPU_DEFINE_STATIC(struct callout_cpu, cc_cpu); #define CPUBLOCK MAXCPU -#define CC_CPU(cpu) (&cc_cpu[(cpu)]) +#define CC_CPU(cpu) DPCPU_ID_PTR(cpu, cc_cpu) #define CC_SELF() CC_CPU(PCPU_GET(cpuid)) #else static struct callout_cpu cc_cpu; @@ -321,7 +321,7 @@ callout_cpu_init(struct callout_cpu *cc, int cpu) { int i; - mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN); + mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN | MTX_NEW); cc->cc_callwheel = malloc_domainset(sizeof(struct callout_list) * callwheelsize, M_CALLOUT, DOMAINSET_PREF(pcpu_find(cpu)->pc_domain), M_WAITOK); From nobody Wed Apr 26 14:14:01 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q617s2PW6z46Z0j; Wed, 26 Apr 2023 14:14: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 4Q617s1wxsz4Mhp; Wed, 26 Apr 2023 14:14:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682518441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dpOArAS3L0I1R3PhqbkOKHJjosI2h3Hiv7k4XGhG9Vs=; b=wvmAy/k+ZCCefTC5xlNp0dMl1mafnfLzuke/5iIRaD8TS4qMiBX5PoVaFRr8m+X+wbetzi 4nyD0GWb3AmROYtLRMN1Rlnn+5X+Rop/1vDPt6gB+oqW8mkFG3n7hpr17ULQeKAHNyL6nK sKcwCZxBKDNSfY9aaxVC2LjjcMiyDVQjLqR+esvdka0gxlGuEIVDH/Pe1JzyWt/4GK09WQ tQFnzSw4YNc5FNXJD/vaB8rPOg15c8OVdknvr4WuXLGh5WXZ6j+SuuYBX+tfTkzfgvkfm7 FARXmtl9+c5YpO0eNuxxRLlvybah/2neeJq1AubtK9V60E/XArsdPVMnIRRsgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682518441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dpOArAS3L0I1R3PhqbkOKHJjosI2h3Hiv7k4XGhG9Vs=; b=jMGN7sx9/EvMH6wZ6M7vufL6hCoQPwRtEbjIEQQV1zn+EgkA0NmOUwlDfc7DJm03qwLlfO KL5Ke36EMZKTP3HrzHQXoN1KjurKQZ6wvLv74TIIxLbmqwkpWBxc2XOGd5Ks5GlIG/aqOK IRhsm367JPEIMbJR/I99OBfSjE1ppwjlZq7ttPxzS1/ObO2S7fndpuhczA8zUS3pYZbJ5g dU8l5N3ncK55sTuKsKinkVyssqelYL/cVSBNfxrjge3ZOtZj7crb7xY9jAW4/LvbjKU6Wm h+fzLtYpz0KO7fB1oA4bf0Yq2N11j1vEVL+LgQIrQELONNNWjZ2OMXT4tCUnog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682518441; a=rsa-sha256; cv=none; b=kmL+MkI7e5mnB0dj3rjo8kCjQLuAWh/B43wTQ7+o/uzBM5qby7MDC1IV6rTbsa/+yWl0NJ WzMqY3QAyGaQqCxC9okMvP9U+TMiy66WVciOH0QlDG9jYooY7mGaD0Qbubi4ALpiZhXzcq ptof3/h2+NiWrExcJzZ/BzSIBK2Bla2FRkG0wwU5oiZgnC2vVZkXwRbgaqVC8qwsdenrLx BD7iOg/nY14LHVgjiVbCLifevqfQakVTyDPwcXv7HmoML6YILx3bQxyIBmqLg1i9+Jp6Us Y5Z46GJeuAabuBcLu9A27GsgaABJDlrR5ann9YBmaPfaZpxh6MPhlatVX5bqwQ== 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 4Q617s12Glzd3V; Wed, 26 Apr 2023 14:14:01 +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 33QEE1Lj086693; Wed, 26 Apr 2023 14:14:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QEE1Qd086692; Wed, 26 Apr 2023 14:14:01 GMT (envelope-from git) Date: Wed, 26 Apr 2023 14:14:01 GMT Message-Id: <202304261414.33QEE1Qd086692@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: e72f7ed43eef - main - buf: Dynamically allocate per-CPU buffer queues List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e72f7ed43eefaf305c33c232bc2c33d997427f58 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e72f7ed43eefaf305c33c232bc2c33d997427f58 commit e72f7ed43eefaf305c33c232bc2c33d997427f58 Author: Mark Johnston AuthorDate: 2023-04-26 14:09:31 +0000 Commit: Mark Johnston CommitDate: 2023-04-26 14:09:31 +0000 buf: Dynamically allocate per-CPU buffer queues To reduce static bloat. No functional change intended. PR: 269572 Reviewed by: mjg, kib, emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39808 --- sys/kern/vfs_bio.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index f1089964a041..6ba7054d3866 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -118,7 +118,7 @@ struct bufqueue { #define BQ_ASSERT_LOCKED(bq) mtx_assert(BQ_LOCKPTR((bq)), MA_OWNED) struct bufdomain { - struct bufqueue bd_subq[MAXCPU + 1]; /* Per-cpu sub queues + global */ + struct bufqueue *bd_subq; struct bufqueue bd_dirtyq; struct bufqueue *bd_cleanq; struct mtx_padalign bd_run_lock; @@ -1914,6 +1914,9 @@ bd_init(struct bufdomain *bd) { int i; + /* Per-CPU clean buf queues, plus one global queue. */ + bd->bd_subq = mallocarray(mp_maxid + 2, sizeof(struct bufqueue), + M_BIOBUF, M_WAITOK | M_ZERO); bd->bd_cleanq = &bd->bd_subq[mp_maxid + 1]; bq_init(bd->bd_cleanq, QUEUE_CLEAN, mp_maxid + 1, "bufq clean lock"); bq_init(&bd->bd_dirtyq, QUEUE_DIRTY, -1, "bufq dirty lock"); From nobody Wed Apr 26 14:35:28 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q61cx344qz46bXk; Wed, 26 Apr 2023 14:35:45 +0000 (UTC) (envelope-from gkontos.mail@gmail.com) Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) (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 4Q61cv6cL1z3CR5; Wed, 26 Apr 2023 14:35:43 +0000 (UTC) (envelope-from gkontos.mail@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20221208 header.b=KI50GNVB; spf=pass (mx1.freebsd.org: domain of gkontos.mail@gmail.com designates 2a00:1450:4864:20::12e as permitted sender) smtp.mailfrom=gkontos.mail@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lf1-x12e.google.com with SMTP id 2adb3069b0e04-4ec9c7c6986so7577319e87.0; Wed, 26 Apr 2023 07:35:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682519740; x=1685111740; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=w31fZqga7YY77Ud3wP1Ztp1+dVvHjIKD353g+ftWeLE=; b=KI50GNVBc/7BuP/PLvWBs6/mG11NQxUGAH7sI+RM+wJi+W/UE2QBeRmYEhphCyZuIt ZPydbbg/FzR84XngDSoxBiP9nYxYEAi219kKTD+JTOORI1wQS0KyvCUT4XJj2RKTeHCV Nk4g6/LY0/9tFng8FJjEPbAAgEiWBiw9cN2PLl17pI04nqC2ap6sXxDKwz2Sy4ctPJW3 dLHEJB6B2Af/zFPgOultvKLoUJioC9eTqPdav+QwDVl1BIIQTTacXfwId3YeKT+b8TEQ IVcX3L9rWyRllnDTXAuUz78WzwwoHMVdncb0sNV5zhOb6ze67/wb2YwaPxJ4Y/yIkqch za0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682519740; x=1685111740; h=content-transfer-encoding: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=w31fZqga7YY77Ud3wP1Ztp1+dVvHjIKD353g+ftWeLE=; b=Ld1jK2Zl8IkiyRHxmTaA+RnNT32HW7keomZcGND53Suyjt58q7PGO/qudl2+C62PU/ vN36IvCZ24cghaHxAgDtcJlmpIri/l5j47TM5fLo5b7eN1Cv5vazn7ni7cK5zhmgLOtP MFVYoKSxR5oa3LnXWf7z5XrFckYLnnWqar/Twems9VQR9UCTE3AzgFgyKgAyiPYsDw4g V6Gv9Qw64aTB99NhC3+n7VbvQ51Mb9iIwo4YaxJtslsJhBLp2oInnlEiDjEIb47MFNZd 0GKdVLzhbXlSplL+UoBoY4R9mNZJMAHPBh5YB8zcUS4d//0W/I5CQySKmiFFrFme/ogq BiZw== X-Gm-Message-State: AAQBX9cldN8TgyRRiH1qOj1xuZ/tneaSlN2/D/zHheJbBqm+oFOcKK16 zdLKYAjahkLF6Cfh5I2dvA/OyCD5D13C4zSMDSkb9FMfXsPRnw== X-Google-Smtp-Source: AKy350aUWEI59lPL8JonPLIefWAnE6Q1fFVWlA42LRVsBpdL66gjq4HECaa8CzohpPvEe5ogaS+hYt9VzIrfWx76ZaQ= X-Received: by 2002:ac2:4151:0:b0:4d8:6540:a731 with SMTP id c17-20020ac24151000000b004d86540a731mr5410311lfi.47.1682519740015; Wed, 26 Apr 2023 07:35:40 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202304260830.33Q8UI0P018409@gitrepo.freebsd.org> In-Reply-To: <202304260830.33Q8UI0P018409@gitrepo.freebsd.org> From: George Kontostanos Date: Wed, 26 Apr 2023 17:35:28 +0300 Message-ID: Subject: Re: git: b9600db494a0 - main - prometheus_sysctl_exporter: Replace magic numbers with identifiers. To: 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-Spamd-Result: default: False [-3.13 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36:c]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20221208]; NEURAL_HAM_SHORT(-0.13)[-0.131]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::12e:from]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; FREEMAIL_ENVFROM(0.00)[gmail.com]; DKIM_TRACE(0.00)[gmail.com:+]; RCVD_TLS_LAST(0.00)[]; TAGGED_FROM(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; FROM_HAS_DN(0.00)[]; MID_RHS_MATCH_FROMTLD(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4Q61cv6cL1z3CR5 X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N unsubscribe On Wed, Apr 26, 2023 at 11:30=E2=80=AFAM Peter Jeremy = wrote: > > The branch main has been updated by peterj: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Db9600db494a04db6fbf1a16dbc= f92f7c64d5e863 > > commit b9600db494a04db6fbf1a16dbcf92f7c64d5e863 > Author: Peter Jeremy > AuthorDate: 2023-04-26 08:29:33 +0000 > Commit: Peter Jeremy > CommitDate: 2023-04-26 08:29:33 +0000 > > prometheus_sysctl_exporter: Replace magic numbers with identifiers. > > Identifiers make it clearer what is going on and makes it easier to > find consumers of sysctl functionality. > > No functional change. > > MFC after: 3 days > Reviewed by: asomers > Differential Revision: https://reviews.freebsd.org/D39797 > --- > .../prometheus_sysctl_exporter.c | 18 +++++++++---= ------ > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_export= er.c b/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c > index 931d8e965d00..6c20d639a6d3 100644 > --- a/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c > +++ b/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c > @@ -62,7 +62,7 @@ static void > oid_get_root(struct oid *o) > { > > - o->id[0] =3D 1; > + o->id[0] =3D CTL_KERN; > o->len =3D 1; > } > > @@ -91,8 +91,8 @@ oid_get_next(const struct oid *cur, struct oid *next) > int lookup[CTL_MAXNAME + 2]; > size_t nextsize; > > - lookup[0] =3D 0; > - lookup[1] =3D 2; > + lookup[0] =3D CTL_SYSCTL; > + lookup[1] =3D CTL_SYSCTL_NEXT; > memcpy(lookup + 2, cur->id, cur->len * sizeof(lookup[0])); > nextsize =3D sizeof(next->id); > if (sysctl(lookup, 2 + cur->len, &next->id, &nextsize, 0, 0) !=3D= 0) { > @@ -135,8 +135,8 @@ oid_get_format(const struct oid *o, struct oidformat = *of) > int lookup[CTL_MAXNAME + 2]; > size_t oflen; > > - lookup[0] =3D 0; > - lookup[1] =3D 4; > + lookup[0] =3D CTL_SYSCTL; > + lookup[1] =3D CTL_SYSCTL_OIDFMT; > memcpy(lookup + 2, o->id, o->len * sizeof(lookup[0])); > oflen =3D sizeof(*of); > if (sysctl(lookup, 2 + o->len, of, &oflen, 0, 0) !=3D 0) { > @@ -344,8 +344,8 @@ oid_get_name(const struct oid *o, struct oidname *on) > size_t i, len; > > /* Fetch the name and split it up in separate components. */ > - lookup[0] =3D 0; > - lookup[1] =3D 1; > + lookup[0] =3D CTL_SYSCTL; > + lookup[1] =3D CTL_SYSCTL_NAME; > memcpy(lookup + 2, o->id, o->len * sizeof(lookup[0])); > len =3D sizeof(on->names); > if (sysctl(lookup, 2 + o->len, on->names, &len, 0, 0) !=3D 0) > @@ -464,8 +464,8 @@ oid_get_description(const struct oid *o, struct oidde= scription *od) > char *newline; > size_t odlen; > > - lookup[0] =3D 0; > - lookup[1] =3D 5; > + lookup[0] =3D CTL_SYSCTL; > + lookup[1] =3D CTL_SYSCTL_OIDDESCR; > memcpy(lookup + 2, o->id, o->len * sizeof(lookup[0])); > odlen =3D sizeof(od->description); > if (sysctl(lookup, 2 + o->len, &od->description, &odlen, 0, 0) != =3D 0) { > --=20 George Kontostanos --- From nobody Wed Apr 26 14:42:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q61mQ588xz46bZL; Wed, 26 Apr 2023 14:42:14 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [88.99.82.50]) (using TLSv1.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 4Q61mQ1q1mz3FCr; Wed, 26 Apr 2023 14:42:14 +0000 (UTC) (envelope-from hps@selasky.org) Authentication-Results: mx1.freebsd.org; none Received: from [10.36.2.154] (unknown [46.212.121.255]) (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 mail.turbocat.net (Postfix) with ESMTPSA id 17BAF26063D; Wed, 26 Apr 2023 16:42:06 +0200 (CEST) Message-ID: Date: Wed, 26 Apr 2023 16:42:06 +0200 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: git: 78cfa762ebf2 - main - callout: Move per-CPU callout state into the dpcpu region To: Mark Johnston , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202304261413.33QEDxBD086666@gitrepo.freebsd.org> Content-Language: en-US From: Hans Petter Selasky In-Reply-To: <202304261413.33QEDxBD086666@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4Q61mQ1q1mz3FCr X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:24940, ipnet:88.99.0.0/16, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 4/26/23 16:13, Mark Johnston wrote: > - mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN); > + mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN | MTX_NEW); Is the MTX_NEW needed? Shouldn't the DCPU memory be zeroed by default? --HPS From nobody Wed Apr 26 14:45:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q61rY3dM6z46c7Z; Wed, 26 Apr 2023 14:45:49 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com [IPv6:2607:f8b0:4864:20::72d]) (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 4Q61rY03WXz3Fp3; Wed, 26 Apr 2023 14:45:49 +0000 (UTC) (envelope-from markjdb@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qk1-x72d.google.com with SMTP id af79cd13be357-74e19dcf217so360872985a.2; Wed, 26 Apr 2023 07:45:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682520348; x=1685112348; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id :reply-to; bh=DTNOPyVGDzGLoRSnxes4GpXBzaEl9kNpFQk/7ttlrwk=; b=TLiv72mVd8FzUNl+cJMU3+PViYKqntYzAQSnoTUvMzZCKJK6MaL8hb2QxTGjPpTQGP nnuVmy8q7QTJDsgTpUSVC2Dl1L0NbXa655J5d7vjiCWoiWGs4HpNyz/czpJLO5vBQB5C eyjSq04lpjHF53qhXoWa/f0X5BJRw9iBGzT5oGvaM8Gabk6lsmzRIURYTZPxxjk2a3SA a3b2apjAXcttSsUhVA5vwecBwlr0maJLn6sa1asPJtXv3F0T4K2JPqsqR9Rco4daWHT4 AY0hn4EMctJtDm45Ui5OL8Vym/f4wjNiwATIe7YwmhG4A+1vXx4j1EO3t4O8xPiEgIKD BS7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682520348; x=1685112348; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DTNOPyVGDzGLoRSnxes4GpXBzaEl9kNpFQk/7ttlrwk=; b=EJ6RwieGp8VExoVhWEzD2OlyVYRRajFqRB7KzrsrFZEH+L4dKTpaDNLxX5qFWNo8B4 QT3B70G8WnKr+WiBnWHA6JuQUEQiu1yzBoJyMKcw9EycFUdoBXbMwOi0MQxtjSoQ1n50 sQ/rhZsAUN68LKVEmmQ9CwkJ8uKxZ52FBB3EgACCjD63y89f3inQ9CWAfngKpFk57ZyJ FgSg3ld6x3b86CzGChRNLLrGoZqwxCPYLz67NV/dNkfopXfgAqpijtV+2pncX/odcmZ7 yPnlnTCYaDu9R0F7f3SQG1OE9bJd8lRYSNPVPE8jnWAGzo01t69NUgdun/maS4RaKxGI b3Lw== X-Gm-Message-State: AAQBX9fLF6255gp3+pD5Fr7y4fCSgVVY/lcmrHa2eM8skG3OA/Gw6Vb7 AAntPc6g2dr5g582vK1W8VZchV70llQ= X-Google-Smtp-Source: AKy350azWyEJ1WD2q55sxnU4Pi42GfTRFJqHZYhTX4qo/PfPfhRL9w5vH08xgaaxgHpdPz6akD7jwA== X-Received: by 2002:a05:6214:20e2:b0:5f1:6892:7437 with SMTP id 2-20020a05621420e200b005f168927437mr32537376qvk.26.1682520348103; Wed, 26 Apr 2023 07:45:48 -0700 (PDT) Received: from nuc (192-0-220-237.cpe.teksavvy.com. [192.0.220.237]) by smtp.gmail.com with ESMTPSA id a24-20020a0ca998000000b005dd8b9345basm4909697qvb.82.2023.04.26.07.45.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Apr 2023 07:45:47 -0700 (PDT) Date: Wed, 26 Apr 2023 10:45:44 -0400 From: Mark Johnston To: Hans Petter Selasky Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 78cfa762ebf2 - main - callout: Move per-CPU callout state into the dpcpu region Message-ID: References: <202304261413.33QEDxBD086666@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 4Q61rY03WXz3Fp3 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 Wed, Apr 26, 2023 at 04:42:06PM +0200, Hans Petter Selasky wrote: > On 4/26/23 16:13, Mark Johnston wrote: > > - mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN); > > + mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN | MTX_NEW); > > Is the MTX_NEW needed? Shouldn't the DCPU memory be zeroed by default? I think you are right, it shouldn't be needed. I'll retest without it. From nobody Wed Apr 26 15:10:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q62NW7101z46djJ; Wed, 26 Apr 2023 15:10: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 4Q62NW6SfMz3HcD; Wed, 26 Apr 2023 15:10:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682521803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o6OQcIBRlsFcKOKQyKDhouujSncgl2ONTgseJh97VO4=; b=tuag+MAovCfpOz+CeLfrefcFA9551NDznMw1Lam21pJTHIE1q5BEc/fVS0e4uf164l9v6i /hzT4Y7vm26rVZnnaXTK1TPTb8xzj+T5cYv97t1fHzyja/H8rDLmIAIp6kh8vZvTUYfbVp cbQB0YDMUSD5EkE4xM4XAlnzvlfND8IPH3EyEUAameT1pd8ey6ubrO5PZgBoCI27arVDLq Q4k1tIZmLVM5XCGGkkUWSHaf6NYltvfSUmirqMDHOULnfaw1jUBXitAtY40cNNHpun5mmy 7GfLLPGxcGfYxZRb9C9iFLkstCwq6qVel5dtqkaYETVyPycEBEvrapHZEZNbxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682521803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o6OQcIBRlsFcKOKQyKDhouujSncgl2ONTgseJh97VO4=; b=diJNjZKBAQX7gndb+XHbzM6i3db5ivan1B1DFVZQyyGHhL6FK/35iroS5IpEJ9D7jmjTB2 h38eFY6u4sBcm9jE8pbdNA5XdetQPBsnF3El3RRk7IaLD8XrvfOqqQenLAbdg6GkEMRfPd KmgbJ9fDqWXv9SbYYyOOKzlVflVZO+W4/pazxFQkRr3BrGL12h3897StaMpwqS/iol4qdJ fV/fDEftEzgFtNYKco7OLtvOIrVI0KmH77QQ6gBr7BIo9C5QWUfZLa7YSs0wd2yrUyguM+ rk9EysyP3idqR4i+/FdX+I45FePNHefYA8vtNgqMAVtEpOXqfVC9cwe8Qt56ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682521803; a=rsa-sha256; cv=none; b=BxllDUGyKgiXl/hnY9eFz/EdvCCgeBSGoAeJUJT72cu8reN569OdlunyZrM96dJdB3Yswf eCO6XOOEIMtCc53XGu52GN9old8zJdxRNBgaGwH1r2+IIXv4NNmaTlTzwLI9mnSLAY7txu OPRQWgdgKEwfZ+hKvLXq0gQOZMiGGA7n4/0RrYiAuxy9wCg3uwHDl3O9M2kVj193zLWdK2 h9KnaOP6tw7uGD0txHUwkHlTT+nt2fhMa159pSkNVBkcitVXtb0NzSIl4UOOv1uJztfNiE dICeXfzsfNXxkByDWKUPTo3EH4GphzzD0GM6cS3ENKuu9T4R24AktJ+kKz5G4w== 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 4Q62NW5Qt2zfM5; Wed, 26 Apr 2023 15:10: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 33QFA3dO073286; Wed, 26 Apr 2023 15:10:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QFA3sD073283; Wed, 26 Apr 2023 15:10:03 GMT (envelope-from git) Date: Wed, 26 Apr 2023 15:10:03 GMT Message-Id: <202304261510.33QFA3sD073283@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: 9ec48bc31e45 - main - pfctl: match expand_label_addr() prototype to definition List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9ec48bc31e45c619fb0eb5cda42d23b09edde614 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9ec48bc31e45c619fb0eb5cda42d23b09edde614 commit 9ec48bc31e45c619fb0eb5cda42d23b09edde614 Author: Kristof Provost AuthorDate: 2023-04-25 14:01:45 +0000 Commit: Kristof Provost CommitDate: 2023-04-26 15:09:46 +0000 pfctl: match expand_label_addr() prototype to definition Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/parse.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index b0f631a5998c..1a0935ce599b 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -351,7 +351,7 @@ int rdr_consistent(struct pfctl_rule *); int process_tabledef(char *, struct table_opts *); void expand_label_str(char *, size_t, const char *, const char *); void expand_label_if(const char *, char *, size_t, const char *); -void expand_label_addr(const char *, char *, size_t, u_int8_t, +void expand_label_addr(const char *, char *, size_t, sa_family_t, struct pf_rule_addr *); void expand_label_port(const char *, char *, size_t, struct pf_rule_addr *); From nobody Wed Apr 26 15:10:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q62NY0vfGz46djv; Wed, 26 Apr 2023 15:10: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 4Q62NY03DLz3HQ7; Wed, 26 Apr 2023 15:10:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682521805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zvkzNsezsnMj2QJYBcaAEsOlsBXRTIQ+Wm7LOBA3Ims=; b=eIsnBitwyi7bUYLVM+Dfz0utmrp0cm09nIgBhZq4p5HUii7AYG/ZfUS2cfVeD59ykGZONP /SRyCknlIjATnQ/o1ShkJ8nbiS51CMPViou5nxzhfRP9u1ltMtR6zrYU2ug/hY19o11SLf VH4K5UMnW9s2INe36zAxwaS9BZNmm3Pclrh0w/IXMqW1nAkdq4JK3/vH4yHSq87i6U+XJg srkv+csfNYFhkDbRoAski2GU4cI5+RDiB1xrwJj5oJjen5fN3RmEnQG718kS4UiqvNnmAL AOsIiz1VGh8oXsEhBW8IluLFqZN3gtIn3ZsNvSyLpfr9l4Z6pmilZ+b03vS+jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682521805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zvkzNsezsnMj2QJYBcaAEsOlsBXRTIQ+Wm7LOBA3Ims=; b=OvQdm2Psp5qQpM5YaIpVSiJ73pPk8e9CyrlHQvNUs3CzEUgysoTXrtZ5Kobo56ZgpahW1a KXmIwSNEx21odOHXjyoqYfimHcFmfzj5qmQsbebAgITn/5qu8n0TjMoBjQGN0/ZO6hhyEJ PRzYy/AHhOuwHF5K6izI5/Ga8Z8dgCzbxi8/77mq85VEiAHbLnG4ITEIWJZ0smHZEKGujp 18XFNymB+A5d6zEbzz8hDpPh3dT7aIf/bfU2nYAYynacCzD7WTEICg252WrcIvWO5OE6vq BJ5V2ZG6H7LgKY2cb6j+u67hxsw6dKzmfuntxDUYRtkjSPPkGCau3J4blqz63A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682521805; a=rsa-sha256; cv=none; b=spUSXjUwAq4LTO2QFNG/L+w7fMXiNU7+Dry3mAU5fRCHRpfsBBcHAj2KKJdalBTeBjYx7b EFESNsYtRHBsibeupj+YPDRdfFDtI/p8290cbpGvUBkoIQdxJB2cRBIdIuO2dE338arGBO jvNOcUsmgCTYiK4JARxNgF3wFd8NCmMDPtt5lbYLwgta4UDtDpRQL/z40bCl3S9lDcp4dS 1U31LEzSfCQqD3OjAsfaiRjSAizRzoQJioZwtEbo+QNiJiypcsVkArPJaFD5AbrkqlcCkV rm1PIYy6m9PSyeZxW+1QW/OVrHB+P7ZXgnuoN1yG/YxMY39eKtvVTz1GKos5zw== 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 4Q62NX5vhtzfkf; Wed, 26 Apr 2023 15:10: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 33QFA4Hm073545; Wed, 26 Apr 2023 15:10:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QFA4Y8073542; Wed, 26 Apr 2023 15:10:04 GMT (envelope-from git) Date: Wed, 26 Apr 2023 15:10:04 GMT Message-Id: <202304261510.33QFA4Y8073542@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: a81f5112a002 - main - pf: clear PF_TAG_ROUTE_TO for dummynet fast path List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a81f5112a002196936eacabfc7ab173ce8a5630a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=a81f5112a002196936eacabfc7ab173ce8a5630a commit a81f5112a002196936eacabfc7ab173ce8a5630a Author: Kristof Provost AuthorDate: 2023-04-26 13:12:30 +0000 Commit: Kristof Provost CommitDate: 2023-04-26 15:09:47 +0000 pf: clear PF_TAG_ROUTE_TO for dummynet fast path Similar to the PF_TAG_DUMMYNET we must also clear the route tag if dummynet didn't keep the packet. In that case we'd continue immediately and there'd be no need for the route tag. Keeping it could lead to unexpected routing of traffic. See also: 27407a6adc793bdfaef8a86ece32fb1b461429f0 See also: https://redmine.pfsense.org/issues/14055 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 5eebd44c297d..a8da800dd814 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -7076,8 +7076,10 @@ pf_dummynet_route(struct pf_pdesc *pd, int dir, struct pf_kstate *s, if (pf_pdesc_to_dnflow(dir, pd, r, s, &dnflow)) { pd->pf_mtag->flags |= PF_TAG_DUMMYNET; ip_dn_io_ptr(m0, &dnflow); - if (*m0 != NULL) + if (*m0 != NULL) { + pd->pf_mtag->flags &= ~PF_TAG_ROUTE_TO; pd->pf_mtag->flags &= ~PF_TAG_DUMMYNET; + } } } From nobody Wed Apr 26 15:16:21 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q62Wn2vQnz46dtB; Wed, 26 Apr 2023 15:16: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 4Q62Wn2L1Pz3Jgm; Wed, 26 Apr 2023 15:16:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682522181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ASkPC1LTeMOgx/9QFwFk96FwOff2PCxPJLN65r/LuNo=; b=NUa51nOBIkCVW7skWPIN/gpoaCLw0mKHltCMKM/NzYCnAVEjmWKYrz6w+Fy1C3dMka9VIZ 1QuBrYjZ+2E4UbYgapvgFOfmes5axwS3zw1zdc5c+RZiwp8w74Jk/8SVsvl5Go/QFzEDy4 ZwJOA5WV+FB15Kxa3IebgFd5Fm/Y0smDVZR/MROS/EicvGoBW2a0Y2htHpr1XMRlK0ci7Q qkBnmxWOrBs0DLnRWWz52n8gwU31xzibb7IPAolja/y3Ksen+M0c1zDps1mBtuj+NfyD+c d65vVr0BOXJredhVnPY8oE9j1rzRpgRsbJn/TqbSHVyP2WidQIKh9V8JjyrJnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682522181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ASkPC1LTeMOgx/9QFwFk96FwOff2PCxPJLN65r/LuNo=; b=fRhd/uA4rAE3YBlwK6EsRBU0afKNZ/QlbJp7C3XV9ryRX42jRKSHUxjHHxkSAvwdvz68wc jqj1QM63s+iVP5BiwLI9sfgIo3zsHVZD6Vl6pJ8zCLOFpt8eVXA5VxuRLkPdRcHq4nDHKA UDVXBaQBNmoznK/6QyGvCXTr1e05WooZtwdDz6e3WDq43dmGp5LXw0O+uF2iBfh3Iii/fO WI1PyEletM8k0a4TfF47GlDe5JsSf77Pw1tkOg+hYAlf8fhufSfVGbxTif9tt/Artx9eCg ExOX1XD6E5DOyoBLeKsFKI15/jQ0FeFh6D9PJ0Al81bIMggYCeEkk0YWshd/pQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682522181; a=rsa-sha256; cv=none; b=LcD6fXHS6Nt/cxRLdHxupGnouhZRaYc7W9CChwlqaidNz4djU1Xrn33yvnXbS6tHW5+qTQ qnNqhdbPPY89N4yNVAMPhnHQ1oZ0Tc+ttGGWhAA5hEwOsT0F1x+7UdOWv0KAgns/sShUC7 F/WUrnsZ0ekMeolLTv6DvU/RX8DOXZpGz4x96NRQAcruE0pbsWQUDv70GD1moi6cawwd4i g8gDMiAU/2z83obdBC6Rk4TwMsNe1FN4Z/B9kapquEosOSsgtFDXT4Mwm72tp2ZvItl2Su +gNLmWyisUNVkkrNlZgTBdE68zP9k1+ydNhtlX1Zqy6ZI0NNJNVoqBxjQIXHWQ== 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 4Q62Wn1HLrzfMT; Wed, 26 Apr 2023 15:16: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 33QFGL9u087031; Wed, 26 Apr 2023 15:16:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QFGLmh087030; Wed, 26 Apr 2023 15:16:21 GMT (envelope-from git) Date: Wed, 26 Apr 2023 15:16:21 GMT Message-Id: <202304261516.33QFGLmh087030@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: 2c0209a2ca43 - main - callout: Remove an unneeded MTX_NEW List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2c0209a2ca43dedab45dc41d9707359d063857b8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=2c0209a2ca43dedab45dc41d9707359d063857b8 commit 2c0209a2ca43dedab45dc41d9707359d063857b8 Author: Mark Johnston AuthorDate: 2023-04-26 15:15:56 +0000 Commit: Mark Johnston CommitDate: 2023-04-26 15:15:56 +0000 callout: Remove an unneeded MTX_NEW Reported by: hselasky Fixes: 78cfa762ebf2 ("callout: Move per-CPU callout state into the dpcpu region") --- sys/kern/kern_timeout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_timeout.c b/sys/kern/kern_timeout.c index 374e8f2b172a..5062ae82e016 100644 --- a/sys/kern/kern_timeout.c +++ b/sys/kern/kern_timeout.c @@ -321,7 +321,7 @@ callout_cpu_init(struct callout_cpu *cc, int cpu) { int i; - mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN | MTX_NEW); + mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN); cc->cc_callwheel = malloc_domainset(sizeof(struct callout_list) * callwheelsize, M_CALLOUT, DOMAINSET_PREF(pcpu_find(cpu)->pc_domain), M_WAITOK); From nobody Wed Apr 26 17:14:28 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6584751Fz47253 for ; Wed, 26 Apr 2023 17:14: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 4Q65842lmRz3m3n; Wed, 26 Apr 2023 17:14:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682529268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a9m0vRW9W52sTVKpv2uGowQCpO4xp8s/c1YamJhtoHs=; b=uMyGoN0+Ddc1aWc+y+JSNTOthj0z/4UYKjfl+7PD78lQ1rHY8OnZZOO/vKp/cNcxDfSrmJ IM+IAAhc1oa5f/qyWYFQJsuvefzvg9eaS/qwSnsCLOdjA50VXP04nohxNDkGqxRkvXmgfV YSifNDYewQWI7YXPDJB8a6J+LsqKpAQUZRNCe8odS3W4RsSf9saDSINywbqaeN3m2CXXyw haHXjMhCuXRNVOW9yuWzd0gDYJCGXly5Qtk8LpMPjFU4HjrRpqmNrjeiy4+cTt+kDG1cH5 /BQY8Ep8K2+HID/9eBSxOKKurGWCk7rIReGIO/ojOhUhAzSbxfvgzUWwmf3IsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682529268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a9m0vRW9W52sTVKpv2uGowQCpO4xp8s/c1YamJhtoHs=; b=Nsn02psGLZvb50SooS8h7QEvt4bzea1CiZhNQcWYikRrkXVfjqp9xp8mVfKwKFPJ2KOEhS 8W2354P77k97OrS3FtB1AXVz/hQMQaIDWqlOV0/TWaems7AGTXFYtM5+3z4S5MTRFduSZc vDdUwWw8/EtWrxEfkxHVcYb86RWhh5c1aJFz7+TFkpQ9kUMjR4UsfqJ5MicbbU/t9QH0QC wA7eIdVBXnNIhmOM6hHJWPeoinNcFTh5tX3V4fm4DOHlRXKLdLp5Y7HAJrFcBq9XA+HdDQ v32WnTQYyCJk191rCf/sfyWRQqNYqGwpNkA0nVpHqM6+h4c6pd6cTjdgwuGlWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682529268; a=rsa-sha256; cv=none; b=l5yEFVek1s/sfeu06O6cZE96rHyZsHGpBRtKHJJGDuHQAYKmBkEVZ+xpt0ZIfeb6P71Fae yAuZMJWG+QXz1cet1yS2fG/KvF5RUlOos9rvT8YeF2PLt6hHGxT4s4mLCsK9s4pBvUOSeQ BwBSV3dDnXMVkDWl5ebSGJRwZTYgJbh0lOrEMnDkYtNGPoBpBwG8g+MqTQz6S57tx2cOkT rj0OS3Lrxl8muJ0HMWe0rrheFGJXuhMz6YVl2tl/vfj/G5oSqPbXJp7OqaBO0h1o5jZ0e8 KWRL4G0XF5FMVgbzxTgNTD5XSCv6eORDpXE8aWw+8EBui85724+BF9/oBLaaDg== 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 4Q65841qyvzjyc; Wed, 26 Apr 2023 17:14: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 33QHESYc083922; Wed, 26 Apr 2023 17:14:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QHESXt083921; Wed, 26 Apr 2023 17:14:28 GMT (envelope-from git) Date: Wed, 26 Apr 2023 17:14:28 GMT Message-Id: <202304261714.33QHESXt083921@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Ed Maste Subject: git: 91f012998802 - Create tag vendor/libfido2/1.9.0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/tags/vendor/libfido2/1.9.0 X-Git-Reftype: annotated tag X-Git-Commit: 91f0129988025e271a2de0429c5b94f199807fca Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The annotated tag vendor/libfido2/1.9.0 has been created by emaste: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/libfido2/1.9.0 tag vendor/libfido2/1.9.0 Tagger: Ed Maste TaggerDate: 2023-04-26 17:13:17 +0000 Tag libfido2 1.9.0 commit 7248ec417c7d81cfb19038eee0db15723a85550e Author: Ed Maste AuthorDate: 2023-04-26 16:37:20 +0000 Commit: Ed Maste CommitDate: 2023-04-26 16:38:55 +0000 Vendor import of libfido2 1.9.0 From nobody Wed Apr 26 17:15:17 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q65916d3xz47268 for ; Wed, 26 Apr 2023 17:15: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 4Q65915pKTz3m2w; Wed, 26 Apr 2023 17:15:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682529317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VjgBPWmLcAPwkdP7xoLFvMh7iqjtqGEWoE9w0ogAUSQ=; b=KoeSLnJygn5rCMm1V5nB3hwWW7S3DMHWVbmyMq2jxOFT9i2gigKmyuAtlJM6i1vfwDfx5A wNHaj7qopoFgSGmfuzjEg+K5F8QhuVlm1HYT7pVlhYvN3p5sotnrZ5LAGw7MqFzSqiJlS4 vw+04fPVaxVzH7mUp7oJ2t2WVPY+GYd9WN4w6tmGw1yFAl5IzlTvY47Duspmhv9jNW5AHU Qv9u8TJV2YfA2e8UcPp2k7Y6qu5b2ORygMUM4lZJWlmtqjvp3bA/lIdimaqKP0W/oVm9Gp KNjKLMEPqG5+ggQoeLl17j6HamNpRL/jn8ZlT7LulhdCKJkjDdG84ZkOTuNPbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682529317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VjgBPWmLcAPwkdP7xoLFvMh7iqjtqGEWoE9w0ogAUSQ=; b=xeyECOu+FCCH3PrSeIKliILQJu5v958/bl1v4KMgiBdnZA3LHE7kW/dKgGrj8BSUB38LQR E7vxibSAl/5s2fZfwb2tA7GPxRLaAK0NVopoGu1J2ME/TPTtNZyK7w4jrb6AIS7awvUC9w eo7OfypSAYKqRsniHBe3b1nYDBxKV4LBvuybYCJqEd7E/xewtiSHP1xdL83NsSCobtl1AZ pWrXJTfKrUTf9pPzpXKbt5C9HSNSS1aLBp04wDVjlVom1jtPUXrmYxxBp9kSafMcoW4eQF xPwC0uHtp6kiRnkrrxzeosZnXD2jomEz9+GFB4rNkBTqflXEeYRgriyXFsUbZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682529317; a=rsa-sha256; cv=none; b=rJmMP7fT17DOLPm/zhD+Uu3pN//Um0NQ11Wu189FmMDoMKGbdyoehgkAAeJXYDnufHcFHz BIqmOGkBEIF1T/xz67+wtWZMwhF6+BZNGAbpOGQgkYaVKpJ9vkoYjKvkg4kE8scWTk6pUV Cj8OZdQ3zpmu2EupV3Yme4zijZ9NJJ+iDCrn2KHFcN40jcZDwfCMGNJwNDpLCXb2tjqMs+ KiamDSWCd1JSf1Oc4zdLTF0aqAHd5NksASek/XvU/tDIx3Kr2GivZgfctCs7i1b2FmfczU CxrCO5Du8uQZ++NMs4p/35CzoHi7WHawJHVVxrRkRSD23D1U641aaCdk3WzJ3Q== 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 4Q65914szzzjyd; Wed, 26 Apr 2023 17:15: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 33QHFHel084086; Wed, 26 Apr 2023 17:15:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QHFHJW084085; Wed, 26 Apr 2023 17:15:17 GMT (envelope-from git) Date: Wed, 26 Apr 2023 17:15:17 GMT Message-Id: <202304261715.33QHFHJW084085@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Ed Maste Subject: git: ad44dc254eb8 - Create tag vendor/libfido2/1.10.0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/tags/vendor/libfido2/1.10.0 X-Git-Reftype: annotated tag X-Git-Commit: ad44dc254eb844cf0b07b4827d2793884c068f5a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The annotated tag vendor/libfido2/1.10.0 has been created by emaste: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/libfido2/1.10.0 tag vendor/libfido2/1.10.0 Tagger: Ed Maste TaggerDate: 2023-04-26 17:13:27 +0000 Tag libfido2 1.10.0 commit 3a9b77fea28092bb3b06ed5f5f6e832511c36f96 Author: Ed Maste AuthorDate: 2023-04-26 16:38:17 +0000 Commit: Ed Maste CommitDate: 2023-04-26 16:38:59 +0000 Vendor import of libfido2 1.10.0 From nobody Wed Apr 26 17:15:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q659801gFz472Gg for ; Wed, 26 Apr 2023 17:15: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 4Q65976clWz3mdN; Wed, 26 Apr 2023 17:15:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682529323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7GAslSF4afgguP7fIvG1IiY6rP6u2n95DBuMExZsAyQ=; b=TRn0bNDohNi02ki5rVAyqKAhFswP5UT9caEEmkBhabNdHNVVVHkGxl0/c100IwW6AW5/5y 0K6Clo+hwBseJiGwjgoPvG+au2GE4UyNe4z7eMDYLHMXrgaFZzU1DDBFhXY7K0GtAv/8go aaNTcMbqulw68LNvtbXGhSO+iBggzD4xhWmsw4phOROzBvtu58YpT3XlOdKnkeDrnnVupB 0HFUTJxH0lajV8DzWGHXf93p0scxFwH69uaUaSsBnaZYQvV6oL0cBpXGf3o+hsVBXt2Ixs wjVYBvxqBtKgXY0ckrbY45ed+m24z4rpLsonykPsK4sMnX88wzJp1C/7vx9ERQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682529323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7GAslSF4afgguP7fIvG1IiY6rP6u2n95DBuMExZsAyQ=; b=Y8k9CJ2Qh4db0T7CRutx2B10416W/PyUxnwu3OEOLOXkn2szQk9cOnLPJQSaPWk2yAsrIx zrdHpZA5WJZkl/1qf6/eLWww9s9IqG1cKzJNIRCzDaloNWfdVi/oY22LURpYDHlq/AU1kD W9kJ7aVR0T888MPMguVfzjmgTEAMh1Ku4btHLmszsQArqPYkD73e9Y5Hr3uae92dz/+AkL QtQCWFYWl2ZSiDV72SPQz1z7jUSR4Kmmp1Tu+ygvd91GIB9a6/B9ZeSpT62xFo9ZQMgmFV takDj8jm50OaI1/ju07l8n+z8ceShrkT0z48rkIRWNjUh0CWZWh06h2ZjHyFoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682529323; a=rsa-sha256; cv=none; b=rjTURrr7J41E/Zps3fl3zRxYm2gffS5R9avdsOY333znkwDQsBepz2nVYfkCiJnWSZN7u4 +n1B80rsfT+6o5rVkm0NsyzsvO1xLwN4pDqIs2N+B3DeYeEDlCRygi8u/iZ8Tj56/Ts1C5 iKOms7jmR8XHDlUqBTqBd+pkXyiPzPY7uv8rwFzQj8yYcAQ0ky28N8IG8x3MozdgOPogFi ZfekhwndkLC+hSBNdmKoNOjgDw9sIWfgPCHqzzVxecHTZ0t8RBzx90Zc1oQkNRcRFwHWCx TOOMxls6xH5qSdCbGpqpJ/e3H9n+uk/ELiIgFXFVY4xgtqDkJz/p3DNuMNFDMg== 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 4Q65975jl4zjmg; Wed, 26 Apr 2023 17:15: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 33QHFN1i084179; Wed, 26 Apr 2023 17:15:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QHFNx8084178; Wed, 26 Apr 2023 17:15:23 GMT (envelope-from git) Date: Wed, 26 Apr 2023 17:15:23 GMT Message-Id: <202304261715.33QHFNx8084178@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Ed Maste Subject: git: 953ce79981a1 - Create tag vendor/libfido2/1.13.0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/tags/vendor/libfido2/1.13.0 X-Git-Reftype: annotated tag X-Git-Commit: 953ce79981a10c3fea6473fe0cf046d8eb5c24d5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The annotated tag vendor/libfido2/1.13.0 has been created by emaste: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/libfido2/1.13.0 tag vendor/libfido2/1.13.0 Tagger: Ed Maste TaggerDate: 2023-04-26 17:13:58 +0000 Tag libfido2 1.13.0 commit 00db45a65823dc224f3630bc8185e789064fef6a Author: Ed Maste AuthorDate: 2023-04-26 16:40:46 +0000 Commit: Ed Maste CommitDate: 2023-04-26 16:40:46 +0000 Vendor import of libfido2 0.13.0 From nobody Wed Apr 26 17:15:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q659C3wH5z472bw for ; Wed, 26 Apr 2023 17:15: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 4Q659C2tdWz3mZG; Wed, 26 Apr 2023 17:15:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682529327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7s+pie0xheV08DmVbNupuxtmgmsPMjUs6F4nIXNNmYA=; b=xDgxFLUNXrBhCwS2S7QBD1G6+t6gDbsN9BpJUsEGqkz3OWanWmBMH6to0gX3FYH/k1qVXf yHNk3ZLBv5ka909v20uVW0/YCE+kBJFG64xS/LjtvZTsZ3yfxVWN+rHFB5hnzazybUEaDP jKBoG9onxYSRLOhy53Sw0TizPWuGEItpfxwFQkkuNwJbJJenATx9sMU1KiIz2dumzQPtzo bCGl/tubpjx/EM4W3bTlNRgPacy0elQEpeNfUT4Hp+Og45PKeIiNdcexraTowpYVi3EXQ6 IZs0Tw0RDDfO8dz0iTVl5GBEXHFINgrkfymDTaa/uIAR/SF80V47Bdph4wz5jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682529327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7s+pie0xheV08DmVbNupuxtmgmsPMjUs6F4nIXNNmYA=; b=ErBC7iK4hzbiJVdyNANYRfs0uG14V1jo2slB0jMTCttoJlEhtHLnXpoZQAN3x8rXEcHMp0 QkG442Et5n1DXuYgOCfSIToDHUo78ldDcfc1Nuvy1ras2kBuvIZe78xt0FT2yQ8n/tU4u9 XEgFFcmLiJVr1yousW86fndC4aPA6jt2//gv3UKIGZYDuQthrKFN642lK3hOI4lMCdmpJv Siye+Tl8T86tXnf6t1wQ3Xjf/Qi7Qsr34a2QVvFJ/2KCZ72M4qvsZ1SbKOio1hSbfLdg7r afgPr53IkeP5rBvuQuYBZI+kRsVh4+rEVjTsCXI58ey3GqEBJfzbIICkWt8WAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682529327; a=rsa-sha256; cv=none; b=DwRBjnsjNGjf+BDMiPuyxLvqIMELQfQycj7uIys+J9x56NrNnzVfLjcN8kHLVPTmH2q9z4 TSyRibMxdA5+eavyWsnEGmpM3vu6Wf92kJxr67rSffyMIIaluv9P7d/MDtZz75CNXx5B/T eF8MUCIvNg+AHv3kAMO1UiQ/gHQebR9EeZb+Fv6ITFp+r1cQNKjNKwQVIBzyZQA2zEBezt kHBCFTlnYZnlNFwuycMU5N1+wPuAk2t8ivNOaDTn1eL5XSFqWK0/Rx8oeN5XZoX+HwComU rxDvbEyY9Anpi5b3seZTiWjaJgaOZDitHzRy9bFsiquZLjyriG541c7R0CYCsQ== 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 4Q659C1z2Jzjyf; Wed, 26 Apr 2023 17:15: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 33QHFRcJ084279; Wed, 26 Apr 2023 17:15:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QHFRL3084278; Wed, 26 Apr 2023 17:15:27 GMT (envelope-from git) Date: Wed, 26 Apr 2023 17:15:27 GMT Message-Id: <202304261715.33QHFRL3084278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Ed Maste Subject: git: 3ed9fe5758c0 - Create tag vendor/libfido2/1.12.0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/tags/vendor/libfido2/1.12.0 X-Git-Reftype: annotated tag X-Git-Commit: 3ed9fe5758c0a2731de807f854d72fec358f8e40 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The annotated tag vendor/libfido2/1.12.0 has been created by emaste: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/libfido2/1.12.0 tag vendor/libfido2/1.12.0 Tagger: Ed Maste TaggerDate: 2023-04-26 17:13:49 +0000 Tag libfido2 1.12.0 commit fdfa06d7d381e83be6a8c5e39a5bd7af714ac656 Author: Ed Maste AuthorDate: 2023-04-26 16:40:13 +0000 Commit: Ed Maste CommitDate: 2023-04-26 16:40:13 +0000 Vendor import of libfido2 0.12.0 From nobody Wed Apr 26 17:15:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q659H1F3fz472hQ for ; Wed, 26 Apr 2023 17:15: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 4Q659G756Wz3n2R; Wed, 26 Apr 2023 17:15:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682529331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oBx8r/xST8NCD4/GGLTuO4ALgvI+GPrsE7hgp7BtiNA=; b=giCo+0YMb9IvuIOdeO14/LHKoXG4rZw+XjbRkj4LhqE9SKNvCCu4zbgivSmfQWFsZSBUV8 KBJhR1IFFfEkzrSWA3L76fmenxKwtxkhQLHAD2IfmcgNTuRGiSVsZIDkI8llIl+KxfPfPo KVi8GFiV8Jj+PJohvPz7RigFJWNZlu5MgZzmKoA5hg2gOCo+XlNfhbKCDPOcs5MwL8qG83 fLVj3PzeobDNEARccd6NBHsIILbEOqmwER+LZXR4wpXXfxvq+oftkqk6Yag868bNkEd0b8 hSQ5viaBuoKBVAsVRKg9PsN1n/A/kRA0PrSqTMwpJSnvhM9ITOeCDReCxrldrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682529331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oBx8r/xST8NCD4/GGLTuO4ALgvI+GPrsE7hgp7BtiNA=; b=YGvQrTIBQq//eRCgabFzYXMVJbhdNNtT5lzkWgZMH0XmJLYjq2+qKMPtvCHpOvytzO76Zs OsT/lGaUCZjjLcJw7MpUq22fhV7FSc1RN4iMTQQ+Rw2Nwe8n30E/EGNQJnXQkScx/wX6Wc Kk2w9z5f13l+jUlcxRtuSNq15vLDPKFi7UL6yb2Ql30pxg+YQrlzaE+kbZPhL7Knb2hm24 vmoEbotSEqfBVe2SERVnu3sHQg6bUwII3JXPu2ftSNdLeOKeeMgd9fTdDn8gRNlDmoJSbg fzBNV4VG+T5NbW42UTcfjiYEgT/IiHuswuMyDo+b4y3lpikmgD4/d7VFd7G3BA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682529331; a=rsa-sha256; cv=none; b=JpaAse1wRy6IwoQE0iZy2grI7BZGTbxgRqun5AjD/tQvsdWZKqMjmFSIYHJh9NXgJpyzY4 SDMZwu+hOlc4OZQGSk3juKkwpW8Ly6kAg0hRhTcOJUeABBv5bWlRORIcNmHhu1MUuiXnMj 8TC58/7yfNz47OjiTpG3YqBS76tr4UHYweF155ZTHUHW8nmCOFE7W5Go1wEnLlET2oM1iC CiFj4VXshNquWO9aIkTUOg0jFGBn9x80C1xa9EdnQbQoec+XNQIRfTt+RBBaeCIgJMysOl Gdx4ZXxNvyTRXQ76DITkvGK7II1rG7LCf34ha+cn+5O6uRPpoGVnhCFPf+WZyQ== 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 4Q659G68kxzjVp; Wed, 26 Apr 2023 17:15: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 33QHFUq4084368; Wed, 26 Apr 2023 17:15:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QHFULD084367; Wed, 26 Apr 2023 17:15:30 GMT (envelope-from git) Date: Wed, 26 Apr 2023 17:15:30 GMT Message-Id: <202304261715.33QHFULD084367@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Ed Maste Subject: git: d101dc743345 - Create tag vendor/libfido2/1.11.0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/tags/vendor/libfido2/1.11.0 X-Git-Reftype: annotated tag X-Git-Commit: d101dc743345226f83996c2dee47a78c9de6cf87 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The annotated tag vendor/libfido2/1.11.0 has been created by emaste: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/libfido2/1.11.0 tag vendor/libfido2/1.11.0 Tagger: Ed Maste TaggerDate: 2023-04-26 17:13:39 +0000 Tag libfido2 1.11.0 commit cd0b1b947d7afe02b6deaa176ae6767f25818f1b Author: Ed Maste AuthorDate: 2023-04-26 16:39:46 +0000 Commit: Ed Maste CommitDate: 2023-04-26 16:39:46 +0000 Vendor import of libfido2 1.11.0 From nobody Wed Apr 26 17:24:47 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q65Mz6SsGz472b7; Wed, 26 Apr 2023 17:24: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 4Q65Mz5t3fz3npr; Wed, 26 Apr 2023 17:24:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682529887; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rwq6fwt4NhS/U3kR5OkpBcSi1g9PanxFKYJu9nFq2ss=; b=h0ccqwhZstCOMfFE0lCSWIeCiiuvTTDE2IvxfW+ANtqbPIm3YoaWukhUkf00wcuK4jaIPs iUqqUQLBP+XmxMr2DvopfYpf0xQjpBR9Yq8WA3uqCczWF5Q7eGfYL0bXVYJ4qGedqjI4mb MULOul+qhszViI4WMP35dK0UkC2DgLsOjf2cZquGwfkOwA4jcrLIephPTCUN55SpmCkpV3 zfbNor3Z01CnK3cVEVhFD9ZMbZjC3zerH+07FYUEVdxy/m9YVipSyVU+4IijJ7AMnaNza/ 2mKWHRrvCZRROqp3zBQJzHNgOJ1VgJHPBEk5M5SBerdqsrFoeRibxFkVCHL+EQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682529887; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rwq6fwt4NhS/U3kR5OkpBcSi1g9PanxFKYJu9nFq2ss=; b=c50YaQpWkuZtBorM0fokwxe/JKjV85RyG6xFowz3+sx850iphXJUlTSqzvom3O4GUAZnTX crTgBHt8oeokb1uTdnv5lMDAY9RjbM0EZMQQAImIvN+UrZRn9UxwC+tMXMXGqrumHLukMj PXH1t9MYscPxZxZvUhj+X+OnRKHhs6yLHvIU0cWAUHiLENStzTHkF1vFaJ4lmDfY4Ep6qQ /z5xx9j1PPhOKDEiQOZpExZDiBmXsXjO/mN1OiLB1ygyQhNA8kjaXDgum1kV0RzY+WJy8a iDyS6/eiQ1PEyQ6HgaTz4onPDREVaR4rHiAH8dsYofY6+Fpo8QSdjMloy4C/dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682529887; a=rsa-sha256; cv=none; b=l5GRlN01DEa+0GtgC6rvnl6WXGvD3Gr49UUHZTzhVv1HlNa/qyYaSoQ+QQCgOoPbCwcLH7 v08wVK4VNUrNgLxjbCU/i5+aW8A40oUrnEemiiYsPI49JxBVkFwpX7yX8sXvCStI40W1fQ rSNaLUtg0f0YXOlt6EXIECwDOwQvKXWabUTa4BXHrcS6HQ7xdFyFsOMB/1M75k+ccD7AF/ Y1Y+yaTmAZxQBVqHebtVBUpzx89BxDmnBQpJ+NGBSgrlUwr3Be14W8t/7thuXFOA98m2vl JtDiGA6k/cigVRzmue2lBgPRGlPwLDk3tiPWLq9HchRs5gUx3kFd3FRqO5rpIQ== 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 4Q65Mz4wFVzkGh; Wed, 26 Apr 2023 17:24: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 33QHOl7K001200; Wed, 26 Apr 2023 17:24:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QHOl6x001199; Wed, 26 Apr 2023 17:24:47 GMT (envelope-from git) Date: Wed, 26 Apr 2023 17:24:47 GMT Message-Id: <202304261724.33QHOl6x001199@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: ce5a210997da - main - openzfs: arm64: implement kfpu_begin/kfpu_end List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ce5a210997da3c4064cfe162e760379f1fa8b587 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=ce5a210997da3c4064cfe162e760379f1fa8b587 commit ce5a210997da3c4064cfe162e760379f1fa8b587 Author: Kyle Evans AuthorDate: 2023-04-26 17:23:48 +0000 Commit: Kyle Evans CommitDate: 2023-04-26 17:24:00 +0000 openzfs: arm64: implement kfpu_begin/kfpu_end This is part one of a fix for booting with ZFS on arm64 using accelerated checksum implementations. Checksum benchmarking will attempt to use the FPU, so we currently panic quickly on boot. BLAKE3 is still broken, as it clobbers x18 and we promptly discover that fact as soon as we attempt to fetch curthread in kfpu_end(). Note that _STANDALONE is special-cased here, but ideally we wouldn't be building the code that uses kfpu_begin()/kfpu_end() at all in the loader environment. Discussed with: imp (a bit) Differential Revision: https://reviews.freebsd.org/D39448 --- .../include/os/freebsd/spl/sys/simd_aarch64.h | 28 +++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h b/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h index 7d2e2db28017..9edbc5f40455 100644 --- a/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h +++ b/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h @@ -44,13 +44,39 @@ #define _FREEBSD_SIMD_AARCH64_H #include +#include #include +#include #include +#include + +#ifdef _STANDALONE #define kfpu_allowed() 0 -#define kfpu_initialize(tsk) do {} while (0) #define kfpu_begin() do {} while (0) #define kfpu_end() do {} while (0) + +#else + +/* + * XXX kfpu_allowed() should be 1, but this is pending a fix to the BLAKE3 + * generated assembly to avoid clobbering x18. Turn it back on after that + * lands. + */ +#define kfpu_allowed() 0 +#define kfpu_begin() do { \ + if (__predict_false(!is_fpu_kern_thread(0))) \ + fpu_kern_enter(curthread, NULL, FPU_KERN_NOCTX); \ +} while(0) + +#define kfpu_end() do { \ + if (__predict_false(curthread->td_pcb->pcb_fpflags & PCB_FP_NOSAVE)) \ + fpu_kern_leave(curthread, NULL); \ +} while(0) + +#endif + +#define kfpu_initialize(tsk) do {} while (0) #define kfpu_init() (0) #define kfpu_fini() do {} while (0) From nobody Wed Apr 26 17:32:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q65XW1Ptrz473Lb; Wed, 26 Apr 2023 17:32: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 4Q65XW0tgPz3pKy; Wed, 26 Apr 2023 17:32:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682530331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zDwS8iQaX7Ym3fMmlRwmTalPQWJrQJIxec0Y3/IkG50=; b=L8dTzWBTMvxadtjOZwcbKHvQ2COw3/YXbyAlec01nq8Q3CCyOAX8O37Z9Lfgg60Ya+ovfK us2PEY5v+zC73Oaawqz1FG/vmGDwSJVRYRuIr1djs1bbkGT1kW4p2I2iUR6oEqpnfGkPnk tgiiFU5Kf2feWIDg6aQOHjihLvTV2l/b8zGnJoXuumjXazMYkdv+zfsbPtq77sGe9Ag1wc oXcd47SZTq2WG8kDJxRv1ywo3TIINiczOTjPny0pNLTMjcmCyx9Zq0JD/SEksA4U4SGehW 19BggFQbr5AOoTX/uqrvK04X793gI9SJM/XXeCQNrsiKVrjCfD7/0V3wDLfqzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682530331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zDwS8iQaX7Ym3fMmlRwmTalPQWJrQJIxec0Y3/IkG50=; b=VF+hsoV9KgIXzM2+VhNj+YhzNV8uKNB0eV2W6PjGkZ/hj26jUpTuD2Qu9KvOAH+Om/cSfe 1pqPQ1r4kVVDAoeRupF4KU87y0ULBZA0omyAJaMeqoGslQaPYioBkp1r5/JUecNn8meoQA ZtUt5x/K9Lua7+SHnGxgdboG60NBrsVu0Nu6CZ0Zh3kx2A9v9NEYeKUo4p0Ps1K6YgmKwv 8p68YTKsbXjtJKaiUvtglicmCrjOF9tfjHHgm5Oax7fQ50PNi6qx7jZNR5bRLPSyVCSnKy /wMtOcwQ9bvo18lhLiwfWYu6MWjlJZfSkWij/oC4kh6G6Os+que09vMFJGjQKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682530331; a=rsa-sha256; cv=none; b=HxQnnjFjnrd6RSRRjUpmJuA/xylMrdE8J3zCq32Zv8R0Q/YKFuVTQVtsnGXFu7trvDXpM4 blZQYlvD8F4nbJ7s6tPLljpp6nDisWNecy0gSDCo1sN90A96pcY644zcflZO3/5V4/oXVJ +M6Kawg19S7zCJaVRr/eamakxNrUqGC90WUSs89RK9kbc/vDnuxdB1jWtAkdhz4vsksAAO yg8JsQKVOaZ0FhntFX0tOV4L32KF0yFXeZoGIrIc4v44S15HFp2+5Wa0CJfPkc3IPG/HIm TWH79f/oJBani8ew4TcLKcmG9t+e1P3O5+q25NX0QLMmdn4rtmnT+Q3eLnebiA== 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 4Q65XV73Nhzk1c; Wed, 26 Apr 2023 17:32: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 33QHWAHd015982; Wed, 26 Apr 2023 17:32:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QHWAvd015981; Wed, 26 Apr 2023 17:32:10 GMT (envelope-from git) Date: Wed, 26 Apr 2023 17:32:10 GMT Message-Id: <202304261732.33QHWAvd015981@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 362677cae8e9 - stable/13 - loader: comconsole: don't unconditionally wipe out hw.uart.console List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 362677cae8e9ac4c6f7ff4d74a4378ea11d47797 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=362677cae8e9ac4c6f7ff4d74a4378ea11d47797 commit 362677cae8e9ac4c6f7ff4d74a4378ea11d47797 Author: Kyle Evans AuthorDate: 2023-04-14 04:41:22 +0000 Commit: Kyle Evans CommitDate: 2023-04-26 17:30:19 +0000 loader: comconsole: don't unconditionally wipe out hw.uart.console It may be the case that we need to set hw.uart.console manually in some scenarios that comconsole can't necessarily support. Avoid clobbering hw.uart.console unless we've actually selected comconsole so that one could at least get kernel console output.. Discussed with: imp Sponsored by: Zenith Electronics LLC Sponsored by: Klara, Inc. (cherry picked from commit ec671f4980437008b0119c6367816083e15fa503) --- stand/i386/libi386/comconsole.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stand/i386/libi386/comconsole.c b/stand/i386/libi386/comconsole.c index ed1f1aa08ed7..6d48e876fa37 100644 --- a/stand/i386/libi386/comconsole.c +++ b/stand/i386/libi386/comconsole.c @@ -324,12 +324,13 @@ comc_setup(int speed, int port) char intbuf[64]; int tries; - unsetenv("hw.uart.console"); comc_curspeed = speed; comc_port = port; if ((comconsole.c_flags & (C_ACTIVEIN | C_ACTIVEOUT)) == 0) return; + unsetenv("hw.uart.console"); + #define COMC_TEST 0xbb /* * Write byte to scratch register and read it out. From nobody Wed Apr 26 17:32:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q65XX2qvQz4737K; Wed, 26 Apr 2023 17:32: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 4Q65XX2Cc1z3pj1; Wed, 26 Apr 2023 17:32:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682530332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xoYRU/uKqS6e8Wy5BPlXoKi9W6regw2B+NGJz49FyeQ=; b=NzghfVc0NBiEwPWgbN3dI9PfYcPE/eL6G5rcvh5AmYw5bf0NRjI+dv0NU+vQSPF8YJ0Ft0 4VET9jIjfydYTS2KMp4IgtL/g+Pw/tDEG1gA78CqBTXixd2GaJM4AG25H/4CHiPhOCEK69 XKeS4iGwaC21lKmEQcnbbxvLpb7qSStztklQj2bWjJBf5jYQNFRznNyfrrkBlA7A/ZrReD ciwfPfvZbLgO6YKEPvydmP0e43WV1HUyDdiOaDoUqGasufu1Ysu6GpplBxoJdtTN/WIZva BJ44nFUur/K9vrEkqYSDs5SfdfR9/rfFXkThFuBGJNvVZRnxjFP6f8p6Xg1RZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682530332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xoYRU/uKqS6e8Wy5BPlXoKi9W6regw2B+NGJz49FyeQ=; b=r22Rl4sYyQdImcXvaDPYEJ+fzto4z6NpUV+mjoRVeY1dPGDDzGtvEPmg6yB0oIEzbvjna1 xDC4Xbbu047iBtA3ChOnTgXTErXYCcds1lQFj6A32muyeQjyWEEFQQ+YZTiy7CFMKf8o4V ch0BAFABZrwH5O24LKyRYkRaeb2tAsxz2k8/l8dGzC6+HLg2gT51Cy4WsF2u25VOULyj4/ zKn+ORD1CdhLk0pgtu+AAlV8R/6KbH4xfZzCGQjh8ocomKw/D9Y/eVH4xUfc+XrYb0YSMK PG6qhISe4UTDynGEW+gfEO7/xjQ3anWM7AEYvqZulSSfKmHq+lIyx4fXzvWV8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682530332; a=rsa-sha256; cv=none; b=yxhLDZu2ysanirBlVkx6/NnePhrekGCY1iyZ4kvMo8TEtpmT3SfKHisnqEV7CsK+N4vsgx Xx2uEEMxhrLdFqgiPiJLjhJUZBDeR0TnQFRE5resW+dxPrIZ96YtijGd4vXrqF16cI/uXf L1Y36MDe6WqxD25Lotp/5xw67XBo5iTV3cOv89rSHVnlM8zo/WlGJ75fqeUqEdnlTWmoV+ QQDmiW833ufwutKcrmvuvO/Rsq/W17Uq9gnZgPABnNSbQASE2bbllIGpEPTXX9fCe8sBWC DdpWYqeMhoMmGgJiveoJ6sLOwr5ac0BwlZp08VeMuaRuqXjZGUHBA0DxJZTBCg== 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 4Q65XX0vS7zkSf; Wed, 26 Apr 2023 17:32: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 33QHWCIf016006; Wed, 26 Apr 2023 17:32:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QHWCcg016005; Wed, 26 Apr 2023 17:32:12 GMT (envelope-from git) Date: Wed, 26 Apr 2023 17:32:12 GMT Message-Id: <202304261732.33QHWCcg016005@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 7c0af1af0a8b - stable/13 - uart(4): add Sunrise Point UART controllers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7c0af1af0a8b467b8c61ee9b3aef0e527536deaa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=7c0af1af0a8b467b8c61ee9b3aef0e527536deaa commit 7c0af1af0a8b467b8c61ee9b3aef0e527536deaa Author: Kyle Evans AuthorDate: 2023-04-14 14:52:48 +0000 Commit: Kyle Evans CommitDate: 2023-04-26 17:30:20 +0000 uart(4): add Sunrise Point UART controllers Sponsored by: Zenith Electronics LLC Sponsored by: Klara, Inc. (cherry picked from commit d1b6271118188dd25a18f2372ab1d3004335ea3c) --- sys/dev/uart/uart_bus_pci.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/dev/uart/uart_bus_pci.c b/sys/dev/uart/uart_bus_pci.c index cf7fbb99b3d5..eaf4fde27236 100644 --- a/sys/dev/uart/uart_bus_pci.c +++ b/sys/dev/uart/uart_bus_pci.c @@ -178,6 +178,8 @@ static const struct pci_id pci_ns8250_ids[] = { { 0x8086, 0x8d3d, 0xffff, 0, "Intel Corporation C610/X99 series chipset KT Controller", 0x10 }, { 0x8086, 0x9c3d, 0xffff, 0, "Intel Lynx Point-LP HECI KT", 0x10 }, +{ 0x8086, 0x9d27, 0xffff, 0, "Intel Sunrise Point Controller 0", 0x10, 0, 2 }, +{ 0x8086, 0x9d66, 0xffff, 0, "Intel Sunrise Point Controller 2", 0x10, 0, 2 }, { 0x8086, 0xa13d, 0xffff, 0, "100 Series/C230 Series Chipset Family KT Redirection", 0x10 }, { 0x9710, 0x9820, 0x1000, 1, "NetMos NM9820 Serial Port", 0x10 }, From nobody Wed Apr 26 17:48:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q65ty4XRLz4741l; Wed, 26 Apr 2023 17:48: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 4Q65ty29fpz3rGf; Wed, 26 Apr 2023 17:48:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682531290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1NABKjPZ45NzNAsk4H5sIOVekvnWfDhOqlZyxtvCuzg=; b=rIGFC6+3bIESD5S1ChH+Op5XHiUrFz1yHUDor/KRng/8iuNcZCk7tJWydD8TyU25tZZMLp 0iHaxe+TCaQAqvf20KN9tB4cuP46xBF1QN7TpvJYF54dmY6ZvHAGx4UmqsbETYPh0nLhOu E1yJOH7mhVMKpT+AHLOHGpAVhouzKwALxLF3EtBdS9YROBjOXMl6KCqzXoo23bgihAjbvs r+dc937jMSPWCTlfRJYsX9vx6DVcu3Dbw8anIrmGIbHRZKVCsigg7e7OyZmj9DgfCnzWL5 xKeeJGX5AUdyaKarBSPFAsaJBsbB4XHgaXixMjxAMr+3jPE+S/SK0pI9VTlg6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682531290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1NABKjPZ45NzNAsk4H5sIOVekvnWfDhOqlZyxtvCuzg=; b=ub+VGbY7wJzRgwU4c9FKIj9sTad42EaYMf3uON0KWit8hLYHSkE0Jn0zq9HP6X+2Qsakpe 7Gq0VL0ihAfuP0E2SW+OqnJDZaUf4u4YbzEr58tvCXQUloZdiym4mP4pF1VENrIFeo0AG8 /VrnedN46AHL3LqW5zENdcHRQUC/GDX4lWtNvFKxVvFTBmw8b8mPeMJG2qhGSmBKIliiui XcmGR4k8EKUWjH76ybTPbDryaBmzYGtnax1fdhtXoUsXSc806Ef2C8H9il6DEz14FKThzR EbvxCaq3N64aKV1i+FDog4MTgX3PcjKyCfuY7zevyUgWK1iice4Pkn6ho8hqlw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682531290; a=rsa-sha256; cv=none; b=lR1+OVW+JB2qBQoVCdv8R2zj9yzu04gnd7f/7Ik16KvqtKDxu9Po6D99lRyX3aInFFbszN 67YbPc2/9gO8YEQRYTkvVKEA3hRF0lppM3XJQeSlXBouo7DhvZqnPcjt5kj54b89dCinW0 Jru+2XShgLmSpC/poY7Yas1mGzBDRnjTdXrY2KFRnFm7lclwOotD1D8znt3nsp3N7sTlw2 X8W1AUF3PDx25uC/57vf3vM5LGsZk0lcC993qvO8TzF90rcmzpa5rLVnArz4HKsrmFLAPw quAxBe0NMAd7wWUr8qH68lKvvxNGnzgLfi33wbHQEau6iIgADq7BzLA8UcewYw== 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 4Q65ty1FNhzkgP; Wed, 26 Apr 2023 17:48: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 33QHmAQa034069; Wed, 26 Apr 2023 17:48:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QHmA7N034068; Wed, 26 Apr 2023 17:48:10 GMT (envelope-from git) Date: Wed, 26 Apr 2023 17:48:10 GMT Message-Id: <202304261748.33QHmA7N034068@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: b73183d1a243 - main - ipv6: disable RFC 4620 nodeinfo by default List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b73183d1a243d486e3889bd71800e94812f5fa17 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b73183d1a243d486e3889bd71800e94812f5fa17 commit b73183d1a243d486e3889bd71800e94812f5fa17 Author: Ed Maste AuthorDate: 2023-04-24 19:41:45 +0000 Commit: Ed Maste CommitDate: 2023-04-26 17:47:59 +0000 ipv6: disable RFC 4620 nodeinfo by default RFC 4620 is an experimental RFC that can be used to request information about a host, including: - the fully-qualified or single-component name - some set of the Responder's IPv6 unicast addresses - some set of the Responder's IPv4 unicast addresses This is not something that should be made available by default. PR: 257709 Submitted by: ruben@verweg.com Reviewed by: melifaro Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39778 --- sys/netinet6/in6_proto.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/netinet6/in6_proto.c b/sys/netinet6/in6_proto.c index 971b61c74899..557edaf2e7e1 100644 --- a/sys/netinet6/in6_proto.c +++ b/sys/netinet6/in6_proto.c @@ -193,8 +193,7 @@ VNET_DEFINE(int, icmp6_rediraccept) = 1;/* accept and process redirects */ VNET_DEFINE(int, icmp6_redirtimeout) = 10 * 60; /* 10 minutes */ VNET_DEFINE(int, icmp6errppslim) = 100; /* 100pps */ /* control how to respond to NI queries */ -VNET_DEFINE(int, icmp6_nodeinfo) = - (ICMP6_NODEINFO_FQDNOK|ICMP6_NODEINFO_NODEADDROK); +VNET_DEFINE(int, icmp6_nodeinfo) = 0; VNET_DEFINE(int, icmp6_nodeinfo_oldmcprefix) = 1; VNET_DEFINE_STATIC(int, ip6_log_interval) = 5; From nobody Wed Apr 26 18:01:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q66BN52jXz4757d; Wed, 26 Apr 2023 18:01: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 4Q66BN4cNqz3xsP; Wed, 26 Apr 2023 18:01:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682532092; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ikwqU+/nWtXV9zlPc17zuUWqucMqWVRmZUYrSrjttjc=; b=URRvtIKE9gbEvJDaGXHd0sPwDVqhy4daJ/w9F0re8iKQ3nKhpiGvWKTGMmtPcVfijSGvFo s9uludrQQU8Jba3ZnT3X8Itl8jSVRAiXcic997+i7NLazINR4/lLfQZH7ACwWqcEtVsnpz Ch3/qlHuUn8f1tX1YdU+ApLuEIWBEB971BGrv4628KucfQRNMdDyt90d5FCbpEZzJ89l/y 7Xyf6bdCw03K9UB6uNhJlKe0tk5vRuwyVlELyEPQHXBzuDo7KtLhDXxdgjacVIK2R9kno/ 9ypufWF++UNdsZnRpmzanZddm/NobI1Fp4gMtTPbewlAJ4P699Lqshth7OJugQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682532092; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ikwqU+/nWtXV9zlPc17zuUWqucMqWVRmZUYrSrjttjc=; b=wp62u4U+QJhUwOyuWjxRrjWekHXX+H4m27tcVsfidDZift1DRgPhJj0MLEQHRBxZqYg8UB /B8ISLZM5DO9lNlHK10Ll3ifV/RWaEcpTMI1PtoBmRckaETjVUqBgZRKMKmiZ+SQt4vzYw 7DXGWW83SEfYB5tk8mBP9YML3KQiZEv7QA0ohjRKJNVKGXa/vA3SPPGlTXZwkluAAWDx9Y AcTBNF8uQaVxGvcCsf/sRvWQgBAUTmqSKqhKAWK9afV88y1OSW6IqfrsA9DosHIqdiJZdh 8QCsP2FzU7TIqlZcNAjcKJsbBCEQuwujkgvcpEFFQfLmW53NVmD+myqD/n7X9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682532092; a=rsa-sha256; cv=none; b=hsolrrld/13m0AIkPhex4mv0mxDERHRElBEYqJczFwIqha9WqxaYmGmXExCuvSmeOs2haW 4Iitd2htd4F3flUoqTu4ofBfWm54v7l79T8v83azelWAZz2cD6TZ3OnJM7VqT1hopEh8+i E0WGf0OMSccfr71QUnOAQTfWVhJb7pMeGJelTyc9zKiQzSYBBKFfNrfbdcVTkcSFrl0ErU sjqZR5QcusKVdOgK0G92YKdFKfNpdEiVE37h9xRyqydOQi5c5e2IvzTzrmsH5hSmG0cDIv H8/tBoKo+flpIlCFIie3DhoETP2XSlIg7AtyjF7cYlihiJu9BKpYmlsei8Cexg== 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 4Q66BN3jVjzl1q; Wed, 26 Apr 2023 18:01: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 33QI1WoE063850; Wed, 26 Apr 2023 18:01:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QI1W4S063849; Wed, 26 Apr 2023 18:01:32 GMT (envelope-from git) Date: Wed, 26 Apr 2023 18:01:32 GMT Message-Id: <202304261801.33QI1W4S063849@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: d09a955a605d - main - zfs: Fix positive ABD size assertion in abd_verify(). List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d09a955a605d03471c5ab7bd17b8a6186fdc148c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=d09a955a605d03471c5ab7bd17b8a6186fdc148c commit d09a955a605d03471c5ab7bd17b8a6186fdc148c Author: Mateusz Guzik AuthorDate: 2023-04-26 17:59:24 +0000 Commit: Mateusz Guzik CommitDate: 2023-04-26 18:00:36 +0000 zfs: Fix positive ABD size assertion in abd_verify(). This cherry-picks upstream: commit bba7cbf0a481ab16f9a9a4874b7dbd5682e4d3a4 Author: Alexander Motin Date: Wed Apr 26 12:20:43 2023 -0400 Fix positive ABD size assertion in abd_verify(). Gang ABDs without childred are legal, and they do have zero size. For other ABD types zero size doesn't have much sense and likely not working correctly now. Reviewed-by: Igor Kozhukhov Reviewed-by: Brian Behlendorf Signed-off-by: Alexander Motin Sponsored by: iXsystems, Inc. Closes #14795 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/contrib/openzfs/module/zfs/abd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/contrib/openzfs/module/zfs/abd.c b/sys/contrib/openzfs/module/zfs/abd.c index d4921d0ba7db..26222d2efe3f 100644 --- a/sys/contrib/openzfs/module/zfs/abd.c +++ b/sys/contrib/openzfs/module/zfs/abd.c @@ -109,7 +109,6 @@ void abd_verify(abd_t *abd) { #ifdef ZFS_DEBUG - ASSERT3U(abd->abd_size, >, 0); ASSERT3U(abd->abd_size, <=, SPA_MAXBLOCKSIZE); ASSERT3U(abd->abd_flags, ==, abd->abd_flags & (ABD_FLAG_LINEAR | ABD_FLAG_OWNER | ABD_FLAG_META | ABD_FLAG_MULTI_ZONE | @@ -118,6 +117,7 @@ abd_verify(abd_t *abd) IMPLY(abd->abd_parent != NULL, !(abd->abd_flags & ABD_FLAG_OWNER)); IMPLY(abd->abd_flags & ABD_FLAG_META, abd->abd_flags & ABD_FLAG_OWNER); if (abd_is_linear(abd)) { + ASSERT3U(abd->abd_size, >, 0); ASSERT3P(ABD_LINEAR_BUF(abd), !=, NULL); } else if (abd_is_gang(abd)) { uint_t child_sizes = 0; @@ -130,6 +130,7 @@ abd_verify(abd_t *abd) } ASSERT3U(abd->abd_size, ==, child_sizes); } else { + ASSERT3U(abd->abd_size, >, 0); abd_verify_scatter(abd); } #endif From nobody Wed Apr 26 18:02:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q66CW226yz4757t for ; Wed, 26 Apr 2023 18:02:31 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (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 4Q66CV3KsCz40C9 for ; Wed, 26 Apr 2023 18:02:30 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-94f32588c13so1099887766b.2 for ; Wed, 26 Apr 2023 11:02:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20221208.gappssmtp.com; s=20221208; t=1682532148; x=1685124148; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=qnw8mcac1ScW2hP4IhlHNnpPvocP1d1zCaUmyT2th3w=; b=x1vAOlp/Bso8F98QGb/io2pKyJoLyZRjDWnbvB6F2MlozBeWPK2EhYF2rwHdcLaEc8 z773jBpN7w/Ke6ysIhPs9/yfy3AtlycBA4q06zj6R/k4edXVkNcxg2GRyzU1ZROocNO+ 7nIJtYU/mR1ArnhLZwAITGJLX3CkihbudF5QxKN9jwvTRKSY/05Oelps98vTlJjvPp6a 807m6aDY7a5cp75LqRmwAFqJLF0Ld5zSbrD0DzOFUuGrJPzocNL/4n65ivkKykM8dc5+ wND6dyyboHIJxlY1s2AajosfBWV8ec5Nb4WxaRUNei7bpucmdy7prd2Ncv12u/IsW5mO LrNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682532148; x=1685124148; 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=qnw8mcac1ScW2hP4IhlHNnpPvocP1d1zCaUmyT2th3w=; b=QUfB5pFX4wDYeFBuGEKVKO3RBYuvvlrCuPNCO3idwzLw07RPiMig+A00r3PPRi4fQh 1Ow6m+n43hFHiBCwtGrORG+D3BkAZ1pFhX/coTT/peSQFCsje9eeOhd7HuJ6LBRo3ef4 Xz8XW1iOiE1bKTX0SphXiBQuQ+5RqDl5HPV/ODPn1NBVigSgiEXFy5f0Ol9K0A5RtB29 2jCaiQ2BCFgBci9rwJdwsW58Iy7ez6R9V2fMNWMgd+AQKkMfrP5/z4Qe2/h7/bcS88eO pWYzBIm6i/Uq50n8KzPhYDXuEpnZoc2vJTq9aqGWHbLrlGr0YxsRQYrM16taGNTDYy0e 1+1g== X-Gm-Message-State: AAQBX9dajcR1PDp+XbZGHX0ZBKJlKJs7+4UN3UAjvGd4plr9RHyTckSb aXxzfQ9ZQ8SSi8Ho+g3RcdHouMasdGM1yqDRNKztqA== X-Google-Smtp-Source: AKy350a4vbm42piT4IkTYVsKzcbcXm+vienS1xOypC/G4A6qDM4NBcNmAN9mEyqpNDxeTjC5IBGSIh1sDaLJwqiZCjM= X-Received: by 2002:a17:906:b6c4:b0:94a:4fc5:4c2e with SMTP id ec4-20020a170906b6c400b0094a4fc54c2emr17597028ejb.49.1682532148451; Wed, 26 Apr 2023 11:02:28 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202304261724.33QHOl6x001199@gitrepo.freebsd.org> In-Reply-To: <202304261724.33QHOl6x001199@gitrepo.freebsd.org> From: Warner Losh Date: Wed, 26 Apr 2023 12:02:19 -0600 Message-ID: Subject: Re: git: ce5a210997da - main - openzfs: arm64: implement kfpu_begin/kfpu_end To: Kyle Evans Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000082ee305fa410b01" X-Rspamd-Queue-Id: 4Q66CV3KsCz40C9 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 --000000000000082ee305fa410b01 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Apr 26, 2023 at 11:24=E2=80=AFAM Kyle Evans wr= ote: > The branch main has been updated by kevans: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3Dce5a210997da3c4064cfe162e760379= f1fa8b587 > > commit ce5a210997da3c4064cfe162e760379f1fa8b587 > Author: Kyle Evans > AuthorDate: 2023-04-26 17:23:48 +0000 > Commit: Kyle Evans > CommitDate: 2023-04-26 17:24:00 +0000 > > openzfs: arm64: implement kfpu_begin/kfpu_end > > This is part one of a fix for booting with ZFS on arm64 using > accelerated checksum implementations. Checksum benchmarking will > attempt to use the FPU, so we currently panic quickly on boot. BLAKE= 3 > is still broken, as it clobbers x18 and we promptly discover that fac= t > as soon as we attempt to fetch curthread in kfpu_end(). > > Note that _STANDALONE is special-cased here, but ideally we wouldn't = be > building the code that uses kfpu_begin()/kfpu_end() at all in the > loader > environment. > Yes. As noted elsewhere, the upstream is a mess. There's no way to say "I only want the generic implementation" for these functions. So we went through some crazy hoops to try to disable that... only to run into a buzz-saw of upstream changes that broke the crazy hoops so now we're (bogusly in my opinion) forced to include the acceleration routines... which we effectively disable here... but since the boot loader is space constrained and the link time doesn't know that these routines will never be called, they bloat the boot loader... all because there's no effective way to turn off all the accelerated versions for arm like this happens to be for x86. I've not yet had a chance to implement the obvious solution of having an option just to turn every acceleration off and not even try to compile it in because the currount cross coupling makes that insanely hard (which is how we wind up with needing the _STANDALONE stuff here: if we could just disable all smd stuff, this file would never be included and we'd not need this silly implementation). Warner > Discussed with: imp (a bit) > Differential Revision: https://reviews.freebsd.org/D39448 > --- > .../include/os/freebsd/spl/sys/simd_aarch64.h | 28 > +++++++++++++++++++++- > 1 file changed, 27 insertions(+), 1 deletion(-) > > diff --git a/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.= h > b/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h > index 7d2e2db28017..9edbc5f40455 100644 > --- a/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h > +++ b/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h > @@ -44,13 +44,39 @@ > #define _FREEBSD_SIMD_AARCH64_H > > #include > +#include > #include > +#include > #include > +#include > + > +#ifdef _STANDALONE > > #define kfpu_allowed() 0 > -#define kfpu_initialize(tsk) do {} while (0) > #define kfpu_begin() do {} while (0) > #define kfpu_end() do {} while (0) > + > +#else > + > +/* > + * XXX kfpu_allowed() should be 1, but this is pending a fix to the BLAK= E3 > + * generated assembly to avoid clobbering x18. Turn it back on after th= at > + * lands. > + */ > +#define kfpu_allowed() 0 > +#define kfpu_begin() do { > \ > + if (__predict_false(!is_fpu_kern_thread(0))) \ > + fpu_kern_enter(curthread, NULL, FPU_KERN_NOCTX); \ > +} while(0) > + > +#define kfpu_end() do { > \ > + if (__predict_false(curthread->td_pcb->pcb_fpflags & > PCB_FP_NOSAVE)) \ > + fpu_kern_leave(curthread, NULL); \ > +} while(0) > + > +#endif > + > +#define kfpu_initialize(tsk) do {} while (0) > #define kfpu_init() (0) > #define kfpu_fini() do {} while (0) > > --000000000000082ee305fa410b01 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Wed, Apr 26, 2023 at 11:24=E2=80= =AFAM Kyle Evans <kevans@freebsd.o= rg> wrote:
https://cgit.= FreeBSD.org/src/commit/?id=3Dce5a210997da3c4064cfe162e760379f1fa8b587
commit ce5a210997da3c4064cfe162e760379f1fa8b587
Author:=C2=A0 =C2=A0 =C2=A0Kyle Evans <kevans@FreeBSD.org>
AuthorDate: 2023-04-26 17:23:48 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2023-04-26 17:24:00 +0000

=C2=A0 =C2=A0 openzfs: arm64: implement kfpu_begin/kfpu_end

=C2=A0 =C2=A0 This is part one of a fix for booting with ZFS on arm64 using=
=C2=A0 =C2=A0 accelerated checksum implementations.=C2=A0 Checksum benchmar= king will
=C2=A0 =C2=A0 attempt to use the FPU, so we currently panic quickly on boot= .=C2=A0 BLAKE3
=C2=A0 =C2=A0 is still broken, as it clobbers x18 and we promptly discover = that fact
=C2=A0 =C2=A0 as soon as we attempt to fetch curthread in kfpu_end().

=C2=A0 =C2=A0 Note that _STANDALONE is special-cased here, but ideally we w= ouldn't be
=C2=A0 =C2=A0 building the code that uses kfpu_begin()/kfpu_end() at all in= the loader
=C2=A0 =C2=A0 environment.

Yes. As note= d elsewhere, the upstream is a mess. There's no way to say "I only= want
the generic implementation" for these functions. So we= went through some crazy hoops
to try to disable that... only to = run into a buzz-saw of upstream changes that broke
the crazy hoop= s so now we're (bogusly in my opinion) forced to include the accelerati= on
routines... which we effectively disable here... but since the= boot loader is space constrained
and the link time doesn't k= now that these routines will never be called, they bloat
the boot= loader... all because there's no effective way to turn off all the acc= elerated
versions for arm like this happens to be for x86.
<= div>
I've not yet had a chance to implement the obvious s= olution of having an option just to
turn every acceleration off a= nd not even try to compile it in because the currount cross
coupl= ing makes that insanely hard (which is how we wind up with needing the _STA= NDALONE
stuff here: if we could just disable all smd stuff, this = file would never be included and we'd
not need this silly imp= lementation).

<rant off>

<= /div>
Warner
=C2=A0
=C2=A0 =C2=A0 Discussed with: imp (a bit)
=C2=A0 =C2=A0 Differential Revision:=C2=A0 https://reviews.freebsd= .org/D39448
---
=C2=A0.../include/os/freebsd/spl/sys/simd_aarch64.h=C2=A0 =C2=A0 =C2=A0 | 2= 8 +++++++++++++++++++++-
=C2=A01 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h = b/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h
index 7d2e2db28017..9edbc5f40455 100644
--- a/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h
+++ b/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h
@@ -44,13 +44,39 @@
=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 _FREEBSD_SIMD_AARCH64_H

=C2=A0#include <sys/types.h>
+#include <sys/ucontext.h>
=C2=A0#include <machine/elf.h>
+#include <machine/fpu.h>
=C2=A0#include <machine/md_var.h>
+#include <machine/pcb.h>
+
+#ifdef _STANDALONE

=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 kfpu_allowed()=C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 0
-#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 kfpu_initialize(tsk)=C2=A0 =C2=A0 do {}= while (0)
=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 kfpu_begin()=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 do {} while (0)
=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 kfpu_end()=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 do {} while (0)
+
+#else
+
+/*
+ * XXX kfpu_allowed() should be 1, but this is pending a fix to the BLAKE3=
+ * generated assembly to avoid clobbering x18.=C2=A0 Turn it back on after= that
+ * lands.
+ */
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 kfpu_allowed()=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 0
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 kfpu_begin() do {=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0if (__predict_false(!is_fpu_kern_thread(0)))=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0fpu_kern_enter(curt= hread, NULL, FPU_KERN_NOCTX);=C2=A0 =C2=A0 =C2=A0 =C2=A0 \
+} while(0)
+
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 kfpu_end() do {=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0\
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (__predict_false(curthread->td_pcb->pc= b_fpflags & PCB_FP_NOSAVE))=C2=A0 =C2=A0 \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0fpu_kern_leave(curt= hread, NULL);=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 \
+} while(0)
+
+#endif
+
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 kfpu_initialize(tsk)=C2=A0 =C2=A0 do {}= while (0)
=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 kfpu_init()=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0(0)
=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 kfpu_fini()=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0do {} while (0)

--000000000000082ee305fa410b01-- From nobody Wed Apr 26 18:07:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q66KB47wHz475Hv; Wed, 26 Apr 2023 18:07:26 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-yb1-xb29.google.com (mail-yb1-xb29.google.com [IPv6:2607:f8b0:4864:20::b29]) (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 4Q66KB3jN5z41dT; Wed, 26 Apr 2023 18:07:26 +0000 (UTC) (envelope-from mavbsd@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yb1-xb29.google.com with SMTP id 3f1490d57ef6-b8f32969ab0so13244972276.2; Wed, 26 Apr 2023 11:07:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682532445; x=1685124445; 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=Cacbz0WwusrUDlSYkM3czxOnB1JDew56lTRZITQ+HL0=; b=AlELOMvbDfa5ACFQLXKvExIw7DhwaRdYnSZBhZt6dzH9QcgQbv/YIBxUPKbPqtjisq 7wQxcvom21uCeUmAukfE/hbuEBPVRshUVjqrNLWf+XriEYY/NnMWBLDOa7+DmvH95QNC AguthPdtywOffSoE112fAa1197nfpW7l+2soVEVQLmP1WleaWqSFhDMBva/oP+bVjgjI ivfKQI3RuH7+e3EslkdXSt4deHI13WwRumxfEohht0vlhoWtnKAs7GRHp3dkDo6IzXtE 7RXIiYipt4SQcrrUBw7RtuzGgmLSlAzVPs9uF4UfeFmr6SkD3+eld6g2VFQXaC8GDFZU WS8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682532445; x=1685124445; 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=Cacbz0WwusrUDlSYkM3czxOnB1JDew56lTRZITQ+HL0=; b=RsuA/GP0P1ziapeuUQm3Y7JJMztK9l+R5agtIsZoR8tI+T6pz9a/GyjITGqDC99atL KdTzBK+P0hNb1Yq2SnFr89eCCh/B1+ngxSHMApBhnhM96HaVZ1T0buE1hIWqmtDCl0vr C/bKLIraNV2SBQ3F1K3TezqvVegmbG/AH8aekojwGX+H0PT/8o4OJxbiwC6IQHEHjp2k lF1qrhqq1cB5fwQQ1Udy3lFfrc9gQD2h6NdFSKiGoVlHgf1nFNeE5mIgTlgDfec9NKAm Wpx4kcmlo+qJ1RZXlM0e7ww7hZN0LC36rnefCF4dJqbfEsoIFfLVHzDq1W/mjiPJgPGX t8wQ== X-Gm-Message-State: AAQBX9fvzOLNc4SqNRqJKILaAozWf8zsGnOuTMsaQRPEiM6fHqrxdqci 7HDnyVbrDibZK9IJLrZYmAtxeSpViA8= X-Google-Smtp-Source: AKy350aAh8z9zWRbiEpJrApqGuENEG/4fd8M3CyfCvftFjIfMQcjRgURm+W21TRIpaV8S8RhpNL72g== X-Received: by 2002:a25:3627:0:b0:b96:29d0:dc35 with SMTP id d39-20020a253627000000b00b9629d0dc35mr16869703yba.50.1682532445404; Wed, 26 Apr 2023 11:07:25 -0700 (PDT) Received: from [10.230.45.5] ([38.32.73.2]) by smtp.gmail.com with ESMTPSA id 82-20020a251855000000b00b7d2204cd4bsm4119341yby.21.2023.04.26.11.07.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Apr 2023 11:07:24 -0700 (PDT) Message-ID: Date: Wed, 26 Apr 2023 14:07:23 -0400 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:91.0) Gecko/20100101 Thunderbird/91.13.0 Subject: Re: git: d09a955a605d - main - zfs: Fix positive ABD size assertion in abd_verify(). Content-Language: en-US To: Mateusz Guzik , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202304261801.33QI1W4S063849@gitrepo.freebsd.org> From: Alexander Motin In-Reply-To: <202304261801.33QI1W4S063849@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4Q66KB3jN5z41dT 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 I found it as part of some new development and never saw it triggered otherwise, so AFAIK it didn't require any urgency. On 26.04.2023 14:01, Mateusz Guzik wrote: > The branch main has been updated by mjg: > > URL: https://cgit.FreeBSD.org/src/commit/?id=d09a955a605d03471c5ab7bd17b8a6186fdc148c > > commit d09a955a605d03471c5ab7bd17b8a6186fdc148c > Author: Mateusz Guzik > AuthorDate: 2023-04-26 17:59:24 +0000 > Commit: Mateusz Guzik > CommitDate: 2023-04-26 18:00:36 +0000 > > zfs: Fix positive ABD size assertion in abd_verify(). > > This cherry-picks upstream: > commit bba7cbf0a481ab16f9a9a4874b7dbd5682e4d3a4 > Author: Alexander Motin > Date: Wed Apr 26 12:20:43 2023 -0400 > > Fix positive ABD size assertion in abd_verify(). > > Gang ABDs without childred are legal, and they do have zero size. > For other ABD types zero size doesn't have much sense and likely > not working correctly now. > > Reviewed-by: Igor Kozhukhov > Reviewed-by: Brian Behlendorf > Signed-off-by: Alexander Motin > Sponsored by: iXsystems, Inc. > Closes #14795 > > Sponsored by: Rubicon Communications, LLC ("Netgate") > --- > sys/contrib/openzfs/module/zfs/abd.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/sys/contrib/openzfs/module/zfs/abd.c b/sys/contrib/openzfs/module/zfs/abd.c > index d4921d0ba7db..26222d2efe3f 100644 > --- a/sys/contrib/openzfs/module/zfs/abd.c > +++ b/sys/contrib/openzfs/module/zfs/abd.c > @@ -109,7 +109,6 @@ void > abd_verify(abd_t *abd) > { > #ifdef ZFS_DEBUG > - ASSERT3U(abd->abd_size, >, 0); > ASSERT3U(abd->abd_size, <=, SPA_MAXBLOCKSIZE); > ASSERT3U(abd->abd_flags, ==, abd->abd_flags & (ABD_FLAG_LINEAR | > ABD_FLAG_OWNER | ABD_FLAG_META | ABD_FLAG_MULTI_ZONE | > @@ -118,6 +117,7 @@ abd_verify(abd_t *abd) > IMPLY(abd->abd_parent != NULL, !(abd->abd_flags & ABD_FLAG_OWNER)); > IMPLY(abd->abd_flags & ABD_FLAG_META, abd->abd_flags & ABD_FLAG_OWNER); > if (abd_is_linear(abd)) { > + ASSERT3U(abd->abd_size, >, 0); > ASSERT3P(ABD_LINEAR_BUF(abd), !=, NULL); > } else if (abd_is_gang(abd)) { > uint_t child_sizes = 0; > @@ -130,6 +130,7 @@ abd_verify(abd_t *abd) > } > ASSERT3U(abd->abd_size, ==, child_sizes); > } else { > + ASSERT3U(abd->abd_size, >, 0); > abd_verify_scatter(abd); > } > #endif -- Alexander Motin From nobody Wed Apr 26 19:09:50 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q67jB5fLtz478s6; Wed, 26 Apr 2023 19:09: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 4Q67jB4ylwz47QX; Wed, 26 Apr 2023 19:09:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682536190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W68ubPhq4TCDNVdyfyuJSDg6PtTR1hWOggscFkL3uj0=; b=STItygSF8kim5sEPUh7ujtGs0PIUIIJtC6zm9GoZnW6Xj+I9KK+IuVDuu0i28dBsMjmCCb O81Fon2+f43ZW513MauGx+qfbFMIlPUg/uzreQi0KjWhIwJNY0HNaSC9OK/wVRs5dpF0wx TsSHn+XEOgTVuY6c0MuGU4yWE7/b/yJn4gt+JVaCcuq/sxHif/PIpvNlwQsqClb+jXyKyk SQwOpeK0h8m5vdCWatxl58lt/DI9GSbgpr0M6lqH1HPMzkzo7tkfkPZYypWi3fVlqCYdNy O79AgeLGhRME3MjT6TQo4lIwbG3B8r9JbeelNN47kr4NmLE2wfec1/4bYZU+Dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682536190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W68ubPhq4TCDNVdyfyuJSDg6PtTR1hWOggscFkL3uj0=; b=qlaUYjyENtwG7lvlnCFIeNiuLNKWtKfMouSATlovF7TdPiMUFLydLIe3V3uyIk5uNXztdL vOmxBMvzfN4kIsoD6LKafFXlcw+vBiqgryvYp4pbqgfABC96Al54buELk9xbj+xpB7Bbcb G3WLCiVfaEpCrPut57Y0WKnnzmKXh8u7/QqK7DQCtJ4TAx9jf/ve8Q6F0k3DfNs564Vy2I AhLdJhCSxRqFB8bQvgkciOuqjZVEWOLg6q1VSBEkf5ZSAt5IEdTp1rgHYf2FxWET0htkfW Bq5nX0lnqUnOc3r2qYs4CtCxshvRUH9Aijr1hQ27lAoVJhJc5S91BrwLifBM5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682536190; a=rsa-sha256; cv=none; b=jpo4zjmlu93/xNPw2bn8MrrlLDFX9I4FqOcyxStH1W4Alb+hhR4mFSYNnNfa+UUCtELx2H tJXsUOU1pc4eG/a4x60i+bG907PFEOxggdMoH426+EkxAOdwIBiUhRH9DbBQ/rR8kJKcF3 tT0PWdLix2zZlHWY7lXjM+wtIvM/KwacfrvfChoNmwXoMn93Ugc6VcN0wUAZry1Xx2C3W+ YbPw3gqh2HF3NeKQCME7htJ9PBcyL1W6286Fe5dd9Cq/zOEBxs/rtL0DSj8V+mtmgtLdvv /LW5lJxIZtj8NkRv3YhEeRHD4zDFz0+Zwe1JwMEVfRy7/BxMgc3YQnlgMMQV/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 4Q67jB3xstzmDq; Wed, 26 Apr 2023 19:09: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 33QJ9oDs066325; Wed, 26 Apr 2023 19:09:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QJ9oTK066324; Wed, 26 Apr 2023 19:09:50 GMT (envelope-from git) Date: Wed, 26 Apr 2023 19:09:50 GMT Message-Id: <202304261909.33QJ9oTK066324@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: c7e5e9dc41ad - main - arm: remove interrupt nesting by ipi_preempt()/ipi_hardclock() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c7e5e9dc41ad619c14601fe01ec749e475415fe0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c7e5e9dc41ad619c14601fe01ec749e475415fe0 commit c7e5e9dc41ad619c14601fe01ec749e475415fe0 Author: Elliott Mitchell AuthorDate: 2022-12-14 20:36:47 +0000 Commit: Andrew Turner CommitDate: 2023-04-26 19:08:30 +0000 arm: remove interrupt nesting by ipi_preempt()/ipi_hardclock() This was needed when intr_ipi_dispatch() was called by hardware-specific IPI interrupt routines which didn't save the trap frame. Now all ARM interrupts pass through INTRNG which will have already saved the trap frame and disabled preemption. Remove the conditional trapframe/argument passing to the handlers. Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D37938 --- sys/arm/arm/machdep_intr.c | 8 +------- sys/arm/arm/mp_machdep.c | 26 +------------------------- sys/arm64/arm64/mp_machdep.c | 8 +------- 3 files changed, 3 insertions(+), 39 deletions(-) diff --git a/sys/arm/arm/machdep_intr.c b/sys/arm/arm/machdep_intr.c index cc2e67a6211e..cd92dd5f79ad 100644 --- a/sys/arm/arm/machdep_intr.c +++ b/sys/arm/arm/machdep_intr.c @@ -143,7 +143,6 @@ intr_ipi_lookup(u_int ipi) void intr_ipi_dispatch(u_int ipi, struct trapframe *tf) { - void *arg; struct intr_ipi *ii; ii = intr_ipi_lookup(ipi); @@ -152,12 +151,7 @@ intr_ipi_dispatch(u_int ipi, struct trapframe *tf) intr_ipi_increment_count(ii->ii_count, PCPU_GET(cpuid)); - /* - * Supply ipi filter with trapframe argument - * if none is registered. - */ - arg = ii->ii_handler_arg != NULL ? ii->ii_handler_arg : tf; - ii->ii_handler(arg); + ii->ii_handler(ii->ii_handler_arg); } void diff --git a/sys/arm/arm/mp_machdep.c b/sys/arm/arm/mp_machdep.c index 4b70869db52d..fa401ff5c6aa 100644 --- a/sys/arm/arm/mp_machdep.c +++ b/sys/arm/arm/mp_machdep.c @@ -282,41 +282,17 @@ ipi_stop(void *dummy __unused) static void ipi_preempt(void *arg) { - struct trapframe *oldframe; - struct thread *td; - - critical_enter(); - td = curthread; - td->td_intr_nesting_level++; - oldframe = td->td_intr_frame; - td->td_intr_frame = (struct trapframe *)arg; CTR1(KTR_SMP, "%s: IPI_PREEMPT", __func__); - sched_preempt(td); - - td->td_intr_frame = oldframe; - td->td_intr_nesting_level--; - critical_exit(); + sched_preempt(curthread); } static void ipi_hardclock(void *arg) { - struct trapframe *oldframe; - struct thread *td; - - critical_enter(); - td = curthread; - td->td_intr_nesting_level++; - oldframe = td->td_intr_frame; - td->td_intr_frame = (struct trapframe *)arg; CTR1(KTR_SMP, "%s: IPI_HARDCLOCK", __func__); hardclockintr(); - - td->td_intr_frame = oldframe; - td->td_intr_nesting_level--; - critical_exit(); } static void diff --git a/sys/arm64/arm64/mp_machdep.c b/sys/arm64/arm64/mp_machdep.c index 24dca3b21d54..0e39b27557ea 100644 --- a/sys/arm64/arm64/mp_machdep.c +++ b/sys/arm64/arm64/mp_machdep.c @@ -917,7 +917,6 @@ intr_ipi_lookup(u_int ipi) void intr_ipi_dispatch(u_int ipi, struct trapframe *tf) { - void *arg; struct intr_ipi *ii; ii = intr_ipi_lookup(ipi); @@ -926,12 +925,7 @@ intr_ipi_dispatch(u_int ipi, struct trapframe *tf) intr_ipi_increment_count(ii->ii_count, PCPU_GET(cpuid)); - /* - * Supply ipi filter with trapframe argument - * if none is registered. - */ - arg = ii->ii_handler_arg != NULL ? ii->ii_handler_arg : tf; - ii->ii_handler(arg); + ii->ii_handler(ii->ii_handler_arg); } #ifdef notyet From nobody Wed Apr 26 19:09:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q67jC6lDHz479CL; Wed, 26 Apr 2023 19:09: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 4Q67jC69LDz47pX; Wed, 26 Apr 2023 19:09:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682536191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WWUgzX9UDqYY0uPLVgqamV03JlNUUlRZMeGTWcn7aN4=; b=UtYhFLeG2ei2dejhhaddkzFhbxC3SwD+jSYw97yvyq3RSJdt6KVZz1m+esJXlJbuRt7Zpq apErkl5UzlbAhWfJCK1VQojWYzsouhONKsAm4oJmfvH29gaTY0wpXyi3l+YExJsmXIqYIl 8wJrbJcjt5+CReffzsZF09g1QlQBq+u8+CeWbZW7dB1p6fRjTTX0krXJoEK+44FarPkqrB cvNzTJX54DqjSqDh4UDnB8SbGk/h6Phgbe/XJI6MjwlLTPm5SPUyDfQT/4Y52I/20kXCZb pjitEC7G/QY3Go5xuixU8Xv6rj76Hpce2GjegwCG/vHyLdAJ1q9c49axljYXXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682536191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WWUgzX9UDqYY0uPLVgqamV03JlNUUlRZMeGTWcn7aN4=; b=EaDPDuKMKTNlAKjHlK1k8aF9x7bt2mWSbgskmUVKOV1PpWVGa70unwizZCS0A2hHPSRG+n xt7tXsN/0NYyof5VKKhktJTMF3wpCfbXDErhroZXIpn0pSxcAfNXRUcqmLBYy6xdujn2UE kcuqNSfahNpjVWAIsnCiSAkDfPFhtVYSiI6R9G1bm72GdCAW+19DwRFs5igIxDBUtmrZbA DsMBtQ+D7pDUHasW0uh9P84x+zsNQ0atAqxmXyWsHtZ4dxFRGtRNDqt9Rq1FC78BksLS43 iC1yy5Roc3FUcG6rAZ2S3UExNJUPV697/UQpFE5AujxnoIYREKyt09CynP+qgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682536191; a=rsa-sha256; cv=none; b=tj6BCloWPF4FWKcPg69kV1HkUVFAj4SGFaeaPxbi0QLblhQJ/2QhH/eM2bmKNR2OP16Jw/ GRUXJ1AwGprpkU98t0B1ml6bZqx+D+5IyO2vl4vG5qAewTsmyY3E7kqu2m1GSvGnjIVhrj DntQ69X24v90i9ZylEn8W3k9AekvDmjVwk7Fys0nyw4hsHPXTglKhj9qaAW162RR6Cj/FE buw5sHF+H9wRy245QQCXkl3Cfu+D5TxoW9SI16/hHh9RZh19XcXZHIy0JZygSEBvb/Sqbf l9OnbIfPkr7gLa+hKkrqWYnnGSv4/8M21Q1GNwImfvhQJvlBuyJ0bQmgcXydig== 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 4Q67jC4r9GzmK5; Wed, 26 Apr 2023 19:09: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 33QJ9p10066344; Wed, 26 Apr 2023 19:09:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QJ9p6f066343; Wed, 26 Apr 2023 19:09:51 GMT (envelope-from git) Date: Wed, 26 Apr 2023 19:09:51 GMT Message-Id: <202304261909.33QJ9p6f066343@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: d7e3b05b0de1 - main - arm: remove passing trapframe to intr_ipi_dispatch() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d7e3b05b0de118e6940c032f0c207c452028f253 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d7e3b05b0de118e6940c032f0c207c452028f253 commit d7e3b05b0de118e6940c032f0c207c452028f253 Author: Elliott Mitchell AuthorDate: 2022-12-14 21:59:17 +0000 Commit: Andrew Turner CommitDate: 2023-04-26 19:08:30 +0000 arm: remove passing trapframe to intr_ipi_dispatch() This was needed before INTRNG was in place and handling the push of curthread->td_intr_frame. Since INTRNG now handles this, there is no longer and need for playing around with the frame inside IPI interrupts. --- sys/arm/arm/gic.c | 2 +- sys/arm/arm/machdep_intr.c | 2 +- sys/arm/broadcom/bcm2835/bcm2836.c | 2 +- sys/arm/include/intr.h | 2 +- sys/arm64/arm64/gic_v3.c | 2 +- sys/arm64/arm64/mp_machdep.c | 2 +- sys/arm64/include/intr.h | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/arm/arm/gic.c b/sys/arm/arm/gic.c index d2d88237935e..a6f81254fe7d 100644 --- a/sys/arm/arm/gic.c +++ b/sys/arm/arm/gic.c @@ -573,7 +573,7 @@ dispatch_irq: #ifdef SMP /* Call EOI for all IPI before dispatch. */ gic_c_write_4(sc, GICC_EOIR, irq_active_reg); - intr_ipi_dispatch(sgi_to_ipi[gi->gi_irq], tf); + intr_ipi_dispatch(sgi_to_ipi[gi->gi_irq]); goto next_irq; #else device_printf(sc->gic_dev, "SGI %u on UP system detected\n", diff --git a/sys/arm/arm/machdep_intr.c b/sys/arm/arm/machdep_intr.c index cd92dd5f79ad..ab7cd76261d7 100644 --- a/sys/arm/arm/machdep_intr.c +++ b/sys/arm/arm/machdep_intr.c @@ -141,7 +141,7 @@ intr_ipi_lookup(u_int ipi) } void -intr_ipi_dispatch(u_int ipi, struct trapframe *tf) +intr_ipi_dispatch(u_int ipi) { struct intr_ipi *ii; diff --git a/sys/arm/broadcom/bcm2835/bcm2836.c b/sys/arm/broadcom/bcm2835/bcm2836.c index 50759cd45b6f..38247398a192 100644 --- a/sys/arm/broadcom/bcm2835/bcm2836.c +++ b/sys/arm/broadcom/bcm2835/bcm2836.c @@ -369,7 +369,7 @@ bcm_lintc_ipi_dispatch(struct bcm_lintc_softc *sc, u_int cpu, #else dsb(); #endif - intr_ipi_dispatch(ipi, tf); + intr_ipi_dispatch(ipi); } } #endif diff --git a/sys/arm/include/intr.h b/sys/arm/include/intr.h index c783c41fd35d..3215008adb0c 100644 --- a/sys/arm/include/intr.h +++ b/sys/arm/include/intr.h @@ -55,7 +55,7 @@ typedef void intr_ipi_send_t(void *, cpuset_t, u_int); typedef void intr_ipi_handler_t(void *); -void intr_ipi_dispatch(u_int, struct trapframe *); +void intr_ipi_dispatch(u_int); void intr_ipi_send(cpuset_t, u_int); void intr_ipi_setup(u_int, const char *, intr_ipi_handler_t *, void *, diff --git a/sys/arm64/arm64/gic_v3.c b/sys/arm64/arm64/gic_v3.c index 07ef8454afcf..dfa0f6c7cad1 100644 --- a/sys/arm64/arm64/gic_v3.c +++ b/sys/arm64/arm64/gic_v3.c @@ -631,7 +631,7 @@ arm_gic_v3_intr(void *arg) /* Call EOI for all IPI before dispatch. */ gic_icc_write(EOIR1, (uint64_t)active_irq); #ifdef SMP - intr_ipi_dispatch(sgi_to_ipi[gi->gi_irq], tf); + intr_ipi_dispatch(sgi_to_ipi[gi->gi_irq]); #else device_printf(sc->dev, "SGI %ju on UP system detected\n", (uintmax_t)(active_irq - GIC_FIRST_SGI)); diff --git a/sys/arm64/arm64/mp_machdep.c b/sys/arm64/arm64/mp_machdep.c index 0e39b27557ea..5e4c035586a5 100644 --- a/sys/arm64/arm64/mp_machdep.c +++ b/sys/arm64/arm64/mp_machdep.c @@ -915,7 +915,7 @@ intr_ipi_lookup(u_int ipi) * source mapped. */ void -intr_ipi_dispatch(u_int ipi, struct trapframe *tf) +intr_ipi_dispatch(u_int ipi) { struct intr_ipi *ii; diff --git a/sys/arm64/include/intr.h b/sys/arm64/include/intr.h index 30805d4f4a91..b088de827dbf 100644 --- a/sys/arm64/include/intr.h +++ b/sys/arm64/include/intr.h @@ -45,7 +45,7 @@ arm_irq_memory_barrier(uintptr_t irq) } #ifdef SMP -void intr_ipi_dispatch(u_int, struct trapframe *); +void intr_ipi_dispatch(u_int); #endif #ifdef DEV_ACPI From nobody Wed Apr 26 19:27:45 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q68672dtdz47BvW; Wed, 26 Apr 2023 19:27:59 +0000 (UTC) (envelope-from gkontos.mail@gmail.com) Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) (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 4Q68665dV4z4CcH; Wed, 26 Apr 2023 19:27:58 +0000 (UTC) (envelope-from gkontos.mail@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20221208 header.b=dqMQ2lql; spf=pass (mx1.freebsd.org: domain of gkontos.mail@gmail.com designates 2a00:1450:4864:20::22a as permitted sender) smtp.mailfrom=gkontos.mail@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lj1-x22a.google.com with SMTP id 38308e7fff4ca-2a8c30ac7e3so70579771fa.1; Wed, 26 Apr 2023 12:27:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682537277; x=1685129277; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=wjunn4+x2QEs4HRrQcozT7INn2DM0lGSHIZkmkDz3T0=; b=dqMQ2lql/EKx7PbAze06agfOuy+8wsCOegOOE5Z/CpmeJiPM+qQ5a1GxaJXjNsIszJ xaFP6WjyN1et3w6LE/4XTMiNj/ooYEjb6YAq8Htn7sSBcC+8BGAGrUOTIfknZye2JPnl 3W7q4ppQyALdNaJn3itekvOP5+nyq8sh69QivGLrZse+TUcvetYdYdiMzWv6ja6pfu1k YXBWDndY8oCJf5SMn1kvC6iWMqa1bUxNintCIIKrWFBvhvwwpn8ONy+QE+2JHz71+eW7 FazK9HK0XjsqGbhBxwfk9KHXw0FiCE5cpA6yDE0FhyAWkyc+jj3fFDijSCO/RBHzHk2l sJnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682537277; x=1685129277; h=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=wjunn4+x2QEs4HRrQcozT7INn2DM0lGSHIZkmkDz3T0=; b=Z9on1UcxoVncT4m0vT+vhugrqVIuJJcxZiMgPngZuap6TwQAn4UP4LarU3nVbyE0Ad Z/4W5/7I8qXHbQZEDWJTWZNglUOSeeXW7nAMaQT9XuB7gETXz+S70wwK/ZqPJ45NLkH+ 22dBKs3jG06sU3ZAlipvgRXPhlZLxv8N6Fhpcd3sVbPnq6hIpggIPDIBTHVg3XLNtHsn Kua1r2t03D/00EP1klA2jiJEK8cliq1XneGwWuK1IMVTHkK0oZmGOG0Itx5FU76KqMAG apdD9TtxGwJlve5vgDA11x6RTY6KdXHXgcFnFXAIfvCb8A645XDe5iCMlKeQgpHsfFHR vpNQ== X-Gm-Message-State: AAQBX9d9RS/mUAkAwbybULzxpHNaT+0FOCSjRYP8d4rhykXhkbO3TOM2 rRdu/ShMgch422tYZjMHWxcfr+47Dmtd170X7/7zK4rEIOw= X-Google-Smtp-Source: AKy350aJF/ugTinjApArASvwu1Ho2Hf2xidLmFGz2DQMQ6IQX7e4dpyqyD7C8jG5VIE0tCN0/2fNt40vBTq5MrrqRVA= X-Received: by 2002:a2e:9f4a:0:b0:2a7:9a7a:f864 with SMTP id v10-20020a2e9f4a000000b002a79a7af864mr5077828ljk.5.1682537276508; Wed, 26 Apr 2023 12:27:56 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202304261909.33QJ9p6f066343@gitrepo.freebsd.org> In-Reply-To: <202304261909.33QJ9p6f066343@gitrepo.freebsd.org> From: George Kontostanos Date: Wed, 26 Apr 2023 22:27:45 +0300 Message-ID: Subject: Re: git: d7e3b05b0de1 - main - arm: remove passing trapframe to intr_ipi_dispatch() To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [0.00 / 15.00]; NEURAL_SPAM_LONG(1.00)[1.000]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20221208]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36:c]; MIME_GOOD(-0.10)[text/plain]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::22a:from]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROMTLD(0.00)[]; TAGGED_FROM(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; RCPT_COUNT_THREE(0.00)[3]; FROM_HAS_DN(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; TO_DN_NONE(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4Q68665dV4z4CcH X-Spamd-Bar: / X-ThisMailContainsUnwantedMimeParts: N unsubscribe From nobody Wed Apr 26 20:19:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q69F26c0hz47FDC; Wed, 26 Apr 2023 20:19: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 4Q69F2674Dz4K0g; Wed, 26 Apr 2023 20:19:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682540342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nNh8tEBj8TRFCg++N0RE+I5I0KH7O2+F031LNNk8V1g=; b=B+G4dO3RjN56WKzStJXCLBKYGw3/uH7J88BCsrZ+8NxOzyY1L0s2DOBdzC15wiYtBsx3vO JN8DkUT0AvdCvY9e8FrWsX+Hk1opfj3May6+8LdFlKqO+SjHsmRzduSVuIYDQUj63J3p5I wB26DOe2ZmvOpBRAB2zkAXI7xS2Aq9tGU95i9WJlm2m/Wlf0lyL3xU0wZfHO9Lp3+S6TNG 265ANvhi4tWpcs8JxeKwjbZdaHQ1abvvLbGjAVQEDIlzIyF2Cq/tiOdH6v+aPF7EeYou8e 4VQ4ED8GiA/6m5Xik3lchPGI/QeZQ0p3U/4nhowKa+ZDPY1iMcsI6PEbc/EmVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682540342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nNh8tEBj8TRFCg++N0RE+I5I0KH7O2+F031LNNk8V1g=; b=P3/Pd2byzGceZWShbxwSCpkZhQx5UNpwT2iBC/ORqcCW2iCu1QLxq+C4y1PA3SVSWjqbPO BXjHhGPDD+Z+1u7xqfAg2cGUZN+FHFCMjgEOP0PrQ7f0MGfj5REPpuYAExpbyu25mOJo0P p/mM96uGJRNXcFxiW8c5rhAND63WPiphtOOp8bL/54IKg5PSQHl0K7ur9gwCESLz/zh4Ge tsRNK5gHKes7SFVmiWCUM96LAN0aGkAQQH/GLlOllTRsDw7hsMMmKgyko8nYJ+hYT2fz7l ffOj8jt4EVhdpg/vpw8FbZCaw6R+/cjiswe6qrP+uMRy8Cs5n9VKIDuHf6wBPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682540342; a=rsa-sha256; cv=none; b=g+WcXzyLwlsybRFJi4VpkqhK/K9yJkxfDpzPFbQfyoKFenL5UIzIo0B+Ok2GucBCmJQ/f5 afnBBX9nPNeA0mIBP51qnG3SUKZyi1VA/sGRk940anYhHJqEETu5VbbuewhMjwC7Cr6C60 xBdY4WzQjLNrlwFMCz0BmVMCFZIz0J6Ll1bTZp/jdnh2tJVr+mBHGsfC/JJYjCb9vQrN+a SK2t3iXq5EZh9+eO/qJZlqrXKAbiMg5yN6nPNE7LFIi1nQc6ae/lvIO6Vr23AS14siSYFg syt9eX9fX9k1MhWNkezqxGgfBdYTS4kp9RhLIXKloeEP5jTwearN9a0kiDkK9w== 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 4Q69F25BBqzpD7; Wed, 26 Apr 2023 20:19: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 33QKJ2U0081037; Wed, 26 Apr 2023 20:19:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QKJ2hF081036; Wed, 26 Apr 2023 20:19:02 GMT (envelope-from git) Date: Wed, 26 Apr 2023 20:19:02 GMT Message-Id: <202304262019.33QKJ2hF081036@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: 2d7842d0bfb4 - main - arp/ndp: Use valid prototypes for function declarations with no arguments. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2d7842d0bfb4257c5b1aba5c1e6f79e47735d71c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2d7842d0bfb4257c5b1aba5c1e6f79e47735d71c commit 2d7842d0bfb4257c5b1aba5c1e6f79e47735d71c Author: John Baldwin AuthorDate: 2023-04-26 20:18:53 +0000 Commit: John Baldwin CommitDate: 2023-04-26 20:18:53 +0000 arp/ndp: Use valid prototypes for function declarations with no arguments. --- usr.sbin/arp/arp_netlink.c | 2 +- usr.sbin/ndp/ndp_netlink.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/arp/arp_netlink.c b/usr.sbin/arp/arp_netlink.c index 30df255b591b..be52ca7fa92a 100644 --- a/usr.sbin/arp/arp_netlink.c +++ b/usr.sbin/arp/arp_netlink.c @@ -91,7 +91,7 @@ has_l2(struct snl_state *ss, uint32_t ifindex) } static uint32_t -get_myfib() +get_myfib(void) { uint32_t fibnum = 0; size_t len = sizeof(fibnum); diff --git a/usr.sbin/ndp/ndp_netlink.c b/usr.sbin/ndp/ndp_netlink.c index 163806a06047..e15dc900f0c7 100644 --- a/usr.sbin/ndp/ndp_netlink.c +++ b/usr.sbin/ndp/ndp_netlink.c @@ -105,7 +105,7 @@ has_l2(struct snl_state *ss, uint32_t ifindex) } static uint32_t -get_myfib() +get_myfib(void) { uint32_t fibnum = 0; size_t len = sizeof(fibnum); From nobody Wed Apr 26 20:22:45 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q69KM5Xxrz47FnR; Wed, 26 Apr 2023 20:22:47 +0000 (UTC) (envelope-from jhb@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 4Q69KM3HMPz4KxQ; Wed, 26 Apr 2023 20:22:47 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682540567; h=from:from:reply-to:subject: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=cjyO8zVB+nqgDsnRJzSYYXRDaK6H0BVkoDgoTB21nfA=; b=MgyQwPR+fpe0/JuJlyb7NhJM9gyEX+S1aPC9ITzepE0yc6aozuQREWeeOvRiACIEijNbGr fP6AFT26bsB5VD56Fh5ITrW2xB2Y/qy/aVkt2f+1/GDcDU/pnQ3xnTDhZQWW1A5MU/eb+U /UFnSQIC4HIFv9eiGkJFjqwO22yltysM+AdDUPjAkzbSWMo+2SPjFZ9/VZhR2MbsJ9weYo URs6snAQbZv2Al1afJ2IDXVHRdZ9wnfqlCKqR5bTmJ8g46ia65LQSVMJ5eq8fT8AYVkXE7 2MwxEqJbE+Zl8VUFJPqfgD/dei0CAzDRK/bpAeVDWKoIjxe/VxXOzxTk87ldmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682540567; h=from:from:reply-to:subject: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=cjyO8zVB+nqgDsnRJzSYYXRDaK6H0BVkoDgoTB21nfA=; b=l+vzJpzethIxoX3gkWnhxILLLfUwTVn/dQra0WpMawrT5SlF0SuTrPgJIFxQds/RnflNT/ a4gV9gZkIS+UT+4TNr+fdXuxtPxJ/c4cFQiF6W8wv+Jmw/JX5QNxUzJ4SMWMK8qnKG85dP a7hhJy6ohVY7o5/if817+C+91ehR7qPHDwzmMAX3SlS4LoLyU5UNIM34LfDvf8sIKLRg4B bYdgW9CCYZqIFOQ8PJLtm11O7Ln6A25xmIcbTGERP5+Hxlz6LqXe48x5x4kSP0UsEvXtvF bkKMiBCP8Tm7F78PdEvXZ9ssQGUKEsRGFqTq19NBooRjXKYOugMATidjNxUKFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682540567; a=rsa-sha256; cv=none; b=jYyDHxxef5llDppklp00uNXaGoW/c33+mKAGCvCm4bQsrp4ZEYqNPqEyHwjq5JTekhFXDP UuHdzHPZj7cjiodGTnIu8vbaCD8wcif1BB0q2qF6+9VxU/sASxUavVwQvWIFo1PyIal6FI PgI6HX+KyqRFfIqwVRV3sFkBpUI1ByYO74g+kvn5NaKxa7qcIjLz/36/zpr2KWWXzQgJPH eV2GGQJ8Z54yEsi15jSl8XwPUYyXeUE925yDUl/rtSWi8pIJd1x8h9vqhKKLCgkDbNQP0H JDsprHIMP/FtRoJJlSlZ+RIQMuKJs9mCEEBrxyQlUpQb8TTOOO6YpJrR35T6Dg== Received: from [IPV6:2601:648:8680:16b0:4873:5c14:f13a:ffd7] (unknown [IPv6:2601:648:8680:16b0:4873:5c14:f13a:ffd7]) (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 4Q69KL6qwhzkFf; Wed, 26 Apr 2023 20:22:46 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <8edff70f-c09f-462c-5821-cb44aebc4723@FreeBSD.org> Date: Wed, 26 Apr 2023 13:22:45 -0700 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: git: 2d7842d0bfb4 - main - arp/ndp: Use valid prototypes for function declarations with no arguments. Content-Language: en-US From: John Baldwin To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202304262019.33QKJ2hF081036@gitrepo.freebsd.org> In-Reply-To: <202304262019.33QKJ2hF081036@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On 4/26/23 1:19 PM, John Baldwin wrote: > The branch main has been updated by jhb: > > URL: https://cgit.FreeBSD.org/src/commit/?id=2d7842d0bfb4257c5b1aba5c1e6f79e47735d71c > > commit 2d7842d0bfb4257c5b1aba5c1e6f79e47735d71c > Author: John Baldwin > AuthorDate: 2023-04-26 20:18:53 +0000 > Commit: John Baldwin > CommitDate: 2023-04-26 20:18:53 +0000 > > arp/ndp: Use valid prototypes for function declarations with no arguments. > --- > usr.sbin/arp/arp_netlink.c | 2 +- > usr.sbin/ndp/ndp_netlink.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) There is not a valid reason for writing new 1980's C code in 2023. It's one thing to be updating legacy code to use proper function prototypes. It's another thing to be comitting brand new code to the tree that's from the stone age. -- John Baldwin From nobody Wed Apr 26 20:30:45 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q69Vn0Z5Wz47GBh; Wed, 26 Apr 2023 20:30:57 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Received: from HK2P15301CU002.outbound.protection.outlook.com (mail-eastasiaazlp170100000.outbound.protection.outlook.com [IPv6:2a01:111:f403:c400::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q69Vl0yWnz4MT3; Wed, 26 Apr 2023 20:30:55 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=microsoft.com header.s=selector2 header.b=IBLB0X5j; spf=pass (mx1.freebsd.org: domain of schakrabarti@microsoft.com designates 2a01:111:f403:c400:: as permitted sender) smtp.mailfrom=schakrabarti@microsoft.com; dmarc=pass (policy=reject) header.from=microsoft.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XCIct8H0W8MSFv62mGJNytNsBXpEPb6MJav1SBw8EETRz6/NbIzzkN17MYpnasMmnLO3EoDsLa+gATYxK/T4eDmVkOvhxPtgwt1gdIV444RthlUFKlBqquFaVntYJiOsktvgMAdZxbj3DhAmA3RW5GOcpeWet4OHKrVPpxIMHA5O4P0Xc3peHuDnMfejm9/pIXooV1R4gQexJGHZql68B3rrR+Q7YpqUeAyKtgcpOHzpxiieZze/qTPo2Yo4S/qHLCj9N979zBYavoYfdSzV6fNLdNMW4PskKZVjGDkF3aqXc57SyIRW+rr57BqdiNHWUI24wlxN7WSXv4a7VKvaLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0wYl3/n5USQTB0zVH5ya2Tu7N2XtNxiY6j6sqw8HVMQ=; b=YvkQ7+wI03Ni1wmP+QLStZC/yvBdRo7bykJ+8Qq+OjCiHwqWdfFAEmkCwZSuXBi3NpEFMGVpmq2FeBhVGppHPI589gjyIFtudbOmllHBdaoll1pJSr6xdFVwV7vnFNG8GYGu5E8DBnplGuD1cDcdcyJcCs1cyGAEsRe5TEpGHKDCdkRt0lFmTwuZOxHqJ7Hbf9KIOezKbb7G3d8xgr7Q/s0Lmh7J7p0X20Jw/aDuXUZ8DZTGsgh76H78SoSSBbDjBmXM9jA2BVtUziodborZ2Ymm0fXary9u2OpcWEUdBJMH2wiarlIljSCXueYtLwho8z3K7e3SfK4AhSqeQ8po3g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0wYl3/n5USQTB0zVH5ya2Tu7N2XtNxiY6j6sqw8HVMQ=; b=IBLB0X5jljt/kQSCkujMn5gjhPrk85ubbWF+h8BhpHto7nRqWS/Enmw/8lGdh76uGL7M+QJK7SvW5tzr7rwaDuhAgQbnhwbpyh70rA77rNl3FWtlKB7fHiVw8F+n2H3kEFbNR71KE+VbXq4pEFJxn3eBbYr8/E+yMArfiDZhNG4= Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM (2603:1096:301:75::14) by PSAP153MB0439.APCP153.PROD.OUTLOOK.COM (2603:1096:301:3c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.7; Wed, 26 Apr 2023 20:30:47 +0000 Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::3f0:d0e4:818f:7af0]) by PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::3f0:d0e4:818f:7af0%3]) with mapi id 15.20.6363.007; Wed, 26 Apr 2023 20:30:46 +0000 From: Souradeep Chakrabarti To: Kyle Evans CC: Wei Hu , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: RE: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Thread-Topic: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Thread-Index: AQHZcn/2gVTtqNix60WeYnOdZN2tzq86cNIwgAE7PnCAAPQkAIABB3EggABvAkA= Date: Wed, 26 Apr 2023 20:30:45 +0000 Message-ID: References: <202210271354.29RDsUoH077155@gitrepo.freebsd.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=21a74f30-ac77-4407-8a3e-65e511a6f288;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2023-04-26T13:52:21Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PSAP153MB0536:EE_|PSAP153MB0439:EE_ x-ms-office365-filtering-correlation-id: 764224e8-7100-421d-0747-08db46951d45 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oHPA1qsIbswDtR5WYSop3ELtR8hQwIv5lgUehFDr0kbiJytpmernlmdxMqcqCTEhkEYw308jJExhiC+6WQ+HIVg/FZ2Y2E4gNBGBh60jkKzKkNanJklCH09aybGOqmnrYajwPpsrgOdn+21yj04lXABSk9MXqQWF01qa1Gb+IHULN0Zh3OGtip+VUSnt9N8HI81gpBbZgfEbIoWBGLwsij/heCxu9042q3ebqKK/BNwb9y5hNJto5aN57iUTBSsOra9Ct/D+kWQBmMslEShRFE3r0lf693HosaQDhDeM0f/dJVPMGcXo6XaBz7y3iSpDgvdzqiS24Fy3aCvxpMHNUmAX+KwQHWcUvWPqxp9902fcYrk9f3Hw99xw7bH8Q9VylQFtVD14Efuau0nKf/aK8wJwNk1eYFu3OP8rZg1gSlDgmD+DqqMnbw+XeW6nplvsJt1hwtqOlHdbqszqWAQvCeTRyVv1EzOqkktgpO+OMuW2o7+wOIyMV/sJquTii+RE6NWBmCkbdMnlybX5uW4S24rOXIlW4AH44vffDdRzplOMh6Rnw7u82SVciRXk3djeszRxMQQdvKjUxj9ApJ9RFn7CaTa6doCDUDHwxU7iy71GqG9KFaORGFmrHvjwBE4+La+Bb1IZBb/JrGk0f8rDIw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PSAP153MB0536.APCP153.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(39860400002)(376002)(136003)(346002)(366004)(451199021)(52536014)(4326008)(316002)(786003)(64756008)(86362001)(6916009)(66476007)(2940100002)(186003)(66446008)(66556008)(66946007)(76116006)(83380400001)(41300700001)(54906003)(7696005)(55016003)(966005)(478600001)(33656002)(10290500003)(71200400001)(9686003)(6506007)(450100002)(26005)(5660300002)(8936002)(8676002)(38100700002)(82960400001)(82950400001)(8990500004)(122000001)(38070700005)(4001150100001)(2906002)(30864003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YWFBMzdzUmttSzZZVlhKdFJqejVKcTBqZmJaYVZCVHFZQ3cxMzB5TnFPRFhp?= =?utf-8?B?ejJMa1lYdnlxNXQ1dWszcThWakVORU1odVZ5VW81REtidnVqMDlndWRoNVll?= =?utf-8?B?WkNoODhUbUVnMytWUExsUGxnN1RETk9TRW01Vzk0UHc2eTVzaHlscXAxUU5k?= =?utf-8?B?TFhUckduallMbVI0dlYvZ3Z4TWluL2ljcUw0dUZaN1d0WVZQYVg4T3hqeFB1?= =?utf-8?B?U0lOODA3b0RrN3dkOS9TWEFjZTFSSDFBRUNjTnFHdU9SV3N5d2FXbDIxQ2xr?= =?utf-8?B?WTkzVVhtYWF4amd0RjdZNGkzM09Cd2NXVzFzTUMzWFh3dmZoclladEI5b3Rh?= =?utf-8?B?YlhnL01pTjZMSTYyUHc4eSszcGFtTy9NbFIrYS92SS8vMEFpYWtGbXFyQ1VC?= =?utf-8?B?YVZTWkhMMWZUVnRBUHlRUHhhZENBNC9UZkNjWmdVOTNiT0ZlTHh4U290ajF2?= =?utf-8?B?Mkt1amZ6RmREUkg1QnVoZEgzaVlYOU9RUVdvdG1OR0JkOUpFNVpBUVZ2eUto?= =?utf-8?B?dEhwWHU5VDc0ME03OEt5OUtQMHY3UzFIbXdsQ01TWG9CV2VlTmp0MUluRjRN?= =?utf-8?B?WHNadWFTUTI5UUpGZG1iY09FK2d2Y2hGclVyRmxFMUFQcWU3R1M4cDRkamVI?= =?utf-8?B?ZGFoYlJFMzcxQmY2OW0zTlo3cExhanR4MEZwRkUwd1VIK0xxd05GTTBPdmZR?= =?utf-8?B?OTJoVW1jclhuNUhtamg3Q2hJMFBvUGZFQ0V5M1V1UzFNbkRrWW5Gd1JiZVN1?= =?utf-8?B?VlhqSkIrMXVWL1pZV0twVi8yekVmL2ZwTk0yUU05SlkwdEFsZDhiOFBSYklE?= =?utf-8?B?dzZ0c21VdzM1ejUyRkJvWXd0Y2FjUUVCZXpQK21jREhOT0tGbGVCRkRDNHRG?= =?utf-8?B?a1R5dEtuMnFPRjFLWUlJQWtUaDZhU2hPSkZQK0g2eTJiL0JnbWNDSnlvaU5K?= =?utf-8?B?ZjhsdG53QjhsYjQvMVhYQVZqRUpwUmlVVzB3bmxVWVlCREllZTNoYzFCeEE2?= =?utf-8?B?emd6Ymt3cUg0VFFKMTJFYW1LaFVtbDNzRFI2S2xPVjFLN2RsWnVxM1lWL0t3?= =?utf-8?B?RmhyamMxaThXL1J1VkY3d1RrT0YwYWY4UGFpL3RNL2lHamlmN0J5NTVxVnh6?= =?utf-8?B?NFdWaDdFdHdoN0xaQmFJNjQzb3draWNKUmpJUFE0bzFNUENsOUVLZjBvY2Mx?= =?utf-8?B?ckZHdDVIQkVUbVUyZGpjVExzcFVPdEZiOVFjV1dScE15ckE0dTlPdkFFNWJn?= =?utf-8?B?L0picEovcWV6NnZOTGUxcTB3UFJYbzIrNkJyUHhlNGNJb0xLYTZpVStyemMy?= =?utf-8?B?MVpxWlplNTZ5N1FsckluclJzSFIyZUREQ1pKSXAzQVBReTdTNUlQS0ppZnN2?= =?utf-8?B?dWhvRHVmV3MxTEt2MTJwcEJYQnFQbnREdDRvMXNCS0N1VERCM3BpYXZ0NlBv?= =?utf-8?B?M0xSaUxxSFp1dE02STljZ2RlK05lbE5yc3IvNnZBa3VXNU10NmhDOHE0NVZM?= =?utf-8?B?MlhqTFpMUnZlVlFPK0ZweS9kWUZlOUhmbUtaV3NGclBBVDRVZDM0VGVlaGlu?= =?utf-8?B?VklUeUt0dnkzV2tGakpkVXVkdndtYWNNYVoxcC9rbnk2eGVmank5TUtWWmFl?= =?utf-8?B?MFhKWFg4aWxHZC9EUlZHZkFIZmxnZy8xN21nYytUOC9EZFpRcEFXK1QvejZK?= =?utf-8?B?ektjcldGZlZJV2R2OFF5SEEvYWhGU0tHUk5FVERwaXMzTUlxZ3JpWTNSZUFQ?= =?utf-8?B?cHBMSmJpalErSmI3cVBhNXEwdmZTTzFxWHF4UVc0VWlDdUhzVmV0RnJ5dU9s?= =?utf-8?B?dWVWa1pRNUN2SVNXSUdvWGdoQXFCaUNlYXVPTHg5WHY2VEJCQjRocElHeXVa?= =?utf-8?B?Z0hrbDlXYUtNRFZseEFKemZNbnZ6YXNCREs0Y1VXY1dRZUNlYzF6NG9yKyt2?= =?utf-8?B?UUJjY3dtTzZBa3h5SGhlTVdFeTJyVWp4dUFROU9CUjR1dnNQRFlDcU90blZz?= =?utf-8?B?S3BneVdyaWdFVCsvTmVIWUFuaThnZ3JGdWRENjc0WjgvZWw3aXQrUWRpMW4y?= =?utf-8?Q?Urmgkb?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PSAP153MB0536.APCP153.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 764224e8-7100-421d-0747-08db46951d45 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2023 20:30:45.8157 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: z3WxwsLTlY8FGTP7AmHtXl7UftWwdyZE1K1asF4X1IOh/976SSoVKmJKPOYo7Q2lvRh936Dot3HNWT5iYmh17aUc1HQj5ecAZMAZ19DC3YY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PSAP153MB0439 X-Spamd-Result: default: False [-8.89 / 15.00]; WHITELIST_SPF_DKIM(-3.00)[microsoft.com:d:+,microsoft.com:s:+]; DWL_DNSWL_LOW(-1.00)[microsoft.com:dkim]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.995]; DMARC_POLICY_ALLOW(-0.50)[microsoft.com,reject]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f403:c000::/51]; R_DKIM_ALLOW(-0.20)[microsoft.com:s=selector2]; MIME_BASE64_TEXT(0.10)[]; MIME_GOOD(-0.10)[text/plain]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; RCVD_COUNT_THREE(0.00)[3]; RCPT_COUNT_FIVE(0.00)[5]; FROM_HAS_DN(0.00)[]; DKIM_TRACE(0.00)[microsoft.com:+]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[] X-Rspamd-Queue-Id: 4Q69Vl0yWnz4MT3 X-Spamd-Bar: -------- X-ThisMailContainsUnwantedMimeParts: N DQoNCg0KPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogU291cmFkZWVwIENoYWty YWJhcnRpDQo+U2VudDogV2VkbmVzZGF5LCBBcHJpbCAyNiwgMjAyMyA3OjI2IFBNDQo+VG86IEt5 bGUgRXZhbnMgPGtldmFuc0BmcmVlYnNkLm9yZz4NCj5DYzogV2VpIEh1IDx3aHVAZnJlZWJzZC5v cmc+OyBzcmMtY29tbWl0dGVyc0BmcmVlYnNkLm9yZzsgZGV2LWNvbW1pdHMtc3JjLQ0KPmFsbEBm cmVlYnNkLm9yZzsgZGV2LWNvbW1pdHMtc3JjLW1haW5AZnJlZWJzZC5vcmcNCj5TdWJqZWN0OiBS RTogW0VYVEVSTkFMXSBSZTogZ2l0OiA5NzI5ZjA3NmU0ZDkgLSBtYWluIC0gYXJtNjQ6IEh5cGVy LVY6DQo+ZW5hYmxlbWVudCBmb3IgQVJNNjQgaW4gSHlwZXItViAoUGFydCAzLCBmaW5hbCkNCj4N Cj4NCj4NCj4NCj4+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+RnJvbTogS3lsZSBFdmFu cyA8a2V2YW5zQGZyZWVic2Qub3JnPg0KPj5TZW50OiBXZWRuZXNkYXksIEFwcmlsIDI2LCAyMDIz IDM6MzkgQU0NCj4+VG86IFNvdXJhZGVlcCBDaGFrcmFiYXJ0aSA8c2NoYWtyYWJhcnRpQG1pY3Jv c29mdC5jb20+DQo+PkNjOiBLeWxlIEV2YW5zIDxrZXZhbnNAZnJlZWJzZC5vcmc+OyBXZWkgSHUg PHdodUBmcmVlYnNkLm9yZz47IHNyYy0NCj4+Y29tbWl0dGVyc0BmcmVlYnNkLm9yZzsgZGV2LWNv bW1pdHMtc3JjLWFsbEBmcmVlYnNkLm9yZzsNCj4+ZGV2LWNvbW1pdHMtc3JjLSBtYWluQGZyZWVi c2Qub3JnDQo+PlN1YmplY3Q6IFJlOiBbRVhURVJOQUxdIFJlOiBnaXQ6IDk3MjlmMDc2ZTRkOSAt IG1haW4gLSBhcm02NDogSHlwZXItVjoNCj4+ZW5hYmxlbWVudCBmb3IgQVJNNjQgaW4gSHlwZXIt ViAoUGFydCAzLCBmaW5hbCkNCj4+DQo+Pk9uIFR1ZSwgQXByIDI1LCAyMDIzIGF0IDI6NDLigK9B TSBTb3VyYWRlZXAgQ2hha3JhYmFydGkNCj4+PHNjaGFrcmFiYXJ0aUBtaWNyb3NvZnQuY29tPiB3 cm90ZToNCj4+Pg0KPj4+DQo+Pj4NCj4+Pg0KPj4+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPj4+ID5Gcm9tOiBTb3VyYWRlZXAgQ2hha3JhYmFydGkNCj4+PiA+U2VudDogTW9uZGF5LCBB cHJpbCAyNCwgMjAyMyA2OjI0IFBNDQo+Pj4gPlRvOiBLeWxlIEV2YW5zIDxrZXZhbnNAZnJlZWJz ZC5vcmc+OyBXZWkgSHUgPHdodUBmcmVlYnNkLm9yZz4NCj4+PiA+Q2M6IHNyYy1jb21taXR0ZXJz QGZyZWVic2Qub3JnOyBkZXYtY29tbWl0cy1zcmMtYWxsQGZyZWVic2Qub3JnOw0KPj4+ID5kZXYt Y29tbWl0cy0gc3JjLW1haW5AZnJlZWJzZC5vcmcNCj4+PiA+U3ViamVjdDogUkU6IFtFWFRFUk5B TF0gUmU6IGdpdDogOTcyOWYwNzZlNGQ5IC0gbWFpbiAtIGFybTY0OiBIeXBlci1WOg0KPj4+ID5l bmFibGVtZW50IGZvciBBUk02NCBpbiBIeXBlci1WIChQYXJ0IDMsIGZpbmFsKQ0KPj4+ID4NCj4+ PiA+DQo+Pj4gPg0KPj4+ID4NCj4+PiA+Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4g Pj5Gcm9tOiBLeWxlIEV2YW5zIDxrZXZhbnNAZnJlZWJzZC5vcmc+DQo+Pj4gPj5TZW50OiBXZWRu ZXNkYXksIEFwcmlsIDE5LCAyMDIzIDExOjAwIEFNDQo+Pj4gPj5UbzogV2VpIEh1IDx3aHVAZnJl ZWJzZC5vcmc+OyBTb3VyYWRlZXAgQ2hha3JhYmFydGkNCj4+PiA+PjxzY2hha3JhYmFydGlAbWlj cm9zb2Z0LmNvbT4NCj4+PiA+PkNjOiBzcmMtY29tbWl0dGVyc0BmcmVlYnNkLm9yZzsgZGV2LWNv bW1pdHMtc3JjLWFsbEBmcmVlYnNkLm9yZzsNCj4+PiA+PmRldi1jb21taXRzLSBzcmMtbWFpbkBm cmVlYnNkLm9yZw0KPj4+ID4+U3ViamVjdDogW0VYVEVSTkFMXSBSZTogZ2l0OiA5NzI5ZjA3NmU0 ZDkgLSBtYWluIC0gYXJtNjQ6IEh5cGVyLVY6DQo+Pj4gPj5lbmFibGVtZW50IGZvciBBUk02NCBp biBIeXBlci1WIChQYXJ0IDMsIGZpbmFsKQ0KPj4+ID4+DQo+Pj4gPj5PbiBUaHUsIE9jdCAyNywg MjAyMiBhdCA4OjU04oCvQU0gV2VpIEh1IDx3aHVAZnJlZWJzZC5vcmc+IHdyb3RlOg0KPj4+ID4+ Pg0KPj4+ID4+PiBUaGUgYnJhbmNoIG1haW4gaGFzIGJlZW4gdXBkYXRlZCBieSB3aHU6DQo+Pj4g Pj4+DQo+Pj4gPj4+IFVSTDoNCj4+PiA+Pj4gaHR0cHM6Ly9uYW0wNi5zYWZlbGlua3MucHJvdGVj dGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTINCj4+PiA+Pj4gRg0KPj4+ID4+Pg0K Pj5jZ2klMkYmZGF0YT0wNSU3QzAxJTdDc2NoYWtyYWJhcnRpJTQwbWljcm9zb2Z0LmNvbSU3Q2Ux Y2ZjM2FmZjdmOTQNCj4+PiA+Pj4NCj4+ZDVjMmNhNDA4ZGI0NWQ5YzRjNSU3QzcyZjk4OGJmODZm MTQxYWY5MWFiMmQ3Y2QwMTFkYjQ3JTdDMSU3QzAlDQo+Nw0KPj5DNg0KPj4+ID4+Pg0KPj4zODE4 MDU3Mzg2NzExODc5MyU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhleUpXSWpvaU1DNHdMakF3TUQN Cj5BaQ0KPj5MQ0pRDQo+Pj4gPj4+DQo+Pklqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pY VkNJNk1uMCUzRCU3QzMwMDAlN0MlN0MlN0Mmc2RhdGE9aw0KPj4+ID4+Pg0KPj5NbnRNWXplZ1dn RiUyQjkwdnE2RkVSQkxqd2ZNJTJGVmIxR1VOd1VQOXB2OTBRJTNEJnJlc2VydmVkPTANCj4+PiA+ Pj4gdA0KPj4+ID4+Pg0KPj4+DQo+Pj4+LmZyZWVic2Qub3JnJTJGc3JjJTJGY29tbWl0JTJGJTNG aWQlM0Q5NzI5ZjA3NmU0ZDkzYzVhMzdlNzhkNDI3Yg0KPmYNCj4+ZQ0KPj4+ID4wDQo+Pj4gPj5m MWENCj4+PiA+Pj4NCj4+Pg0KPj4+PmI5OWJiY2M2JmRhdGE9MDUlN0MwMSU3Q3NjaGFrcmFiYXJ0 aSU0MG1pY3Jvc29mdC5jb20lN0MzOTNlODU1ZjEzDQo+Yw0KPj42DQo+Pj4gPj40OWENCj4+PiA+ Pj4NCj4+Pg0KPj4+Pjg4ODM3MDhkYjQwOTcyMTFlJTdDNzJmOTg4YmY4NmYxNDFhZjkxYWIyZDdj ZDAxMWRiNDclN0MxJTdDMA0KPiUNCj4+Nw0KPj4+ID5DDQo+Pj4gPj42MzgxNzQ3DQo+Pj4gPj4+ DQo+Pj4NCj4+Pj45MDEwNjc4NjQ0OSU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhleUpXSWpvaU1D NHdMakF3TURBaUxDSg0KPlFJDQo+PmoNCj4+PiA+b2kNCj4+PiA+PlYybHVNeg0KPj4+ID4+Pg0K Pj4+DQo+Pj4+SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlM0QlN0MzMDAwJTdDJTdDJTdD JnNkYXRhPWh1aWFPQlNCDQo+Mg0KPj5aDQo+Pj4gPj5RRG41UQ0KPj4+ID4+PiBjdyUyRkxXbm1J JTJGcWJicmlRZDdIa1l0cHhuR0xHRSUzRCZyZXNlcnZlZD0wDQo+Pj4gPj4+DQo+Pj4gPj4+IGNv bW1pdCA5NzI5ZjA3NmU0ZDkzYzVhMzdlNzhkNDI3YmZlMGYxYWI5OWJiY2M2DQo+Pj4gPj4+IEF1 dGhvcjogICAgIFNvdXJhZGVlcCBDaGFrcmFiYXJ0aSA8c2NoYWtyYWJhcnRpQG1pY3Jvc29mdC5j b20+DQo+Pj4gPj4+IEF1dGhvckRhdGU6IDIwMjItMTAtMjcgMTM6NDY6MDggKzAwMDANCj4+PiA+ Pj4gQ29tbWl0OiAgICAgV2VpIEh1IDx3aHVARnJlZUJTRC5vcmc+DQo+Pj4gPj4+IENvbW1pdERh dGU6IDIwMjItMTAtMjcgMTM6NTM6MjIgKzAwMDANCj4+PiA+Pj4NCj4+PiA+Pj4gICAgIGFybTY0 OiBIeXBlci1WOiBlbmFibGVtZW50IGZvciBBUk02NCBpbiBIeXBlci1WIChQYXJ0IDMsDQo+Pj4g Pj4+IGZpbmFsKQ0KPj4+ID4+Pg0KPj4+ID4+PiAgICAgVGhpcyBpcyB0aGUgbGFzdCBwYXJ0IGZv ciBBUk02NCBIeXBlci1WIGVuYWJsZW1lbnQuIFRoaXMgaW5jbHVkZXMNCj4+PiA+Pj4gICAgIGNv bW1vbmUgZmlsZXMgYW5kIG1ha2UgZmlsZSBjaGFuZ2VzIHRvIGVuYWJsZSB0aGUgQVJNNjQgRnJl ZUJTRA0KPj4+ID4+PiAgICAgZ3Vlc3Qgb24gSHlwZXItVi4gV2l0aCB0aGlzIHBhdGNoLCBpdCBz aG91bGQgYmUgYWJsZSB0byBidWlsZA0KPj4+ID4+PiAgICAgdGhlIEFSTTY0IGltYWdlIGFuZCBp bnN0YWxsIGl0IG9uIEh5cGVyLVYuDQo+Pj4gPj4+DQo+Pj4gPj4NCj4+PiA+PkhpLA0KPj4+ID4+ DQo+Pj4gPj5GaXJzdCBvZmYtIHRoYW5rcyBmb3IgZG9pbmcgdGhpcyB3b3JrISBJIGNhbid0IHNl ZW0gdG8gYm9vdCBhDQo+Pj4gPj4tQ1VSUkVOVCBpbWFnZSB1bmRlciBIeXBlci1WIG9uIGEgVm9s dGVycmEgbWFjaGluZSwgc2VlbWluZ2x5IGR1ZQ0KPj4+ID4+dG8gdm1idXMuIEl0IHN0YWxscyBy aWdodA0KPj4+ID5hZnRlciAidm1idXM6DQo+Pj4gPj50aGUgaXJxIDE4IiBidXQgYmVmb3JlIGVt aXR0aW5nIGEgdmVyc2lvbiBudW1iZXIsIEkgaGF2ZSBzb21lIG90aGVyDQo+Pj4gPj5jb21tZW50 cyBoZXJlLi4uDQo+Pj4gPj4NCj4+PiA+Pj4gWy4uLiBzbmlwIC4uLl0NCj4+PiA+Pj4gZGlmZiAt LWdpdCBhL3N5cy9kZXYvaHlwZXJ2L3ZtYnVzL3ZtYnVzLmMNCj4+PiA+Pj4gYi9zeXMvZGV2L2h5 cGVydi92bWJ1cy92bWJ1cy5jIGluZGV4IGIwY2Q3NTBiMjZjOC4uZjM3MGYyYTc1Yjk5DQo+Pj4g Pj4+IDEwMDY0NA0KPj4+ID4+PiAtLS0gYS9zeXMvZGV2L2h5cGVydi92bWJ1cy92bWJ1cy5jDQo+ Pj4gPj4+ICsrKyBiL3N5cy9kZXYvaHlwZXJ2L3ZtYnVzL3ZtYnVzLmMNCj4+PiA+Pj4gWy4uLiBz bmlwIC4uLl0NCj4+PiA+Pj4gQEAgLTEwNyw3ICsxMTMsNyBAQCBzdGF0aWMgdWludDMyX3QNCj4+ PiA+PnZtYnVzX2dldF92Y3B1X2lkX21ldGhvZChkZXZpY2VfdCBidXMsDQo+Pj4gPj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZV90IGRldiwgaW50IGNwdSk7DQo+ Pj4gPj4+ICBzdGF0aWMgc3RydWN0IHRhc2txdWV1ZSAgICAgICAgICAgICAgICAqdm1idXNfZ2V0 X2V2ZW50dHFfbWV0aG9kKGRldmljZV90LA0KPj5kZXZpY2VfdCwNCj4+PiA+Pj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KTsgLSNpZmRlZg0KPj4+ID4+PiBFQVJMWV9B UF9TVEFSVFVQDQo+Pj4gPj4+ICsjaWYgZGVmaW5lZChFQVJMWV9BUF9TVEFSVFVQKSB8fCBkZWZp bmVkKF9fYWFyY2g2NF9fKQ0KPj4+ID4+PiAgc3RhdGljIHZvaWQgICAgICAgICAgICAgICAgICAg IHZtYnVzX2ludHJob29rKHZvaWQgKik7DQo+Pj4gPj4+ICAjZW5kaWYNCj4+PiA+Pj4NCj4+PiA+ Pg0KPj4+ID4+TXkgZ3V0IHJlYWN0aW9uIHRvIHRoaXMgaXMgdGhhdCB0aGlzIGlzIGEgcmVkIGZs YWcuDQo+Pj4gPj5FQVJMWV9BUF9TVEFSVFVQIGltcGxpZXMgY2hhcmFjdGVyaXN0aWNzIHRoYXQg YWFyY2g2NCBkb2Vzbid0DQo+Pj4gPj5leGhpYml0OyBpdCdzIGhhcmQgdG8gc2VlIHdoeSB0aGlz IGNvbmRpdGlvbmFsIGlzIE9LLCBvciB3aGV0aGVyDQo+Pj4gPj5pdCdzIHRlc3RpbmcgRUFSTFlf QVBfU1RBUlRVUCBhcyBhIGJhZCB3YXkgdG8gd3JpdGUgX19pMzg2X18gfHwgX19hbWQ2NF9fLg0K Pj4+ID5bU291cmFkZWVwXSBXZSBoYWQgb3InZCB0aGUgYWFyY2g2NCBoZXJlLCBhcyB3ZSB3YW50 ZWQgdG8gZGVmZXIgdGhlDQo+Pj4gPnZtYnVzIGF0dGFjaG1lbnQgYWZ0ZXIgZ2ljIGFuZCBhcm0g Z2VuZXJpYyB0aW1lciBpcyBhdHRhY2hlZC4gQXMgd2UNCj4+PiA+bmVlZCBQQVVTRSBhbmQgREVM QVkgZm9yIHZtYnVzIGFuZCBoeXBlci12IGRyaXZlcnMuIEZvciB0aGF0IHdlDQo+Pj4gPndhbnRl ZCB0byB1c2Ugdm1idXNfaW50cmhvb2soKS4NCj4+PiA+Pg0KPj4+ID4+PiBbLi4uIHNuaXAgLi4u XQ0KPj4+ID4+PiBAQCAtNzYwLDcgKzczNiw3IEBAIHZtYnVzX3N5bmljX3NldHVwKHZvaWQgKnhz YykNCj4+PiA+Pj4NCj4+PiA+Pj4gICAgICAgICBpZiAoaHlwZXJ2X2ZlYXR1cmVzICYgQ1BVSURf SFZfTVNSX1ZQX0lOREVYKSB7DQo+Pj4gPj4+ICAgICAgICAgICAgICAgICAvKiBTYXZlIHZpcnR1 YWwgcHJvY2Vzc29yIGlkLiAqLw0KPj4+ID4+PiAtICAgICAgICAgICAgICAgVk1CVVNfUENQVV9H RVQoc2MsIHZjcHVpZCwgY3B1KSA9IHJkbXNyKE1TUl9IVl9WUF9JTkRFWCk7DQo+Pj4gPj4+ICsg ICAgICAgICAgICAgICBWTUJVU19QQ1BVX0dFVChzYywgdmNwdWlkLCBjcHUpID0NCj4+PiA+Pj4g KyBSRE1TUihNU1JfSFZfVlBfSU5ERVgpOw0KPj4+ID4+PiAgICAgICAgIH0gZWxzZSB7DQo+Pj4g Pj4+ICAgICAgICAgICAgICAgICAvKiBTZXQgdmlydHVhbCBwcm9jZXNzb3IgaWQgdG8gMCBmb3Ig Y29tcGF0aWJpbGl0eS4gKi8NCj4+PiA+Pj4gICAgICAgICAgICAgICAgIFZNQlVTX1BDUFVfR0VU KHNjLCB2Y3B1aWQsIGNwdSkgPSAwOw0KPj4+ID4+DQo+Pj4gPj5UaGlzIG9uZSwgdm1idXNfc3lu aWNfc2V0dXAoKSwgaXMgaW52b2tlZCB2aWEgdm1idXNfaW50cmhvb2sgLT4NCj4+PiA+PnZtYnVz X2RvYXR0YWNoIC0NCj4+PiA+Pj4gc21wX3JlbmRlenZvdXMuIE9uICFFQVJMWV9BUF9TVEFSVFVQ IChlLmcuLCBhYXJjaDY0KSwgU01QIGlzbid0DQo+Pj4gPj4+IGZ1bmN0aW9uYWwgaW4NCj4+PiA+ PmludHJob29rcyBhbmQgc21wX3JlbmRlenZvdXMoKSB3aWxsIGp1c3QgY2FsbCB2bWJ1c19zeW5p Y19zZXR1cCgpDQo+Pj4gPj5vbiB0aGUgYm9vdA0KPj4+ID5BUC4NCj4+PiA+PlRoZXJlJ3Mgbm90 aGluZyB0aGF0IHdpbGwgaW5pdGlhbGl6ZSB0aGUgcGNwdSBkYXRhIG9uIGV2ZXJ5IG90aGVyIEFQ LCBBRkFJQ1QuDQo+Pj4gPj4NCj4+PiA+PlRoYXQgc2FpZCwgdGhlICFFQVJMWV9BUF9TVEFSVFVQ IHBhdGggaXMgYWxzbyB3cm9uZy4gUXVvdGluZyBsaW5lcw0KPj4+ID4+dGhhdCB3ZXJlbid0IGlu IHRoaXMgZS1tYWlsIGZyb20gdm1idXNfYXR0YWNoKCk6DQo+Pj4gPltTb3VyYWRlZXBdIFRoYW5r cyEgVGhpcyBpcyBhIHJlYWxseSBnb29kIGNhdGNoLCBhbmQgeWVzLCB3ZSBhcmUNCj4+PiA+bWlz c2luZyB0aGUgc21wIGluaXRpYWxpemF0aW9uIGR1cmluZyB2bWJ1cyBzeW5pYyBzZXR1cC4NCj4+ PiA+Pg0KPj4+ID4+MTUyNyAjZWxzZSAgIC8qICFFQVJMWV9BUF9TVEFSVFVQICovDQo+Pj4gPj4x NTI4ICAgICAgICAgLyoNCj4+PiA+PjE1MjkgICAgICAgICAgKiBJZiB0aGUgc3lzdGVtIGhhcyBh bHJlYWR5IGJvb3RlZCBhbmQgdGhyZWFkDQo+Pj4gPj4xNTMwICAgICAgICAgICogc2NoZWR1bGlu ZyBpcyBwb3NzaWJsZSBpbmRpY2F0ZWQgYnkgdGhlIGdsb2JhbA0KPj4+ID4+MTUzMSAgICAgICAg ICAqIGNvbGQgc2V0IHRvIHplcm8sIHdlIGp1c3QgY2FsbCB0aGUgZHJpdmVyDQo+Pj4gPj4xNTMy ICAgICAgICAgICogaW5pdGlhbGl6YXRpb24gZGlyZWN0bHkuDQo+Pj4gPj4xNTMzICAgICAgICAg ICovDQo+Pj4gPj4xNTM0ICAgICAgICAgaWYgKCFjb2xkKQ0KPj4+ID4+MTUzNSAgICAgICAgICAg ICAgICAgdm1idXNfZG9hdHRhY2godm1idXNfc2MpOw0KPj4+ID4+MTUzNiAjZW5kaWYgLyogRUFS TFlfQVBfU1RBUlRVUCAgYW5kIGFhcmNoNjQgKi8NCj4+PiA+Pg0KPj4+ID4+VGhlIHR3byBpbW1l ZGlhdGUgaXNzdWVzIEkgc2VlIGlzIHRoYXQgaW4gYSBkZXZpY2VfYXR0YWNoLCBTTVANCj4+PiA+ Pndvbid0IGJlIHN0YXJ0ZWQuIEl0J3MgYWxzbyBnb2luZyB0byBiZSBiZWZvcmUgU0lfU1VCX0NP TkZJR1VSRSwgc28NCj4+PiA+PmBjb2xkYCB3aWxsIG5ldmVyIGJlIDAgaGVyZSAtLSB0aGlzIGlz IGVmZmVjdGl2ZWx5IGRlYWQgY29kZSwgYW5kDQo+Pj4gPj5pZiBpdCB3ZXJlbid0IGRlYWQgY29k ZSBpdCB3b3VsZCBzdWZmZXIgdGhlIHNhbWUgcHJvYmxlbSBhcyBhYm92ZQ0KPj4+ID4+d2hlcmUg b3RoZXIgQVBzIGFyZW4ndCBzdGFydGVkIHlldCBzbyB3ZSB3b24ndCBzZXQgdGhlaXIgcGNwdSBk YXRhLg0KPj4+ID4+VGhpcyBpcyBPSywgdGhvdWdoLCBiZWNhdXNlIHRoZW4gd2UgaGF2ZSB0aGlz IHN5c2luaXQgbGF0ZXIgb24gdGhhdA0KPj4+ID4+ZG9lcyB0aGUgc2FtZSB0aGluZyBmb3IgIUVB UkxZX0FQX1NUQVJUVVAgJiYgIV9fYWFyY2g2NF9fYCwgYnV0DQo+Pj4gPj50aGF0IHNob3VsZCBy ZWFsbHkganVzdCBiZSBgIUVBUkxZX0FQX1NUQVJUVVBgIGFzIGFhcmNoNjQgYWxzbw0KPj4+ID4+ bmVlZHMgdG8gaW52b2tlDQo+Pj4gPj52bWJ1c19kb2F0dGFjaCgpIGF0IFNJX1NVQl9TTVAgKG11 Y2ggbGF0ZXIgdGhhbiBTSV9TVUJfRFJJVkVSUykuDQo+Pj4gPltTb3VyYWRlZXBdIEkgaGF2ZSB0 cmllZCB0byB1c2UgdGhlIHN1Z2dlc3Rpb24gYnV0IGluIG11bHRpDQo+Pj4gPnByb2Nlc3NvciBz eXN0ZW0gdGhlIGJvb3QgaXMgZ2V0dGluZyBzdHVjayBhdCB0aGUgZW5kIGFuZCAidm1idXMwOg0K Pj4+ID5kZXZpY2Ugc2NhbiwgcHJvYmUgYW5kDQo+PmF0dGFjaCBkb25lIg0KPj4+ID5pcyBub3Qg aGFwcGVuaW5nLg0KPj4+ID5JIGFtIHRyeWluZyB0byBmaWd1cmUgb3V0IHdoYXQgaXMgZ29pbmcg d3JvbmcgaGVyZSwgYXMgdGhlIHNhbWUNCj4+PiA+Y2hhbmdlIGlzIHdvcmtpbmcgd2l0aCBzaW5n bGUgY3B1IHN5c3RlbS4gQW55IGhlbHAgb3IgcG9pbnRlciB3aWxsDQo+Pj4gPmJlIHJlYWxseQ0K Pj5oZWxwZnVsLg0KPj4+IFtTb3VyYWRlZXBdICBJIGNhbiBzZWUgdGhlIHByb2JsZW0gdGhlIHRh c2sgdm1idXNfc2NhbmRvbmVfdGFzayBpcw0KPj4+IGdldHRpbmcgZW5xdWV1ZWQgYnV0IGl0IGlz IG5vdCBnZXR0aW5nIGV4ZWN1dGVkLg0KPj4+DQo+Pj4gNTI1IHN0YXRpYyB2b2lkDQo+Pj4gIDUy NiB2bWJ1c19zY2FuX2RvbmUoc3RydWN0IHZtYnVzX3NvZnRjICpzYywNCj4+PiAgNTI3ICAgICBj b25zdCBzdHJ1Y3Qgdm1idXNfbWVzc2FnZSAqbXNnIF9fdW51c2VkKQ0KPj4+ICA1Mjggew0KPj4+ ICA1MjkgICAgIGRldmljZV9wcmludGYoc2MtPnZtYnVzX2RldiwgIiB2bWJ1c19zY2FuX2RvbmUg aXMgY2FsbGVkXG4iKTsNCj4+PiAgNTMwDQo+Pj4gIDUzMSAgICAgdGFza3F1ZXVlX2VucXVldWUo c2MtPnZtYnVzX2RldnRxLCAmc2MtPnZtYnVzX3NjYW5kb25lX3Rhc2spOw0KPj4+ICA1MzIgfQ0K Pj4+IHZtYnVzIHNjYW4gZG9uZSBpcyBnZXR0aW5nIGNhbGxlZC4NCj4+Pg0KPj4+IEJ1dA0KPj4+ IDUxNCBzdGF0aWMgdm9pZA0KPj4+ICA1MTUgdm1idXNfc2Nhbl9kb25lX3Rhc2sodm9pZCAqeHNj LCBpbnQgcGVuZGluZyBfX3VudXNlZCkNCj4+PiAgNTE2IHsNCj4+PiAgNTE3ICAgICBzdHJ1Y3Qg dm1idXNfc29mdGMgKnNjID0geHNjOw0KPj4+ICA1MTggICAgIGRldmljZV9wcmludGYoc2MtPnZt YnVzX2RldiwgIiB2bWJ1c19zY2FuX2RvbmVfdGFzayBpcyBjYWxsZWRcbiIpOw0KPj4+ICA1MTkg ICAgIGJ1c190b3BvX2xvY2soKTsNCj4+PiAgNTIwICAgICBzYy0+dm1idXNfc2NhbmRvbmUgPSB0 cnVlOw0KPj4+ICA1MjEgICAgIGJ1c190b3BvX3VubG9jaygpOw0KPj4+ICA1MjIgICAgIHdha2V1 cCgmc2MtPnZtYnVzX3NjYW5kb25lKTsNCj4+PiAgNTIzIH0NCj4+PiB2bWJ1c19zY2FuX2RvbmVf dGFzayAgaXMgbm90IGdldHRpbmcgY2FsbGVkIHRoZSB0YXNrIC4NCj4+Pg0KPj4+IEJ1dCB0aGUg c2FtZSBpcyBoYXBwZW5pbmcgd2hlbiBzaW5nbGUgY3B1IGlzIHJ1bm5pbmcsIGZvciBtdWx0aSBj cHUNCj4+PiBpdCBpcyBnZXR0aW5nDQo+PnN0dWNrLg0KPj4NCj4+SGksDQo+Pg0KPj5UaGF0IHNl ZW1zIG9kZC4gV2hhdCBoYXBwZW5zIGlmIHlvdSBidW1wIHRoZSBTWVNJTklUIHVwIHRvIFNJX1NV Ql9TTVANCj4+KyAxLCBTSV9PUkRFUl9GSVJTVD8gV2UgZG9uJ3Qga25vdyBmb3IgYSBmYWN0IHRo YXQgYWxsIEFQcyBhcmUgcmVhZHkNCj4+Zm9yIHNjaGVkdWxpbmcgdW50aWwgYWZ0ZXIgc21wX2Fm dGVyX2lkbGVfcnVubmFibGUoKSwgd2hpY2ggaXMgYWxzbyBhdA0KPj5TSV9PUkRFUl9BTlkNCj4+ LS0gbWF5YmUgdGhlcmUncyBqdXN0IHNvbWV0aGluZyBnb2luZyBob3JyaWJseSB3cm9uZy4NCj4+ VGhhdCB3b3VsZCBwZXJoYXBzIGV4cGxhaW4gd2h5IGl0J3MgZmluZSBvbiBhIHNpbmdsZSBwcm9j ZXNzb3Igc3lzdGVtLA0KPj53aGljaCB3b24ndCBkbyBhbnl0aGluZyB1c2VmdWwgKGF0IGxlYXN0 IGluIGxhdGVyIHBhcnRzIG9mIFNJX1NVQl9TTVApLg0KPltTb3VyYWRlZXBdDQo+SW4gQVJNNjQg U01QKFZNIHdpdGggdHdvIGNwdSksICBzdG9ydnNjIGF0dGFjaCBpcyBoYXBwZW5pbmcgdHdvIHRp bWVzIGZvciBzaW5nbGUNCj5zY3NpIGNvbnRyb2xsZXIuDQo+QnV0IGZvciBpbnRlbCBzaW1pbGFy IFZNICh0d28gY3B1KSwgaXQgaXMgaGFwcGVuaW5nIG9uY2UuDQo+Rm9yIHRoZSBkdW1teS9mYWtl IHN0b3J2c2MgaW4gYXJtNjQsIHdlIGFyZSBnZXR0aW5nIHN0dWNrIGF0IGRldmljZV9hdHRhY2gu DQo+DQo+RGV0YWlsczoNCj4NCj52bWJ1c19zY2FuX2RvbmUoKSwgbm90IGdldHRpbmcgaW52b2tl ZCBiZWNhdXNlIHZtYnVzX2FkZF9jaGlsZCgpIGlzIG5vdA0KPmNvbXBsZXRlIGZvciBhIGNoYW5u ZWwgMTUsIGJlY2F1c2Ugb2Ygd2hpY2ggdm1idXNfZGV2dHEgaXMgaGF2aW5nIG9uZSB0YXNrDQo+ cGVuZGluZy4NCj4NCj5Ob3cNCj5CeSBwYXNzaW5nIE5NSSBpbiB0aGUgaHVuZyBzeXN0ZW0sIGFm dGVyIGV4YW1pbmluZyBhbGwgdGhyZWFkczoNCj4NCj5zY2hlZF9zd2l0Y2goKSBhdCBzY2hlZF9z d2l0Y2grMHg0ZGMNCj5taV9zd2l0Y2goKSBhdCBtaV9zd2l0Y2grMHgxOTQNCj5zbGVlcHFfc3dp dGNoKCkgYXQgc2xlZXBxX3N3aXRjaCsweGZjDQo+X2N2X3dhaXQoKSBhdCBfY3Zfd2FpdCsweDE2 MA0KPl9zZW1hX3dhaXQoKSBhdCBfc2VtYV93YWl0KzB4NTANCj5zdG9ydnNjX2F0dGFjaCgpIGF0 IHN0b3J2c2NfYXR0YWNoKzB4NjEwDQo+ZGV2aWNlX2F0dGFjaCgpIGF0IGRldmljZV9hdHRhY2gr MHgzZjgNCj5kZXZpY2VfcHJvYmVfYW5kX2F0dGFjaCgpIGF0IGRldmljZV9wcm9iZV9hbmRfYXR0 YWNoKzB4N2MNCj52bWJ1c19hZGRfY2hpbGQoKSBhdCB2bWJ1c19hZGRfY2hpbGQrMHg2NA0KPg0K Pk5vdyAsDQo+DQo+SXQgaXMgc3R1Y2sgYXQgd2FpdGluZyBvbiBzZW1hX3dhaXQoKSBvbiByZXF1 ZXN0LT5zeW5jaF9zZW1hIGluDQo+aHZfc3RvcnZzY19jaGFubmVsX2luaXQoKSBiZWNhdXNlDQo+ c2VtYV9wb3N0KCkgb24gcmVxdWVzdC0+c3luY2hfc2VtYSBpcyBub3QgZ2V0dGluZyBpbnZva2Vk LiBXaGljaCB1bmxvY2tzIGl0Lg0KPlRoaXMgaXMgYmVjYXVzZSB3ZSBhcmUgd2FpdGluZyBvbiBz ZW1hX3dhaXQgb24gc3luY2hfc2VtYQ0KPmh2X3N0b3J2c2NfY2hhbm5lbF9pbml0KCksIGZvciBz dG9ydnNjMSAsIGJ1dCB0aGVyZSBpcyBubyBzdG9ydnNjMSBkZXZpY2UuIFNvIG5vdA0KPmdldHRp bmcgYSBjYWxsYmFjayBjYWxsZWQgZm9yIHN0b3J2c2MxLg0KPg0KPkZyb20gQVJNNjQgZGVidWcg bG9nOg0KPklmIHlvdSBzZWUgYXQgbGluZSA1NDUgYWdhaW4gU0NJIGRldmljZSBnb3QgZGV0ZWN0 ZWQuDQo+DQo+CUxpbmUgIDM3MDogc3RvcnZzYzA6IEVubGlnaHRlbmVkIFNDU0kgZGV2aWNlIGRl dGVjdGVkDQo+CUxpbmUgIDM3MTogc3RvcnZzYzA6IDxIeXBlci1WIFNDU0k+IG9uIHZtYnVzMA0K PglMaW5lICA0MDY6IChwcm9iZTA6c3RvcnZzYzA6MDowOjApOiBzdG9ydnNjIHNjc2lfc3RhdHVz ID0gMiwgc3JiX3N0YXR1cyA9IDYNCj4JTGluZSAgNDIxOiA8TXNmdCBWaXJ0dWFsIERpc2sgMS4w PiBGaXhlZCBEaXJlY3QgQWNjZXNzIFNQQy0zIFNDU0kgZGV2aWNlDQo+CUxpbmUgIDQzNjogZGEw OiA8TXNmdCBWaXJ0dWFsIERpc2sgMS4wPiBGaXhlZCBEaXJlY3QgQWNjZXNzIFNQQy0zIFNDU0kg ZGV2aWNlDQo+CUxpbmUgIDQ0MzogcGFzczE6IDxNc2Z0IFZpcnR1YWwgRFZELVJPTSAxLjA+IFJl bW92YWJsZSBDRC1ST00gU1BDLTMNCj5TQ1NJIGRldmljZQ0KPglMaW5lICA0NDc6IGNkMDogPE1z ZnQgVmlydHVhbCBEVkQtUk9NIDEuMD4gUmVtb3ZhYmxlIENELVJPTSBTUEMtMw0KPlNDU0kgZGV2 aWNlDQo+CUxpbmUgIDU0NTogc3RvcnZzYzE6IEVubGlnaHRlbmVkIFNDU0kgZGV2aWNlIGRldGVj dGVkDQo+CUxpbmUgIDU0Nzogc3RvcnZzYzE6IEVubGlnaHRlbmVkIFNDU0kgZGV2aWNlIGRldGVj dGVkDQo+CUxpbmUgIDU0OTogc3RvcnZzYzE6IDxIeXBlci1WIFNDU0k+aHZfc3RvcnZzY19vbl9j aGFubmVsX2NhbGxiYWNrIGlzDQo+Y2FsbGVkDQo+DQo+RnJvbSBMb2c6DQo+DQo+dW5rbm93bjog ZGV2aWNlX2FkZF9jaGlsZCBmb3IgY2hhbjE1DQo+c3RvcnZzYzE6IEVubGlnaHRlbmVkIFNDU0kg ZGV2aWNlIGRldGVjdGVkDQo+c3RvcnZzYzE6IEVubGlnaHRlbmVkIFNDU0kgZGV2aWNlIGRldGVj dGVkDQo+c3RvcnZzYzE6IDxIeXBlci1WIFNDU0k+IG9uIHZtYnVzMA0KPnN0b3J2c2MgcmluZ2J1 ZmZlciBzaXplOiAyNjIxNDQsIG1heF9pbzogNTEyDQo+c3RvcnZzYzE6IGNoYW4xNSBhc3NpZ25l ZCB0byBjcHUxIFt2Y3B1MV0NCj5objA6IGxpbmsgc3RhdGUgY2hhbmdlZCB0byBVUA0KPnZtYnVz MDogdm1idXNfY2hhbm1zZ19oYW5kbGUgdHlwZSAweGENCj5zdG9ydnNjMTogZ3BhZGxfY29ubihj aGFuMTUpIHN1Y2NlZWRlZA0KPnZtYnVzMDogdm1idXNfY2hhbm1zZ19oYW5kbGUgdHlwZSAweDYN Cj5zdG9ydnNjMTogY2hhbjE1IG9wZW5lZA0KPndhaXRpbmcgb24gc2VtYSB3YWl0IHN5bmNoX3Nl bWEgaHZfc3RvcnZzY19jaGFubmVsX2luaXQNCltTb3VyYWRlZXBdIFRoZSBmaXggaXMgd29ya2lu ZywgdGhlIHRlc3QgYmVkIGhhZCBhbiBpc3N1ZSwgYWZ0ZXIgZml4aW5nIHRoYXQgdGhlIGZpeCBp cyB3b3JraW5nLg0KSSB3aWxsIHNoYXJlIHRoZSBmaXggYnkgdGhpcyB3ZWVrLg0KPj4NCj4+VGhh bmtzLA0KPj4NCj4+S3lsZSBFdmFucw0K From nobody Wed Apr 26 20:35:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q69bz5zpdz47Gx7; Wed, 26 Apr 2023 20:35: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 4Q69bz5QHMz4NMn; Wed, 26 Apr 2023 20:35:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682541327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iF0UsTYCfA3KeMLLct+yWbTcsnnBzj3+FOafAthYDCc=; b=C549cmKmatRLL6jBwasVMiAvKeJfP/sWEVGfbfrkcucdhFsMN8gx4gjOlZ8uLQgsqVKjPu 9sE5q6pLXQfgvJV8AzQ3LSo0DsouD7pIu8cdiEQ1kNTKWdXl2q8JRxQQhDvxLBaKtqtXi+ cVsCL5/pBKs+03ZSgk8Yrf5E3SH7hNxRNTyp1ti0xcFVyGPuiLUH/kM8rKtf9dqvr3v3ht JRIKS4s8t9MyVevMtYGTFC0onaCoFYpjsooochcm7OzTnHSEWn2tsBq1c5FozjPWCCAm/9 0KangpyIK58Sp7LK9z5teiaLC95D+cUQC6R0LXN6G+zJjIJOhN7EumU1p2yXxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682541327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iF0UsTYCfA3KeMLLct+yWbTcsnnBzj3+FOafAthYDCc=; b=UjmXJml/Gqh8K+0Jmnplbj9kmWezG9qGiUol3QQEnTheDO5X6cY7BLqEMqQiqonFIk5RQf fsVpAyVhD5qTqHzEN3HiFCcgoVMdW42ey9FiSUlzaF5L1cSt49YGVTJjI3i3W6fapkEq0r pK6EngfNH/CDGWscZcwlahugO4XjYc0+hGaN4/t5XgX+SJy4iDrFrWrlHHUVKPdlUimDyt Y51/kSrGehfAh+2WyRtpXcsWArvczUPc1Pnq6BIJzs8NHUEp3fmGCuQHVSPx7EIhl/VyYc 3iiwjYOq5jU8Z+zMII5V/HBSZcNPWoJZJWUuTgWeNqF87J/cV2HaU6YXbbCrbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682541327; a=rsa-sha256; cv=none; b=TbXSZPrD8rXRpV9Ed81h6yKnqBzVBdyQs/ZkzuDh8kdVA01QcDXDyGbYEWZIt9RRsyM2LF X5yNBS/0ty94JtpO98gtmSG5Zf9beaPLAMoy9ieyK9TsBys3zZShoYeEKuU4R5fPh5c795 RFJhvjcWDA/sfHc7/NxE2Gjpozi7ggnIg1zJ2Ge039EYEgWg9XvCNk+Ddq24Pnh28pKqJ8 2sW6Ky9FvC6QqL4mK0jWXjLR2yFcFtgRb5sT5/YoNV6OzCUY9fxkk57lOQE9lHnTgZIiM5 mc/n97X/zJ7rKj/nwOPz3HkUMZupnokfFVeDNJd9ybIRaVFWhW5hVgpYIvDwpA== 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 4Q69bz49CLzphL; Wed, 26 Apr 2023 20:35: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 33QKZRVu013423; Wed, 26 Apr 2023 20:35:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QKZRqN013422; Wed, 26 Apr 2023 20:35:27 GMT (envelope-from git) Date: Wed, 26 Apr 2023 20:35:27 GMT Message-Id: <202304262035.33QKZRqN013422@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: 8c3b8c838674 - main - netmap: pkt-gen: sync with upstream List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vmaffione X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8c3b8c838674239538682b914bc1d7059255f116 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by vmaffione: URL: https://cgit.FreeBSD.org/src/commit/?id=8c3b8c838674239538682b914bc1d7059255f116 commit 8c3b8c838674239538682b914bc1d7059255f116 Author: Vincenzo Maffione AuthorDate: 2023-04-26 20:32:24 +0000 Commit: Vincenzo Maffione CommitDate: 2023-04-26 20:32:24 +0000 netmap: pkt-gen: sync with upstream Keep in sync with the recent upstream changes: Fix compilation on 32-bit architectures Update IP length, UDP length/checksum when size changes Man page fixes Submitted by: jlduran@gmail.com MFC after: 7 days Differential Revision: https://reviews.freebsd.org/D39760 --- tools/tools/netmap/pkt-gen.8 | 7 ++-- tools/tools/netmap/pkt-gen.c | 86 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 88 insertions(+), 5 deletions(-) diff --git a/tools/tools/netmap/pkt-gen.8 b/tools/tools/netmap/pkt-gen.8 index c3f0330e46ba..2a80f160bb9d 100644 --- a/tools/tools/netmap/pkt-gen.8 +++ b/tools/tools/netmap/pkt-gen.8 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 21, 2020 +.Dd April 21, 2023 .Dt PKT-GEN 8 .Os .Sh NAME @@ -150,7 +150,7 @@ mode), a single RX ring (in mode), or a TX/RX ring pair. The number of .Ar threads -must be less than or equal to the number of TX (or RX) ring available +must be less than or equal to the number of TX (or RX) rings available in the device specified by .Ar interface . .It Fl T Ar report_ms @@ -288,7 +288,8 @@ length of 128 bytes. You must set the destination MAC address for packets to be received by the target host. .Bd -literal -offset indent -pkt-gen -i netmap:ncxl0 -f tx -s 172.16.0.1:53 -d 172.16.1.3:53 -D 00:07:43:29:2a:e0 +pkt-gen -i netmap:ncxl0 -f tx -s 172.16.0.1:53 -d 172.16.1.3:53 \e +-D 00:07:43:29:2a:e0 .Ed .Sh SEE ALSO .Xr netmap 4 , diff --git a/tools/tools/netmap/pkt-gen.c b/tools/tools/netmap/pkt-gen.c index 296208018fd4..621e3e215118 100644 --- a/tools/tools/netmap/pkt-gen.c +++ b/tools/tools/netmap/pkt-gen.c @@ -283,6 +283,7 @@ struct glob_arg { #define OPT_RANDOM_SRC 512 #define OPT_RANDOM_DST 1024 #define OPT_PPS_STATS 2048 +#define OPT_UPDATE_CSUM 4096 int dev_type; #ifndef NO_PCAP pcap_t *p; @@ -1005,6 +1006,85 @@ update_addresses(struct pkt *pkt, struct targ *t) else update_ip6(pkt, t); } + +static void +update_ip_size(struct pkt *pkt, int size) +{ + struct ip ip; + struct udphdr udp; + uint16_t oiplen, niplen; + uint16_t nudplen; + uint16_t ip_sum = 0; + + memcpy(&ip, &pkt->ipv4.ip, sizeof(ip)); + memcpy(&udp, &pkt->ipv4.udp, sizeof(udp)); + + oiplen = ntohs(ip.ip_len); + niplen = size - sizeof(struct ether_header); + ip.ip_len = htons(niplen); + nudplen = niplen - sizeof(struct ip); + udp.uh_ulen = htons(nudplen); + ip_sum = new_udp_sum(ip_sum, oiplen, niplen); + + /* update checksums */ + if (ip_sum != 0) + ip.ip_sum = ~cksum_add(~ip.ip_sum, htons(ip_sum)); + + udp.uh_sum = 0; + /* Magic: taken from sbin/dhclient/packet.c */ + udp.uh_sum = wrapsum( + checksum(&udp, sizeof(udp), /* udp header */ + checksum(pkt->ipv4.body, /* udp payload */ + nudplen - sizeof(udp), + checksum(&ip.ip_src, /* pseudo header */ + 2 * sizeof(ip.ip_src), + IPPROTO_UDP + (u_int32_t)ntohs(udp.uh_ulen))))); + + memcpy(&pkt->ipv4.ip, &ip, sizeof(ip)); + memcpy(&pkt->ipv4.udp, &udp, sizeof(udp)); +} + +static void +update_ip6_size(struct pkt *pkt, int size) +{ + struct ip6_hdr ip6; + struct udphdr udp; + uint16_t niplen, nudplen; + uint32_t csum; + + memcpy(&ip6, &pkt->ipv6.ip, sizeof(ip6)); + memcpy(&udp, &pkt->ipv6.udp, sizeof(udp)); + + nudplen = niplen = size - sizeof(struct ether_header) - sizeof(ip6); + ip6.ip6_plen = htons(niplen); + udp.uh_ulen = htons(nudplen); + + /* Save part of pseudo header checksum into csum */ + udp.uh_sum = 0; + csum = IPPROTO_UDP << 24; + csum = checksum(&csum, sizeof(csum), nudplen); + udp.uh_sum = wrapsum( + checksum(&udp, sizeof(udp), /* udp header */ + checksum(pkt->ipv6.body, /* udp payload */ + nudplen - sizeof(udp), + checksum(&pkt->ipv6.ip.ip6_src, /* pseudo header */ + 2 * sizeof(pkt->ipv6.ip.ip6_src), csum)))); + + memcpy(&pkt->ipv6.ip, &ip6, sizeof(ip6)); + memcpy(&pkt->ipv6.udp, &udp, sizeof(udp)); +} + +static void +update_size(struct pkt *pkt, struct targ *t, int size) +{ + if (t->g->options & OPT_UPDATE_CSUM) { + if (t->g->af == AF_INET) + update_ip_size(pkt, size); + else + update_ip6_size(pkt, size); + } +} + /* * initialize one packet and prepare for the next one. * The copy could be done better instead of repeating it each time. @@ -1744,6 +1824,7 @@ sender_body(void *data) size = nrand48(targ->seed) % (targ->g->pkt_size - targ->g->pkt_min_size) + targ->g->pkt_min_size; + update_size(pkt, targ, size); } m = send_packets(txring, pkt, frame, size, targ, limit, options); @@ -2528,6 +2609,7 @@ usage(int errcode) " OPT_RANDOM_SRC 512\n" " OPT_RANDOM_DST 1024\n" " OPT_PPS_STATS 2048\n" +" OPT_UPDATE_CSUM 4096\n" "", cmd); exit(errcode); @@ -3284,8 +3366,8 @@ out: g.tx_period.tv_nsec = g.tx_period.tv_nsec % 1000000000; } if (g.td_type == TD_TYPE_SENDER) - D("Sending %d packets every %ld.%09ld s", - g.burst, g.tx_period.tv_sec, g.tx_period.tv_nsec); + D("Sending %d packets every %jd.%09ld s", + g.burst, (intmax_t)g.tx_period.tv_sec, g.tx_period.tv_nsec); /* Install ^C handler. */ global_nthreads = g.nthreads; sigemptyset(&ss); From nobody Wed Apr 26 21:37:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6C026YhJz47L7s; Wed, 26 Apr 2023 21:37:54 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01on2121.outbound.protection.outlook.com [40.107.117.121]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q6C015Tzwz3G5Z; Wed, 26 Apr 2023 21:37:53 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=microsoft.com header.s=selector2 header.b=VTyLHVrE; spf=pass (mx1.freebsd.org: domain of schakrabarti@microsoft.com designates 40.107.117.121 as permitted sender) smtp.mailfrom=schakrabarti@microsoft.com; dmarc=pass (policy=reject) header.from=microsoft.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KRXCmm6wddAQyitexRuLghU4PtOqa65dqdzytvUrxklbQJcKtlYsXHkqWGGZLMl6dp0kvpVEgAHoAp+oMRMlMzHfY0RYsCsKx+ZfPEVOIVwfFWYTppzwGCpLgkPvrqtuUKms10jiOj1Xd1Pbob65PUT7ssWerZe5eM2D8hXTHkN5vY+blMezTVI+az1fgBJOgq6cbHajFHgocYtChXzRA/9uYXs46LDR1Bok3QYScI3HARoa1sFufHO29jE44oLJe24gbmHMfXXREt4y9Q/PIgloSqsZ2SYL9pcdlO4Sf7IZQWl0coNy6snQwoEjJNVMcW7ZsncItyn+EtN2QncuqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=JUmbqWvqKed/EsxoX4csu15++Wbp4Y+tszYNy0Hdefc=; b=fXK4pCnM9Vyo1hWtrnM1gXH7RRG0Yy13YiwigVxwXtSvAxTvYyIizj/CWPMmFgPjbX9g2V0M2dsVG5PzVdv7mj3cZsXcdpNOMRr+txgp1OYQJgIod4dHZPQ0fYfHPtHyKmn2lPqfgkOeBDL2UF9CUvUzIW3L45/PW+eT40wBJnKXe5kY6e6MLZm+QX1tGTB3A8MCFl33k0YNSj//qS0UaJGuxDoBSrNxlfWhyliWhhXxLV7oRMdAB0w2YWvB6bSHzNH7SVlrEQSOLKxnHPdVJAXwtjZ4H/XEno7HD76kN51fymxRl3p4U44j/5SJaD1sL/6rTIFG3tqBX9YJISCUSQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JUmbqWvqKed/EsxoX4csu15++Wbp4Y+tszYNy0Hdefc=; b=VTyLHVrEr2OaTSXfssrlgubikhgbkHMhteaTfmdQvxAZxKm6zq4hbj3w+4H6wLsHQY/YXTlqR1xeGcyzoDoe4eFYbm+5EnJNBx21dIJ/Y+tUdoLPR91/Uz45wzJpcb4vs5qYhptotJIr+c8uh0px6N074kyFMm7mgGPN+9KvCoc= Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM (2603:1096:301:75::14) by SI2P153MB0702.APCP153.PROD.OUTLOOK.COM (2603:1096:4:1fe::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.7; Wed, 26 Apr 2023 21:37:44 +0000 Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::3f0:d0e4:818f:7af0]) by PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::3f0:d0e4:818f:7af0%3]) with mapi id 15.20.6363.007; Wed, 26 Apr 2023 21:37:44 +0000 From: Souradeep Chakrabarti To: Kyle Evans CC: Wei Hu , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: RE: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Thread-Topic: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Thread-Index: AQHZcn/2gVTtqNix60WeYnOdZN2tzq86cNIwgAE7PnCAAPQkAIABB3EggABvAkCAABKbsA== Date: Wed, 26 Apr 2023 21:37:44 +0000 Message-ID: References: <202210271354.29RDsUoH077155@gitrepo.freebsd.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=21a74f30-ac77-4407-8a3e-65e511a6f288;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2023-04-26T13:52:21Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PSAP153MB0536:EE_|SI2P153MB0702:EE_ x-ms-office365-filtering-correlation-id: d295f60f-2445-45d0-2d8b-08db469e788f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DYopujV7hm27fH49mqn85sHkgQk3+dJR0WEyj22f12+wV1PKwqZjHR4wN0tUbyMkTs5+VJXV9/mX8PD2rqk3u5c8fdZrnqw3gQ4iTSSx4dUKGt0XJEBrOKj6uFyqJaZb+Xq+kOaULcEY2pYddw6KnRC11QAJQdKrt4IOuJmDxRCoOp37ATJomdy+nq8PJHSZGMAc1rHsJ12A+MlGI5YLFg6npCEtK/GlSlvHzcX4RaJyxnNo9j2C4kMUHSOFNa5bOqfsNnikQkk8wM5Vr88J290T1NQULm4w3jQR7WZkbPnv005IlKs8vBbaI58c6eww4u+D/bXLkEN2HS39Rz3xxefLt1Wo0r3MrKaR1rcL1ibq9RP0gjotrybhNlx+V0SLUkTyPsJcjyfgVN3t7lLb4sW8vbrsAsVnjLU26uypl09uQwipUbvb9tsTHNegKZzLzX5oIIKWqPSsmE7wTgdoa2F38E1X2jd/i6fepV9SkYZciFDhqLRxG8pVR0Oo6C0TuJTsrJcqGGY+0iY1fXGkR9C/sNCaAmX4FwJ7avJWzQ5JxySghvnBT9UptvlCoe4KKVSp034SeeWI9iud4/W1gQR4y5rt8dvnM0hwM9OBWzIwOHFcTf6rNJdN59+S0Xz+TvcS4tTPs1jkzAB3jRjJUQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PSAP153MB0536.APCP153.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(366004)(136003)(39860400002)(346002)(396003)(451199021)(2940100002)(186003)(6506007)(26005)(9686003)(83380400001)(966005)(71200400001)(7696005)(8936002)(52536014)(4326008)(6916009)(122000001)(5660300002)(8990500004)(86362001)(38100700002)(41300700001)(10290500003)(55016003)(478600001)(64756008)(66446008)(66476007)(66556008)(76116006)(66946007)(82960400001)(82950400001)(450100002)(316002)(786003)(2906002)(4001150100001)(8676002)(38070700005)(30864003)(33656002)(54906003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RXg2d0x1K21TTERLSVhMcDlSSmxES2NrQXA1M09DMFFVWWphTW5BZGxrR1Fv?= =?utf-8?B?d2c1ckVXcWVXZi9OZFVwVXB5Qnd2SVhJN0Z1SWQzSUlOei9UV3U0bnVETDJI?= =?utf-8?B?RGphb2I1bXpUVkd1aTROKzlCNG1KMkFER2FzQWQrS3lMOVRlTXdVM1YyVEpn?= =?utf-8?B?ZjR0TDlkOGYvdWRrL1kvMDNVUWF0cEx6Qzc0SWRQV2p3NmlCT0dMMXRTbU5V?= =?utf-8?B?M1FDL1ZrdlJzN3VsREQ0TXIybHM4dGRtWTN2Mzd1YUxZc0w4WXd3T2R5bmwv?= =?utf-8?B?dXRkc0VZTXY4QXc5Mkp6aktVdGxLdEhjVUR0bEJqZ2ZMSXlkZTRpcG0xcHAy?= =?utf-8?B?MW1EdWg2VTN1b0NqOEE3NWQ1VGVVNkc1SHlBaTJaRk5zVVMvQmludkM5YnR0?= =?utf-8?B?N0NBZUVJZ2VNN0U2cndBRDNSS3g4WXVOTE1OblFTWVRwQXMvdDlWSzBlWFZ5?= =?utf-8?B?R3BxazNWN3pLM01YQlo3eWRBZkFod1pZTFhHRWJyMmlMMmRScVE5Zk1lYmVr?= =?utf-8?B?UmhoU3dmYjU3R1gyZ2xjKzlJNk9qbkZwVGlTS1d5b0pIL05JM29ONytGN0Rx?= =?utf-8?B?UWR6NHU3VHFSZzRmRUc3elh4T0VtRGpTRHBicUNwZVk4eVorOVZuanUrTkwy?= =?utf-8?B?NnMzUzBBbUdoVEVjcis0YnlxT2k0U0VOU2dzeWZRbjBJdlFXTCtSK2JuWVlP?= =?utf-8?B?bnQzUGhMUS9PSHRCbU9jVmZjcFB3STBuMWJGN1htT3NQRmp0Sk1vSmVUdUpH?= =?utf-8?B?ZmROaTVFUy9wV3NwQXpROWcvN3FIQ2xaNkV5V0IrS09vc3l1bW1GN1ZQT2ZO?= =?utf-8?B?c21PUXN5ZjhzTlFRSVhId2dZM2IxbkhWTGhxY3p5MXhWNi96NkZIYnhLejFP?= =?utf-8?B?U1JYeUl0MjBhYVpFNTkra3NWQjc2amNMVnJYRHVubW5QZjZXRWFMejhvL2g4?= =?utf-8?B?ektwV01TdDZCRFdJVi9ScVZvdFhiZHY2Q2U0bHY0TEJWdXoyeVZSRUhlMDlx?= =?utf-8?B?VlRDME93Vkc3QVJmY0Y4ZTdHNDhyOHcrelJUYXhKSDJERUp1cXdCdFRma2Ro?= =?utf-8?B?QkhFNjVsZHNvck1RbnJ6QVNwd05KVGdreG5Ha1ZzbzQvUlplcGRhcjIweEZ5?= =?utf-8?B?OGVKTFA5YkFueEJvbHNNWUo5QjB3R0VFU0N6ZXF0NGlrbXpIR09iTU8wQnE5?= =?utf-8?B?TTlJWUpXTjFneUt2T2UxNkxENEJQQTFqTkYyUEZGcXA0UU9sQ3FzRWVhVDhm?= =?utf-8?B?WTFsVW9GQTIvWU5OVlNwK3Nqek5KSWt0M3ZOU1FIV0k3S0F5Y2FZYk1BVDBG?= =?utf-8?B?L1hRZUN4bnVYaEN1U200YmI3SWRwdnZCdEhYNjNrOHpYN3g0T2l2amJjUWtT?= =?utf-8?B?WEw4VXRQVDJDUWtocTdlTWtFMzdnOVZRYTRXQVFMcjRYZjlWZGdobkFLbmxY?= =?utf-8?B?c2FXU2FYMzVxVG4vY1J3Q1RoS1pXSGk1Nm13VUhMcTVNZmFBNWNGdW5vNWpP?= =?utf-8?B?eUdXRzhtd1dSSHBjT2FSWFpleklhVmNUbXI5V01GdHV0L255RUhSM1pqM1dQ?= =?utf-8?B?Ykc4YUFQNDFrSThFSjB0ZWd4cEVlS2ErRWZWb2Jja2R6Skg1M1IrVGhURjhX?= =?utf-8?B?VEVkeFg4eDJkRXdjVGlHWHFjdmVlZ09Lclc4ZUdRUHgyR215Q1hFQURGZXBv?= =?utf-8?B?dUVKMWQ2eXMybERzcTFhdGJhMHJ4L3FydnBtNms5SThCcDdlWGIvOVl1SWgx?= =?utf-8?B?Q3lXc1hPdWRGeDJWNDBwRGU4WjhMRCtBMGl3OHFKc3Z5L21tdjlqbVl2cFQ3?= =?utf-8?B?QWZDbXcyYUZ0bnExRmYvNzluNnVSeGVzclNIcXQ3b281OC91emp6N0VZRkZs?= =?utf-8?B?WG90ODZZSVlianRCS1o4alREV09lMkw2NGR3VENFeXA0V0wvN2FwbGY5ZHRm?= =?utf-8?B?RTdObXpVK0ZTL1dyaVJpUGM2MVNkZU5UMEs2RDF5MmRuNTFXOFAvTGVSSnBX?= =?utf-8?B?ZVNIU25DcDJrQ090dW1qMjdqRllRS1liRVl5MjVOR0xTNU5zU0d4UVBqK3lr?= =?utf-8?Q?VSzx/F?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PSAP153MB0536.APCP153.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: d295f60f-2445-45d0-2d8b-08db469e788f X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2023 21:37:44.4328 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cURuT5WRlpo0U19PhOZnR7x9uDhS859CXWxsXbL3QXQoqy/t932TqaLojoNrN40Z5A4x8dcbDv0WPg4oHu5qHsYzhAC+kXws+Bngm+b/bUE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2P153MB0702 X-Spamd-Result: default: False [-8.90 / 15.00]; WHITELIST_SPF_DKIM(-3.00)[microsoft.com:d:+,microsoft.com:s:+]; DWL_DNSWL_LOW(-1.00)[microsoft.com:dkim]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.997]; DMARC_POLICY_ALLOW(-0.50)[microsoft.com,reject]; R_SPF_ALLOW(-0.20)[+ip4:40.107.0.0/16]; R_DKIM_ALLOW(-0.20)[microsoft.com:s=selector2]; MIME_GOOD(-0.10)[text/plain]; MIME_BASE64_TEXT(0.10)[]; ASN(0.00)[asn:8075, ipnet:40.104.0.0/14, country:US]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[microsoft.com:+]; FROM_HAS_DN(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[40.107.117.121:from]; RCVD_IN_DNSWL_NONE(0.00)[40.107.117.121:from]; TO_DN_SOME(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[] X-Rspamd-Queue-Id: 4Q6C015Tzwz3G5Z X-Spamd-Bar: -------- X-ThisMailContainsUnwantedMimeParts: N DQoNCg0KPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogU291cmFkZWVwIENoYWty YWJhcnRpDQo+U2VudDogVGh1cnNkYXksIEFwcmlsIDI3LCAyMDIzIDI6MDEgQU0NCj5UbzogJ0t5 bGUgRXZhbnMnIDxrZXZhbnNAZnJlZWJzZC5vcmc+DQo+Q2M6ICdXZWkgSHUnIDx3aHVAZnJlZWJz ZC5vcmc+OyAnc3JjLWNvbW1pdHRlcnNAZnJlZWJzZC5vcmcnIDxzcmMtDQo+Y29tbWl0dGVyc0Bm cmVlYnNkLm9yZz47ICdkZXYtY29tbWl0cy1zcmMtYWxsQGZyZWVic2Qub3JnJyA8ZGV2LWNvbW1p dHMtc3JjLQ0KPmFsbEBmcmVlYnNkLm9yZz47ICdkZXYtY29tbWl0cy1zcmMtbWFpbkBmcmVlYnNk Lm9yZycgPGRldi1jb21taXRzLXNyYy0NCj5tYWluQGZyZWVic2Qub3JnPg0KPlN1YmplY3Q6IFJF OiBbRVhURVJOQUxdIFJlOiBnaXQ6IDk3MjlmMDc2ZTRkOSAtIG1haW4gLSBhcm02NDogSHlwZXIt VjoNCj5lbmFibGVtZW50IGZvciBBUk02NCBpbiBIeXBlci1WIChQYXJ0IDMsIGZpbmFsKQ0KPg0K Pg0KPg0KPg0KPj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj5Gcm9tOiBTb3VyYWRlZXAg Q2hha3JhYmFydGkNCj4+U2VudDogV2VkbmVzZGF5LCBBcHJpbCAyNiwgMjAyMyA3OjI2IFBNDQo+ PlRvOiBLeWxlIEV2YW5zIDxrZXZhbnNAZnJlZWJzZC5vcmc+DQo+PkNjOiBXZWkgSHUgPHdodUBm cmVlYnNkLm9yZz47IHNyYy1jb21taXR0ZXJzQGZyZWVic2Qub3JnOw0KPj5kZXYtY29tbWl0cy1z cmMtIGFsbEBmcmVlYnNkLm9yZzsgZGV2LWNvbW1pdHMtc3JjLW1haW5AZnJlZWJzZC5vcmcNCj4+ U3ViamVjdDogUkU6IFtFWFRFUk5BTF0gUmU6IGdpdDogOTcyOWYwNzZlNGQ5IC0gbWFpbiAtIGFy bTY0OiBIeXBlci1WOg0KPj5lbmFibGVtZW50IGZvciBBUk02NCBpbiBIeXBlci1WIChQYXJ0IDMs IGZpbmFsKQ0KPj4NCj4+DQo+Pg0KPj4NCj4+Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ Pj5Gcm9tOiBLeWxlIEV2YW5zIDxrZXZhbnNAZnJlZWJzZC5vcmc+DQo+Pj5TZW50OiBXZWRuZXNk YXksIEFwcmlsIDI2LCAyMDIzIDM6MzkgQU0NCj4+PlRvOiBTb3VyYWRlZXAgQ2hha3JhYmFydGkg PHNjaGFrcmFiYXJ0aUBtaWNyb3NvZnQuY29tPg0KPj4+Q2M6IEt5bGUgRXZhbnMgPGtldmFuc0Bm cmVlYnNkLm9yZz47IFdlaSBIdSA8d2h1QGZyZWVic2Qub3JnPjsgc3JjLQ0KPj4+Y29tbWl0dGVy c0BmcmVlYnNkLm9yZzsgZGV2LWNvbW1pdHMtc3JjLWFsbEBmcmVlYnNkLm9yZzsNCj4+PmRldi1j b21taXRzLXNyYy0gbWFpbkBmcmVlYnNkLm9yZw0KPj4+U3ViamVjdDogUmU6IFtFWFRFUk5BTF0g UmU6IGdpdDogOTcyOWYwNzZlNGQ5IC0gbWFpbiAtIGFybTY0OiBIeXBlci1WOg0KPj4+ZW5hYmxl bWVudCBmb3IgQVJNNjQgaW4gSHlwZXItViAoUGFydCAzLCBmaW5hbCkNCj4+Pg0KPj4+T24gVHVl LCBBcHIgMjUsIDIwMjMgYXQgMjo0MuKAr0FNIFNvdXJhZGVlcCBDaGFrcmFiYXJ0aQ0KPj4+PHNj aGFrcmFiYXJ0aUBtaWNyb3NvZnQuY29tPiB3cm90ZToNCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+Pj4N Cj4+Pj4gPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4+ID5Gcm9tOiBTb3VyYWRlZXAg Q2hha3JhYmFydGkNCj4+Pj4gPlNlbnQ6IE1vbmRheSwgQXByaWwgMjQsIDIwMjMgNjoyNCBQTQ0K Pj4+PiA+VG86IEt5bGUgRXZhbnMgPGtldmFuc0BmcmVlYnNkLm9yZz47IFdlaSBIdSA8d2h1QGZy ZWVic2Qub3JnPg0KPj4+PiA+Q2M6IHNyYy1jb21taXR0ZXJzQGZyZWVic2Qub3JnOyBkZXYtY29t bWl0cy1zcmMtYWxsQGZyZWVic2Qub3JnOw0KPj4+PiA+ZGV2LWNvbW1pdHMtIHNyYy1tYWluQGZy ZWVic2Qub3JnDQo+Pj4+ID5TdWJqZWN0OiBSRTogW0VYVEVSTkFMXSBSZTogZ2l0OiA5NzI5ZjA3 NmU0ZDkgLSBtYWluIC0gYXJtNjQ6IEh5cGVyLVY6DQo+Pj4+ID5lbmFibGVtZW50IGZvciBBUk02 NCBpbiBIeXBlci1WIChQYXJ0IDMsIGZpbmFsKQ0KPj4+PiA+DQo+Pj4+ID4NCj4+Pj4gPg0KPj4+ PiA+DQo+Pj4+ID4+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+Pj4gPj5Gcm9tOiBLeWxl IEV2YW5zIDxrZXZhbnNAZnJlZWJzZC5vcmc+DQo+Pj4+ID4+U2VudDogV2VkbmVzZGF5LCBBcHJp bCAxOSwgMjAyMyAxMTowMCBBTQ0KPj4+PiA+PlRvOiBXZWkgSHUgPHdodUBmcmVlYnNkLm9yZz47 IFNvdXJhZGVlcCBDaGFrcmFiYXJ0aQ0KPj4+PiA+PjxzY2hha3JhYmFydGlAbWljcm9zb2Z0LmNv bT4NCj4+Pj4gPj5DYzogc3JjLWNvbW1pdHRlcnNAZnJlZWJzZC5vcmc7IGRldi1jb21taXRzLXNy Yy1hbGxAZnJlZWJzZC5vcmc7DQo+Pj4+ID4+ZGV2LWNvbW1pdHMtIHNyYy1tYWluQGZyZWVic2Qu b3JnDQo+Pj4+ID4+U3ViamVjdDogW0VYVEVSTkFMXSBSZTogZ2l0OiA5NzI5ZjA3NmU0ZDkgLSBt YWluIC0gYXJtNjQ6IEh5cGVyLVY6DQo+Pj4+ID4+ZW5hYmxlbWVudCBmb3IgQVJNNjQgaW4gSHlw ZXItViAoUGFydCAzLCBmaW5hbCkNCj4+Pj4gPj4NCj4+Pj4gPj5PbiBUaHUsIE9jdCAyNywgMjAy MiBhdCA4OjU04oCvQU0gV2VpIEh1IDx3aHVAZnJlZWJzZC5vcmc+IHdyb3RlOg0KPj4+PiA+Pj4N Cj4+Pj4gPj4+IFRoZSBicmFuY2ggbWFpbiBoYXMgYmVlbiB1cGRhdGVkIGJ5IHdodToNCj4+Pj4g Pj4+DQo+Pj4+ID4+PiBVUkw6DQo+Pj4+ID4+PiBodHRwczovL25hbTA2LnNhZmVsaW5rcy5wcm90 ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0ElMkYlDQo+Pj4+ID4+PiAyDQo+Pj4+ID4+ PiBGDQo+Pj4+ID4+Pg0KPj4+Y2dpJTJGJmRhdGE9MDUlN0MwMSU3Q3NjaGFrcmFiYXJ0aSU0MG1p Y3Jvc29mdC5jb20lN0NlMWNmYzNhZmY3Zjk0DQo+Pj4+ID4+Pg0KPj4+ZDVjMmNhNDA4ZGI0NWQ5 YzRjNSU3QzcyZjk4OGJmODZmMTQxYWY5MWFiMmQ3Y2QwMTFkYjQ3JTdDMSU3QzANCj4lDQo+PjcN Cj4+PkM2DQo+Pj4+ID4+Pg0KPj4+MzgxODA1NzM4NjcxMTg3OTMlN0NVbmtub3duJTdDVFdGcGJH WnNiM2Q4ZXlKV0lqb2lNQzR3TGpBd00NCj5EDQo+PkFpDQo+Pj5MQ0pRDQo+Pj4+ID4+Pg0KPj4+ SWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxDSlhWQ0k2TW4wJTNEJTdDMzAwMCU3QyU3QyU3 QyZzZGF0YT0NCj5rDQo+Pj4+ID4+Pg0KPj4+TW50TVl6ZWdXZ0YlMkI5MHZxNkZFUkJMandmTSUy RlZiMUdVTndVUDlwdjkwUSUzRCZyZXNlcnZlZD0NCj4wDQo+Pj4+ID4+PiB0DQo+Pj4+ID4+Pg0K Pj4+Pg0KPj4+Pj4uZnJlZWJzZC5vcmclMkZzcmMlMkZjb21taXQlMkYlM0ZpZCUzRDk3MjlmMDc2 ZTRkOTNjNWEzN2U3OGQ0MjcNCj5iDQo+PmYNCj4+PmUNCj4+Pj4gPjANCj4+Pj4gPj5mMWENCj4+ Pj4gPj4+DQo+Pj4+DQo+Pj4+PmI5OWJiY2M2JmRhdGE9MDUlN0MwMSU3Q3NjaGFrcmFiYXJ0aSU0 MG1pY3Jvc29mdC5jb20lN0MzOTNlODU1ZjENCj4zDQo+PmMNCj4+PjYNCj4+Pj4gPj40OWENCj4+ Pj4gPj4+DQo+Pj4+DQo+Pj4+Pjg4ODM3MDhkYjQwOTcyMTFlJTdDNzJmOTg4YmY4NmYxNDFhZjkx YWIyZDdjZDAxMWRiNDclN0MxJTdDMA0KPj4lDQo+Pj43DQo+Pj4+ID5DDQo+Pj4+ID4+NjM4MTc0 Nw0KPj4+PiA+Pj4NCj4+Pj4NCj4+Pj4+OTAxMDY3ODY0NDklN0NVbmtub3duJTdDVFdGcGJHWnNi M2Q4ZXlKV0lqb2lNQzR3TGpBd01EQWlMQ0oNCj4+UUkNCj4+PmoNCj4+Pj4gPm9pDQo+Pj4+ID4+ VjJsdU16DQo+Pj4+ID4+Pg0KPj4+Pg0KPj4+Pj5JaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1u MCUzRCU3QzMwMDAlN0MlN0MlN0Mmc2RhdGE9aHVpYU9CUw0KPkINCj4+Mg0KPj4+Wg0KPj4+PiA+ PlFEbjVRDQo+Pj4+ID4+PiBjdyUyRkxXbm1JJTJGcWJicmlRZDdIa1l0cHhuR0xHRSUzRCZyZXNl cnZlZD0wDQo+Pj4+ID4+Pg0KPj4+PiA+Pj4gY29tbWl0IDk3MjlmMDc2ZTRkOTNjNWEzN2U3OGQ0 MjdiZmUwZjFhYjk5YmJjYzYNCj4+Pj4gPj4+IEF1dGhvcjogICAgIFNvdXJhZGVlcCBDaGFrcmFi YXJ0aSA8c2NoYWtyYWJhcnRpQG1pY3Jvc29mdC5jb20+DQo+Pj4+ID4+PiBBdXRob3JEYXRlOiAy MDIyLTEwLTI3IDEzOjQ2OjA4ICswMDAwDQo+Pj4+ID4+PiBDb21taXQ6ICAgICBXZWkgSHUgPHdo dUBGcmVlQlNELm9yZz4NCj4+Pj4gPj4+IENvbW1pdERhdGU6IDIwMjItMTAtMjcgMTM6NTM6MjIg KzAwMDANCj4+Pj4gPj4+DQo+Pj4+ID4+PiAgICAgYXJtNjQ6IEh5cGVyLVY6IGVuYWJsZW1lbnQg Zm9yIEFSTTY0IGluIEh5cGVyLVYgKFBhcnQgMywNCj4+Pj4gPj4+IGZpbmFsKQ0KPj4+PiA+Pj4N Cj4+Pj4gPj4+ICAgICBUaGlzIGlzIHRoZSBsYXN0IHBhcnQgZm9yIEFSTTY0IEh5cGVyLVYgZW5h YmxlbWVudC4gVGhpcyBpbmNsdWRlcw0KPj4+PiA+Pj4gICAgIGNvbW1vbmUgZmlsZXMgYW5kIG1h a2UgZmlsZSBjaGFuZ2VzIHRvIGVuYWJsZSB0aGUgQVJNNjQgRnJlZUJTRA0KPj4+PiA+Pj4gICAg IGd1ZXN0IG9uIEh5cGVyLVYuIFdpdGggdGhpcyBwYXRjaCwgaXQgc2hvdWxkIGJlIGFibGUgdG8g YnVpbGQNCj4+Pj4gPj4+ICAgICB0aGUgQVJNNjQgaW1hZ2UgYW5kIGluc3RhbGwgaXQgb24gSHlw ZXItVi4NCj4+Pj4gPj4+DQo+Pj4+ID4+DQo+Pj4+ID4+SGksDQo+Pj4+ID4+DQo+Pj4+ID4+Rmly c3Qgb2ZmLSB0aGFua3MgZm9yIGRvaW5nIHRoaXMgd29yayEgSSBjYW4ndCBzZWVtIHRvIGJvb3Qg YQ0KPj4+PiA+Pi1DVVJSRU5UIGltYWdlIHVuZGVyIEh5cGVyLVYgb24gYSBWb2x0ZXJyYSBtYWNo aW5lLCBzZWVtaW5nbHkgZHVlDQo+Pj4+ID4+dG8gdm1idXMuIEl0IHN0YWxscyByaWdodA0KPj4+ PiA+YWZ0ZXIgInZtYnVzOg0KPj4+PiA+PnRoZSBpcnEgMTgiIGJ1dCBiZWZvcmUgZW1pdHRpbmcg YSB2ZXJzaW9uIG51bWJlciwgSSBoYXZlIHNvbWUNCj4+Pj4gPj5vdGhlciBjb21tZW50cyBoZXJl Li4uDQo+Pj4+ID4+DQo+Pj4+ID4+PiBbLi4uIHNuaXAgLi4uXQ0KPj4+PiA+Pj4gZGlmZiAtLWdp dCBhL3N5cy9kZXYvaHlwZXJ2L3ZtYnVzL3ZtYnVzLmMNCj4+Pj4gPj4+IGIvc3lzL2Rldi9oeXBl cnYvdm1idXMvdm1idXMuYyBpbmRleCBiMGNkNzUwYjI2YzguLmYzNzBmMmE3NWI5OQ0KPj4+PiA+ Pj4gMTAwNjQ0DQo+Pj4+ID4+PiAtLS0gYS9zeXMvZGV2L2h5cGVydi92bWJ1cy92bWJ1cy5jDQo+ Pj4+ID4+PiArKysgYi9zeXMvZGV2L2h5cGVydi92bWJ1cy92bWJ1cy5jDQo+Pj4+ID4+PiBbLi4u IHNuaXAgLi4uXQ0KPj4+PiA+Pj4gQEAgLTEwNyw3ICsxMTMsNyBAQCBzdGF0aWMgdWludDMyX3QN Cj4+Pj4gPj52bWJ1c19nZXRfdmNwdV9pZF9tZXRob2QoZGV2aWNlX3QgYnVzLA0KPj4+PiA+Pj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlX3QgZGV2LCBpbnQgY3B1 KTsNCj4+Pj4gPj4+ICBzdGF0aWMgc3RydWN0IHRhc2txdWV1ZSAgICAgICAgICAgICAgICAqdm1i dXNfZ2V0X2V2ZW50dHFfbWV0aG9kKGRldmljZV90LA0KPj4+ZGV2aWNlX3QsDQo+Pj4+ID4+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQpOyAtI2lmZGVmDQo+Pj4+ID4+ PiBFQVJMWV9BUF9TVEFSVFVQDQo+Pj4+ID4+PiArI2lmIGRlZmluZWQoRUFSTFlfQVBfU1RBUlRV UCkgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykNCj4+Pj4gPj4+ICBzdGF0aWMgdm9pZCAgICAgICAg ICAgICAgICAgICAgdm1idXNfaW50cmhvb2sodm9pZCAqKTsNCj4+Pj4gPj4+ICAjZW5kaWYNCj4+ Pj4gPj4+DQo+Pj4+ID4+DQo+Pj4+ID4+TXkgZ3V0IHJlYWN0aW9uIHRvIHRoaXMgaXMgdGhhdCB0 aGlzIGlzIGEgcmVkIGZsYWcuDQo+Pj4+ID4+RUFSTFlfQVBfU1RBUlRVUCBpbXBsaWVzIGNoYXJh Y3RlcmlzdGljcyB0aGF0IGFhcmNoNjQgZG9lc24ndA0KPj4+PiA+PmV4aGliaXQ7IGl0J3MgaGFy ZCB0byBzZWUgd2h5IHRoaXMgY29uZGl0aW9uYWwgaXMgT0ssIG9yIHdoZXRoZXINCj4+Pj4gPj5p dCdzIHRlc3RpbmcgRUFSTFlfQVBfU1RBUlRVUCBhcyBhIGJhZCB3YXkgdG8gd3JpdGUgX19pMzg2 X18gfHwNCj5fX2FtZDY0X18uDQo+Pj4+ID5bU291cmFkZWVwXSBXZSBoYWQgb3InZCB0aGUgYWFy Y2g2NCBoZXJlLCBhcyB3ZSB3YW50ZWQgdG8gZGVmZXIgdGhlDQo+Pj4+ID52bWJ1cyBhdHRhY2ht ZW50IGFmdGVyIGdpYyBhbmQgYXJtIGdlbmVyaWMgdGltZXIgaXMgYXR0YWNoZWQuIEFzIHdlDQo+ Pj4+ID5uZWVkIFBBVVNFIGFuZCBERUxBWSBmb3Igdm1idXMgYW5kIGh5cGVyLXYgZHJpdmVycy4g Rm9yIHRoYXQgd2UNCj4+Pj4gPndhbnRlZCB0byB1c2Ugdm1idXNfaW50cmhvb2soKS4NCj4+Pj4g Pj4NCj4+Pj4gPj4+IFsuLi4gc25pcCAuLi5dDQo+Pj4+ID4+PiBAQCAtNzYwLDcgKzczNiw3IEBA IHZtYnVzX3N5bmljX3NldHVwKHZvaWQgKnhzYykNCj4+Pj4gPj4+DQo+Pj4+ID4+PiAgICAgICAg IGlmIChoeXBlcnZfZmVhdHVyZXMgJiBDUFVJRF9IVl9NU1JfVlBfSU5ERVgpIHsNCj4+Pj4gPj4+ ICAgICAgICAgICAgICAgICAvKiBTYXZlIHZpcnR1YWwgcHJvY2Vzc29yIGlkLiAqLw0KPj4+PiA+ Pj4gLSAgICAgICAgICAgICAgIFZNQlVTX1BDUFVfR0VUKHNjLCB2Y3B1aWQsIGNwdSkgPSByZG1z cihNU1JfSFZfVlBfSU5ERVgpOw0KPj4+PiA+Pj4gKyAgICAgICAgICAgICAgIFZNQlVTX1BDUFVf R0VUKHNjLCB2Y3B1aWQsIGNwdSkgPQ0KPj4+PiA+Pj4gKyBSRE1TUihNU1JfSFZfVlBfSU5ERVgp Ow0KPj4+PiA+Pj4gICAgICAgICB9IGVsc2Ugew0KPj4+PiA+Pj4gICAgICAgICAgICAgICAgIC8q IFNldCB2aXJ0dWFsIHByb2Nlc3NvciBpZCB0byAwIGZvciBjb21wYXRpYmlsaXR5LiAqLw0KPj4+ PiA+Pj4gICAgICAgICAgICAgICAgIFZNQlVTX1BDUFVfR0VUKHNjLCB2Y3B1aWQsIGNwdSkgPSAw Ow0KPj4+PiA+Pg0KPj4+PiA+PlRoaXMgb25lLCB2bWJ1c19zeW5pY19zZXR1cCgpLCBpcyBpbnZv a2VkIHZpYSB2bWJ1c19pbnRyaG9vayAtPg0KPj4+PiA+PnZtYnVzX2RvYXR0YWNoIC0NCj4+Pj4g Pj4+IHNtcF9yZW5kZXp2b3VzLiBPbiAhRUFSTFlfQVBfU1RBUlRVUCAoZS5nLiwgYWFyY2g2NCks IFNNUCBpc24ndA0KPj4+PiA+Pj4gZnVuY3Rpb25hbCBpbg0KPj4+PiA+PmludHJob29rcyBhbmQg c21wX3JlbmRlenZvdXMoKSB3aWxsIGp1c3QgY2FsbCB2bWJ1c19zeW5pY19zZXR1cCgpDQo+Pj4+ ID4+b24gdGhlIGJvb3QNCj4+Pj4gPkFQLg0KPj4+PiA+PlRoZXJlJ3Mgbm90aGluZyB0aGF0IHdp bGwgaW5pdGlhbGl6ZSB0aGUgcGNwdSBkYXRhIG9uIGV2ZXJ5IG90aGVyIEFQLCBBRkFJQ1QuDQo+ Pj4+ID4+DQo+Pj4+ID4+VGhhdCBzYWlkLCB0aGUgIUVBUkxZX0FQX1NUQVJUVVAgcGF0aCBpcyBh bHNvIHdyb25nLiBRdW90aW5nIGxpbmVzDQo+Pj4+ID4+dGhhdCB3ZXJlbid0IGluIHRoaXMgZS1t YWlsIGZyb20gdm1idXNfYXR0YWNoKCk6DQo+Pj4+ID5bU291cmFkZWVwXSBUaGFua3MhIFRoaXMg aXMgYSByZWFsbHkgZ29vZCBjYXRjaCwgYW5kIHllcywgd2UgYXJlDQo+Pj4+ID5taXNzaW5nIHRo ZSBzbXAgaW5pdGlhbGl6YXRpb24gZHVyaW5nIHZtYnVzIHN5bmljIHNldHVwLg0KPj4+PiA+Pg0K Pj4+PiA+PjE1MjcgI2Vsc2UgICAvKiAhRUFSTFlfQVBfU1RBUlRVUCAqLw0KPj4+PiA+PjE1Mjgg ICAgICAgICAvKg0KPj4+PiA+PjE1MjkgICAgICAgICAgKiBJZiB0aGUgc3lzdGVtIGhhcyBhbHJl YWR5IGJvb3RlZCBhbmQgdGhyZWFkDQo+Pj4+ID4+MTUzMCAgICAgICAgICAqIHNjaGVkdWxpbmcg aXMgcG9zc2libGUgaW5kaWNhdGVkIGJ5IHRoZSBnbG9iYWwNCj4+Pj4gPj4xNTMxICAgICAgICAg ICogY29sZCBzZXQgdG8gemVybywgd2UganVzdCBjYWxsIHRoZSBkcml2ZXINCj4+Pj4gPj4xNTMy ICAgICAgICAgICogaW5pdGlhbGl6YXRpb24gZGlyZWN0bHkuDQo+Pj4+ID4+MTUzMyAgICAgICAg ICAqLw0KPj4+PiA+PjE1MzQgICAgICAgICBpZiAoIWNvbGQpDQo+Pj4+ID4+MTUzNSAgICAgICAg ICAgICAgICAgdm1idXNfZG9hdHRhY2godm1idXNfc2MpOw0KPj4+PiA+PjE1MzYgI2VuZGlmIC8q IEVBUkxZX0FQX1NUQVJUVVAgIGFuZCBhYXJjaDY0ICovDQo+Pj4+ID4+DQo+Pj4+ID4+VGhlIHR3 byBpbW1lZGlhdGUgaXNzdWVzIEkgc2VlIGlzIHRoYXQgaW4gYSBkZXZpY2VfYXR0YWNoLCBTTVAN Cj4+Pj4gPj53b24ndCBiZSBzdGFydGVkLiBJdCdzIGFsc28gZ29pbmcgdG8gYmUgYmVmb3JlIFNJ X1NVQl9DT05GSUdVUkUsDQo+Pj4+ID4+c28gYGNvbGRgIHdpbGwgbmV2ZXIgYmUgMCBoZXJlIC0t IHRoaXMgaXMgZWZmZWN0aXZlbHkgZGVhZCBjb2RlLA0KPj4+PiA+PmFuZCBpZiBpdCB3ZXJlbid0 IGRlYWQgY29kZSBpdCB3b3VsZCBzdWZmZXIgdGhlIHNhbWUgcHJvYmxlbSBhcw0KPj4+PiA+PmFi b3ZlIHdoZXJlIG90aGVyIEFQcyBhcmVuJ3Qgc3RhcnRlZCB5ZXQgc28gd2Ugd29uJ3Qgc2V0IHRo ZWlyIHBjcHUgZGF0YS4NCj4+Pj4gPj5UaGlzIGlzIE9LLCB0aG91Z2gsIGJlY2F1c2UgdGhlbiB3 ZSBoYXZlIHRoaXMgc3lzaW5pdCBsYXRlciBvbg0KPj4+PiA+PnRoYXQgZG9lcyB0aGUgc2FtZSB0 aGluZyBmb3IgIUVBUkxZX0FQX1NUQVJUVVAgJiYgIV9fYWFyY2g2NF9fYCwNCj4+Pj4gPj5idXQg dGhhdCBzaG91bGQgcmVhbGx5IGp1c3QgYmUgYCFFQVJMWV9BUF9TVEFSVFVQYCBhcyBhYXJjaDY0 IGFsc28NCj4+Pj4gPj5uZWVkcyB0byBpbnZva2UNCj4+Pj4gPj52bWJ1c19kb2F0dGFjaCgpIGF0 IFNJX1NVQl9TTVAgKG11Y2ggbGF0ZXIgdGhhbiBTSV9TVUJfRFJJVkVSUykuDQo+Pj4+ID5bU291 cmFkZWVwXSBJIGhhdmUgdHJpZWQgdG8gdXNlIHRoZSBzdWdnZXN0aW9uIGJ1dCBpbiBtdWx0aQ0K Pj4+PiA+cHJvY2Vzc29yIHN5c3RlbSB0aGUgYm9vdCBpcyBnZXR0aW5nIHN0dWNrIGF0IHRoZSBl bmQgYW5kICJ2bWJ1czA6DQo+Pj4+ID5kZXZpY2Ugc2NhbiwgcHJvYmUgYW5kDQo+Pj5hdHRhY2gg ZG9uZSINCj4+Pj4gPmlzIG5vdCBoYXBwZW5pbmcuDQo+Pj4+ID5JIGFtIHRyeWluZyB0byBmaWd1 cmUgb3V0IHdoYXQgaXMgZ29pbmcgd3JvbmcgaGVyZSwgYXMgdGhlIHNhbWUNCj4+Pj4gPmNoYW5n ZSBpcyB3b3JraW5nIHdpdGggc2luZ2xlIGNwdSBzeXN0ZW0uIEFueSBoZWxwIG9yIHBvaW50ZXIg d2lsbA0KPj4+PiA+YmUgcmVhbGx5DQo+Pj5oZWxwZnVsLg0KPj4+PiBbU291cmFkZWVwXSAgSSBj YW4gc2VlIHRoZSBwcm9ibGVtIHRoZSB0YXNrIHZtYnVzX3NjYW5kb25lX3Rhc2sgaXMNCj4+Pj4g Z2V0dGluZyBlbnF1ZXVlZCBidXQgaXQgaXMgbm90IGdldHRpbmcgZXhlY3V0ZWQuDQo+Pj4+DQo+ Pj4+IDUyNSBzdGF0aWMgdm9pZA0KPj4+PiAgNTI2IHZtYnVzX3NjYW5fZG9uZShzdHJ1Y3Qgdm1i dXNfc29mdGMgKnNjLA0KPj4+PiAgNTI3ICAgICBjb25zdCBzdHJ1Y3Qgdm1idXNfbWVzc2FnZSAq bXNnIF9fdW51c2VkKQ0KPj4+PiAgNTI4IHsNCj4+Pj4gIDUyOSAgICAgZGV2aWNlX3ByaW50Zihz Yy0+dm1idXNfZGV2LCAiIHZtYnVzX3NjYW5fZG9uZSBpcyBjYWxsZWRcbiIpOw0KPj4+PiAgNTMw DQo+Pj4+ICA1MzEgICAgIHRhc2txdWV1ZV9lbnF1ZXVlKHNjLT52bWJ1c19kZXZ0cSwgJnNjLT52 bWJ1c19zY2FuZG9uZV90YXNrKTsNCj4+Pj4gIDUzMiB9DQo+Pj4+IHZtYnVzIHNjYW4gZG9uZSBp cyBnZXR0aW5nIGNhbGxlZC4NCj4+Pj4NCj4+Pj4gQnV0DQo+Pj4+IDUxNCBzdGF0aWMgdm9pZA0K Pj4+PiAgNTE1IHZtYnVzX3NjYW5fZG9uZV90YXNrKHZvaWQgKnhzYywgaW50IHBlbmRpbmcgX191 bnVzZWQpDQo+Pj4+ICA1MTYgew0KPj4+PiAgNTE3ICAgICBzdHJ1Y3Qgdm1idXNfc29mdGMgKnNj ID0geHNjOw0KPj4+PiAgNTE4ICAgICBkZXZpY2VfcHJpbnRmKHNjLT52bWJ1c19kZXYsICIgdm1i dXNfc2Nhbl9kb25lX3Rhc2sgaXMgY2FsbGVkXG4iKTsNCj4+Pj4gIDUxOSAgICAgYnVzX3RvcG9f bG9jaygpOw0KPj4+PiAgNTIwICAgICBzYy0+dm1idXNfc2NhbmRvbmUgPSB0cnVlOw0KPj4+PiAg NTIxICAgICBidXNfdG9wb191bmxvY2soKTsNCj4+Pj4gIDUyMiAgICAgd2FrZXVwKCZzYy0+dm1i dXNfc2NhbmRvbmUpOw0KPj4+PiAgNTIzIH0NCj4+Pj4gdm1idXNfc2Nhbl9kb25lX3Rhc2sgIGlz IG5vdCBnZXR0aW5nIGNhbGxlZCB0aGUgdGFzayAuDQo+Pj4+DQo+Pj4+IEJ1dCB0aGUgc2FtZSBp cyBoYXBwZW5pbmcgd2hlbiBzaW5nbGUgY3B1IGlzIHJ1bm5pbmcsIGZvciBtdWx0aSBjcHUNCj4+ Pj4gaXQgaXMgZ2V0dGluZw0KPj4+c3R1Y2suDQo+Pj4NCj4+PkhpLA0KPj4+DQo+Pj5UaGF0IHNl ZW1zIG9kZC4gV2hhdCBoYXBwZW5zIGlmIHlvdSBidW1wIHRoZSBTWVNJTklUIHVwIHRvIFNJX1NV Ql9TTVANCj4+PisgMSwgU0lfT1JERVJfRklSU1Q/IFdlIGRvbid0IGtub3cgZm9yIGEgZmFjdCB0 aGF0IGFsbCBBUHMgYXJlIHJlYWR5DQo+Pj5mb3Igc2NoZWR1bGluZyB1bnRpbCBhZnRlciBzbXBf YWZ0ZXJfaWRsZV9ydW5uYWJsZSgpLCB3aGljaCBpcyBhbHNvIGF0DQo+Pj5TSV9PUkRFUl9BTlkN Cj4+Pi0tIG1heWJlIHRoZXJlJ3MganVzdCBzb21ldGhpbmcgZ29pbmcgaG9ycmlibHkgd3Jvbmcu DQo+Pj5UaGF0IHdvdWxkIHBlcmhhcHMgZXhwbGFpbiB3aHkgaXQncyBmaW5lIG9uIGEgc2luZ2xl IHByb2Nlc3NvciBzeXN0ZW0sDQo+Pj53aGljaCB3b24ndCBkbyBhbnl0aGluZyB1c2VmdWwgKGF0 IGxlYXN0IGluIGxhdGVyIHBhcnRzIG9mIFNJX1NVQl9TTVApLg0KPj5bU291cmFkZWVwXQ0KPj5J biBBUk02NCBTTVAoVk0gd2l0aCB0d28gY3B1KSwgIHN0b3J2c2MgYXR0YWNoIGlzIGhhcHBlbmlu ZyB0d28gdGltZXMNCj4+Zm9yIHNpbmdsZSBzY3NpIGNvbnRyb2xsZXIuDQo+PkJ1dCBmb3IgaW50 ZWwgc2ltaWxhciBWTSAodHdvIGNwdSksIGl0IGlzIGhhcHBlbmluZyBvbmNlLg0KPj5Gb3IgdGhl IGR1bW15L2Zha2Ugc3RvcnZzYyBpbiBhcm02NCwgd2UgYXJlIGdldHRpbmcgc3R1Y2sgYXQgZGV2 aWNlX2F0dGFjaC4NCj4+DQo+PkRldGFpbHM6DQo+Pg0KPj52bWJ1c19zY2FuX2RvbmUoKSwgbm90 IGdldHRpbmcgaW52b2tlZCBiZWNhdXNlIHZtYnVzX2FkZF9jaGlsZCgpIGlzIG5vdA0KPj5jb21w bGV0ZSBmb3IgYSBjaGFubmVsIDE1LCBiZWNhdXNlIG9mIHdoaWNoIHZtYnVzX2RldnRxIGlzIGhh dmluZyBvbmUNCj4+dGFzayBwZW5kaW5nLg0KPj4NCj4+Tm93DQo+PkJ5IHBhc3NpbmcgTk1JIGlu IHRoZSBodW5nIHN5c3RlbSwgYWZ0ZXIgZXhhbWluaW5nIGFsbCB0aHJlYWRzOg0KPj4NCj4+c2No ZWRfc3dpdGNoKCkgYXQgc2NoZWRfc3dpdGNoKzB4NGRjDQo+Pm1pX3N3aXRjaCgpIGF0IG1pX3N3 aXRjaCsweDE5NA0KPj5zbGVlcHFfc3dpdGNoKCkgYXQgc2xlZXBxX3N3aXRjaCsweGZjDQo+Pl9j dl93YWl0KCkgYXQgX2N2X3dhaXQrMHgxNjANCj4+X3NlbWFfd2FpdCgpIGF0IF9zZW1hX3dhaXQr MHg1MA0KPj5zdG9ydnNjX2F0dGFjaCgpIGF0IHN0b3J2c2NfYXR0YWNoKzB4NjEwDQo+PmRldmlj ZV9hdHRhY2goKSBhdCBkZXZpY2VfYXR0YWNoKzB4M2Y4DQo+PmRldmljZV9wcm9iZV9hbmRfYXR0 YWNoKCkgYXQgZGV2aWNlX3Byb2JlX2FuZF9hdHRhY2grMHg3Yw0KPj52bWJ1c19hZGRfY2hpbGQo KSBhdCB2bWJ1c19hZGRfY2hpbGQrMHg2NA0KPj4NCj4+Tm93ICwNCj4+DQo+Pkl0IGlzIHN0dWNr IGF0IHdhaXRpbmcgb24gc2VtYV93YWl0KCkgb24gcmVxdWVzdC0+c3luY2hfc2VtYSBpbg0KPj5o dl9zdG9ydnNjX2NoYW5uZWxfaW5pdCgpIGJlY2F1c2UNCj4+c2VtYV9wb3N0KCkgb24gcmVxdWVz dC0+c3luY2hfc2VtYSBpcyBub3QgZ2V0dGluZyBpbnZva2VkLiBXaGljaCB1bmxvY2tzIGl0Lg0K Pj5UaGlzIGlzIGJlY2F1c2Ugd2UgYXJlIHdhaXRpbmcgb24gc2VtYV93YWl0IG9uIHN5bmNoX3Nl bWENCj4+aHZfc3RvcnZzY19jaGFubmVsX2luaXQoKSwgZm9yIHN0b3J2c2MxICwgYnV0IHRoZXJl IGlzIG5vIHN0b3J2c2MxDQo+PmRldmljZS4gU28gbm90IGdldHRpbmcgYSBjYWxsYmFjayBjYWxs ZWQgZm9yIHN0b3J2c2MxLg0KPj4NCj4+RnJvbSBBUk02NCBkZWJ1ZyBsb2c6DQo+PklmIHlvdSBz ZWUgYXQgbGluZSA1NDUgYWdhaW4gU0NJIGRldmljZSBnb3QgZGV0ZWN0ZWQuDQo+Pg0KPj4JTGlu ZSAgMzcwOiBzdG9ydnNjMDogRW5saWdodGVuZWQgU0NTSSBkZXZpY2UgZGV0ZWN0ZWQNCj4+CUxp bmUgIDM3MTogc3RvcnZzYzA6IDxIeXBlci1WIFNDU0k+IG9uIHZtYnVzMA0KPj4JTGluZSAgNDA2 OiAocHJvYmUwOnN0b3J2c2MwOjA6MDowKTogc3RvcnZzYyBzY3NpX3N0YXR1cyA9IDIsIHNyYl9z dGF0dXMgPSA2DQo+PglMaW5lICA0MjE6IDxNc2Z0IFZpcnR1YWwgRGlzayAxLjA+IEZpeGVkIERp cmVjdCBBY2Nlc3MgU1BDLTMgU0NTSSBkZXZpY2UNCj4+CUxpbmUgIDQzNjogZGEwOiA8TXNmdCBW aXJ0dWFsIERpc2sgMS4wPiBGaXhlZCBEaXJlY3QgQWNjZXNzIFNQQy0zIFNDU0kgZGV2aWNlDQo+ PglMaW5lICA0NDM6IHBhc3MxOiA8TXNmdCBWaXJ0dWFsIERWRC1ST00gMS4wPiBSZW1vdmFibGUg Q0QtUk9NIFNQQy0zDQo+PlNDU0kgZGV2aWNlDQo+PglMaW5lICA0NDc6IGNkMDogPE1zZnQgVmly dHVhbCBEVkQtUk9NIDEuMD4gUmVtb3ZhYmxlIENELVJPTSBTUEMtMw0KPlNDU0kNCj4+ZGV2aWNl DQo+PglMaW5lICA1NDU6IHN0b3J2c2MxOiBFbmxpZ2h0ZW5lZCBTQ1NJIGRldmljZSBkZXRlY3Rl ZA0KPj4JTGluZSAgNTQ3OiBzdG9ydnNjMTogRW5saWdodGVuZWQgU0NTSSBkZXZpY2UgZGV0ZWN0 ZWQNCj4+CUxpbmUgIDU0OTogc3RvcnZzYzE6IDxIeXBlci1WIFNDU0k+aHZfc3RvcnZzY19vbl9j aGFubmVsX2NhbGxiYWNrIGlzDQo+PmNhbGxlZA0KPj4NCj4+RnJvbSBMb2c6DQo+Pg0KPj51bmtu b3duOiBkZXZpY2VfYWRkX2NoaWxkIGZvciBjaGFuMTUNCj4+c3RvcnZzYzE6IEVubGlnaHRlbmVk IFNDU0kgZGV2aWNlIGRldGVjdGVkDQo+PnN0b3J2c2MxOiBFbmxpZ2h0ZW5lZCBTQ1NJIGRldmlj ZSBkZXRlY3RlZA0KPj5zdG9ydnNjMTogPEh5cGVyLVYgU0NTST4gb24gdm1idXMwDQo+PnN0b3J2 c2MgcmluZ2J1ZmZlciBzaXplOiAyNjIxNDQsIG1heF9pbzogNTEyDQo+PnN0b3J2c2MxOiBjaGFu MTUgYXNzaWduZWQgdG8gY3B1MSBbdmNwdTFdDQo+PmhuMDogbGluayBzdGF0ZSBjaGFuZ2VkIHRv IFVQDQo+PnZtYnVzMDogdm1idXNfY2hhbm1zZ19oYW5kbGUgdHlwZSAweGENCj4+c3RvcnZzYzE6 IGdwYWRsX2Nvbm4oY2hhbjE1KSBzdWNjZWVkZWQNCj4+dm1idXMwOiB2bWJ1c19jaGFubXNnX2hh bmRsZSB0eXBlIDB4Ng0KPj5zdG9ydnNjMTogY2hhbjE1IG9wZW5lZA0KPj53YWl0aW5nIG9uIHNl bWEgd2FpdCBzeW5jaF9zZW1hIGh2X3N0b3J2c2NfY2hhbm5lbF9pbml0DQo+W1NvdXJhZGVlcF0g VGhlIGZpeCBpcyB3b3JraW5nLCB0aGUgdGVzdCBiZWQgaGFkIGFuIGlzc3VlLCBhZnRlciBmaXhp bmcgdGhhdCB0aGUgZml4IGlzDQo+d29ya2luZy4NCj5JIHdpbGwgc2hhcmUgdGhlIGZpeCBieSB0 aGlzIHdlZWsuDQpbU291cmFkZWVwXSBTbWFsbCB1cGRhdGUsIHRoZSBwcm9ibGVtIGhhcHBlbnMg b25seSBpZiB0aGVyZSBpcyBhbiBleHRyYQ0KU0NTSSBjb250cm9sbGVyIG9uIHRoZSBzeXN0ZW0u IFRoZW4gaXQgZmFpbHMgdG8gYXR0YWNoIHN0b3J2c2MgZm9yIHRoYXQgU0NTSS4NCg0KPj4+DQo+ Pj5UaGFua3MsDQo+Pj4NCj4+Pkt5bGUgRXZhbnMNCg== From nobody Wed Apr 26 23:58:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6G6C6F5Yz47l1y; Wed, 26 Apr 2023 23:58: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 4Q6G6C5lXyz3j47; Wed, 26 Apr 2023 23:58:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682553507; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vOUuLQuwFgpmMIVwre+TyN+RXGRTMItKAHNzoUy9hcE=; b=BtFh7bj81zdVUzCuu7437NxospyKFHTSfRIBPY/5OZcQh3e7+fOvcY5OjLEalglr5TfFmb IceQ7X+aKA8MZSOVgNn+0cxDYJ9UtUj83Si6wtPAQ30eMLxzBjRuz5o7/pYWPaS5Bmdmsc RBXeyaEhZrfyeRnqkYc4u6YQiH48AQ0kirG9mEY+BjWu0RGLa8bSG3WEgoULW5YiXlSLCa c61eGnfEj4pppt9AR3eWg1uVOxuuaumTVzXAUfl7LaWUUhn+YX5EZ5l9/J8hJpUwJ4p7TR bNvfms3r0Vh/xFyp5CgYJSvgIEaA9l1RUt7OM9jfyUAaxvMQ35ZhjFn6Oo5gew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682553507; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vOUuLQuwFgpmMIVwre+TyN+RXGRTMItKAHNzoUy9hcE=; b=DQOOUOyXnqg/t8BOv9dA9Eimg/EjpktxLDuslTLQ2xZkP1CdvNL+OV3hJ2s1xK/3avFFn8 joG4KLiY4TdMOsRjxL8dSD2rwrBFZxxfFJwccAZL/wUfk/0gzYCA12Mqj5df8fyVXYvWi6 4Dhg6C5/nY+ce3OCakJBrwTZFaAtMF7EizCepsCyPZf56shuHkE2NWi9lqgfbu58pAxdI9 KPrYIVdSywfLa/rmo2sS6aTGMJNR762ucz4/Tq83nyNvIo2efCKgIo/IobO5Hp+2rQr9Y5 vMqwq1JpC+gjyAIagnDP+KyAzgYo95qmckqD8QBEKSmawp916ZkJ6IWuA7UDSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682553507; a=rsa-sha256; cv=none; b=TxAjmwispghoBR+4BLhwbeq218Ktli3Ry3EYfJr0i7TbVahRs9a6nzHqAB8LFmugqd8RTY FaoBlF7Mar4iCNUGRHTam0x70mcD5Nk94g9S9dWManq6f0vzA+8zS99X4PbkV84a6+45KE UXYLX7pg2x6GGGC4rfR4LcJsAHd3PUrwWcj9Hy9OdLNUvQE5VxBd5MoeOK19mf089WQ5ph 0UOMkaIuleNrMSTdZjPzBdyfeh+jEBtA0sv0NK3W+3Fd+VRGkGCbAXsOmP7wWQGQJl0B1N 79GJZHj90zRIv6Iq6e4v4vK/KFTWNR2YvOCDAjo8QLYkN1gWwmjeRPO3uYJEgA== 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 4Q6G6C4qZZzvNt; Wed, 26 Apr 2023 23:58: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 33QNwRNQ042771; Wed, 26 Apr 2023 23:58:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33QNwR3B042770; Wed, 26 Apr 2023 23:58:27 GMT (envelope-from git) Date: Wed, 26 Apr 2023 23:58:27 GMT Message-Id: <202304262358.33QNwR3B042770@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cheng Cui Subject: git: 60167184abd5 - main - siftr: remove barely used hash generation per record List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 60167184abd54ca12c6bf7ab60f2a08b41342f84 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cc: URL: https://cgit.FreeBSD.org/src/commit/?id=60167184abd54ca12c6bf7ab60f2a08b41342f84 commit 60167184abd54ca12c6bf7ab60f2a08b41342f84 Author: Cheng Cui AuthorDate: 2023-04-26 11:18:01 +0000 Commit: Cheng Cui CommitDate: 2023-04-26 19:57:42 +0000 siftr: remove barely used hash generation per record Reviewers: rscheff, tuexen Approved by: rscheff, tuexen Subscribers: imp, melifaro, glebius Differential Revision: https://reviews.freebsd.org/D39835 --- share/man/man4/siftr.4 | 67 ++++++++++++------------------- sys/netinet/siftr.c | 105 +------------------------------------------------ 2 files changed, 28 insertions(+), 144 deletions(-) diff --git a/share/man/man4/siftr.4 b/share/man/man4/siftr.4 index 78eb755ddef1..6182daddd8b6 100644 --- a/share/man/man4/siftr.4 +++ b/share/man/man4/siftr.4 @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 25, 2023 +.Dd April 26, 2023 .Dt SIFTR 4 .Os .Sh NAME @@ -122,15 +122,6 @@ By default, the file /var/log/siftr.log is used. The path can be changed at any time, even while the module is enabled. .El .Bl -tag -offset indent -width Va -.It Va net.inet.siftr.genhashes -controls whether a hash is generated for each TCP packet seen by -.Nm . -By default, the value is set to 0, which means no hashes are generated. -The hashes are useful to correlate which TCP packet triggered the generation of -a particular log message, but calculating them adds additional computational -overhead into the fast path. -.El -.Bl -tag -offset indent -width Va .It Va net.inet.siftr.port_filter controls on which source or destination port siftr should capture .Nm . @@ -216,120 +207,116 @@ for out. .El .Bl -tag -offset indent -width Va .It Va 2 -Hash of the packet that triggered the log message. -.El -.Bl -tag -offset indent -width Va -.It Va 3 Time at which the packet that triggered the log message was processed by the .Xr pfil 9 hook function, in seconds and microseconds since the UNIX epoch. .El .Bl -tag -offset indent -width Va -.It Va 4 +.It Va 3 The IPv4 or IPv6 address of the local host, in dotted quad (IPv4 packet) or colon-separated hex (IPv6 packet) notation. .El .Bl -tag -offset indent -width Va -.It Va 5 +.It Va 4 The TCP port that the local host is communicating via. .El .Bl -tag -offset indent -width Va -.It Va 6 +.It Va 5 The IPv4 or IPv6 address of the foreign host, in dotted quad (IPv4 packet) or colon-separated hex (IPv6 packet) notation. .El .Bl -tag -offset indent -width Va -.It Va 7 +.It Va 6 The TCP port that the foreign host is communicating via. .El .Bl -tag -offset indent -width Va -.It Va 8 +.It Va 7 The slow start threshold for the flow, in bytes. .El .Bl -tag -offset indent -width Va -.It Va 9 +.It Va 8 The current congestion window for the flow, in bytes. .El .Bl -tag -offset indent -width Va -.It Va 10 +.It Va 9 The current state of the t_flags2 field for the flow. .El .Bl -tag -offset indent -width Va -.It Va 11 +.It Va 10 The current sending window for the flow, in bytes. The post scaled value is reported, except during the initial handshake (first few packets), during which time the unscaled value is reported. .El .Bl -tag -offset indent -width Va -.It Va 12 +.It Va 11 The current receive window for the flow, in bytes. The post scaled value is always reported. .El .Bl -tag -offset indent -width Va -.It Va 13 +.It Va 12 The current window scaling factor for the sending window. .El .Bl -tag -offset indent -width Va -.It Va 14 +.It Va 13 The current window scaling factor for the receiving window. .El .Bl -tag -offset indent -width Va -.It Va 15 +.It Va 14 The current state of the TCP finite state machine, as defined in .Aq Pa netinet/tcp_fsm.h . .El .Bl -tag -offset indent -width Va -.It Va 16 +.It Va 15 The maximum segment size for the flow, in bytes. .El .Bl -tag -offset indent -width Va -.It Va 17 +.It Va 16 The current smoothed RTT estimate for the flow, in units of microsecond. .El .Bl -tag -offset indent -width Va -.It Va 18 +.It Va 17 SACK enabled indicator. 1 if SACK enabled, 0 otherwise. .El .Bl -tag -offset indent -width Va -.It Va 19 +.It Va 18 The current state of the TCP flags for the flow. See .Aq Pa netinet/tcp_var.h for information about the various flags. .El .Bl -tag -offset indent -width Va -.It Va 20 +.It Va 19 The current retransmission timeout length for the flow, in units microsecond. .El .Bl -tag -offset indent -width Va -.It Va 21 +.It Va 20 The current size of the socket send buffer in bytes. .El .Bl -tag -offset indent -width Va -.It Va 22 +.It Va 21 The current number of bytes in the socket send buffer. .El .Bl -tag -offset indent -width Va -.It Va 23 +.It Va 22 The current size of the socket receive buffer in bytes. .El .Bl -tag -offset indent -width Va -.It Va 24 +.It Va 23 The current number of bytes in the socket receive buffer. .El .Bl -tag -offset indent -width Va -.It Va 25 +.It Va 24 The current number of unacknowledged bytes in-flight. Bytes acknowledged via SACK are not excluded from this count. .El .Bl -tag -offset indent -width Va -.It Va 26 +.It Va 25 The current number of segments in the reassembly queue. .El .Bl -tag -offset indent -width Va -.It Va 27 +.It Va 26 Flowid for the connection. A caveat: Zero '0' either represents a valid flowid or a default value when it's not being set. @@ -337,7 +324,7 @@ There is no easy way to differentiate without looking at actual network interface card and drivers being used. .El .Bl -tag -offset indent -width Va -.It Va 28 +.It Va 27 Flow type for the connection. Flowtype defines which protocol fields are hashed to produce the flowid. A complete listing is available in @@ -760,8 +747,6 @@ does not take into account bytes that have been .No SACK Ap ed by the receiving host. .It -Packet hash generation does not currently work for IPv6 based TCP packets. -.It Compressed notation is not used for IPv6 address representation. This consumes more bytes than is necessary in log output. .El diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c index 05104627910d..ce895ba77b82 100644 --- a/sys/netinet/siftr.c +++ b/sys/netinet/siftr.c @@ -179,8 +179,6 @@ struct pkt_node { } direction; /* IP version pkt_node relates to; either INP_IPV4 or INP_IPV6. */ uint8_t ipver; - /* Hash of the pkt which triggered the log message. */ - uint32_t hash; /* Local/foreign IP address. */ #ifdef SIFTR_IPV6 uint32_t ip_laddr[4]; @@ -270,7 +268,6 @@ DPCPU_DEFINE_STATIC(struct siftr_stats, ss); static volatile unsigned int siftr_exit_pkt_manager_thread = 0; static unsigned int siftr_enabled = 0; static unsigned int siftr_pkts_per_log = 1; -static unsigned int siftr_generate_hashes = 0; static uint16_t siftr_port_filter = 0; /* static unsigned int siftr_binary_log = 0; */ static char siftr_logfile[PATH_MAX] = "/var/log/siftr.log"; @@ -310,10 +307,6 @@ SYSCTL_UINT(_net_inet_siftr, OID_AUTO, ppl, CTLFLAG_RW, &siftr_pkts_per_log, 1, "number of packets between generating a log message"); -SYSCTL_UINT(_net_inet_siftr, OID_AUTO, genhashes, CTLFLAG_RW, - &siftr_generate_hashes, 0, - "enable packet hash generation"); - SYSCTL_U16(_net_inet_siftr, OID_AUTO, port_filter, CTLFLAG_RW, &siftr_port_filter, 0, "enable packet filter on a TCP port"); @@ -448,11 +441,10 @@ siftr_process_pkt(struct pkt_node * pkt_node) /* Construct an IPv6 log message. */ log_buf->ae_bytesused = snprintf(log_buf->ae_data, MAX_LOG_MSG_LEN, - "%c,0x%08x,%zd.%06ld,%x:%x:%x:%x:%x:%x:%x:%x,%u,%x:%x:%x:" + "%c,%zd.%06ld,%x:%x:%x:%x:%x:%x:%x:%x,%u,%x:%x:%x:" "%x:%x:%x:%x:%x,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u," "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u\n", direction[pkt_node->direction], - pkt_node->hash, pkt_node->tval.tv_sec, pkt_node->tval.tv_usec, UPPER_SHORT(pkt_node->ip_laddr[0]), @@ -508,10 +500,9 @@ siftr_process_pkt(struct pkt_node * pkt_node) /* Construct an IPv4 log message. */ log_buf->ae_bytesused = snprintf(log_buf->ae_data, MAX_LOG_MSG_LEN, - "%c,0x%08x,%jd.%06ld,%u.%u.%u.%u,%u,%u.%u.%u.%u,%u,%u,%u," + "%c,%jd.%06ld,%u.%u.%u.%u,%u,%u.%u.%u.%u,%u,%u,%u," "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u\n", direction[pkt_node->direction], - pkt_node->hash, (intmax_t)pkt_node->tval.tv_sec, pkt_node->tval.tv_usec, pkt_node->ip_laddr[0], @@ -629,36 +620,6 @@ siftr_pkt_manager_thread(void *arg) kthread_exit(); } -static uint32_t -hash_pkt(struct mbuf *m, uint32_t offset) -{ - uint32_t hash; - - hash = 0; - - while (m != NULL && offset > m->m_len) { - /* - * The IP packet payload does not start in this mbuf, so - * need to figure out which mbuf it starts in and what offset - * into the mbuf's data region the payload starts at. - */ - offset -= m->m_len; - m = m->m_next; - } - - while (m != NULL) { - /* Ensure there is data in the mbuf */ - if ((m->m_len - offset) > 0) - hash = hash32_buf(m->m_data + offset, - m->m_len - offset, hash); - - m = m->m_next; - offset = 0; - } - - return (hash); -} - /* * Check if a given mbuf has the SIFTR mbuf tag. If it does, log the fact that * it's a reinjected packet and return. If it doesn't, tag the mbuf and return. @@ -925,68 +886,6 @@ siftr_chkpkt(struct mbuf **m, struct ifnet *ifp, int flags, siftr_siftdata(pn, inp, tp, INP_IPV4, dir, inp_locally_locked); - if (siftr_generate_hashes) { - if ((*m)->m_pkthdr.csum_flags & CSUM_TCP) { - /* - * For outbound packets, the TCP checksum isn't - * calculated yet. This is a problem for our packet - * hashing as the receiver will calc a different hash - * to ours if we don't include the correct TCP checksum - * in the bytes being hashed. To work around this - * problem, we manually calc the TCP checksum here in - * software. We unset the CSUM_TCP flag so the lower - * layers don't recalc it. - */ - (*m)->m_pkthdr.csum_flags &= ~CSUM_TCP; - - /* - * Calculate the TCP checksum in software and assign - * to correct TCP header field, which will follow the - * packet mbuf down the stack. The trick here is that - * tcp_output() sets th->th_sum to the checksum of the - * pseudo header for us already. Because of the nature - * of the checksumming algorithm, we can sum over the - * entire IP payload (i.e. TCP header and data), which - * will include the already calculated pseduo header - * checksum, thus giving us the complete TCP checksum. - * - * To put it in simple terms, if checksum(1,2,3,4)=10, - * then checksum(1,2,3,4,5) == checksum(10,5). - * This property is what allows us to "cheat" and - * checksum only the IP payload which has the TCP - * th_sum field populated with the pseudo header's - * checksum, and not need to futz around checksumming - * pseudo header bytes and TCP header/data in one hit. - * Refer to RFC 1071 for more info. - * - * NB: in_cksum_skip(struct mbuf *m, int len, int skip) - * in_cksum_skip 2nd argument is NOT the number of - * bytes to read from the mbuf at "skip" bytes offset - * from the start of the mbuf (very counter intuitive!). - * The number of bytes to read is calculated internally - * by the function as len-skip i.e. to sum over the IP - * payload (TCP header + data) bytes, it is INCORRECT - * to call the function like this: - * in_cksum_skip(at, ip->ip_len - offset, offset) - * Rather, it should be called like this: - * in_cksum_skip(at, ip->ip_len, offset) - * which means read "ip->ip_len - offset" bytes from - * the mbuf cluster "at" at offset "offset" bytes from - * the beginning of the "at" mbuf's data pointer. - */ - th->th_sum = in_cksum_skip(*m, ntohs(ip->ip_len), - ip_hl); - } - - /* - * XXX: Having to calculate the checksum in software and then - * hash over all bytes is really inefficient. Would be nice to - * find a way to create the hash and checksum in the same pass - * over the bytes. - */ - pn->hash = hash_pkt(*m, ip_hl); - } - mtx_lock(&siftr_pkt_queue_mtx); STAILQ_INSERT_TAIL(&pkt_queue, pn, nodes); mtx_unlock(&siftr_pkt_queue_mtx); From nobody Thu Apr 27 00:23:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6GgR4FJkz47mPj; Thu, 27 Apr 2023 00:23:47 +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 4Q6GgR3nn3z3mDj; Thu, 27 Apr 2023 00:23:47 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682555027; 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=CELBTP1Vowz9rgjig3G+arPLz4D+dL/oIRT6s49ECJ0=; b=B0361guy6SeCRH1ueMpzaJIQEq93mu8I8eOXOeIO3N7jzyiWNWZVbSaHe4A/OtgzjIHuL4 LsA4GNBH5bJCnn4JHUc/JYRKhz70ZUZiI7cBq2NskrKsFxmcKekWcSjq0h9hO5sOIqpR9P mhWn/IMjbG/dRs37+N6KxsuhK5tuz2+r29Vne0a7GnSa8wc/uoVBtEtgrZGiaFmCFPNkCg sJ+dTqbQnzzktnFN25/ABYa8t5R8o/TPdgofnECCCiBP3KIK3lqOsnXMR0+dnfGCmZ8Q1c TsvnU5iiZheLBYSe5M5UkAxK076JLEJEgI36VMDVML8buBtD4RvuVoqyWlAfKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682555027; 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=CELBTP1Vowz9rgjig3G+arPLz4D+dL/oIRT6s49ECJ0=; b=cXvhYCyBCWQN2rIq0CVmbPJW3s+6Kj1n4Iwe4BLeN0fBYAAfu5qv4jWrdouwEZXEYpwmls aZl09K7mJVHXRQnbbutZ7zIU0Yb0ijqIMj+weMPXC3SR7h5M5KFbKctiLwLLlF5QDtLxSW wl7hYI59SGAg/SixV2keXVrM15epQEQYuu6sKMJerog5jxrmTB+FnnBFvqfS7dcR/Ax8ww +8OclA4B+7vjgStONZeY55+TDN2fdkbbXR/6+vWX1CTnTMLUCh/MfZEebw6bEwQvmZrVIp AQF0nucDoqKHSPlEnQEeNRJpVDV2ancG1wSmZr+787DbNtl0txRhWaBTpuKD+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682555027; a=rsa-sha256; cv=none; b=BPyGblC33YljYHU9b16yG7piUCGBHKeVyXfXEL0IEk6qwijTjBYYCumHlKoWSgRnQdSF7h myoO7Xz7y8nZQq17UVLK+iWHl36rK2nhk+5eckagEJAc4Xw6FCi0ndxsFR1GcK9UlR5ZuM 0M0yUSU7/K2SVk8c1aBan1WbAZ6+DsZ4oU68YvhHT4UOt5Jt3LckfAmnUSEW/T8WeMXpVk qq1rYKwWhN6Dfth5sMUMYrIRXWRc5mBzwzPe1k/UFXRf7iVF5424kMTYN2J4ttoe0mXlgf zLRLNdNt9d3cVYQ0NavYw94djcS1+6dFrf1NtQnztpc8fUeiRCVSZGDSul7WbQ== Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) (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 4Q6GgR2knhzpVj; Thu, 27 Apr 2023 00:23:47 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-5ef7c475379so34912086d6.3; Wed, 26 Apr 2023 17:23:47 -0700 (PDT) X-Gm-Message-State: AAQBX9fP72X2A9j1p4z1Kn1IjK+0xJSZeD5TnuQRDgdrVXYiPFV7e2pB Ak64HnU3wQ3hOeRU8nzZxlVJz8IY6mss7Mf+pOE= X-Google-Smtp-Source: AKy350YVK4ClVL7f+jqvTMkT2xGYCR7dKszNDLmcyF9pZK15GWR6JnYp2uFdUIcP+BEmYtQaYLdEj1IlfTpCIB/+Or8= X-Received: by 2002:a05:6214:529a:b0:5c5:c835:c8f1 with SMTP id kj26-20020a056214529a00b005c5c835c8f1mr35353234qvb.22.1682555026509; Wed, 26 Apr 2023 17:23:46 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202210271354.29RDsUoH077155@gitrepo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Wed, 26 Apr 2023 19:23:35 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) To: Souradeep Chakrabarti Cc: Wei Hu , "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, Apr 26, 2023 at 4:37=E2=80=AFPM Souradeep Chakrabarti wrote: > > > > > >-----Original Message----- > >From: Souradeep Chakrabarti > >Sent: Thursday, April 27, 2023 2:01 AM > >To: 'Kyle Evans' > >Cc: 'Wei Hu' ; 'src-committers@freebsd.org' >committers@freebsd.org>; 'dev-commits-src-all@freebsd.org' >all@freebsd.org>; 'dev-commits-src-main@freebsd.org' >main@freebsd.org> > >Subject: RE: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: > >enablement for ARM64 in Hyper-V (Part 3, final) > > > > > > > > > >>-----Original Message----- > >>From: Souradeep Chakrabarti > >>Sent: Wednesday, April 26, 2023 7:26 PM > >>To: Kyle Evans > >>Cc: Wei Hu ; src-committers@freebsd.org; > >>dev-commits-src- all@freebsd.org; dev-commits-src-main@freebsd.org > >>Subject: RE: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: > >>enablement for ARM64 in Hyper-V (Part 3, final) > >> > >> > >> > >> > >>>-----Original Message----- > >>>From: Kyle Evans > >>>Sent: Wednesday, April 26, 2023 3:39 AM > >>>To: Souradeep Chakrabarti > >>>Cc: Kyle Evans ; Wei Hu ; src- > >>>committers@freebsd.org; dev-commits-src-all@freebsd.org; > >>>dev-commits-src- main@freebsd.org > >>>Subject: Re: [EXTERNAL] Re: git: 9729f076e4d9 - main - arm64: Hyper-V: > >>>enablement for ARM64 in Hyper-V (Part 3, final) > [... snip ...] > >>>Hi, > >>> > >>>That seems odd. What happens if you bump the SYSINIT up to SI_SUB_SMP > >>>+ 1, SI_ORDER_FIRST? We don't know for a fact that all APs are ready > >>>for scheduling until after smp_after_idle_runnable(), which is also at > >>>SI_ORDER_ANY > >>>-- maybe there's just something going horribly wrong. > >>>That would perhaps explain why it's fine on a single processor system, > >>>which won't do anything useful (at least in later parts of SI_SUB_SMP)= . > >>[Souradeep] > >>In ARM64 SMP(VM with two cpu), storvsc attach is happening two times > >>for single scsi controller. > >>But for intel similar VM (two cpu), it is happening once. > >>For the dummy/fake storvsc in arm64, we are getting stuck at device_att= ach. > >> > >>Details: > >> > >>vmbus_scan_done(), not getting invoked because vmbus_add_child() is not > >>complete for a channel 15, because of which vmbus_devtq is having one > >>task pending. > >> > >>Now > >>By passing NMI in the hung system, after examining all threads: > >> > >>sched_switch() at sched_switch+0x4dc > >>mi_switch() at mi_switch+0x194 > >>sleepq_switch() at sleepq_switch+0xfc > >>_cv_wait() at _cv_wait+0x160 > >>_sema_wait() at _sema_wait+0x50 > >>storvsc_attach() at storvsc_attach+0x610 > >>device_attach() at device_attach+0x3f8 > >>device_probe_and_attach() at device_probe_and_attach+0x7c > >>vmbus_add_child() at vmbus_add_child+0x64 > >> > >>Now , > >> > >>It is stuck at waiting on sema_wait() on request->synch_sema in > >>hv_storvsc_channel_init() because > >>sema_post() on request->synch_sema is not getting invoked. Which unlock= s it. > >>This is because we are waiting on sema_wait on synch_sema > >>hv_storvsc_channel_init(), for storvsc1 , but there is no storvsc1 > >>device. So not getting a callback called for storvsc1. > >> > >>From ARM64 debug log: > >>If you see at line 545 again SCI device got detected. > >> > >> Line 370: storvsc0: Enlightened SCSI device detected > >> Line 371: storvsc0: on vmbus0 > >> Line 406: (probe0:storvsc0:0:0:0): storvsc scsi_status =3D 2, sr= b_status =3D 6 > >> Line 421: Fixed Direct Access SPC-3 SCSI= device > >> Line 436: da0: Fixed Direct Access SPC-3= SCSI device > >> Line 443: pass1: Removable CD-ROM SPC= -3 > >>SCSI device > >> Line 447: cd0: Removable CD-ROM SPC-3 > >SCSI > >>device > >> Line 545: storvsc1: Enlightened SCSI device detected > >> Line 547: storvsc1: Enlightened SCSI device detected > >> Line 549: storvsc1: hv_storvsc_on_channel_callback= is > >>called > >> > >>From Log: > >> > >>unknown: device_add_child for chan15 > >>storvsc1: Enlightened SCSI device detected > >>storvsc1: Enlightened SCSI device detected > >>storvsc1: on vmbus0 > >>storvsc ringbuffer size: 262144, max_io: 512 > >>storvsc1: chan15 assigned to cpu1 [vcpu1] > >>hn0: link state changed to UP > >>vmbus0: vmbus_chanmsg_handle type 0xa > >>storvsc1: gpadl_conn(chan15) succeeded > >>vmbus0: vmbus_chanmsg_handle type 0x6 > >>storvsc1: chan15 opened > >>waiting on sema wait synch_sema hv_storvsc_channel_init > >[Souradeep] The fix is working, the test bed had an issue, after fixing = that the fix is > >working. > >I will share the fix by this week. > [Souradeep] Small update, the problem happens only if there is an extra > SCSI controller on the system. Then it fails to attach storvsc for that S= CSI. > Excellent! Knowing now what configuration causes it; does it reproduce on x86 as well with an extra SCSI controller? I'd expect so, but maybe not- Thanks, Kyle Evans From nobody Thu Apr 27 00:45:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6H8s2ZbRz47n4s; Thu, 27 Apr 2023 00:45: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 4Q6H8s280Mz3qZs; Thu, 27 Apr 2023 00:45:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682556349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QnxkdK3U18qNuQf5/FEdVI+8wuu+3ZgdxmY0Uh05c0k=; b=B39hG68nwu3SnRF1axpYGC8AVzw6d1ZAf2l/UQA6w3LMYA358T0Tkge7CjulyK/jsI+Nfr N0o4mwTNzf26DAka4SwnArPVnJ2KVlFVxfEDXTFQ+2AyHiYfgKoKkDH0UZWqZjvE9I4Grm Z+Y4sqXeUT+Sa32NKC2fSMBY90e1YIVbhZ/xkIWNRJFMIz3wug4NInkCAwRyziVhC9k7En TNaRe9oQJd9ryoHVWuK6StxvIRd3/RIl12PAP9EvR876rO7pm4lTj/pIwrxOr7A5qj5q07 x12B6F/lHZX9ke1iaZe3pU4QdD7vUKpAodnUyqjedU0OxJVzI13i3j3JeOINBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682556349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QnxkdK3U18qNuQf5/FEdVI+8wuu+3ZgdxmY0Uh05c0k=; b=m8IPLLyuel+q8orelshBKMyOCZKZXQvbKauzzy4w/z//gxPDb2FZuM3Bap3A2k2t121q2p BwXF/yE6voQPPmzAXP+S5VPFs4umFPgxGHienpi33wKbgzCKTYulsg7xB4ymS0Mo3lBHYw EUbDq5USZJSFfMW7EtXvQq3jMMwUmf5OFCR/SxiFuL7uq4hU8VLGFjSumXkSiD+r1yuU5I UFG4x7S7jXEIuz9XE/Ack9uxWTA5MiFj8h5n16K4kAxAl4T2AaFMqYMNdi0DSdq4Xo2zUh 53cFiGVVzsRnEHHWOHzXK9gtuoWEPHSXJFuWGgGSM36bjqgVsF82anpP4vL5+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682556349; a=rsa-sha256; cv=none; b=MSsfNsICnM+PiLyNF92Khc7HJFb+gtK5+ObKGjjQn8vV9lRPWwr/TNko2pku2Y1i3z0Nf1 jDs8rdKFpNdL2OGhBtFGFi0PRm24ysnx5izXSCY7MhQA/A/KLREl7a0R3dUD87QAlGGPa/ qxnuS/sdFHTxZ6LWcT1tNe+4YCTDmbMnuggveh7yLRJtMbMXWQDyewstYipFj6/mb0LSkF e8rLdO9orHQldzHM5XWXZeKO6IZP6hfYZu0pQFtUsqH1f7BQrZkd+QCS2AMuJO2OqZDdFC h5hLUAMtc7bvv2km9MDuH7j2mOFLHsYk/+pKYdr5JLtJmxcpSHPJRhA/wD7yUQ== 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 4Q6H8s1ClDzwPN; Thu, 27 Apr 2023 00:45: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 33R0jnQI025038; Thu, 27 Apr 2023 00:45:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33R0jnUX025037; Thu, 27 Apr 2023 00:45:49 GMT (envelope-from git) Date: Thu, 27 Apr 2023 00:45:49 GMT Message-Id: <202304270045.33R0jnUX025037@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 8ce363a9b02f - stable/13 - sys/dirent.h: comment update, 'd_off' is offset of next entry List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8ce363a9b02fd43ea08f5ca2e0f61f770fb4ff1c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8ce363a9b02fd43ea08f5ca2e0f61f770fb4ff1c commit 8ce363a9b02fd43ea08f5ca2e0f61f770fb4ff1c Author: Olivier Certner AuthorDate: 2023-04-23 08:05:06 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-27 00:45:02 +0000 sys/dirent.h: comment update, 'd_off' is offset of next entry (cherry picked from commit faec42a3ef60d1c5e80da3e9aa3178ad1e0e7701) --- sys/sys/dirent.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/dirent.h b/sys/sys/dirent.h index 5bc6cf49afe7..b3c5e00cd9ad 100644 --- a/sys/sys/dirent.h +++ b/sys/sys/dirent.h @@ -65,7 +65,7 @@ typedef __off_t off_t; struct dirent { ino_t d_fileno; /* file number of entry */ - off_t d_off; /* directory offset of entry */ + off_t d_off; /* directory offset of next entry */ __uint16_t d_reclen; /* length of this record */ __uint8_t d_type; /* file type, see below */ __uint8_t d_pad0; From nobody Thu Apr 27 00:45:50 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6H8t3ZFlz47nFM; Thu, 27 Apr 2023 00:45: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 4Q6H8t32zPz3qXf; Thu, 27 Apr 2023 00:45:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682556350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7O+Fm4UGLQH4hZsdsdfhzHr552CPwLycAAYJxWULiX4=; b=ceBJVae6KPQRhpEMgiBdUqevMbge9lDulsywf1dVyCoqvO7sKafx2iyJE8x7FowBlICKFw k6af2epsCb6KFhSrU34m7qu4QoB3lC3VVMmSNi2x/B8Q4Y6NlWL8VhXJeaNpsdRVg+Ymix tF2SPndQngNaUo3of1TNmoBrTsjPuXhxqajFSKh2u0DnxvsOsaMEQaYV3Q9+RyCQsMETkb 6NEM0C952P3Cds0HoVV7/0hCDl0QuHKLcoxtnyPpHSWW6nFc6EAiO/J+x+k4TPnwVVAd/q QoZgik1meWYPJfjXa3je1H1LCAiUpYQTptV1SmMtQHEhohrs02e6MpSNYK1BEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682556350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7O+Fm4UGLQH4hZsdsdfhzHr552CPwLycAAYJxWULiX4=; b=ZfaZkm2JExhZklskJxs7kJfWBjZLQiKKRBC1m8SICQt+uyAF+wNFuigsCxqoyZig2Dpgnv Y+JRF4WlNeXiMwnyvgKY9KuoMA4rGSdPAjZ7hmb/fDyd6duolWcwIkYLa2F5iaqt6LjJzD LJSZ3/kWDG7z4vl/PA+euv6XUIlXz+Au6VR1PrSz/7OzRubBXgkpXEXgimRalGsMXCgrt5 voTd+LMiM9WdtnaWDaSf0pffr2nUhUbFigeeP8JpIU5Xg3Fg7eJFE6D8E9AjlHf6Ehmtef FbOBG2sI+3xQoct/TLwBv++ovjkWqVSi9+4VTCZcUuReJoYh64xEAWKdjLNRAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682556350; a=rsa-sha256; cv=none; b=cQygOObU96r00orTDUfxSELdtiBPGM6OMR8xkXTtL0iDdmHhKtIpux44uOhbnHrV+nfq89 VtuZTEuXyfw5dPdpBhDQm5IFp5EylPdN8LvyTxkVvCc4qR+dSfXACd2msZ/X9efHLff/Vo MSXvB3jbuQwDGNiStrJ4v0YpjlwVGo41Lmnc7YLhD9BgTg2QcLEp3U1v8ZFGT0YaAKqxSR 7Vi8VC3f+FXqBV9ke6PZTRg2amCRTu69V9xQq9jS7Z1tpFRwO7c2P3xNX33WhhBdlH5pqP jeLnDUeglgcDJQxZJEbTVGBrTQ0mc0l6ub3PzLlP+TcZoxbLUfdni9InqGEHvg== 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 4Q6H8t27PSzwV3; Thu, 27 Apr 2023 00:45: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 33R0jof9025057; Thu, 27 Apr 2023 00:45:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33R0jouv025056; Thu, 27 Apr 2023 00:45:50 GMT (envelope-from git) Date: Thu, 27 Apr 2023 00:45:50 GMT Message-Id: <202304270045.33R0jouv025056@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 06e36c8c7717 - stable/13 - posixshmcontrol(1): silently ignore inaccessible segments when listing List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 06e36c8c7717338558aa807db63c80f245bf533b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=06e36c8c7717338558aa807db63c80f245bf533b commit 06e36c8c7717338558aa807db63c80f245bf533b Author: Konstantin Belousov AuthorDate: 2023-04-23 23:30:58 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-27 00:45:02 +0000 posixshmcontrol(1): silently ignore inaccessible segments when listing PR: 271038 (cherry picked from commit 043e24bdb01938c0d5a73a3192e316ce0b96ec1b) --- usr.bin/posixshmcontrol/posixshmcontrol.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr.bin/posixshmcontrol/posixshmcontrol.c b/usr.bin/posixshmcontrol/posixshmcontrol.c index 3b9d1dc256c3..5bb8aa473502 100644 --- a/usr.bin/posixshmcontrol/posixshmcontrol.c +++ b/usr.bin/posixshmcontrol/posixshmcontrol.c @@ -308,8 +308,10 @@ list_shm(int argc, char **argv) continue; fd = shm_open(kif->kf_path, O_RDONLY, 0); if (fd == -1) { - warn("open %s", kif->kf_path); - ret = 1; + if (errno != EACCES) { + warn("open %s", kif->kf_path); + ret = 1; + } continue; } error = fstat(fd, &st); From nobody Thu Apr 27 00:47:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6HBd1pVZz47nXJ; Thu, 27 Apr 2023 00:47: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 4Q6HBd1Z0tz3rFh; Thu, 27 Apr 2023 00:47:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682556441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dNe83dKO8B+kV74eYn1SXej5dVTxuLNwephg8FAiW1k=; b=sv2i9TEZ/CuA6gCpw5Bdg4mEozXfsWBIIJt223hRM76wTZsGkQKgPMyCqB8QQR/ALr4kU4 PvP3jNurNFklVjoUCZdUIpGPHe9YnT6d6pNnVenARecREGI5jx8M4noVVysy2R+WJG+HeO 0d94B2u6lxjcQsJaHKp9rMpS5sXhRsM+uyqA/nPV7w2OMFxJDrnstJm0cDqbmB6Rbu5twF jwWSvVbIA3mCpBTmHlG/VyUnlaZ4NlcjZAuvWYMUdmxGYKBkC2q8XltWQRaHY3wtxWrBV0 KgHK9qy5Ikr1VN0THeYfHBHzcf/DSXxq8jaxW5BqFjnat95KaWgROHvOdIZNWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682556441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dNe83dKO8B+kV74eYn1SXej5dVTxuLNwephg8FAiW1k=; b=WvtpZ+j6iEUxzPg+sBtLbfFXHolUlT038qefWAvYuwrJCCP4CTyGhHRVdhRKTkHjvfvJEj j1J6nU1icvTgvhvUFEl8A/b02AQzu4+oG+IVvpgXuCSfe/nBpZnQPiOrJFvwa6hMLUi5qV 0D0Ki2L++Cqva2JScQVgOnCrZ7KMa1EFHAArq0jWRM1lsi4/wc6Qd7lE8zEb53YXx3g3Dm sfjMRkCa+SQmlssp2SHGSLSv16QSQr0Cui7V9E3YKkwV/x46vnLoa91y8ysvUInyTK5ZvK SJmUt85GxkE1SheZEDRrAK7xnJZ2Hz4/aj0ptCCFtZIPtnzQj+XWkvpD4nwuHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682556441; a=rsa-sha256; cv=none; b=JpFs5t6wMWkeu7G0BohqV/DioKhCzAK9DDfCcFj+GusxBqfCELkIeO2sDkN3bFDbIsyVPA Y7/k2vNFaEy1+ej9AhRnUheNTj13wbiuu5sLJxqzDK/ZV0YBwK9RuSu8atLsmWzmnp4fRh VA8fi5SY4UZ3DEUB3NbPzC9rPv928INlLncIdYke++yxZTKUlkA4LTDMIFXyd4BocqUOqr Nwe5/ZRWKGfzt2z4Em8Htb30E31zCR3lUygf8G8cckeqVgPtHiL+nE/+V9LEtMjizwVywo Ik0qOTje/BrZhsH3NPcNPsuID0y/4pfwfojTW9tg0xCC/zi0bGd91afmOykFOQ== 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 4Q6HBd0cNlzwv0; Thu, 27 Apr 2023 00:47: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 33R0lLav025429; Thu, 27 Apr 2023 00:47:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33R0lKKf025428; Thu, 27 Apr 2023 00:47:20 GMT (envelope-from git) Date: Thu, 27 Apr 2023 00:47:20 GMT Message-Id: <202304270047.33R0lKKf025428@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: 42f0ac5f1bd2 - main - Fix BLAKE3 aarch64 assembly for FreeBSD and macOS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 42f0ac5f1bd2bb5c779ce51c369a0e47c62cbf9b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=42f0ac5f1bd2bb5c779ce51c369a0e47c62cbf9b commit 42f0ac5f1bd2bb5c779ce51c369a0e47c62cbf9b Author: Tino Reichardt AuthorDate: 2023-04-26 19:40:26 +0000 Commit: Kyle Evans CommitDate: 2023-04-27 00:46:47 +0000 Fix BLAKE3 aarch64 assembly for FreeBSD and macOS The x18 register isn't useable within FreeBSD kernel space, so we have to fix the BLAKE3 aarch64 assembly for not using it. The source files are here: https://github.com/mcmilk/BLAKE3-tests Reviewed-by: Kyle Evans Signed-off-by: Tino Reichardt Closes #14728 --- .../icp/asm-aarch64/blake3/b3_aarch64_sse2.S | 4163 +++++++++--------- .../icp/asm-aarch64/blake3/b3_aarch64_sse41.S | 4447 ++++++++++---------- 2 files changed, 4078 insertions(+), 4532 deletions(-) diff --git a/sys/contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse2.S b/sys/contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse2.S index 8237f0eb5a4e..dc2719d142db 100644 --- a/sys/contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse2.S +++ b/sys/contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse2.S @@ -22,480 +22,61 @@ /* * Based on BLAKE3 v1.3.1, https://github.com/BLAKE3-team/BLAKE3 * Copyright (c) 2019-2022 Samuel Neves and Matthew Krupcale - * Copyright (c) 2022 Tino Reichardt + * Copyright (c) 2022-2023 Tino Reichardt * * This is converted assembly: SSE2 -> ARMv8-A * Used tools: SIMDe https://github.com/simd-everywhere/simde + * + * Should work on FreeBSD, Linux and macOS + * see: https://github.com/mcmilk/BLAKE3-tests/blob/master/contrib/simde.sh */ #if defined(__aarch64__) .text - .section .rodata.cst16,"aM",@progbits,16 - .p2align 4 -.LCPI0_0: - .word 1779033703 - .word 3144134277 - .word 1013904242 - .word 2773480762 -.LCPI0_1: - .xword 0 - .xword -4294967296 -.LCPI0_2: - .xword -1 - .xword 4294967295 + .section .note.gnu.property,"a",@note + .p2align 3 + .word 4 + .word 16 + .word 5 + .asciz "GNU" + .word 3221225472 + .word 4 + .word 3 + .word 0 +.Lsec_end0: .text .globl zfs_blake3_compress_in_place_sse2 .p2align 2 .type zfs_blake3_compress_in_place_sse2,@function zfs_blake3_compress_in_place_sse2: .cfi_startproc - ldp q3, q2, [x0] - ldp q5, q6, [x1] - add x10, x1, #32 - lsr x11, x3, #32 - fmov s4, w3 - ld2 { v17.4s, v18.4s }, [x10] - adrp x10, .LCPI0_2 - and w8, w2, #0xff - mov v4.s[1], w11 - ldr q1, [x10, :lo12:.LCPI0_2] - and w9, w4, #0xff - adrp x12, .LCPI0_0 - mov v4.s[2], w8 - uzp1 v19.4s, v5.4s, v6.4s - add v3.4s, v2.4s, v3.4s - ldr q7, [x12, :lo12:.LCPI0_0] - mov v4.s[3], w9 - add v3.4s, v3.4s, v19.4s - uzp2 v5.4s, v5.4s, v6.4s - ext v21.16b, v18.16b, v18.16b, #12 - uzp1 v6.4s, v19.4s, v19.4s - ext v22.16b, v19.16b, v19.16b, #12 - eor v4.16b, v3.16b, v4.16b - ext v20.16b, v17.16b, v17.16b, #12 - ext v6.16b, v6.16b, v19.16b, #8 - ext v19.16b, v19.16b, v22.16b, #12 - zip1 v22.2d, v21.2d, v5.2d - rev32 v24.8h, v4.8h - mov v4.16b, v1.16b - zip2 v23.4s, v5.4s, v21.4s - uzp2 v6.4s, v6.4s, v5.4s - bsl v4.16b, v22.16b, v20.16b - add v3.4s, v3.4s, v5.4s - zip1 v5.4s, v23.4s, v20.4s - zip1 v22.4s, v20.4s, v23.4s - add v23.4s, v24.4s, v7.4s - ext v7.16b, v6.16b, v6.16b, #4 - ext v25.16b, v4.16b, v4.16b, #12 - ext v5.16b, v22.16b, v5.16b, #8 - eor v2.16b, v23.16b, v2.16b - uzp1 v4.4s, v4.4s, v25.4s - uzp1 v22.4s, v7.4s, v7.4s - ext v25.16b, v7.16b, v7.16b, #12 - ext v22.16b, v22.16b, v7.16b, #8 - ext v7.16b, v7.16b, v25.16b, #12 - ushr v25.4s, v2.4s, #12 - shl v2.4s, v2.4s, #20 - orr v2.16b, v2.16b, v25.16b - add v3.4s, v3.4s, v2.4s - eor v24.16b, v3.16b, v24.16b - add v3.4s, v3.4s, v17.4s - ushr v17.4s, v24.4s, #8 - shl v18.4s, v24.4s, #24 - orr v17.16b, v18.16b, v17.16b - add v18.4s, v17.4s, v23.4s - eor v2.16b, v18.16b, v2.16b - ushr v23.4s, v2.4s, #7 - shl v2.4s, v2.4s, #25 - ext v3.16b, v3.16b, v3.16b, #12 - orr v2.16b, v2.16b, v23.16b - ext v17.16b, v17.16b, v17.16b, #8 - add v3.4s, v2.4s, v3.4s - adrp x11, .LCPI0_1 - eor v17.16b, v3.16b, v17.16b - ldr q16, [x11, :lo12:.LCPI0_1] - ext v18.16b, v18.16b, v18.16b, #4 - rev32 v24.8h, v17.8h - movi v0.2d, #0xffffffff00000000 - add v23.4s, v3.4s, v21.4s - mov v21.s[1], v20.s[2] - add v20.4s, v18.4s, v24.4s - bit v19.16b, v21.16b, v0.16b - eor v3.16b, v20.16b, v2.16b - uzp2 v2.4s, v22.4s, v19.4s - zip1 v17.2d, v5.2d, v19.2d - zip2 v18.4s, v19.4s, v5.4s - ushr v21.4s, v3.4s, #12 - shl v3.4s, v3.4s, #20 - ext v22.16b, v2.16b, v2.16b, #4 - bsl v16.16b, v4.16b, v17.16b - zip1 v17.4s, v18.4s, v4.4s - zip1 v18.4s, v4.4s, v18.4s - orr v21.16b, v3.16b, v21.16b - ext v25.16b, v16.16b, v16.16b, #12 - ext v3.16b, v18.16b, v17.16b, #8 - uzp1 v18.4s, v22.4s, v22.4s - ext v26.16b, v22.16b, v22.16b, #12 - add v23.4s, v23.4s, v21.4s - uzp1 v17.4s, v16.4s, v25.4s - ext v16.16b, v18.16b, v22.16b, #8 - ext v18.16b, v22.16b, v26.16b, #12 - eor v22.16b, v23.16b, v24.16b - add v6.4s, v23.4s, v6.4s - ushr v23.4s, v22.4s, #8 - shl v22.4s, v22.4s, #24 - orr v22.16b, v22.16b, v23.16b - add v20.4s, v22.4s, v20.4s - eor v21.16b, v20.16b, v21.16b - ushr v23.4s, v21.4s, #7 - shl v21.4s, v21.4s, #25 - ext v6.16b, v6.16b, v6.16b, #4 - orr v21.16b, v21.16b, v23.16b - ext v22.16b, v22.16b, v22.16b, #8 - add v6.4s, v21.4s, v6.4s - eor v22.16b, v6.16b, v22.16b - ext v20.16b, v20.16b, v20.16b, #12 - add v6.4s, v6.4s, v19.4s - rev32 v19.8h, v22.8h - add v20.4s, v20.4s, v19.4s - eor v21.16b, v20.16b, v21.16b - ushr v22.4s, v21.4s, #12 - shl v21.4s, v21.4s, #20 - orr v21.16b, v21.16b, v22.16b - add v6.4s, v6.4s, v21.4s - eor v19.16b, v6.16b, v19.16b - ushr v22.4s, v19.4s, #8 - shl v19.4s, v19.4s, #24 - orr v19.16b, v19.16b, v22.16b - add v20.4s, v19.4s, v20.4s - eor v21.16b, v20.16b, v21.16b - ext v6.16b, v6.16b, v6.16b, #12 - ushr v22.4s, v21.4s, #7 - shl v21.4s, v21.4s, #25 - add v6.4s, v6.4s, v4.4s - orr v21.16b, v21.16b, v22.16b - ext v19.16b, v19.16b, v19.16b, #8 - add v6.4s, v6.4s, v21.4s - eor v19.16b, v6.16b, v19.16b - ext v20.16b, v20.16b, v20.16b, #4 - rev32 v19.8h, v19.8h - add v20.4s, v20.4s, v19.4s - add v6.4s, v6.4s, v5.4s - mov v5.s[1], v4.s[2] - eor v4.16b, v20.16b, v21.16b - ushr v21.4s, v4.4s, #12 - shl v4.4s, v4.4s, #20 - orr v21.16b, v4.16b, v21.16b - add v6.4s, v6.4s, v21.4s - eor v19.16b, v6.16b, v19.16b - add v2.4s, v6.4s, v2.4s - ushr v6.4s, v19.4s, #8 - shl v19.4s, v19.4s, #24 - orr v6.16b, v19.16b, v6.16b - add v19.4s, v6.4s, v20.4s - eor v20.16b, v19.16b, v21.16b - ushr v21.4s, v20.4s, #7 - shl v20.4s, v20.4s, #25 - ext v2.16b, v2.16b, v2.16b, #4 - orr v20.16b, v20.16b, v21.16b - ext v6.16b, v6.16b, v6.16b, #8 - add v2.4s, v20.4s, v2.4s - eor v6.16b, v2.16b, v6.16b - ext v19.16b, v19.16b, v19.16b, #12 - rev32 v6.8h, v6.8h - add v19.4s, v19.4s, v6.4s - mov v22.16b, v0.16b - eor v20.16b, v19.16b, v20.16b - bsl v22.16b, v5.16b, v7.16b - ushr v21.4s, v20.4s, #12 - shl v20.4s, v20.4s, #20 - add v2.4s, v2.4s, v22.4s - orr v20.16b, v20.16b, v21.16b - add v2.4s, v2.4s, v20.4s - eor v6.16b, v2.16b, v6.16b - ushr v21.4s, v6.4s, #8 - shl v6.4s, v6.4s, #24 - orr v6.16b, v6.16b, v21.16b - add v19.4s, v6.4s, v19.4s - eor v20.16b, v19.16b, v20.16b - ext v2.16b, v2.16b, v2.16b, #12 - ushr v21.4s, v20.4s, #7 - shl v20.4s, v20.4s, #25 - add v2.4s, v2.4s, v17.4s - orr v20.16b, v20.16b, v21.16b - ext v6.16b, v6.16b, v6.16b, #8 - add v2.4s, v2.4s, v20.4s - eor v6.16b, v2.16b, v6.16b - uzp2 v5.4s, v16.4s, v22.4s - zip1 v7.2d, v3.2d, v22.2d - zip2 v16.4s, v22.4s, v3.4s - ext v19.16b, v19.16b, v19.16b, #4 - rev32 v22.8h, v6.8h - ext v23.16b, v5.16b, v5.16b, #4 - bif v7.16b, v17.16b, v1.16b - zip1 v24.4s, v16.4s, v17.4s - zip1 v16.4s, v17.4s, v16.4s - add v21.4s, v2.4s, v3.4s - mov v3.s[1], v17.s[2] - add v17.4s, v19.4s, v22.4s - mov v19.16b, v0.16b - ext v25.16b, v7.16b, v7.16b, #12 - ext v4.16b, v16.16b, v24.16b, #8 - uzp1 v16.4s, v23.4s, v23.4s - bsl v19.16b, v3.16b, v18.16b - eor v2.16b, v17.16b, v20.16b - uzp1 v7.4s, v7.4s, v25.4s - ext v25.16b, v16.16b, v23.16b, #8 - zip1 v3.2d, v4.2d, v19.2d - ushr v20.4s, v2.4s, #12 - shl v2.4s, v2.4s, #20 - ext v24.16b, v23.16b, v23.16b, #12 - uzp2 v6.4s, v25.4s, v19.4s - zip2 v18.4s, v19.4s, v4.4s - bif v3.16b, v7.16b, v1.16b - orr v20.16b, v2.16b, v20.16b - ext v16.16b, v23.16b, v24.16b, #12 - ext v23.16b, v6.16b, v6.16b, #4 - zip1 v24.4s, v18.4s, v7.4s - zip1 v18.4s, v7.4s, v18.4s - ext v25.16b, v3.16b, v3.16b, #12 - add v21.4s, v21.4s, v20.4s - ext v2.16b, v18.16b, v24.16b, #8 - uzp1 v18.4s, v23.4s, v23.4s - ext v24.16b, v23.16b, v23.16b, #12 - uzp1 v3.4s, v3.4s, v25.4s - eor v22.16b, v21.16b, v22.16b - ext v25.16b, v18.16b, v23.16b, #8 - dup v18.4s, v2.s[3] - ext v23.16b, v23.16b, v24.16b, #12 - add v5.4s, v21.4s, v5.4s - trn1 v21.4s, v3.4s, v3.4s - ushr v24.4s, v22.4s, #8 - shl v22.4s, v22.4s, #24 - ext v18.16b, v21.16b, v18.16b, #8 - orr v21.16b, v22.16b, v24.16b - add v17.4s, v21.4s, v17.4s - eor v20.16b, v17.16b, v20.16b - ushr v22.4s, v20.4s, #7 - shl v20.4s, v20.4s, #25 - ext v5.16b, v5.16b, v5.16b, #4 - orr v20.16b, v20.16b, v22.16b - ext v21.16b, v21.16b, v21.16b, #8 - add v5.4s, v20.4s, v5.4s - eor v21.16b, v5.16b, v21.16b - ext v17.16b, v17.16b, v17.16b, #12 - add v5.4s, v5.4s, v19.4s - rev32 v19.8h, v21.8h - add v17.4s, v17.4s, v19.4s - eor v20.16b, v17.16b, v20.16b - ushr v21.4s, v20.4s, #12 - shl v20.4s, v20.4s, #20 - orr v20.16b, v20.16b, v21.16b - add v5.4s, v5.4s, v20.4s - eor v19.16b, v5.16b, v19.16b - ushr v21.4s, v19.4s, #8 - shl v19.4s, v19.4s, #24 - orr v19.16b, v19.16b, v21.16b - add v17.4s, v19.4s, v17.4s - eor v20.16b, v17.16b, v20.16b - ext v5.16b, v5.16b, v5.16b, #12 - ushr v21.4s, v20.4s, #7 - shl v20.4s, v20.4s, #25 - add v5.4s, v5.4s, v7.4s - orr v20.16b, v20.16b, v21.16b - ext v19.16b, v19.16b, v19.16b, #8 - add v5.4s, v5.4s, v20.4s - eor v19.16b, v5.16b, v19.16b - ext v17.16b, v17.16b, v17.16b, #4 - rev32 v22.8h, v19.8h - add v21.4s, v5.4s, v4.4s - mov v4.s[1], v7.s[2] - add v19.4s, v17.4s, v22.4s - bit v16.16b, v4.16b, v0.16b - eor v5.16b, v19.16b, v20.16b - uzp2 v4.4s, v25.4s, v16.4s - zip1 v7.2d, v2.2d, v16.2d - zip2 v17.4s, v16.4s, v2.4s - ushr v20.4s, v5.4s, #12 - shl v5.4s, v5.4s, #20 - ext v24.16b, v4.16b, v4.16b, #4 - bif v7.16b, v3.16b, v1.16b - zip1 v25.4s, v17.4s, v3.4s - zip1 v17.4s, v3.4s, v17.4s - orr v20.16b, v5.16b, v20.16b - ext v26.16b, v7.16b, v7.16b, #12 - ext v5.16b, v17.16b, v25.16b, #8 - uzp1 v17.4s, v24.4s, v24.4s - ext v25.16b, v24.16b, v24.16b, #12 - bit v23.16b, v18.16b, v0.16b - add v21.4s, v21.4s, v20.4s - uzp1 v7.4s, v7.4s, v26.4s - ext v26.16b, v17.16b, v24.16b, #8 - ext v17.16b, v24.16b, v25.16b, #12 - eor v22.16b, v21.16b, v22.16b - add v6.4s, v21.4s, v6.4s - zip1 v21.2d, v5.2d, v23.2d - zip2 v24.4s, v23.4s, v5.4s - bif v21.16b, v7.16b, v1.16b - zip1 v1.4s, v24.4s, v7.4s - zip1 v24.4s, v7.4s, v24.4s - ext v1.16b, v24.16b, v1.16b, #8 - ushr v24.4s, v22.4s, #8 - shl v22.4s, v22.4s, #24 - orr v22.16b, v22.16b, v24.16b - add v19.4s, v22.4s, v19.4s - ext v24.16b, v21.16b, v21.16b, #12 - eor v20.16b, v19.16b, v20.16b - uzp1 v21.4s, v21.4s, v24.4s - ushr v24.4s, v20.4s, #7 - shl v20.4s, v20.4s, #25 - orr v20.16b, v20.16b, v24.16b - ext v6.16b, v6.16b, v6.16b, #4 - ext v22.16b, v22.16b, v22.16b, #8 - add v6.4s, v20.4s, v6.4s - eor v22.16b, v6.16b, v22.16b - ext v19.16b, v19.16b, v19.16b, #12 - add v6.4s, v6.4s, v16.4s - rev32 v16.8h, v22.8h - add v19.4s, v19.4s, v16.4s - eor v20.16b, v19.16b, v20.16b - ushr v22.4s, v20.4s, #12 - shl v20.4s, v20.4s, #20 - orr v20.16b, v20.16b, v22.16b - add v6.4s, v6.4s, v20.4s - eor v16.16b, v6.16b, v16.16b - ext v6.16b, v6.16b, v6.16b, #12 - add v3.4s, v6.4s, v3.4s - ushr v6.4s, v16.4s, #8 - shl v16.4s, v16.4s, #24 - orr v6.16b, v16.16b, v6.16b - add v16.4s, v6.4s, v19.4s - eor v19.16b, v16.16b, v20.16b - ushr v20.4s, v19.4s, #7 - shl v19.4s, v19.4s, #25 - orr v19.16b, v19.16b, v20.16b - ext v6.16b, v6.16b, v6.16b, #8 - add v3.4s, v3.4s, v19.4s - eor v6.16b, v3.16b, v6.16b - ext v16.16b, v16.16b, v16.16b, #4 - add v2.4s, v3.4s, v2.4s - rev32 v3.8h, v6.8h - add v6.4s, v16.4s, v3.4s - eor v16.16b, v6.16b, v19.16b - ushr v19.4s, v16.4s, #12 - shl v16.4s, v16.4s, #20 - orr v16.16b, v16.16b, v19.16b - add v2.4s, v2.4s, v16.4s - eor v3.16b, v2.16b, v3.16b - add v2.4s, v2.4s, v4.4s - ushr v4.4s, v3.4s, #8 - shl v3.4s, v3.4s, #24 - orr v3.16b, v3.16b, v4.16b - add v4.4s, v3.4s, v6.4s - eor v6.16b, v4.16b, v16.16b - ushr v16.4s, v6.4s, #7 - shl v6.4s, v6.4s, #25 - ext v2.16b, v2.16b, v2.16b, #4 - orr v6.16b, v6.16b, v16.16b - ext v3.16b, v3.16b, v3.16b, #8 - add v2.4s, v6.4s, v2.4s - eor v3.16b, v2.16b, v3.16b - ext v4.16b, v4.16b, v4.16b, #12 - rev32 v3.8h, v3.8h - add v4.4s, v4.4s, v3.4s - eor v6.16b, v4.16b, v6.16b - ushr v16.4s, v6.4s, #12 - shl v6.4s, v6.4s, #20 - add v2.4s, v2.4s, v23.4s - orr v6.16b, v6.16b, v16.16b - add v2.4s, v2.4s, v6.4s - eor v3.16b, v2.16b, v3.16b - ushr v16.4s, v3.4s, #8 - shl v3.4s, v3.4s, #24 - orr v3.16b, v3.16b, v16.16b - add v4.4s, v3.4s, v4.4s - eor v6.16b, v4.16b, v6.16b - ext v2.16b, v2.16b, v2.16b, #12 - ushr v16.4s, v6.4s, #7 - shl v6.4s, v6.4s, #25 - add v2.4s, v2.4s, v7.4s - orr v6.16b, v6.16b, v16.16b - ext v3.16b, v3.16b, v3.16b, #8 - add v2.4s, v2.4s, v6.4s - eor v3.16b, v2.16b, v3.16b - ext v4.16b, v4.16b, v4.16b, #4 - rev32 v3.8h, v3.8h - add v2.4s, v2.4s, v5.4s - mov v5.s[1], v7.s[2] - add v4.4s, v4.4s, v3.4s - bsl v0.16b, v5.16b, v17.16b - eor v5.16b, v4.16b, v6.16b - ushr v6.4s, v5.4s, #12 - shl v5.4s, v5.4s, #20 - orr v5.16b, v5.16b, v6.16b - add v2.4s, v2.4s, v5.4s - eor v3.16b, v2.16b, v3.16b - ushr v6.4s, v3.4s, #8 - shl v3.4s, v3.4s, #24 - orr v3.16b, v3.16b, v6.16b - add v4.4s, v3.4s, v4.4s - uzp2 v18.4s, v26.4s, v18.4s - eor v5.16b, v4.16b, v5.16b - add v2.4s, v2.4s, v18.4s - ushr v6.4s, v5.4s, #7 - shl v5.4s, v5.4s, #25 - ext v2.16b, v2.16b, v2.16b, #4 - orr v5.16b, v5.16b, v6.16b - ext v3.16b, v3.16b, v3.16b, #8 - add v2.4s, v5.4s, v2.4s - eor v3.16b, v2.16b, v3.16b - ext v4.16b, v4.16b, v4.16b, #12 - add v0.4s, v2.4s, v0.4s - rev32 v2.8h, v3.8h - add v3.4s, v4.4s, v2.4s - eor v4.16b, v3.16b, v5.16b - ushr v5.4s, v4.4s, #12 - shl v4.4s, v4.4s, #20 - orr v4.16b, v4.16b, v5.16b - add v0.4s, v0.4s, v4.4s - eor v2.16b, v0.16b, v2.16b - ushr v5.4s, v2.4s, #8 - shl v2.4s, v2.4s, #24 - orr v2.16b, v2.16b, v5.16b - add v3.4s, v2.4s, v3.4s - eor v4.16b, v3.16b, v4.16b - ext v0.16b, v0.16b, v0.16b, #12 - ushr v5.4s, v4.4s, #7 - shl v4.4s, v4.4s, #25 - add v0.4s, v0.4s, v21.4s - orr v4.16b, v4.16b, v5.16b - ext v2.16b, v2.16b, v2.16b, #8 - add v0.4s, v0.4s, v4.4s - eor v2.16b, v0.16b, v2.16b - ext v3.16b, v3.16b, v3.16b, #4 - add v0.4s, v0.4s, v1.4s - rev32 v1.8h, v2.8h - add v2.4s, v3.4s, v1.4s - eor v3.16b, v2.16b, v4.16b - ushr v4.4s, v3.4s, #12 - shl v3.4s, v3.4s, #20 - orr v3.16b, v3.16b, v4.16b - add v0.4s, v0.4s, v3.4s - eor v1.16b, v0.16b, v1.16b - ushr v4.4s, v1.4s, #8 - shl v1.4s, v1.4s, #24 - orr v1.16b, v1.16b, v4.16b - add v2.4s, v1.4s, v2.4s - eor v3.16b, v2.16b, v3.16b - ext v0.16b, v0.16b, v0.16b, #4 - ext v2.16b, v2.16b, v2.16b, #12 - ushr v4.4s, v3.4s, #7 - shl v3.4s, v3.4s, #25 - ext v1.16b, v1.16b, v1.16b, #8 + hint #25 + .cfi_negate_ra_state + sub sp, sp, #96 + stp x29, x30, [sp, #64] + add x29, sp, #64 + str x19, [sp, #80] + .cfi_def_cfa w29, 32 + .cfi_offset w19, -16 + .cfi_offset w30, -24 + .cfi_offset w29, -32 + mov x19, x0 + mov w5, w4 + mov x4, x3 + mov w3, w2 + mov x2, x1 + mov x0, sp + mov x1, x19 + bl compress_pre + ldp q0, q1, [sp] + ldp q2, q3, [sp, #32] eor v0.16b, v2.16b, v0.16b - orr v2.16b, v3.16b, v4.16b - eor v1.16b, v2.16b, v1.16b - stp q0, q1, [x0] + eor v1.16b, v3.16b, v1.16b + ldp x29, x30, [sp, #64] + stp q0, q1, [x19] + ldr x19, [sp, #80] + add sp, sp, #96 + hint #29 ret .Lfunc_end0: .size zfs_blake3_compress_in_place_sse2, .Lfunc_end0-zfs_blake3_compress_in_place_sse2 @@ -504,483 +85,518 @@ zfs_blake3_compress_in_place_sse2: .section .rodata.cst16,"aM",@progbits,16 .p2align 4 .LCPI1_0: - .word 1779033703 - .word 3144134277 - .word 1013904242 - .word 2773480762 -.LCPI1_1: - .xword 0 - .xword -4294967296 -.LCPI1_2: - .xword -1 - .xword 4294967295 + .xword -4942790177982912921 + .xword -6534734903820487822 .text - .globl zfs_blake3_compress_xof_sse2 .p2align 2 - .type zfs_blake3_compress_xof_sse2,@function -zfs_blake3_compress_xof_sse2: + .type compress_pre,@function +compress_pre: .cfi_startproc - ldp q3, q2, [x0] - ldp q5, q6, [x1] - add x10, x1, #32 - lsr x11, x3, #32 - fmov s4, w3 - ld2 { v17.4s, v18.4s }, [x10] - adrp x10, .LCPI1_2 - and w8, w2, #0xff - mov v4.s[1], w11 - ldr q1, [x10, :lo12:.LCPI1_2] - and w9, w4, #0xff - adrp x12, .LCPI1_0 - mov v4.s[2], w8 - uzp1 v19.4s, v5.4s, v6.4s - add v3.4s, v2.4s, v3.4s - ldr q7, [x12, :lo12:.LCPI1_0] - mov v4.s[3], w9 - add v3.4s, v3.4s, v19.4s - uzp2 v5.4s, v5.4s, v6.4s - ext v21.16b, v18.16b, v18.16b, #12 - uzp1 v6.4s, v19.4s, v19.4s - ext v22.16b, v19.16b, v19.16b, #12 - eor v4.16b, v3.16b, v4.16b - ext v20.16b, v17.16b, v17.16b, #12 - ext v6.16b, v6.16b, v19.16b, #8 - ext v19.16b, v19.16b, v22.16b, #12 - zip1 v22.2d, v21.2d, v5.2d - rev32 v24.8h, v4.8h - mov v4.16b, v1.16b - zip2 v23.4s, v5.4s, v21.4s - uzp2 v6.4s, v6.4s, v5.4s - bsl v4.16b, v22.16b, v20.16b - add v3.4s, v3.4s, v5.4s - zip1 v5.4s, v23.4s, v20.4s - zip1 v22.4s, v20.4s, v23.4s - add v23.4s, v24.4s, v7.4s - ext v7.16b, v6.16b, v6.16b, #4 - ext v25.16b, v4.16b, v4.16b, #12 - ext v5.16b, v22.16b, v5.16b, #8 - eor v2.16b, v23.16b, v2.16b - uzp1 v4.4s, v4.4s, v25.4s - uzp1 v22.4s, v7.4s, v7.4s - ext v25.16b, v7.16b, v7.16b, #12 - ext v22.16b, v22.16b, v7.16b, #8 - ext v7.16b, v7.16b, v25.16b, #12 - ushr v25.4s, v2.4s, #12 - shl v2.4s, v2.4s, #20 - orr v2.16b, v2.16b, v25.16b - add v3.4s, v3.4s, v2.4s - eor v24.16b, v3.16b, v24.16b - add v3.4s, v3.4s, v17.4s - ushr v17.4s, v24.4s, #8 - shl v18.4s, v24.4s, #24 - orr v17.16b, v18.16b, v17.16b - add v18.4s, v17.4s, v23.4s - eor v2.16b, v18.16b, v2.16b - ushr v23.4s, v2.4s, #7 - shl v2.4s, v2.4s, #25 - ext v3.16b, v3.16b, v3.16b, #12 - orr v2.16b, v2.16b, v23.16b - ext v17.16b, v17.16b, v17.16b, #8 - add v3.4s, v2.4s, v3.4s - adrp x11, .LCPI1_1 - eor v17.16b, v3.16b, v17.16b - ldr q16, [x11, :lo12:.LCPI1_1] - ext v18.16b, v18.16b, v18.16b, #4 - rev32 v24.8h, v17.8h - movi v0.2d, #0xffffffff00000000 - add v23.4s, v3.4s, v21.4s - mov v21.s[1], v20.s[2] - add v20.4s, v18.4s, v24.4s - bit v19.16b, v21.16b, v0.16b - eor v3.16b, v20.16b, v2.16b - uzp2 v2.4s, v22.4s, v19.4s - zip1 v17.2d, v5.2d, v19.2d - zip2 v18.4s, v19.4s, v5.4s - ushr v21.4s, v3.4s, #12 - shl v3.4s, v3.4s, #20 - ext v22.16b, v2.16b, v2.16b, #4 - bsl v16.16b, v4.16b, v17.16b - zip1 v17.4s, v18.4s, v4.4s - zip1 v18.4s, v4.4s, v18.4s - orr v21.16b, v3.16b, v21.16b - ext v25.16b, v16.16b, v16.16b, #12 - ext v3.16b, v18.16b, v17.16b, #8 - uzp1 v18.4s, v22.4s, v22.4s - ext v26.16b, v22.16b, v22.16b, #12 - add v23.4s, v23.4s, v21.4s - uzp1 v17.4s, v16.4s, v25.4s - ext v16.16b, v18.16b, v22.16b, #8 - ext v18.16b, v22.16b, v26.16b, #12 - eor v22.16b, v23.16b, v24.16b - add v6.4s, v23.4s, v6.4s - ushr v23.4s, v22.4s, #8 - shl v22.4s, v22.4s, #24 - orr v22.16b, v22.16b, v23.16b - add v20.4s, v22.4s, v20.4s - eor v21.16b, v20.16b, v21.16b - ushr v23.4s, v21.4s, #7 - shl v21.4s, v21.4s, #25 - ext v6.16b, v6.16b, v6.16b, #4 - orr v21.16b, v21.16b, v23.16b - ext v22.16b, v22.16b, v22.16b, #8 - add v6.4s, v21.4s, v6.4s - eor v22.16b, v6.16b, v22.16b - ext v20.16b, v20.16b, v20.16b, #12 - add v6.4s, v6.4s, v19.4s - rev32 v19.8h, v22.8h - add v20.4s, v20.4s, v19.4s - eor v21.16b, v20.16b, v21.16b - ushr v22.4s, v21.4s, #12 - shl v21.4s, v21.4s, #20 - orr v21.16b, v21.16b, v22.16b - add v6.4s, v6.4s, v21.4s - eor v19.16b, v6.16b, v19.16b - ushr v22.4s, v19.4s, #8 - shl v19.4s, v19.4s, #24 - orr v19.16b, v19.16b, v22.16b - add v20.4s, v19.4s, v20.4s - eor v21.16b, v20.16b, v21.16b - ext v6.16b, v6.16b, v6.16b, #12 - ushr v22.4s, v21.4s, #7 - shl v21.4s, v21.4s, #25 - add v6.4s, v6.4s, v4.4s - orr v21.16b, v21.16b, v22.16b - ext v19.16b, v19.16b, v19.16b, #8 - add v6.4s, v6.4s, v21.4s - eor v19.16b, v6.16b, v19.16b - ext v20.16b, v20.16b, v20.16b, #4 - rev32 v19.8h, v19.8h - add v20.4s, v20.4s, v19.4s - add v6.4s, v6.4s, v5.4s - mov v5.s[1], v4.s[2] - eor v4.16b, v20.16b, v21.16b - ushr v21.4s, v4.4s, #12 - shl v4.4s, v4.4s, #20 - orr v21.16b, v4.16b, v21.16b - add v6.4s, v6.4s, v21.4s - eor v19.16b, v6.16b, v19.16b - add v2.4s, v6.4s, v2.4s - ushr v6.4s, v19.4s, #8 - shl v19.4s, v19.4s, #24 - orr v6.16b, v19.16b, v6.16b - add v19.4s, v6.4s, v20.4s - eor v20.16b, v19.16b, v21.16b - ushr v21.4s, v20.4s, #7 - shl v20.4s, v20.4s, #25 - ext v2.16b, v2.16b, v2.16b, #4 - orr v20.16b, v20.16b, v21.16b - ext v6.16b, v6.16b, v6.16b, #8 - add v2.4s, v20.4s, v2.4s - eor v6.16b, v2.16b, v6.16b - ext v19.16b, v19.16b, v19.16b, #12 - rev32 v6.8h, v6.8h - add v19.4s, v19.4s, v6.4s - mov v22.16b, v0.16b - eor v20.16b, v19.16b, v20.16b - bsl v22.16b, v5.16b, v7.16b - ushr v21.4s, v20.4s, #12 - shl v20.4s, v20.4s, #20 - add v2.4s, v2.4s, v22.4s - orr v20.16b, v20.16b, v21.16b - add v2.4s, v2.4s, v20.4s - eor v6.16b, v2.16b, v6.16b - ushr v21.4s, v6.4s, #8 - shl v6.4s, v6.4s, #24 - orr v6.16b, v6.16b, v21.16b - add v19.4s, v6.4s, v19.4s - eor v20.16b, v19.16b, v20.16b - ext v2.16b, v2.16b, v2.16b, #12 - ushr v21.4s, v20.4s, #7 - shl v20.4s, v20.4s, #25 - add v2.4s, v2.4s, v17.4s - orr v20.16b, v20.16b, v21.16b - ext v6.16b, v6.16b, v6.16b, #8 - add v2.4s, v2.4s, v20.4s - eor v6.16b, v2.16b, v6.16b - uzp2 v5.4s, v16.4s, v22.4s - zip1 v7.2d, v3.2d, v22.2d - zip2 v16.4s, v22.4s, v3.4s - ext v19.16b, v19.16b, v19.16b, #4 - rev32 v22.8h, v6.8h - ext v23.16b, v5.16b, v5.16b, #4 - bif v7.16b, v17.16b, v1.16b - zip1 v24.4s, v16.4s, v17.4s - zip1 v16.4s, v17.4s, v16.4s - add v21.4s, v2.4s, v3.4s - mov v3.s[1], v17.s[2] - add v17.4s, v19.4s, v22.4s - mov v19.16b, v0.16b - ext v25.16b, v7.16b, v7.16b, #12 - ext v4.16b, v16.16b, v24.16b, #8 - uzp1 v16.4s, v23.4s, v23.4s - bsl v19.16b, v3.16b, v18.16b - eor v2.16b, v17.16b, v20.16b - uzp1 v7.4s, v7.4s, v25.4s - ext v25.16b, v16.16b, v23.16b, #8 - zip1 v3.2d, v4.2d, v19.2d - ushr v20.4s, v2.4s, #12 - shl v2.4s, v2.4s, #20 - ext v24.16b, v23.16b, v23.16b, #12 - uzp2 v6.4s, v25.4s, v19.4s - zip2 v18.4s, v19.4s, v4.4s - bif v3.16b, v7.16b, v1.16b - orr v20.16b, v2.16b, v20.16b - ext v16.16b, v23.16b, v24.16b, #12 - ext v23.16b, v6.16b, v6.16b, #4 - zip1 v24.4s, v18.4s, v7.4s - zip1 v18.4s, v7.4s, v18.4s - ext v25.16b, v3.16b, v3.16b, #12 - add v21.4s, v21.4s, v20.4s - ext v2.16b, v18.16b, v24.16b, #8 - uzp1 v18.4s, v23.4s, v23.4s - ext v24.16b, v23.16b, v23.16b, #12 - uzp1 v3.4s, v3.4s, v25.4s - eor v22.16b, v21.16b, v22.16b - ext v25.16b, v18.16b, v23.16b, #8 - dup v18.4s, v2.s[3] - ext v23.16b, v23.16b, v24.16b, #12 - add v5.4s, v21.4s, v5.4s - trn1 v21.4s, v3.4s, v3.4s - ushr v24.4s, v22.4s, #8 - shl v22.4s, v22.4s, #24 - ext v18.16b, v21.16b, v18.16b, #8 - orr v21.16b, v22.16b, v24.16b - add v17.4s, v21.4s, v17.4s - eor v20.16b, v17.16b, v20.16b - ushr v22.4s, v20.4s, #7 - shl v20.4s, v20.4s, #25 - ext v5.16b, v5.16b, v5.16b, #4 - orr v20.16b, v20.16b, v22.16b - ext v21.16b, v21.16b, v21.16b, #8 - add v5.4s, v20.4s, v5.4s - eor v21.16b, v5.16b, v21.16b - ext v17.16b, v17.16b, v17.16b, #12 - add v5.4s, v5.4s, v19.4s - rev32 v19.8h, v21.8h - add v17.4s, v17.4s, v19.4s - eor v20.16b, v17.16b, v20.16b - ushr v21.4s, v20.4s, #12 - shl v20.4s, v20.4s, #20 - orr v20.16b, v20.16b, v21.16b - add v5.4s, v5.4s, v20.4s - eor v19.16b, v5.16b, v19.16b - ushr v21.4s, v19.4s, #8 - shl v19.4s, v19.4s, #24 - orr v19.16b, v19.16b, v21.16b - add v17.4s, v19.4s, v17.4s - eor v20.16b, v17.16b, v20.16b - ext v5.16b, v5.16b, v5.16b, #12 - ushr v21.4s, v20.4s, #7 - shl v20.4s, v20.4s, #25 - add v5.4s, v5.4s, v7.4s - orr v20.16b, v20.16b, v21.16b - ext v19.16b, v19.16b, v19.16b, #8 - add v5.4s, v5.4s, v20.4s - eor v19.16b, v5.16b, v19.16b - ext v17.16b, v17.16b, v17.16b, #4 - rev32 v22.8h, v19.8h - add v21.4s, v5.4s, v4.4s - mov v4.s[1], v7.s[2] - add v19.4s, v17.4s, v22.4s - bit v16.16b, v4.16b, v0.16b - eor v5.16b, v19.16b, v20.16b - uzp2 v4.4s, v25.4s, v16.4s - zip1 v7.2d, v2.2d, v16.2d - zip2 v17.4s, v16.4s, v2.4s - ushr v20.4s, v5.4s, #12 - shl v5.4s, v5.4s, #20 - ext v24.16b, v4.16b, v4.16b, #4 - bif v7.16b, v3.16b, v1.16b - zip1 v25.4s, v17.4s, v3.4s - zip1 v17.4s, v3.4s, v17.4s - orr v20.16b, v5.16b, v20.16b - ext v26.16b, v7.16b, v7.16b, #12 - ext v5.16b, v17.16b, v25.16b, #8 - uzp1 v17.4s, v24.4s, v24.4s - ext v25.16b, v24.16b, v24.16b, #12 - bit v23.16b, v18.16b, v0.16b - add v21.4s, v21.4s, v20.4s - uzp1 v7.4s, v7.4s, v26.4s - ext v26.16b, v17.16b, v24.16b, #8 - ext v17.16b, v24.16b, v25.16b, #12 - eor v22.16b, v21.16b, v22.16b - add v6.4s, v21.4s, v6.4s - zip1 v21.2d, v5.2d, v23.2d - zip2 v24.4s, v23.4s, v5.4s - bif v21.16b, v7.16b, v1.16b - zip1 v1.4s, v24.4s, v7.4s - zip1 v24.4s, v7.4s, v24.4s - ext v1.16b, v24.16b, v1.16b, #8 - ushr v24.4s, v22.4s, #8 - shl v22.4s, v22.4s, #24 - orr v22.16b, v22.16b, v24.16b - add v19.4s, v22.4s, v19.4s - ext v24.16b, v21.16b, v21.16b, #12 - eor v20.16b, v19.16b, v20.16b - uzp1 v21.4s, v21.4s, v24.4s - ushr v24.4s, v20.4s, #7 - shl v20.4s, v20.4s, #25 - orr v20.16b, v20.16b, v24.16b - ext v6.16b, v6.16b, v6.16b, #4 - ext v22.16b, v22.16b, v22.16b, #8 - add v6.4s, v20.4s, v6.4s - eor v22.16b, v6.16b, v22.16b - ext v19.16b, v19.16b, v19.16b, #12 - add v6.4s, v6.4s, v16.4s - rev32 v16.8h, v22.8h - add v19.4s, v19.4s, v16.4s - eor v20.16b, v19.16b, v20.16b - ushr v22.4s, v20.4s, #12 - shl v20.4s, v20.4s, #20 - orr v20.16b, v20.16b, v22.16b - add v6.4s, v6.4s, v20.4s - eor v16.16b, v6.16b, v16.16b - ext v6.16b, v6.16b, v6.16b, #12 - add v3.4s, v6.4s, v3.4s - ushr v6.4s, v16.4s, #8 - shl v16.4s, v16.4s, #24 - orr v6.16b, v16.16b, v6.16b - add v16.4s, v6.4s, v19.4s - eor v19.16b, v16.16b, v20.16b - ushr v20.4s, v19.4s, #7 - shl v19.4s, v19.4s, #25 - orr v19.16b, v19.16b, v20.16b - ext v6.16b, v6.16b, v6.16b, #8 - add v3.4s, v3.4s, v19.4s - eor v6.16b, v3.16b, v6.16b - ext v16.16b, v16.16b, v16.16b, #4 - add v2.4s, v3.4s, v2.4s - rev32 v3.8h, v6.8h - add v6.4s, v16.4s, v3.4s - eor v16.16b, v6.16b, v19.16b - ushr v19.4s, v16.4s, #12 - shl v16.4s, v16.4s, #20 - orr v16.16b, v16.16b, v19.16b - add v2.4s, v2.4s, v16.4s - eor v3.16b, v2.16b, v3.16b - add v2.4s, v2.4s, v4.4s - ushr v4.4s, v3.4s, #8 - shl v3.4s, v3.4s, #24 - orr v3.16b, v3.16b, v4.16b - add v4.4s, v3.4s, v6.4s - eor v6.16b, v4.16b, v16.16b - ushr v16.4s, v6.4s, #7 - shl v6.4s, v6.4s, #25 - ext v2.16b, v2.16b, v2.16b, #4 - orr v6.16b, v6.16b, v16.16b - ext v3.16b, v3.16b, v3.16b, #8 - add v2.4s, v6.4s, v2.4s + hint #34 + fmov s1, w3 + movi d0, #0x0000ff000000ff + ldr q2, [x1] + fmov d3, x4 + adrp x8, .LCPI1_0 + mov v1.s[1], w5 + str q2, [x0] + ldr q4, [x8, :lo12:.LCPI1_0] + add x8, x2, #32 + ldr q5, [x1, #16] + and v0.8b, v1.8b, v0.8b + stp q5, q4, [x0, #16] + mov v3.d[1], v0.d[0] + str q3, [x0, #48] + ldp q0, q6, [x2] + uzp1 v1.4s, v0.4s, v6.4s + uzp2 v0.4s, v0.4s, v6.4s + add v2.4s, v2.4s, v1.4s + uzp1 v18.4s, v1.4s, v1.4s + add v2.4s, v2.4s, v5.4s eor v3.16b, v2.16b, v3.16b - ext v4.16b, v4.16b, v4.16b, #12 + add v2.4s, v2.4s, v0.4s rev32 v3.8h, v3.8h - add v4.4s, v4.4s, v3.4s - eor v6.16b, v4.16b, v6.16b - ushr v16.4s, v6.4s, #12 - shl v6.4s, v6.4s, #20 - add v2.4s, v2.4s, v23.4s - orr v6.16b, v6.16b, v16.16b - add v2.4s, v2.4s, v6.4s + add v4.4s, v3.4s, v4.4s + eor v5.16b, v4.16b, v5.16b + ushr v6.4s, v5.4s, #12 + shl v5.4s, v5.4s, #20 + orr v5.16b, v5.16b, v6.16b + add v2.4s, v2.4s, v5.4s eor v3.16b, v2.16b, v3.16b - ushr v16.4s, v3.4s, #8 + ushr v6.4s, v3.4s, #8 shl v3.4s, v3.4s, #24 - orr v3.16b, v3.16b, v16.16b + orr v3.16b, v3.16b, v6.16b + ld2 { v6.4s, v7.4s }, [x8] add v4.4s, v3.4s, v4.4s - eor v6.16b, v4.16b, v6.16b - ext v2.16b, v2.16b, v2.16b, #12 - ushr v16.4s, v6.4s, #7 - shl v6.4s, v6.4s, #25 - add v2.4s, v2.4s, v7.4s - orr v6.16b, v6.16b, v16.16b ext v3.16b, v3.16b, v3.16b, #8 add v2.4s, v2.4s, v6.4s - eor v3.16b, v2.16b, v3.16b + eor v5.16b, v4.16b, v5.16b ext v4.16b, v4.16b, v4.16b, #4 - rev32 v3.8h, v3.8h + ext v6.16b, v6.16b, v6.16b, #12 + ext v2.16b, v2.16b, v2.16b, #12 + ushr v16.4s, v5.4s, #7 + shl v5.4s, v5.4s, #25 *** 7941 LINES SKIPPED *** From nobody Thu Apr 27 00:47:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6HBf3r4gz47nQM; Thu, 27 Apr 2023 00:47: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 4Q6HBf2VMWz3r71; Thu, 27 Apr 2023 00:47:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682556442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KJU7Bs0k8l6iGdWapHl7oBN1VLBurB0a4F3F3YkM2Eg=; b=fKb6V8wkx7/w5TCC75zHRBbT7PlPW3VosIjj0pFImxyX0/4TfKB3Z0tPnqIrV1UocdndQC 5xXLIoEegmbTnVfrk9XkK3+Q/ZtPFLVe/Iv88kXAmwG4HcL0H3AUN3qg37Uz/4fnrFlMMo nPWrW7WCzzzYbHSGXL+UtQmdjkW/WizEziINft9FLrnWAkUZA3h7G3Uma3k4hgYYbnvntP zrsF6CTseB8tZnpf9JFddT/hCTcmImtfhvqixGQUCS1eMHUeefJwnqskRMJDD3OazUw7oU /s7qg94zR+4u+7pkL+et0/ti/I0xt4it45bgAI0c1meo2ws4VKGD4mPqOZ0oZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682556442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KJU7Bs0k8l6iGdWapHl7oBN1VLBurB0a4F3F3YkM2Eg=; b=xqA/x6YzFBYMbv1j2FR9XgsNhz5rp7QqEyW8pQjO6vbcWYNPs9aL3/SeGR3tJfArWCdr63 k3c8UmfhPwKvwNRjMyZ57EmvNEZtY6VykWpB9XGqN3VQmLeZ3ork6WguOGIc/RTV47fsTT jmF8RGWi1x4MNeXYfT3axzr154xq8IsKiujklxFk54GPHdRDL7MTZrfiYz4rxvy519S4Wc aKhUAgb12pEFrK5w5mh8lCyiQf9zRz8Cga+fgppywFwRKUGDSCLDDjtzi0Qu8jFhxUYrvj 1lep1990kDRaUdrns9Tf+tbgioa730IFAlxIUXO0pfdN8VuR6pXR4MbxyxKvyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682556442; a=rsa-sha256; cv=none; b=lL6yq1GWNAg68VyDNvpSIZmiTdPIrJgEi4hLne0ikScEDa+iuDueSlElmWsGKhZa0A8n6b neZgzHKP/1H/dXZACphlFN6BB8SEPsYcT/Y9fnFAKXUUyvJKIynEig3dLuaeRO8CXBrsCE WlACulh2YzuSrJBOm3LE9iPC+OOd3jNLR25+rAevoQizIyBSoQ25fMyhLF0wuwtWmarYZV 6jChZXw0dI+k2tJ9Vkb5PLAV8YHzxpc9mhz9FcqRHA/gb3KGiVU3O6av+AFygPyjy1TuwY Bu9OFpFFInMHXMfxm2eoYcNdzKGv174yJHozfeajKXapI2Kirv8o13WG07NzKQ== 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 4Q6HBf1PKQzwxT; Thu, 27 Apr 2023 00:47: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 33R0lM3O025450; Thu, 27 Apr 2023 00:47:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33R0lMbB025449; Thu, 27 Apr 2023 00:47:22 GMT (envelope-from git) Date: Thu, 27 Apr 2023 00:47:22 GMT Message-Id: <202304270047.33R0lMbB025449@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: 087a2e64ba7d - main - openzfs: re-enable FPU usage on aarch64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 087a2e64ba7ddcd6eb84597eb50c354f358fb7cd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=087a2e64ba7ddcd6eb84597eb50c354f358fb7cd commit 087a2e64ba7ddcd6eb84597eb50c354f358fb7cd Author: Kyle Evans AuthorDate: 2023-04-27 00:47:14 +0000 Commit: Kyle Evans CommitDate: 2023-04-27 00:47:14 +0000 openzfs: re-enable FPU usage on aarch64 The BLAKE3 generated assembly files have now been updated to avoid clobbering x18, we can safely re-enable FPU usage on aarch64. --- sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h b/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h index 9edbc5f40455..4fe211983c33 100644 --- a/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h +++ b/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd_aarch64.h @@ -58,12 +58,7 @@ #else -/* - * XXX kfpu_allowed() should be 1, but this is pending a fix to the BLAKE3 - * generated assembly to avoid clobbering x18. Turn it back on after that - * lands. - */ -#define kfpu_allowed() 0 +#define kfpu_allowed() 1 #define kfpu_begin() do { \ if (__predict_false(!is_fpu_kern_thread(0))) \ fpu_kern_enter(curthread, NULL, FPU_KERN_NOCTX); \ From nobody Thu Apr 27 13:13:25 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6blV0XJ8z477yf; Thu, 27 Apr 2023 13:13: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 4Q6blV0521z3wtG; Thu, 27 Apr 2023 13:13:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682601206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rXxn/WiEXp4jLvgA3vPjlaaCGSlSstOsCm20tQfQrIg=; b=vVwHEy2Y169UMn9YUu84GQHQ1hachoyIFOSDc6m0STQMyNv7QM0pui4T2YrBl+VJEvYgNG 1z/kquZB/8LcKoW0Tt2llqweQY7gOsVQ9pnoJy30J8Mw5ecyIiOZiT3VCktw3jHmlEH5K2 FjUP+tE1CqAAXJqegX8OLWO977q0xn9b8kXZ2mbESVtqxo+5x0FL0LC0xw68tvzHCs/fyD +i7S8cgiuEslNZYR2XmR6FPRocFvi8ltCdTyaiFhXfkgiNvlICcHsDp/z9XcJNPwH6l6ce YAczpgObO/wEt4qLO+AjLyO+Wexzd5NNc85twuFkiDl1wVVuWm3N0Y5wynvxKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682601206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rXxn/WiEXp4jLvgA3vPjlaaCGSlSstOsCm20tQfQrIg=; b=IOLCKMq2vdzK4ZJIquntK9z23RX7OIVo3l/Yll1lnJ1qs5jnUYBJFnItpbXSK4HEN2fAwP 512YIVGZOtQdyBs+3sZegjFI5R5PpNIabKwp65RMd9EjB2cRnrBG5bzE67+B/9zfrTAL+x q/XX9aRnoRr3SY4QptIiPXIYW6grOvg7h+YbHramI0FwjedtR55voj01X/D8RyAHDF/A9s OsIPnsdZNaCOHHc+rLnp0CnbW5CS9w/nF+KIizxhteKKSumw1VQ7tE2b8tZOc949B3aW4o OC0m8y+hasRK84YMJF1+FJwubi9t97sDOEdjIdWx9MbeA8Dy3PnB2sh2WoSMAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682601206; a=rsa-sha256; cv=none; b=gR5nMNZkyFD+0LsidWWNpjIWmO8ZCfWXn262vGQ9pJppqvpoq/D31TXOQwjF2ZgsOfCyWp IiiuqVVu6qs0ycqY25QzMHvNoNxhD5LfQTrRhjQ6njBkiYwJy4reNg+II+HIU+tVbdM4PQ Euv3w3TlydDGLeMDbYCotA4MNexprt7nfj09ePGuIX26vfjPE+iaprlKwVlfA1ReSxWCvo UpwtOUJZq/5YZFVr4gy3+3u3v4tQ54bgbEhGEs7EfJY/XZFIE+/j5Q80di5Tqsinx0g/Yr euEobLeILCl6VoxcaYHOwWsqnHMRi5yMrs4imGzyZt9Yfx55xdmNp7w/vpmKHA== 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 4Q6blT6FH1zJxy; Thu, 27 Apr 2023 13:13: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 33RDDPZq062440; Thu, 27 Apr 2023 13:13:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RDDP67062439; Thu, 27 Apr 2023 13:13:25 GMT (envelope-from git) Date: Thu, 27 Apr 2023 13:13:25 GMT Message-Id: <202304271313.33RDDP67062439@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Guido Falsi Subject: git: 03d3124629e8 - main - bhyve: Disable bhyve HDA debug by default. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: madpilot X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 03d3124629e886e4721550a659a032b129ee0347 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by madpilot: URL: https://cgit.FreeBSD.org/src/commit/?id=03d3124629e886e4721550a659a032b129ee0347 commit 03d3124629e886e4721550a659a032b129ee0347 Author: Guido Falsi AuthorDate: 2023-04-03 10:45:11 +0000 Commit: Guido Falsi CommitDate: 2023-04-27 13:12:45 +0000 bhyve: Disable bhyve HDA debug by default. Adapt hda_print_cmd_ctl_data() to not generate compiler warnings when DEBUG_HDA is off. Reviewed by: corvink Approved by: corvink Differential Revision: https://reviews.freebsd.org/D39826 --- usr.sbin/bhyve/pci_hda.c | 16 +++++++++------- usr.sbin/bhyve/pci_hda.h | 1 - 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index 9e9d7ab5a626..07b0e745b0b9 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -726,17 +726,19 @@ hda_write(struct hda_softc *sc, uint32_t offset, uint8_t size, uint32_t value) return (0); } +#if DEBUG_HDA == 1 static inline void hda_print_cmd_ctl_data(struct hda_codec_cmd_ctl *p) { -#if DEBUG_HDA == 1 - const char *name = p->name; -#endif - DPRINTF("%s size: %d", name, p->size); - DPRINTF("%s dma_vaddr: %p", name, p->dma_vaddr); - DPRINTF("%s wp: 0x%x", name, p->wp); - DPRINTF("%s rp: 0x%x", name, p->rp); + DPRINTF("%s size: %d", p->name, p->size); + DPRINTF("%s dma_vaddr: %p", p->name, p->dma_vaddr); + DPRINTF("%s wp: 0x%x", p->name, p->wp); + DPRINTF("%s rp: 0x%x", p->name, p->rp); } +#else +static inline void +hda_print_cmd_ctl_data(struct hda_codec_cmd_ctl *p __unused) {} +#endif static int hda_corb_start(struct hda_softc *sc) diff --git a/usr.sbin/bhyve/pci_hda.h b/usr.sbin/bhyve/pci_hda.h index 12d80a92f60a..8b24afac4771 100644 --- a/usr.sbin/bhyve/pci_hda.h +++ b/usr.sbin/bhyve/pci_hda.h @@ -46,7 +46,6 @@ /* * HDA Debug Log */ -#define DEBUG_HDA 1 #if DEBUG_HDA == 1 extern FILE *dbg; #define DPRINTF(fmt, arg...) \ From nobody Thu Apr 27 13:13:26 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6blW1jRcz478T2; Thu, 27 Apr 2023 13:13: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 4Q6blW0rQgz3wtg; Thu, 27 Apr 2023 13:13:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682601207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=brgvhJH64CL2a+fwsgV8gGv4dlJ6MsWhtRu5LIkR4TM=; b=ZUV15yukSExRdqOE+GHJO2dsbVSutBgdlh8J7ehw7DxT31VJ8TK68YowZXiMKWs6xovI4X YYaYYg81y81cFBPuxvk/ELmzVVZ3s0unUO15H40UZPwgyryWc8XYFfXK0kANBXIyDz9yQZ K157NmhVa4MrldI8H3LtMiActbTcxkuEdFNjQFOKfGZ39OWxxE6siwbD176Ah3qQWOuLG0 mL8EV+hg6xxgtWltus/X4soaZPCnkFW+7HGjyuRlXNl1GFXfWZG8h6Q0694vUc3Y5UvMA8 LLin3XVlDETvKErzPGqA8lThRq2ZagjW7YYyyv+psfMl72qSrSQ6u7RiEa1WrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682601207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=brgvhJH64CL2a+fwsgV8gGv4dlJ6MsWhtRu5LIkR4TM=; b=NZsWX/KFGzWLulzfYc5rGtLh0SQ14KYF+RQT7sAbrhEUCPb1QINj41RHZMHdd2aWDHHuDp pqf5w3NrTFobF8J/mc5NUkyGCEuNsSXbuH52TYVwugOYq3076cT8wpTzJ1kZI2gxFCPbSo qqryQE+m9wFcLyki2e6Zr7kVmUknFbjxmnp/WffCDIXfVvUz7tsLSxQ5slGhn6xCoBu6a8 Mw0GxgSZpJSKZFXoCuQii8O80JEJshwNef4LN0dB6WSeXL2wm5odwm82R2g7Y7qdPsgnva fuEDkEMxM2h41/g/hBI+/5P3w0oA4SnY8YJeDu3v/DYIaeXW9k0Vb9mHXI4MZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682601207; a=rsa-sha256; cv=none; b=KqDdua1un7/oYaBkZm0qiuJyKHd6/541mNtEIpKcRW5Fjxuz1MD3f9YlsR6Dw0yYTn8bvo swnCzpZ0o5BGIsP9LKvI/Buqaw6n3l10qjh+tUATqtb9iKmeL7EIB+PRA/QMeAMBiGPeGl ZEhiBL/SML2DhMflswIGDTMRx7Ku7bIUMRiY2mWUxqgKcaOf+JRgdEJaDfxhAlOwtC+0w6 kpMSPABDSLkySUlBZEmMMf5oWADEF0+G5/TDjNhz66SHklRKho98uLhaQMLu7J6HMV0uCm +pLrHI1QAPUMGz+lWOQox46uU3ZAgJxro363S2AO4acTgZC37LC7Li4b/jG8Pw== 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 4Q6blV6xqqzJvX; Thu, 27 Apr 2023 13:13: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 33RDDQEB062459; Thu, 27 Apr 2023 13:13:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RDDQPe062458; Thu, 27 Apr 2023 13:13:26 GMT (envelope-from git) Date: Thu, 27 Apr 2023 13:13:26 GMT Message-Id: <202304271313.33RDDQPe062458@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Guido Falsi Subject: git: 014e03411f20 - main - bhyve: Add DEBUG_HDA_FILE define to specify location of debug output List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: madpilot X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 014e03411f209a833c94f0ee91984d9847ed6df4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by madpilot: URL: https://cgit.FreeBSD.org/src/commit/?id=014e03411f209a833c94f0ee91984d9847ed6df4 commit 014e03411f209a833c94f0ee91984d9847ed6df4 Author: Guido Falsi AuthorDate: 2023-04-27 07:49:01 +0000 Commit: Guido Falsi CommitDate: 2023-04-27 13:12:55 +0000 bhyve: Add DEBUG_HDA_FILE define to specify location of debug output Reviewed by: corvink Approved by: corvink Differential Revision: https://reviews.freebsd.org/D39826 --- usr.sbin/bhyve/pci_hda.c | 2 +- usr.sbin/bhyve/pci_hda.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index 07b0e745b0b9..4fc19c52b720 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -324,7 +324,7 @@ hda_init(nvlist_t *nvl) int err; #if DEBUG_HDA == 1 - dbg = fopen("/tmp/bhyve_hda.log", "w+"); + dbg = fopen(DEBUG_HDA_FILE, "w+"); #endif sc = calloc(1, sizeof(*sc)); diff --git a/usr.sbin/bhyve/pci_hda.h b/usr.sbin/bhyve/pci_hda.h index 8b24afac4771..ce502278bdbf 100644 --- a/usr.sbin/bhyve/pci_hda.h +++ b/usr.sbin/bhyve/pci_hda.h @@ -51,6 +51,9 @@ extern FILE *dbg; #define DPRINTF(fmt, arg...) \ do {fprintf(dbg, "%s-%d: " fmt "\n", __func__, __LINE__, ##arg); \ fflush(dbg); } while (0) +#ifndef DEBUG_HDA_FILE +#define DEBUG_HDA_FILE "/tmp/bhyve_hda.log" +#endif #else #define DPRINTF(fmt, arg...) #endif From nobody Thu Apr 27 13:46:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6cT50NcCz47Bjj; Thu, 27 Apr 2023 13:46: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 4Q6cT47409z41sN; Thu, 27 Apr 2023 13:46:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682603161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ipSXs/n6c0wn3tJtj2YoVmKymFxnqH2Brf+G8BMsq5A=; b=R1HQHfRYvgS6mWrD3fYu9A6QV6x8rDnJ48MRxiZza2gMjmX6Xs3x4+AmZGu9eUsAvbItDY D5yV55fWFeKcMeL4/O0tq55+lOXUFdTGZbYryIRWgSe0RRN95vC6iicnNr0Bmy3t2VYKiw KzYvttiLsJ9su/7+vFclJTTsLEFvYSw7xS79HKIHJ7EAPq8TweOytfYtXAdKj/0G54QQP0 c8a92eouyLtF6poS3FQkvo0Sk6jGwX2pZS1Hb+keJKczsbHMOiJ8WGUHC3y6HpALjW+inD bQrVlLObjAhmEnNrwSeez/tS8YJy+u0V9Ksjx6eO/94jaFFsIdT8vM868Qsoqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682603161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ipSXs/n6c0wn3tJtj2YoVmKymFxnqH2Brf+G8BMsq5A=; b=Tiyly3IgAIFhgP2WUW8Vtm5VuDYxwETxu4UWQp3opb3TGuxyr/AlppZjf8NtqOUddw5EuC UtdxXDFTpxXKjMDpDDZUVrZCRd7/Y/gbhVCNre2Lh2ZyHxOotamA8v4RVvdHOqN4uU9IyY U1AiCsBIr6s719cOBSy9ah2HCanekjsbJb0/ZW3uu/gKrxbd/+JlILv8zoUw4r7QLMhbfp 1jzQrBTf949Anshl5r3BVlfD82zLpABIVtHh5cwnsLWECqXfexa+H0sD3PSp5AbyI8H6dt GjijdZZv8ofO2+0mwBYiH2seFcQnspohoJ8OTHk+d/5wToYdXi90/YMehGC/Ig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682603161; a=rsa-sha256; cv=none; b=KFdx149Z0+M05DkTVQbfuDsDi65ndPMYBeIDAiAhAZAnEzsqBzFfdpYW2AERsUUXBI/RTA BP35Ke2mmK2e7dI9mtaSnNxoXH8Xv61pv33hij4seeWslhG03vnhEhePRthHsTR9NejXsu QlnfZyptYsOaI0Gw+RgPMq6+hCc6C7vQ2Qpnfv0ggyMfSmi9SLV2I4cXIuIkmS5y4MLbiF o2cG5Q7pCpu7v9tLhYCBJT6TZWTOAQTWUyL0fbv5MA2CeoZ6BoWhhRsVYDqXAcJRhtXWvo SW0dsnlgtqoKnvkw6Pam+uNAa6Aoa748PPiC5MYS22GrGVRjDFfY7arEsCoSVw== 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 4Q6cT468s7zKb7; Thu, 27 Apr 2023 13:46: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 33RDk05Y011281; Thu, 27 Apr 2023 13:46:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RDk0jV011280; Thu, 27 Apr 2023 13:46:00 GMT (envelope-from git) Date: Thu, 27 Apr 2023 13:46:00 GMT Message-Id: <202304271346.33RDk0jV011280@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: 7ee4066db129 - main - cap_net tests: Skip tests if there is no connectivity List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7ee4066db1295fe3660964c2561bef87da7431f8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7ee4066db1295fe3660964c2561bef87da7431f8 commit 7ee4066db1295fe3660964c2561bef87da7431f8 Author: Mark Johnston AuthorDate: 2023-04-27 13:42:36 +0000 Commit: Mark Johnston CommitDate: 2023-04-27 13:42:36 +0000 cap_net tests: Skip tests if there is no connectivity When testing cap_connect() and name/addr lookup functions, skip tests if we fail and the error is not ENOTCAPABLE. This makes the tests amenable to running in CI without Internet connectivity. Reviewed by: oshogbo MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D39242 --- lib/libcasper/services/cap_net/tests/net_test.c | 129 ++++++++++++++++-------- 1 file changed, 86 insertions(+), 43 deletions(-) diff --git a/lib/libcasper/services/cap_net/tests/net_test.c b/lib/libcasper/services/cap_net/tests/net_test.c index 4c5f4751902b..e5a5e938a124 100644 --- a/lib/libcasper/services/cap_net/tests/net_test.c +++ b/lib/libcasper/services/cap_net/tests/net_test.c @@ -68,21 +68,24 @@ test_getnameinfo_v4(cap_channel_t *chan, int family, const char *ip) struct sockaddr_in ipaddr; char capfn[MAXHOSTNAMELEN]; char origfn[MAXHOSTNAMELEN]; - int ret; + int capret, sysret; memset(&ipaddr, 0, sizeof(ipaddr)); ipaddr.sin_family = family; inet_pton(family, ip, &ipaddr.sin_addr); - ret = cap_getnameinfo(chan, (struct sockaddr *)&ipaddr, sizeof(ipaddr), + capret = cap_getnameinfo(chan, (struct sockaddr *)&ipaddr, sizeof(ipaddr), capfn, sizeof(capfn), NULL, 0, NI_NAMEREQD); - if (ret != 0) { - return (ret); - } + if (capret != 0 && capret == ENOTCAPABLE) + return (ENOTCAPABLE); - ret = getnameinfo((struct sockaddr *)&ipaddr, sizeof(ipaddr), origfn, + sysret = getnameinfo((struct sockaddr *)&ipaddr, sizeof(ipaddr), origfn, sizeof(origfn), NULL, 0, NI_NAMEREQD); - ATF_REQUIRE(ret == 0); + if (sysret != 0) { + atf_tc_skip("getnameinfo(%s) failed: %s", + ip, gai_strerror(sysret)); + } + ATF_REQUIRE(capret == 0); ATF_REQUIRE(strcmp(origfn, capfn) == 0); return (0); @@ -94,21 +97,24 @@ test_getnameinfo_v6(cap_channel_t *chan, const char *ip) struct sockaddr_in6 ipaddr; char capfn[MAXHOSTNAMELEN]; char origfn[MAXHOSTNAMELEN]; - int ret; + int capret, sysret; memset(&ipaddr, 0, sizeof(ipaddr)); ipaddr.sin6_family = AF_INET6; inet_pton(AF_INET6, ip, &ipaddr.sin6_addr); - ret = cap_getnameinfo(chan, (struct sockaddr *)&ipaddr, sizeof(ipaddr), + capret = cap_getnameinfo(chan, (struct sockaddr *)&ipaddr, sizeof(ipaddr), capfn, sizeof(capfn), NULL, 0, NI_NAMEREQD); - if (ret != 0) { - return (ret); - } + if (capret != 0 && capret == ENOTCAPABLE) + return (ENOTCAPABLE); - ret = getnameinfo((struct sockaddr *)&ipaddr, sizeof(ipaddr), origfn, + sysret = getnameinfo((struct sockaddr *)&ipaddr, sizeof(ipaddr), origfn, sizeof(origfn), NULL, 0, NI_NAMEREQD); - ATF_REQUIRE(ret == 0); + if (sysret != 0) { + atf_tc_skip("getnameinfo(%s) failed: %s", + ip, gai_strerror(sysret)); + } + ATF_REQUIRE(capret == 0); ATF_REQUIRE(strcmp(origfn, capfn) == 0); return (0); @@ -135,13 +141,14 @@ test_gethostbyaddr_v4(cap_channel_t *chan, int family, const char *ip) inet_pton(AF_INET, ip, &ipaddr); caphp = cap_gethostbyaddr(chan, &ipaddr, sizeof(ipaddr), family); - if (caphp == NULL) { - return (h_errno); - } + if (caphp == NULL && h_errno == ENOTCAPABLE) + return (ENOTCAPABLE); orighp = gethostbyaddr(&ipaddr, sizeof(ipaddr), family); - ATF_REQUIRE(orighp != NULL); - ATF_REQUIRE(strcmp(caphp->h_name, caphp->h_name) == 0); + if (orighp == NULL) + atf_tc_skip("gethostbyaddr(%s) failed", ip); + ATF_REQUIRE(caphp != NULL); + ATF_REQUIRE(strcmp(orighp->h_name, caphp->h_name) == 0); return (0); } @@ -156,12 +163,14 @@ test_gethostbyaddr_v6(cap_channel_t *chan, const char *ip) inet_pton(AF_INET6, ip, &ipaddr); caphp = cap_gethostbyaddr(chan, &ipaddr, sizeof(ipaddr), AF_INET6); - if (caphp == NULL) - return (h_errno); + if (caphp == NULL && h_errno == ENOTCAPABLE) + return (ENOTCAPABLE); orighp = gethostbyaddr(&ipaddr, sizeof(ipaddr), AF_INET6); - ATF_REQUIRE(orighp != NULL); - ATF_REQUIRE(strcmp(caphp->h_name, caphp->h_name) == 0); + if (orighp == NULL) + atf_tc_skip("gethostbyaddr(%s) failed", ip); + ATF_REQUIRE(caphp != NULL); + ATF_REQUIRE(strcmp(orighp->h_name, caphp->h_name) == 0); return (0); } @@ -183,19 +192,21 @@ test_getaddrinfo(cap_channel_t *chan, int family, const char *domain, { struct addrinfo hints, *capres, *origres, *res0, *res1; bool found; - int ret; + int capret, sysret; memset(&hints, 0, sizeof(hints)); hints.ai_family = family; hints.ai_socktype = SOCK_STREAM; - ret = cap_getaddrinfo(chan, domain, servname, &hints, &capres); - if (ret != 0) { - return (ret); - } + capret = cap_getaddrinfo(chan, domain, servname, &hints, &capres); + if (capret != 0 && capret == ENOTCAPABLE) + return (capret); - ret = getaddrinfo(domain, servname, &hints, &origres); - ATF_REQUIRE(ret == 0); + sysret = getaddrinfo(domain, servname, &hints, &origres); + if (sysret != 0) + atf_tc_skip("getaddrinfo(%s) failed: %s", + domain, gai_strerror(sysret)); + ATF_REQUIRE(capret == 0); for (res0 = capres; res0 != NULL; res0 = res0->ai_next) { found = false; @@ -221,14 +232,15 @@ test_gethostbyname(cap_channel_t *chan, int family, const char *domain) struct hostent *caphp, *orighp; caphp = cap_gethostbyname2(chan, domain, family); - if (caphp == NULL) { + if (caphp == NULL && h_errno == ENOTCAPABLE) return (h_errno); - } orighp = gethostbyname2(domain, family); - ATF_REQUIRE(orighp != NULL); - ATF_REQUIRE(strcmp(caphp->h_name, orighp->h_name) == 0); + if (orighp == NULL) + atf_tc_skip("gethostbyname2(%s) failed", domain); + ATF_REQUIRE(caphp != NULL); + ATF_REQUIRE(strcmp(caphp->h_name, orighp->h_name) == 0); return (0); } @@ -259,7 +271,7 @@ test_connect(cap_channel_t *chan, const char *ip, unsigned short port) int capfd, ret, serrno; capfd = socket(AF_INET, SOCK_STREAM, 0); - ATF_REQUIRE(capfd > 0); + ATF_REQUIRE(capfd >= 0); memset(&ipv4, 0, sizeof(ipv4)); ipv4.sin_family = AF_INET; @@ -268,7 +280,31 @@ test_connect(cap_channel_t *chan, const char *ip, unsigned short port) ret = cap_connect(chan, capfd, (struct sockaddr *)&ipv4, sizeof(ipv4)); serrno = errno; - close(capfd); + ATF_REQUIRE(close(capfd) == 0); + + if (ret < 0 && serrno != ENOTCAPABLE) { + int sd; + + /* + * If the connection failed, it might be because we can't reach + * the destination host. To check, try a plain connect() and + * see if it fails with the same error. + */ + sd = socket(AF_INET, SOCK_STREAM, 0); + ATF_REQUIRE(sd >= 0); + + memset(&ipv4, 0, sizeof(ipv4)); + ipv4.sin_family = AF_INET; + ipv4.sin_port = htons(port); + inet_pton(AF_INET, ip, &ipv4.sin_addr); + ret = connect(sd, (struct sockaddr *)&ipv4, sizeof(ipv4)); + ATF_REQUIRE(ret < 0); + ATF_REQUIRE_MSG(errno == serrno, "errno %d != serrno %d", + errno, serrno); + ATF_REQUIRE(close(sd) == 0); + atf_tc_skip("connect(%s:%d) failed: %s", + ip, port, strerror(serrno)); + } return (ret < 0 ? serrno : 0); } @@ -1192,6 +1228,7 @@ ATF_TC_BODY(capnet__limits_connecttodns, tc) cap_net_limit_t *limit; struct addrinfo hints, *capres, *res; int family[] = { AF_INET }; + int error; capnet = create_network_service(); @@ -1220,9 +1257,12 @@ ATF_TC_BODY(capnet__limits_connecttodns, tc) s = socket(res->ai_family, res->ai_socktype, res->ai_protocol); ATF_REQUIRE(s >= 0); - ATF_REQUIRE(cap_connect(capnet, s, res->ai_addr, - res->ai_addrlen) == 0); - close(s); + error = cap_connect(capnet, s, res->ai_addr, + res->ai_addrlen); + if (error != 0 && errno != ENOTCAPABLE) + atf_tc_skip("unable to connect: %s", strerror(errno)); + ATF_REQUIRE(error == 0); + ATF_REQUIRE(close(s) == 0); } freeaddrinfo(capres); @@ -1239,7 +1279,7 @@ ATF_TC_BODY(capnet__limits_deprecated_connecttodns, tc) struct in_addr ipaddr; struct sockaddr_in connaddr; int family[] = { AF_INET }; - int i; + int error, i; capnet = create_network_service(); @@ -1271,9 +1311,12 @@ ATF_TC_BODY(capnet__limits_deprecated_connecttodns, tc) (char *)caphp->h_addr_list[i], caphp->h_length); connaddr.sin_port = htons(80); - ATF_REQUIRE(cap_connect(capnet, s, (struct sockaddr *)&connaddr, - sizeof(connaddr)) == 0); - close(s); + error = cap_connect(capnet, s, (struct sockaddr *)&connaddr, + sizeof(connaddr)); + if (error != 0 && errno != ENOTCAPABLE) + atf_tc_skip("unable to connect: %s", strerror(errno)); + ATF_REQUIRE(error == 0); + ATF_REQUIRE(close(s) == 0); } cap_close(capnet); From nobody Thu Apr 27 16:45:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6hSg1FdDz47Q0F; Thu, 27 Apr 2023 16:45: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 4Q6hSg0qWrz3jls; Thu, 27 Apr 2023 16:45:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682613955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pe0kCytzjmKa9jEv3dF26WjV/ygrfS1edBv0y0OIfLw=; b=QS/GLsyZq2M4NadCGycs590YUhnVEmgsZl5paYvkZbRSI6TzyRQ+UCG/qxlTAKErSNcdN2 Y8c7blBfKSQsWAjEueECINzGecfzSA9IneIzT1yAIHHQ0fVbo/5B33DHVuUdMdeZOtc6ex jjeNOUgnorik+bEDxlGD7AIwQGib3MX5zjMWpKSJRwqFP8a8PuqZGutKoEaTQBOJg85Bhg zcXQaeFTlcb2rLscgTLe9CWv5B7p2iZKPt0v2di0Dw7aGqypBe6rka+fqZbirzbMVcQD6z 9J4i0bscwR3arbAkNQUcdJpqwYYSsXFmzWiIFG50oH0dtXKoq75t6fzCOi7r6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682613955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pe0kCytzjmKa9jEv3dF26WjV/ygrfS1edBv0y0OIfLw=; b=Bxf/BqMniq9REGvrnPZdaOhclUW35d1MszGQGOjNg0VGNJQbBZ/PaEV5hJaNxAIKj5FlRh cmeIuqgXsCgNOsdw9fzn1ZfYRYQxU6DslHNE4VVhzvSwRfVQ9bueFYwvGztoRD9OlOAG+d mHXEW22HItPISY0nzjadDrRW95dNBH6Y9JqyRUu+BIBY56V+WQXomyGa8qYN5dlbHAJUy4 bgejdyqJYV8sHrbKwhKG2a20A0Ox78FQa2SJzU1yh7ULjdJYKlvQBw5PSee/nMNX2ImnG1 gRPBJ7S/hhDi6GcmOW74plKlb2n409+pDsIc8b8nN26H93YdLkMrlfoQ0f8kVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682613955; a=rsa-sha256; cv=none; b=Z1G6VCHYne8zpjts1KZwlRoLJNLIKf7+I9yeRLOziXx5frAFL7qbQvBmKyvCiizHSNmkWa NfFknbn2H4g0YoxO8U4JzTiakkTdg1JbppvuVueKghMGm/9EDYwMtTvYwroy7ubJcpMGtD Ycds1wQBm1ubakzOvT+RI5CQbBUWi3SwexCiwr3hLmH4ZgoJO/svTLO2iRDG4igkkRCdf3 p5TvHH7zmuYZxGPPSSlfCsQaOaufDzDpUmNhH/UcLWAUxg1WcNx+qsrHDhFqK7e+M2lhi8 P8cOpyasB3l5UNSHhE2YVApN6OvdVMqP1hWW5NB7yssFz9ENG+BTJl2bY+38UQ== 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 4Q6hSf70kKzQ3R; Thu, 27 Apr 2023 16:45: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 33RGjs06013996; Thu, 27 Apr 2023 16:45:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RGjsNm013995; Thu, 27 Apr 2023 16:45:54 GMT (envelope-from git) Date: Thu, 27 Apr 2023 16:45:54 GMT Message-Id: <202304271645.33RGjsNm013995@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 170520f88229 - stable/13 - openssh: restore PrintLastLog option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 170520f882297617eaee7665a6813d03243e87a4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=170520f882297617eaee7665a6813d03243e87a4 commit 170520f882297617eaee7665a6813d03243e87a4 Author: Ed Maste AuthorDate: 2023-04-20 00:09:13 +0000 Commit: Ed Maste CommitDate: 2023-04-27 16:45:37 +0000 openssh: restore PrintLastLog option Upstream's autoconf sets DISABLE_LASTLOG if lastlog.ll_line does not exist, but PrintLastLog also works with utmpx and other mechanisms. Reported upstream at https://lists.mindrot.org/pipermail/openssh-unix-dev/2022-May/040242.html PR: 209441 Sponsored by: The FreeBSD Foundation (cherry picked from commit 43c6b7a60aff069da7e0ba6c87d3d7a532e812f6) (cherry picked from commit 170511589e4d15a27ee92979691cfc1b26929bb7) --- crypto/openssh/config.h | 2 +- crypto/openssh/configure.ac | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/openssh/config.h b/crypto/openssh/config.h index 5c8728058c99..499184edf269 100644 --- a/crypto/openssh/config.h +++ b/crypto/openssh/config.h @@ -113,7 +113,7 @@ /* #undef DISABLE_FD_PASSING */ /* Define if you don't want to use lastlog */ -#define DISABLE_LASTLOG 1 +/* #undef DISABLE_LASTLOG */ /* Define if you don't want to use your system's login() call */ /* #undef DISABLE_LOGIN */ diff --git a/crypto/openssh/configure.ac b/crypto/openssh/configure.ac index c5060c59ddf4..33d037c3f7ac 100644 --- a/crypto/openssh/configure.ac +++ b/crypto/openssh/configure.ac @@ -1037,6 +1037,7 @@ mips-sony-bsd|mips-sony-newsos4) [NetBSD read function is sometimes redirected, breaking atomicio comparisons against it]) ;; *-*-freebsd*) + SKIP_DISABLE_LASTLOG_DEFINE=yes AC_DEFINE([LOCKED_PASSWD_PREFIX], ["*LOCKED*"], [Account locked with pw(1)]) AC_DEFINE([SSH_TUN_FREEBSD], [1], [Open tunnel devices the FreeBSD way]) AC_CHECK_HEADER([net/if_tap.h], , From nobody Thu Apr 27 16:47:57 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6hW20jj5z47Pb0; Thu, 27 Apr 2023 16:47: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 4Q6hW2056vz3kGY; Thu, 27 Apr 2023 16:47:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682614078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kXTAY2dtxkCx4cfxRgY16gkZmZ8D9eoTwebEc38t4EQ=; b=Bkp5qkFvTOjoDepQ0BQXuXZZG8ZhQqoAM6M4c5Y7+Ws60jIhF3UN6FVqbnKuG9z1+iqMtV XS3VXfqKJkraVnGKXku95mcYdnKamGoWt/vC3/1jdXk7jsVieGPDx3yqoNVGLh36y27QEF N4lJQ/7uebWVuCiOSORbnEak5GcL2a/ACaBjGrjt6JTDIxC+ciNxB0jmMbs5cA1q8dlW+Q wKz/H4GzYfDLY+V451vrY9svgtAFn2an1D+j1AZXGV8uSN3r7giARC+iJU7kUAe/u7OiGv HFTuv9Ia9scJeMf15568f9tdhpJ9671lchSTYEgQBBPl/7FaQNZPt2jUc4hsjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682614078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kXTAY2dtxkCx4cfxRgY16gkZmZ8D9eoTwebEc38t4EQ=; b=LxArcASHz/bzWMriaGHzQejzgWwPLSV1jzAvtw4mqm6ow44pltTDHI2EWUJOayqGBVOos9 ZnwnNMz8dY0+p1naVtG8mDb6ZkfjhThmxoTDPCMohA/rJAU27KUrNQQNhZv/Lq9NqraXFG z4wvSob6TjBBXSNl6dNY1wACJk6m+Rm7bXwauX3V+EMx2y7wMiNx6Mh9oxJjYFuA2a40Vk AYM3jptoo2rENhYHnuXxlXb6BJHx+ZCRgpBOPLmj42N3B6SU+QFJZ8MuP4tUChOdWrzpNm yE9EXHPulDV5VZAPrkMSPjL0Q6zyIpGYf99hRxf51pGDwMaqueAsZMXekVDmxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682614078; a=rsa-sha256; cv=none; b=sENXNz9y8TZ+s6x6Hz2PzyECcv4Zlpx1WRmNSROsQmCKMOCiJn0ZX/RfzD0fOMIIFjkNrd 81R9UwkorOfQ4c85yRAKGLEsk1a3XnUVVR7ctYBKQk4lN+54vHCYoLykqfccMhCe1ybxVl sbNPMMIhXXjts55AeVBxUKSW4/GuodYqqIzjDVjRu/Vquju3tOJ89k3vsf7AMYoXgxrVx9 MiiThYH+jfazFcCMyXGU0X0ieTsAPNHgQjqy8p3VOdrYnyjnQcvSoGEcMM5vOrg2Sc33X9 QA2MYvdF7KGLIih39uZTSu+AqvREUKMaQA7c5OkEaaiWf/qKcYefLwmPcwURLg== 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 4Q6hW16DvMzQT6; Thu, 27 Apr 2023 16:47: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 33RGlvfH014415; Thu, 27 Apr 2023 16:47:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RGlv63014414; Thu, 27 Apr 2023 16:47:57 GMT (envelope-from git) Date: Thu, 27 Apr 2023 16:47:57 GMT Message-Id: <202304271647.33RGlv63014414@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Eugene Grosbein Subject: git: 83fd35b3f3fa - main - logger(1): fix timestamps in case of long run List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 83fd35b3f3fa580d2b99874abd1f67ee61dcb659 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=83fd35b3f3fa580d2b99874abd1f67ee61dcb659 commit 83fd35b3f3fa580d2b99874abd1f67ee61dcb659 Author: Eugene Grosbein AuthorDate: 2023-04-27 16:43:16 +0000 Commit: Eugene Grosbein CommitDate: 2023-04-27 16:43:16 +0000 logger(1): fix timestamps in case of long run An example: ( echo test; sleep 2; echo test2 ) | logger -h /var/run/log Before fix, logger assigned same timestamp to both records. Fixes: 65547fb33db901a9f352aacb0ed45ce68b0bd275 Reported by: Vadim Goncharov MFC after: 1 week --- usr.bin/logger/logger.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/usr.bin/logger/logger.c b/usr.bin/logger/logger.c index 1ce8d81db6f6..32fda60717d6 100644 --- a/usr.bin/logger/logger.c +++ b/usr.bin/logger/logger.c @@ -198,22 +198,23 @@ main(int argc, char *argv[]) if (host == NULL) cap_openlog(capsyslog, tag, logflags, 0); - (void )time(&now); - (void )ctime_r(&now, tbuf); - tbuf[19] = '\0'; - timestamp = tbuf + 4; - if (hostname == NULL) { hostname = hbuf; (void )gethostname(hbuf, MAXHOSTNAMELEN); *strchrnul(hostname, '.') = '\0'; } + timestamp = tbuf + 4; + /* log input line if appropriate */ if (argc > 0) { char *p, *endp; size_t len; + (void )time(&now); + (void )ctime_r(&now, tbuf); + tbuf[19] = '\0'; + for (p = buf, endp = buf + sizeof(buf) - 2; *argv;) { len = strlen(*argv); if (p + len > endp && p > buf) { @@ -235,9 +236,14 @@ main(int argc, char *argv[]) logmessage(pri, timestamp, hostname, tag, socks, nsock, buf); } else - while (fgets(buf, sizeof(buf), stdin) != NULL) + while (fgets(buf, sizeof(buf), stdin) != NULL) { + (void )time(&now); + (void )ctime_r(&now, tbuf); + tbuf[19] = '\0'; + logmessage(pri, timestamp, hostname, tag, socks, nsock, buf); + } exit(0); } From nobody Thu Apr 27 16:48:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6hWw4JxCz47Q1b; Thu, 27 Apr 2023 16:48: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 4Q6hWw2xvtz3kns; Thu, 27 Apr 2023 16:48:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682614124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KfyW//Ez7AaLMTbKvVw/uQYYWsulyioaSFeswrxbBFk=; b=O3m6DE6Gk/AqmZz9UsWNNNUZHBNklZtXN4M8PjxODB++vr3U+ZGAJwcqWsn4U1N3Vlj4QJ u87lvtPwFt35d88Z769Cv1O20EsTesWWb1DyEcz4lCmkYlDMPa91nipEJxkocUPCYr+FDM hvEzzU7l/ey+WFjNnvNhiI96ElBDMFV8lUYaoWR/OJpu9C90pnGzSTwuE/ABuXGkVv2Clz D2Hme/NW9kfyDUJR5+IngGuh9i97U4Nyh2xp8qITNhSnmCjXOrJJ3jq6hNYP54341gYyMQ f42ygpFP3bZUYtJwr0ozs/C8+tW/s4mhGuQB0rVEfB8oa85cKzpQo4yfj/1DFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682614124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KfyW//Ez7AaLMTbKvVw/uQYYWsulyioaSFeswrxbBFk=; b=CQ4JGF5jAbqj3H7pfivsirLfS4hx/c2281O1T6UHfwAuwRUcvbMBTPklTX8W4T/nTvuWz8 gCFL2qXjWO19TCNxLSpSXkgV6qjkhVGv8OELD53v39XFqDRfHbPynuwWGBUVvuleuyXOVq iqn7SDfBe7W6NMcoB8ggBxEkCKT5uXKFAHVw2/gBJmqCQvPomn2ZnTJ4Dkao4UXNc5gpmK NQtXDifuzPN7EAedgO8b465UqDt2JFqSMwAPjGBBpncgSFTsxW4xG24jdiET/FWjjSnY5q jBOUb5mH0uiq4X5vIxx4D1lU460pcUWdZYY8JX3NOxWGhZqp+CWJY/2og7TcJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682614124; a=rsa-sha256; cv=none; b=DNBhD1wyN31RRmfOcIc7ArxkWvcPoZmDmcoa4XSDd6Gz7cY48o6Z6Fbol2C4JlvgGmJkDq DtBpJzjCrPYW9TGpiBhLXm9F5CnY7Ue3/CqOe5XfrPpl4+uweo7LL7CzUxrgXKgPePmkVI oOBr8kELMOefkwlImy/NOp6FHhpwinbKBKbUtvwGfBLem01N6RWITlqTIKM7M6RVeGF5nw o5ZefzJHhI96E4WFmId8t0maa6DaGVptHyfQf8HR1lmgrdqepXW+bpveuj30ghusbV0JHK x3CnzVvVEoXMvQQ7dU8e1KCDTU0PBlWvv38loRvppcFmYNdkeGxTn2qC7z7M7Q== 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 4Q6hWw224GzPwL; Thu, 27 Apr 2023 16:48: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 33RGmiiY014612; Thu, 27 Apr 2023 16:48:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RGmiC7014611; Thu, 27 Apr 2023 16:48:44 GMT (envelope-from git) Date: Thu, 27 Apr 2023 16:48:44 GMT Message-Id: <202304271648.33RGmiC7014611@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 545163d9bc9c - stable/12 - openssh: restore PrintLastLog option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 545163d9bc9c807cad78577bfe3346efb2d02482 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=545163d9bc9c807cad78577bfe3346efb2d02482 commit 545163d9bc9c807cad78577bfe3346efb2d02482 Author: Ed Maste AuthorDate: 2023-04-20 00:09:13 +0000 Commit: Ed Maste CommitDate: 2023-04-27 16:48:33 +0000 openssh: restore PrintLastLog option Upstream's autoconf sets DISABLE_LASTLOG if lastlog.ll_line does not exist, but PrintLastLog also works with utmpx and other mechanisms. Reported upstream at https://lists.mindrot.org/pipermail/openssh-unix-dev/2022-May/040242.html PR: 209441 Sponsored by: The FreeBSD Foundation (cherry picked from commit 43c6b7a60aff069da7e0ba6c87d3d7a532e812f6) (cherry picked from commit 170511589e4d15a27ee92979691cfc1b26929bb7) (cherry picked from commit 170520f882297617eaee7665a6813d03243e87a4) --- crypto/openssh/config.h | 2 +- crypto/openssh/configure.ac | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/openssh/config.h b/crypto/openssh/config.h index e267ba122719..c40746f48410 100644 --- a/crypto/openssh/config.h +++ b/crypto/openssh/config.h @@ -113,7 +113,7 @@ /* #undef DISABLE_FD_PASSING */ /* Define if you don't want to use lastlog */ -#define DISABLE_LASTLOG 1 +/* #undef DISABLE_LASTLOG */ /* Define if you don't want to use your system's login() call */ /* #undef DISABLE_LOGIN */ diff --git a/crypto/openssh/configure.ac b/crypto/openssh/configure.ac index 56da82b81756..ef1a3c559ece 100644 --- a/crypto/openssh/configure.ac +++ b/crypto/openssh/configure.ac @@ -1016,6 +1016,7 @@ mips-sony-bsd|mips-sony-newsos4) [NetBSD read function is sometimes redirected, breaking atomicio comparisons against it]) ;; *-*-freebsd*) + SKIP_DISABLE_LASTLOG_DEFINE=yes AC_DEFINE([LOCKED_PASSWD_PREFIX], ["*LOCKED*"], [Account locked with pw(1)]) AC_DEFINE([SSH_TUN_FREEBSD], [1], [Open tunnel devices the FreeBSD way]) AC_CHECK_HEADER([net/if_tap.h], , From nobody Thu Apr 27 16:52:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6hch6M4gz47PwS; Thu, 27 Apr 2023 16: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 4Q6hch5sNtz3m72; Thu, 27 Apr 2023 16: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=1682614372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sX8eEqdfUIl7hOdF/Owdh4pmtQ+CDJCcQSUKOXA7lL8=; b=xiP/umW2gpz3Wc9EMn2I05lAKWFf7Ow6g0UPHzVUyu1oj5iRGVYelsVxRwWz9NvCpCd81s ncJlMvNu4/W5KlVm/butmiDhYIfHtVlnyewlV+Rq0ybTkJ30EKxzA7zpq32gu5NkyfCleI 1ooqsa2GUUKepQZlUsMfORDLpbJwgHGnH0npmOg3NuPO0UojL2+t8sG0IwBYv8vpaTCGDJ W8Mg+39Qa3sV31/T+fpc2Qyehk8paZN+hwdwYEw3JOI+XSaYlzXYou7cprtd9td+HFvnjA e1xuAWtlEPfAoex/SVQrRTvnBSz24rss5kGTvXYelZrc65kPT5XisO48ukZzmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682614372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sX8eEqdfUIl7hOdF/Owdh4pmtQ+CDJCcQSUKOXA7lL8=; b=OHIaBdyhHY+AYDaOiVHA/NC3f52To2wu+UHcosw/jhDpA5VODSpxEVulmN5HOfNRGZhwFO tyfWT6CvFz6X0MpKGRgoEnZtEGey0cv5sLRd/gzYHWmnbDUw3Im+B6CBuPowqdnQm+KyrA cJlhDCRHv9aUAfAVS7HmpbSX1wq/ikSXdnikWZ621np/CR0lsFuw2w7uFy4SYsjwW+qS++ OuPi3AYG4UW5nyv0j9JAucXqB7uJ7VDJMyPnSCmn8YUVaTfvvLqKE2z9fktGZIQI2HMPwl 5KtIGutD5Fd5rajB9MNuNRxfRm6Y1KFmsdp0nLmY/Thi0O1InkOjoHZkfOkcCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682614372; a=rsa-sha256; cv=none; b=heIi9KbJaNG6p/BzSD2+fJRG2M46TLjp2KdPkGr+N0EmW39XRm8aNQ1sn7p63A3nWuXzgI ySsCoJAtfTPjubzE9kFRgKYXtUFWEd2n3P97UbOWohoxJ4PDqsj0uBbZizrDzIUmW75Gwv TuoWapSz0GFWJ4I185sCXKYEX1Xg8jzNzNU2PstlPgdVBcu+ob0ayFdf/1+DrQJQq5Ink3 a+U8fbF2QEGmyr2qCqtN/r5dz2bXtTQ1o+fYekGOw+PZ0eMrRtPLM+J20PaCDAqtBEY8wA Cn2bg5KP/p3LCWWQwTLvUjk2XsH7dZHG3HE+msOlKBQpTjjegbohrUICGTRhaw== 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 4Q6hch4xGKzPyn; Thu, 27 Apr 2023 16:52:52 +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 33RGqq0e030208; Thu, 27 Apr 2023 16: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 33RGqqH3030207; Thu, 27 Apr 2023 16:52:52 GMT (envelope-from git) Date: Thu, 27 Apr 2023 16:52:52 GMT Message-Id: <202304271652.33RGqqH3030207@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: d74a8305b0ca - stable/13 - makefs: call brelse from bread List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d74a8305b0ca1b12b16b92146e8e40440d4e408e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d74a8305b0ca1b12b16b92146e8e40440d4e408e commit d74a8305b0ca1b12b16b92146e8e40440d4e408e Author: Ed Maste AuthorDate: 2023-03-13 21:00:20 +0000 Commit: Ed Maste CommitDate: 2023-04-27 16:45:37 +0000 makefs: call brelse from bread This matches NetBSD and rationalizes makefs with the kernel API. This reverts commit 370e009188ba90c3290b1479aa06ec98b66e140a. Reviewed by: mckusick Sponsored by: The FreeBSD Foundation Obtained from: NetBSD 0a62dad69f62, 0c4125e1a19f, cb6a5a3575fd Differential Revision: https://reviews.freebsd.org/D39070 (cherry picked from commit e5551216d8e563043248bc7f3cb1c75b2dbd9791) --- usr.sbin/makefs/ffs.c | 1 - usr.sbin/makefs/ffs/buf.c | 25 +++++++++++++++---------- usr.sbin/makefs/msdos/msdosfs_vnops.c | 1 - 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/usr.sbin/makefs/ffs.c b/usr.sbin/makefs/ffs.c index 448aa08b9d21..1eafa2bd00ef 100644 --- a/usr.sbin/makefs/ffs.c +++ b/usr.sbin/makefs/ffs.c @@ -1002,7 +1002,6 @@ ffs_write_file(union dinode *din, uint32_t ino, void *buf, fsinfo_t *fsopts) errno = bwrite(bp); if (errno != 0) goto bad_ffs_write_file; - brelse(bp); if (!isfile) p += chunk; } diff --git a/usr.sbin/makefs/ffs/buf.c b/usr.sbin/makefs/ffs/buf.c index 11b7c4b0f1f8..6caa3fd4fbc6 100644 --- a/usr.sbin/makefs/ffs/buf.c +++ b/usr.sbin/makefs/ffs/buf.c @@ -127,26 +127,31 @@ bwrite(struct buf *bp) { off_t offset; ssize_t rv; + size_t bytes; + int e; fsinfo_t *fs = bp->b_fs; assert (bp != NULL); offset = (off_t)bp->b_blkno * fs->sectorsize + fs->offset; + bytes = (size_t)bp->b_bcount; if (debug & DEBUG_BUF_BWRITE) - printf("%s: blkno %lld offset %lld bcount %ld\n", __func__, - (long long)bp->b_blkno, (long long) offset, - bp->b_bcount); - if (lseek(bp->b_fs->fd, offset, SEEK_SET) == -1) + printf("%s: blkno %lld offset %lld bcount %zu\n", __func__, + (long long)bp->b_blkno, (long long) offset, bytes); + if (lseek(bp->b_fs->fd, offset, SEEK_SET) == -1) { + brelse(bp); return (errno); - rv = write(bp->b_fs->fd, bp->b_data, bp->b_bcount); + } + rv = write(bp->b_fs->fd, bp->b_data, bytes); + e = errno; if (debug & DEBUG_BUF_BWRITE) printf("%s: write %ld (offset %lld) returned %lld\n", __func__, bp->b_bcount, (long long)offset, (long long)rv); - if (rv == bp->b_bcount) + brelse(bp); + if (rv == (ssize_t)bytes) return (0); - else if (rv == -1) /* write error */ - return (errno); - else /* short write ? */ - return (EAGAIN); + if (rv == -1) /* write error */ + return (e); + return (EAGAIN); } void diff --git a/usr.sbin/makefs/msdos/msdosfs_vnops.c b/usr.sbin/makefs/msdos/msdosfs_vnops.c index 198efae31a0e..ff470576ee79 100644 --- a/usr.sbin/makefs/msdos/msdosfs_vnops.c +++ b/usr.sbin/makefs/msdos/msdosfs_vnops.c @@ -501,7 +501,6 @@ msdosfs_wfile(const char *path, struct denode *dep, fsnode *node) cpsize = MIN((nsize - offs), blsize - on); memcpy(bp->b_data + on, dat + offs, cpsize); bwrite(bp); - brelse(bp); offs += cpsize; } From nobody Thu Apr 27 16:52:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6hck09ljz47QNx; Thu, 27 Apr 2023 16: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 4Q6hcj6pQzz3m1w; Thu, 27 Apr 2023 16: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=1682614374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iYLdbBIqpAhMb68Ieazr+wqWpM65k3oIN9u/GZR9HiA=; b=U2uehXqMIPqwVPVqVgNBepfvbyWyix8TFGpXXmw/Z7yriAIcK7bmHttJ7zZ4w4r4HSjPH1 pbjl17dO/ssT9vu7+p6dUz0DQfwF4RmY4/C+fPSln/zqgLrrRshKruv35vqWCj038LA0ZJ c8osq+AfEOQsdJQyKLQLv5bXDG3Y/z6+tBeDxNuIoHBKzm9o0RXT1St/1gPdySp4P6JgX9 lMNo+sDFCETgUeN/FOnAfpPLeJPCICBGzjH7ZvzJCTbIEdZ32aI502szPyFUkKtKk17M4T zkHFN+9uhIP8Q1sqcLW3gmXYF8s3BStA6I8aAQhord8+kNMdc8JXXCHp84NuGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682614374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iYLdbBIqpAhMb68Ieazr+wqWpM65k3oIN9u/GZR9HiA=; b=qxHQ7xcqJLIzLSBDNcTpLgBwqgufhfHA5FDTavvXES0EY2BeLRdc5v8T7ua9i0DuzWWuuy kfsGhxnY3UVVqYUxcZHKzeSJVOfBOd37lFAkg7Kx/j73Bm3Y2bcVhsU1gJFSWdcM5/qjL5 ObH2HOVTdVqDnPr8s0fSWGg/THLYbRGRs2snDfeGEOcW39ru3eVm5EUXBnkKKLpycZFZdt SQcZC7JcNRORTNxZlKLODnCgBN93n3eE/F5V4CBTBBrJZSXG7YxqlbJFofxS6hAmlBatq+ GwZnjOBVUpr+5psASSa/fhXau1IYKX3A6nYk6ehoupwTTwfFMpkkZnMKKZibfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682614374; a=rsa-sha256; cv=none; b=aclWZgiyG3lI1U2XEd2hFiVc7W30utZTTniwJcoPEjm758Pg2QME0MkV9iAA/OQQwHm/jQ 0MTDoFUzHlYirg+/rBhZF0uy5Do4nsS06x2Z7WzuL9Nt9KazmqId8NreUenmEQOn+YTtJ3 83h9ZJLFr7J7Dc9M7FLrlnSFCKqKtMZFwSHwup3BcbrWjzP6Us519mvhlry3GID/+Os/Zq MUVQRsGojwtEvFKcLSS4XsYzPRtTDqZ3qAQqxytm+36zcxXlwuk1QWOz3qAoKr05/bnDMr JCvzm7RZ0Ez6EvYGjp5qgUZndX4AE2fFIMP+WpD9IoOCDTwgHlMr51XtXiXQ8g== 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 4Q6hcj5sW4zQXM; Thu, 27 Apr 2023 16: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 33RGqrTd030227; Thu, 27 Apr 2023 16: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 33RGqrCQ030226; Thu, 27 Apr 2023 16:52:53 GMT (envelope-from git) Date: Thu, 27 Apr 2023 16:52:53 GMT Message-Id: <202304271652.33RGqrCQ030226@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 0001406ae235 - stable/13 - makefs: set cd9660 Rock Ridge timestamps for . and .. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0001406ae235412745951ecf5832c688ee6079da Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0001406ae235412745951ecf5832c688ee6079da commit 0001406ae235412745951ecf5832c688ee6079da Author: Ed Maste AuthorDate: 2023-04-18 13:57:29 +0000 Commit: Ed Maste CommitDate: 2023-04-27 16:45:37 +0000 makefs: set cd9660 Rock Ridge timestamps for . and .. DOT and DOTDOT entries have special handling, and previously only Rock Ridge PX (POSIX attributes) entries were attached. Add TF (timestamp) entries as well. PR: 203531 Reported by: Thomas Schmitt Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39662 (cherry picked from commit dd9059b3e9a1711d54c1d511a2cbb23e6e23f556) --- usr.sbin/makefs/cd9660/iso9660_rrip.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/usr.sbin/makefs/cd9660/iso9660_rrip.c b/usr.sbin/makefs/cd9660/iso9660_rrip.c index 1107688aa21e..e1b8fc993a3a 100644 --- a/usr.sbin/makefs/cd9660/iso9660_rrip.c +++ b/usr.sbin/makefs/cd9660/iso9660_rrip.c @@ -394,6 +394,12 @@ cd9660_rrip_initialize_node(iso9660_disk *diskStructure, cd9660node *node, SUSP_ENTRY_RRIP_PX, "PX", SUSP_LOC_ENTRY); cd9660node_rrip_px(current, parent->node); TAILQ_INSERT_TAIL(&node->head, current, rr_ll); + + /* TF - timestamp */ + current = cd9660node_susp_create_node(SUSP_TYPE_RRIP, + SUSP_ENTRY_RRIP_TF, "TF", SUSP_LOC_ENTRY); + cd9660node_rrip_tf(current, parent->node); + TAILQ_INSERT_TAIL(&node->head, current, rr_ll); } } else if (node->type & CD9660_TYPE_DOTDOT) { if (grandparent != NULL && grandparent->node != NULL && @@ -403,6 +409,12 @@ cd9660_rrip_initialize_node(iso9660_disk *diskStructure, cd9660node *node, SUSP_ENTRY_RRIP_PX, "PX", SUSP_LOC_ENTRY); cd9660node_rrip_px(current, grandparent->node); TAILQ_INSERT_TAIL(&node->head, current, rr_ll); + + /* TF - timestamp */ + current = cd9660node_susp_create_node(SUSP_TYPE_RRIP, + SUSP_ENTRY_RRIP_TF, "TF", SUSP_LOC_ENTRY); + cd9660node_rrip_tf(current, grandparent->node); + TAILQ_INSERT_TAIL(&node->head, current, rr_ll); } /* Handle PL */ if (parent != NULL && parent->rr_real_parent != NULL) { From nobody Thu Apr 27 17:19:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6jBw70LKz47h8b; Thu, 27 Apr 2023 17:19: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 4Q6jBw6Ps1z3qkS; Thu, 27 Apr 2023 17:19:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682615944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=scLetbSSKbpBGZ6P0rlw0VlJVDeOo2+7s1X62V40hYQ=; b=airuOxtitqwOW4BgAcits19ZHRSVUX7/GpA0Y3bovJpqhofoTb7iS1R2kmsZA7UKgfYFsw ZQ0EIwpnwViqW34WcAD+HzW79ChKmZCDXDNXHA6dT9vy295wyvn/mOTUAi+QeEFAqctWjk Gx6eCt07ok+AyLAsRTsbKR5a3iFPaoPt9fqQUIjTk+Qs/CeI6c3tcyYmULiFUjyhj1BOru YlRji0EtHKqF/aE2VqjSy9qcGCbquVjPjWvhHeZ4D+ReDNY5xCIgUnXzd16burpr0vncVd Kib4xS4TsxbcCo5zW0vilAkjTGI+HjlnT5QYXp/Q1xppLy9zAomh4cP7Pl8J2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682615944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=scLetbSSKbpBGZ6P0rlw0VlJVDeOo2+7s1X62V40hYQ=; b=r5oP6UW6lKsac0N8eeI8Ny9EqzvSYZwa0mZDj/i3gbb6W6XEYg4PCU54nV8TDx2SALGEfS 50JsmOqaIdsmp0kpN75zWoAPCKSf16ee0QBr4DnqsVC7haoyZn7qmr6OAyUKGsC2u6omp2 v3Tr11Ijo1YKk7zNsdPI4Fd7/6oYeMq0YzbtcNIrCbnfCru2+t2it+f7kuAFLTm5HmE4nd BxHgYZKHQZizrmlxPr0FDtUGuR8ODJbgqzAXdjcylNk30npGlRCORSYmupj1wJIU5fjsTO BwIYkCDejO3MUAI1W2Wo/5cBvru8YO/v4AVyD5lEvt2VjuILqoRp3bFtNO/f9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682615944; a=rsa-sha256; cv=none; b=jYmsZM3VhOJicTThK8Jn+19yUmkUReJLo7DJR7nHCWrGAByzuIbLKjEtII2N5m6lYB82s7 wHTqtdKOEgDMPi180fXhFZAptUU1PiZb7X5XcXv9zeoFG4g5WRxSnuxCmGn0ikesH53mzN vGrd1PSV9+cIykGaLIAdkNY90/44P0I0nRq8f60MXvLd4H3TQijz1vhS3MzaEFrgZgJbAO 1my4A8PEc538xKL/NvKd/0ImNUwuNVA3uvP5og0Ddn/VSxxUYulHRKa8cO3SY0mO60CVWH N7fD/A+b+olZDqiDkqO0w/7w2b4nQ5CTZ7gM9zZR0g33iECLVaAWrP5/4tBYhg== 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 4Q6jBw5Rz8zR0S; Thu, 27 Apr 2023 17:19: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 33RHJ4bR064795; Thu, 27 Apr 2023 17:19:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RHJ4UU064794; Thu, 27 Apr 2023 17:19:04 GMT (envelope-from git) Date: Thu, 27 Apr 2023 17:19:04 GMT Message-Id: <202304271719.33RHJ4UU064794@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: ec45f952a232 - main - sockbuf: Add KMSAN checks to sbappend*() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ec45f952a232068ba17b091e96a8b6e79bcec85a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ec45f952a232068ba17b091e96a8b6e79bcec85a commit ec45f952a232068ba17b091e96a8b6e79bcec85a Author: Mark Johnston AuthorDate: 2023-04-27 16:58:56 +0000 Commit: Mark Johnston CommitDate: 2023-04-27 16:58:56 +0000 sockbuf: Add KMSAN checks to sbappend*() Otherwise KMSAN only detects uninitialized memory when the contents of the buffer are copied out to userspace or transmitted to a network interface. At that point the KMSAN violation will be far removed from its origin, so let's try to make debugging such problems a bit easier. Reviewed by: glebius MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38101 --- sys/kern/uipc_sockbuf.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c index 61ec0c794270..170f67be4216 100644 --- a/sys/kern/uipc_sockbuf.c +++ b/sys/kern/uipc_sockbuf.c @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -908,6 +909,7 @@ sbappend_locked(struct sockbuf *sb, struct mbuf *m, int flags) if (m == NULL) return; + kmsan_check_mbuf(m, "sbappend"); sbm_clrprotoflags(m, flags); SBLASTRECORDCHK(sb); n = sb->sb_mb; @@ -1022,6 +1024,8 @@ sbappendstream_locked(struct sockbuf *sb, struct mbuf *m, int flags) KASSERT(m->m_nextpkt == NULL,("sbappendstream 0")); + kmsan_check_mbuf(m, "sbappend"); + #ifdef KERN_TLS /* * Decrypted TLS records are appended as records via @@ -1170,7 +1174,10 @@ sbappendrecord_locked(struct sockbuf *sb, struct mbuf *m0) if (m0 == NULL) return; + + kmsan_check_mbuf(m0, "sbappend"); m_clrprotoflags(m0); + /* * Put the first mbuf on the queue. Note this permits zero length * records. @@ -1207,6 +1214,12 @@ sbappendaddr_locked_internal(struct sockbuf *sb, const struct sockaddr *asa, struct mbuf *m0, struct mbuf *control, struct mbuf *ctrl_last) { struct mbuf *m, *n, *nlast; + + if (m0 != NULL) + kmsan_check_mbuf(m0, "sbappend"); + if (control != NULL) + kmsan_check_mbuf(control, "sbappend"); + #if MSIZE <= 256 if (asa->sa_len > MLEN) return (0); @@ -1317,6 +1330,9 @@ sbappendcontrol_locked(struct sockbuf *sb, struct mbuf *m0, { struct mbuf *m, *mlast; + kmsan_check_mbuf(m0, "sbappend"); + kmsan_check_mbuf(control, "sbappend"); + sbm_clrprotoflags(m0, flags); m_last(control)->m_next = m0; From nobody Thu Apr 27 17:40:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6jg85gGdz47jQc; Thu, 27 Apr 2023 17:40: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 4Q6jg85W7Fz3wVn; Thu, 27 Apr 2023 17:40:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682617204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/DKS9QoB2flWUjVOXinwKzB+mr9EaY4l0doLQ2eaW0=; b=wBtZDrnQDgxiiG4X+h6N/QKFK728Mko6P4qF3ZAah3oc0FU1YvM/uthVD5d1+LHredQKUQ NOM9fAcRCyzZ6BPrAfsC83LWAFa3HAUEUfQfQof6Yi48t1whxB3kb9cyoEYOfLtspG5R02 mjDgHKrNTc/4Fp2y2js9CKl3R2yHlGWOuFplZQf8+SB2OmtUpNSvlCN+AIaLv596Zy8igf T7csVRJ3cO6vHpou6vlpXHN13/kffWSS0oa1/YK9GB+mSAZeaITFd/+tv2RF3zULIwlbRV 4RdPxJ0wniLJKawxmzZkulO3wB1Wlv2ZXahhztUDWWMswH/q8A1NPhWDDrzhIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682617204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/DKS9QoB2flWUjVOXinwKzB+mr9EaY4l0doLQ2eaW0=; b=W+R68i+/Hx9YQ5la/KyGmyb3fjgXoQINRHtqVnhPcumt27V8n1B+BAtyHaC51T3V2p5xeE I6TfG7oLidpCH9o/Nsv4uKfvUDk35LZoIV9Atni5vKy7PcoUWPWXxszS4CmcBI3OffAZAz KX8kQJYCVj+lkSTRco0HF0UQR8i6RA9lAt9Omht4sqbevQDLwUYugq/6T09MZk2XXfmSGx AqFfs+UPqO2fUA71O5GsQM8zDBHI3L/j4h54Gv3FEASlXDIJcSFKlLxtbNX97nqNM/Owlb GabYKVt+M06szGLtoycApiQur/eomGYrT6m3fHlXoybKwypgXv34nywBrwibnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682617204; a=rsa-sha256; cv=none; b=F0sXZo4eRF/YY2qT+B/sZRzXXb6Pc+3EzTsA8UTwt2WubpNo3nrImmf0g15czTFm8Dtm2A RGW6xqn/E3Nhkn7EDJZ60KGskwWMG/kY4F1Oj/hGwxDf4qL/J2vgP8TCH8VTgFWQh7JBd4 YGRgDfZCqhe29iKHH4PW9WHYukfRqml8yU6rlgY6UFiGo627O38CQl8Ow8xnlWpzCRIWlR Gd99tS11nkuY7ZPNpLo6vrdNOl3/FNnOKs8RPmJ3EBRfFtHKPqjmqKmSOF4uZ3FUEfXWnU 0CpSWb69yWBHRXezOiJl5SFv5emXjWpTeV9Pietz8Li8GjA9LP+J6ZNpGCeyTw== 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 4Q6jg84GTdzRcT; Thu, 27 Apr 2023 17:40: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 33RHe4Rk000437; Thu, 27 Apr 2023 17:40:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RHe4Ku000434; Thu, 27 Apr 2023 17:40:04 GMT (envelope-from git) Date: Thu, 27 Apr 2023 17:40:04 GMT Message-Id: <202304271740.33RHe4Ku000434@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Yuri Pankov Subject: git: cfd0217aa9a9 - main - tzsetup: adopt zone1970.tab changes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuripv X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cfd0217aa9a929ac625db90828a56dfe4dc1dbd2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by yuripv: URL: https://cgit.FreeBSD.org/src/commit/?id=cfd0217aa9a929ac625db90828a56dfe4dc1dbd2 commit cfd0217aa9a929ac625db90828a56dfe4dc1dbd2 Author: Yuri Pankov AuthorDate: 2023-04-27 17:31:48 +0000 Commit: Yuri Pankov CommitDate: 2023-04-27 17:31:48 +0000 tzsetup: adopt zone1970.tab changes - assumption that single-zone countries do not have description is no longer correct; do not try to optimize this case as it's only going to make the code more confusing and we now have menus with a single zone selection because of this - remove the single-country continent short cut, it also only serves to confuse users as we now have such a continent - instead add a single-zone contry short cut (see above), now all single-zone countries fall here - use the #@ continent overrides that zone1970.tab introduces (this is visible at least fixing Iceland being currently listed under Africa) - add Arctic Ocean "continent" coming only from the overrides at the moment - update baseline with the changes Reviewed by: bapt, philip Differential Revision: https://reviews.freebsd.org/D39606 --- usr.sbin/tzsetup/baseline | 24 ++-- usr.sbin/tzsetup/tzsetup.c | 310 +++++++++++++++++++++++---------------------- 2 files changed, 169 insertions(+), 165 deletions(-) diff --git a/usr.sbin/tzsetup/baseline b/usr.sbin/tzsetup/baseline index 79a7f2a869b6..de9b5f638d09 100644 --- a/usr.sbin/tzsetup/baseline +++ b/usr.sbin/tzsetup/baseline @@ -19,10 +19,10 @@ AQ:Antarctica Antarctica:Antarctica/Palmer Antarctica:Antarctica/Rothera Antarctica:Antarctica/Troll - Asia:Asia/Urumqi - Pacific:Pacific/Auckland - Pacific:Pacific/Port_Moresby - Asia:Asia/Riyadh + Antarctica:Asia/Urumqi + Antarctica:Pacific/Auckland + Antarctica:Pacific/Port_Moresby + Antarctica:Asia/Riyadh AG:Antigua and Barbuda America:America/Puerto_Rico AR:Argentina @@ -159,13 +159,13 @@ CN:China Asia:Asia/Shanghai Asia:Asia/Urumqi CX:Christmas Island - Asia:Asia/Bangkok + Indian:Asia/Bangkok CC:Cocos (Keeling) Islands - Asia:Asia/Yangon + Indian:Asia/Yangon CO:Colombia America:America/Bogota KM:Comoros - Africa:Africa/Nairobi + Indian:Africa/Nairobi CG:Congo Africa:Africa/Lagos CD:Congo, Democratic Republic of the @@ -280,7 +280,7 @@ HK:Hong Kong HU:Hungary Europe:Europe/Budapest IS:Iceland - Africa:Africa/Abidjan + Atlantic:Africa/Abidjan IN:India Asia:Asia/Kolkata ID:Indonesia @@ -353,7 +353,7 @@ MO:Macao MK:Macedonia (the former Yugoslav Republic of) Europe:Europe/Belgrade MG:Madagascar - Africa:Africa/Nairobi + Indian:Africa/Nairobi MW:Malawi Africa:Africa/Maputo MY:Malaysia @@ -375,7 +375,7 @@ MR:Mauritania MU:Mauritius Indian:Indian/Mauritius YT:Mayotte - Africa:Africa/Nairobi + Indian:Africa/Nairobi MX:Mexico America:America/Mexico_City America:America/Cancun @@ -507,7 +507,7 @@ RE:Réunion BL:Saint Barthélemy America:America/Puerto_Rico SH:Saint Helena Ascension and Tristan da Cunha - Africa:Africa/Abidjan + Atlantic:Africa/Abidjan KN:Saint Kitts and Nevis America:America/Puerto_Rico LC:Saint Lucia @@ -563,7 +563,7 @@ SD:Sudan SR:Suriname America:America/Paramaribo SJ:Svalbard and Jan Mayen - Europe:Europe/Berlin + Arctic:Europe/Berlin SE:Sweden Europe:Europe/Berlin CH:Switzerland diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c index b4d906d90b7e..a20c0730c48e 100644 --- a/usr.sbin/tzsetup/tzsetup.c +++ b/usr.sbin/tzsetup/tzsetup.c @@ -157,8 +157,7 @@ static int usedialog = 1; static int confirm_zone(const char *filename); static int continent_country_menu(dialogMenuItem *); -static int set_zone_multi(dialogMenuItem *); -static int set_zone_whole_country(dialogMenuItem *); +static int set_zone(dialogMenuItem *); static int set_zone_menu(dialogMenuItem *); static int set_zone_utc(void); @@ -167,7 +166,7 @@ struct continent { int nitems; }; -static struct continent africa, america, antarctica, asia, atlantic; +static struct continent africa, america, antarctica, arctic, asia, atlantic; static struct continent australia, europe, indian, pacific, utc; static struct continent_names { @@ -177,6 +176,7 @@ static struct continent_names { { "Africa", &africa }, { "America", &america }, { "Antarctica", &antarctica }, + { "Arctic", &arctic }, { "Asia", &asia }, { "Atlantic", &atlantic }, { "Australia", &australia }, @@ -187,26 +187,27 @@ static struct continent_names { }; static struct continent_items { - char prompt[2]; + char prompt[3]; char title[30]; } continent_items[] = { { "1", "Africa" }, { "2", "America -- North and South" }, { "3", "Antarctica" }, - { "4", "Asia" }, - { "5", "Atlantic Ocean" }, - { "6", "Australia" }, - { "7", "Europe" }, - { "8", "Indian Ocean" }, - { "9", "Pacific Ocean" }, - { "0", "UTC" } + { "4", "Arctic Ocean" }, + { "5", "Asia" }, + { "6", "Atlantic Ocean" }, + { "7", "Australia" }, + { "8", "Europe" }, + { "9", "Indian Ocean" }, + { "10", "Pacific Ocean" }, + { "11", "UTC" } }; #define NCONTINENTS \ (int)((sizeof(continent_items)) / (sizeof(continent_items[0]))) static dialogMenuItem continents[NCONTINENTS]; -#define OCEANP(x) ((x) == 4 || (x) == 7 || (x) == 8) +#define OCEANP(x) ((x) == 3 || (x) == 5 || (x) == 8 || (x) == 9) static int continent_country_menu(dialogMenuItem *continent) @@ -219,10 +220,6 @@ continent_country_menu(dialogMenuItem *continent) if (strcmp(continent->title, "UTC") == 0) return (set_zone_utc()); - /* Short cut -- if there's only one country, don't post a menu. */ - if (contp->nitems == 1) - return (contp->menu[0].fire(&contp->menu[0])); - /* It's amazing how much good grammar really matters... */ if (!isocean) { snprintf(title, sizeof(title), "Countries in %s", @@ -239,14 +236,30 @@ continent_country_menu(dialogMenuItem *continent) } static struct continent * -find_continent(const char *name) +find_continent(int lineno, const char *name) { + char *cname, *cp; int i; + /* + * Both normal (the ones in zone filename, e.g. Europe/Andorra) and + * override (e.g. Atlantic/) entries should contain '/'. + */ + cp = strdup(name); + if (cp == NULL) + err(1, "strdup"); + cname = strsep(&cp, "/"); + if (cp == NULL) + errx(1, "%s:%d: invalid entry `%s'", path_zonetab, lineno, + cname); + for (i = 0; i < NCONTINENTS; i++) - if (strcmp(name, continent_names[i].name) == 0) + if (strcmp(cname, continent_names[i].name) == 0) { + free(cname); return (continent_names[i].continent); - return (0); + } + + errx(1, "%s:%d: continent `%s' unknown", path_zonetab, lineno, cname); } static const char * @@ -264,10 +277,9 @@ struct country { char *name; char *tlc; int nzones; - char *filename; /* use iff nzones < 0 */ - struct continent *continent; /* use iff nzones < 0 */ - TAILQ_HEAD(, zone) zones; /* use iff nzones > 0 */ - dialogMenuItem *submenu; /* use iff nzones > 0 */ + struct continent *override; /* continent override */ + TAILQ_HEAD(, zone) zones; + dialogMenuItem *submenu; }; struct zone { @@ -346,56 +358,50 @@ read_iso3166_table(void) fclose(fp); } -static void -add_zone_to_country(int lineno, const char *tlc, const char *descr, - const char *file, struct continent *cont) +static struct country * +find_country(int lineno, const char *tlc) { - struct zone *zp; struct country *cp; - if (tlc[0] < 'A' || tlc[0] > 'Z' || tlc[1] < 'A' || tlc[1] > 'Z') + if (strlen(tlc) != 2 || + tlc[0] < 'A' || tlc[0] > 'Z' || tlc[1] < 'A' || tlc[1] > 'Z') errx(1, "%s:%d: country code `%s' invalid", path_zonetab, lineno, tlc); cp = &countries[CODE2INT(tlc)]; - if (cp->name == 0) + if (cp->name == NULL) errx(1, "%s:%d: country code `%s' unknown", path_zonetab, lineno, tlc); - if (descr) { - if (cp->nzones < 0) - errx(1, "%s:%d: conflicting zone definition", - path_zonetab, lineno); + return (cp); +} + +static void +add_zone_to_country(int lineno, struct country *cp, const char *descr, + const char *file, struct continent *cont) +{ + struct zone *zp; - zp = malloc(sizeof(*zp)); - if (zp == NULL) - errx(1, "malloc(%zu)", sizeof(*zp)); + zp = malloc(sizeof(*zp)); + if (zp == NULL) + errx(1, "malloc(%zu)", sizeof(*zp)); - if (cp->nzones == 0) - TAILQ_INIT(&cp->zones); + if (cp->nzones == 0) + TAILQ_INIT(&cp->zones); + if (descr != NULL) { zp->descr = strdup(descr); if (zp->descr == NULL) errx(1, "malloc failed"); - zp->filename = strdup(file); - if (zp->filename == NULL) - errx(1, "malloc failed"); - zp->continent = cont; - TAILQ_INSERT_TAIL(&cp->zones, zp, link); - cp->nzones++; } else { - if (cp->nzones > 0) - errx(1, "%s:%d: zone must have description", - path_zonetab, lineno); - if (cp->nzones < 0) - errx(1, "%s:%d: zone multiply defined", - path_zonetab, lineno); - cp->nzones = -1; - cp->filename = strdup(file); - if (cp->filename == NULL) - errx(1, "malloc failed"); - cp->continent = cont; + zp->descr = NULL; } + zp->filename = strdup(file); + if (zp->filename == NULL) + errx(1, "malloc failed"); + zp->continent = cp->override != NULL ? cp->override : cont; + TAILQ_INSERT_TAIL(&cp->zones, zp, link); + cp->nzones++; } /* @@ -432,54 +438,79 @@ sort_countries(void) static void read_zones(void) { - char contbuf[16]; FILE *fp; struct continent *cont; - size_t len, contlen; - char *line, *country_list, *tlc, *file, *descr, *p; + struct country *cp; + size_t len; + char *line, *country_list, *tlc, *file, *descr; int lineno; + bool pass1; fp = fopen(path_zonetab, "r"); if (!fp) err(1, "%s", path_zonetab); - lineno = 0; + pass1 = true; +again: + lineno = 0; while ((line = fgetln(fp, &len)) != NULL) { lineno++; if (line[len - 1] != '\n') errx(1, "%s:%d: invalid format", path_zonetab, lineno); line[len - 1] = '\0'; - if (line[0] == '#') - continue; - country_list = strsep(&line, "\t"); - /* coord = */ strsep(&line, "\t"); /* Unused */ - file = strsep(&line, "\t"); - /* get continent portion from continent/country */ - p = strchr(file, '/'); - if (p == NULL) - errx(1, "%s:%d: invalid zone name `%s'", path_zonetab, - lineno, file); - contlen = p - file + 1; /* trailing nul */ - if (contlen > sizeof(contbuf)) - errx(1, "%s:%d: continent name in zone name `%s' too long", - path_zonetab, lineno, file); - strlcpy(contbuf, file, contlen); - cont = find_continent(contbuf); - if (!cont) - errx(1, "%s:%d: invalid region `%s'", path_zonetab, - lineno, contbuf); - - descr = (line != NULL && *line != '\0') ? line : NULL; - - while (country_list != NULL) { - tlc = strsep(&country_list, ","); - if (strlen(tlc) != 2) - errx(1, "%s:%d: invalid country code `%s'", - path_zonetab, lineno, tlc); - add_zone_to_country(lineno, tlc, descr, file, cont); + if (pass1) { + /* + * First pass: collect overrides, only looking for + * single continent ones for the moment. + * + * zone1970.tab introduced continent overrides in the + * following format: + * + * #@TLC[,TLC...]CONTINENT/[,CONTINENT/...] + */ + if (strncmp(line, "#@", strlen("#@")) != 0) + continue; + line += 2; + country_list = strsep(&line, "\t"); + /* Skip multi-continent overrides */ + if (strchr(line, ',') != NULL) + continue; + cont = find_continent(lineno, line); + /* Parse and store overrides */ + while (country_list != NULL) { + tlc = strsep(&country_list, ","); + cp = find_country(lineno, tlc); + cp->override = cont; + } + } else { + /* Second pass: parse actual data */ + if (line[0] == '#') + continue; + + country_list = strsep(&line, "\t"); + /* coord = */ strsep(&line, "\t"); /* Unused */ + file = strsep(&line, "\t"); + cont = find_continent(lineno, file); + descr = (line != NULL && *line != '\0') ? line : NULL; + + while (country_list != NULL) { + tlc = strsep(&country_list, ","); + cp = find_country(lineno, tlc); + add_zone_to_country(lineno, cp, descr, file, + cont); + } } } + + if (pass1) { + pass1 = false; + errno = 0; + rewind(fp); + if (errno != 0) + err(1, "failed to rewind %s", path_zonetab); + goto again; + } fclose(fp); } @@ -492,14 +523,9 @@ dump_zonetab(void) for (cp = countries; cp->name != NULL; cp++) { printf("%s:%s\n", cp->tlc, cp->name); - if (cp->nzones < 0) { - cont = find_continent_name(cp->continent); - printf(" %s:%s\n", cont, cp->filename); - } else { - TAILQ_FOREACH(zp, &cp->zones, link) { - cont = find_continent_name(zp->continent); - printf(" %s:%s\n", cont, zp->filename); - } + TAILQ_FOREACH(zp, &cp->zones, link) { + cont = find_continent_name(zp->continent); + printf(" %s:%s\n", cont, zp->filename); } } } @@ -522,18 +548,14 @@ make_menus(void) for (cp = countries; cp->name; cp++) { if (cp->nzones == 0) continue; - if (cp->nzones < 0) { - cp->continent->nitems++; - } else { - TAILQ_FOREACH(zp, &cp->zones, link) { - cont = zp->continent; - for (zp2 = TAILQ_FIRST(&cp->zones); - zp2->continent != cont; - zp2 = TAILQ_NEXT(zp2, link)) - ; - if (zp2 == zp) - zp->continent->nitems++; - } + TAILQ_FOREACH(zp, &cp->zones, link) { + cont = zp->continent; + for (zp2 = TAILQ_FIRST(&cp->zones); + zp2->continent != cont; + zp2 = TAILQ_NEXT(zp2, link)) + ; + if (zp2 == zp) + zp->continent->nitems++; } } @@ -564,41 +586,32 @@ make_menus(void) for (cp = countries; cp->name; cp++) { if (cp->nzones == 0) continue; - if (cp->nzones < 0) { - dmi = &cp->continent->menu[cp->continent->nitems]; + cp->submenu = malloc(cp->nzones * sizeof(*dmi)); + if (cp->submenu == 0) + errx(1, "malloc for submenu"); + cp->nzones = 0; + TAILQ_FOREACH(zp, &cp->zones, link) { + cont = zp->continent; + dmi = &cp->submenu[cp->nzones]; + memset(dmi, 0, sizeof(*dmi)); + asprintf(&dmi->prompt, "%d", ++cp->nzones); + dmi->title = zp->descr; + dmi->fire = set_zone; + dmi->data = zp; + + for (zp2 = TAILQ_FIRST(&cp->zones); + zp2->continent != cont; + zp2 = TAILQ_NEXT(zp2, link)) + ; + if (zp2 != zp) + continue; + + dmi = &cont->menu[cont->nitems]; memset(dmi, 0, sizeof(*dmi)); - asprintf(&dmi->prompt, "%d", ++cp->continent->nitems); + asprintf(&dmi->prompt, "%d", ++cont->nitems); dmi->title = cp->name; - dmi->fire = set_zone_whole_country; + dmi->fire = set_zone_menu; dmi->data = cp; - } else { - cp->submenu = malloc(cp->nzones * sizeof(*dmi)); - if (cp->submenu == 0) - errx(1, "malloc for submenu"); - cp->nzones = 0; - TAILQ_FOREACH(zp, &cp->zones, link) { - cont = zp->continent; - dmi = &cp->submenu[cp->nzones]; - memset(dmi, 0, sizeof(*dmi)); - asprintf(&dmi->prompt, "%d", ++cp->nzones); - dmi->title = zp->descr; - dmi->fire = set_zone_multi; - dmi->data = zp; - - for (zp2 = TAILQ_FIRST(&cp->zones); - zp2->continent != cont; - zp2 = TAILQ_NEXT(zp2, link)) - ; - if (zp2 != zp) - continue; - - dmi = &cont->menu[cont->nitems]; - memset(dmi, 0, sizeof(*dmi)); - asprintf(&dmi->prompt, "%d", ++cont->nitems); - dmi->title = cp->name; - dmi->fire = set_zone_menu; - dmi->data = cp; - } } } } @@ -610,6 +623,10 @@ set_zone_menu(dialogMenuItem *dmi) struct country *cp = dmi->data; int rv; + /* Short cut -- if there's only one zone, don't post a menu. */ + if (cp->nzones == 1) + return (cp->submenu[0].fire(&cp->submenu[0])); + snprintf(title, sizeof(title), "%s Time Zones", cp->name); snprintf(prompt, sizeof(prompt), "Select a zone which observes the same time as your locality."); @@ -646,7 +663,7 @@ confirm_zone(const char *filename) } static int -set_zone_multi(dialogMenuItem *dmi) +set_zone(dialogMenuItem *dmi) { struct zone *zp = dmi->data; int rv; @@ -658,19 +675,6 @@ set_zone_multi(dialogMenuItem *dmi) return (rv); } -static int -set_zone_whole_country(dialogMenuItem *dmi) -{ - struct country *cp = dmi->data; - int rv; - - if (!confirm_zone(cp->filename)) - return (DITEM_FAILURE | DITEM_RECREATE); - - rv = install_zoneinfo(cp->filename); - return (rv); -} - #endif static void message_zoneinfo_file(const char *title, char *prompt) From nobody Thu Apr 27 18:20:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6kYM5q0fz47lFr; Thu, 27 Apr 2023 18:20:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q6kYM5C7nz422V; Thu, 27 Apr 2023 18:20:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682619607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=18WO3IM/RTZiBC9A44j65Wn/9/xkwH45SIbEzMFEAck=; b=tf/2eWH1LLLWOFu/3YZN0EZfTXmuhty7Q5MKUQfdOYtDfYVTh2EB/ky/25tkOMtR3km/DP 6KvlxUMHDU3bGnZl3Oi4T0OYT+vClo3CbROIJJFTqQO4qfrrMk/2G0Vo6Cl5GfZf4UiEdv Aj0C8mUfsJ2dy3wyeJ2Qlg/Et1AvUIjUJy20Bbu6om1zK0nHm7ZdwEVoJ5uiC8Hqxq5D/H 9nKbYkeixi/5Vevcj/9IO90SFXhdtqa3dCbsffawvM+AjqvjqY7s4bH1UfLpGLSbfD49QF OsnotJQrpwnaYRcXFZ8fh+evGd/iPh9MOKwhd5EFyV/cHxc5ccMAlSFKnpZZGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682619607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=18WO3IM/RTZiBC9A44j65Wn/9/xkwH45SIbEzMFEAck=; b=G6ZemyHhxLvpMClAWTfxIkgw8/KeV8N9hAEpn/XM8vZihZx3fk/KCkvM4xApJTTeaytADc LksPF8JBJlYQiBXah4pVQW1823QicoXzDPpo7K5Xg6+dzJhMTU1oGleRvZ6oejrXAPU9r0 DRlhBA8uFHmogUWuo5s2twYI33vvDBVevhKzJve2Rd98Nif7Cuv7ogMgVFLu0+E1BbLyHv efH46E+rYX5tsOCAH8U9zY8KQz7krvhC3O9SlTOH3FN/KaxCovSebNUN8hdDafYrvOvBUa 8krIJhuRzpHu30/hPIZDsWbbYShePjJ/3Sw4INY2UUza33QFXaLiJ4q9PvusuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682619607; a=rsa-sha256; cv=none; b=UvjICFDjDYAWEmSrtNyTvfZBlI7B4cK4xzBcex3Y2gS0MI4XpKjOpfltOvrlZne2zU2lK0 vagY2SJ7lwkp4oOUcYeoFOx6GoulfT0MUuXLgIpsuFMCEU37a0RWXO8rhy+3KaHGTv5YOx ErDxTSnSg4KfHk+CUJq0j3wiW1CEYnMlkHxjeY/J8l45O5qyAoPkTd/mqQoqiCODdZj3IS Ocz3J9bFUbg36rw3M2shDo4MgDTuN4foEuuhraak8aDSMOe9ws/3stXHQK8SaVINd+FPO8 4Q1uiT/X/5ylhiQf4PGQE07udGEq9oZniZcDtgUwmNA3gt8QroSaCAieGITJGQ== 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 4Q6kYM4FW8zS53; Thu, 27 Apr 2023 18:20: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 33RIK7XH067220; Thu, 27 Apr 2023 18:20:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RIK7RV067216; Thu, 27 Apr 2023 18:20:07 GMT (envelope-from git) Date: Thu, 27 Apr 2023 18:20:07 GMT Message-Id: <202304271820.33RIK7RV067216@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 68ffc1e6ee00 - stable/13 - release: Remove "All Rights Reserved" from FreeBSD Foundation copyrights List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 68ffc1e6ee00bd2c17c6c3a34bcc72a0edc97e52 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=68ffc1e6ee00bd2c17c6c3a34bcc72a0edc97e52 commit 68ffc1e6ee00bd2c17c6c3a34bcc72a0edc97e52 Author: Ed Maste AuthorDate: 2023-04-17 14:56:59 +0000 Commit: Ed Maste CommitDate: 2023-04-27 17:03:03 +0000 release: Remove "All Rights Reserved" from FreeBSD Foundation copyrights (cherry picked from commit 4654ba28fb8b0a7d74366120cc1967791b46ac3a) --- release/scripts/mk-vmimage.sh | 1 - release/tools/arm.subr | 1 - 2 files changed, 2 deletions(-) diff --git a/release/scripts/mk-vmimage.sh b/release/scripts/mk-vmimage.sh index d5985ceb0d25..38b97a311707 100755 --- a/release/scripts/mk-vmimage.sh +++ b/release/scripts/mk-vmimage.sh @@ -1,7 +1,6 @@ #!/bin/sh #- # Copyright (c) 2014, 2015 The FreeBSD Foundation -# All rights reserved. # # This software was developed by Glen Barber under sponsorship # from the FreeBSD Foundation. diff --git a/release/tools/arm.subr b/release/tools/arm.subr index 5159907d9689..aff4e5a76d5c 100644 --- a/release/tools/arm.subr +++ b/release/tools/arm.subr @@ -1,7 +1,6 @@ #!/bin/sh #- # Copyright (c) 2015-2017 The FreeBSD Foundation -# All rights reserved. # # Portions of this software were developed by Glen Barber # under sponsorship from the FreeBSD Foundation. From nobody Thu Apr 27 18:20:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6kYN6WrPz47ldf; Thu, 27 Apr 2023 18:20: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 4Q6kYN5jS6z42Nq; Thu, 27 Apr 2023 18:20:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682619608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XPTsFzG+xoJ/YigezQjHQ07qU4g7AT87b0l2XpZF7A8=; b=H3xMHdlBVySEhUl+lNbEG6j1hV9nDXiSuM579y+O69V0Z5Qvc8fiVymw66ABRISN+c6q9c QV6IitjCu6p+stwPOEF7+WLqDyzfFaVJdK9190Bu/xooDZrBFHsjVtpIlnEQ/Wl+7O2QCm DIOsNWgKyC+eat3B9zP1tKBUOzaEgjYulIkhxDYYZbc3w4opgk8CSvoBnDzIqZAJiFapyj 2uf01FKc3uOambhhlcuNV1Zlr+62BFRDnN9aIxVZQLeCaMAoaPAt8sSyXQE0jVVPxQi1MF XxEZVvQsZJvIwgSGByYuPUH9d4Cu7uxjmRuJAtc1PqfSH0eFksT6zpGj2bOa0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682619608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XPTsFzG+xoJ/YigezQjHQ07qU4g7AT87b0l2XpZF7A8=; b=RTFs1bgkbIXsr2RLqg10oq4hxLCJ/pJDbvbeEfoO8XenhtBHgxcES9/Y5KWrw17K6uwk2o XQZQO/YsOCMo40+ozC9fpggpV6/Zvw2i96veaMZOW+BS8w0XONoMVSJrBEhpKQZubOXbud dFJENA1KF/FR4vGHw10AdtC4YYQkmiz3nhsO9vDFXpOjS6mUHxYKZnl+lR9Ju4/3yRTHul knWJrBJCe4duScXnBnAJlGUE8ShakxOMnLO/qLEAPiftBHJUNX42rjqupMF8pFlKKHK/6O rQs7615a1JndMQ3PMPpxHMyVozSyzHOujrBU23Ff+63OOo3TqHpmbPO9bN8TUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682619608; a=rsa-sha256; cv=none; b=duGVM/x19nwvwv/tV0qSR+8MrpBneeTrLLcx+lYvmR2GJWHPG6Ew+g1stmXU1UUiDajeLF 6iAi6JwBbNBXy94T7uChTUdxB7RoNkSRtnsIHu5o9R4rVMpmNrqLyKeJuKnxHTi9fo/dtq OROVhkxzixMjE3Tf6Y+7KY58y6PK3XcGAQ+HfVJwQVpG+xdZwhpoCzvgb1BBXZrCTcopV8 Id9QwR83zuNAEIx/mHg2V5G9u46QT6HNiY5p9jXY5SeGnHk+dsD/rCv/8pod26Mxu4ncfd A4AeBWuycbEboAQbem/2W73ROhNkryqyDeDCVeArMY5IyVRy9ml+CvrzHoQ8ig== 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 4Q6kYN4jzFzShX; Thu, 27 Apr 2023 18:20: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 33RIK86G067480; Thu, 27 Apr 2023 18:20:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RIK8qn067477; Thu, 27 Apr 2023 18:20:08 GMT (envelope-from git) Date: Thu, 27 Apr 2023 18:20:08 GMT Message-Id: <202304271820.33RIK8qn067477@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 3b63f0b70671 - stable/13 - llvm: fix some llvm-* tool links when WITH_LLVM_BINUTILS is set List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3b63f0b7067129ec7a75b9324acf4ded30d8fc44 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3b63f0b7067129ec7a75b9324acf4ded30d8fc44 commit 3b63f0b7067129ec7a75b9324acf4ded30d8fc44 Author: Ed Maste AuthorDate: 2023-04-21 13:11:45 +0000 Commit: Ed Maste CommitDate: 2023-04-27 17:03:26 +0000 llvm: fix some llvm-* tool links when WITH_LLVM_BINUTILS is set A few Makefiles overrode LINKS and MLINKS when WITH_LLVM_BINUTILS was set, which caused some llvm- prefixed tools to disappear. One such case was llvm-ranlib, which some ports invoke explicitly. Use += when adding to LINKS and MLINKS under WITH_LLVM_BINUTILS. PR: 270955, 270956, 270959 Submitted by: jbeich Reviewed by: arichardson Fixes: 021385aba562 ("Add WITH_LLVM_BINUTILS to install LLVM binuti...") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39747 (cherry picked from commit 41df1d60e3237df2106dddf357e3205bf29f85d5) --- usr.bin/clang/llvm-ar/Makefile | 4 ++-- usr.bin/clang/llvm-nm/Makefile | 4 ++-- usr.bin/clang/llvm-size/Makefile | 4 ++-- usr.bin/clang/llvm-symbolizer/Makefile | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/usr.bin/clang/llvm-ar/Makefile b/usr.bin/clang/llvm-ar/Makefile index a6a480bce359..3718248f5de9 100644 --- a/usr.bin/clang/llvm-ar/Makefile +++ b/usr.bin/clang/llvm-ar/Makefile @@ -15,8 +15,8 @@ LIBADD+= z LINKS+= ${BINDIR}/llvm-ar ${BINDIR}/llvm-ranlib .if ${MK_LLVM_BINUTILS} != "no" -LINKS= ${BINDIR}/llvm-ar ${BINDIR}/ar ${BINDIR}/llvm-ar ${BINDIR}/ranlib -MLINKS= llvm-ar.1 ar.1 llvm-ar.1 ranlib.1 +LINKS+= ${BINDIR}/llvm-ar ${BINDIR}/ar ${BINDIR}/llvm-ar ${BINDIR}/ranlib +MLINKS+= llvm-ar.1 ar.1 llvm-ar.1 ranlib.1 .endif .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-nm/Makefile b/usr.bin/clang/llvm-nm/Makefile index 0df48744632d..e0c41e4a0254 100644 --- a/usr.bin/clang/llvm-nm/Makefile +++ b/usr.bin/clang/llvm-nm/Makefile @@ -26,8 +26,8 @@ CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} LIBADD+= z .if ${MK_LLVM_BINUTILS} != "no" -LINKS= ${BINDIR}/llvm-nm ${BINDIR}/nm -MLINKS= llvm-nm.1 nm.1 +LINKS+= ${BINDIR}/llvm-nm ${BINDIR}/nm +MLINKS+= llvm-nm.1 nm.1 .endif .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-size/Makefile b/usr.bin/clang/llvm-size/Makefile index 20bd5de61192..bce5cf834e0c 100644 --- a/usr.bin/clang/llvm-size/Makefile +++ b/usr.bin/clang/llvm-size/Makefile @@ -24,8 +24,8 @@ DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} .if ${MK_LLVM_BINUTILS} != "no" -LINKS= ${BINDIR}/llvm-size ${BINDIR}/size -MLINKS= llvm-size.1 size.1 +LINKS+= ${BINDIR}/llvm-size ${BINDIR}/size +MLINKS+= llvm-size.1 size.1 .endif .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-symbolizer/Makefile b/usr.bin/clang/llvm-symbolizer/Makefile index c4677169f912..fcaf8facf1b8 100644 --- a/usr.bin/clang/llvm-symbolizer/Makefile +++ b/usr.bin/clang/llvm-symbolizer/Makefile @@ -29,8 +29,8 @@ LIBADD+= z LINKS+= ${BINDIR}/llvm-symbolizer ${BINDIR}/llvm-addr2line .if ${MK_LLVM_BINUTILS} != "no" -LINKS= ${BINDIR}/llvm-symbolizer ${BINDIR}/addr2line -MLINKS= llvm-addr2line.1 addr2line.1 +LINKS+= ${BINDIR}/llvm-symbolizer ${BINDIR}/addr2line +MLINKS+= llvm-addr2line.1 addr2line.1 .endif .include "../llvm.prog.mk" From nobody Thu Apr 27 18:20:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6kYP6lq5z47ldg; Thu, 27 Apr 2023 18:20: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 4Q6kYP64CVz42Xx; Thu, 27 Apr 2023 18:20:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682619609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eZ9pSobjyrWOx+jePiwp7HaCfjbpxf2SfEmHREPdWdk=; b=O78zpVNcrppax/dulck7wAGLFJvaLmT61aFe7k/R8C2tRFz3YeJrbe6PS141ytB4uSPLkC XSQ0iAXtwJ2Fxp9KPlaUFWztWOLvMXZHDiRS7vK++ZBXnFYIK/zK+6DueNpRxoCggofHC9 xLdHc0vkdB9hHIuiirj8YPDrEHFhU5gxtMvLtIwJm5jiN52QunjRCPqF/HrIeBOl+/4+3c MBOonFdRd0PvydDVQjoDoKE2XJ5AoZG3YZaXdmMZGDPWkc7uR0A2GMdKd70memvUGSYrmC CIKrnaFPRSCw9UKh1xfXGOyk12dhr3Zrsi44LrbLklWOzQhvwT7Up1dh2vF3oA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682619609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eZ9pSobjyrWOx+jePiwp7HaCfjbpxf2SfEmHREPdWdk=; b=pEJ2gIbnYk1/kP5kLOCjMDt98L4FtqYB23WHjKJ5/vwk6BSp5vjsorAWtmIXZ7jCQdq22w FxyYkDyQgxaDMEKhGVUmtLnPlhl6LbaKVzKw5lntY7V5JCQdQcS06Jg3BiWP722dCxPryl HPXeCUmQfM4CbQu9CHrwbEyBkkYGNlxJwuWPjTZT1j+DROGSC6b1nXEAZFO/Dh/IU1p032 g0K5n8f0Br6NS9qqrqhMOGafQ+HiSNZrKSc/12RdSZWhpAzoFYZohTsTMsybhQeMzbLEGH HVa9pltTPQniOpsPQbbblS1/YD+f9tJV8GKLkho91uTiDtTaY8tkGoox+tZtuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682619609; a=rsa-sha256; cv=none; b=prT0O23jn7c0OeUntH8W7pFCehpt3WWJ6gYzS4vZCYBSX5Cr3+SesdsZxY7fMI6GwcVNR7 PRCgXx8eZQu3F1e7dRC2iqjgYiGHr+0LFzNRxbuXnflOsYRZiMZEL2K0PEjR6Lr7seyz8V kwLWBAAh6FX5smJ4IWkmOoy4Om9h5cG/85GblRidHwO4el6udTzD8xbkNcXRutI76+DU3M THA8781UyyjPOtX/x0/rJritIIrTMUiLcMmmMUCv+Q8nBe6mp5rm9OgS78F2l/g8/gkZ32 rGkuJgOQXHxMb+7WWqlF54eTUzPdWejvU63Y90BTHm1uY49/VvCSW/f+/7ASJw== 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 4Q6kYP55Q4zScN; Thu, 27 Apr 2023 18:20: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 33RIK9qh068004; Thu, 27 Apr 2023 18:20:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RIK90e068001; Thu, 27 Apr 2023 18:20:09 GMT (envelope-from git) Date: Thu, 27 Apr 2023 18:20:09 GMT Message-Id: <202304271820.33RIK90e068001@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 47af8281c55d - stable/13 - memmem: add a note about other systems which have memmem List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 47af8281c55d1bd2bd774555c9ad0af5ef3a806e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=47af8281c55d1bd2bd774555c9ad0af5ef3a806e commit 47af8281c55d1bd2bd774555c9ad0af5ef3a806e Author: Ed Maste AuthorDate: 2023-03-30 01:03:27 +0000 Commit: Ed Maste CommitDate: 2023-04-27 17:04:55 +0000 memmem: add a note about other systems which have memmem memmem started as a GNU extension but is now widely available. Reviewed by: mhorne (slightly earlier version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39337 (cherry picked from commit 30da840c627c80800c06edef346d907d6e5066a6) --- lib/libc/string/memmem.3 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/libc/string/memmem.3 b/lib/libc/string/memmem.3 index a2a7c2ece623..5f8b9d792e78 100644 --- a/lib/libc/string/memmem.3 +++ b/lib/libc/string/memmem.3 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 17, 2017 +.Dd March 30, 2023 .Dt MEMMEM 3 .Os .Sh NAME @@ -71,7 +71,8 @@ is returned. .Xr strstr 3 .Sh CONFORMING TO .Fn memmem -is a GNU extension. +started as a GNU extension but is now available in at least +the GNU, musl, bionic, OpenBSD, NetBSD, macOS, and Illumos C runtime libraries. .Sh HISTORY The .Fn memmem From nobody Thu Apr 27 18:20:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6kYR2Dt4z47lG1; Thu, 27 Apr 2023 18:20: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 4Q6kYR0G2kz42WY; Thu, 27 Apr 2023 18:20:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682619611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dW7Akudx1rMC+fzE4CPvtdRzyOObZvwu/ydCqravzT8=; b=REWtpgL/KE/C1idKRM5IAAWpv4Ek5j8C5/aS+mHxJipUNKMKKfXcKgNP9YFOQ2ihYcx+kJ yIkHx5ox2eVVdbylGHuPl23H0jlsf0kX3CZzUDMrx/Ggv+8OIYk8NW8zPVUTN5jmGgWrP6 5rCBuvvvISZ5msqJZ5RH64P33kNg/lxuDSO+nrdpLjfWV26Ly53vzpbMvdW5qhHfb6S4Jz 5dIZ6vLrRfDlQ8qbIDOertV6n89fYZNV9zmQVo2jZhdpFRgk1a7DkiumqGa+gzaiI8cVSt d2svLWWg6kg3hj7RjAm9Ee/D7BDRceUTFbSW/QCWmkQAwkdzReRFOqvj0uVifg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682619611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dW7Akudx1rMC+fzE4CPvtdRzyOObZvwu/ydCqravzT8=; b=KDxPyPTJnnIZfKF9ukMKP7hfs2PzyM+S0DeGZ9BfdE8smqVBCSlX7JUpXGizAI8SneAewU 9+xCuvluwCidRVGhcnKR+xgc3vohTiAXExqcXI9oDkXvrsBKYYXXxIbcToBVqc8m4F56b/ 4jro9JYsBeiSrEGECbBYayOP5RXLKALMllFzGG0DzpOXahJotD4LcmH2fhmMv9cY76Q6q0 iVYf+3umA1Cj57QN+29UbAV0XgVigy6O3ed3l0QE+HYBqUB69zhJwvLaKOtMQ1Wb+UeGnn 1JLZIvs3Edt4xtfZj71MqkO7Ox0Yhgn5ndNJVjprUFfH4pAq7aUsEC4UhEaEQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682619611; a=rsa-sha256; cv=none; b=UzXYrx4ybVnatDnttpzRTkQbrWec08RRl6YXHMb2RUM1oe+hcmTedJveMyHYU0MB7N65ZC jFf7AyrVBregdORxhQ9u8TLbLHyitmuVgpisnEFs6VwfYiJSEEXFj5WHgDOXfpX0aMzyDU t6Nd6XcT3+K1OwZZGad9WDQqiITu3WJmmaOurOOcwby+uMNZwtSr8FuqdAWz3zQ3YJC4Iw mRxMBH0GMUyysEa8EvnpXvwihQNInafQ+YFBM6UW3dWiNCZZx3f5vGDjLRXzcb6GqCgN9+ 3zXzwp6bgQ4n02ngyfraT37n7c8W5iEL/MDo4Qt/KpbHx4eZbFwK5TRLUKHjLQ== 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 4Q6kYQ68pdzSNV; Thu, 27 Apr 2023 18:20: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 33RIKAH2068674; Thu, 27 Apr 2023 18:20:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RIKAa8068667; Thu, 27 Apr 2023 18:20:10 GMT (envelope-from git) Date: Thu, 27 Apr 2023 18:20:10 GMT Message-Id: <202304271820.33RIKAa8068667@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 937d152b3e62 - stable/13 - rtld: reindent and style(9) elf_hash() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 937d152b3e62f936334887759798ebf5fc55e53e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=937d152b3e62f936334887759798ebf5fc55e53e commit 937d152b3e62f936334887759798ebf5fc55e53e Author: Ed Maste AuthorDate: 2023-04-12 15:06:14 +0000 Commit: Ed Maste CommitDate: 2023-04-27 17:05:17 +0000 rtld: reindent and style(9) elf_hash() In preparation for an upcoming change (D39517). Sponsored by: The FreeBSD Foundation (cherry picked from commit 87443cb6c669b51ceaa7f85db63191374477efc1) --- libexec/rtld-elf/rtld.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 30cb4b595b71..49685508d4dc 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -1843,17 +1843,17 @@ donelist_check(DoneList *dlp, const Obj_Entry *obj) unsigned long elf_hash(const char *name) { - const unsigned char *p = (const unsigned char *) name; - unsigned long h = 0; - unsigned long g; - - while (*p != '\0') { - h = (h << 4) + *p++; - if ((g = h & 0xf0000000) != 0) - h ^= g >> 24; - h &= ~g; - } - return (h); + const unsigned char *p = (const unsigned char *)name; + unsigned long h = 0; + unsigned long g; + + while (*p != '\0') { + h = (h << 4) + *p++; + if ((g = h & 0xf0000000) != 0) + h ^= g >> 24; + h &= ~g; + } + return (h); } /* From nobody Thu Apr 27 18:20:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6kYS1pWgz47lvT; Thu, 27 Apr 2023 18:20: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 4Q6kYS0G06z42c0; Thu, 27 Apr 2023 18:20:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682619612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gC+Yti2TFufnIXTOHwbTtKarcrQtrzWCcpRjq0kxiog=; b=FaOwtCSsoWxmox/uDi6g9L3EuePVBEkQQfCfkkKg8xKBKkHMegi8w52Mp5RE5/GLrUlWQz 5LC7N5UFCzTiitfak0p+GHk47V/o3nx7FRYxm8vpHPbkPxO1bggtG5tWnWP3wLDBM0HFk4 ZDen8A88aQsM+OXy1BfcKPDxxY5YOUdJ1LKKJEJrE9aKzM0bjjVHj0Tno7YasfZSnSyi9M ZvNAIFgfHbuVHt2RmvcDAxbKkmJAjpnc9sjSVyVgbaR39k5KzEQrMowvgzyhfYms2BRztD adaFzxZeGUKWR+zmSr44YmUFTjQHaSzzebs7ltealeR4EOXYgesNU+n41aKXXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682619612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gC+Yti2TFufnIXTOHwbTtKarcrQtrzWCcpRjq0kxiog=; b=S2O9a2S7DkBWR0KBzysicKJnY6LpE0KlCy6FRj67WqZZwDpTs37yGoCXk7sulxrEMjINTo xP6Bi1PfohQ64IPuyswZHMxMGBD6RNDY0DDn5tJJ3iFuTVbEVHZd3zhQulGijW9jWV0LUU BbfUqkB8u/AZSeiF+BSX7NbwFuOlV9v+UB9RxPB1tn5Jyo9thzC7HqBbmvsndVoTHmPmCN rgleWL3OMrb0q53yC9ZLlHARGTGZnkqkzdoEQmNQ0rJCCH7orcZ3q570jUOF0FJZOjDYDs KaDf8hexdpIQyphlBSZYEYWvBoNbgaKh0wWI1tyWHZWBINDgwLUYFrwoYl1bgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682619612; a=rsa-sha256; cv=none; b=C7ca2P/lBCHrfGvb4ebCkMvquqR+hQbgkuLTEtxmbZwKbAANH5wcGkGrA+R2+amAlMvc+5 Ccel4DVFETOxnb40i5vV7/+8lq2X1NENOjITZgCoJUKiUU7jacCbsVZP1Cea4OIqWZP5XO TXOztuCxRR/iHatvrqAhnnhIafJDJiz65XVtDlM6whdIWGnl0/Qod/GqAPubUJ9r+RHmD2 AeobCVL2F0tIodf8WXjFM8HstK+UtQuEoP6JIjl5WSTVtbtE/pYE6AvI+dI5zNwp3qRgVT 0Ae8p9JbXEkRFfboWgCc9fkiDDA4IBxz6PJS+shvC5DjCU7SihoTnzTmD5pq6g== 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 4Q6kYR6R1BzShY; Thu, 27 Apr 2023 18:20: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 33RIKBlD069315; Thu, 27 Apr 2023 18:20:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RIKBR7069312; Thu, 27 Apr 2023 18:20:11 GMT (envelope-from git) Date: Thu, 27 Apr 2023 18:20:11 GMT Message-Id: <202304271820.33RIKBR7069312@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 26cc23c84e0e - stable/13 - rtld: fix SysV hash function overflow List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 26cc23c84e0e8bfc6d32b7d802f3cb9598d6ef79 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=26cc23c84e0e8bfc6d32b7d802f3cb9598d6ef79 commit 26cc23c84e0e8bfc6d32b7d802f3cb9598d6ef79 Author: Ed Maste AuthorDate: 2023-04-12 15:07:26 +0000 Commit: Ed Maste CommitDate: 2023-04-27 17:05:22 +0000 rtld: fix SysV hash function overflow Quoting from https://maskray.me/blog/2023-04-12-elf-hash-function: The System V Application Binary Interface (generic ABI) specifies the ELF object file format. When producing an output executable or shared object needing a dynamic symbol table (.dynsym), a linker generates a .hash section with type SHT_HASH to hold a symbol hash table. A DT_HASH tag is produced to hold the address of .hash. The function is supposed to return a value no larger than 0x0fffffff. Unfortunately, there is a bug. When unsigned long consists of more than 32 bits, the return value may be larger than UINT32_MAX. For instance, elf_hash((const unsigned char *)"\xff\x0f\x0f\x0f\x0f\x0f\x12") returns 0x100000002, which is clearly unintended, as the function should behave the same way regardless of whether long represents a 32-bit integer or a 64-bit integer. Reviewed by: kib, Fangrui Song Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39517 (cherry picked from commit 29e3a06510823edbb91667d21f530d3ec778116d) --- libexec/rtld-elf/rtld.c | 15 ++++++--------- libexec/rtld-elf/rtld.h | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 49685508d4dc..dc8353ba6628 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -1837,23 +1837,20 @@ donelist_check(DoneList *dlp, const Obj_Entry *obj) } /* - * Hash function for symbol table lookup. Don't even think about changing - * this. It is specified by the System V ABI. + * SysV hash function for symbol table lookup. It is a slightly optimized + * version of the hash specified by the System V ABI. */ -unsigned long +Elf32_Word elf_hash(const char *name) { const unsigned char *p = (const unsigned char *)name; - unsigned long h = 0; - unsigned long g; + Elf32_Word h = 0; while (*p != '\0') { h = (h << 4) + *p++; - if ((g = h & 0xf0000000) != 0) - h ^= g >> 24; - h &= ~g; + h ^= (h >> 24) & 0xf0; } - return (h); + return (h & 0x0fffffff); } /* diff --git a/libexec/rtld-elf/rtld.h b/libexec/rtld-elf/rtld.h index 52ff8de911e2..e8e997753c6f 100644 --- a/libexec/rtld-elf/rtld.h +++ b/libexec/rtld-elf/rtld.h @@ -385,7 +385,7 @@ void dump_Elf_Rela(Obj_Entry *, const Elf_Rela *, u_long); */ uintptr_t rtld_round_page(uintptr_t); uintptr_t rtld_trunc_page(uintptr_t); -unsigned long elf_hash(const char *); +Elf32_Word elf_hash(const char *); const Elf_Sym *find_symdef(unsigned long, const Obj_Entry *, const Obj_Entry **, int, SymCache *, struct Struct_RtldLockState *); void lockdflt_init(void); From nobody Thu Apr 27 18:20:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6kYT1jbTz47lvX; Thu, 27 Apr 2023 18:20: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 4Q6kYT19sRz42kY; Thu, 27 Apr 2023 18:20:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682619613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EaeLzfmhpnznKz+0NZC4MWtMTLd1cRXX0L3CTXmMLNc=; b=lkGuZ0RmDTefBCcNSw0MOB96pL1i33ZHBNegTPPD073s4et0isMS0nhcRkhvfRGhxCdyYY 32MpN2m0sVWslmiu71YXdnmVSwX2UBZ/xMTDRyC8zOzvDFkjcvNM8NrCEPOSO4EeINBSca oIEBzgR/fuYr5Hu8anWi/IPkb9paobKPywFchZv1+I5olES8DbguOrBCqroZQX+uvmU2sb waEpG2MGE2vYOrfzlnKSvL3sHWdI0VQCX65y9T1naB8faGlsU4UyfH1+qXaRzG7ATEVoJk FHmWZBHraAHOPcdCr1XD3OlY25tUmGrFiK4N3+jVC8uJtD87zair4i7B33f3Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682619613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EaeLzfmhpnznKz+0NZC4MWtMTLd1cRXX0L3CTXmMLNc=; b=wE4FU+DI8hX4Bv6ih7Hv3VZPOJNGD8yZq9NcUd3tqmrVqLsBkVW0jNcn1So8JpSg7/EBOZ Tst6XgcidU13d+hPfSEHOPAPYPKoN2qS/tsrH4az5goirtDnn/3XlxAUJ27mk0WZGB1P6r humw4QEbyow4f1O/HZnH78cNvA0t6Kr/ZwsTd8Y6OxpFDKMSAZm4l7It4v5JPWS+/qmN6T iyry+nfDLQfLwQXXl3jvcJKrZWlTtTNAdspM4PJ2vwrEBiS1JqZDzJ1kaOaSJphyXg70SW Wdlkgy/70yIkxt5ToTlD0e2kA3RFrWiOHWND53fS80ZygJv71ogZgi9nBt/zew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682619613; a=rsa-sha256; cv=none; b=db61DT+c0bvkhbJaG+eV/3XFkj1A+eC06+iV53Rm+zfOOky5aVJXmHoYBPNSd69VVrnuu7 6iqX1LssT6UzAM9AJKbl61KkMnrtcNhlOwykt3dc05cqmtAWDjclm9BhG58DKv+vXOlshD rsBJ40T29RMIGu1NF6Veud85YnOeWL59cdr1BFv/NNG0sjqs1kWdl8j/2jAUFKbtxcgEiw Y6SpIg5n7+bYT/2TKDaKD7x9nG+AfItLyqzsNRh3O/+8Ll26VFjLPhTeP32LFTmHh+wsk1 rEp/xrMMvlRi621U2gLgB13Dq+Ovb+SD2P/l8EckocAAA6WFEVCwIhXUxSsvLw== 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 4Q6kYT03SYzSqc; Thu, 27 Apr 2023 18:20: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 33RIKC6L069939; Thu, 27 Apr 2023 18:20:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RIKCqv069930; Thu, 27 Apr 2023 18:20:12 GMT (envelope-from git) Date: Thu, 27 Apr 2023 18:20:12 GMT Message-Id: <202304271820.33RIKCqv069930@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 9e4ae81971f7 - stable/13 - link_elf: fix SysV hash function overflow List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9e4ae81971f7b85982c73c1b29424149b56f38dd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9e4ae81971f7b85982c73c1b29424149b56f38dd commit 9e4ae81971f7b85982c73c1b29424149b56f38dd Author: Ed Maste AuthorDate: 2023-04-12 14:04:27 +0000 Commit: Ed Maste CommitDate: 2023-04-27 17:05:28 +0000 link_elf: fix SysV hash function overflow Quoting from https://maskray.me/blog/2023-04-12-elf-hash-function: The System V Application Binary Interface (generic ABI) specifies the ELF object file format. When producing an output executable or shared object needing a dynamic symbol table (.dynsym), a linker generates a .hash section with type SHT_HASH to hold a symbol hash table. A DT_HASH tag is produced to hold the address of .hash. The function is supposed to return a value no larger than 0x0fffffff. Unfortunately, there is a bug. When unsigned long consists of more than 32 bits, the return value may be larger than UINT32_MAX. For instance, elf_hash((const unsigned char *)"\xff\x0f\x0f\x0f\x0f\x0f\x12") returns 0x100000002, which is clearly unintended, as the function should behave the same way regardless of whether long represents a 32-bit integer or a 64-bit integer. Reviewed by: kib, Fangrui Song Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39517 (cherry picked from commit 2ef2c26f3f132af33f6f12cd7b27d4dbbd7fa435) --- sys/kern/link_elf.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c index 245c8697cf79..3c06c8c79108 100644 --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -1481,23 +1481,20 @@ relocate_file(elf_file_t ef) } /* - * Hash function for symbol table lookup. Don't even think about changing - * this. It is specified by the System V ABI. + * SysV hash function for symbol table lookup. It is specified by the + * System V ABI. */ -static unsigned long +static Elf32_Word elf_hash(const char *name) { - const unsigned char *p = (const unsigned char *) name; - unsigned long h = 0; - unsigned long g; + const unsigned char *p = (const unsigned char *)name; + Elf32_Word h = 0; while (*p != '\0') { h = (h << 4) + *p++; - if ((g = h & 0xf0000000) != 0) - h ^= g >> 24; - h &= ~g; + h ^= (h >> 24) & 0xf0; } - return (h); + return (h & 0x0fffffff); } static int @@ -1508,7 +1505,7 @@ link_elf_lookup_symbol1(linker_file_t lf, const char *name, c_linker_sym_t *sym, unsigned long symnum; const Elf_Sym* symp; const char *strp; - unsigned long hash; + Elf32_Word hash; /* If we don't have a hash, bail. */ if (ef->buckets == NULL || ef->nbuckets == 0) { From nobody Thu Apr 27 18:38:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6kyx6R2vz47n5v; Thu, 27 Apr 2023 18:38: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 4Q6kyx5w4tz45wr; Thu, 27 Apr 2023 18:38:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682620729; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0NEOvW9Wv3ZMZ90x2VKMrjD71grQgU27dyxeFj2cfYc=; b=itvwT58zkE7mEFPeStIdyp8NQOBTUd3M5iNDVhoomGYrsCAGgDYOO/jMzssQfv3/BhSC0z we0Cn1PF47yTr7KcNmBGR8zOTUcnvlf/LAJUr8dXfL5wLrLWBMJD3kf/g3bQZZ4xA4tszw Eb+6T6mLwHLlSZS10jxXznZGltAjWwVZXX1A+yo9yXLs+M2oiq/S5z2S3YCPxpPgaF1wh3 TJyKP3bnawxRs4kild3SPU0EXykzd/5vRfYZXOSFYcgnJdZ4orEnb+qYGAlNg/1JkL9hRj iTB7CLUCfKKHs6yS2uR12kveE3SIHOZAJncy3KW1Uxx0pTLk5hqoDwkyUAnvYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682620729; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0NEOvW9Wv3ZMZ90x2VKMrjD71grQgU27dyxeFj2cfYc=; b=phuXVCZZvjkkTfPQfEhemEqqLMMaMeIChkDxuYHBlOOPM7gYYQ4QZUeW3b90oDp4C8vQ4Z 67HOkNErwI2VOlefu5xf391Q8Cmt5lvPVb/v0b3iZ80J6z9+y6eBTJRc7BeRWu00VKmzWq b5dt0z18n4Wq9wBR0ODymbr8pX0haecYt16ZUiq8Pr5GNUF/K2WEs+K0D54U1jKeoEmXeI ZhqfOk7TL/W/G9FuHUNx1Gn9fUMxvmBXdD3jdQ/v/YGts6Hc+30nI0knmF3lZ8iwQ7xZrU k+vzbRiX7dLWqUo4H+jsXKobZM6L2g34F12AtP8MdFCTE8Je0GNozUZBi6/89A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682620729; a=rsa-sha256; cv=none; b=oq6UHA8jemcYXL+nta4PTI3yRkVWZ1leRytlyL7HKcab/FuqdqgwUrG60Af1jDZCvySzEb ft0nb4UQUUrRS2Ar+VyTi69k2cPKx92Joioim1M8ZJP2drgVZ3ybnMfqthJGxlOy42b2HB 3nbxT0reLBnvwXgXAUzY4seAvLx93n6qFywKbXmnOAVrTltDbjMTkqGL8NWT52VjV/Pcga uUJzELq2pdZkJobXI4MUdrYF4YZgyaY04WoIue+RTBjgKwOrUhgnYuh6mKj7jsOWhnJ10e SxMs6hjpPZ0JfRAnfT+Fd05ubxbxAYzz3EFkD1zpaDPFYtqAetBUsxtKVZOOUw== 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 4Q6kyx4zmjzSq0; Thu, 27 Apr 2023 18:38: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 33RIcn3R097427; Thu, 27 Apr 2023 18:38:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RIcneG097426; Thu, 27 Apr 2023 18:38:49 GMT (envelope-from git) Date: Thu, 27 Apr 2023 18:38:49 GMT Message-Id: <202304271838.33RIcneG097426@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Yuri Pankov Subject: git: 08ed87514f92 - main - tzsetup: appease checkstyle9 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuripv X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 08ed87514f9286f557794756eeb519456c2ecfa9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by yuripv: URL: https://cgit.FreeBSD.org/src/commit/?id=08ed87514f9286f557794756eeb519456c2ecfa9 commit 08ed87514f9286f557794756eeb519456c2ecfa9 Author: Yuri Pankov AuthorDate: 2023-04-27 18:26:16 +0000 Commit: Yuri Pankov CommitDate: 2023-04-27 18:29:55 +0000 tzsetup: appease checkstyle9 --- usr.sbin/tzsetup/tzsetup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c index a20c0730c48e..56013f013673 100644 --- a/usr.sbin/tzsetup/tzsetup.c +++ b/usr.sbin/tzsetup/tzsetup.c @@ -67,7 +67,7 @@ __FBSDID("$FreeBSD$"); #define _PATH_WALL_CMOS_CLOCK "/etc/wall_cmos_clock" #ifdef PATH_MAX -#define SILLY_BUFFER_SIZE 2*PATH_MAX +#define SILLY_BUFFER_SIZE (2 * PATH_MAX) #else #warning "Somebody needs to fix this to dynamically size this buffer." #define SILLY_BUFFER_SIZE 2048 @@ -858,7 +858,7 @@ main(int argc, char **argv) skiputc = 1; while ((c = getopt(argc, argv, "C:d:nrs")) != -1) { - switch(c) { + switch (c) { case 'C': chrootenv = optarg; break; From nobody Thu Apr 27 20:42:05 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6nj94Bsdz47wR0; Thu, 27 Apr 2023 20:42: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 4Q6nj93Y1fz4Kvp; Thu, 27 Apr 2023 20:42:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682628125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=77pXcIAtuuqGILYfHD6WdZ6n02M+nm5GhJCvRovKK6o=; b=ocfkpq0us/IU1IKMHuYjJokc8QH5x1aYclzRWKZcw2dbnVLp/66GNgS1BMtUzr9DLBr3Ld BQT1g1m2u02NJlpu0pf3RD96TXm2suEVnoJcOhfxcdKEFG+1WQzpsCq5UyiSl2Q8I4TJZo 6+TkjpZpo9c28WLT0IlNDI7EKKr8bwU+PmHMtAphDG3X6B3p/rBacYk01GHKwJzMmGVce0 V0LHzkYmLHqJASYv7P+ng8zWMyW9SJKPMn+C1FUvQH9NK4HbkoxniJmCCRQ1k7fOdCcByz UTy56gP+X4oO1FThvBUpJpVKSo8qfpCncn3cN8Zm3yeP9QxK4ZJrqtOVRa2cOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682628125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=77pXcIAtuuqGILYfHD6WdZ6n02M+nm5GhJCvRovKK6o=; b=Z6l7zcZF6PvJGLYcctRPE0uj2/xltxnvezSpBSddTFWLSySFHKtCNoK6jW071aYfGVxW52 ro5q6iebT2Tupf/rXYltV3tMeEbpYJLqpwPtMaEVC8seJCfQpi8P1agkT7rGk+cKjDw6cz UarZiPw8uk+KqF08c7+Xk3kHPHTCT5wVXZqwsd34fgE8o8nhyg9mKJBv6+ReqgV/jRSyBO WZRrZiXka/s3mWIIJrhSI+f8EOhvxWsj9xhnF0lTZgGgLYacWOnaDkhPgSNxKp/aue8X/O uk1cImFltibhB543LptiD9qi2XGWSBtGgusXGRf79jQWr5Ag+L77N3Gfi5pgzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682628125; a=rsa-sha256; cv=none; b=OUoob25S2h+KDW7IYrJNlBXcKv3xUF2Ss2Zl3EfGaApnjiLgKxOcCq0wQ1M0zNRxq+MeWG iC8GWX06MUssiMWFWEjJAAvOv12++43nq5Lh3k+t1vOJNSzsO9RTVN6ii3rzYKmmS5VpGB VFAWY6QBa9ciFNfw12L8xUzBO3x9toaJZfTuonoV6teY33Yao27xx2RaNreg5hH0mzYkOf yp1IEhKE+5mgz3aB1pKl9qk3fyoq7nETejxUKX2nATbObLWVyqA/O1EHw2nN/o93LJUhT4 wO68JKHkiLfzG3Ub++ltuk1YE6XXxFnx85/NjPedbt5S/rt/dCE8Y8GliZfgdw== 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 4Q6nj92cRhzXmZ; Thu, 27 Apr 2023 20:42:05 +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 33RKg59F010993; Thu, 27 Apr 2023 20:42:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RKg5Be010992; Thu, 27 Apr 2023 20:42:05 GMT (envelope-from git) Date: Thu, 27 Apr 2023 20:42:05 GMT Message-Id: <202304272042.33RKg5Be010992@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: e020aa37b858 - main - jobs.mk report JOB_ARGS log and JOB_LOG_START List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e020aa37b85805eb9937f10a50ed5ec34eab35c4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=e020aa37b85805eb9937f10a50ed5ec34eab35c4 commit e020aa37b85805eb9937f10a50ed5ec34eab35c4 Author: Simon J. Gerraty AuthorDate: 2023-04-27 20:40:44 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-27 20:40:44 +0000 jobs.mk report JOB_ARGS log and JOB_LOG_START At the start of a job include info such as JOB_ARGS the log location and anything in JOB_LOG_START (eg TARGET_SPEC=${TARGET_SPEC}) --- share/mk/jobs.mk | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/share/mk/jobs.mk b/share/mk/jobs.mk index f465ea06310b..62fe9eeae030 100644 --- a/share/mk/jobs.mk +++ b/share/mk/jobs.mk @@ -1,4 +1,4 @@ -# $Id: jobs.mk,v 1.7 2023/04/18 23:32:28 sjg Exp $ +# $Id: jobs.mk,v 1.9 2023/04/27 18:10:27 sjg Exp $ # # @(#) Copyright (c) 2012-2023, Simon J. Gerraty # @@ -38,21 +38,30 @@ now_utc ?= ${%s:L:gmtime} start_utc := ${now_utc} .endif -.info ${.newline}${TIME_STAMP} Start ${.TARGETS} - .if make(*-jobs) +.info ${.newline}${TIME_STAMP} Start ${.TARGETS} JOB_LOGDIR ?= ${SRCTOP:H} JOB_LOG = ${JOB_LOGDIR}/${.TARGET:S,-jobs,,:S,/,_,g}.log JOB_LOG_GENS ?= 4 # we like to rotate logs .if empty(NEWLOG_SH) +.for d in ${.SYSPATH:U${.PARSEDIR}:@x@$x $x/scripts@} +.if exists($d/newlog.sh) +NEWLOG_SH := $d/newlog.sh +.if ${MAKE_VERSION} > 20220924 +.break +.endif +.endif +.endfor +.if empty(NEWLOG_SH) .ifdef M_whence NEWLOG_SH := ${newlog.sh:L:${M_whence}} .else NEWLOG_SH := ${(type newlog.sh) 2> /dev/null:L:sh:M/*} .endif .endif +.endif .if !empty(NEWLOG_SH) && exists(${NEWLOG_SH}) NEWLOG := sh ${NEWLOG_SH} JOB_NEWLOG_ARGS ?= -S -n ${JOB_LOG_GENS} @@ -72,7 +81,7 @@ JOB_ARGS+= -j${JOB_MAX} # build orchestration works as expected (DIRDEPS_BUILD) ${.TARGETS:M*-jobs}: @${NEWLOG} ${JOB_NEWLOG_ARGS} ${JOB_LOG} - @echo Logging to ${JOB_LOG} + @echo "${TIME_STAMP} Start ${.TARGET:S,-jobs,,} ${JOB_ARGS} ${JOB_LOG_START} log=${JOB_LOG}" | tee ${JOB_LOG} @cd ${.CURDIR} && env MAKELEVEL=0 \ ${.MAKE} ${JOB_ARGS} _TARGETS=${.TARGET:S,-jobs,,} ${.TARGET:S,-jobs,,} >> ${JOB_LOG} 2>&1 From nobody Thu Apr 27 21:17:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6pV85Mbmz47y72; Thu, 27 Apr 2023 21:17: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 4Q6pV84nRqz4P0g; Thu, 27 Apr 2023 21:17:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682630256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5NcwFmHEnMm/AWIZsbsjdQrahz7f9o1cb6yh2eKEoNs=; b=OzLJJJv+pe1o5k+R72JUrHwtONtmQsnDrWDKsKtAnudeeOuTzOhIWi/nsufV8aEUR+U7ey M7JhtvJCBm+BW3Ilsm9Fo0svyq8RrO2cA0M2VTMROywxBXpjlO4OUzrM7scCnpvEfZokoj WOiwvn0BFZdf/KQIYrNV7kMQnzLJxX4RPP7H9IKdYbDkjiR3ea/KisWYwfuFLV1KETjBWt qRUOYAzfdLlLZqOxFFEWtfIONPILuCl+Gn4yh99JxvfuaSAxkeqqjDryp7/VFQqCT1PZjH 9kZY6YC0geWyqfPLweMbYBklgnjb+fyP4AAuGBqD4dUgSmKQO1XqjpFoWkJ0tA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682630256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5NcwFmHEnMm/AWIZsbsjdQrahz7f9o1cb6yh2eKEoNs=; b=DwCK99koupmVfZ0lMAmMe7wjEsNwkDECm/sKrrUSfAZHbCParbwS2y/w4uvrfVOMes17Xt igOVSs7kP6dzhhuKRuGPvSQ6aCIqwOmPk40MwxHk6ox+W2VYTcSoU2hMjfUesliaTAwV+t bgxO1HmeUbR45/79E6vzuNuTERyuXlpDG25FZxogpRwSogH6H/ZBx0BW92ycK8AfAMJ9LS iZCxOhRG1iUunhzFRSzFP3NSoaPsEKdEA5lLRKS3XJv28XCgNquhgcCE9hZGuIJqS8PTh6 6H2u7YNg4DwuWHayytPX+E1opubp4fdAhRMQcre0YwDst/2yoDu78STl+6EpxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682630256; a=rsa-sha256; cv=none; b=tkZ71gAci913hiaHAE3DLEtMB4HsSSxAJEIRfF4FQAfccLh3sKZYwc7SEqrqxrSabe5Y+V ssVhVVffwuRwBLgVmsH4skLPKrvwi7vfwXQixer422LYc6AzPfoMlUJ1u/J3H7ELWua+jY lGZSFz8QMJ2D47bJu5VKR+6S67JtQS761/PaZygRSfrEDY9LnyeXYhUFMUs63IA4rDWzmh WHDFvlwxDDQRdHF39Lp7IyCcaoXtiE1cTNZ1STKl0yb1G5IAELIIXouBbRiuX19NBOifHy LzyEdQv0Th7r04R8bNs/FEA9mTvjrlpF5E2KFDLFyM9kXbIB+iHcGu3fQoqReg== 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 4Q6pV83rFHzYfq; Thu, 27 Apr 2023 21:17: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 33RLHa3I062027; Thu, 27 Apr 2023 21:17:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RLHaWp062026; Thu, 27 Apr 2023 21:17:36 GMT (envelope-from git) Date: Thu, 27 Apr 2023 21:17:36 GMT Message-Id: <202304272117.33RLHaWp062026@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 090e9752d729 - main - Additions to targets/pseudo/host-tools List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 090e9752d7291db0c251a5576892e3bbbaea2479 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=090e9752d7291db0c251a5576892e3bbbaea2479 commit 090e9752d7291db0c251a5576892e3bbbaea2479 Author: Simon J. Gerraty AuthorDate: 2023-04-27 21:16:49 +0000 Commit: Simon J. Gerraty CommitDate: 2023-04-27 21:16:49 +0000 Additions to targets/pseudo/host-tools More tools needed to be built for Linux. These are the ones that "just work". --- targets/pseudo/host-tools/Makefile.depend.host | 24 +++++++++++++++++++++--- usr.bin/awk/Makefile.depend.host | 11 +++++++++++ usr.bin/awk/Makefile.depend.options | 6 ++++++ usr.bin/cap_mkdb/Makefile.depend.host | 11 +++++++++++ usr.bin/cap_mkdb/Makefile.depend.options | 6 ++++++ usr.bin/file2c/Makefile.depend.host | 11 +++++++++++ usr.bin/file2c/Makefile.depend.options | 6 ++++++ usr.bin/lex/Makefile.depend.host | 11 +++++++++++ usr.bin/lex/Makefile.depend.options | 6 ++++++ usr.bin/mkdep/Makefile.depend.host | 11 +++++++++++ usr.bin/mkdep/Makefile.depend.options | 6 ++++++ usr.bin/rpcgen/Makefile.depend.host | 11 +++++++++++ usr.bin/rpcgen/Makefile.depend.options | 6 ++++++ usr.bin/sed/Makefile.depend.host | 11 +++++++++++ usr.bin/sed/Makefile.depend.options | 6 ++++++ usr.bin/xargs/Makefile.depend.host | 11 +++++++++++ usr.bin/xargs/Makefile.depend.options | 6 ++++++ usr.bin/yacc/Makefile.depend.host | 11 +++++++++++ usr.bin/yacc/Makefile.depend.options | 6 ++++++ 19 files changed, 174 insertions(+), 3 deletions(-) diff --git a/targets/pseudo/host-tools/Makefile.depend.host b/targets/pseudo/host-tools/Makefile.depend.host index 3be07061c202..a4525705b64b 100644 --- a/targets/pseudo/host-tools/Makefile.depend.host +++ b/targets/pseudo/host-tools/Makefile.depend.host @@ -1,7 +1,25 @@ DIRDEPS= \ - usr.bin/mkimg \ - usr.bin/tar \ - usr.sbin/makefs \ + usr.bin/awk \ + usr.bin/cap_mkdb \ + usr.bin/file2c \ + usr.bin/lex \ + usr.bin/mkdep \ + usr.bin/rpcgen \ + usr.bin/sed \ + usr.bin/xargs \ + usr.bin/yacc \ + usr.bin/mkimg \ + usr.bin/tar \ + usr.sbin/makefs \ + +# these need work +xDIRDEPS+= \ + bin/dd \ + bin/sh \ + usr.bin/lockf \ + usr.bin/stat \ + usr.sbin/mtree \ + .include diff --git a/usr.bin/awk/Makefile.depend.host b/usr.bin/awk/Makefile.depend.host new file mode 100644 index 000000000000..f80275d86ab1 --- /dev/null +++ b/usr.bin/awk/Makefile.depend.host @@ -0,0 +1,11 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/usr.bin/awk/Makefile.depend.options b/usr.bin/awk/Makefile.depend.options new file mode 100644 index 000000000000..4dcc6c412671 --- /dev/null +++ b/usr.bin/awk/Makefile.depend.options @@ -0,0 +1,6 @@ +DIRDEPS_OPTIONS = host_egacy + +DIRDEPS.host_egacy.yes = tools/build + +.include + diff --git a/usr.bin/cap_mkdb/Makefile.depend.host b/usr.bin/cap_mkdb/Makefile.depend.host new file mode 100644 index 000000000000..f80275d86ab1 --- /dev/null +++ b/usr.bin/cap_mkdb/Makefile.depend.host @@ -0,0 +1,11 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/usr.bin/cap_mkdb/Makefile.depend.options b/usr.bin/cap_mkdb/Makefile.depend.options new file mode 100644 index 000000000000..4dcc6c412671 --- /dev/null +++ b/usr.bin/cap_mkdb/Makefile.depend.options @@ -0,0 +1,6 @@ +DIRDEPS_OPTIONS = host_egacy + +DIRDEPS.host_egacy.yes = tools/build + +.include + diff --git a/usr.bin/file2c/Makefile.depend.host b/usr.bin/file2c/Makefile.depend.host new file mode 100644 index 000000000000..f80275d86ab1 --- /dev/null +++ b/usr.bin/file2c/Makefile.depend.host @@ -0,0 +1,11 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/usr.bin/file2c/Makefile.depend.options b/usr.bin/file2c/Makefile.depend.options new file mode 100644 index 000000000000..4dcc6c412671 --- /dev/null +++ b/usr.bin/file2c/Makefile.depend.options @@ -0,0 +1,6 @@ +DIRDEPS_OPTIONS = host_egacy + +DIRDEPS.host_egacy.yes = tools/build + +.include + diff --git a/usr.bin/lex/Makefile.depend.host b/usr.bin/lex/Makefile.depend.host new file mode 100644 index 000000000000..f80275d86ab1 --- /dev/null +++ b/usr.bin/lex/Makefile.depend.host @@ -0,0 +1,11 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/usr.bin/lex/Makefile.depend.options b/usr.bin/lex/Makefile.depend.options new file mode 100644 index 000000000000..4dcc6c412671 --- /dev/null +++ b/usr.bin/lex/Makefile.depend.options @@ -0,0 +1,6 @@ +DIRDEPS_OPTIONS = host_egacy + +DIRDEPS.host_egacy.yes = tools/build + +.include + diff --git a/usr.bin/mkdep/Makefile.depend.host b/usr.bin/mkdep/Makefile.depend.host new file mode 100644 index 000000000000..f80275d86ab1 --- /dev/null +++ b/usr.bin/mkdep/Makefile.depend.host @@ -0,0 +1,11 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/usr.bin/mkdep/Makefile.depend.options b/usr.bin/mkdep/Makefile.depend.options new file mode 100644 index 000000000000..4dcc6c412671 --- /dev/null +++ b/usr.bin/mkdep/Makefile.depend.options @@ -0,0 +1,6 @@ +DIRDEPS_OPTIONS = host_egacy + +DIRDEPS.host_egacy.yes = tools/build + +.include + diff --git a/usr.bin/rpcgen/Makefile.depend.host b/usr.bin/rpcgen/Makefile.depend.host new file mode 100644 index 000000000000..f80275d86ab1 --- /dev/null +++ b/usr.bin/rpcgen/Makefile.depend.host @@ -0,0 +1,11 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/usr.bin/rpcgen/Makefile.depend.options b/usr.bin/rpcgen/Makefile.depend.options new file mode 100644 index 000000000000..4dcc6c412671 --- /dev/null +++ b/usr.bin/rpcgen/Makefile.depend.options @@ -0,0 +1,6 @@ +DIRDEPS_OPTIONS = host_egacy + +DIRDEPS.host_egacy.yes = tools/build + +.include + diff --git a/usr.bin/sed/Makefile.depend.host b/usr.bin/sed/Makefile.depend.host new file mode 100644 index 000000000000..f80275d86ab1 --- /dev/null +++ b/usr.bin/sed/Makefile.depend.host @@ -0,0 +1,11 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/usr.bin/sed/Makefile.depend.options b/usr.bin/sed/Makefile.depend.options new file mode 100644 index 000000000000..4dcc6c412671 --- /dev/null +++ b/usr.bin/sed/Makefile.depend.options @@ -0,0 +1,6 @@ +DIRDEPS_OPTIONS = host_egacy + +DIRDEPS.host_egacy.yes = tools/build + +.include + diff --git a/usr.bin/xargs/Makefile.depend.host b/usr.bin/xargs/Makefile.depend.host new file mode 100644 index 000000000000..f80275d86ab1 --- /dev/null +++ b/usr.bin/xargs/Makefile.depend.host @@ -0,0 +1,11 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/usr.bin/xargs/Makefile.depend.options b/usr.bin/xargs/Makefile.depend.options new file mode 100644 index 000000000000..4dcc6c412671 --- /dev/null +++ b/usr.bin/xargs/Makefile.depend.options @@ -0,0 +1,6 @@ +DIRDEPS_OPTIONS = host_egacy + +DIRDEPS.host_egacy.yes = tools/build + +.include + diff --git a/usr.bin/yacc/Makefile.depend.host b/usr.bin/yacc/Makefile.depend.host new file mode 100644 index 000000000000..f80275d86ab1 --- /dev/null +++ b/usr.bin/yacc/Makefile.depend.host @@ -0,0 +1,11 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/usr.bin/yacc/Makefile.depend.options b/usr.bin/yacc/Makefile.depend.options new file mode 100644 index 000000000000..4dcc6c412671 --- /dev/null +++ b/usr.bin/yacc/Makefile.depend.options @@ -0,0 +1,6 @@ +DIRDEPS_OPTIONS = host_egacy + +DIRDEPS.host_egacy.yes = tools/build + +.include + From nobody Thu Apr 27 23:49:05 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6srx6H6Sz487WT; Thu, 27 Apr 2023 23:49: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 4Q6srx5mdRz3NMY; Thu, 27 Apr 2023 23:49:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682639345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P1M/LfnW4Jzreb+rKfacsrlToGya3hfNlnmWqTI0+Qo=; b=tk1i4avxBEaUox7mDyukMExsJS0DDe9gW9NLzzac3Kc71YkB2iNUUXbL6IXDVbcxHlMO4C YIwIhqqFtPEK5yxkh1Wr9+F9U4A5cLZ/EsLT/+0piWVRLsKOVXHR5Ek19LgrewZp2KdZC9 seFjrDHNrDeg/SLdHsgoJkLiw69sxiGOWazmSwW3CNrcf7A9TtTKz7uG7FZwt/vkBiFUJi cMebshdpSByKyr+ssQCR4FyMQJsUqsoAZHcn1Duifjqo2bxUHtAz7FdOZJPlXJe53W/FfV EAp6vAtzKcqpAB6xt+RrnWwdlqLWkbpFe9jcYOCOYY10xvr6Qi48QOwWHrabAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682639345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P1M/LfnW4Jzreb+rKfacsrlToGya3hfNlnmWqTI0+Qo=; b=ZwX7N90jYeRzq0F1zvZ2kZqdGdLHGm8grt+D2ZSX3fsqU9SDAPvVs4s+bykTqi35qwFZe9 49twZn458L9QPljLOIeK9qHbijjgJZK4PiperD/QGT99jM0M5+Ff+c3X96WEjyJJ5F3525 h5V9e2W+FQX2tPkJLLBSsKHK2tk2WEvJkSUJtZICuxtMZ9aCEf7NUtOSnPkdb3Um1IhenG 8NC37r0eUSlL9VWlauFXkUr5dnlgK67VJDjg0HwdazisaDEIRpMRYkNfNHw1OnJh8rhb62 m5ZwwPksNcv/YL8F4BG9Om4sRkSRh4aCiEny0V6AXOQkBZHojod6OKzKB145Mw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682639345; a=rsa-sha256; cv=none; b=OTJRJQkdZGPI6YooSrgyVduWIBNSqDEgllxj8+aG4ZqV4WazRZdzRNez2WRZdUS0WXi2av REkaTGKxYXBlqeiQ/X1J6zWbzmkjoezybS02m3gEYj6HmfO4tEl/4f2P5djOB9FRqzMnaN 2gWFJuSmIMwiYjhKKJ4IF1db6VtP1SLwVLgtusgaSqz70v7AYzWbDQ9kmBbjazzTXmDkr4 1NJByjrfJr9tibFpXvc0AtBIO8eg/TKJNhPvYfpbkq2UPh6lt8aOwg5MGypMNeHrr28ZAl af3ZQq8ZpAfiXWQEIliOTgA1x+THcy7oZrtOu+AoSKxPBOYIUPdNOetgUDNDHQ== 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 4Q6srx4q0czdMp; Thu, 27 Apr 2023 23:49:05 +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 33RNn54u008703; Thu, 27 Apr 2023 23:49:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33RNn5Vn008702; Thu, 27 Apr 2023 23:49:05 GMT (envelope-from git) Date: Thu, 27 Apr 2023 23:49:05 GMT Message-Id: <202304272349.33RNn5Vn008702@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: 7f6a000fcec3 - main - CONTRIBUTING: add intro describing the ways we accept contributions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7f6a000fcec36ea8aa5c12ab1f58d4648d114003 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=7f6a000fcec36ea8aa5c12ab1f58d4648d114003 commit 7f6a000fcec36ea8aa5c12ab1f58d4648d114003 Author: Ed Maste AuthorDate: 2023-04-27 16:13:04 +0000 Commit: Ed Maste CommitDate: 2023-04-27 23:43:56 +0000 CONTRIBUTING: add intro describing the ways we accept contributions Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39854 --- CONTRIBUTING.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3bdcd587df24..cc86e096dd18 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,6 +8,16 @@ how to build different parts of the project, etc. The [developer's handbook](https://docs.freebsd.org/en/books/developers-handbook/) is another useful resource. +FreeBSD accepts source code contributions using one of several methods: +- A GitHub [pull request](https://github.com/freebsd/freebsd-src/pulls) +- A code review in [Phabricator](https://reviews.freebsd.org/differential) +- An attachment on a [Bugzilla ticket](https://bugs.freebsd.org) +- Direct access to the [Git repository](https://cgit.freebsd.org/src/) + +The preferred method depends on a few factors including the size or scope of +the change. GitHub pull requests are preferred for relatively straightforward +changes where the contributor already has a GitHub account. + ## GitHub Pull Requests Presently, GitHub 'freebsd-src' repository is one of the publish-only services From nobody Fri Apr 28 01:29:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6w5G59CDz47l0k; Fri, 28 Apr 2023 01:29: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 4Q6w5G2KSRz3s28; Fri, 28 Apr 2023 01:29:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682645394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I+cOZxTVNsvYoxPSSV01KSHCy5D0xnamA+qO9rT8/Fk=; b=XBs+WYK8xk2sMI4GOXZf750jPt6HH9738zsumWTGq1gXHxCIu69PdWgT5bje3gGF1sg2bU Q/Dmpp2HuIFh7J6KxuhWiPBMOYsdYofhpPgf7H8baIquyejfjJNLnvno11N8TRSVjKuhot JQkQqPFps5ktChfEHfeK6TwA9Lprg5ctauXZYN8Lz8Edxjr1qeak4xHoPSTOMjODwMVUDE q7MdL6q6hSJ+j22zvrMK4NoXfCrAMUPGSPKlpo+nE2GExbfQmdSgVqZuOsQ7jDQC47URG1 cK2ws0UTEQg85HEJyo2KDwG8Mc654iO7k4N2v8bEQTYh3tCBBm5WQxqtV6d54w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682645394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I+cOZxTVNsvYoxPSSV01KSHCy5D0xnamA+qO9rT8/Fk=; b=mtfV/WyK0ApEeoS1NNH31XaATGgSUBh6ai/EGUh9Lv+npQSjrxLErBwdyW40pu655Q6+V2 e98FBLlCxKPvvd+nqV79j3PvA0L6LhaGV8uMZkSiwWc84/NPCF7CMkCNrUf/lIJmkWp3CU WRjrNq7sMtt6Yp139Ah+9+tiH4Aea7o5I8+L3wP9swkc7daYc+OQ6WAzPjhmMe1IjznLl5 emEKcMNSOQ5YDXDLDjIsXjQcaRhlxYYpuvMGAIXLL60pFVniokddKJgR1SgtiPl5qZ8jTz EB+US8C5x5vexAICZu+gPdJS+Byy/Am2uPv/iMe2nnFuzbn+RRwWUbhyxwa/cw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682645394; a=rsa-sha256; cv=none; b=V9xXIpFFcwbzNqoAoYOMN2z7KrZTsr5QNx+/zJKSZpbFQeQHiSbej8owvigfgC4Mpg1glT QccNZM6cJScLN3BisNZZSBiaGJOT6DhujaoTjNQ9mbiqPgLsX7MdIyfieFelnQpAhNDIVT cEIVjzeBOgl/ep4UrhcgMn6LsKr9Mk3CtNIv/zM2hRuFXWvaoNTF4Sx5c5dnwD8mLSgywN GrQYKglOhvfUrNbyamCY46fZwEnMMqWFsf0tJ8t+rGSPRczembQblRxhrIXfXQguOerU1P boiWV11LdhzqfPpv+ZJvIpVK4F2NCcIq8BrhOa1UmDYn51jJi3qZaVZt5pmr2g== 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 4Q6w5G1P40zgXD; Fri, 28 Apr 2023 01:29: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 33S1TsoQ075155; Fri, 28 Apr 2023 01:29:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S1TsxR075154; Fri, 28 Apr 2023 01:29:54 GMT (envelope-from git) Date: Fri, 28 Apr 2023 01:29:54 GMT Message-Id: <202304280129.33S1TsxR075154@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: 6bce3f23d0aa - main - vfs: Export get_next_dirent() as vn_dir_next_dirent() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6bce3f23d0aa045d61c0ec8d27100eb186a33375 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6bce3f23d0aa045d61c0ec8d27100eb186a33375 commit 6bce3f23d0aa045d61c0ec8d27100eb186a33375 Author: Olivier Certner AuthorDate: 2023-04-23 07:47:58 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-28 01:27:54 +0000 vfs: Export get_next_dirent() as vn_dir_next_dirent() Move internal-to-'vfs_default.c' get_next_dirent() to 'vfs_vnops.c' and export it for use by other parts of the VFS. This is a preparatory change for using it in vfs_emptydir(). No functional change. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39755 --- sys/kern/vfs_default.c | 73 +++----------------------------------------------- sys/kern/vfs_vnops.c | 62 ++++++++++++++++++++++++++++++++++++++++++ sys/sys/vnode.h | 3 +++ 3 files changed, 69 insertions(+), 69 deletions(-) diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index ee1310215621..7da4f7b62cff 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -75,15 +75,9 @@ __FBSDID("$FreeBSD$"); static int vop_nolookup(struct vop_lookup_args *); static int vop_norename(struct vop_rename_args *); static int vop_nostrategy(struct vop_strategy_args *); -static int get_next_dirent(struct vnode *vp, struct dirent **dpp, - char *dirbuf, int dirbuflen, off_t *off, - char **cpos, int *len, int *eofflag, - struct thread *td); static int dirent_exists(struct vnode *vp, const char *dirname, struct thread *td); -#define DIRENT_MINSIZE (sizeof(struct dirent) - (MAXNAMLEN+1) + 4) - static int vop_stdis_text(struct vop_is_text_args *ap); static int vop_stdunset_text(struct vop_unset_text_args *ap); static int vop_stdadd_writecount(struct vop_add_writecount_args *ap); @@ -281,65 +275,6 @@ vop_nostrategy (struct vop_strategy_args *ap) return (EOPNOTSUPP); } -static int -get_next_dirent(struct vnode *vp, struct dirent **dpp, char *dirbuf, - int dirbuflen, off_t *off, char **cpos, int *len, - int *eofflag, struct thread *td) -{ - int error, reclen; - struct uio uio; - struct iovec iov; - struct dirent *dp; - - KASSERT(VOP_ISLOCKED(vp), ("vp %p is not locked", vp)); - KASSERT(vp->v_type == VDIR, ("vp %p is not a directory", vp)); - - if (*len == 0) { - iov.iov_base = dirbuf; - iov.iov_len = dirbuflen; - - uio.uio_iov = &iov; - uio.uio_iovcnt = 1; - uio.uio_offset = *off; - uio.uio_resid = dirbuflen; - uio.uio_segflg = UIO_SYSSPACE; - uio.uio_rw = UIO_READ; - uio.uio_td = td; - - *eofflag = 0; - -#ifdef MAC - error = mac_vnode_check_readdir(td->td_ucred, vp); - if (error == 0) -#endif - error = VOP_READDIR(vp, &uio, td->td_ucred, eofflag, - NULL, NULL); - if (error) - return (error); - - *off = uio.uio_offset; - - *cpos = dirbuf; - *len = (dirbuflen - uio.uio_resid); - - if (*len == 0) - return (ENOENT); - } - - dp = (struct dirent *)(*cpos); - reclen = dp->d_reclen; - *dpp = dp; - - /* check for malformed directory.. */ - if (reclen < DIRENT_MINSIZE) - return (EINVAL); - - *cpos += reclen; - *len -= reclen; - - return (0); -} - /* * Check if a named file exists in a given directory vnode. */ @@ -369,8 +304,8 @@ dirent_exists(struct vnode *vp, const char *dirname, struct thread *td) off = 0; len = 0; do { - error = get_next_dirent(vp, &dp, dirbuf, dirbuflen, &off, - &cpos, &len, &eofflag, td); + error = vn_dir_next_dirent(vp, &dp, dirbuf, dirbuflen, &off, + &cpos, &len, &eofflag, td); if (error) goto out; @@ -808,8 +743,8 @@ vop_stdvptocnp(struct vop_vptocnp_args *ap) len = 0; do { /* call VOP_READDIR of parent */ - error = get_next_dirent(*dvp, &dp, dirbuf, dirbuflen, &off, - &cpos, &len, &eofflag, td); + error = vn_dir_next_dirent(*dvp, &dp, dirbuf, dirbuflen, &off, + &cpos, &len, &eofflag, td); if (error) goto out; diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 581d620e348e..ad9b0c8864b0 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -65,6 +65,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -3736,6 +3737,67 @@ vn_fspacectl(struct file *fp, int cmd, off_t *offset, off_t *length, int flags, return (error); } +#define DIRENT_MINSIZE (sizeof(struct dirent) - (MAXNAMLEN+1) + 4) + +int +vn_dir_next_dirent(struct vnode *vp, struct dirent **dpp, char *dirbuf, + int dirbuflen, off_t *off, char **cpos, int *len, + int *eofflag, struct thread *td) +{ + int error, reclen; + struct uio uio; + struct iovec iov; + struct dirent *dp; + + KASSERT(VOP_ISLOCKED(vp), ("vp %p is not locked", vp)); + KASSERT(vp->v_type == VDIR, ("vp %p is not a directory", vp)); + + if (*len == 0) { + iov.iov_base = dirbuf; + iov.iov_len = dirbuflen; + + uio.uio_iov = &iov; + uio.uio_iovcnt = 1; + uio.uio_offset = *off; + uio.uio_resid = dirbuflen; + uio.uio_segflg = UIO_SYSSPACE; + uio.uio_rw = UIO_READ; + uio.uio_td = td; + + *eofflag = 0; + +#ifdef MAC + error = mac_vnode_check_readdir(td->td_ucred, vp); + if (error == 0) +#endif + error = VOP_READDIR(vp, &uio, td->td_ucred, eofflag, + NULL, NULL); + if (error) + return (error); + + *off = uio.uio_offset; + + *cpos = dirbuf; + *len = (dirbuflen - uio.uio_resid); + + if (*len == 0) + return (ENOENT); + } + + dp = (struct dirent *)(*cpos); + reclen = dp->d_reclen; + *dpp = dp; + + /* check for malformed directory.. */ + if (reclen < DIRENT_MINSIZE) + return (EINVAL); + + *cpos += reclen; + *len -= reclen; + + return (0); +} + static u_long vn_lock_pair_pause_cnt; SYSCTL_ULONG(_debug, OID_AUTO, vn_lock_pair_pause, CTLFLAG_RD, &vn_lock_pair_pause_cnt, 0, diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index fa889826867e..282f75bcdd71 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -1099,6 +1099,9 @@ void vfs_hash_remove(struct vnode *vp); int vfs_kqfilter(struct vop_kqfilter_args *); struct dirent; +int vn_dir_next_dirent(struct vnode *vp, struct dirent **dpp, char *dirbuf, + int dirbuflen, off_t *off, char **cpos, int *len, + int *eofflag, struct thread *td); int vfs_read_dirent(struct vop_readdir_args *ap, struct dirent *dp, off_t off); int vfs_emptydir(struct vnode *vp); From nobody Fri Apr 28 01:29:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6w5H5CB8z47l5f; Fri, 28 Apr 2023 01:29: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 4Q6w5H48wCz3rnQ; Fri, 28 Apr 2023 01:29:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682645395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rzct86O9wDYUPdSQM4LYW8Zbok5d08Hcc0fbjOYE5Ac=; b=Xaw5286wORbRUfW/CFzWizr7bVWpBnf0HDfBKdxNqRNFGk5GouYc1T86i7//djkukUM8WL SyD9FzsbI9UEj6lfvyFJBwkIBd/D+bj0GjksVGeurhN2iAUok6HJVZLiBWJesdCG3oP6gY 1yiNCdqr0bxt4++nxGk6OYrEafFMb/mB/URulFYj45sQkfa2tFKNbAgYM2H3apfXogkt9t rLibHlb/xifGQZve8duBnK3GzzmavolKxZ/eKjptJ+UpZub3RJGMaed1WWKymW0I4yrcj6 V9/oSXHgyVR8pX3kLLoo7GYZR/w01s4iw2H5giEY7IWzMlWO18Qg4Gc13zWw4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682645395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rzct86O9wDYUPdSQM4LYW8Zbok5d08Hcc0fbjOYE5Ac=; b=R2KUTM1z8zzZ3O+kM9gB7rK7jkxtnEYOYjF5hT1aljSmYZ8ES+bpVzgjLJasi557vSbKsO x10D+TOvq9zEVHahG54MQ/NwvR6TQtTwlfq7AprsR5aFf1GTWCo4IAXg8/K1zM7h7PcsU0 ifGvCP2eqJb9nx9mG1/SDrl/zmygjmBiZZFvIBENMd+crm1p2qbSyz+sQClcYbX/H+uJhA CHPuZ6fx87YXhkXVjKjyIkTCt3qM8zCcyKT5smctFWBOgcoCBFzpeJy23tmMx2usWa0B0e NfMuLDePmew5cs5BNq51ihRPaR4v+pJsO/fcW6PbVdGR1Dq0VTW2Sl0QSG/sLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682645395; a=rsa-sha256; cv=none; b=xosMYgaFMLlR7rqJcNg5Nh1jvQg1MaFZPbwOM715CiU5WFQmbNp7TZgj3QTptJliL9RO7E 7cs6xjJWZqXaAy96QwpQYaZPn8W/MNbum3FcjrXIqWQDFR2AVOr6CUJFjMKv7vr0QNznxh evu32cUMqUphMVYr4xCoo1m0+NmM4YS6clxXQNDy94cquC2b5A6B7b502GwDGDiqHDMHvl xmI4I9J7zH4tRFuAmj3qpFYBIj/vTOAfASyP8TBQDheWtEFnSx0r3r5kbSp0Sy/NUqW+AY 137ADCPmUBSVq0URrRBhHfkPVtGJS2FW9G8YN/DFM6+naaKqWxKs9BDx6t5P3Q== 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 4Q6w5H2JV7zgZ9; Fri, 28 Apr 2023 01:29: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 33S1TtIm075176; Fri, 28 Apr 2023 01:29:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S1TtEs075175; Fri, 28 Apr 2023 01:29:55 GMT (envelope-from git) Date: Fri, 28 Apr 2023 01:29:55 GMT Message-Id: <202304280129.33S1TtEs075175@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: 3d8450db4c60 - main - vfs: vn_dir_next_dirent(): Simplify interface and harden List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3d8450db4c603d18aa45422159170e133c95214d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3d8450db4c603d18aa45422159170e133c95214d commit 3d8450db4c603d18aa45422159170e133c95214d Author: Olivier Certner AuthorDate: 2023-04-24 08:25:15 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-28 01:27:54 +0000 vfs: vn_dir_next_dirent(): Simplify interface and harden Simplify the old interface (one less argument, simpler termination test) and add documentation about it. Add more sanity checks (mostly under INVARIANTS, but also in the general case to prevent infinite loops). Drop the explicit test on minimum directory entry size (without INVARIANTS). Deal with the impacts in callers (dirent_exists() and vop_stdvptocnp()). dirent_exists() has been simplified a bit, preserving the exact same semantics but for the return code whose meaning has been reversed (0 now means the entry exists, ENOENT that it doesn't and other values are genuine errors). While here, suppress gratuitous casts of malloc return values. vn_dir_next_dirent() has been tested by a 'make -j4 buildkernel' with a temporary modification to the VFS cache causing vn_vptocnp() to always call VOP_VPTOCNP() and finally vop_stdvptocnp() (observed with temporary debug counters). Export new _GENERIC_MINDIRSIZ and _GENERIC_MAXDIRSIZ on __BSD_VISIBLE, and GENERIC_MINDIRSIZ and GENERIC_MAXDIRSIZ on _KERNEL. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39764 --- sys/kern/vfs_default.c | 94 ++++++++++++++++------------- sys/kern/vfs_vnops.c | 156 ++++++++++++++++++++++++++++++++++++++++--------- sys/sys/dirent.h | 5 +- sys/sys/vnode.h | 6 +- 4 files changed, 187 insertions(+), 74 deletions(-) diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index 7da4f7b62cff..87ba1e0d728f 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -276,49 +276,56 @@ vop_nostrategy (struct vop_strategy_args *ap) } /* - * Check if a named file exists in a given directory vnode. + * Check if a named file exists in a given directory vnode + * + * Returns 0 if the file exists, ENOENT if it doesn't, or errors returned by + * vn_dir_next_dirent(). */ static int dirent_exists(struct vnode *vp, const char *dirname, struct thread *td) { - char *dirbuf, *cpos; - int error, eofflag, dirbuflen, len, found; + char *dirbuf; + int error, eofflag; + size_t dirbuflen, len; off_t off; struct dirent *dp; struct vattr va; - KASSERT(VOP_ISLOCKED(vp), ("vp %p is not locked", vp)); + ASSERT_VOP_LOCKED(vp, "vnode not locked"); KASSERT(vp->v_type == VDIR, ("vp %p is not a directory", vp)); - found = 0; - error = VOP_GETATTR(vp, &va, td->td_ucred); - if (error) - return (found); + if (error != 0) + return (error); - dirbuflen = DEV_BSIZE; + dirbuflen = MAX(DEV_BSIZE, GENERIC_MAXDIRSIZ); if (dirbuflen < va.va_blocksize) dirbuflen = va.va_blocksize; - dirbuf = (char *)malloc(dirbuflen, M_TEMP, M_WAITOK); + dirbuf = malloc(dirbuflen, M_TEMP, M_WAITOK); - off = 0; len = 0; - do { - error = vn_dir_next_dirent(vp, &dp, dirbuf, dirbuflen, &off, - &cpos, &len, &eofflag, td); - if (error) + off = 0; + eofflag = 0; + + for (;;) { + error = vn_dir_next_dirent(vp, td, dirbuf, dirbuflen, + &dp, &len, &off, &eofflag); + if (error != 0) goto out; + if (len == 0) + break; + if (dp->d_type != DT_WHT && dp->d_fileno != 0 && - strcmp(dp->d_name, dirname) == 0) { - found = 1; + strcmp(dp->d_name, dirname) == 0) goto out; - } - } while (len > 0 || !eofflag); + } + + error = ENOENT; out: free(dirbuf, M_TEMP); - return (found); + return (error); } int @@ -672,27 +679,24 @@ vop_stdvptofh(struct vop_vptofh_args *ap) int vop_stdvptocnp(struct vop_vptocnp_args *ap) { - struct vnode *vp = ap->a_vp; - struct vnode **dvp = ap->a_vpp; - struct ucred *cred; + struct vnode *const vp = ap->a_vp; + struct vnode **const dvp = ap->a_vpp; char *buf = ap->a_buf; size_t *buflen = ap->a_buflen; - char *dirbuf, *cpos; - int i, error, eofflag, dirbuflen, flags, locked, len, covered; + char *dirbuf; + int i = *buflen; + int error = 0, covered = 0; + int eofflag, flags, locked; + size_t dirbuflen, len; off_t off; ino_t fileno; struct vattr va; struct nameidata nd; - struct thread *td; + struct thread *const td = curthread; + struct ucred *const cred = td->td_ucred; struct dirent *dp; struct vnode *mvp; - i = *buflen; - error = 0; - covered = 0; - td = curthread; - cred = td->td_ucred; - if (vp->v_type != VDIR) return (ENOENT); @@ -729,31 +733,38 @@ vop_stdvptocnp(struct vop_vptocnp_args *ap) fileno = va.va_fileid; - dirbuflen = DEV_BSIZE; + dirbuflen = MAX(DEV_BSIZE, GENERIC_MAXDIRSIZ); if (dirbuflen < va.va_blocksize) dirbuflen = va.va_blocksize; - dirbuf = (char *)malloc(dirbuflen, M_TEMP, M_WAITOK); + dirbuf = malloc(dirbuflen, M_TEMP, M_WAITOK); if ((*dvp)->v_type != VDIR) { error = ENOENT; goto out; } - off = 0; len = 0; - do { + off = 0; + eofflag = 0; + + for (;;) { /* call VOP_READDIR of parent */ - error = vn_dir_next_dirent(*dvp, &dp, dirbuf, dirbuflen, &off, - &cpos, &len, &eofflag, td); - if (error) + error = vn_dir_next_dirent(*dvp, td, + dirbuf, dirbuflen, &dp, &len, &off, &eofflag); + if (error != 0) goto out; + if (len == 0) { + error = ENOENT; + goto out; + } + if ((dp->d_type != DT_WHT) && (dp->d_fileno == fileno)) { if (covered) { VOP_UNLOCK(*dvp); vn_lock(mvp, LK_SHARED | LK_RETRY); - if (dirent_exists(mvp, dp->d_name, td)) { + if (dirent_exists(mvp, dp->d_name, td) == 0) { error = ENOENT; VOP_UNLOCK(mvp); vn_lock(*dvp, LK_SHARED | LK_RETRY); @@ -776,8 +787,7 @@ vop_stdvptocnp(struct vop_vptocnp_args *ap) } goto out; } - } while (len > 0 || !eofflag); - error = ENOENT; + } out: free(dirbuf, M_TEMP); diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index ad9b0c8864b0..415ed158b5a3 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -3737,22 +3737,112 @@ vn_fspacectl(struct file *fp, int cmd, off_t *offset, off_t *length, int flags, return (error); } -#define DIRENT_MINSIZE (sizeof(struct dirent) - (MAXNAMLEN+1) + 4) +/* + * Keep this assert as long as sizeof(struct dirent) is used as the maximum + * entry size. + */ +_Static_assert(_GENERIC_MAXDIRSIZ == sizeof(struct dirent), + "'struct dirent' size must be a multiple of its alignment " + "(see _GENERIC_DIRLEN())"); +/* + * Returns successive directory entries through some caller's provided buffer + * + * This function automatically refills the provided buffer with calls to + * VOP_READDIR() (after MAC permission checks). + * + * 'td' is used for credentials and passed to uiomove(). 'dirbuf' is the + * caller's buffer to fill and 'dirbuflen' its allocated size. 'dirbuf' must be + * properly aligned to access 'struct dirent' structures and 'dirbuflen' must + * be greater than GENERIC_MAXDIRSIZ to avoid VOP_READDIR() returning EINVAL + * (the latter is not a strong guarantee (yet); but EINVAL will always be + * returned if this requirement is not verified). '*dpp' points to the current + * directory entry in the buffer and '*len' contains the remaining valid bytes + * in 'dirbuf' after 'dpp' (including the pointed entry). + * + * At first call (or when restarting the read), '*len' must have been set to 0, + * '*off' to 0 (or any valid start offset) and '*eofflag' to 0. There are no + * more entries as soon as '*len' is 0 after a call that returned 0. Calling + * again this function after such a condition is considered an error and EINVAL + * will be returned. Other possible error codes are those of VOP_READDIR(), + * EINTEGRITY if the returned entries do not pass coherency tests, or EINVAL + * (bad call). All errors are unrecoverable, i.e., the state ('*len', '*off' + * and '*eofflag') must be re-initialized before a subsequent call. On error or + * at end of directory, '*dpp' is reset to NULL. + * + * '*len', '*off' and '*eofflag' are internal state the caller should not + * tamper with except as explained above. '*off' is the next directory offset + * to read from to refill the buffer. '*eofflag' is set to 0 or 1 by the last + * internal call to VOP_READDIR() that returned without error, indicating + * whether it reached the end of the directory, and to 2 by this function after + * all entries have been read. + */ int -vn_dir_next_dirent(struct vnode *vp, struct dirent **dpp, char *dirbuf, - int dirbuflen, off_t *off, char **cpos, int *len, - int *eofflag, struct thread *td) +vn_dir_next_dirent(struct vnode *vp, struct thread *td, + char *dirbuf, size_t dirbuflen, + struct dirent **dpp, size_t *len, off_t *off, int *eofflag) { - int error, reclen; + struct dirent *dp = NULL; + int reclen; + int error; struct uio uio; struct iovec iov; - struct dirent *dp; - KASSERT(VOP_ISLOCKED(vp), ("vp %p is not locked", vp)); - KASSERT(vp->v_type == VDIR, ("vp %p is not a directory", vp)); + ASSERT_VOP_LOCKED(vp, "vnode not locked"); + VNASSERT(vp->v_type == VDIR, vp, ("vnode is not a directory")); + MPASS2((uintptr_t)dirbuf < (uintptr_t)dirbuf + dirbuflen, + "Address space overflow"); + + if (__predict_false(dirbuflen < GENERIC_MAXDIRSIZ)) { + /* Don't take any chances in this case */ + error = EINVAL; + goto out; + } + + if (*len != 0) { + dp = *dpp; + + /* + * The caller continued to call us after an error (we set dp to + * NULL in a previous iteration). Bail out right now. + */ + if (__predict_false(dp == NULL)) + return (EINVAL); + + MPASS(*len <= dirbuflen); + MPASS2((uintptr_t)dirbuf <= (uintptr_t)dp && + (uintptr_t)dp + *len <= (uintptr_t)dirbuf + dirbuflen, + "Filled range not inside buffer"); + + reclen = dp->d_reclen; + if (reclen >= *len) { + /* End of buffer reached */ + *len = 0; + } else { + dp = (struct dirent *)((char *)dp + reclen); + *len -= reclen; + } + } if (*len == 0) { + dp = NULL; + + /* Have to refill. */ + switch (*eofflag) { + case 0: + break; + + case 1: + /* Nothing more to read. */ + *eofflag = 2; /* Remember the caller reached EOF. */ + goto success; + + default: + /* The caller didn't test for EOF. */ + error = EINVAL; + goto out; + } + iov.iov_base = dirbuf; iov.iov_len = dirbuflen; @@ -3764,40 +3854,50 @@ vn_dir_next_dirent(struct vnode *vp, struct dirent **dpp, char *dirbuf, uio.uio_rw = UIO_READ; uio.uio_td = td; - *eofflag = 0; - #ifdef MAC error = mac_vnode_check_readdir(td->td_ucred, vp); if (error == 0) #endif error = VOP_READDIR(vp, &uio, td->td_ucred, eofflag, - NULL, NULL); - if (error) - return (error); + NULL, NULL); + if (error != 0) + goto out; + *len = dirbuflen - uio.uio_resid; *off = uio.uio_offset; - *cpos = dirbuf; - *len = (dirbuflen - uio.uio_resid); - - if (*len == 0) - return (ENOENT); - } + if (*len == 0) { + /* Sanity check on INVARIANTS. */ + MPASS(*eofflag != 0); + *eofflag = 1; + goto success; + } - dp = (struct dirent *)(*cpos); - reclen = dp->d_reclen; - *dpp = dp; + /* + * Normalize the flag returned by VOP_READDIR(), since we use 2 + * as a sentinel value. + */ + if (*eofflag != 0) + *eofflag = 1; - /* check for malformed directory.. */ - if (reclen < DIRENT_MINSIZE) - return (EINVAL); + dp = (struct dirent *)dirbuf; + } - *cpos += reclen; - *len -= reclen; + if (__predict_false(*len < GENERIC_MINDIRSIZ || + dp->d_reclen < GENERIC_MINDIRSIZ)) { + error = EINTEGRITY; + dp = NULL; + goto out; + } - return (0); +success: + error = 0; +out: + *dpp = dp; + return (error); } + static u_long vn_lock_pair_pause_cnt; SYSCTL_ULONG(_debug, OID_AUTO, vn_lock_pair_pause, CTLFLAG_RD, &vn_lock_pair_pause_cnt, 0, diff --git a/sys/sys/dirent.h b/sys/sys/dirent.h index b3c5e00cd9ad..9087b01fa597 100644 --- a/sys/sys/dirent.h +++ b/sys/sys/dirent.h @@ -122,11 +122,14 @@ struct freebsd11_dirent { #define _GENERIC_DIRLEN(namlen) \ ((__offsetof(struct dirent, d_name) + (namlen) + 1 + 7) & ~7) #define _GENERIC_DIRSIZ(dp) _GENERIC_DIRLEN((dp)->d_namlen) +#define _GENERIC_MINDIRSIZ _GENERIC_DIRLEN(1) /* Name must not be empty */ +#define _GENERIC_MAXDIRSIZ _GENERIC_DIRLEN(MAXNAMLEN) #endif /* __BSD_VISIBLE */ #ifdef _KERNEL #define GENERIC_DIRSIZ(dp) _GENERIC_DIRSIZ(dp) - +#define GENERIC_MINDIRSIZ _GENERIC_MINDIRSIZ +#define GENERIC_MAXDIRSIZ _GENERIC_MAXDIRSIZ /* * Ensure that padding bytes are zeroed and that the name is NUL-terminated. */ diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 282f75bcdd71..8403dd8c035b 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -1099,9 +1099,9 @@ void vfs_hash_remove(struct vnode *vp); int vfs_kqfilter(struct vop_kqfilter_args *); struct dirent; -int vn_dir_next_dirent(struct vnode *vp, struct dirent **dpp, char *dirbuf, - int dirbuflen, off_t *off, char **cpos, int *len, - int *eofflag, struct thread *td); +int vn_dir_next_dirent(struct vnode *vp, struct thread *td, + char *dirbuf, size_t dirbuflen, + struct dirent **dpp, size_t *len, off_t *off, int *eofflag); int vfs_read_dirent(struct vop_readdir_args *ap, struct dirent *dp, off_t off); int vfs_emptydir(struct vnode *vp); From nobody Fri Apr 28 01:29:56 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6w5J4mGYz47kny; Fri, 28 Apr 2023 01:29: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 4Q6w5J497mz3rnt; Fri, 28 Apr 2023 01:29:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682645396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=evnxdOEJKy+j5Pz1CS7sm9gnJ4/r68Sp+DnYsjpLUm0=; b=OqLemzHy05eq5+Sw/LrD2Tbov8Hr1N3oOvdZl4GkDyRJR2xRekDTIGAhETldTISgGS+5dp QhkAePjoqjn28SFSXfCM5BmmiJOrZwgJ1edxlp6lb98PnNr8sY0jOAyDptXGyetK7QtWgb +EaNrihOvrFyZWx4fPo04s6+LiDhHX4mV7aG++URozNfV2A0FUVu/znZlcbee+HLcLlsvT kqQJ0v6HtLgdnyVfzFAD2se9pFFs8UbL8cHe9GQpJhJaUVbsD708wB/zw5x5YHFzHmr87O VfogTe+EmAQ9P/tczi0Afbehqnvbhv0RdJ8um+Jd6MOAhaZEFnROah9rLxqdkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682645396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=evnxdOEJKy+j5Pz1CS7sm9gnJ4/r68Sp+DnYsjpLUm0=; b=qmUimgnTYGIiESPbpjAab9vABG3RmKftIdFCQP0vquBz/9clsXqXGL9k6H4TnDAICTMmJk oaWkS9Rw8i83T7i53cTTa/BzDGjya+jsiRFt5kgW6T5Asin9rKpDvBe0N6xFosFw2dYlh1 +wvTm8ul41C42CNzg8cswKKICoVNlMNil8D1Tix9QCQsLwj5SR5C+89BgU++CbG7rXYn6m Mo8Q0Xt3cypmnjUMlintqN/LzPMuJgob5K6z9vtLr3/r4RYhIBUAS6meCO9bt2mbUpfEa7 b30cFg9kqHDyHRKSMI6MNRdrflRoB6/kiEFJXGii9JRfwNnGn10tAuZujiWK6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682645396; a=rsa-sha256; cv=none; b=RfFmZy773RvSZztxm3Gjr6RyXTl3tKN76Twe8og/rm2vgQwC80N0BI61jh/iRIctGSsFcz M9B+V4czWfesgZG1KUw7WJ5ZE4ApHDQdlbFpW+NCOVmeWxKzIM1SfBkoJlEEWt2eBY8+Rh 8Ox74jsr4WsukQX5MajMJvOqcTDuxgvOeqQcvhnDO8vQ04zdogvFDToKMZ52GILT9AT7BC jIokOApnQusOU5bK2ok/7B0ZGKGCBadLxN8iJu7uXHFSA5xT8tY0mt7ol0k6Sbe+TSzFJE mWlqhkNnRG1bI/Xtx+1odzVeIDWNNP6lZDp8rLX6EpkPv1ehe98kYut3UbQ0Yw== 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 4Q6w5J3FhbzgXF; Fri, 28 Apr 2023 01:29: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 33S1TuVo075195; Fri, 28 Apr 2023 01:29:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S1TuWU075194; Fri, 28 Apr 2023 01:29:56 GMT (envelope-from git) Date: Fri, 28 Apr 2023 01:29:56 GMT Message-Id: <202304280129.33S1TuWU075194@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: 6450e7bbad0c - main - vfs: Fix "emptydir" mount option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6450e7bbad0c68176f28b51773a3af5d6022c7dd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6450e7bbad0c68176f28b51773a3af5d6022c7dd commit 6450e7bbad0c68176f28b51773a3af5d6022c7dd Author: Olivier Certner AuthorDate: 2023-04-22 16:07:07 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-28 01:27:54 +0000 vfs: Fix "emptydir" mount option Fix vfs_emptydir(). It would consider directories containing directories with name of the form 'X.' (X being any authorized byte) as empty. Also, it would cause VOP_READDIR() to return an error on directories containing enough whiteouts. While here, use a more decently sized buffer as done elsewhere. Remove ad-hoc iteration on the directory's content and instead use the newly exported vn_dir_next_dirent() function (this is what fixes the second problem mentioned above). PR: 270988 Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39775 --- sys/kern/vfs_subr.c | 115 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 67 insertions(+), 48 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index eac6fa0ddb6a..3c783f7326d0 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -6391,65 +6391,84 @@ filt_vfsvnode(struct knote *kn, long hint) int vfs_emptydir(struct vnode *vp) { - struct uio uio; - struct iovec iov; - struct dirent *dirent, *dp, *endp; - int error, eof; - - error = 0; - eof = 0; + struct thread *const td = curthread; + char *dirbuf; + size_t dirbuflen, len; + off_t off; + int eofflag, error; + struct dirent *dp; + struct vattr va; ASSERT_VOP_LOCKED(vp, "vfs_emptydir"); VNPASS(vp->v_type == VDIR, vp); - dirent = malloc(sizeof(struct dirent), M_TEMP, M_WAITOK); - iov.iov_base = dirent; - iov.iov_len = sizeof(struct dirent); - - uio.uio_iov = &iov; - uio.uio_iovcnt = 1; - uio.uio_offset = 0; - uio.uio_resid = sizeof(struct dirent); - uio.uio_segflg = UIO_SYSSPACE; - uio.uio_rw = UIO_READ; - uio.uio_td = curthread; - - while (eof == 0 && error == 0) { - error = VOP_READDIR(vp, &uio, curthread->td_ucred, &eof, - NULL, NULL); + error = VOP_GETATTR(vp, &va, td->td_ucred); + if (error != 0) + return (error); + + dirbuflen = max(DEV_BSIZE, GENERIC_MAXDIRSIZ); + if (dirbuflen < va.va_blocksize) + dirbuflen = va.va_blocksize; + dirbuf = malloc(dirbuflen, M_TEMP, M_WAITOK); + + len = 0; + off = 0; + eofflag = 0; + + for (;;) { + error = vn_dir_next_dirent(vp, td, dirbuf, dirbuflen, + &dp, &len, &off, &eofflag); if (error != 0) - break; - endp = (void *)((uint8_t *)dirent + - sizeof(struct dirent) - uio.uio_resid); - for (dp = dirent; dp < endp; - dp = (void *)((uint8_t *)dp + GENERIC_DIRSIZ(dp))) { - if (dp->d_type == DT_WHT) - continue; - if (dp->d_namlen == 0) - continue; - if (dp->d_type != DT_DIR && - dp->d_type != DT_UNKNOWN) { - error = ENOTEMPTY; - break; - } - if (dp->d_namlen > 2) { - error = ENOTEMPTY; - break; - } - if (dp->d_namlen == 1 && - dp->d_name[0] != '.') { + goto end; + + if (len == 0) { + /* EOF */ + error = 0; + goto end; + } + + /* + * Skip whiteouts. Unionfs operates on filesystems only and not + * on hierarchies, so these whiteouts would be shadowed on the + * system hierarchy but not for a union using the filesystem of + * their directories as the upper layer. Additionally, unionfs + * currently transparently exposes union-specific metadata of + * its upper layer, meaning that whiteouts can be seen through + * the union view in empty directories. Taking into account + * these whiteouts would then prevent mounting another + * filesystem on such effectively empty directories. + */ + if (dp->d_type == DT_WHT) + continue; + + /* + * Any file in the directory which is not '.' or '..' indicates + * the directory is not empty. + */ + switch (dp->d_namlen) { + case 2: + if (dp->d_name[1] != '.') { + /* Can't be '..' (nor '.') */ error = ENOTEMPTY; - break; + goto end; } - if (dp->d_namlen == 2 && - dp->d_name[1] != '.') { + /* FALLTHROUGH */ + case 1: + if (dp->d_name[0] != '.') { + /* Can't be '..' nor '.' */ error = ENOTEMPTY; - break; + goto end; } - uio.uio_resid = sizeof(struct dirent); + break; + + default: + error = ENOTEMPTY; + goto end; } } - free(dirent, M_TEMP); + +end: + free(dirbuf, M_TEMP); return (error); } From nobody Fri Apr 28 01:29:57 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6w5K6N2fz47l2w; Fri, 28 Apr 2023 01:29: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 4Q6w5K5BVzz3rr6; Fri, 28 Apr 2023 01:29:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682645397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8bPZ0MM5pd5YdNuh3f0U9C89Y4QRFpNuiDQsop/HR6Y=; b=x/45bIa0rzqSXlDHIsdzFLW8OSqq3eXD4o0bgVEIr9zBxokvg+g2ZlEI+J/zz60n9O8QaI 3LoADYtuUcwt1r7o6Z9kyEPaN3Zh5XClu7zU36cMzYBaOSV/dyS0MMVMPqNpE8lV0JH7Vh XfsNgZjo8i5+FkqAaccTlFQZ24KdcQzgymgEKtFzvQarsXe/q9VzTaFxC4FCre1f3IVnL+ tBotJf1xrCdqucmXHEQwbPu7i8B4SiR0ICNZXbsm4o3qTqaeMFXDyi9S1J6EzNZrIZGrmB rjnwCPvKjMmi8pLDc7L7AnDHDgUGIgdTScCJys/SJlv0d9p5GfCUWkE7yljEgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682645397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8bPZ0MM5pd5YdNuh3f0U9C89Y4QRFpNuiDQsop/HR6Y=; b=Oi3euh3YakaPFVhic1bRvHP6RUbJoF9VDFcf+5jZwdkRooMRqjVwP2hpTvcywcYSWzxTav H+FXJSJFuG3Xt3Aw00L8kVDSKI3P5M8sb3zbkIi5RAjM110lMIY2bCevDc3cERo0WQNqyN f8GUx1SSRHCvfOQbv64lh4/kQofFqUjOaJcGaU8KZ+iJaGljAgfHUekoaPBUiRT84K1mdA B0ahzcjXSqsNHIsxq9LmqMRNa0zq5drzKlso0tSKxVgkmi6MlFBdkpQ6itY6qZVJtQaEih Hd+ARg/PzrMpDbiZn1elENKvmAywMS5D/KPrkuA/m5R/zxg7laS+R+2bHqPRcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682645397; a=rsa-sha256; cv=none; b=cjt6CiejcH5AYyTTCPWKMW2F1lUiSt3LtAi/qam17urndSTwrRAurXOaNRSdYmRn01O3zL h2wPnfpIvAjY3y20B13Zruz6SyMLvfMw97+YXQA6eybOFPIi2bOgGIsFKJB4qzIfN1qH7d 4ivK3HS2LRholn1ARSYVfYK5einPNOjb/sUVqAdk3poee1jgMMq9ee2q/1an1AHpLPyAnt qMlxHPvgnr2ui4euAn+wPfHLURyIG9ee9zZaU+b4XieInMEFs/fI0ScgG8Aknz+AbgKap6 BncSzU64rR4Nxk3uMQvvMVa8jb6kG8Cdk//B29zrMjcztOiCFWFX8w2RVPZFxA== 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 4Q6w5K4C9nzgm9; Fri, 28 Apr 2023 01:29: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 33S1Tv1v075214; Fri, 28 Apr 2023 01:29:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S1Tv37075213; Fri, 28 Apr 2023 01:29:57 GMT (envelope-from git) Date: Fri, 28 Apr 2023 01:29:57 GMT Message-Id: <202304280129.33S1Tv37075213@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: 3f3ad56520ac - main - Expose EFI wake time API List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3f3ad56520ac608a05a237c73adcb664f79de3fb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3f3ad56520ac608a05a237c73adcb664f79de3fb commit 3f3ad56520ac608a05a237c73adcb664f79de3fb Author: Johannes Totz AuthorDate: 2023-04-26 16:15:31 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-28 01:27:55 +0000 Expose EFI wake time API Reviewed by: kib MFC after: 1 week Differential revision: https://reviews.freebsd.org/D36714 --- sys/dev/efidev/efidev.c | 15 ++++++++++ sys/dev/efidev/efirt.c | 76 +++++++++++++++++++++++++++++++++++++++++++++++++ sys/sys/efi.h | 18 ++++++++++++ sys/sys/efiio.h | 9 ++++++ 4 files changed, 118 insertions(+) diff --git a/sys/dev/efidev/efidev.c b/sys/dev/efidev/efidev.c index 79d98956ed24..45e571828e51 100644 --- a/sys/dev/efidev/efidev.c +++ b/sys/dev/efidev/efidev.c @@ -90,6 +90,21 @@ efidev_ioctl(struct cdev *dev __unused, u_long cmd, caddr_t addr, error = efi_set_time(tm); break; } + case EFIIOC_GET_WAKETIME: + { + struct efi_waketime_ioc *wt = (struct efi_waketime_ioc *)addr; + + error = efi_get_waketime(&wt->enabled, &wt->pending, + &wt->waketime); + break; + } + case EFIIOC_SET_WAKETIME: + { + struct efi_waketime_ioc *wt = (struct efi_waketime_ioc *)addr; + + error = efi_set_waketime(wt->enabled, &wt->waketime); + break; + } case EFIIOC_VAR_GET: { struct efi_var_ioc *ev = (struct efi_var_ioc *)addr; diff --git a/sys/dev/efidev/efirt.c b/sys/dev/efidev/efirt.c index e4c47fa68741..d577396de20c 100644 --- a/sys/dev/efidev/efirt.c +++ b/sys/dev/efidev/efirt.c @@ -32,6 +32,8 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_acpi.h" + #include #include #include @@ -61,6 +63,10 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef DEV_ACPI +#include +#endif + #define EFI_TABLE_ALLOC_MAX 0x800000 static struct efi_systbl *efi_systbl; @@ -571,6 +577,74 @@ get_time(struct efi_tm *tm) return (error); } +static int +get_waketime(uint8_t *enabled, uint8_t *pending, struct efi_tm *tm) +{ + struct efirt_callinfo ec; + int error; +#ifdef DEV_ACPI + UINT32 acpiRtcEnabled; +#endif + + if (efi_runtime == NULL) + return (ENXIO); + + EFI_TIME_LOCK(); + bzero(&ec, sizeof(ec)); + ec.ec_name = "rt_getwaketime"; + ec.ec_argcnt = 3; + ec.ec_arg1 = (uintptr_t)enabled; + ec.ec_arg2 = (uintptr_t)pending; + ec.ec_arg3 = (uintptr_t)tm; + ec.ec_fptr = EFI_RT_METHOD_PA(rt_getwaketime); + error = efi_call(&ec); + EFI_TIME_UNLOCK(); + +#ifdef DEV_ACPI + if (error == 0) { + error = AcpiReadBitRegister(ACPI_BITREG_RT_CLOCK_ENABLE, + &acpiRtcEnabled); + if (ACPI_SUCCESS(error)) { + *enabled = *enabled && acpiRtcEnabled; + } else + error = EIO; + } +#endif + + return (error); +} + +static int +set_waketime(uint8_t enable, struct efi_tm *tm) +{ + struct efirt_callinfo ec; + int error; + + if (efi_runtime == NULL) + return (ENXIO); + + EFI_TIME_LOCK(); + bzero(&ec, sizeof(ec)); + ec.ec_name = "rt_setwaketime"; + ec.ec_argcnt = 2; + ec.ec_arg1 = (uintptr_t)enable; + ec.ec_arg2 = (uintptr_t)tm; + ec.ec_fptr = EFI_RT_METHOD_PA(rt_setwaketime); + error = efi_call(&ec); + EFI_TIME_UNLOCK(); + +#ifdef DEV_ACPI + if (error == 0) { + error = AcpiWriteBitRegister(ACPI_BITREG_RT_CLOCK_ENABLE, + (enable != 0) ? 1 : 0); + if (ACPI_FAILURE(error)) + error = EIO; + } +#endif + + return (error); +} + static int get_time_capabilities(struct efi_tmcap *tmcap) { @@ -713,6 +787,8 @@ const static struct efi_ops efi_ops = { .get_time_capabilities = get_time_capabilities, .reset_system = reset_system, .set_time = set_time, + .get_waketime = get_waketime, + .set_waketime = set_waketime, .var_get = var_get, .var_nextname = var_nextname, .var_set = var_set, diff --git a/sys/sys/efi.h b/sys/sys/efi.h index 4714dd137551..8d2d932934da 100644 --- a/sys/sys/efi.h +++ b/sys/sys/efi.h @@ -254,6 +254,9 @@ struct efi_ops { int (*get_time_capabilities)(struct efi_tmcap *); int (*reset_system)(enum efi_reset); int (*set_time)(struct efi_tm *); + int (*get_waketime)(uint8_t *enabled, uint8_t *pending, + struct efi_tm *tm); + int (*set_waketime)(uint8_t enable, struct efi_tm *tm); int (*var_get)(uint16_t *, struct uuid *, uint32_t *, size_t *, void *); int (*var_nextname)(size_t *, uint16_t *, struct uuid *); @@ -319,6 +322,21 @@ static inline int efi_set_time(struct efi_tm *tm) return (active_efi_ops->set_time(tm)); } +static inline int efi_get_waketime(uint8_t *enabled, uint8_t *pending, + struct efi_tm *tm) +{ + if (active_efi_ops->get_waketime == NULL) + return (ENXIO); + return (active_efi_ops->get_waketime(enabled, pending, tm)); +} + +static inline int efi_set_waketime(uint8_t enable, struct efi_tm *tm) +{ + if (active_efi_ops->set_waketime == NULL) + return (ENXIO); + return (active_efi_ops->set_waketime(enable, tm)); +} + static inline int efi_var_get(uint16_t *name, struct uuid *vendor, uint32_t *attrib, size_t *datasize, void *data) { diff --git a/sys/sys/efiio.h b/sys/sys/efiio.h index 803aed6a965e..a5f0145127e3 100644 --- a/sys/sys/efiio.h +++ b/sys/sys/efiio.h @@ -50,11 +50,20 @@ struct efi_var_ioc size_t datasize; /* Number of *bytes* in the data */ }; +struct efi_waketime_ioc +{ + struct efi_tm waketime; + uint8_t enabled; + uint8_t pending; +}; + #define EFIIOC_GET_TABLE _IOWR('E', 1, struct efi_get_table_ioc) #define EFIIOC_GET_TIME _IOR('E', 2, struct efi_tm) #define EFIIOC_SET_TIME _IOW('E', 3, struct efi_tm) #define EFIIOC_VAR_GET _IOWR('E', 4, struct efi_var_ioc) #define EFIIOC_VAR_NEXT _IOWR('E', 5, struct efi_var_ioc) #define EFIIOC_VAR_SET _IOWR('E', 6, struct efi_var_ioc) +#define EFIIOC_GET_WAKETIME _IOR('E', 7, struct efi_waketime_ioc) +#define EFIIOC_SET_WAKETIME _IOW('E', 8, struct efi_waketime_ioc) #endif /* _SYS_EFIIO_H_ */ From nobody Fri Apr 28 01:29:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6w5M1CnNz47khW; Fri, 28 Apr 2023 01:29: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 4Q6w5L6FX0z3rrS; Fri, 28 Apr 2023 01:29:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682645398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bxjg1HVB7a8WGV31tM6tF3w2fFv9Qq+mlLvt2O9uGjU=; b=Ac7lXbnBluWnZQimCAztYdheQfANOMufJDklWNfPsQNyE9JqAVmHTX5cnkQCmA8xu3q9Sa 3WXBxrKWVWO/k7lS+VPB/QJ4Mfs1oJu95hp0cloYel9GDgcX6qk5WMWzu7llsd4b3KI0Eq egj8cY5jcVYui3YlyBSBsI7Aiyo/yFQBkDAedAdLK55X3LLSuVlVkjoE94z3X9ZeMu0aL8 4z1bXaqZsEAGaAi4yCMEN9q5aDkbM+yT22WUNKnwBJgnaZ56HAW/GqrC1dc3zZ+B9VUJse +xW8eC5oCwLbRrmiusLJRmyD0p2VMaWAVrVsv7bfEljab6RbYtvWGEtS6z2L1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682645398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bxjg1HVB7a8WGV31tM6tF3w2fFv9Qq+mlLvt2O9uGjU=; b=vkEela9kB+C4e7128w/C3AmmvQ/yESh9uJWzQhVYKK91XqDs7I8ubUhPXqnwLrXuvQamUV frUirld65PwbqwyDdUgLGG1QX6GTEKnroolNnsSs4LKIThS0L0PbVSI0TlVfo7s0lmqv6A fOHFkf38anW7qmORSkhOkxfncIT3K06GzPyF9O5dW+BULr4sS5Z9myjd7cei5dtmhhH9oh OII5V4vB+WPm37c87SddTZGH8nS/c6A1iTpDDm3BQkjRZS3PcXgcFdMrtcYdcbIOGT9Uir y1yYzuDGSNjqeBmE3vUaZs8gbzIfko0zBfgD9rmyeo1NsNhxTD4/UfKa6PUv5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682645398; a=rsa-sha256; cv=none; b=q5AoCzYSn7q5YUaTIWFjxn90wVXdCvh/W4/qKpC2dj8D+wl0YY9cBzzoyivC7BWHfDd04G 5QSglMMdN99Jp92sufBYHDPhvJ7sp+deAuTjRL4pSYr5ZH9gh8oFVXNdgvOG/rSGIEGPZK QgpSU6pNtKS14Cf6Zfbc+BA4r5r694jPKPg3X4W28EifmGikovbtVcMwg7Lc4XSxciLcHh r2ywtk5AWJq33igUYVJiJFkxxtWOlgAhBCCx1XFnHUIyeQUdSurK5Vpa0cqwN7T1aOGoPO gqIYLKv0rxDFdJzmH6PSwnvQW0SRbyG0gajX+YxqrKk3A1nPCv96Nr0UOWiN/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 4Q6w5L56DjzgVh; Fri, 28 Apr 2023 01:29: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 33S1TwwX075233; Fri, 28 Apr 2023 01:29:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S1TwGg075232; Fri, 28 Apr 2023 01:29:58 GMT (envelope-from git) Date: Fri, 28 Apr 2023 01:29:58 GMT Message-Id: <202304280129.33S1TwGg075232@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: 1808b5577da8 - main - Add efiwake tool List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1808b5577da8d3fcffc70973afef250f428f9381 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1808b5577da8d3fcffc70973afef250f428f9381 commit 1808b5577da8d3fcffc70973afef250f428f9381 Author: Johannes Totz AuthorDate: 2023-04-26 16:16:55 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-28 01:28:51 +0000 Add efiwake tool Reviewed by: kib MFC after: 1 week Differential revision: https://reviews.freebsd.org/D36714 --- usr.sbin/Makefile | 2 +- usr.sbin/efiwake/Makefile | 13 +++++ usr.sbin/efiwake/efiwake.c | 134 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 148 insertions(+), 1 deletion(-) diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile index 9fa1dc05a1cc..fb707e515eaa 100644 --- a/usr.sbin/Makefile +++ b/usr.sbin/Makefile @@ -129,7 +129,7 @@ SUBDIR.${MK_OPENSSL}+= certctl .endif SUBDIR.${MK_CXGBETOOL}+= cxgbetool SUBDIR.${MK_DIALOG}+= bsdconfig -SUBDIR.${MK_EFI}+= efivar efidp efibootmgr efitable +SUBDIR.${MK_EFI}+= efivar efidp efibootmgr efitable efiwake .if ${MK_OPENSSL} != "no" SUBDIR.${MK_EFI}+= uefisign .endif diff --git a/usr.sbin/efiwake/Makefile b/usr.sbin/efiwake/Makefile new file mode 100644 index 000000000000..ed2292f8a3ac --- /dev/null +++ b/usr.sbin/efiwake/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +PACKAGE= efi-tools + +PROG= efiwake +MAN= + +SRCS= efiwake.c + +EFIBOOT=${SRCTOP}/stand/efi +CFLAGS+=-I${EFIBOOT}/include + +.include diff --git a/usr.sbin/efiwake/efiwake.c b/usr.sbin/efiwake/efiwake.c new file mode 100644 index 000000000000..67497e2ede03 --- /dev/null +++ b/usr.sbin/efiwake/efiwake.c @@ -0,0 +1,134 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2023 Johannes Totz + * + * 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 +#include +#include +#include +#include +#include + +static void usage(void) +{ + printf("Usage:\n" + " efiwake -- print out current EFI time and wake time\n" + " efiwake -d -- disable wake time\n" + " efiwake -e yyyy-mm-ddThh:mm:ss -- enable wake time\n" + ); + + exit(EX_USAGE); +} + +int main(int argc, char **argv) +{ + struct efi_waketime_ioc waketime; + int error, ch; + bool enable = false, disable = false; + + memset(&waketime, 0, sizeof(waketime)); + + while ((ch = getopt(argc, argv, "de:")) != -1) { + switch (ch) { + case 'd': + disable = true; + break; + case 'e': + if (sscanf(optarg, + "%hu-%02hhu-%02hhuT%02hhu:%02hhu:%02hhu", + &waketime.waketime.tm_year, &waketime.waketime.tm_mon, + &waketime.waketime.tm_mday, &waketime.waketime.tm_hour, + &waketime.waketime.tm_min, &waketime.waketime.tm_sec) + != 6) { + usage(); + } + enable = true; + break; + case '?': + default: + usage(); + } + } + argc -= optind; + argv += optind; + + if (argc > 0) + usage(); + if (disable && enable) + usage(); + + int efi_fd = open("/dev/efi", O_RDWR); + if (efi_fd < 0) + err(EX_OSERR, "cannot open /dev/efi"); + + struct efi_tm now; + error = ioctl(efi_fd, EFIIOC_GET_TIME, &now); + if (error != 0) + err(EX_OSERR, "cannot get EFI time"); + + /* EFI's time can be different from kernel's time. */ + printf("Current EFI time: %u-%02u-%02uT%02u:%02u:%02u\n", + now.tm_year, now.tm_mon, now.tm_mday, now.tm_hour, now.tm_min, + now.tm_sec); + + if (disable) { + /* It's tempting to preserve the current timer value. + * However, wonky EFI implementations sometimes return bogus + * dates for the wake timer and would then fail disabling it + * here. + * A safe timer value is the current EFI time. + */ + waketime.waketime = now; + waketime.enabled = 0; + error = ioctl(efi_fd, EFIIOC_SET_WAKETIME, &waketime); + if (error != 0) + err(EX_OSERR, "cannot disable EFI wake time"); + } + if (enable) { + waketime.enabled = 1; + error = ioctl(efi_fd, EFIIOC_SET_WAKETIME, &waketime); + if (error != 0) + err(EX_OSERR, "cannot enable EFI wake time"); + } + + /* Confirm to user what the wake time has been set to. */ + error = ioctl(efi_fd, EFIIOC_GET_WAKETIME, &waketime); + if (error != 0) + err(EX_OSERR, "cannot get EFI wake time"); + + printf("EFI wake time: %u-%02u-%02uT%02u:%02u:%02u; enabled=%i, pending=%i\n", + waketime.waketime.tm_year, waketime.waketime.tm_mon, + waketime.waketime.tm_mday, waketime.waketime.tm_hour, + waketime.waketime.tm_min, waketime.waketime.tm_sec, + waketime.enabled, waketime.pending); + + close(efi_fd); + return (0); +} From nobody Fri Apr 28 02:05:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6wts6RFbz47mn5 for ; Fri, 28 Apr 2023 02:05:57 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 4Q6wts4q1jz3w3m for ; Fri, 28 Apr 2023 02:05:57 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-3f09b4a1527so94362795e9.0 for ; Thu, 27 Apr 2023 19:05:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682647556; x=1685239556; 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=at2UFgolcSOIFEHyvC12+x8UZem7VeA1uQF1gUYHDYs=; b=W5jAOEVu2Q0U3ipo2ibvdNRfhism9P6BPq4UiuIfQq0FjcfoDqv+mG/jlf+RqN98PD so+FtK2KmzOLe1YZrH/KkCkNvGG8aXAShrOWLgDF0AClUPq85MFKefkSynIboKHDYSEW /Um39HWAez2y/z1hiFptw6c+B3WZJUI0N9EwAMAvzKeU+zlmvDSazplsmKFKoSj0G8oi M2yDNGcM5/6WkqLP9lDEMpSgA1PZ/PBY1cR72wJdQkjEbAPlbUF7XfXIKJtAHKcsZ5JH O3tUQBKEpNUv8uIRUaM2VZWwb/VrsBNlScVGA9Dl5A6FPI1dHB+W1wF1Ofn9/8W9OR3x ggTA== X-Gm-Message-State: AC+VfDyovjDzmn4F6W3s6MOBS20glwzipFsvUOUB0l1azM3PqOdoO6L3 LNA4VT4f0Eoa45xl05uhRh3ElQ== X-Google-Smtp-Source: ACHHUZ4WM45C2IdOZ64VA0L29+LQDaJTtNvCm3KjzGqZdl3dYhutXTRxdFPzzD4qsWaSbq6ysNqgng== X-Received: by 2002:a05:6000:50f:b0:2f6:9bc4:76f1 with SMTP id a15-20020a056000050f00b002f69bc476f1mr2599397wrf.1.1682647556103; Thu, 27 Apr 2023 19:05:56 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id m18-20020adffa12000000b003047297a5e8sm13161977wrr.54.2023.04.27.19.05.55 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 Apr 2023 19:05:55 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: 1808b5577da8 - main - Add efiwake tool From: Jessica Clarke In-Reply-To: <202304280129.33S1TwGg075232@gitrepo.freebsd.org> Date: Fri, 28 Apr 2023 03:05:55 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <797349B7-33E3-4C4A-92D9-F482B3159082@freebsd.org> References: <202304280129.33S1TwGg075232@gitrepo.freebsd.org> To: Konstantin Belousov X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Rspamd-Queue-Id: 4Q6wts4q1jz3w3m 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 28 Apr 2023, at 02:29, Konstantin Belousov wrote: >=20 > The branch main has been updated by kib: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D1808b5577da8d3fcffc70973afef250f= 428f9381 >=20 > commit 1808b5577da8d3fcffc70973afef250f428f9381 > Author: Johannes Totz > AuthorDate: 2023-04-26 16:16:55 +0000 > Commit: Konstantin Belousov > CommitDate: 2023-04-28 01:28:51 +0000 >=20 > Add efiwake tool Hi, This has quite a few style(9) violations. Please fix them or work with the author to get them fixed. > Reviewed by: kib > MFC after: 1 week > Differential revision: https://reviews.freebsd.org/D36714 > --- > usr.sbin/Makefile | 2 +- > usr.sbin/efiwake/Makefile | 13 +++++ > usr.sbin/efiwake/efiwake.c | 134 = +++++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 148 insertions(+), 1 deletion(-) >=20 > diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile > index 9fa1dc05a1cc..fb707e515eaa 100644 > --- a/usr.sbin/Makefile > +++ b/usr.sbin/Makefile > @@ -129,7 +129,7 @@ SUBDIR.${MK_OPENSSL}+=3D certctl > .endif > SUBDIR.${MK_CXGBETOOL}+=3D cxgbetool > SUBDIR.${MK_DIALOG}+=3D bsdconfig > -SUBDIR.${MK_EFI}+=3D efivar efidp efibootmgr efitable > +SUBDIR.${MK_EFI}+=3D efivar efidp efibootmgr efitable efiwake > .if ${MK_OPENSSL} !=3D "no" > SUBDIR.${MK_EFI}+=3D uefisign > .endif > diff --git a/usr.sbin/efiwake/Makefile b/usr.sbin/efiwake/Makefile > new file mode 100644 > index 000000000000..ed2292f8a3ac > --- /dev/null > +++ b/usr.sbin/efiwake/Makefile > @@ -0,0 +1,13 @@ > +# $FreeBSD$ > + > +PACKAGE=3D efi-tools > + > +PROG=3D efiwake > +MAN=3D > + > +SRCS=3D efiwake.c > + > +EFIBOOT=3D${SRCTOP}/stand/efi > +CFLAGS+=3D-I${EFIBOOT}/include > + > +.include > diff --git a/usr.sbin/efiwake/efiwake.c b/usr.sbin/efiwake/efiwake.c > new file mode 100644 > index 000000000000..67497e2ede03 > --- /dev/null > +++ b/usr.sbin/efiwake/efiwake.c > @@ -0,0 +1,134 @@ > +/*- > + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > + * > + * Copyright (c) 2023 Johannes Totz > + * > + * 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 > +#include > +#include > +#include > +#include > +#include Headers don=E2=80=99t follow correct grouping. > + > +static void usage(void) New line after static void needed. > +{ > + printf("Usage:\n" stderr? > + " efiwake -- print out current EFI = time and wake time\n" > + " efiwake -d -- disable wake time\n" > + " efiwake -e yyyy-mm-ddThh:mm:ss -- enable wake time\n" > + ); > + > + exit(EX_USAGE); > +} > + > +int main(int argc, char **argv) New line after int needed. > +{ > + struct efi_waketime_ioc waketime; > + int error, ch; > + bool enable =3D false, disable =3D false; > + > + memset(&waketime, 0, sizeof(waketime)); > + > + while ((ch =3D getopt(argc, argv, "de:")) !=3D -1) { > + switch (ch) { > + case 'd': > + disable =3D true; > + break; > + case 'e': > + if (sscanf(optarg, > + "%hu-%02hhu-%02hhuT%02hhu:%02hhu:%02hhu", > + &waketime.waketime.tm_year, = &waketime.waketime.tm_mon, > + &waketime.waketime.tm_mday, = &waketime.waketime.tm_hour, > + &waketime.waketime.tm_min, = &waketime.waketime.tm_sec) > + !=3D 6) { > + usage(); > + } > + enable =3D true; > + break; > + case '?': > + default: > + usage(); > + } > + } > + argc -=3D optind; > + argv +=3D optind; > + > + if (argc > 0) > + usage(); > + if (disable && enable) > + usage(); > + > + int efi_fd =3D open("/dev/efi", O_RDWR); These all need to be at the start of the block. > + if (efi_fd < 0) > + err(EX_OSERR, "cannot open /dev/efi"); > + > + struct efi_tm now; > + error =3D ioctl(efi_fd, EFIIOC_GET_TIME, &now); > + if (error !=3D 0) > + err(EX_OSERR, "cannot get EFI time"); > + > + /* EFI's time can be different from kernel's time. */ > + printf("Current EFI time: %u-%02u-%02uT%02u:%02u:%02u\n", > + now.tm_year, now.tm_mon, now.tm_mday, now.tm_hour, = now.tm_min, > + now.tm_sec); > + > + if (disable) { > + /* It's tempting to preserve the current timer value. /* needs to be on its own line. Regards, Jess > + * However, wonky EFI implementations sometimes return = bogus > + * dates for the wake timer and would then fail = disabling it > + * here. > + * A safe timer value is the current EFI time. > + */ > + waketime.waketime =3D now; > + waketime.enabled =3D 0; > + error =3D ioctl(efi_fd, EFIIOC_SET_WAKETIME, &waketime); > + if (error !=3D 0) > + err(EX_OSERR, "cannot disable EFI wake time"); > + } > + if (enable) { > + waketime.enabled =3D 1; > + error =3D ioctl(efi_fd, EFIIOC_SET_WAKETIME, &waketime); > + if (error !=3D 0) > + err(EX_OSERR, "cannot enable EFI wake time"); > + } > + > + /* Confirm to user what the wake time has been set to. */ > + error =3D ioctl(efi_fd, EFIIOC_GET_WAKETIME, &waketime); > + if (error !=3D 0) > + err(EX_OSERR, "cannot get EFI wake time"); > + > + printf("EFI wake time: %u-%02u-%02uT%02u:%02u:%02u; enabled=3D%i, = pending=3D%i\n", > + waketime.waketime.tm_year, waketime.waketime.tm_mon, > + waketime.waketime.tm_mday, waketime.waketime.tm_hour, > + waketime.waketime.tm_min, waketime.waketime.tm_sec, > + waketime.enabled, waketime.pending); > + > + close(efi_fd); > + return (0); > +} From nobody Fri Apr 28 03:12:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q6yMN5Bnqz47rKp; Fri, 28 Apr 2023 03:12: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 4Q6yMN4dhvz41Ps; Fri, 28 Apr 2023 03:12:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682651536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1FDXrrHy4mhj/rdYHod1IfnZTr1pxaO+3buEfXXsm2M=; b=wj/ZGANDHEikq0zdM6MVUWd27EqmOTZp2jjOMqH8nKNKeLzGnDeAgZ6l0PY9bziyFJVrmK F1CWsduKIHvg/2hl2PTIIlZ1KoCtUHdbfADqeb92incLCUVRR6qUYmujUcE/aDoszpqQSC z8k7TuhI2pHnO8rYUsc4pLQ+oTi2RaMgCf1BvycQY8P62/csd8v20qI0OQSp7QZ1eT8Usq 6TkKDizurgGX2L/sjUAVcW5oLApuMgB90o2thWA6FDesMD+ufT7+D4t9BKLAFbtbJDS0QG 2NEqfI4zQC1oIhBUh/54vpIgMqyEYIgK8vU67xWaT4yKgP2uaEcrE2uGtahLdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682651536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1FDXrrHy4mhj/rdYHod1IfnZTr1pxaO+3buEfXXsm2M=; b=cNOnA4BMsVSGE9q970FHZ91lwPyeoPrlSRZ4FU8gTVJodDOPQgsLTUWvOwISbcVxct5mQl AYgm3cW45ix64SITKme8eBRqO8/z/SOJ+b2N5FqKyHZxXQNrgmPmbuRKTDU5hUZHK9OlKj Jh4PBgvZyI9kXGk7uuEQl0rNtPKcP+/JKr3loTtFxpb1mudhT33qB6drwxYkAhqv9obuf/ C381ELKUX9MuOQtYd1in/OgcCJL/Y4P7bE3t4eWip1/dK9URD8SFcEd8ADCacKQU0hwgLd T21qg2S8pwn20T8JmNRRfYDKMHV9oWNSXHJ2NbdJhdhY5EoPxaURW/cr3vA7vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682651536; a=rsa-sha256; cv=none; b=hMQ6Y6COTLFL8dKN1zriagEigPkUM4imB9qUQ7xHrjuBFzs2b29QXmGUSeT8tBgZeS0pWK jLk5494tw0dkKB5Sf1QTcy+oWfb5sRequRMEeY6dkOEBAF94OL1aAleALAatPI1d6ze3bK 9zplKh3+JoHZ8sns+GlPIbpLYwDq5lUMspPBEYFd3mNwxjqnV2teHwqKnuZKmHx5o9VZyu dzZYjvtd0dm3YH4roWclsO9z82Sh6a26fxE7fFiSa2jCRkVXhVuYgwgy4fw4T8kAPnYX0h +1x5XJzjrQ2pfhqawrQZdISgOsdl0O/FgilEgcxa48lHx5OTykr8ftXiDQcgGg== 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 4Q6yMN3j7DzkMp; Fri, 28 Apr 2023 03:12: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 33S3CGnX056495; Fri, 28 Apr 2023 03:12:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S3CGHV056494; Fri, 28 Apr 2023 03:12:16 GMT (envelope-from git) Date: Fri, 28 Apr 2023 03:12:16 GMT Message-Id: <202304280312.33S3CGHV056494@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: cae85a647ad7 - main - efiwake(8): style List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cae85a647ad76d191ac61c3bff67b49aabd716ba Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=cae85a647ad76d191ac61c3bff67b49aabd716ba commit cae85a647ad76d191ac61c3bff67b49aabd716ba Author: Konstantin Belousov AuthorDate: 2023-04-28 02:58:01 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-28 03:08:09 +0000 efiwake(8): style Sponsored by: The FreeBSD Foundation MFC after: 1 week --- usr.sbin/efiwake/efiwake.c | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/usr.sbin/efiwake/efiwake.c b/usr.sbin/efiwake/efiwake.c index 67497e2ede03..9d9e808dff19 100644 --- a/usr.sbin/efiwake/efiwake.c +++ b/usr.sbin/efiwake/efiwake.c @@ -25,33 +25,36 @@ * SUCH DAMAGE. */ +#include #include #include #include +#include #include #include -#include #include #include #include -#include -static void usage(void) +static void +usage(void) { - printf("Usage:\n" - " efiwake -- print out current EFI time and wake time\n" + fprintf(stderr, "Usage:\n" + " efiwake -- print out current " + "EFI time and wake time\n" " efiwake -d -- disable wake time\n" " efiwake -e yyyy-mm-ddThh:mm:ss -- enable wake time\n" ); - exit(EX_USAGE); } -int main(int argc, char **argv) +int +main(int argc, char **argv) { + struct efi_tm now; struct efi_waketime_ioc waketime; - int error, ch; - bool enable = false, disable = false; + int ch, error, efi_fd; + bool disable = false, enable = false; memset(&waketime, 0, sizeof(waketime)); @@ -63,10 +66,12 @@ int main(int argc, char **argv) case 'e': if (sscanf(optarg, "%hu-%02hhu-%02hhuT%02hhu:%02hhu:%02hhu", - &waketime.waketime.tm_year, &waketime.waketime.tm_mon, - &waketime.waketime.tm_mday, &waketime.waketime.tm_hour, - &waketime.waketime.tm_min, &waketime.waketime.tm_sec) - != 6) { + &waketime.waketime.tm_year, + &waketime.waketime.tm_mon, + &waketime.waketime.tm_mday, + &waketime.waketime.tm_hour, + &waketime.waketime.tm_min, + &waketime.waketime.tm_sec) != 6) { usage(); } enable = true; @@ -84,11 +89,10 @@ int main(int argc, char **argv) if (disable && enable) usage(); - int efi_fd = open("/dev/efi", O_RDWR); + efi_fd = open("/dev/efi", O_RDWR); if (efi_fd < 0) err(EX_OSERR, "cannot open /dev/efi"); - struct efi_tm now; error = ioctl(efi_fd, EFIIOC_GET_TIME, &now); if (error != 0) err(EX_OSERR, "cannot get EFI time"); @@ -99,7 +103,8 @@ int main(int argc, char **argv) now.tm_sec); if (disable) { - /* It's tempting to preserve the current timer value. + /* + * It's tempting to preserve the current timer value. * However, wonky EFI implementations sometimes return bogus * dates for the wake timer and would then fail disabling it * here. @@ -123,7 +128,8 @@ int main(int argc, char **argv) if (error != 0) err(EX_OSERR, "cannot get EFI wake time"); - printf("EFI wake time: %u-%02u-%02uT%02u:%02u:%02u; enabled=%i, pending=%i\n", + printf("EFI wake time: %u-%02u-%02uT%02u:%02u:%02u; " + "enabled=%i, pending=%i\n", waketime.waketime.tm_year, waketime.waketime.tm_mon, waketime.waketime.tm_mday, waketime.waketime.tm_hour, waketime.waketime.tm_min, waketime.waketime.tm_sec, From nobody Fri Apr 28 05:52:39 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q71wS0ck1z481kP; Fri, 28 Apr 2023 05:52: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 4Q71wS09jBz4CYm; Fri, 28 Apr 2023 05:52:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682661160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GpgxVlu8cegnskMmhQ5QgdG0a37Q+5CkN194s83TCP0=; b=xzMQE2VC4PB9/tHZD8HvzZMIKdQCY1k8vEvk6Wy20fLn/eaxw32nm/2gzGJ1LUpFpaBDJs DfHRSKfQQMynG1aOyR89ubBG+p3QHFmkNF2mqOxRl7aLfqaOrxs0zi67la8z4t3yLZkJ77 7H+zrxwlUKSfJ0+w4VtRyzA0QXYl6JZz2p6C+dMVFvKFIATw3vINjE3s0SPRcFirECIhu8 oZJcoD0xic1fVn8OaTjdnagxEMsS9fshLb1sA6ZVYIh1XxPOmaqkeWbtlvxIMFjGqk3BVI 0Et3QNmU9HIGoVN0hb8qNff4QHTxFRKrPAALA/P/Qn1HiktS9QWCkjZRXQeNeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682661160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GpgxVlu8cegnskMmhQ5QgdG0a37Q+5CkN194s83TCP0=; b=l5rw4Q+HSRvhTNY2f5i4JGbEqfS5Akei3eF9ohP2EPChilZbVnbuUlzKlTPMCPJGZpoEzJ mK1ZvYdPObQQIFwoeAKX6M2QC5dFggptTlvk580m5HZd/ISV3yw/rqdChPxzdftBVPLqXr zyKkgjRrDsO3b9KA2uukfT0bDoU1fH2KcfJjLP7vfXuCYh/Vc3r91nzIPg7A/T6XhdoJ5q IvJDt6aJz5BghZ/FrG0EmEB5i8jwWRL2vZcLk+jIsdGEqpt4aqEijTOIMZF4pdBHiGwZ6Y lqMdTeq2gDl/dmYvgN3Ls+IV4RKBHs846SuzHXnCOJkToyr5lEegfgUuwiHREQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682661160; a=rsa-sha256; cv=none; b=r45+l2dRVJGPpde13s8uOiKYqZa3WJ5XVxJ1tMkvLMVJd6xLbDW8+YKNLXEvnvL4z/TDE7 Pi29jdd39OiSFPQP4VHwpEl/nkXtwTS7ZoEEllex6zPBYFmbZtiSECV/4F1fWIjF2D0huW ebVERv6hgPbD4V4d0XQi+OpqUiFs6I/KAUEf4o8HeyeU1jyPjsigkqRwSt1YhGpjZvhRgS aQ6mbFkUgkklZnmI7DR+znqr0K1bvXDqvRPugDtvLyVzPiRbUqpF+FIF+sNpVotoOw4hUT 5nYthWQJmRm0c0N4U/B1Ga+X3hPitzvJW9WGuhXiK2evg/z6GfUtgdlazECDyg== 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 4Q71wR6L7vzp2X; Fri, 28 Apr 2023 05:52: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 33S5qdj1019484; Fri, 28 Apr 2023 05:52:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S5qdB9019483; Fri, 28 Apr 2023 05:52:39 GMT (envelope-from git) Date: Fri, 28 Apr 2023 05:52:39 GMT Message-Id: <202304280552.33S5qdB9019483@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: f1c5c9353c0e - stable/13 - ipfw.8: MFC: improve description for interface matching List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f1c5c9353c0ea70fcf058666fbbfa648ad3637c6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=f1c5c9353c0ea70fcf058666fbbfa648ad3637c6 commit f1c5c9353c0ea70fcf058666fbbfa648ad3637c6 Author: Eugene Grosbein AuthorDate: 2023-04-25 11:12:11 +0000 Commit: Eugene Grosbein CommitDate: 2023-04-28 05:52:15 +0000 ipfw.8: MFC: improve description for interface matching The manual describes "if*" form only while kernel uses fnmatch(3) and allows use for more versatile shell-like patterns. Note that explicitly and provide an example. (cherry picked from commit 9f5dc374d0dadb6947a9bd9ff8ff44931e1b6422) --- sbin/ipfw/ipfw.8 | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/sbin/ipfw/ipfw.8 b/sbin/ipfw/ipfw.8 index 3c5308b29821..40299e70ed27 100644 --- a/sbin/ipfw/ipfw.8 +++ b/sbin/ipfw/ipfw.8 @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 4, 2022 +.Dd April 25, 2023 .Dt IPFW 8 .Os .Sh NAME @@ -1912,13 +1912,24 @@ However, this option doesn't imply an implicit .Cm check-state in contrast to .Cm keep-state . -.It Cm recv | xmit | via Brq Ar ifX | Ar if Ns Cm * | Ar table Ns Po Ar name Ns Oo , Ns Ar value Oc Pc | Ar ipno | Ar any +.It Cm recv | xmit | via Brq Ar ifX | Ar ifmask | Ar table Ns Po Ar name Ns Oo , Ns Ar value Oc Pc | Ar ipno | Ar any Matches packets received, transmitted or going through, respectively, the interface specified by exact name .Po Ar ifX Pc , -by device name -.Po Ar if* Pc , +by device mask +.Po Ar ifmask Pc , by IP address, or through some interface. +.Pp +Interface +name may be matched against +.Ar ifmask +with +.Xr fnmatch 3 +according to the rules used by the shell (f.e. tun*). +See also the +.Sx EXAMPLES +section. +.Pp Table .Ar name may be used to match interface by its kernel ifindex. @@ -4217,6 +4228,12 @@ of clients, as below: .Dl "ipfw add deny ip from ${badguys} to any" .Dl "... normal policies ..." .Pp +Allow any transit packets coming from single vlan 10 and +going out to vlans 100-1000: +.Pp +.Dl "ipfw add 10 allow out recv vlan10 \e" +.Dl "{ xmit vlan1000 or xmit \*qvlan[1-9]??\*q }" +.Pp The .Cm verrevpath option could be used to do automated anti-spoofing by adding the @@ -4740,6 +4757,7 @@ can be changed in a similar way as for .Sh SEE ALSO .Xr cpp 1 , .Xr m4 1 , +.Xr fnmatch 3 , .Xr altq 4 , .Xr divert 4 , .Xr dummynet 4 , From nobody Fri Apr 28 06:02:37 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q727x5HJdz48299; Fri, 28 Apr 2023 06:02: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 4Q727x4RPVz4CyM; Fri, 28 Apr 2023 06:02:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682661757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tX2pm+4OJijv/1BxXjUOG/FxAsubjPMb/IX4RD4p4fg=; b=gaji0ibPxIScYPdyKm8xXCJLqII14UI8+8GbKO1mz6O79r3+Nr4YrKbUjlJxb7TOV7qlXW 7UPi6O/HWxS9PpVIsuK98FT1KYbw5YEOgEZoS24CFInHUzeJju8Em+06rQaUVwzVzT34dv dWGtWMz4Oq7pTLGYXXeTaUXWSzMvgU1bn6eWTZb3emUXACAM69VSYl0ERzCimKKYmUYgGq SM+fip3IajTy81qMB6WEc4i0g8nYmRoaUyan0QiaLKYLSsygqUBXekp8ENPSy6siaOy9tE nE0udSc+OaltAxcmJuoOlcxu1h5LFX9llGwtZ0HnMBqiEhMJN/GGLyB3mK/tDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682661757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tX2pm+4OJijv/1BxXjUOG/FxAsubjPMb/IX4RD4p4fg=; b=RKmDgkMCuLH5z0uDVhNkfUKC/xxNiupPNpBIYa+s1Ml1UcF54cjKWZ6q1K5HOEKqc4VsPD HsPJSpswQ5JQD8ovjSReGTZqSOyj5B2H5HHDryd4cyLKwavGWPpfP/5EvRuJxOG06ASo0t bNyTbsAgy3oVLoNVRS7MMVI2ZZqi6ReA4tioL3OgJvfXThzHXVG3ipBxGbJ/WrZvy6tC15 9Lg5glxKMsmfQFQOmPrZeb6pBig3Mi/xplefZcmDpKoFSsdpTX3KWE2vNK98aQRM3MdBea YlxpDhBRGtmBuGYGH3+KOjlWK4KH5gHQNCseSoGOtJfwuWnR/1HyI/B4HaMvJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682661757; a=rsa-sha256; cv=none; b=IiEAz3O8Hqy1xHuTGGe5hm0DL015k171leTcrGtitUS4gaEzhlIVHw5wzGHArfXEoKoAih p+0GOzYi2A6+zsM1RCtyWh3iIi0RWU1TL2lTTo3rlFODyAHX7BW4Ym7gNryhqAx36EZrmo VIWqTfJukYjfllQl6YIMu4hWgpVemaXzaczqEq/MB0c5JYmPg83hD4rz17iX9iBE1DcIjJ M1Y5Bn22Apo4fAS8VLOmyILKSk/tjXaZUPFEmFYUytkmb46Fo8/OI2ZQJXncT9Sg34XHi5 mNijplRzFex2x3P4/u9SFPoEkczu6h9F5ilFkmG/b3oXr7ZCsAdCuookN2eP9Q== 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 4Q727x3VZmzp5c; Fri, 28 Apr 2023 06:02: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 33S62b98036931; Fri, 28 Apr 2023 06:02:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S62b7x036930; Fri, 28 Apr 2023 06:02:37 GMT (envelope-from git) Date: Fri, 28 Apr 2023 06:02:37 GMT Message-Id: <202304280602.33S62b7x036930@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: dffde5aa070b - stable/12 - ipfw.8: MFC: improve description for interface matching List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: dffde5aa070b0a473a06441c50dc8c796436a7fc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=dffde5aa070b0a473a06441c50dc8c796436a7fc commit dffde5aa070b0a473a06441c50dc8c796436a7fc Author: Eugene Grosbein AuthorDate: 2023-04-25 11:12:11 +0000 Commit: Eugene Grosbein CommitDate: 2023-04-28 06:02:17 +0000 ipfw.8: MFC: improve description for interface matching The manual describes "if*" form only while kernel uses fnmatch(3) and allows use for more versatile shell-like patterns. Note that explicitly and provide an example. (cherry picked from commit 9f5dc374d0dadb6947a9bd9ff8ff44931e1b6422) --- sbin/ipfw/ipfw.8 | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/sbin/ipfw/ipfw.8 b/sbin/ipfw/ipfw.8 index ba477f379532..512ad5baf90e 100644 --- a/sbin/ipfw/ipfw.8 +++ b/sbin/ipfw/ipfw.8 @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 14, 2021 +.Dd April 25, 2023 .Dt IPFW 8 .Os .Sh NAME @@ -1896,13 +1896,24 @@ However, this option doesn't imply an implicit .Cm check-state in contrast to .Cm keep-state . -.It Cm recv | xmit | via Brq Ar ifX | Ar if Ns Cm * | Ar table Ns Po Ar name Ns Oo , Ns Ar value Oc Pc | Ar ipno | Ar any +.It Cm recv | xmit | via Brq Ar ifX | Ar ifmask | Ar table Ns Po Ar name Ns Oo , Ns Ar value Oc Pc | Ar ipno | Ar any Matches packets received, transmitted or going through, respectively, the interface specified by exact name .Po Ar ifX Pc , -by device name -.Po Ar if* Pc , +by device mask +.Po Ar ifmask Pc , by IP address, or through some interface. +.Pp +Interface +name may be matched against +.Ar ifmask +with +.Xr fnmatch 3 +according to the rules used by the shell (f.e. tun*). +See also the +.Sx EXAMPLES +section. +.Pp Table .Ar name may be used to match interface by its kernel ifindex. @@ -4185,6 +4196,12 @@ of clients, as below: .Dl "ipfw add deny ip from ${badguys} to any" .Dl "... normal policies ..." .Pp +Allow any transit packets coming from single vlan 10 and +going out to vlans 100-1000: +.Pp +.Dl "ipfw add 10 allow out recv vlan10 \e" +.Dl "{ xmit vlan1000 or xmit \*qvlan[1-9]??\*q }" +.Pp The .Cm verrevpath option could be used to do automated anti-spoofing by adding the @@ -4708,6 +4725,7 @@ can be changed in a similar way as for .Sh SEE ALSO .Xr cpp 1 , .Xr m4 1 , +.Xr fnmatch 3 , .Xr altq 4 , .Xr divert 4 , .Xr dummynet 4 , From nobody Fri Apr 28 07:07:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q73Zb4DB1z485kG; Fri, 28 Apr 2023 07:07: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 4Q73Zb1dYZz4JFN; Fri, 28 Apr 2023 07:07:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682665639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rn97rpypmeEnrm7iOCYgM0/+omqhRlqsZMKJTBSJI1I=; b=L4hs+481+3Lt3WLboABBt3EUQYgSl2IClyeFHKf2HBQ8R7ihP0RVXgb4gX2biRJMkglE5j T4ACLDXfk8tF8uH4p8DU5XeD6UGU6xxGHR5x9RHjWcdcxZ/nbiyqg1cFSz0hwGDMgLzVII 5ZC1otPbftLI9VhbLFMd1gesmnEjebSY3c8FO5w8WztphoiG9gJFlz8W4gtX4blfXCQiHt M+oe7IwTZNlU92dIlBilS7DxHm9AuVX7j0w0dkz9ptqyEBxAOPvixKidVoRNpu0TOvCej+ Hiwo8imjAI/R20Tmy3asKA2xVxuHv2O9DSKQrEq8k+5MR3huc3pMGhLFQLX1fQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682665639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rn97rpypmeEnrm7iOCYgM0/+omqhRlqsZMKJTBSJI1I=; b=XMmUhI2shEoBrZYVAW9IWbcVklpsHQyrRoOKMCslSrUWhOtGt0H1nYIbvcOf63vQtLJxt+ Lgm/ihqp+JuSJYmoUyLnDZ4rwzrOVfBMRYhW/SVPM7nsKVmn+odDATFNjXZPmcmFuqL2Rc jb0GTV+Bwmhbpv1Fy9YO3wHGUSsBYJB3bfpE/1D2gAx+bQC4L3U7a4TNZxb/HugYAFP4Vc U/SHVgnl3maaw/DhUhyB5U5GdgWCtfaUV9LV3aU4bbPt0aVovlRrCF5Kw7LsWUJLVCx2Xn h7UpyQuIt58xtght7n/7m3ykbQ1YJwT2eUOZjg2CQbY+dBDq/rYkSJ0iNE6o/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682665639; a=rsa-sha256; cv=none; b=sLs+8TyRkyj2WoL/h1QkDNh7Y4Q5KT5IoPWncHGeTJ58YnIMIO5NStM3NqtnkZqlT4Q5wx WeaJM/K2URv5sE9F3aRSu3Zqh4rENzItpdOFfYRm4+ur8N076mQnVAajjZWO6BZUyA/zzB cP1dJC0ObIHVXRi2whMoPGr8LBQB0IbaB37MYOsL5FlLwsvhyjXI7qeNtEZowdPDAP5szl hRPw/1K/BcF8g1AVqzn5+vswZuhda4V+dhbJvBJ9QeXUbw/pfMRqw0UFauM+/h/f4aX8Cf DpXVdNmebShqy2v/4gRkeqXCFqgfPKXZaNhlVmvVxAo+eoD5L02SEh+TSa0kgA== 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 4Q73Zb0jwMzqqW; Fri, 28 Apr 2023 07:07: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 33S77J4v037520; Fri, 28 Apr 2023 07:07:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S77JQj037519; Fri, 28 Apr 2023 07:07:19 GMT (envelope-from git) Date: Fri, 28 Apr 2023 07:07:19 GMT Message-Id: <202304280707.33S77JQj037519@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: 18126b647a43 - main - bhyve: use directory file descriptor for checkpoint List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 18126b647a43ff8fbb127cc036084110ac302d32 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=18126b647a43ff8fbb127cc036084110ac302d32 commit 18126b647a43ff8fbb127cc036084110ac302d32 Author: Vitaliy Gusev AuthorDate: 2023-04-28 07:00:48 +0000 Commit: Corvin Köhne CommitDate: 2023-04-28 07:00:48 +0000 bhyve: use directory file descriptor for checkpoint This is required to enable capsicum for the snapshot code. Reviewed by: corvink Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38858 --- usr.sbin/bhyve/snapshot.c | 21 ++++++++++++++------- usr.sbin/bhyvectl/bhyvectl.c | 25 +++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 866fc265b8aa..6d543c1b37e3 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -1308,9 +1308,10 @@ vm_vcpu_resume(struct vmctx *ctx) } static int -vm_checkpoint(struct vmctx *ctx, const char *checkpoint_file, bool stop_vm) +vm_checkpoint(struct vmctx *ctx, int fddir, const char *checkpoint_file, + bool stop_vm) { - int fd_checkpoint = 0, kdata_fd = 0; + int fd_checkpoint = 0, kdata_fd = 0, fd_meta; int ret = 0; int error = 0; size_t memsz; @@ -1325,14 +1326,14 @@ vm_checkpoint(struct vmctx *ctx, const char *checkpoint_file, bool stop_vm) return (-1); } - kdata_fd = open(kdata_filename, O_WRONLY | O_CREAT | O_TRUNC, 0700); + kdata_fd = openat(fddir, kdata_filename, O_WRONLY | O_CREAT | O_TRUNC, 0700); if (kdata_fd < 0) { perror("Failed to open kernel data snapshot file."); error = -1; goto done; } - fd_checkpoint = open(checkpoint_file, O_RDWR | O_CREAT | O_TRUNC, 0700); + fd_checkpoint = openat(fddir, checkpoint_file, O_RDWR | O_CREAT | O_TRUNC, 0700); if (fd_checkpoint < 0) { perror("Failed to create checkpoint file"); @@ -1346,9 +1347,12 @@ vm_checkpoint(struct vmctx *ctx, const char *checkpoint_file, bool stop_vm) goto done; } - meta_file = fopen(meta_filename, "w"); + fd_meta = openat(fddir, meta_filename, O_WRONLY | O_CREAT | O_TRUNC, 0700); + if (fd_meta != -1) + meta_file = fdopen(fd_meta, "w"); if (meta_file == NULL) { perror("Failed to open vm metadata snapshot file."); + close(fd_meta); goto done; } @@ -1474,10 +1478,13 @@ vm_do_checkpoint(struct vmctx *ctx, const nvlist_t *nvl) int error; if (!nvlist_exists_string(nvl, "filename") || - !nvlist_exists_bool(nvl, "suspend")) + !nvlist_exists_bool(nvl, "suspend") || + !nvlist_exists_descriptor(nvl, "fddir")) error = EINVAL; else - error = vm_checkpoint(ctx, nvlist_get_string(nvl, "filename"), + error = vm_checkpoint(ctx, + nvlist_get_descriptor(nvl, "fddir"), + nvlist_get_string(nvl, "filename"), nvlist_get_bool(nvl, "suspend")); return (error); diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index 5c3440ce8343..12f92eb8d96d 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -1711,14 +1711,35 @@ done: } static int -snapshot_request(const char *vmname, const char *file, bool suspend) +open_directory(const char *file) +{ + char *path; + int fd; + + if ((path = strdup(file)) == NULL) + return (-1); + + dirname(path); + fd = open(path, O_DIRECTORY); + free(path); + + return (fd); +} + +static int +snapshot_request(const char *vmname, char *file, bool suspend) { nvlist_t *nvl; + int fd; + + if ((fd = open_directory(file)) < 0) + return (errno); nvl = nvlist_create(0); nvlist_add_string(nvl, "cmd", "checkpoint"); - nvlist_add_string(nvl, "filename", file); + nvlist_add_string(nvl, "filename", basename(file)); nvlist_add_bool(nvl, "suspend", suspend); + nvlist_move_descriptor(nvl, "fddir", fd); return (send_message(vmname, nvl)); } From nobody Fri Apr 28 07:07:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q73Zc4LQQz485MW; Fri, 28 Apr 2023 07:07: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 4Q73Zc2CPqz4JGx; Fri, 28 Apr 2023 07:07:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682665640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P9HrzuVP4AS+7rwbu0Nyyk79czJavKh26p5UXwdBQ+0=; b=BgT2G5miO2jNpDO2mII3u3kDuJJ+ytbMC/G6QHfDNchr803mrnLnBfvVvDSFViTS16N0QU LUPY5OVRD0GYvs5mY23bYafydKvEVWwGOGI6hTGZFKV0RifHN88EYfWI25r7E0+rpRyFjy IKZsNiCkyiZBo2oCOTkssbpN7wfWrsF1iAMxV0S5PYCtwlTvl5LkYMlJHg+hGow//rSfjV srx0dUincUXLw41lk3vAP/MzYxT4IJVXtZY5PMM3Sv9MyfvKATy+3uvtxJKRZannNtu+Bv bqZUxHVV0+x93OWJ3A/a7jWUOseMSfkVSJI4h7vifzPzhrCAXFWXeoCb1dcCgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682665640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P9HrzuVP4AS+7rwbu0Nyyk79czJavKh26p5UXwdBQ+0=; b=sVCJxyPao7qTDSK+Ry8a15uEStI+arY2OqSTAJ1PLxHGx/ZaeTGMJuL1HpbMucHiJ8+5/5 WNgB0WM+pbDgfXfD7+K0xG1paWdmAifVYBKZH59iWhBvhQ/H/Yq2H7dYXoWxDCtNHL88ol zCdIenr2JurjLCZrAQCSKha6pA0CG+SelxBZHUY+UwLmYizZqHJYL/lBaWqg6BWOF+cfcJ XN6m78G7I7ay1MMbStGbpHQLxu2SDzk9+QEM4Wfb8sHSGeZRzwp6vOiI5KETo6t4BQvUyp VaEMVJCwe1k+nholojRFS1rcA+dm0j29PYUGQ1//VbH93iCiXGFCQNgMyRj+kQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682665640; a=rsa-sha256; cv=none; b=qsrtBClqS2TgJdu8MCQQjYvlLfjh9df5NKYE6RRT008QiHe4XgLumaRv6xkfKyz1487dsh WSt0K4LKgPOhXaQJEMV5WbqRqbxRNYAmVYNKpuHFablK/c5BxsS5yM7nN6AXvkwkf9QeHi vCUwZPegG/oweqC634T3EGtcJ1DzV7NdNwKI50tJK+EcSodTv9OzsmKA6gevRaa/ee0FoD lo6qyJ0607xCwFr2kXe6wlcejbTqegjwnjnBrWDw1LArhfU+ZceJg1F0BipVqRs8TwjnVQ McreoHMorMyoQkVQI1jqVlZOLdg/7P7C6MWpJnm2x/O6X1gS0zlvm2I0op8jAg== 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 4Q73Zc1JJLzqSb; Fri, 28 Apr 2023 07:07: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 33S77KGx037547; Fri, 28 Apr 2023 07:07:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S77KGV037546; Fri, 28 Apr 2023 07:07:20 GMT (envelope-from git) Date: Fri, 28 Apr 2023 07:07:20 GMT Message-Id: <202304280707.33S77KGV037546@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: 8371bbdadb9b - main - bhyve: enable capsicum for snapshot code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8371bbdadb9bb6b99d0b231995cc3bfcc5a668cb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=8371bbdadb9bb6b99d0b231995cc3bfcc5a668cb commit 8371bbdadb9bb6b99d0b231995cc3bfcc5a668cb Author: Vitaliy Gusev AuthorDate: 2023-04-28 07:02:51 +0000 Commit: Corvin Köhne CommitDate: 2023-04-28 07:02:51 +0000 bhyve: enable capsicum for snapshot code Reviewed by: corvink Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38860 --- usr.sbin/bhyve/Makefile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index 02a1f67d66eb..9741d5f66ac1 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -118,10 +118,6 @@ CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/mii CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/usb/controller .if ${MK_BHYVE_SNAPSHOT} != "no" CFLAGS+= -I${SRCTOP}/contrib/libucl/include - -# Temporary disable capsicum, until we integrate checkpoint code with it. -CFLAGS+= -DWITHOUT_CAPSICUM - CFLAGS+= -DBHYVE_SNAPSHOT .endif From nobody Fri Apr 28 08:57:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761H0hptz48CFc; Fri, 28 Apr 2023 08:57:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q761G6s9Jz4RRN; Fri, 28 Apr 2023 08:57:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rEvPxPfjlz2XeWn7kwqM+eivH5VF8Sl8kfPY2Z57e6w=; b=xwOIjaftSF/Ka/HNIrZFV11YBz2P6ZQyoZNLeq+C81LpM7RsL0reP/CnrWbEt+pNlTcZlq WqvKmlGrqADugtQDDlnBaI721W/iy9fUc2K0t1qLsGRtZpwNGvTsCBA9ruT21wfw3lgH7w diTi5iwp6JOvpArhc920D0Nptg1yAsW8oWo9y+fjVXNZnvPnroirLGnBj30cAsdwQP5SFn DyJZ0DAwzJdrzaz14H/FroJo5ESFlQzg3dYgbiFIdAYvDuk7fN2Fd266j+i/X7dUAFlt3J ucM0KkSrBdsRaI+KNBt2ZlGOQkOJLLSAeWlfRYM3xqmsfiwA7hRYTrcEkIjGTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rEvPxPfjlz2XeWn7kwqM+eivH5VF8Sl8kfPY2Z57e6w=; b=RaZ1P8zJ9HJtXdoGxDmMcLLFiBoqwNykWYL+89s3TkbE2gRpuGnO5CtWRbGlVKV9HqCH/7 ffqVFDWJd3S6lRykzITodoJ5aXuq/wbmZS7L+m8Ig8cgg3Hx+yFslM3R5gFDR8pQWfreWa JIb+2tOyLnkhMfSLPWBz7TMbsKM56Kqa8ERCWt3v+MsmVduOBqHn1qMC6aoBaQuz0j7/WL bVQWQK4ZRyIHlndZC6cVKsbThQHcz9ce8MsDYBpG1wEGgFYY2W0QMxdUZlQVCO0wftxzYf id1t6Snj7Vs7G9DOoFoSzCcUXwkZgxnKrWfHkC7xogKu0t+WfuC32iyACcUS+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672227; a=rsa-sha256; cv=none; b=f0SQWJ4DVOnnNpCOojyjCNTD+taAv/KY6koZH1dmqp/yCDHsMO8Hhd3be78nvIrUH3naOy zVB9XhHAvC87MVCvGyRW76e8X5JWp6hGAizxlrvr+Ux0YG2LrCG/Yvdu2aUr0EFafh/qji F9ffSJj/xawv0lLWb2GAfhcAvRt+p9cJNpN4GOmod4jWbw7+vedt//d5Yt9h4AgTP3KX08 crw+qiIgEnm17vCXQizwwvgORORsw2/r7150n0R6cbPJf71i1MdEpAD1IPbkKB6tsWKWnH aiLJYbNEOr/v8CToxLPjJoVgKZHKxDZAFXT0GsZXD/5Z1Fl0i0lMcMJ1AZUB+A== 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 4Q761G5wXczt1g; Fri, 28 Apr 2023 08:57: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 33S8v6mk017878; Fri, 28 Apr 2023 08:57:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8v65B017877; Fri, 28 Apr 2023 08:57:06 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:06 GMT Message-Id: <202304280857.33S8v65B017877@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 2a38f51c5b8a - main - linux(4): Sort includes in the linux_stats.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2a38f51c5b8a7cf38f0a29a59e7558d8aef91047 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=2a38f51c5b8a7cf38f0a29a59e7558d8aef91047 commit 2a38f51c5b8a7cf38f0a29a59e7558d8aef91047 Author: Dmitry Chagin AuthorDate: 2023-04-28 08:54:58 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:54:58 +0000 linux(4): Sort includes in the linux_stats.c --- sys/compat/linux/linux_stats.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linux/linux_stats.c b/sys/compat/linux/linux_stats.c index d00888e77e84..79937fd9fa86 100644 --- a/sys/compat/linux/linux_stats.c +++ b/sys/compat/linux/linux_stats.c @@ -49,8 +49,8 @@ __FBSDID("$FreeBSD$"); #include #endif -#include #include +#include static void translate_vnhook_major_minor(struct vnode *vp, struct stat *sb) From nobody Fri Apr 28 08:57:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761J1vrTz48C23; Fri, 28 Apr 2023 08:57: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 4Q761J0tLjz4RMj; Fri, 28 Apr 2023 08:57:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TzxR4F/4Tdtv7Eg75btU0zTpjHmpFg/OqRf83LP/yXg=; b=jXtbNqYjVw0MDO6xNI9xy4PK7ZaxqAJ2Vuxc6SF9dEw4P+T5eOCcTdQsGptkGF2MGKt7qD kc2hnxGmzMPAw5C6gACE/apiJyGcRnTAb09/4CVdLomRHDxqBoFB8VnKiGIFVEOZpOuJUJ PibXZs51hzPGyzwsf4VdV22i7DwLjohVVBRIdmzK2usC0j9W0CWgAqinWS3j7gC1zIUX9a qFfoiBh0k3A45ftuUz6o0pmTCI461l04yfqH+o1LHfQxQIlyuGo283XxQMJz6ZBryOlEZu SBNwBWPgPl8Zz2VBNDWYAGZu10SDk1lmIsXjH6sZ494zQg+9xRZLFAGyPRPs1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TzxR4F/4Tdtv7Eg75btU0zTpjHmpFg/OqRf83LP/yXg=; b=ri9BgpKBfufrp7Xs3GNu7pjbAGxz817e/rO9nA/x0SBLsod5Bg0JIa09LIr9m/GCZE9jFg F5BjwVVaReMmmBpoQEN2YM+uhkkonkHZNobCFGMj7zVEcFPsS9dfm8tzruPGBGthtqPKUd YAbnexPdfL7GvEfOhFTkNl0SJFfbUWf0TF4k86aH9xcP+WcjJhTYR6H24zNzW4GTMALWnh K6izOgUXGkA1CKwJtea2zxA3nCcdMBV9WnSuz/QHl4ncFUMLz57KPVpEpjk1oC5c3bZidK z1tQ/UToG0d9xAA/Jg9em81GJUp4XWFoWlxhmPepoLVnISjHCN1bVE635znRoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672228; a=rsa-sha256; cv=none; b=olB0buKXBVeuDmGVJdROYkSVqZOmqXsOZKOebM7Kkpx66nKyNglCgY5ibGjxib2/rOYx78 mqGcVSwO9aIX397KnL6aK5TQQyXEQ3UYErIm8RQhAluk17dDQwB0YHzeN1PrWkTlRlvd+O 8JTuEwI4dZ0MDCLwCIxf//Kp+zYul75/p9Y1D7Z9PCEuOJksgU1hOjqoCa+T42RZ3zCTtz Qd8oHOzWmVue5ZT/+YpN4JMMjOtupwBBPjzFWOAk84c8PI03G1NmhkMAz/EqCgCe437NwI RVELLMNPzTujYG80yJQOUisZD/GMBQaS3lZtVgD3DoFYeoV3y9XQ/ZQ0zwSavw== 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 4Q761H72vyzt05; Fri, 28 Apr 2023 08:57: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 33S8v79i017906; Fri, 28 Apr 2023 08:57:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8v7aP017905; Fri, 28 Apr 2023 08:57:07 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:07 GMT Message-Id: <202304280857.33S8v7aP017905@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 6072eea0c375 - main - linux(4): Move translate_vnhook_major_minor() into the Linux common module List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6072eea0c375fc3ab0cf5bb494c75d1beac7b8ba Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=6072eea0c375fc3ab0cf5bb494c75d1beac7b8ba commit 6072eea0c375fc3ab0cf5bb494c75d1beac7b8ba Author: Dmitry Chagin AuthorDate: 2023-04-28 08:54:58 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:54:58 +0000 linux(4): Move translate_vnhook_major_minor() into the Linux common module --- sys/compat/linux/linux_stats.c | 24 ------------------------ sys/compat/linux/linux_util.c | 26 ++++++++++++++++++++++++++ sys/compat/linux/linux_util.h | 3 +++ 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/sys/compat/linux/linux_stats.c b/sys/compat/linux/linux_stats.c index 79937fd9fa86..219f4a602eb4 100644 --- a/sys/compat/linux/linux_stats.c +++ b/sys/compat/linux/linux_stats.c @@ -52,30 +52,6 @@ __FBSDID("$FreeBSD$"); #include #include -static void -translate_vnhook_major_minor(struct vnode *vp, struct stat *sb) -{ - int major, minor; - - if (vn_isdisk(vp)) { - sb->st_mode &= ~S_IFMT; - sb->st_mode |= S_IFBLK; - } - - /* - * Return the same st_dev for every devfs instance. The reason - * for this is to work around an idiosyncrasy of glibc getttynam() - * implementation: it checks whether st_dev returned for fd 0 - * is the same as st_dev returned for the target of /proc/self/fd/0 - * symlink, and with linux chroots having their own devfs instance, - * the check will fail if you chroot into it. - */ - if (rootdevmp != NULL && vp->v_mount->mnt_vfc == rootdevmp->mnt_vfc) - sb->st_dev = rootdevmp->mnt_stat.f_fsid.val[0]; - - if (linux_vn_get_major_minor(vp, &major, &minor) == 0) - sb->st_rdev = (major << 8 | minor); -} static int linux_kern_statat(struct thread *td, int flag, int fd, const char *path, diff --git a/sys/compat/linux/linux_util.c b/sys/compat/linux/linux_util.c index 6d82f87a3b31..dd739fde2551 100644 --- a/sys/compat/linux/linux_util.c +++ b/sys/compat/linux/linux_util.c @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -225,6 +226,31 @@ linux_vn_get_major_minor(const struct vnode *vp, int *major, int *minor) return (error); } +void +translate_vnhook_major_minor(struct vnode *vp, struct stat *sb) +{ + int major, minor; + + if (vn_isdisk(vp)) { + sb->st_mode &= ~S_IFMT; + sb->st_mode |= S_IFBLK; + } + + /* + * Return the same st_dev for every devfs instance. The reason + * for this is to work around an idiosyncrasy of glibc getttynam() + * implementation: it checks whether st_dev returned for fd 0 + * is the same as st_dev returned for the target of /proc/self/fd/0 + * symlink, and with linux chroots having their own devfs instance, + * the check will fail if you chroot into it. + */ + if (rootdevmp != NULL && vp->v_mount->mnt_vfc == rootdevmp->mnt_vfc) + sb->st_dev = rootdevmp->mnt_stat.f_fsid.val[0]; + + if (linux_vn_get_major_minor(vp, &major, &minor) == 0) + sb->st_rdev = (major << 8 | minor); +} + char * linux_get_char_devices(void) { diff --git a/sys/compat/linux/linux_util.h b/sys/compat/linux/linux_util.h index 37445ad0af27..f61aeea99136 100644 --- a/sys/compat/linux/linux_util.h +++ b/sys/compat/linux/linux_util.h @@ -105,6 +105,8 @@ struct linux_device_handler { int linux_char_device; }; +struct stat; + int linux_device_register_handler(struct linux_device_handler *h); int linux_device_unregister_handler(struct linux_device_handler *h); char *linux_driver_get_name_dev(device_t dev); @@ -112,6 +114,7 @@ int linux_driver_get_major_minor(const char *node, int *major, int *minor); int linux_vn_get_major_minor(const struct vnode *vn, int *major, int *minor); char *linux_get_char_devices(void); void linux_free_get_char_devices(char *string); +void translate_vnhook_major_minor(struct vnode *vp, struct stat *sb); #if defined(KTR) From nobody Fri Apr 28 08:57:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761K3LnPz48C26; Fri, 28 Apr 2023 08:57: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 4Q761K23t1z4RPv; Fri, 28 Apr 2023 08:57:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o8UfBKFCgWvAmSsWOwyKosDWn7sdFI+VoyYU229WEeo=; b=PW5gIlB2NGKIyqqul5QBu90+Hf2+J527kYZcmm7eHqvKu7rwWghwG7kDnmxGRud9FedI45 1vqv/Z+g/iqB4sCR6MMoaK/uuxiRbWtfA9xAh36OcOBW9xmbwv6gbZKjsE8tmSafS1TJ3z 5UxN576mAf40Vw06szFHpV+yb2MpjkHsMvxRGORms4NSsYKquC4CEoCEPrpkmv0IQWzgyi Q7E1W5T2lT66Gmuj/nj/nK7veIMeHQwLXXu3E8lAHyf29e3NynNskRRRA5VFcis9iOdUmV jhvu70TuCi+78WWXblyQd40Vcw/yXHhCqzKLrya5ydaRf/kHnyDyGd91iYHCMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o8UfBKFCgWvAmSsWOwyKosDWn7sdFI+VoyYU229WEeo=; b=LxHXENbwYOwZ5hfOKrRu3L29wpFDlxW0HSxcBJ0kSStrEKDMS0uBx/kUHnRDfua/PljVSc Ewa10tBcQYXgU4ZgXWttkWiQlda5lOkuBjZdS+2vizFgxKZFEcFEtDOMs2dal0Qtuv5te+ BAyYX1NWmkpWmopsteAU6lSdyyDU3OOQzzLMhbRHki3OsRR+6hGM2LDggdojTZRPuLPF8+ clZFUdS+vNNBXMx84j/P/K21QnKR6iInUHoXmYj29DYFjL6pdyDkxxKsVpnUNfbPyDvF0i hN1bxoex56e4WAhac0FPVrLI44eMFtoG15EpIyJE35X/13Uy89hkgv/arlghmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672229; a=rsa-sha256; cv=none; b=hCQNkN1kP+bF57f/WyqWgr8KwzhcjgAxeSuyPu1jk7h4z3DpMqvnDJUQwSvdTnwvAkZann F2u8KB2lE3lrDtI+sEIcAclDJD/ppGWVdQrhBcF2TtpQAppz2eSN2jtvRvChs61l4Pysrl tijHAZ3pyE2noyWY5V3obXTCSviXLdaR4+2kSFCk1YGI8GUpBEN8duSae1MaaJNGQtvKJB akRx0+9HDJNYGmjG3IzcRM1l/xQuctvZ9bpQdh5ZA2T9iF53wg1zPhm+GZADNF0iYbnusT 8RKlSHFwf5/No4A05lpAHTQVRGXMf4o4UZNlcOJl23QggYFNZMjZQT2vhsrRgw== 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 4Q761K0sBPzt06; Fri, 28 Apr 2023 08:57: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 33S8v9jr017927; Fri, 28 Apr 2023 08:57:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8v9aF017926; Fri, 28 Apr 2023 08:57:09 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:09 GMT Message-Id: <202304280857.33S8v9aF017926@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: e9204c5c2c5c - main - linux(4): Move statx_copyout() close to linux_statx() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e9204c5c2c5c471ad2182ec6358a46be74c9ebb6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=e9204c5c2c5c471ad2182ec6358a46be74c9ebb6 commit e9204c5c2c5c471ad2182ec6358a46be74c9ebb6 Author: Dmitry Chagin AuthorDate: 2023-04-28 08:54:59 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:54:59 +0000 linux(4): Move statx_copyout() close to linux_statx() Just for future changes of the conditional Linuxulator build. We need a small refactoring of the MI code to help porting Linuxulator to other platforms. --- sys/compat/linux/linux_stats.c | 67 +++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/sys/compat/linux/linux_stats.c b/sys/compat/linux/linux_stats.c index 219f4a602eb4..04589c33547b 100644 --- a/sys/compat/linux/linux_stats.c +++ b/sys/compat/linux/linux_stats.c @@ -165,39 +165,6 @@ newstat_copyout(struct stat *buf, void *ubuf) return (copyout(&tbuf, ubuf, sizeof(tbuf))); } -static int -statx_copyout(struct stat *buf, void *ubuf) -{ - struct l_statx tbuf; - - bzero(&tbuf, sizeof(tbuf)); - tbuf.stx_mask = STATX_ALL; - tbuf.stx_blksize = buf->st_blksize; - tbuf.stx_attributes = 0; - tbuf.stx_nlink = buf->st_nlink; - tbuf.stx_uid = buf->st_uid; - tbuf.stx_gid = buf->st_gid; - tbuf.stx_mode = buf->st_mode; - tbuf.stx_ino = buf->st_ino; - tbuf.stx_size = buf->st_size; - tbuf.stx_blocks = buf->st_blocks; - - tbuf.stx_atime.tv_sec = buf->st_atim.tv_sec; - tbuf.stx_atime.tv_nsec = buf->st_atim.tv_nsec; - tbuf.stx_btime.tv_sec = buf->st_birthtim.tv_sec; - tbuf.stx_btime.tv_nsec = buf->st_birthtim.tv_nsec; - tbuf.stx_ctime.tv_sec = buf->st_ctim.tv_sec; - tbuf.stx_ctime.tv_nsec = buf->st_ctim.tv_nsec; - tbuf.stx_mtime.tv_sec = buf->st_mtim.tv_sec; - tbuf.stx_mtime.tv_nsec = buf->st_mtim.tv_nsec; - - tbuf.stx_rdev_major = buf->st_rdev >> 8; - tbuf.stx_rdev_minor = buf->st_rdev & 0xff; - tbuf.stx_dev_major = buf->st_dev >> 8; - tbuf.stx_dev_minor = buf->st_dev & 0xff; - - return (copyout(&tbuf, ubuf, sizeof(tbuf))); -} #ifdef LINUX_LEGACY_SYSCALLS int @@ -753,6 +720,40 @@ linux_syncfs(struct thread *td, struct linux_syncfs_args *args) return (error); } +static int +statx_copyout(struct stat *buf, void *ubuf) +{ + struct l_statx tbuf; + + bzero(&tbuf, sizeof(tbuf)); + tbuf.stx_mask = STATX_ALL; + tbuf.stx_blksize = buf->st_blksize; + tbuf.stx_attributes = 0; + tbuf.stx_nlink = buf->st_nlink; + tbuf.stx_uid = buf->st_uid; + tbuf.stx_gid = buf->st_gid; + tbuf.stx_mode = buf->st_mode; + tbuf.stx_ino = buf->st_ino; + tbuf.stx_size = buf->st_size; + tbuf.stx_blocks = buf->st_blocks; + + tbuf.stx_atime.tv_sec = buf->st_atim.tv_sec; + tbuf.stx_atime.tv_nsec = buf->st_atim.tv_nsec; + tbuf.stx_btime.tv_sec = buf->st_birthtim.tv_sec; + tbuf.stx_btime.tv_nsec = buf->st_birthtim.tv_nsec; + tbuf.stx_ctime.tv_sec = buf->st_ctim.tv_sec; + tbuf.stx_ctime.tv_nsec = buf->st_ctim.tv_nsec; + tbuf.stx_mtime.tv_sec = buf->st_mtim.tv_sec; + tbuf.stx_mtime.tv_nsec = buf->st_mtim.tv_nsec; + + tbuf.stx_rdev_major = buf->st_rdev >> 8; + tbuf.stx_rdev_minor = buf->st_rdev & 0xff; + tbuf.stx_dev_major = buf->st_dev >> 8; + tbuf.stx_dev_minor = buf->st_dev & 0xff; + + return (copyout(&tbuf, ubuf, sizeof(tbuf))); +} + int linux_statx(struct thread *td, struct linux_statx_args *args) { From nobody Fri Apr 28 08:57:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761L3R2tz48Byw; Fri, 28 Apr 2023 08:57: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 4Q761L2gsWz4Rdt; Fri, 28 Apr 2023 08:57:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672230; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ecGpREDnJWKPkTuksc1vqJYeFZ4ZPMKQ7AexPAYtruE=; b=eev00vKzdYnBhaae6HYEVBN1/YFduMEDHQbBknJGsfEqcNV2x9vCz7Tc1Bu6QLxnSsIjs4 LwWdcZ9OIoe2Di8+MucY91rV3a2y2WzOMK6NS8lho1xNaQVMFfrSkx9Q+BZK0h8cWqjyK5 ZGED6tJAuD9rgetwphro2ULrfbfplbkuYgVHMScbKiRCCKKGR19XSoLx2fDDp4SLQkvXpp W8d6ETEpBz6sCVHMXHWk9NhLZsIXlmT1foBrTMLQMr8g/5QjeemQCnM7oO2Ss6tyZs7qTZ WeH6qlMtBk4rw9hkQWswoi4KeWjZRxvx+irSaZWujm/MwHzRDufBKekml/cEDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672230; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ecGpREDnJWKPkTuksc1vqJYeFZ4ZPMKQ7AexPAYtruE=; b=LHMD1bIqw1H2SZFOcQBOl5DCaqH+iDyqP2w+w++Jjm1G2stUuYmiPe8oszK6fBGlqOnbc4 lP2S8Q55atfd1RkXvcLsOazNiFshiAKKcv7SJbcikvw2cd8QbIziAKPFO2Do4RUXnsKjfD JTBf5KdX1AnhJ2Ulrz5j/48G8WDR8+suO4mS6OhTGBqNPlSUvq70PFef6jQVU2vvUAk3tf Sgzvj0TWD3Fbzrok0ts9EGlP9IBWzVz2z8yInUEDyGVE4oLT/JMGVu0tlkhlCgbIXjnDaX iO8DPRN5uJjx/4TSxsoiwNHfMLNDDduZfwC5dzhm7c5UwTp3R4mLZ07X9U8xfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672230; a=rsa-sha256; cv=none; b=Dx5zMX8XIsvBhfgWnQM4qZ66XGRzI5tEHD9CgGrEVxuOyOnDVDaVCqqQbsfuBRfLllWkVB 38YyYy9NxymZouVZbWoxc7cABMftM2GvQ9mC1f6nchJL7EWbON09DZpGX7Nu3gWHKoJIXo mYjAKv4FfwwfMNjBdRZCqw8b/utJDXPCL6ysRl3+dQH9jR8EaprweOh9SpYqXyXhqGOe3o dIAVOResr6D6nLfAeOTL0a4vyjptGSNU0qXSLnruI/6YIAd7QGs5TN/J2SfIq3Pi6kEUiu 8leJb37pXD0xR2mbJfldrH8hxU6ibrF//lBykTH3TTVUCT+CTAM4epbkI60cGQ== 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 4Q761L1mqRzt07; Fri, 28 Apr 2023 08:57: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 33S8vAWQ017946; Fri, 28 Apr 2023 08:57:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8vAFK017945; Fri, 28 Apr 2023 08:57:10 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:10 GMT Message-Id: <202304280857.33S8vAFK017945@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: a408fc097f43 - main - linux(4): Rename obsolete old struct l_stat to struct l_old_stat List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a408fc097f43b80fd1477196e595edc796804520 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=a408fc097f43b80fd1477196e595edc796804520 commit a408fc097f43b80fd1477196e595edc796804520 Author: Dmitry Chagin AuthorDate: 2023-04-28 08:54:59 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:54:59 +0000 linux(4): Rename obsolete old struct l_stat to struct l_old_stat --- sys/amd64/linux32/linux.h | 3 ++- sys/compat/linux/linux_stats.c | 8 ++++---- sys/i386/linux/linux.h | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/sys/amd64/linux32/linux.h b/sys/amd64/linux32/linux.h index 8acc5bc0f195..80311ebb988e 100644 --- a/sys/amd64/linux32/linux.h +++ b/sys/amd64/linux32/linux.h @@ -199,7 +199,8 @@ struct l_newstat { l_ulong __unused5; }; -struct l_stat { +/* __old_kernel_stat now */ +struct l_old_stat { l_ushort st_dev; l_ulong st_ino; l_ushort st_mode; diff --git a/sys/compat/linux/linux_stats.c b/sys/compat/linux/linux_stats.c index 04589c33547b..58c378d6bc08 100644 --- a/sys/compat/linux/linux_stats.c +++ b/sys/compat/linux/linux_stats.c @@ -222,9 +222,9 @@ linux_newfstat(struct thread *td, struct linux_newfstat_args *args) #if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) static int -stat_copyout(struct stat *buf, void *ubuf) +old_stat_copyout(struct stat *buf, void *ubuf) { - struct l_stat lbuf; + struct l_old_stat lbuf; bzero(&lbuf, sizeof(lbuf)); lbuf.st_dev = dev_to_ldev(buf->st_dev); @@ -266,7 +266,7 @@ linux_stat(struct thread *td, struct linux_stat_args *args) if (error) { return (error); } - return (stat_copyout(&buf, args->up)); + return (old_stat_copyout(&buf, args->up)); } int @@ -286,7 +286,7 @@ linux_lstat(struct thread *td, struct linux_lstat_args *args) if (error) { return (error); } - return (stat_copyout(&buf, args->up)); + return (old_stat_copyout(&buf, args->up)); } #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index 114d59d4eae0..dd99b4a6d721 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -172,7 +172,8 @@ struct l_newstat { l_ulong __unused5; }; -struct l_stat { +/* __old_kernel_stat now */ +struct l_old_stat { l_ushort st_dev; l_ulong st_ino; l_ushort st_mode; From nobody Fri Apr 28 08:57:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761M3lDyz48CJ7; Fri, 28 Apr 2023 08:57: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 4Q761M3JBjz4RQw; Fri, 28 Apr 2023 08:57:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kLsyyJyNRiON7KAIRVFzqR7LRFHYG3pWFsUXj7U6h6M=; b=QQeW9Fp8RK/0CuCJo/u/r8jV/Qn7TNQYF6tFp1l8O6UkTKQtE5cAlqUoXlX2dYTlavhiXz W6+bXAx4gl7juUiKP2+YeN9mp9hYVNHWHHceewfOU4Goga8rPEaaTLxpB/F5YVa21/7M2B 5t+FycbJTd8I16E0DHqUM2o+SPs83sJHsRAS5mLd4wZZt4VbVYyEP5ZHb2frSVzossrkQd ImWPtkH401r0QuFSBj4QXakocC/BT2lpPRXFN3psaXL182DE8OBVfyd7QtJpRbN7JhjTM/ n9i+zNxGcWnyShipcWQarRrhKiAHBbYQWp9MnrLn/XPXxsU1gfTlaSp/xkrNNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kLsyyJyNRiON7KAIRVFzqR7LRFHYG3pWFsUXj7U6h6M=; b=NtbvP2Gt531xZSEviJbyrrx6zUPFf0ENUeCA/13H80U3weVISV+cz7wmENO7xSEqvDBdwE lqeK+RNNjJXhUKzXLCsa3lgUK6G/oPrUyA/X+PRlBvcnaostgX3vhv9XDuPM/o5KNlEeiI AmZSBqhSDtQI5vjndcf/9LfyPrbzYxwwKiwhyCcuFsmCJP1NcCzuOFZi6pPchzsgvtsvRj ygzOKmtNq3UqwwuABvuv6RP4oZrSjsVwJwI+FMgo1OMXj59/wSXQTm71Og3ZrC8CvpE/9g 9JrTD31vSvU06TVDreX3GB3ju2weGeL73c+m0Ht9I6t2dAcUDh+64KSmTxMH2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672231; a=rsa-sha256; cv=none; b=CL2cWNE5W1+WmWVHzlZ+hJ2YRoLwRGpzCiHscpL7ZAUXdqupsArQWolYjwDpZDj0e3VGiv H55so6p2TCqphjo6j8Z0XFQNVbygsa65hOhlEl7MKuT5CvE8O+mJeQa/yTFYg7Io1IpTY9 eGrCp65Z6w/p2zUvDjfMkpeWPuHb1cb6T77XQp9v49z3JFaJZvewSRbxpIvuUuwAJ+3d0X QzI5HpFc3+Lc8pC/NGUZGhMk46X+FWrbf3noak1XVx9JINvy4NT6VR+B/oLeMcE+aqWpxu TLwFQiMRId3jmN6OYv5AEQsbh7e7Em9IyaRmEkUSqXJTPfFMVGk6FJp0nkubZw== 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 4Q761M2KqCztTx; Fri, 28 Apr 2023 08:57: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 33S8vBiD017967; Fri, 28 Apr 2023 08:57:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8vBDI017966; Fri, 28 Apr 2023 08:57:11 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:11 GMT Message-Id: <202304280857.33S8vBDI017966@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 391fd1e1a1e8 - main - linux(4): Mark old fstat syscal as unimplemented List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 391fd1e1a1e8d360d4ebaceecf1ab7c46063b257 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=391fd1e1a1e8d360d4ebaceecf1ab7c46063b257 commit 391fd1e1a1e8d360d4ebaceecf1ab7c46063b257 Author: Dmitry Chagin AuthorDate: 2023-04-28 08:54:59 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:54:59 +0000 linux(4): Mark old fstat syscal as unimplemented It looks like the old fstat system call never been implemented. --- sys/amd64/linux32/linux32_dummy_machdep.c | 1 + sys/i386/linux/linux_dummy_machdep.c | 2 +- sys/i386/linux/syscalls.master | 7 +------ 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/sys/amd64/linux32/linux32_dummy_machdep.c b/sys/amd64/linux32/linux32_dummy_machdep.c index bc7a3c0aa69b..4dc0f6ffc0bd 100644 --- a/sys/amd64/linux32/linux32_dummy_machdep.c +++ b/sys/amd64/linux32/linux32_dummy_machdep.c @@ -44,6 +44,7 @@ LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE); UNIMPLEMENTED(break); UNIMPLEMENTED(ftime); +UNIMPLEMENTED(fstat); UNIMPLEMENTED(gtty); UNIMPLEMENTED(stty); UNIMPLEMENTED(lock); diff --git a/sys/i386/linux/linux_dummy_machdep.c b/sys/i386/linux/linux_dummy_machdep.c index 7f29d2a6808c..87edfed4a17d 100644 --- a/sys/i386/linux/linux_dummy_machdep.c +++ b/sys/i386/linux/linux_dummy_machdep.c @@ -50,6 +50,7 @@ LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE); UNIMPLEMENTED(break); UNIMPLEMENTED(ftime); +UNIMPLEMENTED(fstat); UNIMPLEMENTED(gtty); UNIMPLEMENTED(stty); UNIMPLEMENTED(lock); @@ -59,7 +60,6 @@ UNIMPLEMENTED(profil); UNIMPLEMENTED(ulimit); DUMMY(bdflush); -DUMMY(fstat); DUMMY(olduname); DUMMY(stime); DUMMY(uname); diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master index 9431143f7336..a8226e6eb927 100644 --- a/sys/i386/linux/syscalls.master +++ b/sys/i386/linux/syscalls.master @@ -191,12 +191,7 @@ l_uint secs ); } -28 AUE_FSTAT STD { - int linux_fstat( - l_uint fd, - struct linux_stat *up - ); - } +28 AUE_NULL UNIMPL fstat 29 AUE_NULL STD { int linux_pause(void); } From nobody Fri Apr 28 08:57:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761N4mKpz48C2K; Fri, 28 Apr 2023 08:57: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 4Q761N4L79z4Rlc; Fri, 28 Apr 2023 08:57:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RW5TsFq0fNDReLN/ntpVNKblRUCSeIGLDuviHZc5rpc=; b=kB35Jpw/9ESHu3igod1ZmLxDoxtgNP7k7Lj3uKFnMW4TICnyJJXmUTZukMElTtIBWBij6C YaFGpZsRZD4/qNq9UCbI5ENoYR/Z7Iq/6lu6kwRtLFayr1PCK+qZOB4CrNrYAO7Is1s9JZ 6+sDxbAn8Kcm3OL825+t4UC/rTdqmZglTkg1+VRcMp/jKdir4fUlM+nBk/sY4JJLUTvqrA QHQtWGXucheJ8ZSg93Obv9fCpAL9FThBKGIYk/Q1xTnDVrRlIrM024T40kH5hR8DUo6cWz zSTySLCTlhQUBXpZ7EH/AGj+eao7jhkWEv6EyqVHUfhIsum+5TpLaZXNgdMnHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RW5TsFq0fNDReLN/ntpVNKblRUCSeIGLDuviHZc5rpc=; b=ydOfwAAievW1aUBFxXpFC39UhQ5HkNRquG6oBRlzKLKTaTszN+vJe2zzF3psR4QSLvKS4s 0ejiPHDrmkE1SlxJfdZxPo0XiTuAKSHrLiSE/EQD1mk1RU2jT9thdICehTIFqIT8I2nbQO 5ipmocTF9kdRFg/SnIdfV3BL3p7fClklcMNCJ12kzSDfLmtEUTl0J30Xbhg1tk/VZuCerd oEJwpdDCHXM463Mtm0a1CcIqzbW3/JaipMIuk4C8rgjkDxR0AbzbNJXD4mEuuyT0R5hEBo ULOXJKdthkOBi8ZmU0+gzNcn9wDnjEdjNrx9nuFc6rVzw4a8oSy3Jw1fo7McvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672232; a=rsa-sha256; cv=none; b=YOK0k1P0+bwRQcRluJseHZ92jT2LvGO+1ySNydHF/wHCSfOtniq/latA/4zCnMcI6tSkSs N5WzwXTHzHALYNqDvovXPBfZgzBxFAwwKqukrukw+4jEAhGa1y7/1JulggwNIhujxnxH9P fl2IGWUsBn9EOQEhGgXpCsTOoI78ooAvARSGt0RCRY5SeV0/1PPVz/xQaGb7iUsvxlDtIk nKi+enzG5VBKwof4auvhXf3YIBVAjlQvzYw1HVjFI2SKDxD1VbVUsOh2H/AQJDmUknEJKF jLXJQW6ZFCPc85eI4fGQ0/AVdDKb4XYFBeOWWX9iiVMvOuLITrUIlBC3Mj6eSg== 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 4Q761N3F1jzt7K; Fri, 28 Apr 2023 08:57: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 33S8vCIk017992; Fri, 28 Apr 2023 08:57:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8vCmR017991; Fri, 28 Apr 2023 08:57:12 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:12 GMT Message-Id: <202304280857.33S8vCmR017991@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 2370c7321fd3 - main - linux(4): Update syscalls.master to reflect struct l_old_stat List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2370c7321fd392cfd23059760a816e852c921cde Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=2370c7321fd392cfd23059760a816e852c921cde commit 2370c7321fd392cfd23059760a816e852c921cde Author: Dmitry Chagin AuthorDate: 2023-04-28 08:54:59 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:54:59 +0000 linux(4): Update syscalls.master to reflect struct l_old_stat --- sys/amd64/linux32/syscalls.master | 4 ++-- sys/i386/linux/syscalls.master | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/amd64/linux32/syscalls.master b/sys/amd64/linux32/syscalls.master index f84d51c372a8..bd145c8ee7e1 100644 --- a/sys/amd64/linux32/syscalls.master +++ b/sys/amd64/linux32/syscalls.master @@ -140,7 +140,7 @@ 18 AUE_STAT STD { int linux_stat( char *path, - struct linux_stat *up + struct l_old_stat *up ); } 19 AUE_LSEEK STD { @@ -452,7 +452,7 @@ 84 AUE_LSTAT STD { int linux_lstat( char *path, - struct linux_lstat *up + struct l_old_stat *up ); } 85 AUE_READLINK STD { diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master index a8226e6eb927..c889cc4affe4 100644 --- a/sys/i386/linux/syscalls.master +++ b/sys/i386/linux/syscalls.master @@ -140,7 +140,7 @@ 18 AUE_STAT STD { int linux_stat( char *path, - struct linux_stat *up + struct l_old_stat *up ); } 19 AUE_LSEEK STD { @@ -452,7 +452,7 @@ 84 AUE_LSTAT STD { int linux_lstat( char *path, - struct l_stat *up + struct l_old_stat *up ); } 85 AUE_READLINK STD { From nobody Fri Apr 28 08:57:13 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761Q1Kxmz48CLP; Fri, 28 Apr 2023 08:57:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q761P65Sdz4Rjb; Fri, 28 Apr 2023 08:57:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ulg/gULzj9MtubotJx9LPBoMmEpsVCPyWNmVXC0J9XI=; b=bDTugjtnWima/27yMABB25NMNHrh/75C1z5he9hz2INJApkgJiffh8nLWg5x7cBakpatND Xka4bKrJFaBDfB/+ECf4G5dNvO9rUSnBXaM/Mmn8dEQ4a/Gl0uG/tR4CUBtFmcIB2M8E4m EYeFPEGsePXc0pWDxy2EdOANDfWDjhAord0Ei4jD/L+y8sBzm86XjmqYXM+HOOlGPe3TU5 ox6lZp/uIk2TxCuwvNAhDzL6WuvsktkbAxH0+AHAYUsjfJNPpjGurCX5kkxF1i0s4QdKT9 0ZvZcmDq8lEGCKtN5rG5oq1apHajU1gFuLmzl8vRYLIVAqLz77s8Qp1KiHC0Sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ulg/gULzj9MtubotJx9LPBoMmEpsVCPyWNmVXC0J9XI=; b=c+Y+Wl4uk2VX1dvrh46ttE88sQNuRcNhVG2bNWMydqNDPTzbTAu/vjhIYSokA3rjZiV8an ZrOY140g9TPGSpywrnW9C9pbJacsfClFzulEhw4IdXObaoX5zkoIWvoSnOwMJLmkFpfWhm yc/ePbxoAWEiOPUX82rL7zzGfgpIR7Xgm5joitk7FKxKZ1XGyegtxk044r6uZdJHeud3Wl 9OSzmqqZW9ZMCf/uQ8YHNga8SRe8x1atRM3LunIlU1t5ATLYXWbyYT0jjp9nDLULGtHNAm shdSWsS94TA7E49ypENSvFGQmHGnHoaenaQjs9ZkWOm0hZgbHkAK9Dqj+XdEFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672233; a=rsa-sha256; cv=none; b=txN5ZOm9YXynj3zu7Ltfwa3Rk3Wg0ZzJfLtGGk95pxau0Pkydx8nuVcW/o9lgxun85eyOt cvmsKoPuQKulRKiUouW5E5RlEdd4gfo9sDQ9g6WNPGhJGm/U5XNHhTp6AWKJoAMY19kaHD x+40WyMeHya4k0fsIzPvKg4MeuXTbj2Pxv9kJNiBNy6NLrVYH1YGwuKNNiWcapfeNVC0le EmVWFuLc0EVO5HqhNehzbKmA1+fUL3jdph3xLclPW/EXPZFxafxoVL3TcyJFXFIUFyFbdk +CWycqR1WTNKymnZOW5Z4SbyY01pckh29hTa2crS7fHChDMBTApLWuXKl3sQWg== 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 4Q761P4VFqztXS; Fri, 28 Apr 2023 08:57: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 33S8vDm5018013; Fri, 28 Apr 2023 08:57:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8vDnj018012; Fri, 28 Apr 2023 08:57:13 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:13 GMT Message-Id: <202304280857.33S8vDnj018012@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 023e6884967d - main - linux(4): Regen for struct l_old_stat changes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 023e6884967d0cb0b330eb15264d159619b0533b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=023e6884967d0cb0b330eb15264d159619b0533b commit 023e6884967d0cb0b330eb15264d159619b0533b Author: Dmitry Chagin AuthorDate: 2023-04-28 08:55:01 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:55:01 +0000 linux(4): Regen for struct l_old_stat changes --- sys/amd64/linux32/linux32_proto.h | 4 ++-- sys/amd64/linux32/linux32_systrace_args.c | 8 ++++---- sys/i386/linux/linux_proto.h | 10 ++------- sys/i386/linux/linux_syscall.h | 1 - sys/i386/linux/linux_syscalls.c | 2 +- sys/i386/linux/linux_sysent.c | 2 +- sys/i386/linux/linux_systrace_args.c | 34 ++++--------------------------- 7 files changed, 14 insertions(+), 47 deletions(-) diff --git a/sys/amd64/linux32/linux32_proto.h b/sys/amd64/linux32/linux32_proto.h index 22867031a422..5b58c40f261e 100644 --- a/sys/amd64/linux32/linux32_proto.h +++ b/sys/amd64/linux32/linux32_proto.h @@ -89,7 +89,7 @@ struct linux_lchown16_args { }; struct linux_stat_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; - char up_l_[PADL_(struct linux_stat *)]; struct linux_stat * up; char up_r_[PADR_(struct linux_stat *)]; + char up_l_[PADL_(struct l_old_stat *)]; struct l_old_stat * up; char up_r_[PADR_(struct l_old_stat *)]; }; struct linux_lseek_args { char fdes_l_[PADL_(l_uint)]; l_uint fdes; char fdes_r_[PADR_(l_uint)]; @@ -273,7 +273,7 @@ struct linux_symlink_args { }; struct linux_lstat_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; - char up_l_[PADL_(struct linux_lstat *)]; struct linux_lstat * up; char up_r_[PADR_(struct linux_lstat *)]; + char up_l_[PADL_(struct l_old_stat *)]; struct l_old_stat * up; char up_r_[PADR_(struct l_old_stat *)]; }; struct linux_readlink_args { char name_l_[PADL_(char *)]; char * name; char name_r_[PADR_(char *)]; diff --git a/sys/amd64/linux32/linux32_systrace_args.c b/sys/amd64/linux32/linux32_systrace_args.c index 9ee2fadf0fe1..67742c11ff16 100644 --- a/sys/amd64/linux32/linux32_systrace_args.c +++ b/sys/amd64/linux32/linux32_systrace_args.c @@ -144,7 +144,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) case 18: { struct linux_stat_args *p = params; uarg[a++] = (intptr_t)p->path; /* char * */ - uarg[a++] = (intptr_t)p->up; /* struct linux_stat * */ + uarg[a++] = (intptr_t)p->up; /* struct l_old_stat * */ *n_args = 2; break; } @@ -563,7 +563,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) case 84: { struct linux_lstat_args *p = params; uarg[a++] = (intptr_t)p->path; /* char * */ - uarg[a++] = (intptr_t)p->up; /* struct linux_lstat * */ + uarg[a++] = (intptr_t)p->up; /* struct l_old_stat * */ *n_args = 2; break; } @@ -3481,7 +3481,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) p = "userland char *"; break; case 1: - p = "userland struct linux_stat *"; + p = "userland struct l_old_stat *"; break; default: break; @@ -4087,7 +4087,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) p = "userland char *"; break; case 1: - p = "userland struct linux_lstat *"; + p = "userland struct l_old_stat *"; break; default: break; diff --git a/sys/i386/linux/linux_proto.h b/sys/i386/linux/linux_proto.h index 8b603f2de1ca..1f7cc5ac84d7 100644 --- a/sys/i386/linux/linux_proto.h +++ b/sys/i386/linux/linux_proto.h @@ -89,7 +89,7 @@ struct linux_lchown16_args { }; struct linux_stat_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; - char up_l_[PADL_(struct linux_stat *)]; struct linux_stat * up; char up_r_[PADR_(struct linux_stat *)]; + char up_l_[PADL_(struct l_old_stat *)]; struct l_old_stat * up; char up_r_[PADR_(struct l_old_stat *)]; }; struct linux_lseek_args { char fdes_l_[PADL_(l_uint)]; l_uint fdes; char fdes_r_[PADR_(l_uint)]; @@ -127,10 +127,6 @@ struct linux_ptrace_args { struct linux_alarm_args { char secs_l_[PADL_(l_uint)]; l_uint secs; char secs_r_[PADR_(l_uint)]; }; -struct linux_fstat_args { - char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)]; - char up_l_[PADL_(struct linux_stat *)]; struct linux_stat * up; char up_r_[PADR_(struct linux_stat *)]; -}; struct linux_pause_args { syscallarg_t dummy; }; @@ -265,7 +261,7 @@ struct linux_symlink_args { }; struct linux_lstat_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; - char up_l_[PADL_(struct l_stat *)]; struct l_stat * up; char up_r_[PADR_(struct l_stat *)]; + char up_l_[PADL_(struct l_old_stat *)]; struct l_old_stat * up; char up_r_[PADR_(struct l_old_stat *)]; }; struct linux_readlink_args { char name_l_[PADL_(char *)]; char * name; char name_r_[PADR_(char *)]; @@ -1716,7 +1712,6 @@ int linux_getuid16(struct thread *, struct linux_getuid16_args *); int linux_stime(struct thread *, struct linux_stime_args *); int linux_ptrace(struct thread *, struct linux_ptrace_args *); int linux_alarm(struct thread *, struct linux_alarm_args *); -int linux_fstat(struct thread *, struct linux_fstat_args *); int linux_pause(struct thread *, struct linux_pause_args *); int linux_utime(struct thread *, struct linux_utime_args *); int linux_access(struct thread *, struct linux_access_args *); @@ -2081,7 +2076,6 @@ int linux_mount_setattr(struct thread *, struct linux_mount_setattr_args *); #define LINUX_SYS_AUE_linux_stime AUE_SETTIMEOFDAY #define LINUX_SYS_AUE_linux_ptrace AUE_PTRACE #define LINUX_SYS_AUE_linux_alarm AUE_NULL -#define LINUX_SYS_AUE_linux_fstat AUE_FSTAT #define LINUX_SYS_AUE_linux_pause AUE_NULL #define LINUX_SYS_AUE_linux_utime AUE_UTIME #define LINUX_SYS_AUE_linux_access AUE_ACCESS diff --git a/sys/i386/linux/linux_syscall.h b/sys/i386/linux/linux_syscall.h index a3a6fe680a7c..a77c91896fd6 100644 --- a/sys/i386/linux/linux_syscall.h +++ b/sys/i386/linux/linux_syscall.h @@ -31,7 +31,6 @@ #define LINUX_SYS_linux_stime 25 #define LINUX_SYS_linux_ptrace 26 #define LINUX_SYS_linux_alarm 27 -#define LINUX_SYS_linux_fstat 28 #define LINUX_SYS_linux_pause 29 #define LINUX_SYS_linux_utime 30 #define LINUX_SYS_linux_access 33 diff --git a/sys/i386/linux/linux_syscalls.c b/sys/i386/linux/linux_syscalls.c index 95e44584ef2c..1454490c9318 100644 --- a/sys/i386/linux/linux_syscalls.c +++ b/sys/i386/linux/linux_syscalls.c @@ -35,7 +35,7 @@ const char *linux_syscallnames[] = { "linux_stime", /* 25 = linux_stime */ "linux_ptrace", /* 26 = linux_ptrace */ "linux_alarm", /* 27 = linux_alarm */ - "linux_fstat", /* 28 = linux_fstat */ + "#28", /* 28 = fstat */ "linux_pause", /* 29 = linux_pause */ "linux_utime", /* 30 = linux_utime */ "#31", /* 31 = stty */ diff --git a/sys/i386/linux/linux_sysent.c b/sys/i386/linux/linux_sysent.c index 6aa759f22f90..953dd659992a 100644 --- a/sys/i386/linux/linux_sysent.c +++ b/sys/i386/linux/linux_sysent.c @@ -45,7 +45,7 @@ struct sysent linux_sysent[] = { { .sy_narg = 0, .sy_call = (sy_call_t *)linux_stime, .sy_auevent = AUE_SETTIMEOFDAY, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 25 = linux_stime */ { .sy_narg = AS(linux_ptrace_args), .sy_call = (sy_call_t *)linux_ptrace, .sy_auevent = AUE_PTRACE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 26 = linux_ptrace */ { .sy_narg = AS(linux_alarm_args), .sy_call = (sy_call_t *)linux_alarm, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 27 = linux_alarm */ - { .sy_narg = AS(linux_fstat_args), .sy_call = (sy_call_t *)linux_fstat, .sy_auevent = AUE_FSTAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 28 = linux_fstat */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 28 = fstat */ { .sy_narg = 0, .sy_call = (sy_call_t *)linux_pause, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 29 = linux_pause */ { .sy_narg = AS(linux_utime_args), .sy_call = (sy_call_t *)linux_utime, .sy_auevent = AUE_UTIME, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 30 = linux_utime */ { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 31 = stty */ diff --git a/sys/i386/linux/linux_systrace_args.c b/sys/i386/linux/linux_systrace_args.c index e773e8f58064..5cb606a790dd 100644 --- a/sys/i386/linux/linux_systrace_args.c +++ b/sys/i386/linux/linux_systrace_args.c @@ -144,7 +144,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) case 18: { struct linux_stat_args *p = params; uarg[a++] = (intptr_t)p->path; /* char * */ - uarg[a++] = (intptr_t)p->up; /* struct linux_stat * */ + uarg[a++] = (intptr_t)p->up; /* struct l_old_stat * */ *n_args = 2; break; } @@ -214,14 +214,6 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) *n_args = 1; break; } - /* linux_fstat */ - case 28: { - struct linux_fstat_args *p = params; - iarg[a++] = p->fd; /* l_uint */ - uarg[a++] = (intptr_t)p->up; /* struct linux_stat * */ - *n_args = 2; - break; - } /* linux_pause */ case 29: { *n_args = 0; @@ -571,7 +563,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) case 84: { struct linux_lstat_args *p = params; uarg[a++] = (intptr_t)p->path; /* char * */ - uarg[a++] = (intptr_t)p->up; /* struct l_stat * */ + uarg[a++] = (intptr_t)p->up; /* struct l_old_stat * */ *n_args = 2; break; } @@ -3520,7 +3512,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) p = "userland char *"; break; case 1: - p = "userland struct linux_stat *"; + p = "userland struct l_old_stat *"; break; default: break; @@ -3622,19 +3614,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; - /* linux_fstat */ - case 28: - switch (ndx) { - case 0: - p = "l_uint"; - break; - case 1: - p = "userland struct linux_stat *"; - break; - default: - break; - }; - break; /* linux_pause */ case 29: break; @@ -4139,7 +4118,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) p = "userland char *"; break; case 1: - p = "userland struct l_stat *"; + p = "userland struct l_old_stat *"; break; default: break; @@ -8738,11 +8717,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; - /* linux_fstat */ - case 28: - if (ndx == 0 || ndx == 1) - p = "int"; - break; /* linux_pause */ case 29: /* linux_utime */ From nobody Fri Apr 28 08:57:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761R0WCWz48CG1; Fri, 28 Apr 2023 08:57: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 4Q761Q6VY7z4RmT; Fri, 28 Apr 2023 08:57:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qEmxkc2QeWb4z9XDMFy5HlvaS1j70tZbAwbNNgMm/sY=; b=iOUED7LDjacGQHTUxHYq9A+KZHRIxXQKxqiq5FbUn5OBvAX96f/PRGjnHiFNBtpUPQQD48 +omIQvEDoIMEQ68BvCDkZ04sjDG3gfGB519n8OvMcnuusv7DZXxcycD6WSTnA3ynLKZ0VB uZmnf4xpPSMN6H0YDlDNpc+o7dyey5TGpwNacDVdpE7wHbfiOxZ/n6ZcZGYuKRF9vEymKE 6eYQqsh5tBy8NSqGjpT4S7/VCPr1vLF5mlseL4izuxC7V/wSEAK219TGwNEQfcHcdHl0Qe YSr7+ii0+ox5081Vkpb8VOL2exHTPlF9rXHqTf1gaRtPix9bMKT978ygOgXlFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qEmxkc2QeWb4z9XDMFy5HlvaS1j70tZbAwbNNgMm/sY=; b=U+AvW6DbzRBCv4CpoM0E73l3FlA1H5a7QXV0hhR4V03e0vP51vljBfGk6ISciVSaWIuRi/ 2wGwmICY+SA17MIsk7lMu4fdleOHjbX3D0lwHYW2k+EbqJ0FULPn0ijSFocOpWhDbHemON Y6/eV8te1oC77NqobOPTAAuCOm03oyQGh/hq0PKZ5yMK6qyYiupPi/KcQfF+Zgs3GKvdLw VwMFtsQ2bJpAD54LCndaMGGrLQUupNVXAijt3D37lJp8Er0NGuQWaIMSNmzjfODuXkV4Iw wGAySzvfSAxuYqLf5N40Kjs//iJjh08yRM2rxaYwifO/Kxns4/tV3IBThfRCcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672234; a=rsa-sha256; cv=none; b=PEqAx8YS4Xkn8bbqjnnwW+Gj4FGd27e49W2euFiluaqDLm8ignrVZdyveLf8gID2FctAdL tJ9fpT9e3m58rF8yLN727bJzNwt8WDCMnMP0pM75EIbDpsuyPnp8kIO5izzAtvSfOjywWJ 8ANhFd+Bf5MvWj1gLvTRBb79i6gULVFoLeJIY4xPG8kNl6794N/uhqSvAUBann6uBBXv4Y Mp40gc5pE8+8+DjiviwkHbftyRK0lASaZthYrK9gwWDIJguG+M61ZT8vINMUZex3sFDf1u tmq/KkYaPgFUWDG7leLnVZCUFO/XziUrEWY/on4mYLXNThrWv+NJHJ7Cl+6xDw== 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 4Q761Q5ThQzt08; Fri, 28 Apr 2023 08:57: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 33S8vEvY018032; Fri, 28 Apr 2023 08:57:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8vEAe018031; Fri, 28 Apr 2023 08:57:14 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:14 GMT Message-Id: <202304280857.33S8vEAe018031@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: e0bfe0d62ca7 - main - linux(4): Make struct newstat to match actual Linux one List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e0bfe0d62ca708c8c6173296cc05f6bbfb79b2ee Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=e0bfe0d62ca708c8c6173296cc05f6bbfb79b2ee commit e0bfe0d62ca708c8c6173296cc05f6bbfb79b2ee Author: Dmitry Chagin AuthorDate: 2023-04-28 08:55:01 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:55:01 +0000 linux(4): Make struct newstat to match actual Linux one In the struct stat the st_dev, st_rdev are unsigned long. --- sys/amd64/linux/linux.h | 6 +++--- sys/amd64/linux32/linux.h | 6 ++---- sys/arm64/linux/linux.h | 4 ++-- sys/i386/linux/linux.h | 6 ++---- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/sys/amd64/linux/linux.h b/sys/amd64/linux/linux.h index 11cc9f05c6f5..4aa45ad8ca96 100644 --- a/sys/amd64/linux/linux.h +++ b/sys/amd64/linux/linux.h @@ -134,14 +134,14 @@ struct l_timespec { }; struct l_newstat { - l_dev_t st_dev; + l_ulong st_dev; l_ino_t st_ino; l_ulong st_nlink; l_uint st_mode; l_uid_t st_uid; l_gid_t st_gid; - l_uint __st_pad1; - l_dev_t st_rdev; + l_uint __st_pad0; + l_ulong st_rdev; l_off_t st_size; l_long st_blksize; l_long st_blocks; diff --git a/sys/amd64/linux32/linux.h b/sys/amd64/linux32/linux.h index 80311ebb988e..f26ff5c216d2 100644 --- a/sys/amd64/linux32/linux.h +++ b/sys/amd64/linux32/linux.h @@ -180,15 +180,13 @@ struct l_timespec64 { }; struct l_newstat { - l_ushort st_dev; - l_ushort __pad1; + l_ulong st_dev; l_ulong st_ino; l_ushort st_mode; l_ushort st_nlink; l_ushort st_uid; l_ushort st_gid; - l_ushort st_rdev; - l_ushort __pad2; + l_ulong st_rdev; l_ulong st_size; l_ulong st_blksize; l_ulong st_blocks; diff --git a/sys/arm64/linux/linux.h b/sys/arm64/linux/linux.h index 1b6852286662..f3c55ac0fd6b 100644 --- a/sys/arm64/linux/linux.h +++ b/sys/arm64/linux/linux.h @@ -128,7 +128,7 @@ struct l_timespec { #define LINUX_O_LARGEFILE 000400000 struct l_newstat { - l_dev_t st_dev; + l_ulong st_dev; l_ino_t st_ino; l_uint st_mode; l_uint st_nlink; @@ -136,7 +136,7 @@ struct l_newstat { l_uid_t st_uid; l_gid_t st_gid; - l_dev_t st_rdev; + l_ulong st_rdev; l_ulong __st_pad1; l_off_t st_size; l_int st_blksize; diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index dd99b4a6d721..db4b2990b92d 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -153,15 +153,13 @@ struct l_timespec64 { }; struct l_newstat { - l_ushort st_dev; - l_ushort __pad1; + l_ulong st_dev; l_ulong st_ino; l_ushort st_mode; l_ushort st_nlink; l_ushort st_uid; l_ushort st_gid; - l_ushort st_rdev; - l_ushort __pad2; + l_ulong st_rdev; l_ulong st_size; l_ulong st_blksize; l_ulong st_blocks; From nobody Fri Apr 28 08:57:15 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761S106bz48CJK; Fri, 28 Apr 2023 08:57: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 4Q761S00fTz4RtL; Fri, 28 Apr 2023 08:57:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IZMWeSxHn+T14Czy+6UQVlauJ7Aq9Y1piX8g1pDnw/g=; b=kwmieaEPvMylz+N2xp1VwcwUoNWRnPUpIw2CTKPK1zKhs3Lbi5Uz6FI4IkAvioVOtQA+rA lWKnEn+/txMDr6CoK2PX25NQ9mKNLB/exAk2ZWPsUtosm72+MCr9UnhsiJ9ntFGLa+RY1k hTwdW/3vGOqfS7EmBY4n9NixlrhXRps9gUxiGoXn/J2idzxFT2iEd5/73uGhP/ExrLeWdL j2lIBa+X7Mop58sG0wfYJ0Isn3SP0m5DmxPp+rUFWo0Ut6jLx5ye0CXKjaYj/cRx+HuzAI 9buxUx5AOv7YRR+zTJ9LVis+DC869EqQdfkeoi/bM0pKsHM8EA4oaQYoLAPipg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IZMWeSxHn+T14Czy+6UQVlauJ7Aq9Y1piX8g1pDnw/g=; b=icuGxPOwvlPL8dy1e/5hdd1L4aeW3/MN3/+ga+//w4rfGCLt0oUpUGkFdRetmGfisH3ooL pmlBN/+lJRKNNdzZfiaJYYY4TBq0x/QK7pDFk4qvbky5YNwqinvUVQ0PgWm6Xxu7Ill25L +MPx24U0248+U9+yadJ80UckbhUYRtaT9RDu9eCwrE4iea0vYe2kpR60/6SSC5I8rJgOvz jsQKi0xTG8fh+cczt1fXF4Fa2dYeTbAV7DTHBJ4mnXF8GONhbPgeb/3YlgcNu3DZt5i4b1 2nkHmRKGCAL3ykeT1smBOkIReKI1rAogImwILOHmY+6Wrw5mCp0b6DrUMNSiZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672236; a=rsa-sha256; cv=none; b=Y0P158KT+7WzaffyUJn+Xo5uHmP8o/tiJ5yhOwO0nvIadRf96opgQUbOBg9xQyYLqnl/BY 8/wxwx9Bzw/tocSjZ+fmmb2WBY9zYQp1sYvyEM7jLcTbloIS8HPfRMsP+4yuuYLzslviLP r3jOBcIuLwooNDFduCxOd1EMKuOJCdthboepLaUteJpdLQttWg1SC8XgxrxWwDHCAjl5Un RBXZeCRurR/1FsoYEtGSm2N35+JZ8ork+p40WMHpnJkdCd62GHHsY0AL0kJG8BJznMs083 hePm4lMjKqbijKUcT1qj59ZmTbFP+AQGauSjvzac+PxGv/0c7gq9ykSYNJJjjg== 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 4Q761R66PzztTy; Fri, 28 Apr 2023 08:57: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 33S8vFIx018051; Fri, 28 Apr 2023 08:57:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8vFfR018050; Fri, 28 Apr 2023 08:57:15 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:15 GMT Message-Id: <202304280857.33S8vFfR018050@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 19973638bee2 - main - linux(4): Move dev_t type declaration under /compat/linux List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 19973638bee2205be2a7eb07bc154b8afb1e44a3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=19973638bee2205be2a7eb07bc154b8afb1e44a3 commit 19973638bee2205be2a7eb07bc154b8afb1e44a3 Author: Dmitry Chagin AuthorDate: 2023-04-28 08:55:02 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:55:02 +0000 linux(4): Move dev_t type declaration under /compat/linux As of version 2.6.0 of the Linux kernel, dev_t is a 32-bit unsigned integer on all platforms. Move it into the MI linux.h under /compat/linux. --- sys/amd64/linux/linux.h | 1 - sys/amd64/linux32/linux.h | 1 - sys/arm64/linux/linux.h | 1 - sys/compat/linux/linux.h | 5 +++++ sys/i386/linux/linux.h | 1 - 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/amd64/linux/linux.h b/sys/amd64/linux/linux.h index 4aa45ad8ca96..4a7593e422c9 100644 --- a/sys/amd64/linux/linux.h +++ b/sys/amd64/linux/linux.h @@ -54,7 +54,6 @@ typedef uint16_t l_ushort; typedef l_ulong l_uintptr_t; typedef l_long l_clock_t; typedef l_int l_daddr_t; -typedef l_ulong l_dev_t; typedef l_uint l_gid_t; typedef l_ushort l_gid16_t; typedef l_uint l_uid_t; diff --git a/sys/amd64/linux32/linux.h b/sys/amd64/linux32/linux.h index f26ff5c216d2..2d4e5541f2b5 100644 --- a/sys/amd64/linux32/linux.h +++ b/sys/amd64/linux32/linux.h @@ -63,7 +63,6 @@ typedef unsigned short l_ushort; typedef l_ulong l_uintptr_t; typedef l_long l_clock_t; typedef l_int l_daddr_t; -typedef l_ushort l_dev_t; typedef l_uint l_gid_t; typedef l_ushort l_gid16_t; typedef l_ulong l_ino_t; diff --git a/sys/arm64/linux/linux.h b/sys/arm64/linux/linux.h index f3c55ac0fd6b..423f1fb0acb8 100644 --- a/sys/arm64/linux/linux.h +++ b/sys/arm64/linux/linux.h @@ -49,7 +49,6 @@ typedef uint16_t l_ushort; typedef l_ulong l_uintptr_t; typedef l_long l_clock_t; typedef l_int l_daddr_t; -typedef l_ulong l_dev_t; typedef l_uint l_gid_t; typedef l_ushort l_gid16_t; /* XXX */ typedef l_uint l_uid_t; diff --git a/sys/compat/linux/linux.h b/sys/compat/linux/linux.h index e133c35010cf..4ad94bf11efd 100644 --- a/sys/compat/linux/linux.h +++ b/sys/compat/linux/linux.h @@ -28,6 +28,11 @@ #ifndef _LINUX_MI_H_ #define _LINUX_MI_H_ +/* + * Machine independent set of types for the Linux types. + */ +typedef uint32_t l_dev_t; + /* * Private Brandinfo flags */ diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index db4b2990b92d..826cb1bfffb0 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -55,7 +55,6 @@ typedef char *l_caddr_t; typedef l_ulong l_uintptr_t; typedef l_long l_clock_t; typedef l_int l_daddr_t; -typedef l_ushort l_dev_t; typedef l_uint l_gid_t; typedef l_ushort l_gid16_t; typedef l_ulong l_ino_t; From nobody Fri Apr 28 08:57:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761T1wKXz48CNj; Fri, 28 Apr 2023 08:57: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 4Q761T11Bbz4Rxt; Fri, 28 Apr 2023 08:57:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y4ttkOkDQZ0vq38M1SSHwCn+exNHag2OUokaTmtdDlw=; b=f1Yttw1NDISwBLX2pZzqrxWfqf2ynjKWQL44950QaInZtcZFcetld241ybSJEOpIAp7F5u hmpeEQVlo2QVYIyIIcqZJUHB0OnLjuTDf/H7xBr+1sPuHAqtlHoXUBogu8JURjx4kjUWvG 2ViMnm1oLqXm14HVHmx7eUQCezgsKTkqg735U4qEZyxKH/qbvVDuVx9Cw1lGbVidZNcnpE vaINX9poZP3O5X33Aj94M73oAACn3jKBiByPE+XsDYWk2qtiAAExrZr1TYDgp6IXQjk0ST QAZirKbh+3E74Lowc7RSUaCmp2Lq69+aiaPJw5p/PY7m0GMzZcNQC/LdhCCm/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y4ttkOkDQZ0vq38M1SSHwCn+exNHag2OUokaTmtdDlw=; b=QIufsVlu2QuUu7hg2DNvQDMxGNeQ6weKGbEU3vdokTg/tCtpGY4CJq/OFQrLZyMtICDOiY NM6VLx7mL2FKUUUvHqII0/1QlXA740ATk/XM40yYYDyQH1Ra4dOYTkXfTr8Zk+iaRn27BT 71bMhZlww2JaT2L5pQjfxZxSj6F3TCsk01aJNFjeqAFzJ/QWV5pOLl+Cb4LCGBAQig1WRl P7UL1EHL2G1Aur3wlQGpI9HfmcJMRF6sdk6sh55Al+bvFx567E9c6V0WUhun2gEsUPIhD9 hkyikXsCBzo1p9SV2Ee7i+Xj7NaaneLEbPQZ2J3gw3Q7aTreD0qShtBhppwMxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672237; a=rsa-sha256; cv=none; b=NKac87O/4Hl4nBgjR/KHvkS1uYgPAvtcBFXD+Wy+O2uk9eE9M9K/ijl6dxxJNBONK650NS V/8r+S422RtHASXJ+KsHN4QQF+jm4I+/9jTYAKWLWmgz5hNJfcFyIXL/yYvV00Beg7k/GO rdVnAdk/cIQu8CoiiqcG5KOJ6B1wwkIDk0UNpx+Lk4lNzW7BltDnoRsaC0rIZWUDDIXR9X U0ihiJw6rrIAN/tPGDGf6Rnv1+iuoPieQzbZ5vzJA0HJ/tWI6A4Gl8Lg8XC0b56JHr+1RF FlZUpNn2ypgdG3iabY23F45BiTqhHYP6IyHOOvRcfiiH2mEb3BdQxMOsb59ylQ== 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 4Q761T03ZKztXT; Fri, 28 Apr 2023 08:57: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 33S8vGct018070; Fri, 28 Apr 2023 08:57:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8vGiN018069; Fri, 28 Apr 2023 08:57:16 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:16 GMT Message-Id: <202304280857.33S8vGiN018069@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: ca3333dd4a3b - main - linux(4): Use Linux dev_t type for mknod syscalls dev argument List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ca3333dd4a3bef7b615d5df104c525f8cac51b26 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=ca3333dd4a3bef7b615d5df104c525f8cac51b26 commit ca3333dd4a3bef7b615d5df104c525f8cac51b26 Author: Dmitry Chagin AuthorDate: 2023-04-28 08:55:02 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:55:02 +0000 linux(4): Use Linux dev_t type for mknod syscalls dev argument As of version 2.6.0 of the Linux kernel, dev_t is a 32-bit unsigned integer on all platforms. Prior the 2.6 kernel dev_t type was an unsigned short. However, since the firs commit of the Linuxulator, mknod syscall get int dev argument. Also, there is some confusion here, while the kernel declares a dev_t type as a 32-bit sized, the user-space dev_t type can be size of 64 bits, e.g., in the Glibc library. To avoid confusion and to help porting of the Linuxulator to other platforms use explicit l_dev_t for dev argument of mknod syscalls. --- sys/amd64/linux/syscalls.master | 4 ++-- sys/amd64/linux32/syscalls.master | 2 +- sys/arm64/linux/syscalls.master | 2 +- sys/i386/linux/syscalls.master | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/amd64/linux/syscalls.master b/sys/amd64/linux/syscalls.master index a2ac67c2d126..420c029fa892 100644 --- a/sys/amd64/linux/syscalls.master +++ b/sys/amd64/linux/syscalls.master @@ -874,7 +874,7 @@ int linux_mknod( char *path, l_mode_t mode, - l_uint dev + l_dev_t dev ); } 134 AUE_USELIB UNIMPL uselib @@ -1503,7 +1503,7 @@ l_int dfd, const char *filename, l_mode_t mode, - l_uint dev + l_dev_t dev ); } 260 AUE_FCHOWNAT STD { diff --git a/sys/amd64/linux32/syscalls.master b/sys/amd64/linux32/syscalls.master index bd145c8ee7e1..777ffd865b8b 100644 --- a/sys/amd64/linux32/syscalls.master +++ b/sys/amd64/linux32/syscalls.master @@ -1616,7 +1616,7 @@ l_int dfd, const char *filename, l_int mode, - l_uint dev + l_dev_t dev ); } 298 AUE_FCHOWNAT STD { diff --git a/sys/arm64/linux/syscalls.master b/sys/arm64/linux/syscalls.master index f4c2acca435d..2a564f0e3c5d 100644 --- a/sys/arm64/linux/syscalls.master +++ b/sys/arm64/linux/syscalls.master @@ -204,7 +204,7 @@ l_int dfd, const char *filename, l_int mode, - l_uint dev + l_dev_t dev ); } 34 AUE_MKDIRAT STD { diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master index c889cc4affe4..9175bcd45dcf 100644 --- a/sys/i386/linux/syscalls.master +++ b/sys/i386/linux/syscalls.master @@ -1633,7 +1633,7 @@ l_int dfd, const char *filename, l_int mode, - l_uint dev + l_dev_t dev ); } 298 AUE_FCHOWNAT STD { From nobody Fri Apr 28 08:57:18 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761V4rPqz48CCh; Fri, 28 Apr 2023 08:57: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 4Q761V2QJgz4RyV; Fri, 28 Apr 2023 08:57:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YSAQpkH6K51RXue7KVSWNRMw12roUYk3EgrsJqC6s5U=; b=ElwkDjOKqvK0k44U/Bw3uU+T1A05ymesW+tO5jZcmWHSGXx1bHVlUqNv9pHmUg1Geu+mxp imtIOh3MX+ujgxgzfggpPha9S4IePwLf7IP+3wU/uY5MTrcgpv775fMuuBuFe88cfa53H1 JqWxxHqIYzGfxf3SFNstF4V+/K9IFvQ2Fr27YBiBkoOwui61CNrl3Rp0j54/n36UpMfAX1 6EM/qPi5htUldNyR4p9cOG0a5FslKSAO8KLNjMb/5NWJByLAwRNi7mnoenq9ASjTORdB8D 8pfwWvJCwb0+I/lw1iQ0sYr5trhwYXkb1dpU6ITmdLEvEs0uyC8EQmJ+4ZYTnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YSAQpkH6K51RXue7KVSWNRMw12roUYk3EgrsJqC6s5U=; b=j26Vl7pos5t3EpwmYJBHKeK2z0YDFaNCNwurwm9dKirtnEsrpIhSOf77CTRFgPZP9hgW8N VDUbogs5cwkUHF+szUT/8ieblVRptsOo24TwCWrnlNaDFcUoY4+4BswrMIscNEnMek6Y+F W5u6WOYJ3TgpC2m7PQNEG+VKDPiYKKZoVA/O4VifypZaSrxu607l2itXNwgnfivPcsfCwT +hwD1jqJcXuhQeaXIJX36KvLabEQL4/ZPMN8Nqvhjj6KEgDO7XRGST4+El4CMS8Eh6vVIh jgqFPy20h1663j6HtIgXyv1tRjL7J1EuEdUnBkCxRpMxah6xjRiRkjc1/cUyNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672238; a=rsa-sha256; cv=none; b=oFU4rBbrgQHTUX4cUnZEkylyRj+Lw8Bb2+sbBwCa8rSCgqPfCdXnm9DvldRthvgb64Ym/1 NDbxVqTcLg0Dne/uX+GOoTEFn89nL/4R9b6SnpLFUIHbWVduWDJYf43/Sl1T3rAag2axiu 2Sj9cDSFyWj3zGr8KBd3DThr2PFLRHTVQC0lKnQKUMA1jMWtyJBJVz6ky7kuhb59tbDvb6 /D9SfilBhAIT8SlY5AEwNLbFKBFPFbaJShLvF6SwUHi0utBhKhXLsmqTfHWD3ywVk4d0De DBN2fZNBWk0cRr18D3q6gOzcv6IERAg65whSA0NjdAjAJ/L2cxRXKQVIzF2dtQ== 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 4Q761V1Kvvzt1h; Fri, 28 Apr 2023 08:57: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 33S8vI0P018091; Fri, 28 Apr 2023 08:57:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8vIPw018090; Fri, 28 Apr 2023 08:57:18 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:18 GMT Message-Id: <202304280857.33S8vIPw018090@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: cd0fca82bb86 - main - linux(4): Regen for mknod syscall changes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd0fca82bb86e9287d7eacefead1b02766986762 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=cd0fca82bb86e9287d7eacefead1b02766986762 commit cd0fca82bb86e9287d7eacefead1b02766986762 Author: Dmitry Chagin AuthorDate: 2023-04-28 08:55:04 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:55:04 +0000 linux(4): Regen for mknod syscall changes --- sys/amd64/linux/linux_proto.h | 4 ++-- sys/amd64/linux/linux_systrace_args.c | 8 ++++---- sys/amd64/linux32/linux32_proto.h | 2 +- sys/amd64/linux32/linux32_systrace_args.c | 4 ++-- sys/arm64/linux/linux_proto.h | 2 +- sys/arm64/linux/linux_systrace_args.c | 4 ++-- sys/i386/linux/linux_proto.h | 2 +- sys/i386/linux/linux_systrace_args.c | 4 ++-- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/sys/amd64/linux/linux_proto.h b/sys/amd64/linux/linux_proto.h index 3695bc077225..5fa8ec72f109 100644 --- a/sys/amd64/linux/linux_proto.h +++ b/sys/amd64/linux/linux_proto.h @@ -501,7 +501,7 @@ struct linux_utime_args { struct linux_mknod_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)]; - char dev_l_[PADL_(l_uint)]; l_uint dev; char dev_r_[PADR_(l_uint)]; + char dev_l_[PADL_(l_dev_t)]; l_dev_t dev; char dev_r_[PADR_(l_dev_t)]; }; struct linux_personality_args { char per_l_[PADL_(l_uint)]; l_uint per; char per_r_[PADR_(l_uint)]; @@ -926,7 +926,7 @@ struct linux_mknodat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)]; char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)]; - char dev_l_[PADL_(l_uint)]; l_uint dev; char dev_r_[PADR_(l_uint)]; + char dev_l_[PADL_(l_dev_t)]; l_dev_t dev; char dev_r_[PADR_(l_dev_t)]; }; struct linux_fchownat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; diff --git a/sys/amd64/linux/linux_systrace_args.c b/sys/amd64/linux/linux_systrace_args.c index d2f95d8dfc48..a4e1af26ca3d 100644 --- a/sys/amd64/linux/linux_systrace_args.c +++ b/sys/amd64/linux/linux_systrace_args.c @@ -1114,7 +1114,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) struct linux_mknod_args *p = params; uarg[a++] = (intptr_t)p->path; /* char * */ iarg[a++] = p->mode; /* l_mode_t */ - iarg[a++] = p->dev; /* l_uint */ + iarg[a++] = p->dev; /* l_dev_t */ *n_args = 3; break; } @@ -1950,7 +1950,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) iarg[a++] = p->dfd; /* l_int */ uarg[a++] = (intptr_t)p->filename; /* const char * */ iarg[a++] = p->mode; /* l_mode_t */ - iarg[a++] = p->dev; /* l_uint */ + iarg[a++] = p->dev; /* l_dev_t */ *n_args = 4; break; } @@ -4579,7 +4579,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) p = "l_mode_t"; break; case 2: - p = "l_uint"; + p = "l_dev_t"; break; default: break; @@ -5832,7 +5832,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) p = "l_mode_t"; break; case 3: - p = "l_uint"; + p = "l_dev_t"; break; default: break; diff --git a/sys/amd64/linux32/linux32_proto.h b/sys/amd64/linux32/linux32_proto.h index 5b58c40f261e..0f37367ce8dc 100644 --- a/sys/amd64/linux32/linux32_proto.h +++ b/sys/amd64/linux32/linux32_proto.h @@ -1000,7 +1000,7 @@ struct linux_mknodat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)]; char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; - char dev_l_[PADL_(l_uint)]; l_uint dev; char dev_r_[PADR_(l_uint)]; + char dev_l_[PADL_(l_dev_t)]; l_dev_t dev; char dev_r_[PADR_(l_dev_t)]; }; struct linux_fchownat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; diff --git a/sys/amd64/linux32/linux32_systrace_args.c b/sys/amd64/linux32/linux32_systrace_args.c index 67742c11ff16..71c78673a921 100644 --- a/sys/amd64/linux32/linux32_systrace_args.c +++ b/sys/amd64/linux32/linux32_systrace_args.c @@ -2068,7 +2068,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) iarg[a++] = p->dfd; /* l_int */ uarg[a++] = (intptr_t)p->filename; /* const char * */ iarg[a++] = p->mode; /* l_int */ - iarg[a++] = p->dev; /* l_uint */ + iarg[a++] = p->dev; /* l_dev_t */ *n_args = 4; break; } @@ -6513,7 +6513,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) p = "l_int"; break; case 3: - p = "l_uint"; + p = "l_dev_t"; break; default: break; diff --git a/sys/arm64/linux/linux_proto.h b/sys/arm64/linux/linux_proto.h index dd335a6b92ea..e677b9f13839 100644 --- a/sys/arm64/linux/linux_proto.h +++ b/sys/arm64/linux/linux_proto.h @@ -163,7 +163,7 @@ struct linux_mknodat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)]; char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; - char dev_l_[PADL_(l_uint)]; l_uint dev; char dev_r_[PADR_(l_uint)]; + char dev_l_[PADL_(l_dev_t)]; l_dev_t dev; char dev_r_[PADR_(l_dev_t)]; }; struct linux_mkdirat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; diff --git a/sys/arm64/linux/linux_systrace_args.c b/sys/arm64/linux/linux_systrace_args.c index eec92ed1a379..8e256e2b718a 100644 --- a/sys/arm64/linux/linux_systrace_args.c +++ b/sys/arm64/linux/linux_systrace_args.c @@ -252,7 +252,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) iarg[a++] = p->dfd; /* l_int */ uarg[a++] = (intptr_t)p->filename; /* const char * */ iarg[a++] = p->mode; /* l_int */ - iarg[a++] = p->dev; /* l_uint */ + iarg[a++] = p->dev; /* l_dev_t */ *n_args = 4; break; } @@ -2777,7 +2777,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) p = "l_int"; break; case 3: - p = "l_uint"; + p = "l_dev_t"; break; default: break; diff --git a/sys/i386/linux/linux_proto.h b/sys/i386/linux/linux_proto.h index 1f7cc5ac84d7..8014d7dbdcba 100644 --- a/sys/i386/linux/linux_proto.h +++ b/sys/i386/linux/linux_proto.h @@ -993,7 +993,7 @@ struct linux_mknodat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)]; char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; - char dev_l_[PADL_(l_uint)]; l_uint dev; char dev_r_[PADR_(l_uint)]; + char dev_l_[PADL_(l_dev_t)]; l_dev_t dev; char dev_r_[PADR_(l_dev_t)]; }; struct linux_fchownat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; diff --git a/sys/i386/linux/linux_systrace_args.c b/sys/i386/linux/linux_systrace_args.c index 5cb606a790dd..1e5227bb20d5 100644 --- a/sys/i386/linux/linux_systrace_args.c +++ b/sys/i386/linux/linux_systrace_args.c @@ -2103,7 +2103,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) iarg[a++] = p->dfd; /* l_int */ uarg[a++] = (intptr_t)p->filename; /* const char * */ iarg[a++] = p->mode; /* l_int */ - iarg[a++] = p->dev; /* l_uint */ + iarg[a++] = p->dev; /* l_dev_t */ *n_args = 4; break; } @@ -6581,7 +6581,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) p = "l_int"; break; case 3: - p = "l_uint"; + p = "l_dev_t"; break; default: break; From nobody Fri Apr 28 08:57:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761X0kpGz48C0N; Fri, 28 Apr 2023 08:57: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 4Q761W3WVVz4Ryr; Fri, 28 Apr 2023 08:57:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZI0FbC2mMNZAzaipbucsjNFKbJ38LIeKPN5mkRty/jc=; b=YaKh2pDrCqi7IB8NaOD6G7p/dPMj3ZIrZFYdL0o+yrKCHArvaV9wiNA9xNZ8CWlvTgVOOj tCJP32cJCGed4bpf/CFEUiMCG3E67nEzXbWJ/Vowlagd4/81UtVtWoW1P7MwKifi4YivWq /nXN9Mrv/sot1S+hFegi2SEXKX5L3GCXegdKwsohmjajs/O505UEndzFU1iupJW2MQbbOF 6G4D5yY4tupBbojPyJssWUFSdSvYqZdi2CYfwiLGVgXU4gSZ+1mGS3hNdF0GHDpGJLJEev k9N95jq4yPpnT/1Oy1mJgY+d0tkXWdpHyzd9XRa/oOk293K8Tt9c7QguHVepnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZI0FbC2mMNZAzaipbucsjNFKbJ38LIeKPN5mkRty/jc=; b=QtimZQQmN2DgHBUChX5aQ2ZQHH20D1yKqwcJ6NDTeOsl9lm0KC6zmzhs74QjWUogEZMBSf Ro/9VyDPsr7E9gEqnIm0E12z+LIx08b4TsenOXbWvAjjRfLlyzSz6zuqdd1tn/Ma0c9mT4 EiTCRJVrP+pNiSH9/89IXMp014kAVrTMZZCyTexPxirtnWQ8yJU2lnJ2s2f3cwy2TWOEmR s0sJFSYu2+0a32A4jBII73NX9mT56vwNw4JAolm7AiPwRGH+O9X0+Ltl+oW4w+EjFruVsw Lq82AchS9f/TQjmmuTHkosH/Y6EyjBOVSf5sDyB/D+1njRxCxWMMCx2vfdRCww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672239; a=rsa-sha256; cv=none; b=EohZOVQHGl+OWdQZrqTDqGYepATS2mWjJHMN9yMC1kG60224e9EvacN75jglVhxDqCCYvt FvVVyl7U3Wwr9kUFTA7aNgCPIzbVtXbFijPKBB6t0O1qbbZgBwVhxZ2k2MItGRDVLgY0Yv bdE8xfAOA0sqCMqG6fp+INqkRjAoGJAIQLfSfhLEGQE9iCGP9bF6ZHU+CjeaNnEUD45h23 MVdXq4T4dP2MbNsC6o2bEG1Ev0mIaazSTBiDyDWMIQ24Mtel5dEivVn/fW9LTocL4mVkrF roI3TUccEqvDqCLK8S6URZ4scW80GW8bPslReggmMhAbMa+3gfdtGLm5XIsc/A== 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 4Q761W22HxztRg; Fri, 28 Apr 2023 08:57: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 33S8vJXl018120; Fri, 28 Apr 2023 08:57:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8vJ2i018119; Fri, 28 Apr 2023 08:57:19 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:19 GMT Message-Id: <202304280857.33S8vJ2i018119@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 80d8a4a00308 - main - linux(4): Make struct stat64 to match Linux actual one List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 80d8a4a0030849229cb9ebd434682ef927bc9963 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=80d8a4a0030849229cb9ebd434682ef927bc9963 commit 80d8a4a0030849229cb9ebd434682ef927bc9963 Author: Dmitry Chagin AuthorDate: 2023-04-28 08:55:04 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:55:04 +0000 linux(4): Make struct stat64 to match Linux actual one --- sys/amd64/linux32/linux.h | 11 +++++------ sys/i386/linux/linux.h | 11 +++++------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/sys/amd64/linux32/linux.h b/sys/amd64/linux32/linux.h index 2d4e5541f2b5..652dfccd75f1 100644 --- a/sys/amd64/linux32/linux.h +++ b/sys/amd64/linux32/linux.h @@ -216,19 +216,18 @@ struct l_old_stat { }; struct l_stat64 { - l_ushort st_dev; - u_char __pad0[10]; + l_ulonglong st_dev; + u_char __pad0[4]; l_ulong __st_ino; l_uint st_mode; l_uint st_nlink; l_ulong st_uid; l_ulong st_gid; - l_ushort st_rdev; - u_char __pad3[10]; + l_ulonglong st_rdev; + u_char __pad3[4]; l_longlong st_size; l_ulong st_blksize; - l_ulong st_blocks; - l_ulong __pad4; + l_ulonglong st_blocks; struct l_timespec st_atim; struct l_timespec st_mtim; struct l_timespec st_ctim; diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index 826cb1bfffb0..a447653f2ce0 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -189,19 +189,18 @@ struct l_old_stat { }; struct l_stat64 { - l_ushort st_dev; - u_char __pad0[10]; + l_ulonglong st_dev; + u_char __pad0[4]; l_ulong __st_ino; l_uint st_mode; l_uint st_nlink; l_ulong st_uid; l_ulong st_gid; - l_ushort st_rdev; - u_char __pad3[10]; + l_ulonglong st_rdev; + u_char __pad3[4]; l_longlong st_size; l_ulong st_blksize; - l_ulong st_blocks; - l_ulong __pad4; + l_ulonglong st_blocks; struct l_timespec st_atim; struct l_timespec st_mtim; struct l_timespec st_ctim; From nobody Fri Apr 28 08:57:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761X4QqQz48CNt; Fri, 28 Apr 2023 08:57: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 4Q761X3hVMz4SBM; Fri, 28 Apr 2023 08:57:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Iq0yULDWxQeuh2/V+P9N3XqjvDBzbbZ3cdnx2ZkJKXU=; b=nkF640jBasytc8W3V0auGGeaXPLHqDT4tQq6VfQ1O66CZVKP2Y7+/AqJydnT9aihg/Txq0 QgnWP0zka1s+2hJWx2Sg5E9Ppt/jsYiAUZ6lZ57ZZ+WCiegtYT3TAhN0w8xG+CnfmGoHN4 FRfr4fp3NykHf5X4dybUaAWkW8YATSlPCA2EezE4fO+ZXxay1JMo6qJxxWz6er5zsyWB7J wowmYmGZ1mYIOwEbMqW+EWxhRFexvgF1+IBrPPkj6Ye+lnrBd/A2wjtIfVrFTk0jhNl88i Z3NSwiAct+5l7N3gWawNxyRSxyJBcP7RfyloGh+JlmORqiz5oQnfHQcn4QAeiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Iq0yULDWxQeuh2/V+P9N3XqjvDBzbbZ3cdnx2ZkJKXU=; b=SrALi2z9Kk8c0LsNjOUFIYSnJQgdY1RfMPGHjsDDU98ZqTQ1CylT70bkJxMjKGMu2nG5K3 VEsETkgqplXPLdMkxsXHc9L6run/0JehqrCSBHnZu6zlghxBAZJwXhnFE2EzNqeynhcIqH BZi2QfXG5prn5UImFRjlrmA7qBA2M6e+/iQFcO79JkrcDAU/ygdbbu5RcYR89mFgpEZKRx FHtE+OvWPQ1yA9o7crsozCX6oTOqQZlD2kN17+0dulFLhVkN5XfWGASuTS4JTAwzUow+8f Q88CESHv6XVMBJnpKyTHG/8KkhEVbZNaIU1SUrfpTaPtH1IRy8tEw/nHz1yjog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672240; a=rsa-sha256; cv=none; b=BWY9EQNHfQ6kYK1R0Hte9+H9UBJk5GCAUwZvDpnuZV7osOBARTd2cS0jbeMhs2s1fm0pYj NQEi3wG317PbAt9HiK+k1VYJlSAf2sQX20fQ+0krBzovz/91kXyjh6QqOvFo4fS8Z2Uw1j CTOeb/P6UASvvzQj6f6PPwMrMBedYS7nvt//4X8aOZErV5Jp2gCGkqyB9TTGMaDW3a6ui4 C4pLRh7u3bKBKVj11LKBJLMDPnbVTvKQnWDMDPQ9c032KsZnlNf7Fejmj0krG83sfGgtL2 0GRJxHfSMF++46xkOKjLj0ZSlzWdra/Sr2b2Fkoe+NrP+HTQvZsecy5ZJBvX1A== 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 4Q761X2nh0zt09; Fri, 28 Apr 2023 08:57: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 33S8vKo4018143; Fri, 28 Apr 2023 08:57:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8vKe1018142; Fri, 28 Apr 2023 08:57:20 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:20 GMT Message-Id: <202304280857.33S8vKe1018142@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: cb858340dcbf - main - linux(4): Add a dedicated statat() implementation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb858340dcbf214cc4c4d78dbb741620d7b3a252 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=cb858340dcbf214cc4c4d78dbb741620d7b3a252 commit cb858340dcbf214cc4c4d78dbb741620d7b3a252 Author: Dmitry Chagin AuthorDate: 2023-04-28 08:55:04 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:55:04 +0000 linux(4): Add a dedicated statat() implementation Get rid of calling Linux stat translation hook and specific to Linux handling of non-vnode dirfd from kern_statat(), Reviewed by: kib, mjg Differential revision: https://reviews.freebsd.org/D35474 --- sys/compat/freebsd32/freebsd32_misc.c | 19 ++++++++----------- sys/compat/linux/linux_file.c | 8 ++++---- sys/compat/linux/linux_stats.c | 34 ++++++++++++++++++++++++++++++++-- sys/kern/vfs_mountroot.c | 2 +- sys/kern/vfs_syscalls.c | 35 +++++++++++------------------------ sys/sys/syscallsubr.h | 4 ++-- 6 files changed, 58 insertions(+), 44 deletions(-) diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index 7e96dd9296ee..8b54b50a39c2 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -2284,8 +2284,7 @@ ofreebsd32_stat(struct thread *td, struct ofreebsd32_stat_args *uap) struct ostat32 sb32; int error; - error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, - &sb, NULL); + error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, &sb); if (error) return (error); copy_ostat(&sb, &sb32); @@ -2334,7 +2333,7 @@ freebsd32_fstatat(struct thread *td, struct freebsd32_fstatat_args *uap) int error; error = kern_statat(td, uap->flag, uap->fd, uap->path, UIO_USERSPACE, - &ub, NULL); + &ub); if (error) return (error); copy_stat(&ub, &ub32); @@ -2351,7 +2350,7 @@ ofreebsd32_lstat(struct thread *td, struct ofreebsd32_lstat_args *uap) int error; error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, - UIO_USERSPACE, &sb, NULL); + UIO_USERSPACE, &sb); if (error) return (error); copy_ostat(&sb, &sb32); @@ -2469,8 +2468,7 @@ freebsd11_freebsd32_stat(struct thread *td, struct freebsd11_stat32 sb32; int error; - error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, - &sb, NULL); + error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, &sb); if (error != 0) return (error); error = freebsd11_cvtstat32(&sb, &sb32); @@ -2505,7 +2503,7 @@ freebsd11_freebsd32_fstatat(struct thread *td, int error; error = kern_statat(td, uap->flag, uap->fd, uap->path, UIO_USERSPACE, - &sb, NULL); + &sb); if (error != 0) return (error); error = freebsd11_cvtstat32(&sb, &sb32); @@ -2523,7 +2521,7 @@ freebsd11_freebsd32_lstat(struct thread *td, int error; error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, - UIO_USERSPACE, &sb, NULL); + UIO_USERSPACE, &sb); if (error != 0) return (error); error = freebsd11_cvtstat32(&sb, &sb32); @@ -2595,8 +2593,7 @@ freebsd11_freebsd32_nstat(struct thread *td, struct nstat32 nsb; int error; - error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, - &sb, NULL); + error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, &sb); if (error != 0) return (error); error = freebsd11_cvtnstat32(&sb, &nsb); @@ -2614,7 +2611,7 @@ freebsd11_freebsd32_nlstat(struct thread *td, int error; error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, - UIO_USERSPACE, &sb, NULL); + UIO_USERSPACE, &sb); if (error != 0) return (error); error = freebsd11_cvtnstat32(&sb, &nsb); diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c index 5e2236dc7502..4ce0a2cb4c0e 100644 --- a/sys/compat/linux/linux_file.c +++ b/sys/compat/linux/linux_file.c @@ -732,7 +732,7 @@ linux_unlink(struct thread *td, struct linux_unlink_args *args) if (error == EPERM) { /* Introduce POSIX noncompliant behaviour of Linux */ if (kern_statat(td, 0, AT_FDCWD, args->path, - UIO_USERSPACE, &st, NULL) == 0) { + UIO_USERSPACE, &st) == 0) { if (S_ISDIR(st.st_mode)) error = EISDIR; } @@ -742,8 +742,8 @@ linux_unlink(struct thread *td, struct linux_unlink_args *args) error = kern_funlinkat(td, AT_FDCWD, path, FD_NONE, UIO_SYSSPACE, 0, 0); if (error == EPERM) { /* Introduce POSIX noncompliant behaviour of Linux */ - if (kern_statat(td, 0, AT_FDCWD, path, UIO_SYSSPACE, &st, - NULL) == 0) { + if (kern_statat(td, 0, AT_FDCWD, path, UIO_SYSSPACE, + &st) == 0) { if (S_ISDIR(st.st_mode)) error = EISDIR; } @@ -769,7 +769,7 @@ linux_unlinkat_impl(struct thread *td, enum uio_seg pathseg, const char *path, if (error == EPERM && !(args->flag & LINUX_AT_REMOVEDIR)) { /* Introduce POSIX noncompliant behaviour of Linux */ if (kern_statat(td, AT_SYMLINK_NOFOLLOW, dfd, path, - pathseg, &st, NULL) == 0 && S_ISDIR(st.st_mode)) + pathseg, &st) == 0 && S_ISDIR(st.st_mode)) error = EISDIR; } return (error); diff --git a/sys/compat/linux/linux_stats.c b/sys/compat/linux/linux_stats.c index 58c378d6bc08..dc1e50a4fa00 100644 --- a/sys/compat/linux/linux_stats.c +++ b/sys/compat/linux/linux_stats.c @@ -29,17 +29,23 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_ktrace.h" + #include #include #include #include #include #include +#include #include #include #include #include #include +#ifdef KTRACE +#include +#endif #ifdef COMPAT_LINUX32 #include @@ -57,9 +63,33 @@ static int linux_kern_statat(struct thread *td, int flag, int fd, const char *path, enum uio_seg pathseg, struct stat *sbp) { + struct nameidata nd; + int error; + + if ((flag & ~(AT_SYMLINK_NOFOLLOW | AT_RESOLVE_BENEATH | + AT_EMPTY_PATH)) != 0) + return (EINVAL); + + NDINIT_ATRIGHTS(&nd, LOOKUP, at2cnpflags(flag, AT_RESOLVE_BENEATH | + AT_SYMLINK_NOFOLLOW | AT_EMPTY_PATH) | LOCKSHARED | LOCKLEAF | + AUDITVNODE1, pathseg, path, fd, &cap_fstat_rights); - return (kern_statat(td, flag, fd, path, pathseg, sbp, - translate_vnhook_major_minor)); + if ((error = namei(&nd)) != 0) { + if (error == ENOTDIR && + (nd.ni_resflags & NIRES_EMPTYPATH) != 0) + error = kern_fstat(td, fd, sbp); + return (error); + } + error = VOP_STAT(nd.ni_vp, sbp, td->td_ucred, NOCRED); + if (error == 0) + translate_vnhook_major_minor(nd.ni_vp, sbp); + NDFREE_PNBUF(&nd); + vput(nd.ni_vp); +#ifdef KTRACE + if (KTRPOINT(td, KTR_STRUCT)) + ktrstat_error(sbp, error); +#endif + return (error); } #ifdef LINUX_LEGACY_SYSCALLS diff --git a/sys/kern/vfs_mountroot.c b/sys/kern/vfs_mountroot.c index 79019c4bbc8e..956d29e3f084 100644 --- a/sys/kern/vfs_mountroot.c +++ b/sys/kern/vfs_mountroot.c @@ -594,7 +594,7 @@ parse_dir_md(char **conf) free(tok, M_TEMP); /* Get file status. */ - error = kern_statat(td, 0, AT_FDCWD, path, UIO_SYSSPACE, &sb, NULL); + error = kern_statat(td, 0, AT_FDCWD, path, UIO_SYSSPACE, &sb); if (error) goto out; diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index fa5888ad836c..5c0a291e3b0b 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -110,7 +110,7 @@ static int kern_readlink_vp(struct vnode *vp, char *buf, enum uio_seg bufseg, static int kern_linkat_vp(struct thread *td, struct vnode *vp, int fd, const char *path, enum uio_seg segflag); -static uint64_t +uint64_t at2cnpflags(u_int at_flags, u_int mask) { uint64_t res; @@ -2193,8 +2193,7 @@ ostat(struct thread *td, struct ostat_args *uap) struct ostat osb; int error; - error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, - &sb, NULL); + error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, &sb); if (error != 0) return (error); cvtstat(&sb, &osb); @@ -2218,7 +2217,7 @@ olstat(struct thread *td, struct olstat_args *uap) int error; error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, - UIO_USERSPACE, &sb, NULL); + UIO_USERSPACE, &sb); if (error != 0) return (error); cvtstat(&sb, &osb); @@ -2336,8 +2335,7 @@ freebsd11_stat(struct thread *td, struct freebsd11_stat_args* uap) struct freebsd11_stat osb; int error; - error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, - &sb, NULL); + error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, &sb); if (error != 0) return (error); error = freebsd11_cvtstat(&sb, &osb); @@ -2354,7 +2352,7 @@ freebsd11_lstat(struct thread *td, struct freebsd11_lstat_args* uap) int error; error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, - UIO_USERSPACE, &sb, NULL); + UIO_USERSPACE, &sb); if (error != 0) return (error); error = freebsd11_cvtstat(&sb, &osb); @@ -2391,7 +2389,7 @@ freebsd11_fstatat(struct thread *td, struct freebsd11_fstatat_args* uap) int error; error = kern_statat(td, uap->flag, uap->fd, uap->path, - UIO_USERSPACE, &sb, NULL); + UIO_USERSPACE, &sb); if (error != 0) return (error); error = freebsd11_cvtstat(&sb, &osb); @@ -2419,7 +2417,7 @@ sys_fstatat(struct thread *td, struct fstatat_args *uap) int error; error = kern_statat(td, uap->flag, uap->fd, uap->path, - UIO_USERSPACE, &sb, NULL); + UIO_USERSPACE, &sb); if (error == 0) error = copyout(&sb, uap->buf, sizeof (sb)); return (error); @@ -2427,8 +2425,7 @@ sys_fstatat(struct thread *td, struct fstatat_args *uap) int kern_statat(struct thread *td, int flag, int fd, const char *path, - enum uio_seg pathseg, struct stat *sbp, - void (*hook)(struct vnode *vp, struct stat *sbp)) + enum uio_seg pathseg, struct stat *sbp) { struct nameidata nd; int error; @@ -2441,18 +2438,9 @@ kern_statat(struct thread *td, int flag, int fd, const char *path, AT_SYMLINK_NOFOLLOW | AT_EMPTY_PATH) | LOCKSHARED | LOCKLEAF | AUDITVNODE1, pathseg, path, fd, &cap_fstat_rights); - if ((error = namei(&nd)) != 0) { - if (error == ENOTDIR && - (nd.ni_resflags & NIRES_EMPTYPATH) != 0) - error = kern_fstat(td, fd, sbp); + if ((error = namei(&nd)) != 0) return (error); - } error = VOP_STAT(nd.ni_vp, sbp, td->td_ucred, NOCRED); - if (__predict_false(hook != NULL)) { - if (error == 0) { - hook(nd.ni_vp, sbp); - } - } NDFREE_PNBUF(&nd); vput(nd.ni_vp); #ifdef __STAT_TIME_T_EXT @@ -2515,8 +2503,7 @@ freebsd11_nstat(struct thread *td, struct freebsd11_nstat_args *uap) struct nstat nsb; int error; - error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, - &sb, NULL); + error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, &sb); if (error != 0) return (error); error = freebsd11_cvtnstat(&sb, &nsb); @@ -2542,7 +2529,7 @@ freebsd11_nlstat(struct thread *td, struct freebsd11_nlstat_args *uap) int error; error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, - UIO_USERSPACE, &sb, NULL); + UIO_USERSPACE, &sb); if (error != 0) return (error); error = freebsd11_cvtnstat(&sb, &nsb); diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h index 5520d1ea8f89..d91b2c18dbe0 100644 --- a/sys/sys/syscallsubr.h +++ b/sys/sys/syscallsubr.h @@ -81,6 +81,7 @@ struct mmap_req { mmap_check_fp_fn mr_check_fp_fn; }; +uint64_t at2cnpflags(u_int at_flags, u_int mask); int kern___getcwd(struct thread *td, char *buf, enum uio_seg bufseg, size_t buflen, size_t path_max); int kern_abort2(struct thread *td, const char *why, int nargs, @@ -319,8 +320,7 @@ int kern_sigqueue(struct thread *td, pid_t pid, int signum, union sigval *value); int kern_socket(struct thread *td, int domain, int type, int protocol); int kern_statat(struct thread *td, int flag, int fd, const char *path, - enum uio_seg pathseg, struct stat *sbp, - void (*hook)(struct vnode *vp, struct stat *sbp)); + enum uio_seg pathseg, struct stat *sbp); int kern_specialfd(struct thread *td, int type, void *arg); int kern_statfs(struct thread *td, const char *path, enum uio_seg pathseg, struct statfs *buf); From nobody Fri Apr 28 08:57:21 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761Y5b96z48CGC; Fri, 28 Apr 2023 08:57: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 4Q761Y4wnPz4S4F; Fri, 28 Apr 2023 08:57:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RO1hLTGuRi06v9Ds+e6RR/UdKnIu6UnJJTFG4qXIuU8=; b=fZBedZUWyzpDywXf9kmyLRhR8G4obrzds4vqr1kElf4Fys1zgK+vzouGz8/eb7nT2ih7rz ECnbtOIpvisinxmVea46H/x0Xts0k+u2Hd+MceiTrQd243jeHaNDc0+p6gRBtRJ5kF1WXo wsjOdTByNimY6b523/PDgEWC75fxRQmGqjs1Jig+K9zchJ8wZaNHm25dKinVR3SsHrNCCn MG6OlkKlkgpiAGcoWlEMhmIv8t3zYtFJFZfntxaTs1xQepRLImdtNFEvjUG/LI9mYpWeEK KWU3Ce4y89+bs0Y/oZxvhyOeEcautERL21Fz+EdW0h7Z61QluaJhkBYhXv0JQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RO1hLTGuRi06v9Ds+e6RR/UdKnIu6UnJJTFG4qXIuU8=; b=W+B9YDcKCS2OfMXnu/gxBzcqHOVs7YXlghxkCOk7kM02f3COTZbtW80r7z0ZVhpqk+yXxn ZiNyJYCOf7vAHqFsTTl60kSalAoYijd5yneRiqUtQLg/yCIy2wManebUd8IAtLPDGmYI78 IQryyWpeEMKUt6nJ78AUKj0+lwolgp1voithQmLQF/W8zF7wviaEIhpBdc2Ze+i0Mx1Goy OCKKD3oLJb+TWA7SLppaTkSMZx2/HQQTgzVzrkuCRHxyPavU+/rvkHcgWR/c4ypzEpqZcd q4g0llDLfjsVzBkJztfd4jnzo3stwCROhN9ziSwns2j8v/1a12vn3O4nfydq2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672241; a=rsa-sha256; cv=none; b=LbPB+WjbR9YCQzki4sqKbE8gHdmmaaWe65sGPSVM7T3qwRBbZGQQJpuaFzx5LvlKMxxV2Z 9ACyeQnXsXAwuF1DvAvd2blp1nUg1rHNHBq0hRkKTnU3T1m48w1FmzwCTjHkrxy+vrhbuH Z8KQ1iFnk7NvzKCZcgUtbjXjONZRSsWIwSxGPtnQOQS5xA73YD55F8UDVv/AZU2HAxCa2u OS2seYc/OeqB/eXdpugCWKk2RB1BvDB6EvkcU329rVhdA53Y2n2vhzGrV7nw+OGc6jgc/6 ppwK1Dr/kS5j9AA4SxJFcqgb8b/aNw63BiYNTF/LGJnyc3FnG5Dd65DKs2CtQQ== 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 4Q761Y3q1BztV0; Fri, 28 Apr 2023 08:57: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 33S8vL6v018162; Fri, 28 Apr 2023 08:57:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8vL5U018161; Fri, 28 Apr 2023 08:57:21 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:21 GMT Message-Id: <202304280857.33S8vL5U018161@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 994ed958ae05 - main - linux(4): Add a dedicated fstat() implementation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 994ed958ae0545faa86dd43b6e64bf7b64b9220b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=994ed958ae0545faa86dd43b6e64bf7b64b9220b commit 994ed958ae0545faa86dd43b6e64bf7b64b9220b Author: Dmitry Chagin AuthorDate: 2023-04-28 08:55:04 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:55:04 +0000 linux(4): Add a dedicated fstat() implementation In between kern_fstat() and translate_fd_major_minor(), another process having the same filedesc could modify or close fd. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D39763 --- sys/compat/linux/linux_stats.c | 75 +++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 44 deletions(-) diff --git a/sys/compat/linux/linux_stats.c b/sys/compat/linux/linux_stats.c index dc1e50a4fa00..260709b23202 100644 --- a/sys/compat/linux/linux_stats.c +++ b/sys/compat/linux/linux_stats.c @@ -47,6 +47,8 @@ __FBSDID("$FreeBSD$"); #include #endif +#include + #ifdef COMPAT_LINUX32 #include #include @@ -59,6 +61,32 @@ __FBSDID("$FreeBSD$"); #include +static int +linux_kern_fstat(struct thread *td, int fd, struct stat *sbp) +{ + struct vnode *vp; + struct file *fp; + int error; + + AUDIT_ARG_FD(fd); + + error = fget(td, fd, &cap_fstat_rights, &fp); + if (__predict_false(error != 0)) + return (error); + + AUDIT_ARG_FILE(td->td_proc, fp); + + error = fo_stat(fp, sbp, td->td_ucred); + if (error == 0 && (vp = fp->f_vnode) != NULL) + translate_vnhook_major_minor(vp, sbp); + fdrop(fp, td); +#ifdef KTRACE + if (KTRPOINT(td, KTR_STRUCT)) + ktrstat_error(sbp, error); +#endif + return (error); +} + static int linux_kern_statat(struct thread *td, int flag, int fd, const char *path, enum uio_seg pathseg, struct stat *sbp) @@ -77,7 +105,7 @@ linux_kern_statat(struct thread *td, int flag, int fd, const char *path, if ((error = namei(&nd)) != 0) { if (error == ENOTDIR && (nd.ni_resflags & NIRES_EMPTYPATH) != 0) - error = kern_fstat(td, fd, sbp); + error = linux_kern_fstat(td, fd, sbp); return (error); } error = VOP_STAT(nd.ni_vp, sbp, td->td_ucred, NOCRED); @@ -111,45 +139,6 @@ linux_kern_lstat(struct thread *td, const char *path, enum uio_seg pathseg, } #endif -static void -translate_fd_major_minor(struct thread *td, int fd, struct stat *buf) -{ - struct file *fp; - struct vnode *vp; - struct mount *mp; - int major, minor; - - /* - * No capability rights required here. - */ - if ((!S_ISCHR(buf->st_mode) && !S_ISBLK(buf->st_mode)) || - fget(td, fd, &cap_no_rights, &fp) != 0) - return; - vp = fp->f_vnode; - if (vp != NULL && vn_isdisk(vp)) { - buf->st_mode &= ~S_IFMT; - buf->st_mode |= S_IFBLK; - } - if (vp != NULL && rootdevmp != NULL) { - mp = vp->v_mount; - __compiler_membar(); - if (mp != NULL && mp->mnt_vfc == rootdevmp->mnt_vfc) - buf->st_dev = rootdevmp->mnt_stat.f_fsid.val[0]; - } - if (linux_vn_get_major_minor(vp, &major, &minor) == 0) { - buf->st_rdev = (major << 8 | minor); - } else if (fp->f_type == DTYPE_PTS) { - struct tty *tp = fp->f_data; - - /* Convert the numbers for the slave device. */ - if (linux_driver_get_major_minor(devtoname(tp->t_dev), - &major, &minor) == 0) { - buf->st_rdev = (major << 8 | minor); - } - } - fdrop(fp, td); -} - /* * l_dev_t has the same encoding as dev_t in the latter's low 16 bits, so * truncation of a dev_t to 16 bits gives the same result as unpacking @@ -242,8 +231,7 @@ linux_newfstat(struct thread *td, struct linux_newfstat_args *args) struct stat buf; int error; - error = kern_fstat(td, args->fd, &buf); - translate_fd_major_minor(td, args->fd, &buf); + error = linux_kern_fstat(td, args->fd, &buf); if (!error) error = newstat_copyout(&buf, args->buf); @@ -634,8 +622,7 @@ linux_fstat64(struct thread *td, struct linux_fstat64_args *args) struct stat buf; int error; - error = kern_fstat(td, args->fd, &buf); - translate_fd_major_minor(td, args->fd, &buf); + error = linux_kern_fstat(td, args->fd, &buf); if (!error) error = stat64_copyout(&buf, args->statbuf); From nobody Fri Apr 28 08:57:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q761b0r6cz48C2c; Fri, 28 Apr 2023 08:57: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 4Q761Z5pgzz4SG2; Fri, 28 Apr 2023 08:57:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0/S+EnQ7Sao8wsNJcQDEV4Oh36PMDaanLk2rvrh7rfA=; b=U9W3fXsYvlXr3on3iWxDX1LKL+2aDnAhlr0q1M1zXzRzrzsvwKY/MaEWOASZZtMXHRaJFk CE/YOTzXaDGIQR8fv41+rTzoGjlp0yesINA/Q1ZD/kzmfLBZzBA1ggbMGiowmVU4wSpH7Z Z1OvWbx4C3sohXJhIJGAJOIh5narkRwXE64HmoqcG6Jq0ZYbLsoyxUQe3fWqSoBW4GeF7O WRv9Kk0LVfiaMmGY5qeoZatBH4pw/8sEgxSYvmUzPCGINuPzuWl6Pmjyqwip95Bfi33Gjp y6eDDj1h65TnoW+gonYSmqdMhx+ouVwv89pR1vKbwnPssaBvSq1rXThVdx/Cgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682672242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0/S+EnQ7Sao8wsNJcQDEV4Oh36PMDaanLk2rvrh7rfA=; b=iFsYBNfpue1AlefLDjsvPQ/AOdsKY7kVgoj7YgGPabWvy0uxw1pkP+bwYIoyUpzpAUlG+J qZdSFt5idVoMd8N2UMNpyT7z1ZEuCG3qzSh+1E1VNdGE07P5Mn4F5vnTbvSNFdEm56RHMz xpagmwZwPZACJitpT4p+9XCxflVXFocYe9S+sf2iJqFmr7gql/sZof09ILGvr5DHiLAqqf tU7VA6Z/wIeBMQgjCwoUhYuVA51DU0KNpqNV1BcpAUpq2+5+MVnnJsX9WRpxpPIOcpXpwX 2s+tWCh8axX4TjD3BgoQhFk1dOaxwRKks+b5jiPE0yAkOqTRFSEt6GiLVYCkrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682672242; a=rsa-sha256; cv=none; b=NdC5ZFY1VzdZxxKSWnxo6u8rUHEmpC9EZqvYnKgZbM6grxjXs+m79sorXlruIlG84J7bkS OVt/BDBDAmrXZN/qDg/u5JtdkKwMU/sEDjg4NoMVzteV8XzSO6pxgPPtmMThttM0lhX/6Q 2OYhiYNJCijRDfaPQsf/jqFAFppePtpwKSOkNVhDjaJeHuDuvKBBCcYJv14mpAMFmdQDzY djIlpj/CAqvdvXaBS8cvJxVVkIMj0FhLD07K54DR5jovPwaWMRuoBo53S6Yvh0govwc2Dy jbNAuYembWMrKHtiUjm7EjzSvtpfV0pBCB6PFSfbi/yjxqdQAk8biMrOxZAWvA== 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 4Q761Z4nxYzt0B; Fri, 28 Apr 2023 08:57: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 33S8vMQu018181; Fri, 28 Apr 2023 08:57:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33S8vM8g018180; Fri, 28 Apr 2023 08:57:22 GMT (envelope-from git) Date: Fri, 28 Apr 2023 08:57:22 GMT Message-Id: <202304280857.33S8vM8g018180@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 166e2e5a9e87 - main - linux(4): Uniformly dev_t arguments translation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 166e2e5a9e87d32dbfc7838903904673873f1e71 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=166e2e5a9e87d32dbfc7838903904673873f1e71 commit 166e2e5a9e87d32dbfc7838903904673873f1e71 Author: Dmitry Chagin AuthorDate: 2023-04-28 08:55:05 +0000 Commit: Dmitry Chagin CommitDate: 2023-04-28 08:55:05 +0000 linux(4): Uniformly dev_t arguments translation The two main uses of dev_t are in struct stat and as a parameter of the mknod system calls. As of version 2.6.0 of the Linux kernel, dev_t is a 32-bit quantity with 12 bits set asaid for the major number and 20 for the minor number. The in-kernel dev_t encoded as MMMmmmmm, where M is a hex digit of the major number and m is a hex digit of the minor number. The user-space dev_t encoded as mmmM MMmm, where M and m is the major and minor numbers accordingly. This is downward compatible with legacy systems where dev_t is 16 bits wide, encoded as MMmm. In glibc dev_t is a 64-bit quantity, with 32-bit major and minor numbers, encoded as MMMM Mmmm mmmM MMmm. This is downward compatible with the Linux kernel and with legacy systems where dev_t is 16 bits wide. In the FreeBSD dev_t is a 64-bit quantity. The major and minor numbers are encoded as MMMmmmMm, therefore conversion of the device numbers between Linux user-space and FreeBSD kernel required. --- sys/compat/linux/linux.h | 68 ++++++++++++++++++++++++++++++++++++++++++ sys/compat/linux/linux_misc.c | 4 +-- sys/compat/linux/linux_stats.c | 49 ++++++++++++------------------ sys/compat/linux/linux_util.c | 3 +- 4 files changed, 91 insertions(+), 33 deletions(-) diff --git a/sys/compat/linux/linux.h b/sys/compat/linux/linux.h index 4ad94bf11efd..9f320efa5110 100644 --- a/sys/compat/linux/linux.h +++ b/sys/compat/linux/linux.h @@ -33,6 +33,74 @@ */ typedef uint32_t l_dev_t; +/* + * Linux dev_t conversion routines. + * + * As of version 2.6.0 of the Linux kernel, dev_t is a 32-bit quantity + * with 12 bits set asaid for the major number and 20 for the minor number. + * The in-kernel dev_t encoded as MMMmmmmm, where M is a hex digit of the + * major number and m is a hex digit of the minor number. + * The user-space dev_t encoded as mmmM MMmm, where M and m is the major + * and minor numbers accordingly. This is downward compatible with legacy + * systems where dev_t is 16 bits wide, encoded as MMmm. + * In glibc dev_t is a 64-bit quantity, with 32-bit major and minor numbers, + * encoded as MMMM Mmmm mmmM MMmm. This is downward compatible with the Linux + * kernel and with legacy systems where dev_t is 16 bits wide. + * + * In the FreeBSD dev_t is a 64-bit quantity. The major and minor numbers + * are encoded as MMMmmmMm, therefore conversion of the device numbers between + * Linux user-space and FreeBSD kernel required. + */ +static __inline l_dev_t +linux_encode_dev(int _major, int _minor) +{ + + return ((_minor & 0xff) | ((_major & 0xfff) << 8) | + (((_minor & ~0xff) << 12) & 0xfff00000)); +} + +static __inline l_dev_t +linux_new_encode_dev(dev_t _dev) +{ + + return (_dev == NODEV ? 0 : linux_encode_dev(major(_dev), minor(_dev))); +} + +static __inline int +linux_encode_major(dev_t _dev) +{ + + return (_dev == NODEV ? 0 : major(_dev) & 0xfff); +} + +static __inline int +linux_encode_minor(dev_t _dev) +{ + + return (_dev == NODEV ? 0 : minor(_dev) & 0xfffff); +} + +static __inline int +linux_decode_major(l_dev_t _dev) +{ + + return ((_dev & 0xfff00) >> 8); +} + +static __inline int +linux_decode_minor(l_dev_t _dev) +{ + + return ((_dev & 0xff) | ((_dev & 0xfff00000) >> 12)); +} + +static __inline dev_t +linux_decode_dev(l_dev_t _dev) +{ + + return (makedev(linux_decode_major(_dev), linux_decode_minor(_dev))); +} + /* * Private Brandinfo flags */ diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index ba0ac190a946..bc6ff9559493 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -901,7 +901,7 @@ linux_mknod(struct thread *td, struct linux_mknod_args *args) case S_IFCHR: case S_IFBLK: error = kern_mknodat(td, AT_FDCWD, path, seg, - args->mode, args->dev); + args->mode, linux_decode_dev(args->dev)); break; case S_IFDIR: @@ -956,7 +956,7 @@ linux_mknodat(struct thread *td, struct linux_mknodat_args *args) case S_IFCHR: case S_IFBLK: error = kern_mknodat(td, dfd, path, seg, args->mode, - args->dev); + linux_decode_dev(args->dev)); break; case S_IFDIR: diff --git a/sys/compat/linux/linux_stats.c b/sys/compat/linux/linux_stats.c index 260709b23202..95b8668eb2db 100644 --- a/sys/compat/linux/linux_stats.c +++ b/sys/compat/linux/linux_stats.c @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include #endif +#include #include #include @@ -139,38 +140,19 @@ linux_kern_lstat(struct thread *td, const char *path, enum uio_seg pathseg, } #endif -/* - * l_dev_t has the same encoding as dev_t in the latter's low 16 bits, so - * truncation of a dev_t to 16 bits gives the same result as unpacking - * using major() and minor() and repacking in the l_dev_t format. This - * detail is hidden in dev_to_ldev(). Overflow in conversions of dev_t's - * are not checked for, as for other fields. - * - * dev_to_ldev() is only used for translating st_dev. When we convert - * st_rdev for copying it out, it isn't really a dev_t, but has already - * been translated to an l_dev_t in a nontrivial way. Translating it - * again would be illogical but would have no effect since the low 16 - * bits have the same encoding. - * - * The nontrivial translation for st_rdev renumbers some devices, but not - * ones that can be mounted on, so it is consistent with the translation - * for st_dev except when the renumbering or truncation causes conflicts. - */ -#define dev_to_ldev(d) ((uint16_t)(d)) - static int newstat_copyout(struct stat *buf, void *ubuf) { struct l_newstat tbuf; bzero(&tbuf, sizeof(tbuf)); - tbuf.st_dev = dev_to_ldev(buf->st_dev); + tbuf.st_dev = linux_new_encode_dev(buf->st_dev); tbuf.st_ino = buf->st_ino; tbuf.st_mode = buf->st_mode; tbuf.st_nlink = buf->st_nlink; tbuf.st_uid = buf->st_uid; tbuf.st_gid = buf->st_gid; - tbuf.st_rdev = buf->st_rdev; + tbuf.st_rdev = linux_new_encode_dev(buf->st_rdev); tbuf.st_size = buf->st_size; tbuf.st_atim.tv_sec = buf->st_atim.tv_sec; tbuf.st_atim.tv_nsec = buf->st_atim.tv_nsec; @@ -239,19 +221,27 @@ linux_newfstat(struct thread *td, struct linux_newfstat_args *args) } #if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) + +static __inline uint16_t +linux_old_encode_dev(dev_t _dev) +{ + + return (_dev == NODEV ? 0 : linux_encode_dev(major(_dev), minor(_dev))); +} + static int old_stat_copyout(struct stat *buf, void *ubuf) { struct l_old_stat lbuf; bzero(&lbuf, sizeof(lbuf)); - lbuf.st_dev = dev_to_ldev(buf->st_dev); + lbuf.st_dev = linux_old_encode_dev(buf->st_dev); lbuf.st_ino = buf->st_ino; lbuf.st_mode = buf->st_mode; lbuf.st_nlink = buf->st_nlink; lbuf.st_uid = buf->st_uid; lbuf.st_gid = buf->st_gid; - lbuf.st_rdev = buf->st_rdev; + lbuf.st_rdev = linux_old_encode_dev(buf->st_rdev); lbuf.st_size = MIN(buf->st_size, INT32_MAX); lbuf.st_atim.tv_sec = buf->st_atim.tv_sec; lbuf.st_atim.tv_nsec = buf->st_atim.tv_nsec; @@ -550,13 +540,13 @@ stat64_copyout(struct stat *buf, void *ubuf) struct l_stat64 lbuf; bzero(&lbuf, sizeof(lbuf)); - lbuf.st_dev = dev_to_ldev(buf->st_dev); + lbuf.st_dev = linux_new_encode_dev(buf->st_dev); lbuf.st_ino = buf->st_ino; lbuf.st_mode = buf->st_mode; lbuf.st_nlink = buf->st_nlink; lbuf.st_uid = buf->st_uid; lbuf.st_gid = buf->st_gid; - lbuf.st_rdev = buf->st_rdev; + lbuf.st_rdev = linux_new_encode_dev(buf->st_rdev); lbuf.st_size = buf->st_size; lbuf.st_atim.tv_sec = buf->st_atim.tv_sec; lbuf.st_atim.tv_nsec = buf->st_atim.tv_nsec; @@ -762,11 +752,10 @@ statx_copyout(struct stat *buf, void *ubuf) tbuf.stx_ctime.tv_nsec = buf->st_ctim.tv_nsec; tbuf.stx_mtime.tv_sec = buf->st_mtim.tv_sec; tbuf.stx_mtime.tv_nsec = buf->st_mtim.tv_nsec; - - tbuf.stx_rdev_major = buf->st_rdev >> 8; - tbuf.stx_rdev_minor = buf->st_rdev & 0xff; - tbuf.stx_dev_major = buf->st_dev >> 8; - tbuf.stx_dev_minor = buf->st_dev & 0xff; + tbuf.stx_rdev_major = linux_encode_major(buf->st_rdev); + tbuf.stx_rdev_minor = linux_encode_minor(buf->st_rdev); + tbuf.stx_dev_major = linux_encode_major(buf->st_dev); + tbuf.stx_dev_minor = linux_encode_minor(buf->st_dev); return (copyout(&tbuf, ubuf, sizeof(tbuf))); } diff --git a/sys/compat/linux/linux_util.c b/sys/compat/linux/linux_util.c index dd739fde2551..afb0bb082dd5 100644 --- a/sys/compat/linux/linux_util.c +++ b/sys/compat/linux/linux_util.c @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -248,7 +249,7 @@ translate_vnhook_major_minor(struct vnode *vp, struct stat *sb) sb->st_dev = rootdevmp->mnt_stat.f_fsid.val[0]; if (linux_vn_get_major_minor(vp, &major, &minor) == 0) - sb->st_rdev = (major << 8 | minor); + sb->st_rdev = makedev(major, minor); } char * From nobody Fri Apr 28 10:03:21 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q77Tj2pSdz48H5r; Fri, 28 Apr 2023 10:03: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 4Q77Tj2Hjrz3CRN; Fri, 28 Apr 2023 10:03:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682676201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xeifcOXkE6Y3NgwDLMNrXhfm3FmnR965k2a/ECBtI+w=; b=eHGPdEFvgRuKM0ncQfXWDEHUxgp033KvvpxWCuC0/fQmNahkPNdEhVD1zm2EiEGBLdXX93 j9uP/t7C8Vmj1VnyuaaHqT1bLswWeJT2z1NIrAlE6xRDFqYGMFtD14BXRQQ/lVOuy1YMS/ E1nGrBJlQEYMuyn4Sh5YSiZ5Jx/hxcRKHBi/cx1zKG4gQbkra45FAAwJID5umSue5rGtFA /hKTBFWmEOmHL+GLHwcol/JMXilBDJLXkQ2PEro7WljN6pK8sH4WdmSQLO0nwiujc32iIK /iBah7Ew/xQyrFDCE1fm8jg9FHovu2He61UyI6ULNcQBO2uZojwzlbKLl8dYEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682676201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xeifcOXkE6Y3NgwDLMNrXhfm3FmnR965k2a/ECBtI+w=; b=CcYg1soYN8lOBs6ZzurNb01GuTSIP/ECZyjkosHgR5TKeMa6wdXQrfWy5ltHnqsFEPht11 U75HmZUSkJ317TAmMNGo4WhM1q1OO2pAlSrZit8u0lh6nOqZFodCIcQGeFNqpsDEQC66tx 3pL4niciIEvz32Y3GkDdDDhc+jxVYtB3WW4MgIX8qPmapJSae+U8ILaQcCnWZPOhMCVBtl oURp/4ZUlarpMH6kkhM3rUAZ9mcZ0DUvGVBT0ayVavnu0n8alCrOva+dLBWHhz5EdgnxZ5 qHpGi+MZkKKxuDbwXzUY/mkOOesOcVPDLn4jN3QvM5dvhXAaY8Oeyk1/liTjeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682676201; a=rsa-sha256; cv=none; b=HNMIR/rTtYOAQfkBcIh29pAxFTP/xiLR3189JNBIliViwJB3EQadtmrLbSLKqDYVlgQ6wv uANe/69yjwSmiIhP0GR1+ic3Q+bWvXRt3ElOzamq5Q3MONB0GHFznBe8DgSSYgogTU/xM5 utzzzODQfAr009DNuA+DIx/FLocr5jiKuJ1rJNWj5/7+0JwjK5JRfRf67cRnzkrVMbvnUf WovoWsMRxwVfb07bsFMdlqECB15PJH0h2welEaMhCpciCLYhzK+9p8mjQKexh4lDk177zZ lJ2ZYm0mh1DhfIuzK4yMhRZ7e5KDbfvE5dC1tqsq2edHFPuBKdsEiI0B973v7Q== 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 4Q77Tj1MMSzwFt; Fri, 28 Apr 2023 10:03: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 33SA3LYO034259; Fri, 28 Apr 2023 10:03:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SA3LfA034258; Fri, 28 Apr 2023 10:03:21 GMT (envelope-from git) Date: Fri, 28 Apr 2023 10:03:21 GMT Message-Id: <202304281003.33SA3LfA034258@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 99cb088f1a25 - main - ixgbe: Fix typos in source code comments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 99cb088f1a2513ad71225b9691e0aed09ba8fafe Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=99cb088f1a2513ad71225b9691e0aed09ba8fafe commit 99cb088f1a2513ad71225b9691e0aed09ba8fafe Author: Ian Moffett AuthorDate: 2023-04-28 10:01:58 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-28 10:01:58 +0000 ixgbe: Fix typos in source code comments - s/feilds/fields/ Reviewed by: zlei MFC after: 3 days Pull Request: https://github.com/freebsd/freebsd-src/pull/707 --- sys/dev/ixgbe/ixgbe_api.c | 2 +- sys/dev/ixgbe/ixgbe_common.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/ixgbe/ixgbe_api.c b/sys/dev/ixgbe/ixgbe_api.c index 80cf1ce1925d..12fc7d9cfd4e 100644 --- a/sys/dev/ixgbe/ixgbe_api.c +++ b/sys/dev/ixgbe/ixgbe_api.c @@ -1420,7 +1420,7 @@ s32 ixgbe_bypass_rw(struct ixgbe_hw *hw, u32 cmd, u32 *status) * ixgbe_bypass_valid_rd - Verify valid return from bit-bang. * * If we send a write we can't be sure it took until we can read back - * that same register. It can be a problem as some of the feilds may + * that same register. It can be a problem as some of the fields may * for valid reasons change inbetween the time wrote the register and * we read it again to verify. So this function check everything we * can check and then assumes it worked. diff --git a/sys/dev/ixgbe/ixgbe_common.c b/sys/dev/ixgbe/ixgbe_common.c index 86301dab80ed..9c13b1b2663d 100644 --- a/sys/dev/ixgbe/ixgbe_common.c +++ b/sys/dev/ixgbe/ixgbe_common.c @@ -5151,7 +5151,7 @@ s32 ixgbe_bypass_rw_generic(struct ixgbe_hw *hw, u32 cmd, u32 *status) * ixgbe_bypass_valid_rd_generic - Verify valid return from bit-bang. * * If we send a write we can't be sure it took until we can read back - * that same register. It can be a problem as some of the feilds may + * that same register. It can be a problem as some of the fields may * for valid reasons change inbetween the time wrote the register and * we read it again to verify. So this function check everything we * can check and then assumes it worked. From nobody Fri Apr 28 10:03:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q77Tk45NCz48GdL; Fri, 28 Apr 2023 10: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 4Q77Tk34yRz3Clk; Fri, 28 Apr 2023 10: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=1682676202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UwEioM10n70Jk0kt3y5jVdFS6DJY18dkcwcxndJnYH8=; b=pdifQhZ2jikf32uPE1hrvE08TsxgiGO8d4HEz4UXz0/GG2yyPwI5r9YV7AkVkgQ0SnXAXx ppnCzZwaDkq/5ZLG3cGQRC099E4cpDKBvG0TgqCWVRFarO7IwC0Dz9r7loVNrHSC1KcwnJ UaEkxpEmuqkT8MGS3MKDE0WA0NEiea8wR0l0pRFzevC1pdVtNIsuQKMO9IaXYdXSJTUphx QdEsi9Fbx6sh3n1EbSrC3EseSsdHAycS416KPvhJ1IDwCxdcPJEB1eiB90gXeR6ciMGF1M vmpnjzn9lKbycpNKwvAI4xyEendNbleI7RJT713fi8gZJVrzqDatYyo5wKm9vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682676202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UwEioM10n70Jk0kt3y5jVdFS6DJY18dkcwcxndJnYH8=; b=SXRJ42bYqaDmfjukWMkjTRwAV/I8WdIb8ECwNimkg33bARdKgYaGSGelis7GGR6xCNshIH 8LYQVYYLDj5KvRcE8NZRAQrqrytQpg6bRGw7bWNa4CHcnLC63e3GAbuQS7VZGmwvwgB7hf R705z1A+eDNt8m4GatVJQf1Np6KhH8eJFk5SCDeN3SyRAvMcHXIWLJvMKpyaeAzCfTpJyl fbS0k7uWbiAwZzkJ/i0+dmHv1NUxE9Ioi8w7moE5YYyza8biZOHX9BpoUWGUxqbC9Botos 1AFSng8Ri6TuEJ2SAq02zPhbwFDSNBm3lid8AcldWohEV3ri5AY48jmAss+qUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682676202; a=rsa-sha256; cv=none; b=ypdS/cRvwMARvCrLc97OHFT1eAHUcpXjfj4SyAJ6Q7ltHW2pn8JkIZnXfHX184kXfN9Tvk gOcKDuWfWM5jrHYaO9hAheKIlRUa+yhLTmActvTvGSmDdyCvl3MuZ97GVkAWcfin9To1EM RMefAgf8Se1cuKqHFaLi9nwPAJStpsCJ/GzsAmHzc5ekb9j7w2ytRqvIxLF7nMHaPfcPxB 8GkrvlBWEgF6S+AqJVGEmQJdpg8PVip+fMFmkvpFKq3GAXvGbhW9P/N6z4msbj7pcZfJBD xN/c6rUJ+1S+UibHiPwNlmRbh2kJz0Id0+gDIVP0KuV7LLBJ6ZNUJecRrnCu5g== 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 4Q77Tk2B09zvwr; Fri, 28 Apr 2023 10: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 33SA3MF3034281; Fri, 28 Apr 2023 10: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 33SA3MvC034280; Fri, 28 Apr 2023 10:03:22 GMT (envelope-from git) Date: Fri, 28 Apr 2023 10:03:22 GMT Message-Id: <202304281003.33SA3MvC034280@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 5bcbdb0b2eb4 - main - mps: Fix a typo in a source code comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5bcbdb0b2eb4c14ef0a8671c996337acdefb7f72 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=5bcbdb0b2eb4c14ef0a8671c996337acdefb7f72 commit 5bcbdb0b2eb4c14ef0a8671c996337acdefb7f72 Author: Zhenlei Huang AuthorDate: 2023-04-28 10:01:58 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-28 10:01:58 +0000 mps: Fix a typo in a source code comment - s/feild/field/ MFC after: 3 days --- sys/dev/mps/mps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mps/mps.c b/sys/dev/mps/mps.c index b3f470bf5a39..a703fb58e09a 100644 --- a/sys/dev/mps/mps.c +++ b/sys/dev/mps/mps.c @@ -2725,7 +2725,7 @@ mps_add_chain(struct mps_command *cm) * sgc->Flags = ( MPI2_SGE_FLAGS_CHAIN_ELEMENT | MPI2_SGE_FLAGS_64_BIT_ADDRESSING | * MPI2_SGE_FLAGS_SYSTEM_ADDRESS) << MPI2_SGE_FLAGS_SHIFT * This is fine.. because we are not using simple element. In case of - * MPI2_SGE_CHAIN64, we have separate Length and Flags feild. + * MPI2_SGE_CHAIN64, we have separate Length and Flags field. */ sgc->Flags = MPI2_SGE_FLAGS_CHAIN_ELEMENT | MPI2_SGE_FLAGS_64_BIT_ADDRESSING; sgc->Address.High = htole32(chain->chain_busaddr >> 32); From nobody Fri Apr 28 10:03:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q77Tl4VFtz48GmX; Fri, 28 Apr 2023 10:03: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 4Q77Tl40zSz3CxM; Fri, 28 Apr 2023 10:03:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682676203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ucEdjyl+Qct4q4tr3t4Z2GWwYjpDLCGHOWyrQdw9WOk=; b=h3rPT8rKs7Qjwj4+xawfLcEkt0fKqGpDS0ohQDnEP9DCdV9wJ5teI2vMCMuoPUvTMSQeBi ebhDQPKo6RkAtwBm2bs0ScuQBQIH0ltHlKvbfE8pkBSye9vnAYLZ8T0fKpY+JoEQhL7u3w fWMuQjA76recSAk0k+2R6/id2yuwSZ8BpkEkTqZJFL0M1qF6zrm9loy+g+8zP0kflTjBif gZlaVMRiTgEplH52sLiynpyql3Z+8idMNBYqvw2ArhmQZZEXNWGlLjVoy+cexrJ72faEdC TgqJVT5b8TRS4Xc74sPFaGZEiH4HZB7w/MQaTKQ/RNy3O6Zck2sbHShJtFAP/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682676203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ucEdjyl+Qct4q4tr3t4Z2GWwYjpDLCGHOWyrQdw9WOk=; b=okLIADyJOJ6tXVFGGm4jV1M2/+hyxEzrYPK1l91MUMeVhKVcx9KdBw8/suX43im88yyfnU WhxwawXY86YfawBYQe9NEXKS0dTa76ugcr0Unvw8wK8hU8GGdWHhTmbNZVmtvaFXF4BFS8 ZK0njGiRQP47xg0aqpCBSBU9w5SBQ2lzlLboF2EXM0gUodocYFKn28wsjaq1eNMGAmwraV +ZLkrLU74Eu4HdrGdHQw0hL/zSBclb1vU3yJap8HrjK3NE6UQSmwdj45F5ZEGHes9dV/ZR 1ZPZpWpgjpUBaxplma7Mkjpxai1v6DSkUd06TQamTatiN8Pah4h64DkrYZJ+HA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682676203; a=rsa-sha256; cv=none; b=ArEH8/DY6VdYXit/WOlCxGQUKo6wjGGkixFp4EwNUHiU1UVtqKQKzbs7pdoFARn24BoOGl +RWiRBxY6H8nDwXg3Z+rx2248P1TboicpBbLFaU7Ou9PttCr55mTXnyR/5dp8URVUS40ry Ky8NKqqfNJ3ai1F/UQdl7mpr+0qEpvO604UBnjgtl8r4m5GS1WFDlbiLu49mmYQahSG/Fv VjQHnbP9js09Vrseuk8BAFgg0MT72S7VXa1PIlUYUeTBmAbVUcuTBb87uGPbZ7vDXm8lAk U6bt9OaAIi39X8Mh/GEI6VOXxHKZU3PaNnc4smCpnGZKHtWpL0XIEX3Hgou+6Q== 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 4Q77Tl36h1zvws; Fri, 28 Apr 2023 10:03: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 33SA3Nn3034303; Fri, 28 Apr 2023 10:03:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SA3N3F034302; Fri, 28 Apr 2023 10:03:23 GMT (envelope-from git) Date: Fri, 28 Apr 2023 10:03:23 GMT Message-Id: <202304281003.33SA3N3F034302@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: bbfb244724e2 - main - mrsas: Fix a typo in a source code comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bbfb244724e25933d7c7cf68b943e0c2a7d6e381 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=bbfb244724e25933d7c7cf68b943e0c2a7d6e381 commit bbfb244724e25933d7c7cf68b943e0c2a7d6e381 Author: Zhenlei Huang AuthorDate: 2023-04-28 10:01:58 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-28 10:01:58 +0000 mrsas: Fix a typo in a source code comment - s/feild/field/ MFC after: 3 days --- sys/dev/mrsas/mrsas.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mrsas/mrsas.h b/sys/dev/mrsas/mrsas.h index 408018f2f5ce..76894bbdbc4e 100644 --- a/sys/dev/mrsas/mrsas.h +++ b/sys/dev/mrsas/mrsas.h @@ -992,7 +992,7 @@ typedef struct _MR_FW_RAID_MAP_EXT { typedef struct _MR_DRV_RAID_MAP { /* - * Total size of this structure, including this field. This feild + * Total size of this structure, including this field. This field * will be manupulated by driver for ext raid map, else pick the * value from firmware raid map. */ From nobody Fri Apr 28 10:40:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q78JJ3mJbz48JvH; Fri, 28 Apr 2023 10:40: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 4Q78JJ3FW2z3Glk; Fri, 28 Apr 2023 10:40:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+jNeHj+54UM04h1f6ZJ07rcCvdbUwRHhRPkK1Vtdu+w=; b=tfPHq+pEsVsTuLBT95aZJtcLD7qDhbvTf5UQ0WkDoMnAO90fSZHZALpyDizCPxkMo68s3l jsL6NIV5pM5OOo9Rmo4F9kx6a3gVCGxzVqT3GiE+q3t95qE1Xu7zSJZQqo2PBB5KPJGZYw VxY43BW0zj5hQZ0KDannpnG99U8rNIskPqmvpKleHdO3LBbq9hn3lYRSqkdWuXxhvWRHg0 tgw/h5svyBvBvYYUS3QFeQVxgesggzyT5M0+xkxcC/HkWPNhb9/86YFdt7JKS8oNTBf7WS eohi/pGIqDz3q4XVeFfe6HlRR5MTcoY7JrsZHS51bgijsQvTsuUhP5ylkr5Tkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+jNeHj+54UM04h1f6ZJ07rcCvdbUwRHhRPkK1Vtdu+w=; b=HJk4XKPsUMnEB12ldAUIaXGILG8ddLhy4uaKZ9cSng7AwgedgWeO6caUT6D39YB/qvUS+6 kn6Zy0Y4CuVu9+6K0WAajZX/6C7Lrr+ys1RoLb6O4J0tUQmPC5IcoHxmq9iX2TbR6YOJTQ zxhFvcnGnW+cTARsY/bQwGb5m3IJ3ls/EbYS3YLy2V6ctKtzpkylTvhc4cU2wQn/osB7SF NvIONolErG/ywdnODaxGU9rBaXturMLheepV8u+RYpiCqSK+51mdJZbR4jcgZXV+a7tdlU BZWDqRedMH6YnR2QWCSOi+TuKCxCtu0geEahEreR4JRor/h3erpxiAtJk9pq2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682678416; a=rsa-sha256; cv=none; b=Ya8Ss7D1mDa1YvIX3/w1Sb1tY0uSZ07LTVaZQMwbt+SjppurXtF+LZAPRlmIdhX8CX4aO6 IEqjLEJ2YXP3avHtMT7a85MGn//hJDgS33LH6HY0rs8o6eWZH3i9fRYKwv/10LfIeEp6y2 zKtwy/tZNwzQRPeaHNWok02rXNpgQ1h0TK6orO/WZ389Y8+5AcPqQ0SKJSQfkPsPPZBZpQ mm7LzqPi4udbQrYR+eHy+S4YcOHaJ1C3FcrBZ5KGsqrJAn+be4fh59N0tRkb1ESkmQ1EMT 9zeheupQhZlwYeQBycSX9N2PXiSKAp8vc5fR8VmvhBsnTrnOIFyg6oUSq4KIrg== 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 4Q78JJ2DdvzwHf; Fri, 28 Apr 2023 10:40: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 33SAeGgg091752; Fri, 28 Apr 2023 10:40:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SAeG1c091749; Fri, 28 Apr 2023 10:40:16 GMT (envelope-from git) Date: Fri, 28 Apr 2023 10:40:16 GMT Message-Id: <202304281040.33SAeG1c091749@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: d4cae9c5e63e - stable/13 - bhyve: add config option to modify LPC IDs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d4cae9c5e63e110fbdc954f9366bf5c7e567b88a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=d4cae9c5e63e110fbdc954f9366bf5c7e567b88a commit d4cae9c5e63e110fbdc954f9366bf5c7e567b88a Author: Corvin Köhne AuthorDate: 2021-11-23 12:14:41 +0000 Commit: Corvin Köhne CommitDate: 2023-04-28 07:28:13 +0000 bhyve: add config option to modify LPC IDs The Intel GOP driver checks the LPC IDs to detect the platform it's running on. The GOP driver only works on the platforms it's written for. Maybe other Intel driver have the same behaviour. For that reason, we should use the LPC IDs of the FreeBSD host for GPU passthrough to work properly. We don't know if setting different LPC IDs have any side effect. Therefore, don't use the host LPC IDs by default on Intel system. Give the user the opportunity to modify the LPC IDs. Reviewed by: jhb MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D28280 (cherry picked from commit f4ceaff56ddaacc151df07d2d205a2d7fcb736a8) bhyve: fix spelling mistake of pcireg option The option is spelled "pcireg" not "pcir". MFC after: 1 week Fixes: f4ceaff56ddaacc151df07d2d205a2d7fcb736a8 Sponsored by: Beckhoff Automation GmbH & Co. KG (cherry picked from commit c98d13fbf9c9b75a49e48789932cd1395c95e7bf) bhyve: scan PCI device functions to find host LPC At least on some AMD devices the host LPC bridge could be located as seperate function of another PCI device. Fixes: f4ceaff56ddaacc151df07d2d205a2d7fcb736a8 MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39310 (cherry picked from commit d3e03d235e3133f79ff9e3879fd4ed61ace38d73) bhyve: do not exit if LPC finds no host selector The host selector is only required when the user likes to use the same LPC device IDs as the physical LPC device. This is an uncommon use case. For that reason, it makes no sense to exit when we don't find the host selector. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39311 (cherry picked from commit 0d29d750b9a7188c435d3701b2183f4df15ac98b) --- usr.sbin/bhyve/bhyve_config.5 | 14 ++++++++++ usr.sbin/bhyve/pci_lpc.c | 61 ++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 72 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/bhyve_config.5 b/usr.sbin/bhyve/bhyve_config.5 index 9482d1260e05..26387da0d59e 100644 --- a/usr.sbin/bhyve/bhyve_config.5 +++ b/usr.sbin/bhyve/bhyve_config.5 @@ -542,6 +542,20 @@ for fwctl and for fwcfg. .It Va pc-testdev Ta bool Ta false Ta Enable the PC debug/test device. +.It Va pcireg.* Ta integer Ta Ta +Values of PCI register. +It also accepts the value +.Ar host +to use the pci id of the host system. +This value is required for the Intel GOP driver to work properly. +.Bl -column "subvendor" "Default" +.It Sy Name Ta Sy Default +.It Va vendor Ta 0x8086 +.It Va device Ta 0x7000 +.It Va revid Ta 0 +.It Va subvendor Ta 0 +.It Va subdevice Ta 0 +.El .El .Ss NVMe Controller Settings Each NVMe controller supports a single storage device. diff --git a/usr.sbin/bhyve/pci_lpc.c b/usr.sbin/bhyve/pci_lpc.c index ad47230c005e..8213f32985ef 100644 --- a/usr.sbin/bhyve/pci_lpc.c +++ b/usr.sbin/bhyve/pci_lpc.c @@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include "pci_emul.h" #include "pci_irq.h" #include "pci_lpc.h" +#include "pci_passthru.h" #include "pctestdev.h" #include "uart_emul.h" @@ -448,10 +449,50 @@ pci_lpc_read(struct pci_devinst *pi __unused, int baridx __unused, #define LPC_DEV 0x7000 #define LPC_VENDOR 0x8086 +#define LPC_REVID 0x00 +#define LPC_SUBVEND_0 0x0000 +#define LPC_SUBDEV_0 0x0000 static int -pci_lpc_init(struct pci_devinst *pi, nvlist_t *nvl __unused) +pci_lpc_get_sel(struct pcisel *const sel) { + assert(sel != NULL); + + memset(sel, 0, sizeof(*sel)); + + for (uint8_t slot = 0; slot <= PCI_SLOTMAX; ++slot) { + uint8_t max_func = 0; + + sel->pc_dev = slot; + sel->pc_func = 0; + + if (read_config(sel, PCIR_HDRTYPE, 1) & PCIM_MFDEV) + max_func = PCI_FUNCMAX; + + for (uint8_t func = 0; func <= max_func; ++func) { + sel->pc_func = func; + + if ((read_config(sel, PCIR_CLASS, 1) == PCIC_BRIDGE) && + (read_config(sel, PCIR_SUBCLASS, 1) == + PCIS_BRIDGE_ISA)) { + return (0); + } + } + } + + warnx("%s: Unable to find host selector of LPC bridge.", __func__); + + return (-1); +} + +static int +pci_lpc_init(struct pci_devinst *pi, nvlist_t *nvl) +{ + struct pcisel sel = { 0 }; + struct pcisel *selp = NULL; + uint16_t device, subdevice, subvendor, vendor; + uint8_t revid; + /* * Do not allow more than one LPC bridge to be configured. */ @@ -473,11 +514,25 @@ pci_lpc_init(struct pci_devinst *pi, nvlist_t *nvl __unused) if (lpc_init(pi->pi_vmctx) != 0) return (-1); + if (pci_lpc_get_sel(&sel) == 0) + selp = &sel; + + vendor = pci_config_read_reg(selp, nvl, PCIR_VENDOR, 2, LPC_VENDOR); + device = pci_config_read_reg(selp, nvl, PCIR_DEVICE, 2, LPC_DEV); + revid = pci_config_read_reg(selp, nvl, PCIR_REVID, 1, LPC_REVID); + subvendor = pci_config_read_reg(selp, nvl, PCIR_SUBVEND_0, 2, + LPC_SUBVEND_0); + subdevice = pci_config_read_reg(selp, nvl, PCIR_SUBDEV_0, 2, + LPC_SUBDEV_0); + /* initialize config space */ - pci_set_cfgdata16(pi, PCIR_DEVICE, LPC_DEV); - pci_set_cfgdata16(pi, PCIR_VENDOR, LPC_VENDOR); + pci_set_cfgdata16(pi, PCIR_VENDOR, vendor); + pci_set_cfgdata16(pi, PCIR_DEVICE, device); pci_set_cfgdata8(pi, PCIR_CLASS, PCIC_BRIDGE); pci_set_cfgdata8(pi, PCIR_SUBCLASS, PCIS_BRIDGE_ISA); + pci_set_cfgdata8(pi, PCIR_REVID, revid); + pci_set_cfgdata16(pi, PCIR_SUBVEND_0, subvendor); + pci_set_cfgdata16(pi, PCIR_SUBDEV_0, subdevice); lpc_bridge = pi; From nobody Fri Apr 28 10:40:17 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q78JK5Gtkz48JxY; Fri, 28 Apr 2023 10:40: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 4Q78JK4N5gz3GRY; Fri, 28 Apr 2023 10:40:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W/Uu4jJ4n3o+QNUbu2mWTzUOTsUV5xls2Jz7VJ1+9S0=; b=H4vA3WwJawKBPfbL2jdGVW8pzZXhBrV/AdJKh6FC+9Vsc9tlK8UmEPvu7rdE7LGZxKwANi lAEQ8CQWDL/G3y0G2n42JfdGwwtfS9kdcfq/73bD5HBvYrS75F2gkAXptmy9q1HDB9B2gg Tn7j/WP176a94thJ7ujyw1PYysziRejpUv1bMJHy5nKuj98qwNSdHngEoHlD98pucVEkdr izHkBq43ASKdUXnk7zy0le1TMXPlB01dOgKLdp7KtL3eT1v4VLFI1m+jtOxfXAHKXor9yg 80oxx1DB9z28SbfkCAnNtbZGMLng//2iX/fc4fCabRsEQT6qS/20i43f5T+WcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W/Uu4jJ4n3o+QNUbu2mWTzUOTsUV5xls2Jz7VJ1+9S0=; b=PZjDMDiXgpOtylE1KV1ZW5itMhVSvrGRUe+kIdYxYGXIB0eTP2K/0u9L2p2lFNwO0e6pRc NAZC+7mIiLhANtpd27L+Tf7UJ8EbEzMqmUKyNirP3GViyNmWvRN2y254mu9AQ6+CnX0MlF CKVgCQtyOIn0mdJV8HjE+bkueCweAsTY1kEj4oTjpjrOraVzrloM6zac8oqlOUtlkTXlg+ 7jfZKPL3S49g902MKfOnRDz2yDLNTFCjZ0DLhW8n4IkSk5Jr1EibciCUqGzos+M95K1dr4 3FfD5U2fq4GD44ezjVcHRj90lThOJPeYXjMMz0dmbcbqMrc/Bp4M8yApEM4rxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682678417; a=rsa-sha256; cv=none; b=t9ZjPh4d5Gu3QgQ51xEmoY8DJdWYx9t81B3GcMQjFW5CZHS9hHMi2eshbW/i8rjmkB7IPL RB9EzsPSUmTOrccI+WKnnOkMgFXuDjjSEFJp7ZcrLuBAd/AG7OqXkLhWonDwQ0av0kukVU U259EwksLX6pQ7noTbt5Ys+7bwFfTEv8OtbU4Y3AXN7s2uDdMRvMy9RH18pArI9TbFwDjr nbAmc1NZVknHxOwERqBPCqRZyBo6WB0SQtxHGSZiMGpbC0G6etR7FiH+gFZLRpworq5fsw INgBouOk6QhQS1VRcC3EJxhE0/2gQ7bch2dxP32Zam7fi0nlhEs2ZxJOh6PJwQ== 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 4Q78JK2mF4zx1f; Fri, 28 Apr 2023 10:40: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 33SAeHwX092363; Fri, 28 Apr 2023 10:40:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SAeHEE092357; Fri, 28 Apr 2023 10:40:17 GMT (envelope-from git) Date: Fri, 28 Apr 2023 10:40:17 GMT Message-Id: <202304281040.33SAeHEE092357@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 3f7acfe0730c - stable/13 - bhyve: introduce acpi_device_emul struct List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3f7acfe0730cbe6ffa3550adc30ae4eaa1eaa2ac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=3f7acfe0730cbe6ffa3550adc30ae4eaa1eaa2ac commit 3f7acfe0730cbe6ffa3550adc30ae4eaa1eaa2ac Author: Corvin Köhne AuthorDate: 2022-07-22 08:00:10 +0000 Commit: Corvin Köhne CommitDate: 2023-04-28 07:28:32 +0000 bhyve: introduce acpi_device_emul struct It'll be easier to add new properties to the ACPI device emulation if we have a struct which holds all device specific properties. In some future commits the acpi_device_emul struct will be expanded to include some device specific functions to build ACPI tables. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39319 (cherry picked from commit acd0088c44f9ccaff571e041dc56d01fcc47d64b) --- usr.sbin/bhyve/acpi_device.c | 30 +++++++++++------------------- usr.sbin/bhyve/acpi_device.h | 14 +++++++++----- usr.sbin/bhyve/qemu_fwcfg.c | 7 ++++++- 3 files changed, 26 insertions(+), 25 deletions(-) diff --git a/usr.sbin/bhyve/acpi_device.c b/usr.sbin/bhyve/acpi_device.c index 047d411deec2..a1155ecb44b6 100644 --- a/usr.sbin/bhyve/acpi_device.c +++ b/usr.sbin/bhyve/acpi_device.c @@ -35,24 +35,23 @@ struct acpi_resource_list_entry { * Holds information about an ACPI device. * * @param vm_ctx VM context the ACPI device was created in. - * @param name Name of the ACPI device. - * @param hid Hardware ID of the ACPI device. + * @param emul Device emulation struct. It contains some information like the + name of the ACPI device and some device specific functions. * @param crs Current resources used by the ACPI device. */ struct acpi_device { struct vmctx *vm_ctx; - const char *name; - const char *hid; + const struct acpi_device_emul *emul; SLIST_HEAD(acpi_resource_list, acpi_resource_list_entry) crs; }; int acpi_device_create(struct acpi_device **const new_dev, - struct vmctx *const vm_ctx, const char *const name, const char *const hid) + struct vmctx *const vm_ctx, const struct acpi_device_emul *const emul) { - if (new_dev == NULL || vm_ctx == NULL || name == NULL || hid == NULL) { - return (EINVAL); - } + assert(new_dev != NULL); + assert(vm_ctx != NULL); + assert(emul != NULL); struct acpi_device *const dev = calloc(1, sizeof(*dev)); if (dev == NULL) { @@ -60,13 +59,8 @@ acpi_device_create(struct acpi_device **const new_dev, } dev->vm_ctx = vm_ctx; - dev->name = strdup(name); - dev->hid = strdup(hid); + dev->emul = emul; SLIST_INIT(&dev->crs); - if (dev->name == NULL || dev->hid == NULL) { - acpi_device_destroy(dev); - return (ENOMEM); - } const int error = acpi_tables_add_device(dev); if (error) { @@ -92,9 +86,7 @@ acpi_device_destroy(struct acpi_device *const dev) SLIST_REMOVE_HEAD(&dev->crs, chain); free(res); } - - free(__DECONST(void *, dev->hid)); - free(__DECONST(void *, dev->name)); + free(dev); } @@ -174,9 +166,9 @@ acpi_device_write_dsdt(const struct acpi_device *const dev) dsdt_line(""); dsdt_line(" Scope (\\_SB)"); dsdt_line(" {"); - dsdt_line(" Device (%s)", dev->name); + dsdt_line(" Device (%s)", dev->emul->name); dsdt_line(" {"); - dsdt_line(" Name (_HID, \"%s\")", dev->hid); + dsdt_line(" Name (_HID, \"%s\")", dev->emul->hid); dsdt_line(" Name (_STA, 0x0F)"); dsdt_line(" Name (_CRS, ResourceTemplate ()"); dsdt_line(" {"); diff --git a/usr.sbin/bhyve/acpi_device.h b/usr.sbin/bhyve/acpi_device.h index 49e55c7d4f14..45e36a8ae771 100644 --- a/usr.sbin/bhyve/acpi_device.h +++ b/usr.sbin/bhyve/acpi_device.h @@ -16,18 +16,22 @@ struct vmctx; struct acpi_device; +struct acpi_device_emul { + const char *name; + const char *hid; +}; + /** * Creates an ACPI device. * * @param[out] new_dev Returns the newly create ACPI device. * @param[in] vm_ctx VM context the ACPI device is created in. - * @param[in] name Name of the ACPI device. Should always be a NULL - * terminated string. - * @param[in] hid Hardware ID of the ACPI device. Should always be a NULL - * terminated string. + * @param[in] emul Device emulation struct. It contains some information + * like the name of the ACPI device and some device specific + * functions. */ int acpi_device_create(struct acpi_device **new_dev, struct vmctx *vm_ctx, - const char *name, const char *hid); + const struct acpi_device_emul *emul); void acpi_device_destroy(struct acpi_device *dev); int acpi_device_add_res_fixed_ioport(struct acpi_device *dev, UINT16 port, diff --git a/usr.sbin/bhyve/qemu_fwcfg.c b/usr.sbin/bhyve/qemu_fwcfg.c index a93b37027142..e35d63d09795 100644 --- a/usr.sbin/bhyve/qemu_fwcfg.c +++ b/usr.sbin/bhyve/qemu_fwcfg.c @@ -363,6 +363,11 @@ qemu_fwcfg_add_file(const uint8_t name[QEMU_FWCFG_MAX_NAME], return (0); } +static const struct acpi_device_emul qemu_fwcfg_acpi_device_emul = { + .name = QEMU_FWCFG_ACPI_DEVICE_NAME, + .hid = QEMU_FWCFG_ACPI_HARDWARE_ID, +}; + int qemu_fwcfg_init(struct vmctx *const ctx) { @@ -376,7 +381,7 @@ qemu_fwcfg_init(struct vmctx *const ctx) */ if (strcmp(lpc_fwcfg(), "qemu") == 0) { error = acpi_device_create(&fwcfg_sc.acpi_dev, ctx, - QEMU_FWCFG_ACPI_DEVICE_NAME, QEMU_FWCFG_ACPI_HARDWARE_ID); + &qemu_fwcfg_acpi_device_emul); if (error) { warnx("%s: failed to create ACPI device for QEMU FwCfg", __func__); From nobody Fri Apr 28 10:40:18 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q78JL563Tz48Jn3; Fri, 28 Apr 2023 10:40: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 4Q78JL4GwJz3Ggd; Fri, 28 Apr 2023 10:40:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+no0fGEZvhJNqjItTbtMCP5o5BQpQn8wMBlCWeACfA=; b=lXnMQNeh9Vpxf49ZcAjq2aoHzD6FNC1/x3+wghPVkjElNMCHwEb35nkska98StgvLNzxm4 +WIvpYp/eqka4dsqKz6o+AZrbzI58k6694JOh/5HenW4XF9D6g2p4pdJ8G7RKNUarIMfbE jgSfFRBpryNIuZUoClHKlROAEulXHle/T3npTAok+mhvsQnt5jVZ72oaEjjbxbrQi4iZFB QJ/J71BhenSj1RslNeP+b/3WSttvl+nnjPls/PnjdgqGNRiz6b3ighvEuc+G45AZ+NMQ+J 4ZSLyRDJrXVv+GS8+rQ5ugqLBymWDdLtbtAKhXT8gA1F5J9Eel2OJIn5Gma2mQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+no0fGEZvhJNqjItTbtMCP5o5BQpQn8wMBlCWeACfA=; b=fZx4LpDxvA8NlwezdqMPmAfAQISf/laNr5XL1xm80CeXy7P+l59rjWbJ7i7NiL6kBzM+QC YnVBhBn6BiJUzdqE4ztfvxSt20Q0xzNmOTGaSWYmPQH/wZs68upD+89/961Y2XeAx+Mhma bo8vmWcfOmR4/HQRLz0FTBlS4BqLnqXOXWDMu/ioqkrzJkDjkQ5EXAXWe5fID0aAUWFmyy l4mpTgCefA+LlBmgo3PCoo71wwDdK/H8eyvJEmwgiffsigULuzW09VMYN4SXAUtD6vibwj mKnsRMmKsV1PNVhRT5nec9OmMJ723j34QVqzlgFvzt8iQncX4BLh2yQ8TQB7CA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682678418; a=rsa-sha256; cv=none; b=CrlRmWeK48XlgrpzABSYUuly+ZM7R+XWFOgbwxe6JFT6yObFRd2QhAjyj5KnljRGzPrgVw aDRN6R6lX0XJ6J9EpDLd5/5IiY8DJAZFP4bzC/p9ebDNWma4wPNygD3/srTu4Cj/PDU6M1 0KJ7sO9tqzacLRas2oUguVBN7SA633ImvM1FK2Ad4SMptoq9uH0nJ7CjeWX9wDU4Lh8185 I0eOlMULcjEGYplgMDIyfaOiPHPLNA+25NAIE5Dw2BTHpp1UN3EHfaiVMmwM5FEw6jyk+9 Za8Fh0dJQmZaOlYrzgVq9bzxVvHpFn0MZPSiI6/AcA0IvORUaSvNx9HUz2zP0g== 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 4Q78JL3JVqzwLb; Fri, 28 Apr 2023 10:40: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 33SAeIJh092511; Fri, 28 Apr 2023 10:40:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SAeI5c092510; Fri, 28 Apr 2023 10:40:18 GMT (envelope-from git) Date: Fri, 28 Apr 2023 10:40:18 GMT Message-Id: <202304281040.33SAeI5c092510@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 76f744cf2d08 - stable/13 - bhyve: allow building device specific ACPI tables List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 76f744cf2d088a31ba4f9875f3f67d310ba29605 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=76f744cf2d088a31ba4f9875f3f67d310ba29605 commit 76f744cf2d088a31ba4f9875f3f67d310ba29605 Author: Corvin Köhne AuthorDate: 2022-07-22 08:09:01 +0000 Commit: Corvin Köhne CommitDate: 2023-04-28 07:28:33 +0000 bhyve: allow building device specific ACPI tables Some ACPI devices require a device specific acpi table. E.g. a TPM2 device requires a TPM2 table. Use the acpi_device_emul struct to define such a device specific table. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39320 (cherry picked from commit 0926566f6f9cc1dba0d7b5d7e0b45484dd901b20) --- usr.sbin/bhyve/acpi.c | 7 +++++++ usr.sbin/bhyve/acpi_device.c | 13 +++++++++++++ usr.sbin/bhyve/acpi_device.h | 11 +++++++++++ 3 files changed, 31 insertions(+) diff --git a/usr.sbin/bhyve/acpi.c b/usr.sbin/bhyve/acpi.c index 84a54cc485c5..2346df5fd314 100644 --- a/usr.sbin/bhyve/acpi.c +++ b/usr.sbin/bhyve/acpi.c @@ -810,6 +810,13 @@ acpi_build(struct vmctx *ctx, int ncpu) BASL_EXEC(build_mcfg(ctx)); BASL_EXEC(build_facs(ctx)); BASL_EXEC(build_spcr(ctx)); + + /* Build ACPI device-specific tables such as a TPM2 table. */ + const struct acpi_device_list_entry *entry; + SLIST_FOREACH(entry, &acpi_devices, chain) { + BASL_EXEC(acpi_device_build_table(entry->dev)); + } + BASL_EXEC(build_dsdt(ctx)); BASL_EXEC(basl_finish()); diff --git a/usr.sbin/bhyve/acpi_device.c b/usr.sbin/bhyve/acpi_device.c index a1155ecb44b6..b183da3055b1 100644 --- a/usr.sbin/bhyve/acpi_device.c +++ b/usr.sbin/bhyve/acpi_device.c @@ -135,6 +135,19 @@ acpi_device_add_res_fixed_memory32(struct acpi_device *const dev, return (0); } +int +acpi_device_build_table(const struct acpi_device *const dev) +{ + assert(dev != NULL); + assert(dev->emul != NULL); + + if (dev->emul->build_table != NULL) { + return (dev->emul->build_table(dev)); + } + + return (0); +} + static void acpi_device_write_dsdt_crs(const struct acpi_device *const dev) { diff --git a/usr.sbin/bhyve/acpi_device.h b/usr.sbin/bhyve/acpi_device.h index 45e36a8ae771..0306f19f47f0 100644 --- a/usr.sbin/bhyve/acpi_device.h +++ b/usr.sbin/bhyve/acpi_device.h @@ -16,9 +16,19 @@ struct vmctx; struct acpi_device; +/** + * Device specific information and emulation. + * + * @param name Used as device name in the DSDT. + * @param hid Used as _HID in the DSDT. + * @param build_table Called to build a device specific ACPI table like the TPM2 + * table. + */ struct acpi_device_emul { const char *name; const char *hid; + + int (*build_table)(const struct acpi_device *dev); }; /** @@ -39,4 +49,5 @@ int acpi_device_add_res_fixed_ioport(struct acpi_device *dev, UINT16 port, int acpi_device_add_res_fixed_memory32(struct acpi_device *dev, UINT8 write_protected, UINT32 address, UINT32 length); +int acpi_device_build_table(const struct acpi_device *dev); void acpi_device_write_dsdt(const struct acpi_device *dev); From nobody Fri Apr 28 10:40:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q78JM64KLz48Jn6; Fri, 28 Apr 2023 10:40: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 4Q78JM58qWz3Gx3; Fri, 28 Apr 2023 10:40:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678419; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cVEbkyueP7AfoE3ouVDYLFEugOfZ3MSWwPQRwinedCw=; b=bgbToXutWQORVDaeouqU6ZBQWoRs93hL7ZEdkXZ2GP+FU9srcsSGtppv1WQ4T3CAVchY0c WlS6MPJ79DZxXV33YuXYisOYukjTJVVsXMMA2VkDNCtdRBwwpiL7y89uRwDCwJCVSbOvB2 Cs0V47K1zzEexEGEIIMZEAjQeUdYhzvk3N1/RSSgFYDS3r57u+fbuXas3I4hB5kvjfn7kY wOT7Y1qU7MmSTIxhl1LeauMzKW1zWi/oKad4S0yi+SnBXuJ3HdKKxAg71LNudKA7WKY3ib dUiPAYJ9aJQ+rG9bWlWdSZq+3hVvVQvLujqP+yTn53tP/6WK65BMWgFxcLnKSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678419; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cVEbkyueP7AfoE3ouVDYLFEugOfZ3MSWwPQRwinedCw=; b=d8yYTutNNa+4u+FhPHm4e2286dhMoLwMqz6NfMHAHIshl/NEymScYuodzH85tT+l0kP8UY FpILfEAGPYhuuRpVqSSDRhVIxILwe6NI0Bwah9tyQtVKF+ikcMakVP4OZVz57kN9dPR54s Onsa2Lr1q1oRDkBkqQM7L9zFkby70qu8lRj4qyp1gNAzKXRspH3bI2z7BHDIyJ0pnpt4Zz 5IvVtVZNpYBE32ZjUirhK6q1dwN5ueGbzwpcW+Ed3DPnId/49ptIKJ6lKn2cQU1HIYjiyK sMrFYmDG6/p+4LXyyq6oSzWebta5YYichk188Y8TNBMAPmrSVhGOm05AfBzI+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682678419; a=rsa-sha256; cv=none; b=f2HZN++NWqcZ4jYmQ3Dg7KAWoQZbPthjnopJiqNnsrXz86Io+iedQ2p8JVP9bTl2XcmKOf R7RFjHJPeTg6G+/dqkskOYTs7t/uL4qlWmSnrOBkELnQQcR+ZAgrPb0snR+Dt6Gtwq/pSQ 2cZlkiNdX/yAVNvoF2ggV9lHP4CItPdGsyJ38LMEf18Dwv68TxMiBkgekMupmUwnLtNxFP O5bglLUptdPKSVMd4ErQR8S1ZuPn+QbXAoU9u48wkdMg3tjWj9uSwtjFdVH1CNaktk//pV a+4Iu8UWVFr9GvX3MxsE3l8xQ7HB9h/vJGj78fo4cWzZV5oZNMDbO0JzYZ2D9g== 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 4Q78JM4G2JzwgT; Fri, 28 Apr 2023 10:40: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 33SAeJh7092535; Fri, 28 Apr 2023 10:40:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SAeJ9Q092534; Fri, 28 Apr 2023 10:40:19 GMT (envelope-from git) Date: Fri, 28 Apr 2023 10:40:19 GMT Message-Id: <202304281040.33SAeJ9Q092534@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: fbf9519ab923 - stable/13 - bhyve: check for errors when writing device specific DSDT entries List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fbf9519ab923313c25ddb766bd0f5d936a3488b2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=fbf9519ab923313c25ddb766bd0f5d936a3488b2 commit fbf9519ab923313c25ddb766bd0f5d936a3488b2 Author: Corvin Köhne AuthorDate: 2023-04-05 06:45:22 +0000 Commit: Corvin Köhne CommitDate: 2023-04-28 07:28:33 +0000 bhyve: check for errors when writing device specific DSDT entries At the moment, this function can't fail. This behaviour will change in the future. In preparation to that, convert the return type to int in order to be able to check for errors. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39422 (cherry picked from commit ab34ea4711b1001c416dc286380e54c118ff0c49) --- usr.sbin/bhyve/acpi.c | 2 +- usr.sbin/bhyve/acpi_device.c | 15 +++++++++------ usr.sbin/bhyve/acpi_device.h | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bhyve/acpi.c b/usr.sbin/bhyve/acpi.c index 2346df5fd314..457575e395d8 100644 --- a/usr.sbin/bhyve/acpi.c +++ b/usr.sbin/bhyve/acpi.c @@ -245,7 +245,7 @@ basl_fwrite_dsdt(FILE *fp) const struct acpi_device_list_entry *entry; SLIST_FOREACH(entry, &acpi_devices, chain) { - acpi_device_write_dsdt(entry->dev); + BASL_EXEC(acpi_device_write_dsdt(entry->dev)); } dsdt_line("}"); diff --git a/usr.sbin/bhyve/acpi_device.c b/usr.sbin/bhyve/acpi_device.c index b183da3055b1..dffb73ba9023 100644 --- a/usr.sbin/bhyve/acpi_device.c +++ b/usr.sbin/bhyve/acpi_device.c @@ -17,6 +17,7 @@ #include "acpi.h" #include "acpi_device.h" +#include "basl.h" /** * List entry to enumerate all resources used by an ACPI device. @@ -148,7 +149,7 @@ acpi_device_build_table(const struct acpi_device *const dev) return (0); } -static void +static int acpi_device_write_dsdt_crs(const struct acpi_device *const dev) { const struct acpi_resource_list_entry *res; @@ -167,14 +168,14 @@ acpi_device_write_dsdt_crs(const struct acpi_device *const dev) break; } } + + return (0); } -void +int acpi_device_write_dsdt(const struct acpi_device *const dev) { - if (dev == NULL) { - return; - } + assert(dev != NULL); dsdt_line(""); dsdt_line(" Scope (\\_SB)"); @@ -186,9 +187,11 @@ acpi_device_write_dsdt(const struct acpi_device *const dev) dsdt_line(" Name (_CRS, ResourceTemplate ()"); dsdt_line(" {"); dsdt_indent(4); - acpi_device_write_dsdt_crs(dev); + BASL_EXEC(acpi_device_write_dsdt_crs(dev)); dsdt_unindent(4); dsdt_line(" })"); dsdt_line(" }"); dsdt_line(" }"); + + return (0); } diff --git a/usr.sbin/bhyve/acpi_device.h b/usr.sbin/bhyve/acpi_device.h index 0306f19f47f0..de72ce1e5370 100644 --- a/usr.sbin/bhyve/acpi_device.h +++ b/usr.sbin/bhyve/acpi_device.h @@ -50,4 +50,4 @@ int acpi_device_add_res_fixed_memory32(struct acpi_device *dev, UINT8 write_protected, UINT32 address, UINT32 length); int acpi_device_build_table(const struct acpi_device *dev); -void acpi_device_write_dsdt(const struct acpi_device *dev); +int acpi_device_write_dsdt(const struct acpi_device *dev); From nobody Fri Apr 28 10:40:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q78JP0Cwdz48JsL; Fri, 28 Apr 2023 10:40: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 4Q78JN6FRkz3Grp; Fri, 28 Apr 2023 10:40:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2xydxxdSTfhP66M6P5zwELw9uFDiznQTz0G4QFOtknU=; b=S8zM5jL15sL0Rt0p114VjWt6HEWBIT7/hpf6Yobd+ydjRWfkgkmcbmTUoOIfBojjJM7O81 MaESE4KMgOn35OwHUMJ42gqDb57f8w593zCrxC9HfHADEx9wJmS/f+Kt4NFTb8CF5viaOP sKZLrA+nSR6jYb/qi0F+/s91GFlz7Q+qKizmlSSQ/JTUJnipy0vhQCeU80w6Mnt63Yrq0G 0efs9AyrOGbaqTGMLZfyOAKBPIpqhnmivwSd9H8ysJueuahIVP6istvEDPIt/E84eZcZch IRan938xx3NB2t0uWPzPZvRze55Eo1HZE1My61z8Kk96GkCTNm7d60hIQ0WeUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2xydxxdSTfhP66M6P5zwELw9uFDiznQTz0G4QFOtknU=; b=cdxCLiOWPJsoDUYFc8fyXMu/ukHv5i14dnGU4afts7O1QCVFIvs3THOb2huG+P7P484l/o s4rYjaaxRIVAOj+EuBYvMgBWZqfOPxfkcLTgCp3KO4G9UUC2jKymy7o9St9s+WobQRdUiA P9fDDa6zQ8CunqFQPTtHS1njL0lhq9gfnkqaEg6cQyWfUSnOMoVzO3o43M2ZQsbbBN7TFA UNpGEMqSJaWt4zwXQ/2+WwPhkPX+cweS97a1fRLx96fpfrE7RKonbGE/kMrl/W+gppIobc 4bhdxnGaOKQr0sb7NLndf2SJMwSlX7jKAiaidaz9DSOy2w+C8CcVRAga9IHwCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682678420; a=rsa-sha256; cv=none; b=QoZ3gEfOwp+6qilUd+5eNi17ZjWN/OttoyaO1ROiNWNDncqU+kgySzMuUjFgochDd1KnJz DFfi59MBYxpP4Vxj0DMD47wVQM0qzRr/MVmEE/3m7aF84RiL09jwm4o2E4GbEJRE1XSx7U JxEMQ7QCB1UsIJbqF3iai3xVvBs2NPjAr3Jvg5VmaWq6hxQLBG/b2O448ZLj27OM2QOEhz ZTAS/VkuySP6ZCp2EQfBluy4WJR/PlIXpFo+9kXP2oGKfslRxMgIh4I1u+LWWqR8LLe/c9 09+M1ckzJtB8p7nM7TdQR/geavUoSbvKgkRyuTBnUiqCLICZ44/iNGjf561nyA== 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 4Q78JN57VHzwgV; Fri, 28 Apr 2023 10:40: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 33SAeKIC092559; Fri, 28 Apr 2023 10:40:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SAeKHQ092558; Fri, 28 Apr 2023 10:40:20 GMT (envelope-from git) Date: Fri, 28 Apr 2023 10:40:20 GMT Message-Id: <202304281040.33SAeKHQ092558@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 1c7053169d9d - stable/13 - bhyve: allow device specific DSDT entries List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1c7053169d9d35b419b4d9ba6116bca83ecd4a68 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=1c7053169d9d35b419b4d9ba6116bca83ecd4a68 commit 1c7053169d9d35b419b4d9ba6116bca83ecd4a68 Author: Corvin Köhne AuthorDate: 2022-07-22 08:11:14 +0000 Commit: Corvin Köhne CommitDate: 2023-04-28 07:28:34 +0000 bhyve: allow device specific DSDT entries This feature will be used by future commits to implement a device specific method (_DSM) for TPM devices. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39321 (cherry picked from commit e976464a50aceebf97fb3cc6b94058111fc40de1) --- usr.sbin/bhyve/acpi_device.c | 5 +++++ usr.sbin/bhyve/acpi_device.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/usr.sbin/bhyve/acpi_device.c b/usr.sbin/bhyve/acpi_device.c index dffb73ba9023..51603e138fba 100644 --- a/usr.sbin/bhyve/acpi_device.c +++ b/usr.sbin/bhyve/acpi_device.c @@ -190,6 +190,11 @@ acpi_device_write_dsdt(const struct acpi_device *const dev) BASL_EXEC(acpi_device_write_dsdt_crs(dev)); dsdt_unindent(4); dsdt_line(" })"); + if (dev->emul->write_dsdt != NULL) { + dsdt_indent(3); + BASL_EXEC(dev->emul->write_dsdt(dev)); + dsdt_unindent(3); + } dsdt_line(" }"); dsdt_line(" }"); diff --git a/usr.sbin/bhyve/acpi_device.h b/usr.sbin/bhyve/acpi_device.h index de72ce1e5370..4d734b422ec5 100644 --- a/usr.sbin/bhyve/acpi_device.h +++ b/usr.sbin/bhyve/acpi_device.h @@ -23,12 +23,15 @@ struct acpi_device; * @param hid Used as _HID in the DSDT. * @param build_table Called to build a device specific ACPI table like the TPM2 * table. + * @param write_dsdt Called to append the DSDT with device specific + * information. */ struct acpi_device_emul { const char *name; const char *hid; int (*build_table)(const struct acpi_device *dev); + int (*write_dsdt)(const struct acpi_device *dev); }; /** From nobody Fri Apr 28 10:40:21 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q78JQ0GTvz48Jgx; Fri, 28 Apr 2023 10:40: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 4Q78JP6y0vz3H5s; Fri, 28 Apr 2023 10:40:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sXDT36Higimq79f96l860tF1Em+OxppOIgD8EK85kGA=; b=wNRVAIQDb8oG5GNLok9A9a+u1QncUmXt70E9R6XloOwrFdFErlBrAfmGIPEY7qWMEG/a1Y 62yIyyzvSPQkIopCfdYdveYQeT1RndatIuDsBFFYIT4aJROWG/0QmU91ObOqcQdt63fobl KmQ6d3Du1og/u/SFuDtaK0/AvxWkGlgbauCKe68mjlm/OvCujZXEcclj3apTMuoxtHNDYR xmESpb6ccydRb3Ns09PW8BI4V8aTyr8V2Eql/taYQUaa+dbKn6o3Sy26F6kksyEll8nmFT 7/w/EwS8CGKCKhZmNGgqf1Wq5JLpXXgoEpqM2zF3cI7CThgvLm/HxCh1Zr3cDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sXDT36Higimq79f96l860tF1Em+OxppOIgD8EK85kGA=; b=aqLg08Ng4/08t5wFKDl/+ee1Sr+axfmWbmR9VFV3pTfgHphHbNEpXvMDVowIrwft27jLIC Fn2aICxzegFYm4UNTnt9yQPaXZsx9KJ1iDrWPcFgfIO9KKobu4UkvOT1W5XM0c/zrBmOyx OckFSXJBUEPKNjsn5AZR+fnpIykwMDUhev4LBqGthy167dJhGloGLZtxscPSzXAZKUrVMT g90AW0DWjTT9XY1ZrWUTwsBsg+MQExy6IsQd7RE4yOGFaOtDStE32exJo3qwYVFn57w+Nz 8xrB8+xDeYKDzZnjV/4ls90oqibUeN+0QnKj+nkmM2pd4EIZLJqi0q0dZiSeEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682678422; a=rsa-sha256; cv=none; b=HRp5lBLRX+YRGkTDajoP8Vao5j5t1+wHrAkDLtnbtZrR+cyoil5lx+WFFs2HrRHzEUp6qI gUIZzr90qjEK+ITaSJvdRNrZpfEQsYM3l11N3DOF72XmFzrDD+ZW7EJdjsutIbwMklnlPX 6MhWXORIS/F/xx2NbLBSctzxg/2P0EIZBa+uJcnwoCDARDT87JyrgkU5LeRiCe6oZtyhoW paolcYpT42a1WuXR67gp0b0TvdKJLwfCJE7PegB11iIQorvvTWAW7t+Pwe2W+L1y1RM11J r+QIPb/jmxVJ+EKCqpFTjTx04L7uMGuXczgZTepkw0s+5yAaVMgYuJ1AvK2hIg== 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 4Q78JP5rTZzwp7; Fri, 28 Apr 2023 10:40: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 33SAeL9l092583; Fri, 28 Apr 2023 10:40:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SAeLJP092582; Fri, 28 Apr 2023 10:40:21 GMT (envelope-from git) Date: Fri, 28 Apr 2023 10:40:21 GMT Message-Id: <202304281040.33SAeLJP092582@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 9c8a0c311a96 - stable/13 - bhyve: save softc of ACPI devices List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9c8a0c311a961d0a4026ba1d817fcdd3a5e1c929 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=9c8a0c311a961d0a4026ba1d817fcdd3a5e1c929 commit 9c8a0c311a961d0a4026ba1d817fcdd3a5e1c929 Author: Corvin Köhne AuthorDate: 2022-07-22 08:15:28 +0000 Commit: Corvin Köhne CommitDate: 2023-04-28 07:28:34 +0000 bhyve: save softc of ACPI devices This will be useful for writing device specific ACPI tables or DSDT methods. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39322 (cherry picked from commit 158adced65f844682d26e1e64f247de94212f135) --- usr.sbin/bhyve/acpi_device.c | 13 ++++++++++++- usr.sbin/bhyve/acpi_device.h | 7 +++++-- usr.sbin/bhyve/qemu_fwcfg.c | 2 +- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/usr.sbin/bhyve/acpi_device.c b/usr.sbin/bhyve/acpi_device.c index 51603e138fba..e37fc50b8c91 100644 --- a/usr.sbin/bhyve/acpi_device.c +++ b/usr.sbin/bhyve/acpi_device.c @@ -36,18 +36,20 @@ struct acpi_resource_list_entry { * Holds information about an ACPI device. * * @param vm_ctx VM context the ACPI device was created in. + * @param softc A pointer to the software context of the ACPI device. * @param emul Device emulation struct. It contains some information like the name of the ACPI device and some device specific functions. * @param crs Current resources used by the ACPI device. */ struct acpi_device { struct vmctx *vm_ctx; + void *softc; const struct acpi_device_emul *emul; SLIST_HEAD(acpi_resource_list, acpi_resource_list_entry) crs; }; int -acpi_device_create(struct acpi_device **const new_dev, +acpi_device_create(struct acpi_device **const new_dev, void *const softc, struct vmctx *const vm_ctx, const struct acpi_device_emul *const emul) { assert(new_dev != NULL); @@ -60,6 +62,7 @@ acpi_device_create(struct acpi_device **const new_dev, } dev->vm_ctx = vm_ctx; + dev->softc = softc; dev->emul = emul; SLIST_INIT(&dev->crs); @@ -136,6 +139,14 @@ acpi_device_add_res_fixed_memory32(struct acpi_device *const dev, return (0); } +void * +acpi_device_get_softc(const struct acpi_device *const dev) +{ + assert(dev != NULL); + + return (dev->softc); +} + int acpi_device_build_table(const struct acpi_device *const dev) { diff --git a/usr.sbin/bhyve/acpi_device.h b/usr.sbin/bhyve/acpi_device.h index 4d734b422ec5..32e299f2da86 100644 --- a/usr.sbin/bhyve/acpi_device.h +++ b/usr.sbin/bhyve/acpi_device.h @@ -38,13 +38,14 @@ struct acpi_device_emul { * Creates an ACPI device. * * @param[out] new_dev Returns the newly create ACPI device. + * @param[in] softc Pointer to the software context of the ACPI device. * @param[in] vm_ctx VM context the ACPI device is created in. * @param[in] emul Device emulation struct. It contains some information * like the name of the ACPI device and some device specific * functions. */ -int acpi_device_create(struct acpi_device **new_dev, struct vmctx *vm_ctx, - const struct acpi_device_emul *emul); +int acpi_device_create(struct acpi_device **new_dev, void *softc, + struct vmctx *vm_ctx, const struct acpi_device_emul *emul); void acpi_device_destroy(struct acpi_device *dev); int acpi_device_add_res_fixed_ioport(struct acpi_device *dev, UINT16 port, @@ -52,5 +53,7 @@ int acpi_device_add_res_fixed_ioport(struct acpi_device *dev, UINT16 port, int acpi_device_add_res_fixed_memory32(struct acpi_device *dev, UINT8 write_protected, UINT32 address, UINT32 length); +void *acpi_device_get_softc(const struct acpi_device *dev); + int acpi_device_build_table(const struct acpi_device *dev); int acpi_device_write_dsdt(const struct acpi_device *dev); diff --git a/usr.sbin/bhyve/qemu_fwcfg.c b/usr.sbin/bhyve/qemu_fwcfg.c index e35d63d09795..e76ff3620586 100644 --- a/usr.sbin/bhyve/qemu_fwcfg.c +++ b/usr.sbin/bhyve/qemu_fwcfg.c @@ -380,7 +380,7 @@ qemu_fwcfg_init(struct vmctx *const ctx) * tables and register io ports for fwcfg, if it's used. */ if (strcmp(lpc_fwcfg(), "qemu") == 0) { - error = acpi_device_create(&fwcfg_sc.acpi_dev, ctx, + error = acpi_device_create(&fwcfg_sc.acpi_dev, &fwcfg_sc, ctx, &qemu_fwcfg_acpi_device_emul); if (error) { warnx("%s: failed to create ACPI device for QEMU FwCfg", From nobody Fri Apr 28 10:40:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q78JR0mC6z48JvN; Fri, 28 Apr 2023 10:40: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 4Q78JR0Dydz3H8d; Fri, 28 Apr 2023 10:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yxhPHWpPT5H+dXzS8ELHL2iYaRdFf/kZ9rwrE/Wz+D0=; b=FnFQdk889CVFj3c+jd+KpFrczhpkrDI5tLdwVI2R+nYCP6wyB3pzxmPkkyvxtRezpDFIF+ kV1P/cTk2udPeSZxSJ1CJ22JaJKQJyPKptUjEubBV1SpiJyZCplDqcg7XGbBPELHuvJXuG NkIiaQdfpSwyVOJf9A3LwFp+7rYvSORzZcvoNbgY2IseJnOs940xDAVy2fhcXFMDl02ZNn 8EMACTobMa5rCAN1ul10cGbQpoMg6LAnGlwVoPSB4FnFdK2gixg30uoSTVOW54U9zUJnhV loCGMYaBwlKnyi3waISdhiQ0tE/9SZaDvx/AhBxE1+39teOSKPdg/3eIOD/tSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yxhPHWpPT5H+dXzS8ELHL2iYaRdFf/kZ9rwrE/Wz+D0=; b=mp/yI+OnP+/YsepZCRV1lsevSgluRz6QGG0nG+RKSD3JSKFYQUprBy9tyHqZS2xt3Cxlg3 3MocvfnCAupCLsd8bdvBcXma5xuXnQz1djixIiw+5pNWIUb273LpjvvP1jbyoBWp5GRPHJ LstcE86KMVWAxXGXQkbXsjGvQ7jU1AWDb9faqT75FdB61WpBgsEWjbrEQluuDS+DjnX1gN bnuUOyDPiik7fEZYYR0GXfz08ohfNGNRwYz1uH3BNHYvcPXBLAYTRR+WDtKKpgIRE/fWzR nJ7Iudqf1f6fa2grVtIFIyC/J4hyAueTyeJu7hDKso8Yjp0oT5xHXL08mNGrsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682678423; a=rsa-sha256; cv=none; b=gQfrcCXfGNZjpdRjxbSx21jacIBSpbl/NvRT+ajhirvmla5B06d5LuHQi9kbxQwsdd7KVk eEUHv7laDydwVGXzIb7tci4kNdp8v5c7DhgSDsAzVJ9zzHflE31R8ukYlsyLGyqiBn9IGJ jpp0hbjju728Ly+KfOGsXc+Fe9BQO+5o+dVktuDSqD9MbgalwvCd1BZc7xJu15Y7H2KARj 06oHJZyENJGeJfTVFynDbvRzIaMd3UebTM4B9E9w15PqSE9TyWrCCXRSjuwb62ZTCDc/6g hYhUUnccxVqyIvyft/vQmpn+EcjgEInJYop/O/qo16/JeBMUognC0y2nNMPANQ== 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 4Q78JQ6D9Bzwrf; Fri, 28 Apr 2023 10:40: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 33SAeMZv092607; Fri, 28 Apr 2023 10:40:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SAeM15092606; Fri, 28 Apr 2023 10:40:22 GMT (envelope-from git) Date: Fri, 28 Apr 2023 10:40:22 GMT Message-Id: <202304281040.33SAeM15092606@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 847adbb116fb - stable/13 - bhyve: define array to protect passthru regs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 847adbb116fbc1de0c44ff57ab3b2a843c5f3c94 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=847adbb116fbc1de0c44ff57ab3b2a843c5f3c94 commit 847adbb116fbc1de0c44ff57ab3b2a843c5f3c94 Author: Corvin Köhne AuthorDate: 2021-03-19 12:48:34 +0000 Commit: Corvin Köhne CommitDate: 2023-04-28 07:28:34 +0000 bhyve: define array to protect passthru regs GPU passthrough requires a special handling of some PCI config register. Therefore, we need a flexible approach for implementing it. Adding an array of handler meets this condition. Start by using the default handler for all accesses to the PCI config space. In upcoming commits, we can start to split the default handler into several handler for each register that requires emulation. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39291 (cherry picked from commit 931bb7bf1c8f90f3303b5291e4868c587f9364e7) --- usr.sbin/bhyve/pci_passthru.c | 57 +++++++++++++++++++++++++++++++++++++------ usr.sbin/bhyve/pci_passthru.h | 9 +++++++ 2 files changed, 58 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index f42bbbda655f..79068ad9b6da 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -93,6 +93,9 @@ struct passthru_softc { int capoff; } psc_msix; struct pcisel psc_sel; + + cfgread_handler psc_pcir_rhandler[PCI_REGMAX + 1]; + cfgwrite_handler psc_pcir_whandler[PCI_REGMAX + 1]; }; static int @@ -643,6 +646,23 @@ done: return (error); } +int +set_pcir_handler(struct passthru_softc *sc, int reg, int len, + cfgread_handler rhandler, cfgwrite_handler whandler) +{ + if (reg > PCI_REGMAX || reg + len > PCI_REGMAX + 1) + return (-1); + + for (int i = reg; i < reg + len; ++i) { + assert(sc->psc_pcir_rhandler[i] == NULL || rhandler == NULL); + assert(sc->psc_pcir_whandler[i] == NULL || whandler == NULL); + sc->psc_pcir_rhandler[i] = rhandler; + sc->psc_pcir_whandler[i] = whandler; + } + + return (0); +} + static int passthru_legacy_config(nvlist_t *nvl, const char *opts) { @@ -902,12 +922,9 @@ msixcap_access(struct passthru_softc *sc, int coff) } static int -passthru_cfgread(struct pci_devinst *pi, int coff, int bytes, uint32_t *rv) +passthru_cfgread_default(struct passthru_softc *sc, + struct pci_devinst *pi __unused, int coff, int bytes, uint32_t *rv) { - struct passthru_softc *sc; - - sc = pi->pi_arg; - /* * PCI BARs and MSI capability is emulated. */ @@ -946,14 +963,25 @@ passthru_cfgread(struct pci_devinst *pi, int coff, int bytes, uint32_t *rv) } static int -passthru_cfgwrite(struct pci_devinst *pi, int coff, int bytes, uint32_t val) +passthru_cfgread(struct pci_devinst *pi, int coff, int bytes, uint32_t *rv) { - int error, msix_table_entries, i; struct passthru_softc *sc; - uint16_t cmd_old; sc = pi->pi_arg; + if (sc->psc_pcir_rhandler[coff] != NULL) + return (sc->psc_pcir_rhandler[coff](sc, pi, coff, bytes, rv)); + + return (passthru_cfgread_default(sc, pi, coff, bytes, rv)); +} + +static int +passthru_cfgwrite_default(struct passthru_softc *sc, struct pci_devinst *pi, + int coff, int bytes, uint32_t val) +{ + int error, msix_table_entries, i; + uint16_t cmd_old; + /* * PCI BARs are emulated */ @@ -1026,6 +1054,19 @@ passthru_cfgwrite(struct pci_devinst *pi, int coff, int bytes, uint32_t val) return (0); } +static int +passthru_cfgwrite(struct pci_devinst *pi, int coff, int bytes, uint32_t val) +{ + struct passthru_softc *sc; + + sc = pi->pi_arg; + + if (sc->psc_pcir_whandler[coff] != NULL) + return (sc->psc_pcir_whandler[coff](sc, pi, coff, bytes, val)); + + return (passthru_cfgwrite_default(sc, pi, coff, bytes, val)); +} + static void passthru_write(struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) diff --git a/usr.sbin/bhyve/pci_passthru.h b/usr.sbin/bhyve/pci_passthru.h index bdc8dc3cd0e2..f6ce2d4b85ab 100644 --- a/usr.sbin/bhyve/pci_passthru.h +++ b/usr.sbin/bhyve/pci_passthru.h @@ -11,5 +11,14 @@ #include "pci_emul.h" +struct passthru_softc; + +typedef int (*cfgread_handler)(struct passthru_softc *sc, + struct pci_devinst *pi, int coff, int bytes, uint32_t *rv); +typedef int (*cfgwrite_handler)(struct passthru_softc *sc, + struct pci_devinst *pi, int coff, int bytes, uint32_t val); + uint32_t read_config(const struct pcisel *sel, long reg, int width); void write_config(const struct pcisel *sel, long reg, int width, uint32_t data); +int set_pcir_handler(struct passthru_softc *sc, int reg, int len, + cfgread_handler rhandler, cfgwrite_handler whandler); From nobody Fri Apr 28 10:40:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q78JS2Fh1z48JvQ; Fri, 28 Apr 2023 10:40: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 4Q78JS1Y2Jz3HF7; Fri, 28 Apr 2023 10:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FTss0UYWKma8Gaxrt5W8VgWbf1W7v05cjnJYCttJh08=; b=pEPK3o2XhO/9t10ZJT9ttRVemxas16k3KWC5AclPs4ipToL44R5jm6S3Rk2o7M5GTpwBpU uwvh8vPcK8SL19IumL+vc7bxtEfrE0Y3ptkAtHyylQMF9yacov1DwP8Vk+CeiSBKbj+FJH nEPtTjaaI75K27rksiwEJCbks7wGtWIR5uqrtOw7Gog22iRXQ0fmgEcmXKlbqB54udHB/0 lggvBxcvGvsmnr1m1x3z+vyPp1qq09zktcrtRmXb16eUrCgKtNrlKq6YI69/rtt8OVr1Vb 0p2G5NaEJGUi7tcLR33WQBEpb9HJS7Cm2BXRjm7f0BqNHDDz6e3uS5OtWmzPPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FTss0UYWKma8Gaxrt5W8VgWbf1W7v05cjnJYCttJh08=; b=S/L412VOt9vVrMIWXO0yf4rvNtRGvIJG5420Kvi7Uznf6WIyMie6VdxstPHJXq6H/ATQsV xfndfcY3tDYMOSxLl8PR6M6BQtNbmBvmna10rubZhLsWQohUkxPM9kFpE028QpdjPsQj1Z osMwVTBeF8TVDCo3rzOogmcCbWyRy/ziUDtVrrgKakfX8qZNfOxsuHpUTTbOgG2lN9FNQ/ MKRwtABeQwPm7xWcrhXTfZsjeE8UDPTB4dRcPOjfO9zD88s54jkwfxvT2b0V+ike9LBuIl QHWCr0oGBZ5bAesruFRTvjD3vY0Mbu3tXj2LzDfq7uC4YAWFtgov8JGh78831g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682678424; a=rsa-sha256; cv=none; b=U0+F1R7AfzXARiEa4GKCZL86FMDR7aXFSDEb3hTCscAo0n90zstGehUYhK4NsIKPzj3tNR V/nvxO8VGklM6dz5u/KdWNbgOlfLDWS3mwNqDbSREgMwzrREf5gDJb7eiLfgBQipQ7OZAc ErMIflsocLziN1QlRig6TW6jEUjJN8xBpERyq8ZyQNHCTfJXkRvHooLi6JKQQHXWFhqIyC 8iC7hOfY020j0TlWBXLfbr0nvYOIs6Voaex/f+ms0/GCt8bbxOmlxlBGvjeaoTdtjZCphP B4mwo/GbCpKmkzYGVJlI/1JwSc4cVWGoBYibL3FJnAZvjZPaqMZ+FwIJqrYW8Q== 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 4Q78JS0Hl0zwLc; Fri, 28 Apr 2023 10:40: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 33SAeNj9092631; Fri, 28 Apr 2023 10:40:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SAeNuj092630; Fri, 28 Apr 2023 10:40:23 GMT (envelope-from git) Date: Fri, 28 Apr 2023 10:40:23 GMT Message-Id: <202304281040.33SAeNuj092630@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 0ad27bd40b35 - stable/13 - bhyve: add hook for PCI header of passthru devices List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0ad27bd40b351403a6fd0b58eafa98a43407cc83 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=0ad27bd40b351403a6fd0b58eafa98a43407cc83 commit 0ad27bd40b351403a6fd0b58eafa98a43407cc83 Author: Corvin Köhne AuthorDate: 2021-09-07 11:42:25 +0000 Commit: Corvin Köhne CommitDate: 2023-04-28 07:28:34 +0000 bhyve: add hook for PCI header of passthru devices Most register of the PCI header are either constant values or require emulation anyway. The command and status register are the only exception which require hardware access. So, we're adding an emulation handler for all other register. As this emulation handler will be reused by some future features like GPU passthrough, we directly export it. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D33010 (cherry picked from commit b6e67875a3e5bc706fe37565e464c61fe7833846) --- usr.sbin/bhyve/pci_passthru.c | 71 +++++++++++++++++++++++++------------------ usr.sbin/bhyve/pci_passthru.h | 4 +++ 2 files changed, 45 insertions(+), 30 deletions(-) diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index 79068ad9b6da..b214021998d2 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -603,6 +603,7 @@ cfginit(struct pci_devinst *pi, int bus, int slot, int func) { int error; struct passthru_softc *sc; + uint8_t intline, intpin; error = 1; sc = pi->pi_arg; @@ -612,6 +613,19 @@ cfginit(struct pci_devinst *pi, int bus, int slot, int func) sc->psc_sel.pc_dev = slot; sc->psc_sel.pc_func = func; + /* + * Copy physical PCI header to virtual config space. INTLINE and INTPIN + * shouldn't be aligned with their physical value and they are already set by + * pci_emul_init(). + */ + intline = pci_get_cfgdata8(pi, PCIR_INTLINE); + intpin = pci_get_cfgdata8(pi, PCIR_INTPIN); + for (int i = 0; i <= PCIR_MAXLAT; i += 4) { + pci_set_cfgdata32(pi, i, read_config(&sc->psc_sel, i, 4)); + } + pci_set_cfgdata8(pi, PCIR_INTLINE, intline); + pci_set_cfgdata8(pi, PCIR_INTPIN, intpin); + if (cfginitmsi(sc) != 0) { warnx("failed to initialize MSI for PCI %d/%d/%d", bus, slot, func); @@ -876,6 +890,15 @@ passthru_init(struct pci_devinst *pi, nvlist_t *nvl) get_config_value_node(nvl, "rom"))) != 0) goto done; + /* Emulate most PCI header register. */ + if ((error = set_pcir_handler(sc, 0, PCIR_MAXLAT + 1, + passthru_cfgread_emulate, passthru_cfgwrite_emulate)) != 0) + goto done; + + /* Allow access to the physical command and status register. */ + if ((error = set_pcir_handler(sc, PCIR_COMMAND, 0x04, NULL, NULL)) != 0) + goto done; + error = 0; /* success */ done: if (error) { @@ -885,16 +908,6 @@ done: return (error); } -static int -bar_access(int coff) -{ - if ((coff >= PCIR_BAR(0) && coff < PCIR_BAR(PCI_BARMAX + 1)) || - coff == PCIR_BIOS) - return (1); - else - return (0); -} - static int msicap_access(struct passthru_softc *sc, int coff) { @@ -926,23 +939,11 @@ passthru_cfgread_default(struct passthru_softc *sc, struct pci_devinst *pi __unused, int coff, int bytes, uint32_t *rv) { /* - * PCI BARs and MSI capability is emulated. + * MSI capability is emulated. */ - if (bar_access(coff) || msicap_access(sc, coff) || - msixcap_access(sc, coff)) + if (msicap_access(sc, coff) || msixcap_access(sc, coff)) return (-1); -#ifdef LEGACY_SUPPORT - /* - * Emulate PCIR_CAP_PTR if this device does not support MSI capability - * natively. - */ - if (sc->psc_msi.emulated) { - if (coff >= PCIR_CAP_PTR && coff < PCIR_CAP_PTR + 4) - return (-1); - } -#endif - /* * Emulate the command register. If a single read reads both the * command and status registers, read the status register from the @@ -962,6 +963,14 @@ passthru_cfgread_default(struct passthru_softc *sc, return (0); } +int +passthru_cfgread_emulate(struct passthru_softc *sc __unused, + struct pci_devinst *pi __unused, int coff __unused, int bytes __unused, + uint32_t *rv __unused) +{ + return (-1); +} + static int passthru_cfgread(struct pci_devinst *pi, int coff, int bytes, uint32_t *rv) { @@ -982,12 +991,6 @@ passthru_cfgwrite_default(struct passthru_softc *sc, struct pci_devinst *pi, int error, msix_table_entries, i; uint16_t cmd_old; - /* - * PCI BARs are emulated - */ - if (bar_access(coff)) - return (-1); - /* * MSI capability is emulated */ @@ -1054,6 +1057,14 @@ passthru_cfgwrite_default(struct passthru_softc *sc, struct pci_devinst *pi, return (0); } +int +passthru_cfgwrite_emulate(struct passthru_softc *sc __unused, + struct pci_devinst *pi __unused, int coff __unused, int bytes __unused, + uint32_t val __unused) +{ + return (-1); +} + static int passthru_cfgwrite(struct pci_devinst *pi, int coff, int bytes, uint32_t val) { diff --git a/usr.sbin/bhyve/pci_passthru.h b/usr.sbin/bhyve/pci_passthru.h index f6ce2d4b85ab..e999e84f85f2 100644 --- a/usr.sbin/bhyve/pci_passthru.h +++ b/usr.sbin/bhyve/pci_passthru.h @@ -20,5 +20,9 @@ typedef int (*cfgwrite_handler)(struct passthru_softc *sc, uint32_t read_config(const struct pcisel *sel, long reg, int width); void write_config(const struct pcisel *sel, long reg, int width, uint32_t data); +int passthru_cfgread_emulate(struct passthru_softc *sc, struct pci_devinst *pi, + int coff, int bytes, uint32_t *rv); +int passthru_cfgwrite_emulate(struct passthru_softc *sc, struct pci_devinst *pi, + int coff, int bytes, uint32_t val); int set_pcir_handler(struct passthru_softc *sc, int reg, int len, cfgread_handler rhandler, cfgwrite_handler whandler); From nobody Fri Apr 28 10:40:25 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q78JT4cNfz48JvS; Fri, 28 Apr 2023 10:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q78JT1yLvz3H4b; Fri, 28 Apr 2023 10:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N0O2XWjZRhVPlD0y9EomjlJebK517zPqMQW3P1g6eUA=; b=UpjBXAF47HgQZIn3G6QHxgcHUC0/VgKrK7x06qoomutfZqSOYoggBT1BRqhhRMIz0WVkZs lOIzTB+cUC+/VZD2EI9dxBf8piaDcpWsqeIROiK6EldkGKWx41wz/EXc6VYwQSj1yuHv+h NUAXiCxQAp3aeP/hzjShw7fZ6Sa6frpSP17aqMRWag4tTfxvUzWWQDrK4AM5Q+86kQXDPq zGt1UzSgWWMfRFsxSN0U2widykNHlOvWNKgCDsrONhGn1i01D50vC1pnxc2+TIgg56Pce7 FiTyIkZJpF1qmeAQomjInK1NP7brBMINe1kcDbxs3O+h8CI6//KmNFXfMH8BJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682678425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N0O2XWjZRhVPlD0y9EomjlJebK517zPqMQW3P1g6eUA=; b=bicIGz/hkyoS5i6M1BifBDrejyzvMqztHHqBxDkGzEt1NEPIF52r7VK2FFldHinSedlIng nZmvYNcKb7cV9gGFHNZSn/a7xr3gzCqK4uyZSx/NoZJ3RswrXCalPtxKKOdmdPN5eqHJzD 4pHmR4SoSDKZ3ZncU4jJ8B9mIyiXrKu8Ndg0of9712sobCWBwqUkjzPHBvIA+h1pecH5Uk fD7SCkzyZfwga8iG0Raa0MJ3xKuDn5FYjDHmuH3Ku3nyMk/X2Ht1pBNhMC+tZhL6xAwPrd nW1lteoTNqgsoIHx8aNmLEiYuzj4IQeJPiI5E6eCemNG8bHJbLhnpfMfVxvPAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682678425; a=rsa-sha256; cv=none; b=KvIr8JqVp3IYsREWmwjLTJ7qyIUmjHJ5bewoVuGfV1b40SoMvz3ebX0zqBtp+ilevMFjBn QuTpsridjk7xyhPg1p1zB/Q4Y/hwsopX1+8h+rUaDDlc0Q9njSaDsbGC2qYSjUyKWvAaEs SC0DOdCSAMfgmOzg13sD/zM+81upoJJ9paVQUxLrTy4lRP4CLxiuLopOOpHfvMur2P5TLF SrYzLLtSwT1bBSPOfWbiRlBXPYlr6TKe+MCh7yiuQMw6EFMWzPVyOYvqUnC7NNEvHqM2kL 8OKJVFSI3HX7ZgSpNOhw3B5uH8/lQwNg+n2vnxtfueKvfrqc8niLnhEIHk3E6g== 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 4Q78JT145Zzwrg; Fri, 28 Apr 2023 10:40: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 33SAePrD092655; Fri, 28 Apr 2023 10:40:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SAePFN092654; Fri, 28 Apr 2023 10:40:25 GMT (envelope-from git) Date: Fri, 28 Apr 2023 10:40:25 GMT Message-Id: <202304281040.33SAePFN092654@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 82622189fe02 - stable/13 - bhyve: add QEMU_FWCFG_INDEX_MAX_CPUS item List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 82622189fe022281dd9188ff0795303c95b5b0cf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=82622189fe022281dd9188ff0795303c95b5b0cf commit 82622189fe022281dd9188ff0795303c95b5b0cf Author: Corvin Köhne AuthorDate: 2022-06-21 08:35:40 +0000 Commit: Corvin Köhne CommitDate: 2023-04-28 07:28:34 +0000 bhyve: add QEMU_FWCFG_INDEX_MAX_CPUS item Requested-by: coreboot Reviewed by: MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39315 (cherry picked from commit 305edaa47918a559de46a5d72060644009f1875c) --- usr.sbin/bhyve/qemu_fwcfg.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/usr.sbin/bhyve/qemu_fwcfg.c b/usr.sbin/bhyve/qemu_fwcfg.c index e76ff3620586..2c5324dffdaa 100644 --- a/usr.sbin/bhyve/qemu_fwcfg.c +++ b/usr.sbin/bhyve/qemu_fwcfg.c @@ -44,6 +44,7 @@ #define QEMU_FWCFG_INDEX_SIGNATURE 0x00 #define QEMU_FWCFG_INDEX_ID 0x01 #define QEMU_FWCFG_INDEX_NB_CPUS 0x05 +#define QEMU_FWCFG_INDEX_MAX_CPUS 0x0F #define QEMU_FWCFG_INDEX_FILE_DIR 0x19 #define QEMU_FWCFG_FIRST_FILE_INDEX 0x20 @@ -227,6 +228,24 @@ qemu_fwcfg_add_item_id(void) (uint8_t *)fwcfg_id)); } +static int +qemu_fwcfg_add_item_max_cpus(void) +{ + uint16_t *fwcfg_max_cpus = calloc(1, sizeof(uint16_t)); + if (fwcfg_max_cpus == NULL) { + return (ENOMEM); + } + + /* + * We don't support cpu hotplug yet. For that reason, use guest_ncpus instead + * of maxcpus. + */ + *fwcfg_max_cpus = htole16(guest_ncpus); + + return (qemu_fwcfg_add_item(QEMU_FWCFG_ARCHITECTURE_GENERIC, + QEMU_FWCFG_INDEX_MAX_CPUS, sizeof(uint16_t), fwcfg_max_cpus)); +} + static int qemu_fwcfg_add_item_nb_cpus(void) { @@ -431,6 +450,10 @@ qemu_fwcfg_init(struct vmctx *const ctx) warnx("%s: Unable to add nb_cpus item", __func__); goto done; } + if ((error = qemu_fwcfg_add_item_max_cpus()) != 0) { + warnx("%s: Unable to add max_cpus item", __func__); + goto done; + } if ((error = qemu_fwcfg_add_item_file_dir()) != 0) { warnx("%s: Unable to add file_dir item", __func__); goto done; From nobody Fri Apr 28 11:28:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q79MR3GF7z48MDb; Fri, 28 Apr 2023 11: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 4Q79MR298Vz3PJg; Fri, 28 Apr 2023 11: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=1682681283; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XlzMyOLmOPCqNBSFKINhmnacn4FDUyVWJtA6SIMKe1s=; b=AniFRuCvS/e2MjaqaQ8CYiz8EQ+bZDs5KeM1t1pAujeE5IMJGWQDR+bQIu2kq0T3M9vatV DulSH56NdT97Ln4iSx3lJAKRCM8l65IQFaYQYXrokA+Dp5FDXj0HrXOlHRJ1KZUvYf6389 SRfwWR2KDf35FEi3jZ24B0yzdVn26yiuhUcx7y2apbjtR0iT2ALBdCbQeCBl82TLK5pZf3 W9hDG7zxxuuex1YkO/ImTuTF8M0gVu0FwwD5JgsIlfsjQwGvEHuWT+sfj4LojjWTaJzuoT xRKmfdrTeD++lmO53cQf9oWtF20GKqIpUhmxw8liemHXeOxMHAZrJiVmyyyQGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682681283; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XlzMyOLmOPCqNBSFKINhmnacn4FDUyVWJtA6SIMKe1s=; b=uBOANy0FkzrI8WvQX7G7LiJSliqS5pRs5PKiJRVCUma/ylrs6Vp0hOONgrGV1EiZYduNBN w642VmYimimqttjKix+HDu+wk68xvlUq33X4aLobcBJmzFmefQ0Hflslv3uc4xWKDi0vce xfsISDegUN5RXr97mcCgufAj+apffNHj4QNBw2Af+MLTNP0WpgwjfqLvcUOlnS4yR1cYdV FBFOMSqnceEGINNU3uHUDO8tMiTUCvaCeHg2fkeEhJGzucIqln/bhHvEAkE57Mohq9sDgn +Ywjh7mQ/T3xyxYT4rwAEk1rQyI7jofEVPBxAXzINAiHI2U/FmXJjimetWNYkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682681283; a=rsa-sha256; cv=none; b=Zhm6Wp7Vn3DKaSyWl4YJPBUhfWRlBVYPIvbsvIz5vg/2VreYGDQPxfA4dUZ6zO/BfZopgS QgFlGlvbdK5UD4ubS1er4ONgtguyyHZaKBefoxgYxKG8wzjnB4ybVa+cpQXNAkDoSdzVdi 3+5Gz/RgKUaoGf1qtiKWPy9cftPzkZt8Evj+8Ud7bMeEkz9KeFqkINOg2XWGdB9ArstGuf RG4JdcTpDnDJJfbAwtahkbkZiNZ2vYPL11pkJ+mt1AoldFbS+Binf2CDu36QSySQCeGC7i 5Pr4eYs093NW2LXiWHVjiJY5aHdriwrVBMQHje7S4WfO1owTuTVB77+Z+PUShA== 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 4Q79MR1DzRzxlv; Fri, 28 Apr 2023 11: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 33SBS3j2066549; Fri, 28 Apr 2023 11: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 33SBS3aK066548; Fri, 28 Apr 2023 11:28:03 GMT (envelope-from git) Date: Fri, 28 Apr 2023 11:28:03 GMT Message-Id: <202304281128.33SBS3aK066548@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: 020edaea2ab0 - main - Split out pmap_map_delete on arm64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 020edaea2ab05c9cea7d83872f28a4e5e65407e2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=020edaea2ab05c9cea7d83872f28a4e5e65407e2 commit 020edaea2ab05c9cea7d83872f28a4e5e65407e2 Author: Andrew Turner AuthorDate: 2023-04-28 10:54:19 +0000 Commit: Andrew Turner CommitDate: 2023-04-28 10:54:19 +0000 Split out pmap_map_delete on arm64 This will be used when supporting some extensions, e.g. Branch Target Identification (BTI). Sponsored by: Arm Ltd --- sys/arm64/arm64/pmap.c | 12 ++++++++++++ sys/arm64/include/pmap.h | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 6bea9cde55b5..1d1986b34f66 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -3686,6 +3686,18 @@ pmap_remove(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) vm_page_free_pages_toq(&free, true); } +/* + * Remove the given range of addresses as part of a logical unmap + * operation. This has the effect of calling pmap_remove(), but + * also clears any metadata that should persist for the lifetime + * of a logical mapping. + */ +void +pmap_map_delete(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) +{ + pmap_remove(pmap, sva, eva); +} + /* * Routine: pmap_remove_all * Function: diff --git a/sys/arm64/include/pmap.h b/sys/arm64/include/pmap.h index bf387c9cf25b..ad77450f0233 100644 --- a/sys/arm64/include/pmap.h +++ b/sys/arm64/include/pmap.h @@ -155,7 +155,7 @@ int pmap_pinit_stage(pmap_t, enum pmap_stage, int); bool pmap_ps_enabled(pmap_t pmap); uint64_t pmap_to_ttbr0(pmap_t pmap); void pmap_disable_promotion(vm_offset_t sva, vm_size_t size); -#define pmap_map_delete(pmap, sva, eva) pmap_remove(pmap, sva, eva) +void pmap_map_delete(pmap_t, vm_offset_t, vm_offset_t); void *pmap_mapdev(vm_paddr_t, vm_size_t); void *pmap_mapbios(vm_paddr_t, vm_size_t); From nobody Fri Apr 28 12:03:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7B8j5X9qz48P05; Fri, 28 Apr 2023 12:03: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 4Q7B8j535Yz3hvh; Fri, 28 Apr 2023 12:03:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682683429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qdf/xExm/6H/Og1bwQxKR7M0HncnA6gwR548UPl0og8=; b=aRIbQxxzRdgN7qGYKsDI5iJcbeL1NQtGDTzDToyazHOIwozBXb1xyQqTnwgYMxlFCzsK8u nY+I4zAWtOiLQZybivikhb14cN+rx+POY8Ei63f1aOJlXjHKxtRTkK47JfpTLWnfKP0APJ hucRKjyXrrEqUNDriuZHLu76fAxWlkmg814rvQL/0uLl9GvIcZxRO/LNkWPmGFJla71EVt 3gaT7toZRPRGOQJW8Eu/jNXzVlfpC0DChLGV0rIMT5y/LkVhGZHJfgxTW48NArsY3J9fY5 BJrwzR7+yTMErfiVPNkX3Qny/ztcmMc79D2XUBPtj1sswCdQFVV/vyoitmjKkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682683429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qdf/xExm/6H/Og1bwQxKR7M0HncnA6gwR548UPl0og8=; b=Ho0qCkNy+w23NwvkXwlsauOz2vWQavxItYiviPLAEgZTJCGzjk3Uyl/UiL7r7Q9PCzbQo4 +xSO2FPtPQEX/YuJD++l+tp4S8EnIoKWHl+EgkKknFlY6DjZegZkNc9esctgsI/cqEMhaP BNWr8NPz52o5NSFgAp6dm/6MBlyu8wMeBE4vsXbZgw9RTn8qI8ip9qAhB8Qiftk4sWv9j+ 5tEPoPL9n5hDDeCGkfIjDgQ+76N+G1WPdOX5sdidgMvim3k+m8pld601vZqJMdmqBlDQmi uDt+KUZiA3hrF/SDmdRjvav7Wz9pjIHmKjYPkw1PH6dEKLVZLWWhbktKWwdXyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682683429; a=rsa-sha256; cv=none; b=HmjKdiYcnX7a75rleyVpQJmpsWho3Dx2rx28FtawaQkUgVks4VhbkvkqS8vGrs2MjLcG1X RUls+nhHtoXz7pHFzIKEiznIanityD2mE4a38LyspIyFxhOS+jlKcscSY3Xf3iyuaTqled y7sep3q+ROmb23/5GY6Q5dntCVBysbfsJ0tZPK2gCYA+vSywzAu+qR5dB9R1iUT+AjtVJZ DMspK2QHbs1zg76Qb20diXvpMs6ZOPcpEbpCHWzv2PXIbX/1Gc8fawfPNcI6VWKyvf9kKr 3bjzrGIu+LKmn94KJkqnF2JgD4kLOBI79oYewy4K4MU3H0VPJSDPnEOAWKQ2xQ== 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 4Q7B8j47N8zyvF; Fri, 28 Apr 2023 12:03: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 33SC3nqM032342; Fri, 28 Apr 2023 12:03:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SC3nKg032341; Fri, 28 Apr 2023 12:03:49 GMT (envelope-from git) Date: Fri, 28 Apr 2023 12:03:49 GMT Message-Id: <202304281203.33SC3nKg032341@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: b8cca0cdc0c1 - stable/13 - bhyve: remove redundant variable List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b8cca0cdc0c1efe6282028de47ae7f56dc4fa6b1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=b8cca0cdc0c1efe6282028de47ae7f56dc4fa6b1 commit b8cca0cdc0c1efe6282028de47ae7f56dc4fa6b1 Author: Vitaliy Gusev AuthorDate: 2023-03-01 07:45:46 +0000 Commit: Corvin Köhne CommitDate: 2023-04-28 12:01:23 +0000 bhyve: remove redundant variable Reviewed by: corvink,markj Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D38836 --- usr.sbin/bhyve/bhyverun.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 5c8265571be9..dd30eb4405ef 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -1243,7 +1243,7 @@ set_defaults(void) int main(int argc, char *argv[]) { - int c, error, err; + int c, error; int max_vcpus, memflags; struct vmctx *ctx; uint64_t rip; @@ -1444,8 +1444,8 @@ main(int argc, char *argv[]) if (get_config_bool_default("memory.guest_in_core", false)) memflags |= VM_MEM_F_INCORE; vm_set_memflags(ctx, memflags); - err = vm_setup_memory(ctx, memsize, VM_MMAP_ALL); - if (err) { + error = vm_setup_memory(ctx, memsize, VM_MMAP_ALL); + if (error) { fprintf(stderr, "Unable to setup memory (%d)\n", errno); exit(4); } From nobody Fri Apr 28 12:27:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7Bgw6BZnz48QKM; Fri, 28 Apr 2023 12:27:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q7Bgw5Zgqz3lW4; Fri, 28 Apr 2023 12:27:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682684844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uvWptB/alw0w6gQbsnekd+EGnLHekgA+VCDA+QsLpd0=; b=Oqe4VdjT9z2BGfnNMS7XXtDQiWsqd8gah/pHEa3QfQfYZH68MEQspiEHdPrpVpIydtM8hJ n+balKzVzoSy9p+6VQXq5ZITq9fRSW6svxnWgOhkB0utc1gfxLqeLgo2dKMEHN+KfTFoHH dJ+wuikDcJGpgi4HHn3cs1ZUjXVz6bZdumegLlEMUqoR527E4lAg9XGt7l4yjS7q8/WhHZ NJs5TbzUHSx+Lgw3Wr31btKO+mmvHG7PSAsrAKP2D2WKykD78Zguinrn38ln0bEBATcOAa SZMt/oJ9oYLN7zqI1DiuZ40GlPUPmLTwwG89F/NLF3m281Hcz6Qv2JF0rP4F1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682684844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uvWptB/alw0w6gQbsnekd+EGnLHekgA+VCDA+QsLpd0=; b=Kl96rdrNRJULvUwvg6weZXEHLRfsWLkIfkKVuprKLPw2vMGk1A3B0d4KEdQ3ngRgp96YwQ SxgkkYYv0kI4DipF8c11vf5w6PggeQ16i8KjhqiCbbvw5dQtN1wK+EtBqp6N9cSB+wHhrL L9JDdCfaWeVfeo6Xwos1UMpKiZkJDbXAQ4gRoYWltaLCYjEKgJamz52xbw9YLNNYu7xR+G WMr1JlBumy45N8P1HwkJ3WdljMYzm5vtq1F8IhIa3WQmBIE5myI8fAlQ2M6hZo1ohZNmGQ JE3lysWwLWuQPJn5fGvUoPGQijnSUsYefrTYfJlfjPWuqQw7H4fTbYRu2Yu+GQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682684844; a=rsa-sha256; cv=none; b=fBRAbRV5dburyNDERphkd7B8hI7Jjb/KIkf9VYk3x0VGM+vbN1119imSx2WQZXfm1x2wFP iNfrTHwBUi6UFQrrV3V2v9TE46RvOGbAQibRJ6TOZWB+vuNXdXZytYHWzdHyIAI0sAncHo zsCl/wAxcVlyXwPuq1US5LYmAtNxDD9Uom1cDw+nUZfOksyK6fz4cYD87IouQK8eQL74E8 GNcp/OrPu6vfkYDgMibECp1ECMXh+RN81r8UPfE8cAk8tVsNc3J1Q8txdveeAKSzX+dkIE 2MksQ3RB1BVM5QLMCllOVN2Bbaaob7OQSeelENiu3aVR0BUzMay7FeaAEFrqqQ== 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 4Q7Bgw4dFLz1099; Fri, 28 Apr 2023 12:27: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 33SCROj4065377; Fri, 28 Apr 2023 12:27:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SCRO72065376; Fri, 28 Apr 2023 12:27:24 GMT (envelope-from git) Date: Fri, 28 Apr 2023 12:27:24 GMT Message-Id: <202304281227.33SCRO72065376@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: 95bc3ba7fec5 - main - libifconfig: fix incorrect carp output List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 95bc3ba7fec52dd410921544a597aebe8797d60a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=95bc3ba7fec52dd410921544a597aebe8797d60a commit 95bc3ba7fec52dd410921544a597aebe8797d60a Author: Kristof Provost AuthorDate: 2023-04-28 11:24:44 +0000 Commit: Kristof Provost CommitDate: 2023-04-28 12:27:11 +0000 libifconfig: fix incorrect carp output If one interface has a carp address configured on it ifconfig would show this information on all interfaces. That's because the kernel does (as one would expect) not return any carp data for interface without carp configuration. However, this wound up not overwriting the data passed in by the caller, and leaving the (now stale) information in pace. As a result the caller thought carp was configured on the interface. Zero out the input structure before making the call to the kernel, so that we correctly return 0 if there is no carp configuration on the queried interface. Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libifconfig/libifconfig_carp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libifconfig/libifconfig_carp.c b/lib/libifconfig/libifconfig_carp.c index 501ca81782eb..2b612f0ba51b 100644 --- a/lib/libifconfig/libifconfig_carp.c +++ b/lib/libifconfig/libifconfig_carp.c @@ -77,6 +77,8 @@ _ifconfig_carp_get(ifconfig_handle_t *h, const char *name, ifconfig_error_clear(h); + bzero(carp, sizeof(*carp) * ncarp); + if (! snl_init(&ss, NETLINK_GENERIC)) { ifconfig_error(h, NETLINK, ENOTSUP); return (-1); From nobody Fri Apr 28 12:39:38 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7By24Ywmz48QnG; Fri, 28 Apr 2023 12:39: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 4Q7By242Rlz3m7Z; Fri, 28 Apr 2023 12:39:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682685578; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ldbcxa9BmOAFJO/8oAgzXwNSm1CrUgxsZdU2I2D/0QI=; b=ZCebV+emg24UXhNtvn6l+3N9MRO5ce2L2aulp5F8hF/RuL5Ig9pKFnSB+S3S9CszzDqcHz JoMMoBgydGVNxfpWQy4meLwg055+F9ccalC8La+cFXSo7eefnZmIY/D5fB1/CTw+dU9+4F Sk9ICzH+oy39nsqyPU1Q18Xn9HZS1M0Vc4/cq9qcN50Wf9CgVmlWP9E8jsuKc3UNaLx+eB EzG8s2nScakK8gyvQ03F5ItYSwKpRuKMDWXsh53g0Qe31eqr9r/GS2pSXHMfaj4xCk/O74 wCMG8HCwgFesSGEAxT5us7rErtYgCSZ+2olbu8/fwvuJA8Tp20Uz1Hzzgvm71w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682685578; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ldbcxa9BmOAFJO/8oAgzXwNSm1CrUgxsZdU2I2D/0QI=; b=blwALip+eKrFFt9FX/CKvfxCg1zyH/nJTZ21mlNhKicUW/kTQDAJYJTI9gRknKizbdroCY uIDj/l0eb6u+J56HdD1LQD/7czr9Ov5T+hRr00FbwXkiwXjwpMvZpeiDHNLJyPbYGGLSDw DGZyKtZlM09njA1ENxYh5gZxUiggMNIvlrelhhcvC+53FRdflSHpnkDc3TnItD7Uu9My0/ HB+3m3PQW9gzEcwiKRm2rytUCke9AP2ErvXnsGS81NDW0SVPHPmp81wFHWxz8ZVTD5tpiR w3N2cZmtly1dKeezQtgAercymktBQwS1H62f+ptF7dqAoYaPyBi1ocX7ZdTi3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682685578; a=rsa-sha256; cv=none; b=sk2dZDNj5sx1T/oxgQD2H3MJRn2FA3fBCu7BUVniKdFT1BoZVL4IqItxSg0KXUgvqjNPeX Tq9O25zdpBRwVa/AzJVGupz7boTN9j7PUQpbCTmnmn+cO55fbFdCRWHlXJxHHCFe6q13JC ULFB3EarpUPpwfkO7QkA3upF5rKO9vnSLW/3Stby4byH+JDf691HxS+RYsLAnZ4e5mWZ9z Oe0WbWPAZ0YHS1LNxb/MpfjACG+uCgBPcK+HdYfDdgYV4PXPVqpvn5MdvCUU7XPJlsqbrx YrUX0RkqC0bizKd1Y0Ihg6h+zQvVaNSSI3EGuwD+UWWAIZYFaaDStT8HG8WAdw== 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 4Q7By22sQZz10jR; Fri, 28 Apr 2023 12:39:38 +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 33SCdcPq082233; Fri, 28 Apr 2023 12:39:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SCdcbJ082232; Fri, 28 Apr 2023 12:39:38 GMT (envelope-from git) Date: Fri, 28 Apr 2023 12:39:38 GMT Message-Id: <202304281239.33SCdcbJ082232@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: 4f6a5e1d6ce3 - main - netlink: enable NETLINK_SUPPORT by default on all architectures. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f6a5e1d6ce39e968bd01c9a3a299a3a419a480e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=4f6a5e1d6ce39e968bd01c9a3a299a3a419a480e commit 4f6a5e1d6ce39e968bd01c9a3a299a3a419a480e Author: Alexander V. Chernikov AuthorDate: 2023-04-27 14:38:08 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-28 12:37:09 +0000 netlink: enable NETLINK_SUPPORT by default on all architectures. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D39849 --- share/mk/src.opts.mk | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 62d3936ded20..0bbb2dd6c539 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -145,6 +145,7 @@ __DEFAULT_YES_OPTIONS = \ MLX5TOOL \ NETCAT \ NETGRAPH \ + NETLINK_SUPPORT \ NLS_CATALOGS \ NS_CACHING \ NTP \ @@ -354,12 +355,6 @@ __DEFAULT_NO_OPTIONS+=OPENMP BROKEN_OPTIONS+= OFED .endif -.if ${__T} == "i386" || ${__T} == "amd64" -__DEFAULT_YES_OPTIONS+=NETLINK_SUPPORT -.else -__DEFAULT_NO_OPTIONS+=NETLINK_SUPPORT -.endif - # MK_host_egacy is set by local.sys.mk so is valid here .if ${MACHINE} == "host" && ${MK_host_egacy} == "yes" # we cannot expect tests to work From nobody Fri Apr 28 13:56:18 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7DfV4KCdz48Vtf; Fri, 28 Apr 2023 13:56: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 4Q7DfV3p5Sz3vNV; Fri, 28 Apr 2023 13:56:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682690178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ezefy8YCKOzN/5VBkZNo9iNdrqesuHIl3xiQsm3WZTM=; b=pmWOr2SIAbHXdTbyyApJa6LHBsWffHJKampnETl0lTp0/hf581Oi6//fls2JZFreEizgvx EZ7wuU/OVy3rFsUKHGE18uumH3HrYpZjEQ2XfTH5meTn9MPrk2S14+CH+21hHaKBJOl3CN RFac+vCvRXiRc7IQfNt/Y9tvWtzoGdMofXp0QYlYVrHVflxzIDvq9aHHB7ugPCaMm2Srso oGopHeGowTxAyBwHWqlSCZX+YUOAzb0LhphnTk3ewFzcUmWgcmWWny646WDzP1KXobW24O K1elWE6zRnLa7HNlMoq0xOLRsV3qY8OVfMuskJU6ySmgvRk2BdT7ouL9yF5Jyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682690178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ezefy8YCKOzN/5VBkZNo9iNdrqesuHIl3xiQsm3WZTM=; b=MKJcQ5fj3EaqsUnWMeJn8id1m6ws+3jMNiMjZG8VO4XS+zL15rKEGNqSfYpoZmj1s+OtEj MZjZLDTLHQbCo5gEg2eDGn3Lq5jNkIfQ58ydxrub2RVuruj34V5GyL+8itCmyME1NSCeD9 jsDh2jKfdQDu4bsYRS88YgCzqnl9wokyrECUMEYMYDJ6NZF6GZ/p9BgHVUOTbGrGOk0zLE o7zITuybfrkE4ldsLnQgZR/TrXREDisn28xREFixRRF5ncSVDEKt1Wdx0gHYlECJF+YZae 4wghDYlOhbx/1jcFXUQHkfsv1tBeZFQ+Q5wN2DnlwC7qrEUxXUm8vuwF8+L/kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682690178; a=rsa-sha256; cv=none; b=iowg3wOWtRi0TWLQNhrancunfFzd+kQbS1jpk9VypQ1AIh+YIxmyf21hXHf59zKBKtDkEm VGPWjk7EJpcFiuB/mTkSOxk5OyC86eb7xY6/pVTq12F4w377xpdH0vkeDgrNjvwztkunID U+TVCocH3uLdj7ga521vWS8L9Syzg7QBhvGnYURn+tRsgVAL182usIrpZpXRr+SmlSmd5g WqWgKyCGlF9QDGTIJbUNd4DQfv2CqajvY7WNYywTx+ZMJNsDDdtAGlAxyOhlgNgsZnEllB p/NHu0gebAoh4Ap2Hxm3VZ2IHw/kZVW4UDi4SRytfq0ljnvi8m+Hwf/Mj/dmDQ== 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 4Q7DfV2rSnz12Zy; Fri, 28 Apr 2023 13:56: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 33SDuIKJ012391; Fri, 28 Apr 2023 13:56:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SDuIc8012390; Fri, 28 Apr 2023 13:56:18 GMT (envelope-from git) Date: Fri, 28 Apr 2023 13:56:18 GMT Message-Id: <202304281356.33SDuIc8012390@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: 9e79038c5024 - main - netlink: fix netlink interface operations when netlink is loaded as a module. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e79038c502433f077b4d3b5bb1c0838329f1ebc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=9e79038c502433f077b4d3b5bb1c0838329f1ebc commit 9e79038c502433f077b4d3b5bb1c0838329f1ebc Author: Alexander V. Chernikov AuthorDate: 2023-04-28 13:30:36 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-28 13:35:58 +0000 netlink: fix netlink interface operations when netlink is loaded as a module. This change completes 089104e0e01f. MFC after: 2 weeks --- sys/netlink/netlink_module.c | 2 ++ sys/netlink/route/iface_drivers.c | 5 +++-- sys/netlink/route/route_var.h | 22 ++++++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/sys/netlink/netlink_module.c b/sys/netlink/netlink_module.c index 051eb0cb120b..31faf1d003d9 100644 --- a/sys/netlink/netlink_module.c +++ b/sys/netlink/netlink_module.c @@ -187,6 +187,8 @@ const static struct nl_function_wrapper nl_module = { .nlmsg_get_group_writer = _nlmsg_get_group_writer, .nlmsg_get_chain_writer = _nlmsg_get_chain_writer, .nlmsg_end_dump = _nlmsg_end_dump, + .nl_modify_ifp_generic = _nl_modify_ifp_generic, + .nl_store_ifp_cookie = _nl_store_ifp_cookie, }; #endif diff --git a/sys/netlink/route/iface_drivers.c b/sys/netlink/route/iface_drivers.c index 17fbc1000d23..6f6adc323be6 100644 --- a/sys/netlink/route/iface_drivers.c +++ b/sys/netlink/route/iface_drivers.c @@ -25,6 +25,7 @@ * SUCH DAMAGE. */ +#include "opt_netlink.h" #include __FBSDID("$FreeBSD$"); #include "opt_inet.h" @@ -64,7 +65,7 @@ _DECLARE_DEBUG(LOG_DEBUG); * such as state, mtu or description. */ int -nl_modify_ifp_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, +_nl_modify_ifp_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, const struct nlattr_bmask *bm, struct nl_pstate *npt) { int error; @@ -118,7 +119,7 @@ nl_modify_ifp_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, * IFLA_IFNAME(string) */ void -nl_store_ifp_cookie(struct nl_pstate *npt, struct ifnet *ifp) +_nl_store_ifp_cookie(struct nl_pstate *npt, struct ifnet *ifp) { int ifname_len = strlen(if_name(ifp)); uint32_t ifindex = (uint32_t)ifp->if_index; diff --git a/sys/netlink/route/route_var.h b/sys/netlink/route/route_var.h index cbcc71e9ac21..7b83a533fdc2 100644 --- a/sys/netlink/route/route_var.h +++ b/sys/netlink/route/route_var.h @@ -77,9 +77,31 @@ struct nl_parsed_link { uint32_t ifi_change; }; +#if defined(NETLINK) || defined(NETLINK_MODULE) +/* Provide optimized calls to the functions inside the same linking unit */ + +int _nl_modify_ifp_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, + const struct nlattr_bmask *bm, struct nl_pstate *npt); +void _nl_store_ifp_cookie(struct nl_pstate *npt, struct ifnet *ifp); + +static inline int +nl_modify_ifp_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, + const struct nlattr_bmask *bm, struct nl_pstate *npt) +{ + return (_nl_modify_ifp_generic(ifp, lattrs, bm, npt)); +} + +static inline void +nl_store_ifp_cookie(struct nl_pstate *npt, struct ifnet *ifp) +{ + _nl_store_ifp_cookie(npt, ifp); +} +#else +/* Provide access to the functions via netlink_glue.c */ int nl_modify_ifp_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, const struct nlattr_bmask *bm, struct nl_pstate *npt); void nl_store_ifp_cookie(struct nl_pstate *npt, struct ifnet *ifp); +#endif /* defined(NETLINK) || defined(NETLINK_MODULE) */ typedef int rtnl_iface_create_f(struct nl_parsed_link *lattrs, From nobody Fri Apr 28 13:56:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7DfW4gW1z48Vx5; Fri, 28 Apr 2023 13:56: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 4Q7DfW43fTz3vcs; Fri, 28 Apr 2023 13:56:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682690179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qT/xzcW+qrLHm3Uc566vdjOuesQobNoRcW4MyBGNcI4=; b=MFPbjseFgdrfk0IRJtqlVVL9irt1MLTYbclmS5ZKH1gjNdGz7vqjYjBJtjA8kunPCJNZGz ZhKU+mfSsiVN1CrBKnKpM0pERR9jFZDn1X1VfEzp3wojzAOPV8dHecRkhTL4Cq76SnFnZ/ NrRLhNnaM98mzGUdqSoIirWz42CydUU4piGbw5ZlnhgW/pzaqquZou4dSuuxpN2Oji8JAZ /BhE7XzdwsPTH2K9Iph2TVJDEhrYRyvGiSKjDQDqZemo1PQj5bvQaUWGhrsHkx+wwPlpYK YCaI6i1y9qZTg3vxzVOPRzQkZYn9ga5L7+BZm4hszlBBRJK58qQdiQKw5mT9WQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682690179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qT/xzcW+qrLHm3Uc566vdjOuesQobNoRcW4MyBGNcI4=; b=xH4CeVKVWKoQDXdoIUYM6laDVjL0gpWoRuPgwfkSwD5RrIHQGSs9NfiNt7WyrwWoKX/N2T 21uItxxQ2mBE+oGHRSEAVbHWJPTmz/APbFZhEOIjwVkduGO0ZId3jDRmgxhyVIC4Y/+o+Q HMV/GNehZS+HmrTaMmaQtF+rau4kLTtOUcRthuQL/VW1JIOGwDu/8uYksmdDGvhasSPA9w EF+t9liioVX94xuzn7iqPl0UH7+BjvDZqkzEcNk1bKBmdVuTESaLxJhFv2tdXMwAhDO1+j tQEossdztxX0xA2ioMYg3EBhG3IBJOax5iQiiZXtYn6a+M+EkiyFgFIAXjn/Bw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682690179; a=rsa-sha256; cv=none; b=hDTfBWZLeQ7718V+BCciE0UEvuTLxrZX40AFq+mQDBd0I2Lfn2BQlVXKsJW/jtd22O6CAv O0I6xGkzIOvkvTimqVaR/GXOk2DVmfFwrZpv94fBqP3gbvG6WzmWydBPIBqRJwwVvoMmCv XAZQAgPf+EAvYsAUc+hOLLQVLqkYR5T8JmdJbHG/VKoPJ48vH16+/YKQz2P9l0CjWro4jq vmVEfnmEgfDZH7Qj2OSTLvHGe8ZfN6W60Jq7Gkh6R7U+4gculQOY4dqkTxd/YYJvZvOrQI DsdmjBfRPXuPiFyDgR4E8BdBTdUce//hTU8xGGIY7VOcfoOi/uamnM9c8Ya2jw== 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 4Q7DfW36TRz12Q3; Fri, 28 Apr 2023 13:56: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 33SDuJkF012424; Fri, 28 Apr 2023 13:56:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SDuJ0R012420; Fri, 28 Apr 2023 13:56:19 GMT (envelope-from git) Date: Fri, 28 Apr 2023 13:56:19 GMT Message-Id: <202304281356.33SDuJ0R012420@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: 30d7e724db0c - main - route: show originator PID in netlink monitor List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 30d7e724db0c9805c9cafdd70a33f546df168d8c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=30d7e724db0c9805c9cafdd70a33f546df168d8c commit 30d7e724db0c9805c9cafdd70a33f546df168d8c Author: Alexander V. Chernikov AuthorDate: 2023-04-28 12:44:04 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-28 13:54:54 +0000 route: show originator PID in netlink monitor Replacing rtsock with netlink also means providing similar tracing facilities, rtsock provides `route -n monitor` interface, where each message can be traced to the originating PID. This diff closes the feature gap between rtsock and netlink in that regard. Netlink works slightly differently from rtsock, as it is a generic message "broker". It calls some kernel KPIs and returns the result to the caller. Other Netlink consumers gets notified on the changed kernel state using the relevant subsystem callbacks. Typically, it is close to impossible to pass some data through these KPIs to enhance the notification. This diff approaches the problem by using osd(9) to assign the relevant socket pointer (`'nlp`) to the per-socket taskqueue execution thread. This change allows to recover the pointer in the aforementioned notification callbacks and extract some additional data. Using `osd(9)` (and adding additional metadata) to the notification receiver comes with some additional cost attached, so this interface needs to be enabled explicitly by using a newly-created `NETLINK_MSG_INFO` `SOL_NETLINK` socket option. The actual medatadata (which includes the originator PID) is provided via control messages. To enable extensibility, the control message data is encoded in the standard netlink(TLV-based) fashion. The list of the currently-provided properties can be found in `nlmsginfo_attrs`. snl(3) is extended to enable decoding of netlink messages with metadata (`snl_read_message_dbg()` stores the parsed structure in the provided buffer). Differential Revision: https://reviews.freebsd.org/D39391 --- sbin/route/route_netlink.c | 73 ++++++++++++++++++++++++++---------------- sys/netlink/netlink.h | 10 ++++++ sys/netlink/netlink_ctl.h | 17 ++++++++++ sys/netlink/netlink_domain.c | 57 +++++++++++++++++++++++++++++++-- sys/netlink/netlink_glue.c | 13 ++++++++ sys/netlink/netlink_io.c | 75 ++++++++++++++++++++++++++++++++++++++++--- sys/netlink/netlink_module.c | 3 ++ sys/netlink/netlink_snl.h | 76 ++++++++++++++++++++++++++++++++++++++++++++ sys/netlink/netlink_var.h | 8 +++++ 9 files changed, 298 insertions(+), 34 deletions(-) diff --git a/sbin/route/route_netlink.c b/sbin/route/route_netlink.c index e3305c0d7df1..01494fbefd51 100644 --- a/sbin/route/route_netlink.c +++ b/sbin/route/route_netlink.c @@ -39,8 +39,11 @@ int flushroutes_fib_nl(int fib, int af); void monitor_nl(int fib); struct nl_helper; -static void print_getmsg(struct nl_helper *h, struct nlmsghdr *hdr, struct sockaddr *dst); -static void print_nlmsg(struct nl_helper *h, struct nlmsghdr *hdr); +struct snl_msg_info; +static void print_getmsg(struct nl_helper *h, struct nlmsghdr *hdr, + struct sockaddr *dst); +static void print_nlmsg(struct nl_helper *h, struct nlmsghdr *hdr, + struct snl_msg_info *cinfo); #define s6_addr32 __u6_addr.__u6_addr32 #define bitcount32(x) __bitcount32((uint32_t)(x)) @@ -434,9 +437,9 @@ print_prefix(struct nl_helper *h, char *buf, int bufsize, struct sockaddr *sa, i snprintf(buf + sz, bufsize - sz, "/%d", plen); } - static int -print_line_prefix(const char *cmd, const char *name) +print_line_prefix(struct nlmsghdr *hdr, struct snl_msg_info *cinfo, + const char *cmd, const char *name) { struct timespec tp; struct tm tm; @@ -446,7 +449,8 @@ print_line_prefix(const char *cmd, const char *name) localtime_r(&tp.tv_sec, &tm); strftime(buf, sizeof(buf), "%T", &tm); - int len = printf("%s.%03ld %s %s ", buf, tp.tv_nsec / 1000000, cmd, name); + int len = printf("%s.%03ld PID %4u %s %s ", buf, tp.tv_nsec / 1000000, + cinfo->process_id, cmd, name); return (len); } @@ -498,7 +502,8 @@ print_nlmsg_route_nhop(struct nl_helper *h, struct snl_parsed_route *r, } static void -print_nlmsg_route(struct nl_helper *h, struct nlmsghdr *hdr) +print_nlmsg_route(struct nl_helper *h, struct nlmsghdr *hdr, + struct snl_msg_info *cinfo) { struct snl_parsed_route r = { .rtax_weight = RT_DEFAULT_WEIGHT }; struct snl_state *ss = &h->ss_cmd; @@ -509,7 +514,7 @@ print_nlmsg_route(struct nl_helper *h, struct nlmsghdr *hdr) // 20:19:41.333 add route 10.0.0.0/24 gw 10.0.0.1 ifp vtnet0 mtu 1500 table inet.0 const char *cmd = get_action_name(hdr, RTM_NEWROUTE); - int len = print_line_prefix(cmd, "route"); + int len = print_line_prefix(hdr, cinfo, cmd, "route"); char buf[128]; print_prefix(h, buf, sizeof(buf), r.rta_dst, r.rtm_dst_len); @@ -564,7 +569,8 @@ static const char *operstate[] = { }; static void -print_nlmsg_link(struct nl_helper *h, struct nlmsghdr *hdr) +print_nlmsg_link(struct nl_helper *h, struct nlmsghdr *hdr, + struct snl_msg_info *cinfo) { struct snl_parsed_link l = {}; struct snl_state *ss = &h->ss_cmd; @@ -574,7 +580,7 @@ print_nlmsg_link(struct nl_helper *h, struct nlmsghdr *hdr) // 20:19:41.333 add iface#3 vtnet0 admin UP oper UP mtu 1500 table inet.0 const char *cmd = get_action_name(hdr, RTM_NEWLINK); - print_line_prefix(cmd, "iface"); + print_line_prefix(hdr, cinfo, cmd, "iface"); printf("iface#%u %s ", l.ifi_index, l.ifla_ifname); printf("admin %s ", (l.ifi_flags & IFF_UP) ? "UP" : "DOWN"); @@ -587,7 +593,8 @@ print_nlmsg_link(struct nl_helper *h, struct nlmsghdr *hdr) } static void -print_nlmsg_addr(struct nl_helper *h, struct nlmsghdr *hdr) +print_nlmsg_addr(struct nl_helper *h, struct nlmsghdr *hdr, + struct snl_msg_info *cinfo) { struct snl_parsed_addr attrs = {}; struct snl_state *ss = &h->ss_cmd; @@ -597,7 +604,7 @@ print_nlmsg_addr(struct nl_helper *h, struct nlmsghdr *hdr) // add addr 192.168.1.1/24 iface vtnet0 const char *cmd = get_action_name(hdr, RTM_NEWADDR); - print_line_prefix(cmd, "addr"); + print_line_prefix(hdr, cinfo, cmd, "addr"); char buf[128]; struct sockaddr *addr = attrs.ifa_local ? attrs.ifa_local : attrs.ifa_address; @@ -636,7 +643,8 @@ static const char *nudstate[] = { static void -print_nlmsg_neigh(struct nl_helper *h, struct nlmsghdr *hdr) +print_nlmsg_neigh(struct nl_helper *h, struct nlmsghdr *hdr, + struct snl_msg_info *cinfo) { struct snl_parsed_neigh attrs = {}; struct snl_state *ss = &h->ss_cmd; @@ -646,7 +654,7 @@ print_nlmsg_neigh(struct nl_helper *h, struct nlmsghdr *hdr) // add addr 192.168.1.1 state %s lladdr %s iface vtnet0 const char *cmd = get_action_name(hdr, RTM_NEWNEIGH); - print_line_prefix(cmd, "neigh"); + print_line_prefix(hdr, cinfo, cmd, "neigh"); char buf[128]; print_prefix(h, buf, sizeof(buf), attrs.nda_dst, -1); @@ -694,32 +702,35 @@ print_nlmsg_neigh(struct nl_helper *h, struct nlmsghdr *hdr) } static void -print_nlmsg_generic(struct nl_helper *h, struct nlmsghdr *hdr) +print_nlmsg_generic(struct nl_helper *h, struct nlmsghdr *hdr, struct snl_msg_info *cinfo) { + const char *cmd = get_action_name(hdr, 0); + print_line_prefix(hdr, cinfo, cmd, "unknown message"); + printf(" type %u\n", hdr->nlmsg_type); } static void -print_nlmsg(struct nl_helper *h, struct nlmsghdr *hdr) +print_nlmsg(struct nl_helper *h, struct nlmsghdr *hdr, struct snl_msg_info *cinfo) { switch (hdr->nlmsg_type) { case RTM_NEWLINK: case RTM_DELLINK: - print_nlmsg_link(h, hdr); + print_nlmsg_link(h, hdr, cinfo); break; case RTM_NEWADDR: case RTM_DELADDR: - print_nlmsg_addr(h, hdr); + print_nlmsg_addr(h, hdr, cinfo); break; case RTM_NEWROUTE: case RTM_DELROUTE: - print_nlmsg_route(h, hdr); + print_nlmsg_route(h, hdr, cinfo); break; case RTM_NEWNEIGH: case RTM_DELNEIGH: - print_nlmsg_neigh(h, hdr); + print_nlmsg_neigh(h, hdr, cinfo); break; default: - print_nlmsg_generic(h, hdr); + print_nlmsg_generic(h, hdr, cinfo); } snl_clear_lb(&h->ss_cmd); @@ -748,6 +759,10 @@ monitor_nl(int fib) #endif }; + int optval = 1; + socklen_t optlen = sizeof(optval); + setsockopt(ss_event.fd, SOL_NETLINK, NETLINK_MSG_INFO, &optval, optlen); + for (unsigned int i = 0; i < NL_ARRAY_LEN(groups); i++) { int error; int optval = groups[i]; @@ -758,11 +773,11 @@ monitor_nl(int fib) warn("Unable to subscribe to group %d", optval); } + struct snl_msg_info attrs = {}; struct nlmsghdr *hdr; - while ((hdr = snl_read_message(&ss_event)) != NULL) + while ((hdr = snl_read_message_dbg(&ss_event, &attrs)) != NULL) { - // printf("-- MSG type %d--\n", hdr->nlmsg_type); - print_nlmsg(&h, hdr); + print_nlmsg(&h, hdr, &attrs); snl_clear_lb(&h.ss_cmd); snl_clear_lb(&ss_event); } @@ -814,8 +829,10 @@ flushroute_one(struct nl_helper *h, struct snl_parsed_route *r) return (true); }; - if (verbose) - print_nlmsg(h, hdr); + if (verbose) { + struct snl_msg_info attrs = {}; + print_nlmsg(h, hdr, &attrs); + } else { if (r->rta_multipath != NULL) { for (int i = 0; i < r->rta_multipath->num_nhops; i++) { @@ -863,8 +880,10 @@ flushroutes_fib_nl(int fib, int af) if (!snl_parse_nlmsg(&ss, hdr, &snl_rtm_route_parser, &r)) continue; - if (verbose) - print_nlmsg(&h, hdr); + if (verbose) { + struct snl_msg_info attrs = {}; + print_nlmsg(&h, hdr, &attrs); + } if (r.rta_table != (uint32_t)fib || r.rtm_family != af) continue; if ((r.rta_rtflags & RTF_GATEWAY) == 0) diff --git a/sys/netlink/netlink.h b/sys/netlink/netlink.h index 3623ae754951..0021be4ea786 100644 --- a/sys/netlink/netlink.h +++ b/sys/netlink/netlink.h @@ -89,6 +89,7 @@ struct sockaddr_nl { #define NETLINK_EXT_ACK 11 /* Ack support for receiving additional TLVs in ack */ #define NETLINK_GET_STRICT_CHK 12 /* Strict header checking */ +#define NETLINK_MSG_INFO 257 /* (FreeBSD-specific) Receive message originator data in cmsg */ /* * RFC 3549, 2.3.2 Netlink Message Header @@ -183,6 +184,15 @@ enum nlmsgerr_attrs { NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1 }; +/* FreeBSD-specific debugging info */ + +enum nlmsginfo_attrs { + NLMSGINFO_ATTR_UNUSED, + NLMSGINFO_ATTR_PROCESS_ID = 1, /* u32, source process PID */ + NLMSGINFO_ATTR_PORT_ID = 2, /* u32, source socket nl_pid */ + NLMSGINFO_ATTR_SEQ_ID = 3, /* u32, source message seq_id */ +}; + #ifndef roundup2 #define roundup2(x, y) (((x)+((y)-1))&(~((y)-1))) /* if y is powers of two */ diff --git a/sys/netlink/netlink_ctl.h b/sys/netlink/netlink_ctl.h index 6c195c0217a9..9b51e9492a41 100644 --- a/sys/netlink/netlink_ctl.h +++ b/sys/netlink/netlink_ctl.h @@ -108,5 +108,22 @@ uint32_t genl_get_family_id(const struct genl_family *gf); typedef void (*genl_family_event_handler_t)(void *arg, const struct genl_family *gf, int action); EVENTHANDLER_DECLARE(genl_family_event, genl_family_event_handler_t); +struct thread; +#if defined(NETLINK) || defined(NETLINK_MODULE) +/* Provide optimized calls to the functions inside the same linking unit */ +struct nlpcb *_nl_get_thread_nlp(struct thread *td); + +static inline struct nlpcb * +nl_get_thread_nlp(struct thread *td) +{ + return (_nl_get_thread_nlp(td)); +} + +#else +/* Provide access to the functions via netlink_glue.c */ +struct nlpcb *nl_get_thread_nlp(struct thread *td); + +#endif /* defined(NETLINK) || defined(NETLINK_MODULE) */ + #endif #endif diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 8b0d09ac0b66..9cc2a5073fdd 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -84,6 +85,38 @@ SYSCTL_OID(_net_netlink, OID_AUTO, nl_maxsockbuf, sysctl_handle_nl_maxsockbuf, "LU", "Maximum Netlink socket buffer size"); + +static unsigned int osd_slot_id = 0; + +void +nl_osd_register(void) +{ + osd_slot_id = osd_register(OSD_THREAD, NULL, NULL); +} + +void +nl_osd_unregister(void) +{ + osd_deregister(OSD_THREAD, osd_slot_id); +} + +struct nlpcb * +_nl_get_thread_nlp(struct thread *td) +{ + return (osd_get(OSD_THREAD, &td->td_osd, osd_slot_id)); +} + +void +nl_set_thread_nlp(struct thread *td, struct nlpcb *nlp) +{ + NLP_LOG(LOG_DEBUG2, nlp, "Set thread %p nlp to %p (slot %u)", td, nlp, osd_slot_id); + if (osd_set(OSD_THREAD, &td->td_osd, osd_slot_id, nlp) == 0) + return; + /* Failed, need to realloc */ + void **rsv = osd_reserve(osd_slot_id); + osd_set_reserved(OSD_THREAD, &td->td_osd, osd_slot_id, rsv, nlp); +} + /* * Looks up a nlpcb struct based on the @portid. Need to claim nlsock_mtx. * Returns nlpcb pointer if present else NULL @@ -144,6 +177,15 @@ nl_get_groups_compat(struct nlpcb *nlp) return (groups_mask); } +static void +nl_send_one_group(struct mbuf *m, struct nlpcb *nlp, int num_messages, + int io_flags) +{ + if (__predict_false(nlp->nl_flags & NLF_MSG_INFO)) + nl_add_msg_info(m); + nl_send_one(m, nlp, num_messages, io_flags); +} + /* * Broadcasts message @m to the protocol @proto group specified by @group_id */ @@ -180,7 +222,8 @@ nl_send_group(struct mbuf *m, int num_messages, int proto, int group_id) struct mbuf *m_copy; m_copy = m_copym(m, 0, M_COPYALL, M_NOWAIT); if (m_copy != NULL) - nl_send_one(m_copy, nlp_last, num_messages, io_flags); + nl_send_one_group(m_copy, nlp_last, + num_messages, io_flags); else { NLP_LOCK(nlp_last); if (nlp_last->nl_socket != NULL) @@ -192,7 +235,7 @@ nl_send_group(struct mbuf *m, int num_messages, int proto, int group_id) } } if (nlp_last != NULL) - nl_send_one(m, nlp_last, num_messages, io_flags); + nl_send_one_group(m, nlp_last, num_messages, io_flags); else m_freem(m); @@ -296,6 +339,7 @@ nl_pru_attach(struct socket *so, int proto, struct thread *td) nlp->nl_linux = is_linux; nlp->nl_active = true; nlp->nl_unconstrained_vnet = !jailed_without_vnet(so->so_cred); + nlp->nl_need_thread_setup = true; NLP_LOCK_INIT(nlp); refcount_init(&nlp->nl_refcount, 1); nl_init_io(nlp); @@ -589,6 +633,8 @@ nl_getoptflag(int sopt_name) return (NLF_EXT_ACK); case NETLINK_GET_STRICT_CHK: return (NLF_STRICT); + case NETLINK_MSG_INFO: + return (NLF_MSG_INFO); } return (0); @@ -630,12 +676,18 @@ nl_ctloutput(struct socket *so, struct sockopt *sopt) case NETLINK_CAP_ACK: case NETLINK_EXT_ACK: case NETLINK_GET_STRICT_CHK: + case NETLINK_MSG_INFO: error = sooptcopyin(sopt, &optval, sizeof(optval), sizeof(optval)); if (error != 0) break; flag = nl_getoptflag(sopt->sopt_name); + if ((flag == NLF_MSG_INFO) && nlp->nl_linux) { + error = EINVAL; + break; + } + NLCTL_WLOCK(ctl); if (optval != 0) nlp->nl_flags |= flag; @@ -658,6 +710,7 @@ nl_ctloutput(struct socket *so, struct sockopt *sopt) case NETLINK_CAP_ACK: case NETLINK_EXT_ACK: case NETLINK_GET_STRICT_CHK: + case NETLINK_MSG_INFO: NLCTL_RLOCK(ctl); optval = (nlp->nl_flags & nl_getoptflag(sopt->sopt_name)) != 0; NLCTL_RUNLOCK(ctl); diff --git a/sys/netlink/netlink_glue.c b/sys/netlink/netlink_glue.c index 940ff2de4859..e881bf019f52 100644 --- a/sys/netlink/netlink_glue.c +++ b/sys/netlink/netlink_glue.c @@ -191,6 +191,12 @@ nl_store_ifp_cookie_stub(struct nl_pstate *npt __unused, struct ifnet *ifp __unu { } +static struct nlpcb * +nl_get_thread_nlp_stub(struct thread *td __unused) +{ + return (NULL); +} + const static struct nl_function_wrapper nl_stub = { .nlmsg_add = nlmsg_add_stub, .nlmsg_refill_buffer = nlmsg_refill_buffer_stub, @@ -204,6 +210,7 @@ const static struct nl_function_wrapper nl_stub = { .nlmsg_end_dump = nlmsg_end_dump_stub, .nl_modify_ifp_generic = nl_modify_ifp_generic_stub, .nl_store_ifp_cookie = nl_store_ifp_cookie_stub, + .nl_get_thread_nlp = nl_get_thread_nlp_stub, }; /* @@ -292,5 +299,11 @@ nl_store_ifp_cookie(struct nl_pstate *npt, struct ifnet *ifp) return (_nl->nl_store_ifp_cookie(npt, ifp)); } +struct nlpcb * +nl_get_thread_nlp(struct thread *td) +{ + return (_nl->nl_get_thread_nlp(td)); +} + #endif /* !NETLINK */ diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c index b40ffaab7dd9..db0a97eef0fd 100644 --- a/sys/netlink/netlink_io.c +++ b/sys/netlink/netlink_io.c @@ -125,6 +125,55 @@ queue_free(struct nl_io_queue *q) q->length = 0; } +void +nl_add_msg_info(struct mbuf *m) +{ + struct nlpcb *nlp = nl_get_thread_nlp(curthread); + NL_LOG(LOG_DEBUG2, "Trying to recover nlp from thread %p: %p", + curthread, nlp); + + if (nlp == NULL) + return; + + /* Prepare what we want to encode - PID, socket PID & msg seq */ + struct { + struct nlattr nla; + uint32_t val; + } data[] = { + { + .nla.nla_len = sizeof(struct nlattr) + sizeof(uint32_t), + .nla.nla_type = NLMSGINFO_ATTR_PROCESS_ID, + .val = nlp->nl_process_id, + }, + { + .nla.nla_len = sizeof(struct nlattr) + sizeof(uint32_t), + .nla.nla_type = NLMSGINFO_ATTR_PORT_ID, + .val = nlp->nl_port, + }, + }; + + + while (m->m_next != NULL) + m = m->m_next; + m->m_next = sbcreatecontrol(data, sizeof(data), + NETLINK_MSG_INFO, SOL_NETLINK, M_NOWAIT); + + NL_LOG(LOG_DEBUG2, "Storing %lu bytes of data, ctl: %p", sizeof(data), m->m_next); +} + +static __noinline struct mbuf * +extract_msg_info(struct mbuf *m) +{ + while (m->m_next != NULL) { + if (m->m_next->m_type == MT_CONTROL) { + struct mbuf *ctl = m->m_next; + m->m_next = NULL; + return (ctl); + } + m = m->m_next; + } + return (NULL); +} static void nl_schedule_taskqueue(struct nlpcb *nlp) @@ -181,10 +230,16 @@ tx_check_locked(struct nlpcb *nlp) while (true) { struct mbuf *m = queue_head(&nlp->tx_queue); - if (m && sbappendaddr_locked(sb, nl_empty_src, m, NULL) != 0) { - /* appended successfully */ - queue_pop(&nlp->tx_queue); - appended = true; + if (m != NULL) { + struct mbuf *ctl = NULL; + if (__predict_false(m->m_next != NULL)) + ctl = extract_msg_info(m); + if (sbappendaddr_locked(sb, nl_empty_src, m, ctl) != 0) { + /* appended successfully */ + queue_pop(&nlp->tx_queue); + appended = true; + } else + break; } else break; } @@ -257,6 +312,13 @@ nl_process_received(struct nlpcb *nlp) { NL_LOG(LOG_DEBUG3, "taskqueue called"); + if (__predict_false(nlp->nl_need_thread_setup)) { + nl_set_thread_nlp(curthread, nlp); + NLP_LOCK(nlp); + nlp->nl_need_thread_setup = false; + NLP_UNLOCK(nlp); + } + while (nl_process_received_one(nlp)) ; } @@ -374,7 +436,10 @@ nl_send_one(struct mbuf *m, struct nlpcb *nlp, int num_messages, int io_flags) } struct socket *so = nlp->nl_socket; - if (sbappendaddr(&so->so_rcv, nl_empty_src, m, NULL) != 0) { + struct mbuf *ctl = NULL; + if (__predict_false(m->m_next != NULL)) + ctl = extract_msg_info(m); + if (sbappendaddr(&so->so_rcv, nl_empty_src, m, ctl) != 0) { sorwakeup(so); NLP_LOG(LOG_DEBUG3, nlp, "appended data & woken up"); } else { diff --git a/sys/netlink/netlink_module.c b/sys/netlink/netlink_module.c index 31faf1d003d9..6835c4a0e730 100644 --- a/sys/netlink/netlink_module.c +++ b/sys/netlink/netlink_module.c @@ -189,6 +189,7 @@ const static struct nl_function_wrapper nl_module = { .nlmsg_end_dump = _nlmsg_end_dump, .nl_modify_ifp_generic = _nl_modify_ifp_generic, .nl_store_ifp_cookie = _nl_store_ifp_cookie, + .nl_get_thread_nlp = _nl_get_thread_nlp, }; #endif @@ -222,6 +223,7 @@ netlink_modevent(module_t mod __unused, int what, void *priv __unused) switch (what) { case MOD_LOAD: NL_LOG(LOG_DEBUG2, "Loading"); + nl_osd_register(); #if !defined(NETLINK) && defined(NETLINK_MODULE) nl_set_functions(&nl_module); #endif @@ -235,6 +237,7 @@ netlink_modevent(module_t mod __unused, int what, void *priv __unused) #if !defined(NETLINK) && defined(NETLINK_MODULE) nl_set_functions(NULL); #endif + nl_osd_unregister(); } else ret = EBUSY; break; diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h index 191a303111fa..4cb1b3e13abc 100644 --- a/sys/netlink/netlink_snl.h +++ b/sys/netlink/netlink_snl.h @@ -277,6 +277,55 @@ snl_get_seq(struct snl_state *ss) return (++ss->seq); } +struct snl_msg_info { + int cmsg_type; + int cmsg_level; + uint32_t process_id; + uint8_t port_id; + uint8_t seq_id; +}; +static inline bool parse_cmsg(struct snl_state *ss, const struct msghdr *msg, + struct snl_msg_info *attrs); + +static inline struct nlmsghdr * +snl_read_message_dbg(struct snl_state *ss, struct snl_msg_info *cinfo) +{ + memset(cinfo, 0, sizeof(*cinfo)); + + if (ss->off == ss->datalen) { + struct sockaddr_nl nladdr; + char cbuf[64]; + + struct iovec iov = { + .iov_base = ss->buf, + .iov_len = ss->bufsize, + }; + struct msghdr msg = { + .msg_name = &nladdr, + .msg_namelen = sizeof(nladdr), + .msg_iov = &iov, + .msg_iovlen = 1, + .msg_control = cbuf, + .msg_controllen = sizeof(cbuf), + }; + ss->off = 0; + ss->datalen = 0; + for (;;) { + ssize_t datalen = recvmsg(ss->fd, &msg, 0); + if (datalen > 0) { + ss->datalen = datalen; + parse_cmsg(ss, &msg, cinfo); + break; + } else if (errno != EINTR) + return (NULL); + } + } + struct nlmsghdr *hdr = (struct nlmsghdr *)(void *)&ss->buf[ss->off]; + ss->off += NLMSG_ALIGN(hdr->nlmsg_len); + return (hdr); +} + + static inline struct nlmsghdr * snl_read_message(struct snl_state *ss) { @@ -661,6 +710,33 @@ snl_read_reply_code(struct snl_state *ss, uint32_t nlmsg_seq, struct snl_errmsg_ return (false); } +#define _OUT(_field) offsetof(struct snl_msg_info, _field) +static const struct snl_attr_parser _nla_p_cinfo[] = { + { .type = NLMSGINFO_ATTR_PROCESS_ID, .off = _OUT(process_id), .cb = snl_attr_get_uint32 }, + { .type = NLMSGINFO_ATTR_PORT_ID, .off = _OUT(port_id), .cb = snl_attr_get_uint32 }, + { .type = NLMSGINFO_ATTR_SEQ_ID, .off = _OUT(seq_id), .cb = snl_attr_get_uint32 }, +}; +#undef _OUT +SNL_DECLARE_ATTR_PARSER(snl_msg_info_parser, _nla_p_cinfo); + +static inline bool +parse_cmsg(struct snl_state *ss, const struct msghdr *msg, struct snl_msg_info *attrs) +{ + for (struct cmsghdr *cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; + cmsg = CMSG_NXTHDR(msg, cmsg)) { + if (cmsg->cmsg_level != SOL_NETLINK || cmsg->cmsg_type != NETLINK_MSG_INFO) + continue; + + void *data = CMSG_DATA(cmsg); + int len = cmsg->cmsg_len - ((char *)data - (char *)cmsg); + const struct snl_hdr_parser *ps = &snl_msg_info_parser; + + return (snl_parse_attrs_raw(ss, data, len, ps->np, ps->np_size, attrs)); + } + + return (false); +} + /* * Assumes e is zeroed */ diff --git a/sys/netlink/netlink_var.h b/sys/netlink/netlink_var.h index cb1e3974b5f5..7882bfbf5359 100644 --- a/sys/netlink/netlink_var.h +++ b/sys/netlink/netlink_var.h @@ -62,6 +62,7 @@ struct nlpcb { bool nl_tx_blocked; /* No new requests accepted */ bool nl_linux; /* true if running under compat */ bool nl_unconstrained_vnet; /* true if running under VNET jail (or without jail) */ + bool nl_need_thread_setup; struct nl_io_queue rx_queue; struct nl_io_queue tx_queue; struct taskqueue *nl_taskqueue; @@ -88,6 +89,7 @@ struct nlpcb { #define NLF_CAP_ACK 0x01 /* Do not send message body with errmsg */ #define NLF_EXT_ACK 0x02 /* Allow including extended TLVs in ack */ #define NLF_STRICT 0x04 /* Perform strict header checks */ +#define NLF_MSG_INFO 0x08 /* Send caller info along with the notifications */ SYSCTL_DECL(_net_netlink); SYSCTL_DECL(_net_netlink_debug); @@ -130,6 +132,9 @@ extern struct nl_proto_handler *nl_handlers; /* netlink_domain.c */ void nl_send_group(struct mbuf *m, int cnt, int proto, int group_id); +void nl_osd_register(void); +void nl_osd_unregister(void); +void nl_set_thread_nlp(struct thread *td, struct nlpcb *nlp); /* netlink_io.c */ #define NL_IOF_UNTRANSLATED 0x01 @@ -144,6 +149,8 @@ void nl_free_io(struct nlpcb *nlp); void nl_taskqueue_handler(void *_arg, int pending); int nl_receive_async(struct mbuf *m, struct socket *so); void nl_process_receive_locked(struct nlpcb *nlp); +void nl_set_source_metadata(struct mbuf *m, int num_messages); +void nl_add_msg_info(struct mbuf *m); /* netlink_generic.c */ struct genl_family { @@ -193,6 +200,7 @@ struct nl_function_wrapper { int (*nl_modify_ifp_generic)(struct ifnet *ifp, struct nl_parsed_link *lattrs, const struct nlattr_bmask *bm, struct nl_pstate *npt); void (*nl_store_ifp_cookie)(struct nl_pstate *npt, struct ifnet *ifp); + struct nlpcb * (*nl_get_thread_nlp)(struct thread *td); }; void nl_set_functions(const struct nl_function_wrapper *nl); From nobody Fri Apr 28 14:05:50 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7DsV3Vh1z48Wgm; Fri, 28 Apr 2023 14:05: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 4Q7DsV307Yz3wC1; Fri, 28 Apr 2023 14:05:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682690750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5tNDP0VGef7HIx/JeHCkgmWTeN69y0mMFoMxkOUvmoY=; b=p6wjEk0rk9AO3dtBxzXh40t2HcBWYcYafUWyjHlmhrq2/E6US3TGf44XKZ58keqj/hGK/b DBUHHDdI5rJc8UnlBToJlGCUMvtU+3wyCdj/IKiB2o9+AryqmHTYgb0aF6+z3rqyfUXHLZ 6fuIP9AObmAQUpLLt9XXunrwDmpgRcPGgA79J0hj/E8S0O2tuFd95HAD3qtKfrV4xfI449 BrocGWgBqWU7N2o9dDrkMIKC2Xd/GPIWN3gxwyJhaycbYzmdnW8sIZdZpbv4BxKGo/TgKE Rhlcj7tGvBO0nwaEdWaX9aiXi/G6Bn8ZqeUTLwudZHNqC7nKRiKPMEyiLYRoWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682690750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5tNDP0VGef7HIx/JeHCkgmWTeN69y0mMFoMxkOUvmoY=; b=uwxwao1+7bav3rSF9bZOSBkrDa3MCDYYnF9jjLsv2LOuLiO/oMF6E1KORtcrozlQupVL1Y aMXPjnOXEDWTAKSlG4+m4Vzt8c0nJnB4MYiU2nl/oWUypv9t6tgrzV0QWqqbkICP6NmmNl qzwOY2OkM3TumargcQ4stIwUpjLVtR3MIap/EkJW3524KhMbkiV/eK1ZqZpm1hU22L4uuX 5/l5RlBoRpiEIYGgpI421BQEvLvRDVB3v8mlRo8yJi/RiQRs+QEUUtodhgOPa9H+mvFS3D cu6GOUrRcQFE2rIAg0XTihtveIrWBUd+B/Ihb5yGUN0L/skAbGPnvN1cvxL1/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682690750; a=rsa-sha256; cv=none; b=twOeWlpJuwk7OHJW70cLPTZnS0TUel053bXemT4q0l5IVkl5r9QelZ4MNn5LNXbzU6Z/4n qEczn7jdJsMfyTzWgwgnSHe/1nS0Lpssa8Y9gwcdny4UljL8Gi1+jQNg1SzW8SsRAm8hVH COB96aJRSvw1YtSUBr2NoRCD/Rz4pXYTblDpNvIsyUU4lMprw8LhnTYRimoIGmUg5KOMvV 7X0SrHp3nd9+WzEqEKO4HjPOwysu3d9cAD04e+z4FRR7np/AFcYdx3crLi4uvHsylmPkV+ w3+S5ORBwWRcq56Yz25H9FMLKr5eaTTxzOvnAWFV4JcjaqAMcZPb209Tntwb2Q== 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 4Q7DsV259tz12bL; Fri, 28 Apr 2023 14:05: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 33SE5o4g029890; Fri, 28 Apr 2023 14:05:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SE5oMe029889; Fri, 28 Apr 2023 14:05:50 GMT (envelope-from git) Date: Fri, 28 Apr 2023 14:05:50 GMT Message-Id: <202304281405.33SE5oMe029889@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: dc818134974a - main - netlink: properly zero all fields in the ndmsg header. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dc818134974a6ed33c3af4c4fb15a47980093aef Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=dc818134974a6ed33c3af4c4fb15a47980093aef commit dc818134974a6ed33c3af4c4fb15a47980093aef Author: Alexander V. Chernikov AuthorDate: 2023-04-28 14:04:47 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-28 14:04:47 +0000 netlink: properly zero all fields in the ndmsg header. MFC after: 3 days --- sys/netlink/route/neigh.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index db72bc9bfd4e..807c125cc3f0 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -156,9 +156,12 @@ dump_lle_locked(struct llentry *lle, void *arg) ndm = nlmsg_reserve_object(nw, struct ndmsg); ndm->ndm_family = wa->family; + ndm->ndm_pad1 = 0; + ndm->ndm_pad2 = 0; ndm->ndm_ifindex = wa->ifp->if_index; ndm->ndm_state = lle_state_to_nl_state(wa->family, lle); ndm->ndm_flags = lle_flags_to_nl_flags(lle); + ndm->ndm_type = 0; switch (wa->family) { #ifdef INET From nobody Fri Apr 28 14:13:21 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7F294DG3z48Wck; Fri, 28 Apr 2023 14:13: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 4Q7F293KqGz3xJJ; Fri, 28 Apr 2023 14:13:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682691201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VR+XoJyGEVIthKNIOG9tTpPP7IsCvMHKbc709/wBKSw=; b=eZNjH5xkpOgjCkgHzAuP17paTJzGGKGW0W8REitvahOujOYIsChdYXb3UJekpFbNGbVScQ 23ZEfaKSwUpH/DDunmHCSmUY+uLZ2xl2MP2TyUYePCcL2kq/c3Hntjkt4p3uTpvDmprkQR dCqjgtjyNMyE4G7XaMC0Uwia8NwTXhDKZB59HVn7Vs4dykGogOXaFOBWhpb5YSAfT1h56M iTN5b8U9nNbeJQl5LV/rMqB9Bt/9Z14/6J8NlzL+/9vrtw7u6Q1HrPaKb1rzkijBVG1W8A GuRQ0+jxhhPG8OOgtUf6dTQtj7TAqXJE5ub5kbOMKG8yEPH8Zx0j8VXr+tDvXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682691201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VR+XoJyGEVIthKNIOG9tTpPP7IsCvMHKbc709/wBKSw=; b=UScM2Fvz96azBycDfy3BlfVf5wU5WijNH8zBbYAFc2NTBqpb4xiD5JpxJSVITxAlYtKK2e EV4y9wNjMVMektk4VxhMYOSab7bi023A/84toLtAsEAsSQc3oLyBvTQvvfbwSGzgjiLrUV j1uBTxu0ez9Tb6APNDqKQ6cva+AN8Y94KhRsCBHkziQCOMQ2U7T++VxuWOvzaO3XcIhxwo uFgvBYqsOHekGbWauFxz5gAQIh50pyCNjUwG9obnhoL44JGMjzWUf+jyQ9E2oXv/EAEBLd 2Lt+RZWcDCdBxmAOPj9FvSILSqw1pwgYykPML7rM3LqBgTmAlt+o0j00rO2k+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682691201; a=rsa-sha256; cv=none; b=HINGjU4EhSzZLQZ8YcRXU56G/MCvJjFX6RVMhQO32GLesQ+jfWVEZoTIvvtHK9RSIdSkLs 8WiHdhMvGQt6crL4VC02CW78m0163c098TjypP7fK2ai/QKTxhwxfm10Pkek5V3usQzUlF 5WMKC8osfms1U2LUyeI4jW8T2x2dUMXU3syK0Vam0Yg36a9JJGJK3HVEGN1tP/ARu/yW86 h3nf6Lzobc5LC31YujQidW3imDGTEqx3FvBAByO+zFkoqFnAGwb8T3nzyAcUgrkII2qJ4A CzRNIYTe3vp8D6i7Nlxd9d6Yu4MY5xColxtavhUaiscwMokXkkCxNm7RhB46iQ== 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 4Q7F292MVLz12bm; Fri, 28 Apr 2023 14:13: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 33SEDLlp046431; Fri, 28 Apr 2023 14:13:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SEDLe5046430; Fri, 28 Apr 2023 14:13:21 GMT (envelope-from git) Date: Fri, 28 Apr 2023 14:13:21 GMT Message-Id: <202304281413.33SEDLe5046430@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 56f2446575c7 - main - Apply clang fix for assertion building emulators/rpcs3 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 56f2446575c78d962b6dda5e3310bec078622f3d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=56f2446575c78d962b6dda5e3310bec078622f3d commit 56f2446575c78d962b6dda5e3310bec078622f3d Author: Dimitry Andric AuthorDate: 2023-04-28 14:08:42 +0000 Commit: Dimitry Andric CommitDate: 2023-04-28 14:09:45 +0000 Apply clang fix for assertion building emulators/rpcs3 Merge commit a5e1a93ea10f from llvm-project (by Mariya Podchishchaeva): [clang] Fix crash when handling nested immediate invocations Before this patch it was expected that if there was several immediate invocations they all belong to the same expression evaluation context. During parsing of non local variable initializer a new evaluation context is pushed, so code like this ``` namespace scope { struct channel { consteval channel(const char* name) noexcept { } }; consteval const char* make_channel_name(const char* name) { return name;} channel rsx_log(make_channel_name("rsx_log")); } ``` produced a nested immediate invocation whose subexpressions are attached to different expression evaluation contexts. The constructor call belongs to TU context and `make_channel_name` call to context of variable initializer. This patch removes this assumption and adds tracking of previously failed immediate invocations, so it is possible when handling an immediate invocation th check that its subexpressions from possibly another evaluation context contains errors and not produce duplicate diagnostics. Fixes https://github.com/llvm/llvm-project/issues/58207 Reviewed By: aaron.ballman, shafik Differential Revision: https://reviews.llvm.org/D146234 PR: 269489 MFC after: 3 days --- .../llvm-project/clang/include/clang/Sema/Sema.h | 3 +++ contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 26 +++++++++++++++------- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/contrib/llvm-project/clang/include/clang/Sema/Sema.h b/contrib/llvm-project/clang/include/clang/Sema/Sema.h index 681a76dfa56a..53257a1bb028 100644 --- a/contrib/llvm-project/clang/include/clang/Sema/Sema.h +++ b/contrib/llvm-project/clang/include/clang/Sema/Sema.h @@ -1365,6 +1365,9 @@ public: /// A stack of expression evaluation contexts. SmallVector ExprEvalContexts; + // Set of failed immediate invocations to avoid double diagnosing. + llvm::SmallPtrSet FailedImmediateInvocations; + /// Emit a warning for all pending noderef expressions that we recorded. void WarnOnPendingNoDerefs(ExpressionEvaluationContextRecord &Rec); diff --git a/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp b/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp index 83081bbf0aa0..a8fe9a68c8cb 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp @@ -17529,6 +17529,7 @@ static void EvaluateAndDiagnoseImmediateInvocation( bool Result = CE->EvaluateAsConstantExpr( Eval, SemaRef.getASTContext(), ConstantExprKind::ImmediateInvocation); if (!Result || !Notes.empty()) { + SemaRef.FailedImmediateInvocations.insert(CE); Expr *InnerExpr = CE->getSubExpr()->IgnoreImplicit(); if (auto *FunctionalCast = dyn_cast(InnerExpr)) InnerExpr = FunctionalCast->getSubExpr(); @@ -17567,10 +17568,16 @@ static void RemoveNestedImmediateInvocation( [E](Sema::ImmediateInvocationCandidate Elem) { return Elem.getPointer() == E; }); - assert(It != IISet.rend() && - "ConstantExpr marked IsImmediateInvocation should " - "be present"); - It->setInt(1); // Mark as deleted + // It is possible that some subexpression of the current immediate + // invocation was handled from another expression evaluation context. Do + // not handle the current immediate invocation if some of its + // subexpressions failed before. + if (It == IISet.rend()) { + if (SemaRef.FailedImmediateInvocations.contains(E)) + CurrentII->setInt(1); + } else { + It->setInt(1); // Mark as deleted + } } ExprResult TransformConstantExpr(ConstantExpr *E) { if (!E->isImmediateInvocation()) @@ -17639,10 +17646,13 @@ HandleImmediateInvocations(Sema &SemaRef, SemaRef.RebuildingImmediateInvocation) return; - /// When we have more then 1 ImmediateInvocationCandidates we need to check - /// for nested ImmediateInvocationCandidates. when we have only 1 we only - /// need to remove ReferenceToConsteval in the immediate invocation. - if (Rec.ImmediateInvocationCandidates.size() > 1) { + /// When we have more than 1 ImmediateInvocationCandidates or previously + /// failed immediate invocations, we need to check for nested + /// ImmediateInvocationCandidates in order to avoid duplicate diagnostics. + /// Otherwise we only need to remove ReferenceToConsteval in the immediate + /// invocation. + if (Rec.ImmediateInvocationCandidates.size() > 1 || + !SemaRef.FailedImmediateInvocations.empty()) { /// Prevent sema calls during the tree transform from adding pointers that /// are already in the sets. From nobody Fri Apr 28 15:19:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7GVP3bmwz48bHP; Fri, 28 Apr 2023 15:19:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q7GVP17gTz44rs; Fri, 28 Apr 2023 15:19:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682695165; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SSXmyLVcN9OuHC5YOmqBZGEQhN90RbyTLKsxpOvpC0Y=; b=khYe06fym/ETkSjoYGd3jLtU/8w3MF9qHdyLil3L9AF4GTEbvwG/PctLQ8AtKwdPSIaF+Y /2qv0UfssGnNN6C8z/DN9iewfXfoNyExvrEAn09+jHxmSuw2uyaco9WznRAkgIzUBONSk/ YUpTUwFNPKvxsCCixEdOb3QdsgzPjwcxBAFTsafwUCC/Csnj8yfJzDnoNmhSstav8SJ9AL I/soeFpEejai29lL0LOFDkz2Jq4iWZ1jbh9uPVseVv5HjadG9sYDFFc+yTLWba4kMAXqLC MY1CHnkx2Isd9F9FI72G22EgUpwmgcR+MaMOjl8eoOoBBO+8rIS8KYuMEGB9MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682695165; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SSXmyLVcN9OuHC5YOmqBZGEQhN90RbyTLKsxpOvpC0Y=; b=c9F2415mXhiRo/Qoioa43iL4VtH8klDBKkTJdQcK5bM2wwuH17fZFZftX/6k0iLtZyypMz Zdb4jWaT10yOmlDjMnCHQinHcnMCt01xkFy5DkaOo2U9UWQN0C9LHFGNseEZqhJP7EgMFs Mx/OJiTvXoRGIijclKRBLMLhgmkRhxiAmgHMoyh9weSnxu6RzWLYdmhILIMphP4523q2EJ bZhcdiwFCmkJD/H7QdLmnYhKTLKrnLxdUDygo/3SG5Zlv6jl1RCMK7k7Ta6CYrppNCa8sw TY+jwFHsaR6G72fAcNBV4uPj5lrFYyZFi2t21Wl3TVfRlSOo8KYfanEkeF1Nmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682695165; a=rsa-sha256; cv=none; b=LnADbSn2SmCw+ontEcCJMcrBDaL43u3LpWblhLz/Ds9IOmvFFlpX5yp4ytXpR+5pNV7uhO jHkF/noghajve/IZmQtR3bZS44ZXabU/oWH7VPDYLdzuMKmZ5jmIBIdu+K9qph8Q2HCaQH UKr9O7Ptj7IrERK/lUs6gGFUaQQNHlWYp3JTcKvPvTuBzCqWcM0s6uGF8JR/7hiRRMHrxR ANne5avU74LVzkmUOGPYxJ+lmbTiWqOeusPlqsTCOVRKGD+OOeR5OMyp4HolkGLm7Fe+U0 iXZwglywNm8p4pRR+y3iiA4YAQ1O+Xxj5YUTIFTiX1zmQuYOYk0BLD9y0jSAFQ== 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 4Q7GVP0BWQz14dq; Fri, 28 Apr 2023 15:19: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 33SFJOWL046022; Fri, 28 Apr 2023 15:19:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SFJOpZ046021; Fri, 28 Apr 2023 15:19:24 GMT (envelope-from git) Date: Fri, 28 Apr 2023 15:19:24 GMT Message-Id: <202304281519.33SFJOpZ046021@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: 6eca9db1e7a5 - main - busdma: Update KMSAN shadow maps later in bounce_bus_dmamap_sync() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6eca9db1e7a52b1060c8999cafb5cb088854aabb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=6eca9db1e7a52b1060c8999cafb5cb088854aabb commit 6eca9db1e7a52b1060c8999cafb5cb088854aabb Author: Mark Johnston AuthorDate: 2023-04-28 14:49:25 +0000 Commit: Mark Johnston CommitDate: 2023-04-28 14:59:01 +0000 busdma: Update KMSAN shadow maps later in bounce_bus_dmamap_sync() Otherwise POSTREAD syncs may re-invalidate the shadow of the data buffer when copying from bounce pages, resulting in false-positive KMSAN reports. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation --- sys/x86/x86/busdma_bounce.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/x86/x86/busdma_bounce.c b/sys/x86/x86/busdma_bounce.c index cf919c01ca64..7f488198e2c0 100644 --- a/sys/x86/x86/busdma_bounce.c +++ b/sys/x86/x86/busdma_bounce.c @@ -924,7 +924,6 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, if (map == NULL) goto out; - kmsan_bus_dmamap_sync(&map->kmsan_mem, op); if ((bpage = STAILQ_FIRST(&map->bpages)) == NULL) goto out; @@ -1018,6 +1017,8 @@ next_r: } out: atomic_thread_fence_rel(); + if (map != NULL) + kmsan_bus_dmamap_sync(&map->kmsan_mem, op); } #ifdef KMSAN From nobody Fri Apr 28 15:19:26 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7GVQ4SqPz48bN2; Fri, 28 Apr 2023 15:19: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 4Q7GVQ2DvGz44cR; Fri, 28 Apr 2023 15:19:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682695166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tbfqdEVxqHi0SqIJnuzfAbzpTbqcUPzdmNkrcJAoOo0=; b=rrB/LuPeRYrfiSNJaKSft9zSkKDd+E/9iYYyZiSDF/UZccHpi0BQgim67X22aDH+pb0lUH PPAtiCvXroBrTNsHU+8QWubsHuywCDNfb68iOgT+mnzXRBU5G4Cg76F0hS70f+TbAYhuNr 7VE8Xs+DiysWsZRc0zQr442vNg+aSDFI/Na90xvgag8BkKCTKJ0yxoiogOGB1lqK2suY8R ID3l8xxXtK3YDDKHMaA9Z2iyDyNWbsAEZeJfd0eEi1sOwFluEi3Gj+RPdrIkkjODHqaixF FnfB1TpJncdGrIe+XLXKphjAe4cH8UjcUaROD5Nwvhe1mu8L3EAuGSSCtXHg2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682695166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tbfqdEVxqHi0SqIJnuzfAbzpTbqcUPzdmNkrcJAoOo0=; b=h/kCf073UhUinq26io1qg9OWWRsGYe9ge1YqNccYxv24nTDt8/xE8CSRGUo2qF6jQgjD7b qiEL3ufqOkPao7ocKEVmzlyF/NHDUFxfAsWTavR960xCpMNn9PH9m00ZXCAUD2I7qqQn/U h1iAy08ZvVQjbT2DkrjD8QsIzpus2SHpDu9PqnM4O0WTXP6p4xnJv476O6GC7CfeY23tjB lApz+ecbYBKwLhf1kAzQhG8u8RGX5rbtsbFvEndMlS0uUgXObRm+B6ow5Vzz1LLhuAAXTx /OoR7kmdKqUFbCLwRCqCPSI3uidteubh+ZJ8P30A4ou4jQlTp1xVCdRQWf8kwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682695166; a=rsa-sha256; cv=none; b=ioYrg46ZQczxw4JP3zYw7KJOWNqC9HhQjDR4++vSWBZ20hG7lYS+b4EVBcj4vRRjtCP2j5 Vwl3w+hpD66OJuUklqP48OQnk/iA2adIS2FR+BsaB7eCd/fyQpHgRESfqsBX1ANSjGiwhW vVp/u1x4PkIBAn/GX+bV9XZXrBpfiw1YzoF2kRELRwRdEOrHlgnAcrJxgIP1YFo5dJos6c YxAJjiq8+m5gRFxcYPlLAmBElK2xvW43lFySrTE0Morjh1/cqaB1r+uuplb60cRKeiyO7y +TtrKTFqCNSrIpwOezuI92xFFd1PGZU/DLxjc5xLfES9Dd/PY8c6sZw8ckgg6Q== 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 4Q7GVQ1L4Nz14N9; Fri, 28 Apr 2023 15:19: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 33SFJQ6u046041; Fri, 28 Apr 2023 15:19:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SFJQDj046040; Fri, 28 Apr 2023 15:19:26 GMT (envelope-from git) Date: Fri, 28 Apr 2023 15:19:26 GMT Message-Id: <202304281519.33SFJQDj046040@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: b999f2458c5a - main - kinst: do not use DPCPU_ID_GET if we already have the trampoline List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b999f2458c5af068a3b35245bf6905baa19e916c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b999f2458c5af068a3b35245bf6905baa19e916c commit b999f2458c5af068a3b35245bf6905baa19e916c Author: Christos Margiolis AuthorDate: 2023-04-28 15:11:10 +0000 Commit: Mark Johnston CommitDate: 2023-04-28 15:11:10 +0000 kinst: do not use DPCPU_ID_GET if we already have the trampoline No functional change intended. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39870 --- sys/cddl/dev/kinst/amd64/kinst_isa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/cddl/dev/kinst/amd64/kinst_isa.c b/sys/cddl/dev/kinst/amd64/kinst_isa.c index f5fdeabd69e4..b89c3ce15a1a 100644 --- a/sys/cddl/dev/kinst/amd64/kinst_isa.c +++ b/sys/cddl/dev/kinst/amd64/kinst_isa.c @@ -612,7 +612,7 @@ kinst_md_deinit(void) CPU_FOREACH(cpu) { tramp = DPCPU_ID_GET(cpu, intr_tramp); if (tramp != NULL) { - kinst_trampoline_dealloc(DPCPU_ID_GET(cpu, intr_tramp)); + kinst_trampoline_dealloc(tramp); DPCPU_ID_SET(cpu, intr_tramp, NULL); } } From nobody Fri Apr 28 15:44:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7H303hlkz48cLM; Fri, 28 Apr 2023 15:44: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 4Q7H302x9Kz46rl; Fri, 28 Apr 2023 15:44:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682696652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nzO2ylH/HsjSg+E4L1TxPZhKt7yyxvpxvd8lG6LLVzk=; b=D1BkiNc4MX11Dhd6X6L5OacXGNx+vprOSzwJx60uVPfB7QEpqV9pgJL/dxWwo0W5hMkco3 xPggYxm69DrLc3o/ncC15p7rEsT6Ai/+yUgnjbtooAcI3Ap0YjPqERYHz6IIdyL/qOBLsM UjlUeRIhJJ/osCFByV4joiSGtEpId5nQ8f4j31SHb3adRwYBMLRJbGEgg9PMJ7xxllmsrz NHpA6Wq63s++u+lVKJocvzNfC0Y0vb0ZuKtPULIYty783N+IiV7Q+emm9Kt54fnnKu0Dbs vOcvjKqAXVBTkhNx/dQZkilVvmzKlzRE5EmaeDSkbZ29GEJjPya11b64aSLAOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682696652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nzO2ylH/HsjSg+E4L1TxPZhKt7yyxvpxvd8lG6LLVzk=; b=HiIaSc3firJYKph7RgDXFlYSFD7kg6sJJVJXMtAyo9WLcGs+M7/nb5g7PdcsOGAWNZMcMs i/u1ikeN4AAFGeRzKRueHnHXj3u9b8cHmppJyVDfJIkLRY3aYpVJOG3sXw2GcyL79Z+Vfk zwv4HPm9p92gkDdNWnW4dlqnsa9zbLWxeRZXb50qwpm+1s7xZfg6n4TSjcYXY9kEmdh2S9 AkI9L/WmV41D2p8vWc4Xbfx0IQKpWAVTst6LQtMq8HlXVL0UDdBCYNPoGESY7oefSFYcVU /IaNNWYPQj/qDXAhIF4WvfQnDNfmXqKynrx/1yYy0/Y0m3fDkUjfHV2+kd4YEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682696652; a=rsa-sha256; cv=none; b=LBdTgaeKF3QtLAy5mmDAlGplRyrlPJgJLz0ciEpZiTODSW4/60puDACP+elz553kMJpIkV WphmWbfscJAn94Nh1yJ9aT9wVosepcF9t5q3inGHHXPRuMKTMBLI96shoiec4NtE0oOW2u og/lfyuGP60TIAamVjdAJhsZKk19Wmejq687+QTKYO7gimkEBUls7G/qv0SqQfXtx6qcgX 5DwvAvpJsgBK6oahQSwZbK2QKohiWjFlDCCIVowkfi+km4Ot4bsbz679Z+dPGzvkXpOC59 Uu7/QAXTuV2ZXdP+O4UEKOdPseQhPJuGJbk/n6iAXsWA9b2xBDOo2/CedzAKTw== 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 4Q7H301zq8z15VL; Fri, 28 Apr 2023 15:44: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 33SFiCtr093970; Fri, 28 Apr 2023 15:44:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SFiCDT093969; Fri, 28 Apr 2023 15:44:12 GMT (envelope-from git) Date: Fri, 28 Apr 2023 15:44:12 GMT Message-Id: <202304281544.33SFiCDT093969@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: bc8dc48437a4 - main - netlink: add forgotten opt_netlink header List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bc8dc48437a443ded91d7522aff17830bec23db2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=bc8dc48437a443ded91d7522aff17830bec23db2 commit bc8dc48437a443ded91d7522aff17830bec23db2 Author: Alexander V. Chernikov AuthorDate: 2023-04-28 15:44:01 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-28 15:44:01 +0000 netlink: add forgotten opt_netlink header --- sys/netlink/netlink_domain.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 9cc2a5073fdd..7538336bdc45 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -30,6 +30,7 @@ * This file contains socket and protocol bindings for netlink. */ +#include "opt_netlink.h" #include #include #include From nobody Fri Apr 28 15:47:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7H6X6ld6z48cT9; Fri, 28 Apr 2023 15:47: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 4Q7H6X68Y0z471y; Fri, 28 Apr 2023 15:47:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682696836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U9n7FlzXHjC2AplIIzxAKXs/4UqQ/ORQskXlEOFoI1c=; b=ZYse+aDAibfsbzXjp3izRHS9C/HEVWWQow3KhfiPuDHxjGFbbuzB6nFaRWwMtjYDeXKJBL +C3TbiGq770qDy1DK7B/9hzX/Lv0NN9izkllXpMYaryET4JnEY3Lu4fUdNQv6L/OS9vZ/W v7qMIW6nrNzo+Ma/UXR9crDy3mJ4hofnqGEsxEyjxkKOEchj8xulOzgZHMCLaHoW4bYVsc BhIVQictarSpwH5SOAM8/cBLE2IHFzW1Av0yTKlMKpHrlwLeKHp86QSz2clc7aLGjPxerI RKQFnOapsmjrrEq0N8XMatcXo8xL4T61sKLksc4QhXQ7biyq7iRb974Bnzq91w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682696836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U9n7FlzXHjC2AplIIzxAKXs/4UqQ/ORQskXlEOFoI1c=; b=SIPB+bULUd3NgVbyU8R+qxf4SKucuEFgzJxW7d9rzszU9kft9+Q7JM0TZElfxEfQRQqTgQ 2+kMhbvOWgk53NmCusdBQJYygt2vcOJz5jFhPdNmivpLyHXQbYfUru0ZqBKNKmTSIp/1QQ oMO8PiG2vQoIJEPEjUZYgju6Gup133aX1IvxACIv+T2JTieAdp7GY1j17/m8/4fN9U3d4i QevxTo89jS8ITJFbf+E5Rl2Z3J/RwrWejTSdbtVrm1FsPW9wawvGKlGizckSUeTxEjjoyN KiHqQFD6GqXDf9EgC6rHY+kQ4oJwM5PMdSsTCX7NawMCHECLUiOFklbUeNOaaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682696836; a=rsa-sha256; cv=none; b=RoiEOnHgUjZmslZZhq8dh76Q3wTPEEMKBbcc+/MftJxmnHBm1u+LOvYsKecfPOspn6AlZP 7Dh2iH0VIeFV1jmZSnVvsBLi0Y4cRe2rIpKTjpPfz4sOJxYU4ZP3dY1LQgP2Cogg77E0hb afnu4NhBcCoYUE/X3cISWl/xvgLyKNZ1vuQQDIr41/8OOR8sbzPKz4sC6U59hdaZglKa6B 7DaGHfqaT5qyTik+rl7dQCr1TP4OSlfFXEQBv6T3B0Siixl5ba0d8NCW9kbZrCXY26PD/N DxUd4wq/f7fi9TUpGQvnTIOpU59MtVIjkg4hF6TwQkYeXIBABrWUeS1esI6zYg== 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 4Q7H6X5F1Mz15LF; Fri, 28 Apr 2023 15:47: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 33SFlGWx094453; Fri, 28 Apr 2023 15:47:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SFlG9b094452; Fri, 28 Apr 2023 15:47:16 GMT (envelope-from git) Date: Fri, 28 Apr 2023 15:47:16 GMT Message-Id: <202304281547.33SFlG9b094452@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: 2711d4345e87 - main - netlink: fix debug message on 32-bit archs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2711d4345e87af0412641936984a3d73505fb525 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=2711d4345e87af0412641936984a3d73505fb525 commit 2711d4345e87af0412641936984a3d73505fb525 Author: Alexander V. Chernikov AuthorDate: 2023-04-28 15:47:11 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-28 15:47:11 +0000 netlink: fix debug message on 32-bit archs --- sys/netlink/netlink_io.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c index db0a97eef0fd..9f5ecf63a07d 100644 --- a/sys/netlink/netlink_io.c +++ b/sys/netlink/netlink_io.c @@ -158,7 +158,8 @@ nl_add_msg_info(struct mbuf *m) m->m_next = sbcreatecontrol(data, sizeof(data), NETLINK_MSG_INFO, SOL_NETLINK, M_NOWAIT); - NL_LOG(LOG_DEBUG2, "Storing %lu bytes of data, ctl: %p", sizeof(data), m->m_next); + NL_LOG(LOG_DEBUG2, "Storing %u bytes of data, ctl: %p", + (unsigned)sizeof(data), m->m_next); } static __noinline struct mbuf * From nobody Fri Apr 28 17:15:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7K4L1NDvz47jNb; Fri, 28 Apr 2023 17:15: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 4Q7K4L0tYZz4HyL; Fri, 28 Apr 2023 17:15:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682702130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dgahQ7xaqGQ9LHNnXuQvdsr0R+929ueDAKoHSoRBYok=; b=HoMvc/vR0x3P6jqd/ND6w+crXZdftXf4lYNuOrstMXPLwTrik+J0lmRDipwnE397DA+23g jISdJWmufXJMOPXji9U+ISJlF7vOeDS1uUUxyVJY4QbvU6s3shCsXXiAp9wP0nqRRrUzdY p3ft5Lg2n71wQkr7UcpeETF7FBWKvHlmmIcrcF1zPIxYBz7IFbVYAGWX9MnlSUGMSUW/Xf aK2hyw/yP2BATrs5sXnRyk2rztiNuHJFt/wayl5jcWlEVBiAB+wyjeewwujfrgGMB6vDWx 0BZfdsnmHbwHAkYOPvUrIf6eQCRhnyBS/tWlkHJM4vjW7YGg2R7ZGmmhKDV19w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682702130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dgahQ7xaqGQ9LHNnXuQvdsr0R+929ueDAKoHSoRBYok=; b=jSLQAbkc3WQDyuvSsknVxf1YEo06nkGcrik0R3VIRCdTVS8FeJyX+71Eb2w6HeZGs5UoYq UaFW0GnyAmkbLbsyIPEbJ74TIfat1KJS/vAd5xFeMpM8e0zqHqCwebZVQ5P7gDebuFBfc1 LWjxy4MdoXKMhGD74nb0V3v+I63+sLRo+aEB8owpbRSQPWXk3ChVflDMhSin2KZHfghJz+ ihduwiT8BuKCSRdy4A1OF8O1ToAbTYgGZit5o7Z1Bg4iGzvHlDY7zc69JNY+ZtRVHXwjLV e0zrMQLb76S7Ye3uHG1GxY4EJNDmwSwBCi5lt6DfQnDgt243misEJJPRQ0hAXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682702130; a=rsa-sha256; cv=none; b=ovjfbkrLWwW/17lZsYnDQWzt/jz1rIXrTJoxFIj59bqFz5KOCBuw5938RCVa0C6/ygwT+3 GJifwMeqa8chesgGKhzWJBa9wVRNI1gChemya1Rm8dM46bTRRlRD6lixWOJAaeAXVXAo7c 3I5th8kN7eQmjZy4a52N4P4GOpIprrd1+LLozXv+wVWdZdxwYkXJI58tSsmjyFm9YPMRzv 6X2wkE33tAB2INd8mleizIT1OfNTLQO9S0ozB7oai38neWG8cpEOAgtfc47hK1BM6bQegZ iIF8nXJpTONbFuCNWyqa5TgJ54z/skelofobKPf9u8UlyiVfPALWtefadMkgGg== 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 4Q7K4K71qcz17HY; Fri, 28 Apr 2023 17:15: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 33SHFTdb043934; Fri, 28 Apr 2023 17:15:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SHFT3P043933; Fri, 28 Apr 2023 17:15:29 GMT (envelope-from git) Date: Fri, 28 Apr 2023 17:15:29 GMT Message-Id: <202304281715.33SHFT3P043933@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Ambrisko Subject: git: e315351fc7af - main - Add the mfi(4) ioctl support to mrsas(4) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ambrisko X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e315351fc7af11638c85fa22222536f4a2538f11 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ambrisko: URL: https://cgit.FreeBSD.org/src/commit/?id=e315351fc7af11638c85fa22222536f4a2538f11 commit e315351fc7af11638c85fa22222536f4a2538f11 Author: Doug Ambrisko AuthorDate: 2022-08-24 22:27:03 +0000 Commit: Doug Ambrisko CommitDate: 2023-04-28 17:14:30 +0000 Add the mfi(4) ioctl support to mrsas(4) The hardware supported by mfi(4) and mrsas(4) use the same dcmd's. mfiutil(8) in theory could run on controlled attached to mrsas(4). It can't since mrsas(4) doesn't have support for the FreeBSD mfi(4) ioctl. Porting the ioctl from mfi(4) to mrsas(4) would be the first step in making mrsasutil(8) which is an additional name for mfiutil(8) but opens /dev/mrsasX instead of /dev/mfiX PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265794 Reviewed by: jhb Differential revision: https://reviews.freebsd.org/D36342 Tested by: Dan Mahoney --- sys/dev/mrsas/mrsas.c | 13 ++- sys/dev/mrsas/mrsas.h | 3 + sys/dev/mrsas/mrsas_ioctl.c | 254 ++++++++++++++++++++++++++++++++++++++++++++ sys/dev/mrsas/mrsas_ioctl.h | 9 ++ 4 files changed, 278 insertions(+), 1 deletion(-) diff --git a/sys/dev/mrsas/mrsas.c b/sys/dev/mrsas/mrsas.c index 2f531bb44674..a865f5ab04d3 100644 --- a/sys/dev/mrsas/mrsas.c +++ b/sys/dev/mrsas/mrsas.c @@ -1449,7 +1449,14 @@ mrsas_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag, int ret = 0, i = 0; MRSAS_DRV_PCI_INFORMATION *pciDrvInfo; - sc = mrsas_get_softc_instance(dev, cmd, arg); + switch (cmd) { + case MFIIO_PASSTHRU: + sc = (struct mrsas_softc *)(dev->si_drv1); + break; + default: + sc = mrsas_get_softc_instance(dev, cmd, arg); + break; + } if (!sc) return ENOENT; @@ -1512,6 +1519,10 @@ do_ioctl: ret = 0; break; + case MFIIO_PASSTHRU: + ret = mrsas_user_command(sc, (struct mfi_ioc_passthru *)arg); + break; + default: mrsas_dprint(sc, MRSAS_TRACE, "IOCTL command 0x%lx is not handled\n", cmd); ret = ENOENT; diff --git a/sys/dev/mrsas/mrsas.h b/sys/dev/mrsas/mrsas.h index 76894bbdbc4e..fa9a5cf118e6 100644 --- a/sys/dev/mrsas/mrsas.h +++ b/sys/dev/mrsas/mrsas.h @@ -3648,4 +3648,7 @@ mrsas_test_bit(int b, volatile void *p) return ((volatile int *)p)[b >> 5] & (1 << (b & 0x1f)); } +#include "mrsas_ioctl.h" +extern int mrsas_user_command(struct mrsas_softc *, struct mfi_ioc_passthru *); + #endif /* MRSAS_H */ diff --git a/sys/dev/mrsas/mrsas_ioctl.c b/sys/dev/mrsas/mrsas_ioctl.c index 1044fcbbcf92..b8d88c164e81 100644 --- a/sys/dev/mrsas/mrsas_ioctl.c +++ b/sys/dev/mrsas/mrsas_ioctl.c @@ -43,6 +43,18 @@ __FBSDID("$FreeBSD$"); #include #include +struct mrsas_passthru_cmd { + struct iovec *kern_sge; + struct mrsas_softc *sc; + struct mrsas_mfi_cmd *cmd; + bus_dma_tag_t ioctl_data_tag; + bus_dmamap_t ioctl_data_dmamap; + + u_int32_t error_code; + u_int32_t sge_count; + int complete; +}; + /* * Function prototypes */ @@ -62,6 +74,54 @@ extern int mrsas_issue_blocked_cmd(struct mrsas_softc *sc, struct mrsas_mfi_cmd *cmd); +/* + * mrsas_data_load_cb: Callback entry point + * input: Pointer to command packet as argument + * Pointer to segment + * Number of segments Error + * + * This is the callback function of the bus dma map load. It builds the SG + * list. + */ +static void +mrsas_passthru_load_cb(void *arg, bus_dma_segment_t *segs, int nseg, int error) +{ + struct mrsas_passthru_cmd *cb = (struct mrsas_passthru_cmd *)arg; + struct mrsas_softc *sc = cb->sc; + int i = 0; + + if (error) { + cb->error_code = error; + if (error == EFBIG) { + device_printf(sc->mrsas_dev, "mrsas_passthru_load_cb: " + "error=%d EFBIG\n", error); + cb->complete = 1; + return; + } else { + device_printf(sc->mrsas_dev, "mrsas_passthru_load_cb: " + "error=%d UNKNOWN\n", error); + } + } + if (nseg > MAX_IOCTL_SGE) { + cb->error_code = EFBIG; + device_printf(sc->mrsas_dev, "mrsas_passthru_load_cb: " + "too many segments: %d\n", nseg); + cb->complete = 1; + return; + } + + for (i = 0; i < nseg; i++) { + cb->kern_sge[i].iov_base = PTRIN(segs[i].ds_addr); + cb->kern_sge[i].iov_len = segs[i].ds_len; + } + cb->sge_count = nseg; + + bus_dmamap_sync(cb->ioctl_data_tag, cb->ioctl_data_dmamap, + BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); + + cb->complete = 1; +} + /* * mrsas_passthru: Handle pass-through commands * input: Adapter instance soft state argument pointer @@ -344,6 +404,200 @@ out: return (ret); } +/** + * mrsas_user_command: Handle user mode DCMD and buffer + * input: Adapter instance soft state + * argument pointer + * + * This function is called from mrsas_ioctl() DCMDs to firmware for mfiutil + */ +int +mrsas_user_command(struct mrsas_softc *sc, struct mfi_ioc_passthru *ioc) +{ + struct mrsas_mfi_cmd *cmd; + struct mrsas_dcmd_frame *dcmd; + struct mrsas_passthru_cmd *passcmd; + bus_dma_tag_t ioctl_data_tag; + bus_dmamap_t ioctl_data_dmamap; + bus_addr_t ioctl_data_phys_addr; + struct iovec *kern_sge; + int ret, ioctl_data_size; + char *ioctl_temp_data_mem; + + ret = 0; + ioctl_temp_data_mem = NULL; + passcmd = NULL; + ioctl_data_phys_addr = 0; + dcmd = NULL; + cmd = NULL; + ioctl_data_tag = NULL; + ioctl_data_dmamap = NULL; + ioctl_data_dmamap = NULL; + + /* Get a command */ + cmd = mrsas_get_mfi_cmd(sc); + if (!cmd) { + device_printf(sc->mrsas_dev, + "Failed to get a free cmd for IOCTL\n"); + return(ENOMEM); + } + + /* + * Frame is DCMD + */ + dcmd = (struct mrsas_dcmd_frame *)cmd->frame; + memcpy(dcmd, &ioc->ioc_frame, sizeof(struct mrsas_dcmd_frame)); + + ioctl_data_size = ioc->buf_size; + + cmd->frame->hdr.context = cmd->index; + cmd->frame->hdr.pad_0 = 0; + cmd->frame->hdr.flags = MFI_FRAME_DIR_BOTH; + if (sizeof(bus_addr_t) == 8) + cmd->frame->hdr.flags |= MFI_FRAME_SGL64 | MFI_FRAME_SENSE64; + + kern_sge = (struct iovec *)(&dcmd->sgl); + + if (ioctl_data_size == 0) { + kern_sge[0].iov_base = 0; + kern_sge[0].iov_len = 0; + } else { + ioctl_temp_data_mem = malloc(ioc->buf_size, M_MRSAS, M_WAITOK); + if (ioctl_temp_data_mem == NULL) { + device_printf(sc->mrsas_dev, "Could not allocate " + "%d memory for temporary passthrough ioctl\n", + ioc->buf_size); + ret = ENOMEM; + goto out; + } + + /* Copy in data from user space */ + ret = copyin(ioc->buf, ioctl_temp_data_mem, ioc->buf_size); + if (ret) { + device_printf(sc->mrsas_dev, "IOCTL copyin failed!\n"); + goto out; + } + + /* + * Allocate a temporary struct to hold parameters for the + * callback + */ + passcmd = malloc(sizeof(struct mrsas_passthru_cmd), M_MRSAS, + M_WAITOK); + if (passcmd == NULL) { + device_printf(sc->mrsas_dev, "Could not allocate " + "memory for temporary passthrough cb struct\n"); + ret = ENOMEM; + goto out; + } + passcmd->complete = 0; + passcmd->sc = sc; + passcmd->cmd = cmd; + passcmd->kern_sge = kern_sge; + + /* + * Create a dma tag for passthru buffers + */ + if (bus_dma_tag_create(sc->mrsas_parent_tag, /* parent */ + 1, 0, /* algnmnt, boundary */ + BUS_SPACE_MAXADDR, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + ioctl_data_size, /* maxsize */ + MAX_IOCTL_SGE, /* msegments */ + ioctl_data_size, /* maxsegsize */ + BUS_DMA_ALLOCNOW, /* flags */ + busdma_lock_mutex, /* lockfunc */ + &sc->ioctl_lock, /* lockarg */ + &ioctl_data_tag)) { + device_printf(sc->mrsas_dev, + "Cannot allocate ioctl data tag %d\n", + ioc->buf_size); + ret = ENOMEM; + goto out; + } + + /* Create memmap */ + if (bus_dmamap_create(ioctl_data_tag, 0, &ioctl_data_dmamap)) { + device_printf(sc->mrsas_dev, "Cannot create ioctl " + "passthru dmamap\n"); + ret = ENOMEM; + goto out; + } + + passcmd->ioctl_data_tag = ioctl_data_tag; + passcmd->ioctl_data_dmamap = ioctl_data_dmamap; + + /* Map data buffer into bus space */ + if (bus_dmamap_load(ioctl_data_tag, ioctl_data_dmamap, + ioctl_temp_data_mem, ioc->buf_size, mrsas_passthru_load_cb, + passcmd, BUS_DMA_NOWAIT)) { + device_printf(sc->mrsas_dev, "Cannot load ioctl " + "passthru data mem%s %d\n", curproc->p_comm, ioctl_data_size); + ret = ENOMEM; + goto out; + } + + while (passcmd->complete == 0) { + pause("mrsas_passthru", hz); + } + + cmd->frame->dcmd.sge_count = passcmd->sge_count; + } + + /* + * Set the sync_cmd flag so that the ISR knows not to complete this + * cmd to the SCSI mid-layer + */ + cmd->sync_cmd = 1; + mrsas_issue_blocked_cmd(sc, cmd); + cmd->sync_cmd = 0; + + if (ioctl_data_size != 0) { + bus_dmamap_sync(ioctl_data_tag, ioctl_data_dmamap, + BUS_DMASYNC_POSTREAD); + /* + * copy out the kernel buffers to user buffers + */ + ret = copyout(ioctl_temp_data_mem, ioc->buf, ioc->buf_size); + if (ret) { + device_printf(sc->mrsas_dev, + "IOCTL copyout failed!\n"); + goto out; + } + } + + /* + * Return command status to user space + */ + memcpy(&ioc->ioc_frame.cmd_status, &cmd->frame->hdr.cmd_status, + sizeof(u_int8_t)); + +out: + /* + * Release temporary passthrough ioctl + */ + if (ioctl_temp_data_mem) + free(ioctl_temp_data_mem, M_MRSAS); + if (passcmd) + free(passcmd, M_MRSAS); + + /* + * Release data buffers + */ + if (ioctl_data_phys_addr) { + bus_dmamap_unload(ioctl_data_tag, ioctl_data_dmamap); + bus_dmamap_destroy(ioctl_data_tag, ioctl_data_dmamap); + } + if (ioctl_data_tag != NULL) + bus_dma_tag_destroy(ioctl_data_tag); + /* Free command */ + mrsas_release_mfi_cmd(cmd); + + return(ret); +} + + /* * mrsas_alloc_mfi_cmds: Allocates the command packets * input: Adapter instance soft state diff --git a/sys/dev/mrsas/mrsas_ioctl.h b/sys/dev/mrsas/mrsas_ioctl.h index 07ee211714cc..3851de710b5a 100644 --- a/sys/dev/mrsas/mrsas_ioctl.h +++ b/sys/dev/mrsas/mrsas_ioctl.h @@ -121,4 +121,13 @@ struct mrsas_iocpacket32 { #pragma pack() #endif /* COMPAT_FREEBSD32 */ +struct mfi_ioc_passthru { + struct mrsas_dcmd_frame ioc_frame; + uint32_t pad_skinny_flag; + uint32_t buf_size; + uint8_t *buf; +} __packed; + +#define MFIIO_PASSTHRU _IOWR('C', 102, struct mfi_ioc_passthru) + #endif /* MRSAS_IOCTL_H */ From nobody Fri Apr 28 17:24:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7KGk2prlz47kN2; Fri, 28 Apr 2023 17:24:30 +0000 (UTC) (envelope-from yuri@aetern.org) Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.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 4Q7KGk15L8z4KJq; Fri, 28 Apr 2023 17:24:30 +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.nyi.internal (Postfix) with ESMTP id 829AB5C00FC; Fri, 28 Apr 2023 13:24:29 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Fri, 28 Apr 2023 13:24:29 -0400 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=fm3; t= 1682702669; x=1682789069; bh=bwLNnMiJaz0oSoaYtvY0BfzEYPQDh2KCrkT rKsxA8ro=; b=0cflqhSPH7ixFBmES4wxLqKGWz8/BFpwMZuCH//En8ByzaaLKJf fv2hdgDu3Xk0RRoUe0ulHipOKvLqaCLk0hEeDcYVlKPPDk1yQIrBMvtz/prr8G36 BMn1YR1XSGyAuhIuaWb7u0McHK2bw3WJ4+jCemO8/JZnMX7+pQD54UhVZBsBBlRt ZpUUOroki7Ra3GI/jjoqi8+xroM7eWBf1LKIoEP439BF7fzj9SsNqNl2fok2NwUH Hzi9t/RVs06183HcYsQJQPwzKosmGLN5wML/832G+y8f1+0p/9GxKfESSYuuXKdi hbu0Vp9KdgOp0ykTyK6++i/Phkf4q1K3BNA== 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=fm3; t=1682702669; x= 1682789069; bh=bwLNnMiJaz0oSoaYtvY0BfzEYPQDh2KCrkTrKsxA8ro=; b=Q NMA27fQRklZREOBrPl2kP+kVlBYAFmNA80F8+DCkX6RxZXTwMxOcXZndnNQwRkSU PkIp/2Z3EFKATQD4JnmqqCpFzEtqvsjfDHfFeCXDsY32EvJ98sHuPDelWthhs0nC W6eeEiQHTEB3zuAF6TmiO7gpsOmOh7F69kboHB8NqZ023QFz70VqsoyiCzsjVNSu BHsHyzRfEIBBTZryy6VVEmW1mDLl/Fp3dzQLg4IHm08PDgXL7kYlacbijFqe7UPW jcuUhHziMrzbWNnGi5bauevy4kEQbgarCmsdlzTNqm8qGFV+2Huu52I6n0+L/a5Q PhsAP1PNnp/EoKKAByUAQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedukedguddufecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurhepkfffgggfuffvfhfhjggtgfesth ejredttdefjeenucfhrhhomhepjghurhhiuceohihurhhisegrvghtvghrnhdrohhrgheq necuggftrfgrthhtvghrnheptdfgvddtvdduleelfeehvdekvdduleetfeeikefhffeffe dtueejveevudeuhefhnecuffhomhgrihhnpehfrhgvvggsshgurdhorhhgpdhophhtshdr mhhkpdhshihsrdhmkhdpghhithhhuhgsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhephihurhhisegrvghtvghrnhdrohhrgh X-ME-Proxy: Feedback-ID: i0d79475b:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 28 Apr 2023 13:24:28 -0400 (EDT) Message-ID: <51a78915-42ac-782c-0245-3b55bd32e5b6@aetern.org> Date: Fri, 28 Apr 2023 19:24:27 +0200 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: Re: git: 4f6a5e1d6ce3 - main - netlink: enable NETLINK_SUPPORT by default on all architectures. Content-Language: en-US To: "Alexander V. Chernikov" , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202304281239.33SCdcbJ082232@gitrepo.freebsd.org> From: Yuri In-Reply-To: <202304281239.33SCdcbJ082232@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4Q7KGk15L8z4KJq X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:19151, ipnet:66.111.4.0/24, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N Alexander V. Chernikov wrote: > The branch main has been updated by melifaro: > > URL: https://cgit.FreeBSD.org/src/commit/?id=4f6a5e1d6ce39e968bd01c9a3a299a3a419a480e > > commit 4f6a5e1d6ce39e968bd01c9a3a299a3a419a480e > Author: Alexander V. Chernikov > AuthorDate: 2023-04-27 14:38:08 +0000 > Commit: Alexander V. Chernikov > CommitDate: 2023-04-28 12:37:09 +0000 > > netlink: enable NETLINK_SUPPORT by default on all architectures. > > Reviewed by: emaste > Differential Revision: https://reviews.freebsd.org/D39849 > --- > share/mk/src.opts.mk | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) > > diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk > index 62d3936ded20..0bbb2dd6c539 100644 > --- a/share/mk/src.opts.mk > +++ b/share/mk/src.opts.mk > @@ -145,6 +145,7 @@ __DEFAULT_YES_OPTIONS = \ > MLX5TOOL \ > NETCAT \ > NETGRAPH \ > + NETLINK_SUPPORT \ > NLS_CATALOGS \ > NS_CACHING \ > NTP \ > @@ -354,12 +355,6 @@ __DEFAULT_NO_OPTIONS+=OPENMP > BROKEN_OPTIONS+= OFED > .endif > > -.if ${__T} == "i386" || ${__T} == "amd64" > -__DEFAULT_YES_OPTIONS+=NETLINK_SUPPORT > -.else > -__DEFAULT_NO_OPTIONS+=NETLINK_SUPPORT > -.endif > - > # MK_host_egacy is set by local.sys.mk so is valid here > .if ${MACHINE} == "host" && ${MK_host_egacy} == "yes" > # we cannot expect tests to work Looks like this requires src.conf(5) to be regenerated? https://github.com/freebsd/freebsd-src/runs/13099215021 From nobody Fri Apr 28 17:54:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7Kxr0q36z47mM8; Fri, 28 Apr 2023 17:54: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 4Q7Kxr0CfPz4MTB; Fri, 28 Apr 2023 17:54:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682704496; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xqq60y1dTVa5RSI/1S6Bqvw8C5b89XwzRlKl/KgzscY=; b=EVr++asfftM27/0c8soYoMGZn3FNQBNzMmVzqyhbU441oTJr1GfL7haiiBmrxv3TiEfM/4 H2SGO4c7NFMH4zJUssupwSz+EqmDzx56QdoIb9Ut/Mx6V6Pf5bBLboKaURdmRNS5YTstfW DR4pff+DVzwptyz9pWMHbAuOn5xHUoyhAGjiGGrMTyz6HEW/fDrpCDxDb1dKj+88CSTyhD h2+y7/oQEw5NseerFkZVBU7FHC15X1ijf/5HilgpZae0xRDs6RlZ30domuMoecOUq9cjQG eXJHgVgxVm0/+JUEopGasz6K80+c9uvw1MiOIQWGLl7RhM1jE6Rs9uFN80AQ7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682704496; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xqq60y1dTVa5RSI/1S6Bqvw8C5b89XwzRlKl/KgzscY=; b=JQIDHLeD5d4TpsjP3lTBVG0VyGIIuYHWCJA/qtT/NVtoC62ZmAbf0ojNJ/tRmHWX50aSuL 3bSbEKyHrOh8WzzsmEgrmREnwgXXsKA4ab3BcnG+oJPLc16IvA82E8z+W7kkSAg95A5vHp AEzNbsniYXfjcNcvarIOeoSs0nZLDT0L0DchKP9jELD5CVIWy7L/lyTGeHT2shuLeQ7ky1 b46CPAnIu9rQXCtRSrE4sslJPCnCQudFgiGteGjWTflHqScwGcTE5uzkQT4mOrwFNLaqdF vEP9JjwcaCJL+K5MmwisyCISqb6F9vH57RGDsU3fjKzPh3tT16pXXEjn75dH5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682704496; a=rsa-sha256; cv=none; b=KC7RMSBUidxa0Qao5mAl1zViqp3zo5/cWIs2wMivlWFndzrU1W6CFsD2MbBP0lHO1FJO4h TMp1y5fNUxg5X9F9Tf3zH/wV4OedrmYmRcErmyPzWrFB/6GJ1oWWT0pOA1Siogyhk9/ptU C4LRBATMxZ8Q3rA9w1BGqbG/xh99sG7/ZKSDPZT6xAU7tFJbGtW6z5TM3Qsn0+MjqGD7dn 9G4Wj9hYPbIeAkaEFy/DkmfmrWTcqEyTwQ2ZSvnqs8+bqW9yjRZrWVvYdY3sjCQCqG0/ir 1LJNrXWRTQ7eOBhCDIdP5iHmz7MDfA6Xr1Il7MyIgxGf4QKpnJwTDWrXnYMvkw== 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 4Q7Kxq6HL6z18gR; Fri, 28 Apr 2023 17:54: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 33SHst93009263; Fri, 28 Apr 2023 17:54:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SHstZK009262; Fri, 28 Apr 2023 17:54:55 GMT (envelope-from git) Date: Fri, 28 Apr 2023 17:54:55 GMT Message-Id: <202304281754.33SHstZK009262@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ravi Pokala Subject: git: de57e0ef5a15 - main - jedec_dimm(4): Add manufacturing year and week. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rpokala X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: de57e0ef5a15c75231191e643d4d1949ddbca92d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rpokala: URL: https://cgit.FreeBSD.org/src/commit/?id=de57e0ef5a15c75231191e643d4d1949ddbca92d commit de57e0ef5a15c75231191e643d4d1949ddbca92d Author: Ravi Pokala AuthorDate: 2023-04-25 06:07:39 +0000 Commit: Ravi Pokala CommitDate: 2023-04-28 17:53:55 +0000 jedec_dimm(4): Add manufacturing year and week. DDR3 and DDR4 encode the week and year that the DIMM was manufactured, as a pair of two-digit binary-coded decimal values. Read the values, and report them as (uint8_t)s. Reviewed by: imp, jhb MFC after: 1 week Sponsored by: Panasas Differential Revision: https://reviews.freebsd.org/D39795 --- share/man/man4/jedec_dimm.4 | 10 ++- sys/dev/jedec_dimm/jedec_dimm.c | 131 +++++++++++++++++++++++++++++++++++++++- sys/dev/jedec_dimm/jedec_dimm.h | 6 +- 3 files changed, 144 insertions(+), 3 deletions(-) diff --git a/share/man/man4/jedec_dimm.4 b/share/man/man4/jedec_dimm.4 index ea4183fafc1a..6c13da1a450e 100644 --- a/share/man/man4/jedec_dimm.4 +++ b/share/man/man4/jedec_dimm.4 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 31, 2018 +.Dd April 25, 2023 .Dt JEDEC_DIMM 4 .Os .Sh NAME @@ -76,6 +76,10 @@ interface; all values are read-only: a string description of the DIMM, including TSOD and slotid info if present. .It Va dev.jedec_dimm.X.capacity the DIMM's memory capacity, in megabytes +.It Va dev.jedec_dimm.X.mfg_week +the week within the year in which the DIMM was manufactured +.It Va dev.jedec_dimm.X.mfg_year +the year in which the DIMM was manufactured .It Va dev.jedec_dimm.X.part the manufacturer's part number of the DIMM .It Va dev.jedec_dimm.X.serial @@ -144,6 +148,8 @@ dev.jedec_dimm.0.%location: addr=0xa0 dev.jedec_dimm.0.%parent: smbus0 dev.jedec_dimm.0.%pnpinfo: dev.jedec_dimm.0.capacity: 16384 +dev.jedec_dimm.0.mfg_week: 30 +dev.jedec_dimm.0.mfg_year: 17 dev.jedec_dimm.0.part: 36ASF2G72PZ-2G1A2 dev.jedec_dimm.0.serial: 0ea815de dev.jedec_dimm.0.slotid: A1 @@ -156,6 +162,8 @@ dev.jedec_dimm.6.%location: addr=0xa8 dev.jedec_dimm.6.%parent: smbus1 dev.jedec_dimm.6.%pnpinfo: dev.jedec_dimm.6.capacity: 8192 +dev.jedec_dimm.6.mfg_week: 13 +dev.jedec_dimm.6.mfg_year: 19 dev.jedec_dimm.6.part: VRA9MR8B2H1603 dev.jedec_dimm.6.serial: 0c4c46ad dev.jedec_dimm.6.temp: 43.1C diff --git a/sys/dev/jedec_dimm/jedec_dimm.c b/sys/dev/jedec_dimm/jedec_dimm.c index fd30aa90105a..1d15c358f372 100644 --- a/sys/dev/jedec_dimm/jedec_dimm.c +++ b/sys/dev/jedec_dimm/jedec_dimm.c @@ -4,7 +4,7 @@ * Authors: Ravi Pokala (rpokala@freebsd.org), Andriy Gapon (avg@FreeBSD.org) * * Copyright (c) 2016 Andriy Gapon - * Copyright (c) 2018 Panasas + * Copyright (c) 2018-2023 Panasas * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -56,6 +56,8 @@ struct jedec_dimm_softc { device_t smbus; uint8_t spd_addr; /* SMBus address of the SPD EEPROM. */ uint8_t tsod_addr; /* Address of the Thermal Sensor On DIMM */ + uint8_t mfg_year; + uint8_t mfg_week; uint32_t capacity_mb; char type_str[5]; char part_str[21]; /* 18 (DDR3) or 20 (DDR4) chars, plus terminator */ @@ -154,6 +156,9 @@ static int jedec_dimm_dump(struct jedec_dimm_softc *sc, enum dram_type type); static int jedec_dimm_field_to_str(struct jedec_dimm_softc *sc, char *dst, size_t dstsz, uint16_t offset, uint16_t len, bool ascii); +static int jedec_dimm_mfg_date(struct jedec_dimm_softc *sc, enum dram_type type, + uint8_t *year, uint8_t *week); + static int jedec_dimm_probe(device_t dev); static int jedec_dimm_readw_be(struct jedec_dimm_softc *sc, uint8_t reg, @@ -257,6 +262,11 @@ jedec_dimm_attach(device_t dev) goto out; } + rc = jedec_dimm_mfg_date(sc, type, &sc->mfg_year, &sc->mfg_week); + if (rc != 0) { + goto out; + } + rc = jedec_dimm_field_to_str(sc, sc->part_str, sizeof(sc->part_str), partnum_offset, partnum_len, true); if (rc != 0) { @@ -336,6 +346,14 @@ no_tsod: CTLFLAG_RD | CTLFLAG_MPSAFE, sc->serial_str, 0, "DIMM Serial Number"); + SYSCTL_ADD_U8(ctx, children, OID_AUTO, "mfg_year", + CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, sc->mfg_year, + "DIMM manufacturing year (20xx)"); + + SYSCTL_ADD_U8(ctx, children, OID_AUTO, "mfg_week", + CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, sc->mfg_week, + "DIMM manufacturing week"); + /* Create the temperature sysctl IFF the TSOD is present and valid */ if (tsod_present && (tsod_match != NULL)) { SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "temp", @@ -822,6 +840,117 @@ out: return (rc); } +/** + * Both DDR3 and DDR4 encode manufacturing date as a one-byte BCD-encoded + * year (offset from 2000) and a one-byte BCD-encoded week within that year. + * The SPD offsets are different between the two types. + * + * @author rpokala + * + * @param[in] sc + * Instance-specific context data + * + * @param[in] dram_type + * The locations of the manufacturing date depends on the type of the DIMM. + * + * @param[out] year + * The manufacturing year, offset from 2000 + * + * @param[out] week + * The manufacturing week within the year + */ +static int +jedec_dimm_mfg_date(struct jedec_dimm_softc *sc, enum dram_type type, + uint8_t *year, uint8_t *week) +{ + uint8_t year_bcd; + uint8_t week_bcd; + uint16_t year_offset; + uint16_t week_offset; + bool page_changed; + int rc; + + switch (type) { + case DRAM_TYPE_DDR3_SDRAM: + year_offset = SPD_OFFSET_DDR3_MOD_MFG_YEAR; + week_offset = SPD_OFFSET_DDR3_MOD_MFG_WEEK; + break; + case DRAM_TYPE_DDR4_SDRAM: + year_offset = SPD_OFFSET_DDR4_MOD_MFG_YEAR; + week_offset = SPD_OFFSET_DDR4_MOD_MFG_WEEK; + break; + default: + device_printf(sc->dev, "unsupported dram_type 0x%02x\n", type); + rc = EINVAL; + page_changed = false; + goto out; + } + + /* Change to the proper page. Offsets [0, 255] are in page0; offsets + * [256, 512] are in page1. + * + * *The page must be reset to page0 before returning.* + * + * For the page-change operation, only the DTI and LSA matter; the + * offset and write-value are ignored, so use just 0. + * + * Mercifully, JEDEC defined the fields such that all of the + * manufacturing-related ones are on the same page, so we don't need to + * worry about that complication. + */ + if (year_offset < JEDEC_SPD_PAGE_SIZE) { + page_changed = false; + } else if (year_offset < (2 * JEDEC_SPD_PAGE_SIZE)) { + page_changed = true; + rc = smbus_writeb(sc->smbus, + (JEDEC_DTI_PAGE | JEDEC_LSA_PAGE_SET1), 0, 0); + if (rc != 0) { + device_printf(sc->dev, + "unable to change page for offset 0x%04x: %d\n", + year_offset, rc); + } + /* Adjust the offset to account for the page change. */ + year_offset -= JEDEC_SPD_PAGE_SIZE; + week_offset -= JEDEC_SPD_PAGE_SIZE; + } else { + device_printf(sc->dev, "invalid offset 0x%04x\n", year_offset); + rc = EINVAL; + page_changed = false; + goto out; + } + + rc = smbus_readb(sc->smbus, sc->spd_addr, year_offset, &year_bcd); + if (rc != 0) { + device_printf(sc->dev, "failed to read mfg year: %d\n", rc); + goto out; + } + + rc = smbus_readb(sc->smbus, sc->spd_addr, week_offset, &week_bcd); + if (rc != 0) { + device_printf(sc->dev, "failed to read mfg week: %d\n", rc); + goto out; + } + + /* Convert from one-byte BCD to one-byte integer. */ + *year = (((year_bcd & 0xf0) >> 4) * 10) + (year_bcd & 0x0f); + *week = (((week_bcd & 0xf0) >> 4) * 10) + (week_bcd & 0x0f); + +out: + if (page_changed) { + int rc2; + /* Switch back to page0 before returning. */ + rc2 = smbus_writeb(sc->smbus, + (JEDEC_DTI_PAGE | JEDEC_LSA_PAGE_SET0), 0, 0); + if (rc2 != 0) { + device_printf(sc->dev, + "unable to restore page for offset 0x%04x: %d\n", + year_offset, rc2); + } + } + + return (rc); +} + /** * device_probe() method. Validate the address that was given as a hint, and * display an error if it's bogus. Make sure that we're dealing with one of the diff --git a/sys/dev/jedec_dimm/jedec_dimm.h b/sys/dev/jedec_dimm/jedec_dimm.h index 3b330251efc5..00a9b3d521b6 100644 --- a/sys/dev/jedec_dimm/jedec_dimm.h +++ b/sys/dev/jedec_dimm/jedec_dimm.h @@ -3,7 +3,7 @@ * * Authors: Ravi Pokala (rpokala@freebsd.org) * - * Copyright (c) 2018 Panasas + * Copyright (c) 2018-2023 Panasas * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -90,6 +90,8 @@ #define SPD_OFFSET_DDR3_SDRAM_WIDTH 7 #define SPD_OFFSET_DDR3_BUS_WIDTH 8 #define SPD_OFFSET_DDR3_TSOD_PRESENT 32 +#define SPD_OFFSET_DDR3_MOD_MFG_YEAR 120 +#define SPD_OFFSET_DDR3_MOD_MFG_WEEK 121 #define SPD_OFFSET_DDR3_SERIAL 122 #define SPD_LEN_DDR3_SERIAL 4 #define SPD_OFFSET_DDR3_PARTNUM 128 @@ -100,6 +102,8 @@ #define SPD_OFFSET_DDR4_SDRAM_WIDTH 12 #define SPD_OFFSET_DDR4_BUS_WIDTH 13 #define SPD_OFFSET_DDR4_TSOD_PRESENT 14 +#define SPD_OFFSET_DDR4_MOD_MFG_YEAR 323 +#define SPD_OFFSET_DDR4_MOD_MFG_WEEK 324 #define SPD_OFFSET_DDR4_SERIAL 325 #define SPD_LEN_DDR4_SERIAL 4 #define SPD_OFFSET_DDR4_PARTNUM 329 From nobody Fri Apr 28 17:54:56 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7Kxs1Ds8z47m8n; Fri, 28 Apr 2023 17:54: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 4Q7Kxs0p1Bz4Mbs; Fri, 28 Apr 2023 17:54:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682704497; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w4fmVyMlSY4g/rVd6d7avpofo8YAoMfIpb7ARjfMaSI=; b=Y3vWJpvC2WgP4glLSjwD3ieMbuOJ5JhpTVf5xTcfO1HgX9HIkJGuKjJBG8mvh2nMuWSkn1 Y6zEEal4TNzxQjhWgnXiYFnSMrUA2naaMqZnYhg0byTdzyljWQhLaUc1kO7afLk4nuJKMs 9glTInKFwTkGoA9Bps78x8V9Ak3fWo/JnH5y6lRBz3ejgxpSdDxSSPMgpSrtKU5mNus5PT mC+BlOHX4XDvFGOwIjtMHjlGAL4tPobz/oqyhlGmeHcYHlttrgJgklzh87R6SpQW7Fp6+B rGh7H3/CKX1U+h3BGOoBapcSSM1rQ8IlIAJfgmgUBt8yBkAQjgBkXTMBo5Q/3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682704497; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w4fmVyMlSY4g/rVd6d7avpofo8YAoMfIpb7ARjfMaSI=; b=ECum6GiEL4raaxAPYSTgFS4IQ/WnIDFj4Q+RVS1FFhk7Tj8+euWQLnutw+/E0o9sqBbF6x 9rEbBGn3wMuLuO1RJizVWFi7ikz2dD0GUDpaRIjx4EFSylMqKNosyaXpIhzCSBFk8+3oY5 OQiBSOPYxA1gSRwNrJhlB/cOeLQOynf6eLsZHA7BTvgnXqP3HtlZU9vZSBl9ZAqB3GPLZV SWcvpjLPO8n8MqLhBpSeWYZps3WgjMMdkMn2E/A/vPCeB5ohj16f+plFvIMMul5zpSbI3u txLnZDxOfDBqb1MMRdfX13J4iefCh/VzwioyVYA0liRgBbzyziizcctnQ9eFtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682704497; a=rsa-sha256; cv=none; b=RSAAenH1GqFddnK/CKTfqrX4mJbwvvIQvALXZHBMweNrQ9Oe9u0jWV/021b5/+woFDgwWO ShLBBG/YxlvDWxVSLoXnbHfCmIYpzqegxRTjBvjw9Z1Mx04T5CrylSSdOYUUkHvFaTogGa 90Geb0tiVm9ox0qNrpFfH9ev9/619TugX7OeG3drvnu2qyQSECXQVl3y1Xqq0/Yoq9eIl5 3aKr8oSj8semRgcWPx147viWmbLVru+LITMAZWzwIRwrX1CXsH5572gWbclboNKgewWWyH RDdLr0Om+wxAaF1qEUNWzjTeK5gp1ubWkUAr+5OpPDmhjIJKzG2GsLCTuxwi+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 4Q7Kxr6mvsz18Zq; Fri, 28 Apr 2023 17:54: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 33SHsu3P009284; Fri, 28 Apr 2023 17:54:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SHsuNM009283; Fri, 28 Apr 2023 17:54:56 GMT (envelope-from git) Date: Fri, 28 Apr 2023 17:54:56 GMT Message-Id: <202304281754.33SHsuNM009283@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ravi Pokala Subject: git: 15d69c840d86 - main - jedec_dimm(4): Refactor offset adjustment and page0 reset List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rpokala X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 15d69c840d860a8c0decb063f768ad695427a0d4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rpokala: URL: https://cgit.FreeBSD.org/src/commit/?id=15d69c840d860a8c0decb063f768ad695427a0d4 commit 15d69c840d860a8c0decb063f768ad695427a0d4 Author: Ravi Pokala AuthorDate: 2023-04-27 05:03:48 +0000 Commit: Ravi Pokala CommitDate: 2023-04-28 17:53:55 +0000 jedec_dimm(4): Refactor offset adjustment and page0 reset Offsets greater than 255 bytes reside on page1 of the SPD device. Accessing them requires switching to page1, and adjusting the absolute offset to be relative to the start of page1. After the access, the page must be set back to page0. These operations are performed in several places, so break them out into their own functions. Also, replace a pair of default cases, which should be impossible due to earlier checks, with __assert_unreachable(). Reviewed by: imp MFC after: 1 week Sponsored by: Panasas Differential Revision: https://reviews.freebsd.org/D39842 --- sys/dev/jedec_dimm/jedec_dimm.c | 176 +++++++++++++++++++++++++++------------- 1 file changed, 121 insertions(+), 55 deletions(-) diff --git a/sys/dev/jedec_dimm/jedec_dimm.c b/sys/dev/jedec_dimm/jedec_dimm.c index 1d15c358f372..e57d8b832a25 100644 --- a/sys/dev/jedec_dimm/jedec_dimm.c +++ b/sys/dev/jedec_dimm/jedec_dimm.c @@ -144,6 +144,9 @@ const struct jedec_dimm_tsod_dev { { 0x104a, 0x03, "ST Microelectronics TSOD" }, }; +static int jedec_dimm_adjust_offset(struct jedec_dimm_softc *sc, + uint16_t orig_offset, uint16_t *new_offset, bool *page_changed); + static int jedec_dimm_attach(device_t dev); static int jedec_dimm_capacity(struct jedec_dimm_softc *sc, enum dram_type type, @@ -164,11 +167,81 @@ static int jedec_dimm_probe(device_t dev); static int jedec_dimm_readw_be(struct jedec_dimm_softc *sc, uint8_t reg, uint16_t *val); +static int jedec_dimm_reset_page0(struct jedec_dimm_softc *sc); + static int jedec_dimm_temp_sysctl(SYSCTL_HANDLER_ARGS); static const char *jedec_dimm_tsod_match(uint16_t vid, uint16_t did); +/** + * The DDR4 SPD information is spread across two 256-byte pages, but the + * offsets in the spec are absolute, not per-page. If a given offset is on the + * second page, we need to change to that page and adjust the offset to be + * relative to that page. + * + * @author rpokala + * + * @param[in] sc + * Instance-specific context data + * + * @param[in] orig_offset + * The original value of the offset, before any adjustment is made. + * + * @param[out] new_offset + * The offset to actually read from, adjusted if needed. + * + * @param[out] page_changed + * Whether or not the page was actually changed, and the offset adjusted. + * *If 'true', caller must call reset_page0() before itself returning.* + */ +static int +jedec_dimm_adjust_offset(struct jedec_dimm_softc *sc, uint16_t orig_offset, + uint16_t *new_offset, bool *page_changed) +{ + int rc; + + /* Don't change the offset, or indicate that the page has been changed, + * until the page has actually been changed. + */ + *new_offset = orig_offset; + *page_changed = false; + + /* Change to the proper page. Offsets [0, 255] are in page0; offsets + * [256, 511] are in page1. + */ + if (orig_offset < JEDEC_SPD_PAGE_SIZE) { + /* Within page0; no adjustment or page-change required. */ + rc = 0; + goto out; + } else if (orig_offset >= (2 * JEDEC_SPD_PAGE_SIZE)) { + /* Outside of expected range. */ + rc = EINVAL; + device_printf(sc->dev, "invalid offset 0x%04x\n", orig_offset); + goto out; + } + + /* 'orig_offset' is in page1. Switch to that page, and adjust + * 'new_offset' accordingly if successful. + * + * For the page-change operation, only the DTI and LSA matter; the + * offset and write-value are ignored, so just use 0. + */ + rc = smbus_writeb(sc->smbus, (JEDEC_DTI_PAGE | JEDEC_LSA_PAGE_SET1), + 0, 0); + if (rc != 0) { + device_printf(sc->dev, + "unable to change page for offset 0x%04x: %d\n", + orig_offset, rc); + goto out; + } + *page_changed = true; + *new_offset = orig_offset - JEDEC_SPD_PAGE_SIZE; + +out: + return (rc); +} + /** * device_attach() method. Read the DRAM type, use that to determine the offsets * and lengths of the asset string fields. Calculate the capacity. If a TSOD is @@ -458,9 +531,7 @@ jedec_dimm_capacity(struct jedec_dimm_softc *sc, enum dram_type type, sdram_width_offset = SPD_OFFSET_DDR4_SDRAM_WIDTH; break; default: - device_printf(sc->dev, "unsupported dram_type 0x%02x\n", type); - rc = EINVAL; - goto out; + __assert_unreachable(); } rc = smbus_readb(sc->smbus, sc->spd_addr, bus_width_offset, @@ -673,14 +744,13 @@ jedec_dimm_dump(struct jedec_dimm_softc *sc, enum dram_type type) out: if (page_changed) { int rc2; - /* Switch back to page0 before returning. */ - rc2 = smbus_writeb(sc->smbus, - (JEDEC_DTI_PAGE | JEDEC_LSA_PAGE_SET0), 0, 0); - if (rc2 != 0) { - device_printf(sc->dev, "unable to restore page: %d\n", - rc2); + + rc2 = jedec_dimm_reset_page0(sc); + if ((rc2 != 0) && (rc == 0)) { + rc = rc2; } } + return (rc); } @@ -715,54 +785,29 @@ jedec_dimm_field_to_str(struct jedec_dimm_softc *sc, char *dst, size_t dstsz, uint16_t offset, uint16_t len, bool ascii) { uint8_t byte; + uint16_t new_offset; int i; int rc; bool page_changed; - /* Change to the proper page. Offsets [0, 255] are in page0; offsets - * [256, 512] are in page1. - * - * *The page must be reset to page0 before returning.* - * - * For the page-change operation, only the DTI and LSA matter; the - * offset and write-value are ignored, so use just 0. - * - * Mercifully, JEDEC defined the fields such that none of them cross - * pages, so we don't need to worry about that complication. - */ - if (offset < JEDEC_SPD_PAGE_SIZE) { - page_changed = false; - } else if (offset < (2 * JEDEC_SPD_PAGE_SIZE)) { - page_changed = true; - rc = smbus_writeb(sc->smbus, - (JEDEC_DTI_PAGE | JEDEC_LSA_PAGE_SET1), 0, 0); - if (rc != 0) { - device_printf(sc->dev, - "unable to change page for offset 0x%04x: %d\n", - offset, rc); - } - /* Adjust the offset to account for the page change. */ - offset -= JEDEC_SPD_PAGE_SIZE; - } else { - page_changed = false; - rc = EINVAL; - device_printf(sc->dev, "invalid offset 0x%04x\n", offset); + rc = jedec_dimm_adjust_offset(sc, offset, &new_offset, &page_changed); + if (rc != 0) { goto out; } /* Sanity-check (adjusted) offset and length; everything must be within * the same page. */ - if (offset >= JEDEC_SPD_PAGE_SIZE) { + if (new_offset >= JEDEC_SPD_PAGE_SIZE) { rc = EINVAL; - device_printf(sc->dev, "invalid offset 0x%04x\n", offset); + device_printf(sc->dev, "invalid offset 0x%04x\n", new_offset); goto out; } - if ((offset + len) >= JEDEC_SPD_PAGE_SIZE) { + if ((new_offset + len) >= JEDEC_SPD_PAGE_SIZE) { rc = EINVAL; device_printf(sc->dev, - "(offset + len) would cross page (0x%04x + 0x%04x)\n", - offset, len); + "(new_offset + len) would cross page (0x%04x + 0x%04x)\n", + new_offset, len); goto out; } @@ -793,11 +838,12 @@ jedec_dimm_field_to_str(struct jedec_dimm_softc *sc, char *dst, size_t dstsz, /* Read a byte at a time. */ for (i = 0; i < len; i++) { - rc = smbus_readb(sc->smbus, sc->spd_addr, (offset + i), &byte); + rc = smbus_readb(sc->smbus, sc->spd_addr, (new_offset + i), + &byte); if (rc != 0) { device_printf(sc->dev, "failed to read byte at 0x%02x: %d\n", - (offset + i), rc); + (new_offset + i), rc); goto out; } if (ascii) { @@ -827,13 +873,10 @@ jedec_dimm_field_to_str(struct jedec_dimm_softc *sc, char *dst, size_t dstsz, out: if (page_changed) { int rc2; - /* Switch back to page0 before returning. */ - rc2 = smbus_writeb(sc->smbus, - (JEDEC_DTI_PAGE | JEDEC_LSA_PAGE_SET0), 0, 0); - if (rc2 != 0) { - device_printf(sc->dev, - "unable to restore page for offset 0x%04x: %d\n", - offset, rc2); + + rc2 = jedec_dimm_reset_page0(sc); + if ((rc2 != 0) && (rc == 0)) { + rc = rc2; } } @@ -880,10 +923,7 @@ jedec_dimm_mfg_date(struct jedec_dimm_softc *sc, enum dram_type type, week_offset = SPD_OFFSET_DDR4_MOD_MFG_WEEK; break; default: - device_printf(sc->dev, "unsupported dram_type 0x%02x\n", type); - rc = EINVAL; - page_changed = false; - goto out; + __assert_unreachable(); } /* Change to the proper page. Offsets [0, 255] are in page0; offsets @@ -1041,6 +1081,32 @@ out: return (rc); } +/** + * Reset to the default condition of operating on page0. This must be called + * after a previous operation changed to page1. + * + * @author rpokala + * + * @param[in] sc + * Instance-specific context data + */ +static int +jedec_dimm_reset_page0(struct jedec_dimm_softc *sc) +{ + int rc; + + /* For the page-change operation, only the DTI and LSA matter; the + * offset and write-value are ignored, so just use 0. + */ + rc = smbus_writeb(sc->smbus, (JEDEC_DTI_PAGE | JEDEC_LSA_PAGE_SET0), + 0, 0); + if (rc != 0) { + device_printf(sc->dev, "unable to restore page: %d\n", rc); + } + + return (rc); +} + /** * Read the temperature data from the TSOD and convert it to the deciKelvin * value that the sysctl expects. From nobody Fri Apr 28 18:16:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7LQb57zRz47nFd; Fri, 28 Apr 2023 18:16: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 4Q7LQb2lmcz4P6Z; Fri, 28 Apr 2023 18:16:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682705783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0hG+TpMIIcsgZqpdg4f1xhh+ATcLZ70GDshOvzmllDE=; b=hSVeTcFk+Nnc+HstSXhJjxspRgN+BKvZsjQxuOcvQZMXcJWYw4hg9G2rzH17e53M/dxVk3 PceoKPyQmmHqcUoc71oZbb+glIWYNlRZL6Y9ai5qOKmlcR+Q6kwaGPlQw+swDY8QdXdG67 f6sbddrRJ/Ht0wd92/O+i4N4yhQiClXyWk2DC/xOOKBX+Gio163JcyPFHH1i5JBl1fxPRU nGSj4ye+q81J8Qr0Trau+PPz+pLFsOjm+MggHKBqgKIltET1NSj0q7peEJs1lk1bWuQWjY cfu0SRSDLD6YphBVLM7NiyLnJS8HjEd+ILDqnXPQKJfcq1p+aTQmW0tDASXqtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682705783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0hG+TpMIIcsgZqpdg4f1xhh+ATcLZ70GDshOvzmllDE=; b=ujfr0k4pFZ82IZQL+fr4ZNPgHoBq2kKOfsmsSNQMFkYtfu6CztglSf6wBbS8Thc02DrtbS 8rpmqWHOXLCK6B1Q2zyGn8XP5j/HdodeHtzIJ0usHpDedAsmLBSsNs1iMlG+u1CIfvBGdB z8CGWRyReRYRH90N2iRPGofyROhLI0lSMtd0H3/dbHQ97yyI0tiCYmeDCSLZaXmOcJVFpr yJvCrc0cICTTvjGFCNUimJLitMNmQYfzSrwqBz5pROx2Jq/Indj/AKRA7/fxBfIG/viese G4U4aLWtzlvkNePOEmI6P+zB2mjvJn9/ZGnw9KKr62GbHMs7bb71jW5GfAW+gA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682705783; a=rsa-sha256; cv=none; b=tHXDugSjHoT6khEej9+uTUFgSR7dyPy3u1v1kpiIeKUgS9IExBwXyiQSak3xIX+XJIKWEK y2f5L7zCspH6juBUATehhBy4kEErnsqHP/8yTYgsAruKwKxaZnIzf54fFZ0plfqQBwZGEg sWluNNOc+8wJftWnwfXvVHrOETRl58Zg+7bzO/iqj3017yShJwZ1w2L1hBbHi8rmQxt1hn AOSKcENxOkb+MC1/2tzyIjjGxLv16DR0MFUbwkE34biXwLVQZVGGK9hGW7JUaQ/S+iHurc oFZVOHhQ667L8RHmRObvuYDuy/0y09XM5m1/0v0SwrYmeHHfo88X0yz/SZ2j2A== 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 4Q7LQb1kJgz19DS; Fri, 28 Apr 2023 18:16: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 33SIGNUh042886; Fri, 28 Apr 2023 18:16:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SIGNqG042885; Fri, 28 Apr 2023 18:16:23 GMT (envelope-from git) Date: Fri, 28 Apr 2023 18:16:23 GMT Message-Id: <202304281816.33SIGNqG042885@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: e3b937fa9ea9 - main - src.conf.5: regen after 4f6a5e1d6ce3, NETLINK_SUPPORT default change List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e3b937fa9ea9d8ebb3fb8e7f4c0cd1c65c9623e6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=e3b937fa9ea9d8ebb3fb8e7f4c0cd1c65c9623e6 commit e3b937fa9ea9d8ebb3fb8e7f4c0cd1c65c9623e6 Author: Ed Maste AuthorDate: 2023-04-28 18:15:07 +0000 Commit: Ed Maste CommitDate: 2023-04-28 18:15:07 +0000 src.conf.5: regen after 4f6a5e1d6ce3, NETLINK_SUPPORT default change Sponsored by: The FreeBSD Foundation --- share/man/man5/src.conf.5 | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 8cabfb16462b..2c625e50eba5 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 April 20, 2023 +.Dd April 28, 2023 .Dt SRC.CONF 5 .Os .Sh NAME @@ -1254,17 +1254,6 @@ Make libraries and programs use rtsock and .Xr sysctl 3 interfaces instead of .Xr snl 3 . -.Pp -This is a default setting on -arm/armv6, arm/armv7, arm64/aarch64, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64. -.It Va WITH_NETLINK_SUPPORT -Make libraries and programs use -.Xr snl 3 -interfaces instead of rtsock and -.Xr sysctl 3 . -.Pp -This is a default setting on -amd64/amd64 and i386/i386. .It Va WITHOUT_NIS Do not build .Xr NIS 8 From nobody Fri Apr 28 19:37:40 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7NDP0pGcz47sZj; Fri, 28 Apr 2023 19:37: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 4Q7NDP0DKCz3FZR; Fri, 28 Apr 2023 19:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682710661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/JOss1wlP2iQLIQaLnMydBUu0CHF5bJcfzyj4Tq+j/U=; b=wsfECEZCKreFuAPEiwfz28eWd8XMHSpIWYgnxBUwBTnkBlKXfV0TulewMvP00hJ472EzaY atgKd2F4tG6s+p+ILXOIhsADLAo93cVfvGgGCHp/JUJ6nV24acyyLa7hJJJJjV99tE2IQQ 4882cOS1ec5RH/NmKq+nB1cXnJgqoLQxmvD9JltEanjR+ShAZmg3vSyitM9uOnV7BIjE44 4jGSpCE3JxVA8nM7XXPl2SnSXFO+pB2qunTkNdbOGzQWjBwJe4JheuRfOuO3UPSrfe/AmA uygMtuUaqMbuWf+v8YR29gPoGltQGWGNIju5BSNfeaB+q8w/Pgxm0Ynt1Gh9Tw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682710661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/JOss1wlP2iQLIQaLnMydBUu0CHF5bJcfzyj4Tq+j/U=; b=tpI8rX0XSKz8ltEgnsUwRMaZzrCc+TYLR/RppD41cb//WajUPgNZQLjWWT/0G7cvEaFZSQ BZS4md+wUpVSdyjloUf68rj0qIGyzrp3rpPgF8fo2l1YfhJ76KgMtZib4G7y04wbesn+ZJ w6HuNkYKZ0amEUuAfe9AsSETgLYc7N836kgNV2KOS/XZ2TDF8k0vx95c+1xFpdBqKohp8d NEx9QrDO5uTg1O7FROMP7x6Qq2iVvD0joggqQqe8wbU6sEDgFNeuVToq4jQdz9Vs3sy20N 90+9zxmt8aXF+GFR4KkuQjwLFX5qiIyq6+JKTYwdWVcNIos3DpJfxYF1bF3I7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682710661; a=rsa-sha256; cv=none; b=gh1L8maivMCTs8ZqOm+/AgpIZdb022fY8zBnbiFfBjJm+pKQDAcMTR3MwKtlYcfzt8+Lmw gpZesYJBNu8sZL2NRRpgtOQcmw+rjUwNLSAjWngmWIdMNFfKJE1ka/ngZ3huC83rRCDnhT 0thdX/FxIe05qZK1IwwmBP+dIeiegCb9M9BmPzXQFb+p415RschVrItgzRVzVjTRVHdGQg JBWV//lc0cIWW0Wv+bNzlIDu2d+Gp0kZ9KJMm+Y9M/lCojdOtWavnAT14uSYcafqOcEZf/ YSsGSxz08efz71C9MqHr84AlQkxIHO+qk0T7XnOCKVMPfz8FvLMF0btgPvm8Mw== 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 4Q7NDN61LGz1B8Z; Fri, 28 Apr 2023 19:37: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 33SJbeNw075089; Fri, 28 Apr 2023 19:37:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SJbeAC075088; Fri, 28 Apr 2023 19:37:40 GMT (envelope-from git) Date: Fri, 28 Apr 2023 19:37:40 GMT Message-Id: <202304281937.33SJbeAC075088@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: c21d87a88c72 - main - vfs: vn_dir_next_dirent(): Adapt comments to style(9) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c21d87a88c72804bc4fb86d7b0e8a846230e4ad0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c21d87a88c72804bc4fb86d7b0e8a846230e4ad0 commit c21d87a88c72804bc4fb86d7b0e8a846230e4ad0 Author: Olivier Certner AuthorDate: 2023-04-28 09:04:16 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-28 19:37:35 +0000 vfs: vn_dir_next_dirent(): Adapt comments to style(9) No functional change. Reviewed by: kib MFC after: 1 week --- sys/kern/vfs_vnops.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 415ed158b5a3..d2b1a9b0570b 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -3746,33 +3746,33 @@ _Static_assert(_GENERIC_MAXDIRSIZ == sizeof(struct dirent), "(see _GENERIC_DIRLEN())"); /* - * Returns successive directory entries through some caller's provided buffer + * Returns successive directory entries through some caller's provided buffer. * * This function automatically refills the provided buffer with calls to * VOP_READDIR() (after MAC permission checks). * - * 'td' is used for credentials and passed to uiomove(). 'dirbuf' is the - * caller's buffer to fill and 'dirbuflen' its allocated size. 'dirbuf' must be - * properly aligned to access 'struct dirent' structures and 'dirbuflen' must - * be greater than GENERIC_MAXDIRSIZ to avoid VOP_READDIR() returning EINVAL - * (the latter is not a strong guarantee (yet); but EINVAL will always be - * returned if this requirement is not verified). '*dpp' points to the current - * directory entry in the buffer and '*len' contains the remaining valid bytes - * in 'dirbuf' after 'dpp' (including the pointed entry). + * 'td' is used for credentials and passed to uiomove(). 'dirbuf' is the + * caller's buffer to fill and 'dirbuflen' its allocated size. 'dirbuf' must + * be properly aligned to access 'struct dirent' structures and 'dirbuflen' + * must be greater than GENERIC_MAXDIRSIZ to avoid VOP_READDIR() returning + * EINVAL (the latter is not a strong guarantee (yet); but EINVAL will always + * be returned if this requirement is not verified). '*dpp' points to the + * current directory entry in the buffer and '*len' contains the remaining + * valid bytes in 'dirbuf' after 'dpp' (including the pointed entry). * * At first call (or when restarting the read), '*len' must have been set to 0, - * '*off' to 0 (or any valid start offset) and '*eofflag' to 0. There are no - * more entries as soon as '*len' is 0 after a call that returned 0. Calling + * '*off' to 0 (or any valid start offset) and '*eofflag' to 0. There are no + * more entries as soon as '*len' is 0 after a call that returned 0. Calling * again this function after such a condition is considered an error and EINVAL - * will be returned. Other possible error codes are those of VOP_READDIR(), + * will be returned. Other possible error codes are those of VOP_READDIR(), * EINTEGRITY if the returned entries do not pass coherency tests, or EINVAL - * (bad call). All errors are unrecoverable, i.e., the state ('*len', '*off' - * and '*eofflag') must be re-initialized before a subsequent call. On error or - * at end of directory, '*dpp' is reset to NULL. + * (bad call). All errors are unrecoverable, i.e., the state ('*len', '*off' + * and '*eofflag') must be re-initialized before a subsequent call. On error + * or at end of directory, '*dpp' is reset to NULL. * * '*len', '*off' and '*eofflag' are internal state the caller should not - * tamper with except as explained above. '*off' is the next directory offset - * to read from to refill the buffer. '*eofflag' is set to 0 or 1 by the last + * tamper with except as explained above. '*off' is the next directory offset + * to read from to refill the buffer. '*eofflag' is set to 0 or 1 by the last * internal call to VOP_READDIR() that returned without error, indicating * whether it reached the end of the directory, and to 2 by this function after * all entries have been read. @@ -3804,7 +3804,7 @@ vn_dir_next_dirent(struct vnode *vp, struct thread *td, /* * The caller continued to call us after an error (we set dp to - * NULL in a previous iteration). Bail out right now. + * NULL in a previous iteration). Bail out right now. */ if (__predict_false(dp == NULL)) return (EINVAL); From nobody Fri Apr 28 19:37:41 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7NDQ1jN9z47spX; Fri, 28 Apr 2023 19:37: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 4Q7NDQ0nxpz3FbB; Fri, 28 Apr 2023 19:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682710662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6P4pxKc1apSif3lYPF5x0PZND1Q0i0BVEuLAbs35AIM=; b=aWjx603yn8wv/Fo4B7uWdFw41asWfgCei+lmSMQS5OrErXxDwuZDMUpopq8ngx+aSy56MH qEpGZn4egS5zj/x4MFpn2Xz2cSsqDX7zdQyl2WHlc4H/8/aah0MiVqc+Rgv70tEqnlQig7 6wO3BJJV67ZebvNKReut55g7lxUJP5q0g878yL+otcBEgoTpLeJWqXVUckgjq5VRD0puGE Xe4RHMlJ66e3qULoxDxYfRwQoA8dyfGYExSzT627wcuPBQDWqN1QQAwbJtUS0t9D4ojXx7 Lo6nczBLvwecFOy87eC/vnZJOizJfbK2bTmqRSjQGtoDsfVxiwqhGAbXxHANeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682710662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6P4pxKc1apSif3lYPF5x0PZND1Q0i0BVEuLAbs35AIM=; b=Zqu1Z7ClY2NcF5BT5LiAhqEZ78nF/34IyTLeMfljT7zQQRMU3y2l5+HVc6kJ91Z/1P6qj1 WIo/oFAdlL9ZVzgbF4YhoUOGfLNjq0PMMpq1OoH891AvNiStB4bQwBOJXTFzg6J5vzz3fa giMLq/NlKBfp0wpHGjWLa9ascav+Lc6kt6XEr9HprNiorULPExbr4syLvWSQR/ZoUW2s+p PV0FwMNpK0NBL5ZneymVhKofK+I6k0uKGjWYMKerZgND5x2XsqhfMr4wQ001g8wpoHZm4E QK1fMCzyz+oiWLZRnWAmwWmbYQHcgbVHYi/kjs8UhoondynmBK2z0PlvPAJD2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682710662; a=rsa-sha256; cv=none; b=u0dvUnp8abNve/cd6vqqxOvzfAygkTzmpX5i6qkFveMfx/yLlXGy41MXMp0HMi+l0ubGQp 01xMGlJCDXqmug0mqv5AdW7DOIJ4wHuH+Do2v/GDD4KX4iFCMX8KzZq7R5ahIMWBtTCGa/ tXl6CKJv2pygVldVxWi2loRNLH8+JzROe2qa7dpmWiafpP/m1+qCc0NbqLpJg0dvEijpqE rAKkQXC5d6TGfL8Co2NB4/001KvG2F+qPy1lSn3tuOBAeM4+I9s/CiQ25K+QyUXdhWhn6a D+W6am714mfEISIHuRwiGaJ9UbqI+sZtSjZygdHleklcnYErYLF40z5SJZxfYw== 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 4Q7NDP6hdqz1C3N; Fri, 28 Apr 2023 19:37: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 33SJbfCm075111; Fri, 28 Apr 2023 19:37:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SJbfIg075110; Fri, 28 Apr 2023 19:37:41 GMT (envelope-from git) Date: Fri, 28 Apr 2023 19:37:41 GMT Message-Id: <202304281937.33SJbfIg075110@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: 2544b8e00ca1 - main - vfs: Rename vfs_emptydir() to vn_dir_check_empty() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2544b8e00ca1afea64b00a6ddaf7b584244ade90 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2544b8e00ca1afea64b00a6ddaf7b584244ade90 commit 2544b8e00ca1afea64b00a6ddaf7b584244ade90 Author: Olivier Certner AuthorDate: 2023-04-28 09:00:11 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-28 19:37:35 +0000 vfs: Rename vfs_emptydir() to vn_dir_check_empty() No functional change. While here, adapt comments to style(9). Reviewed by: kib MFC after: 1 week --- sys/kern/vfs_mount.c | 2 +- sys/kern/vfs_subr.c | 90 --------------------------------------------------- sys/kern/vfs_vnops.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sys/sys/vnode.h | 2 +- 4 files changed, 93 insertions(+), 92 deletions(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index bf532df335bf..e7f9eab33158 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -1160,7 +1160,7 @@ vfs_domount_first( error = ENOTDIR; } if (error == 0 && (fsflags & MNT_EMPTYDIR) != 0) - error = vfs_emptydir(vp); + error = vn_dir_check_empty(vp); if (error == 0) { VI_LOCK(vp); if ((vp->v_iflag & VI_MOUNT) == 0 && vp->v_mountedhere == NULL) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 3c783f7326d0..9901a20172a4 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -6382,96 +6382,6 @@ filt_vfsvnode(struct knote *kn, long hint) return (res); } -/* - * Returns whether the directory is empty or not. - * If it is empty, the return value is 0; otherwise - * the return value is an error value (which may - * be ENOTEMPTY). - */ -int -vfs_emptydir(struct vnode *vp) -{ - struct thread *const td = curthread; - char *dirbuf; - size_t dirbuflen, len; - off_t off; - int eofflag, error; - struct dirent *dp; - struct vattr va; - - ASSERT_VOP_LOCKED(vp, "vfs_emptydir"); - VNPASS(vp->v_type == VDIR, vp); - - error = VOP_GETATTR(vp, &va, td->td_ucred); - if (error != 0) - return (error); - - dirbuflen = max(DEV_BSIZE, GENERIC_MAXDIRSIZ); - if (dirbuflen < va.va_blocksize) - dirbuflen = va.va_blocksize; - dirbuf = malloc(dirbuflen, M_TEMP, M_WAITOK); - - len = 0; - off = 0; - eofflag = 0; - - for (;;) { - error = vn_dir_next_dirent(vp, td, dirbuf, dirbuflen, - &dp, &len, &off, &eofflag); - if (error != 0) - goto end; - - if (len == 0) { - /* EOF */ - error = 0; - goto end; - } - - /* - * Skip whiteouts. Unionfs operates on filesystems only and not - * on hierarchies, so these whiteouts would be shadowed on the - * system hierarchy but not for a union using the filesystem of - * their directories as the upper layer. Additionally, unionfs - * currently transparently exposes union-specific metadata of - * its upper layer, meaning that whiteouts can be seen through - * the union view in empty directories. Taking into account - * these whiteouts would then prevent mounting another - * filesystem on such effectively empty directories. - */ - if (dp->d_type == DT_WHT) - continue; - - /* - * Any file in the directory which is not '.' or '..' indicates - * the directory is not empty. - */ - switch (dp->d_namlen) { - case 2: - if (dp->d_name[1] != '.') { - /* Can't be '..' (nor '.') */ - error = ENOTEMPTY; - goto end; - } - /* FALLTHROUGH */ - case 1: - if (dp->d_name[0] != '.') { - /* Can't be '..' nor '.' */ - error = ENOTEMPTY; - goto end; - } - break; - - default: - error = ENOTEMPTY; - goto end; - } - } - -end: - free(dirbuf, M_TEMP); - return (error); -} - int vfs_read_dirent(struct vop_readdir_args *ap, struct dirent *dp, off_t off) { diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index d2b1a9b0570b..33cb3ebed60f 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -3897,6 +3897,97 @@ out: return (error); } +/* + * Checks whether a directory is empty or not. + * + * If the directory is empty, returns 0, and if it is not, ENOTEMPTY. Other + * values are genuine errors preventing the check. + */ +int +vn_dir_check_empty(struct vnode *vp) +{ + struct thread *const td = curthread; + char *dirbuf; + size_t dirbuflen, len; + off_t off; + int eofflag, error; + struct dirent *dp; + struct vattr va; + + ASSERT_VOP_LOCKED(vp, "vfs_emptydir"); + VNPASS(vp->v_type == VDIR, vp); + + error = VOP_GETATTR(vp, &va, td->td_ucred); + if (error != 0) + return (error); + + dirbuflen = max(DEV_BSIZE, GENERIC_MAXDIRSIZ); + if (dirbuflen < va.va_blocksize) + dirbuflen = va.va_blocksize; + dirbuf = malloc(dirbuflen, M_TEMP, M_WAITOK); + + len = 0; + off = 0; + eofflag = 0; + + for (;;) { + error = vn_dir_next_dirent(vp, td, dirbuf, dirbuflen, + &dp, &len, &off, &eofflag); + if (error != 0) + goto end; + + if (len == 0) { + /* EOF */ + error = 0; + goto end; + } + + /* + * Skip whiteouts. Unionfs operates on filesystems only and + * not on hierarchies, so these whiteouts would be shadowed on + * the system hierarchy but not for a union using the + * filesystem of their directories as the upper layer. + * Additionally, unionfs currently transparently exposes + * union-specific metadata of its upper layer, meaning that + * whiteouts can be seen through the union view in empty + * directories. Taking into account these whiteouts would then + * prevent mounting another filesystem on such effectively + * empty directories. + */ + if (dp->d_type == DT_WHT) + continue; + + /* + * Any file in the directory which is not '.' or '..' indicates + * the directory is not empty. + */ + switch (dp->d_namlen) { + case 2: + if (dp->d_name[1] != '.') { + /* Can't be '..' (nor '.') */ + error = ENOTEMPTY; + goto end; + } + /* FALLTHROUGH */ + case 1: + if (dp->d_name[0] != '.') { + /* Can't be '..' nor '.' */ + error = ENOTEMPTY; + goto end; + } + break; + + default: + error = ENOTEMPTY; + goto end; + } + } + +end: + free(dirbuf, M_TEMP); + return (error); +} + static u_long vn_lock_pair_pause_cnt; SYSCTL_ULONG(_debug, OID_AUTO, vn_lock_pair_pause, CTLFLAG_RD, diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 8403dd8c035b..7ba95de34b5d 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -1102,8 +1102,8 @@ struct dirent; int vn_dir_next_dirent(struct vnode *vp, struct thread *td, char *dirbuf, size_t dirbuflen, struct dirent **dpp, size_t *len, off_t *off, int *eofflag); +int vn_dir_check_empty(struct vnode *vp); int vfs_read_dirent(struct vop_readdir_args *ap, struct dirent *dp, off_t off); -int vfs_emptydir(struct vnode *vp); int vfs_unixify_accmode(accmode_t *accmode); From nobody Fri Apr 28 20:04:40 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7NqX6XJHz47v4G; Fri, 28 Apr 2023 20:04: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 4Q7NqX633Wz3JmW; Fri, 28 Apr 2023 20:04:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682712280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jSogZDgMZTZChV9xstZFCAQA1sGhSafTligenQCoBZ0=; b=NQL5WYFBtgKi2oatYin4CHMKrl5wYMYzIC0VBxIazRx02P3GXLybDSS39Q73aIgQzhdrUq hA+gGLQSGi+cmhzAhXbtd9mmrL30bNPyYvR1j/FV5guSpMMDjrDksL3jrFFCZCUCWV0f1v C2AS9V46L9nKMBVivEgVkZ6n58XkoOFlcIcxgxTxI2EeAsJo/ErOpmVLfuokjerq92hTt3 FWZGf/CXh4Z5EEYOwR6ERhV0IWlqYe2rzxPO9FbMJQKpd54aWFoylsjWY0PL60cl98MUdI BNWOMC8B+metU4jS0/d0yFnT2ZhJYC+clrO5Ra/x8rdJ2eMILVMn3EQ1GCnTtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682712280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jSogZDgMZTZChV9xstZFCAQA1sGhSafTligenQCoBZ0=; b=i4qrQaINfDpI7Xz0a172Pif6exDmhjAWPG5lSLvkg7YobEAZxzTlKMNprEjXwC5x6EJsFa 8/dr/O/MwNw0FkvZDNC7pU1mdr7/DWbKROh6RMRmuRILVivOXOwjik2qv7U4hhiU8RKmFT zQqpwZ9eQDvFGEXRJowgHizsgu6z7cbzd5Erv10sTmzgGdt4VySL+C5BPxAeck2w5qmOTx UuDrw0OlIOTvEHTajZ8tcZWBFPolbgHWSpiGjcwPIMqK5fXjEv19+kklohyHXHBKce5GYf vR90EvPmLA+67An8cyE+rcKgWcwXK88BWkD2xYXoXaG4DNnMgmizP3knsnHV6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682712280; a=rsa-sha256; cv=none; b=JUt9JW5oNknUyAwohs8zgCUJde3qzs/ToP4Jj/BX6NFqZGbDO1NMpW89j7URWLIX6PLa0E gKx4+FjkAXpm+z4Gfv60qkdujYXmovpNfqk4AYUUJ277UvQ8i6KAh4/Lfv74SviAnY6RAS RhiCx1P3AQXbcfyf7JzXg+VjPr5N9NKKwWVJU5rx1oE/X4byzE6rHGbfnsB+NKHWDBWmkF TDigYgG7dAOglY8LfAwYx1FrtOhmxS9cpJD/UStKcS91FYxGXgMcGwFelzuSC+/3xzMi3Q iA7uQWcQdoccHI2mFXAxccdp3MrMFg85QjTEpSukhlW4PmfOa2BmZsnlvhRBGw== 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 4Q7NqX55S4z1CN4; Fri, 28 Apr 2023 20:04: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 33SK4eem025161; Fri, 28 Apr 2023 20:04:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SK4eq7025160; Fri, 28 Apr 2023 20:04:40 GMT (envelope-from git) Date: Fri, 28 Apr 2023 20:04:40 GMT Message-Id: <202304282004.33SK4eq7025160@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: d43bf55fc545 - main - armv7: Fix BeagleBone Black panic on system start List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d43bf55fc5457dd0b95f19ebbffcc8d8501ea157 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=d43bf55fc5457dd0b95f19ebbffcc8d8501ea157 commit d43bf55fc5457dd0b95f19ebbffcc8d8501ea157 Author: Konrad Sewiłło-Jopek AuthorDate: 2023-04-28 20:03:38 +0000 Commit: Emmanuel Vadot CommitDate: 2023-04-28 20:03:57 +0000 armv7: Fix BeagleBone Black panic on system start There is now assertion which requires all memory allocations of positive size. Negative and zero-sized allocations lead to panic, so plug them off. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D39846 --- sys/arm/ti/ti_sysc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/arm/ti/ti_sysc.c b/sys/arm/ti/ti_sysc.c index 2f6011e3049d..603dec3334c2 100644 --- a/sys/arm/ti/ti_sysc.c +++ b/sys/arm/ti/ti_sysc.c @@ -306,6 +306,9 @@ parse_regfields(struct ti_sysc_softc *sc) { /* Grab the content of reg properties */ nreg = OF_getproplen(node, "reg"); + if (nreg <= 0) + return (ENXIO); + reg = malloc(nreg, M_DEVBUF, M_WAITOK); OF_getencprop(node, "reg", reg, nreg); From nobody Fri Apr 28 20:15:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7P4S2ybjz47vxT; Fri, 28 Apr 2023 20:15: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 4Q7P4S2VBYz3KX9; Fri, 28 Apr 2023 20:15:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682712952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CgmQEMmSZmsd+VfjFluvNwFC4+bmze9fazhBYbXiGHY=; b=w7zzu+OU7ruOwfMaQ7g42hOZNzPcDQ+U+2I1+lMNSoIAWCmSmufOQGAM1qYgv0FF4ERYUJ bpujHyAn92Nx7GazGdlyuvklvqJ1EKlb99GDZprCUwxy/P42cEgfhW8/g+MDiRxEVd3T6U AiTChVDJWFopB0beYW1khgutAGtm+D50/e8+m2GhqitY6S1S9X7D3/5pyTz/349pDvrC0g dv9awPLeRfus/JdkFP7eEvOBkV6xN3P0lrTuRkYV1pHaRLLjpG0BvUoMEDFgB9+yFNIm/o jJzRgrssVeWDcvgw6AZQjhWLISbTRuswrOofCRW8gm/UWI2Njv3deGRgfsiV8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682712952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CgmQEMmSZmsd+VfjFluvNwFC4+bmze9fazhBYbXiGHY=; b=CnfPq/50I5/Hg3pZ5nucG+yuC+fWvYYIUv2d7WUE9nImX+ycoh+F58JMHtIl5u4W9vhCx6 gsdu5JNo0xC7W1ze17jJUBumD1K5dvFbZIVQdnHc6QRLsi0XUn3V5KwlPZ/drPUTMVYn/S W3j2QFiYvYIBBebNYd7mJNx/qJHjIhtwH/4+mEeujgTTqk5GbfX2tPp5KdP0APgGQzcw/k r0uW+MT51Y4EiC1TgSHn0G+qCQFdKkV2bi5/Xfd5yvHYGarlRVEH65Y+Th6Rm95VUFotFg 6m5EvMOGL1ukw3T2oqXds9n3YMAC9w54fqgVES2AmTwSjA9glhHZTfMhlOb93Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682712952; a=rsa-sha256; cv=none; b=s9oCSVJgbgLVZL6rRECb4pekdPd4IzRosM88a8c2IPsnz28cyVTxqbCv2Gve41r+wwXV9o fOEMjcNSzjDY9ht0lqz7O0ZXgCQsqr0Naz9XrWWv53UaUHUcMWY1Fky09kE9x2Nw+NNSii LWUOdcBidoPZvNpeyMF5TO/nlUakacgRnVgzlBmBcofR48qMimTdUioqRUeid77fjpsNmp WuWz8jlRbjAFi4B3HnrslckIId0W3G9yJ9su4+ZljHMCEIxh7mguOyB62rpLIkQXRM3GV5 xFuN8pI3+LLIdQ9KVQBmozpugFoJKRUOY1QT86ldoAmlhG2hVH81uE2s6hlkSg== 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 4Q7P4S1X8hz1Cpb; Fri, 28 Apr 2023 20:15:52 +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 33SKFqGb041795; Fri, 28 Apr 2023 20:15:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SKFqEg041794; Fri, 28 Apr 2023 20:15:52 GMT (envelope-from git) Date: Fri, 28 Apr 2023 20:15:52 GMT Message-Id: <202304282015.33SKFqEg041794@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Ambrisko Subject: git: e133103ab6b3 - main - mrsas(4) fix build on targets that don't define PTRIN. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ambrisko X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e133103ab6b35d96d06f24825cff6caa298f595a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ambrisko: URL: https://cgit.FreeBSD.org/src/commit/?id=e133103ab6b35d96d06f24825cff6caa298f595a commit e133103ab6b35d96d06f24825cff6caa298f595a Author: Doug Ambrisko AuthorDate: 2023-04-28 20:12:32 +0000 Commit: Doug Ambrisko CommitDate: 2023-04-28 20:15:43 +0000 mrsas(4) fix build on targets that don't define PTRIN. --- sys/dev/mrsas/mrsas_ioctl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/dev/mrsas/mrsas_ioctl.c b/sys/dev/mrsas/mrsas_ioctl.c index b8d88c164e81..7f1d9a91ba0f 100644 --- a/sys/dev/mrsas/mrsas_ioctl.c +++ b/sys/dev/mrsas/mrsas_ioctl.c @@ -55,6 +55,10 @@ struct mrsas_passthru_cmd { int complete; }; +#ifndef PTRIN +#define PTRIN(p) ((void *)(uintptr_t)(p)) +#endif + /* * Function prototypes */ From nobody Fri Apr 28 20:29:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7PMz0xHFz47wJ0; Fri, 28 Apr 2023 20:29:19 +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 4Q7PMz0GNDz3Ljl; Fri, 28 Apr 2023 20:29:19 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682713759; 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=+urTx6100qY7ME2NcvNjTYfBlftMxgEasnJN5/1MEYk=; b=y2fLPjHHGPOrxif4pwp/9NSkTS3wQazYGPgAZW9nVBvfQYXSCyVC4a3t9RElwSbz8hbiCv JddEDoCS2vLp2555ZU6yhoMc5EDB+ZejAvAnQuZV9lpv+Q+EJan//0AfquMiKqbJflmodE zaebF0q/qVFW9BtVPPmUPZraqqANEQFIhCxlBh8HPmfDDI1rsF6W1aoP9HneRyDCa9zBJT uLWdgQPaapI2w7bItwsmN3T3PJydy5TqpwALmKFucMfg6TPQ6Yu3APm8Qro2J0bk8FRI80 vzoLrGri2DdRLZi7kyPopBJB5P/rByLYQtrdllnOpcJ4qfnY4bVhBBpkJPi6SA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682713759; 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=+urTx6100qY7ME2NcvNjTYfBlftMxgEasnJN5/1MEYk=; b=Q1Peba2W6iZ9okdk01qsazPH1svf5CIiht5iSrPPwbTJB9ccdJGdP3+sEucsx4ynR8QQCz 7crni4tw/TpcvPAUq4NULJrIgcC2fOxeQjd0cPmbrGp89p28I9ztAx4uHuA/5Xnp1w9yUe RoYMGi1hzLUSPui6yL6h8haKQ1C5bXtfbUFpzkBivhIsSO75JncXk2wu6vGDslf0U2tdol wTjDDPXnAVdUyvLwQOvcwXr5atM/xZyZxkDB9vWJxGJB6YXENOD7EJa/0i/r9tdSlAAYjc AbJ4npdWKfArfIMzzRmNWsH16O6W4KBvwcXZoLl2NL0fvf+21EWtqSwZkZ6KSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682713759; a=rsa-sha256; cv=none; b=f2AlxLccRDG1sgbfy/6o1h3E7XmjvVQz3UgfzfDhaDw5rf9mLqDXGx+thXN8P0qWk4UBC3 09z111KesM6WlGZ4/M7OK0fCWGjtqPU3klzWOAp/io8dSq3NXLKSlV0Mqor/Ht6d8UxfnH xgoxCEKw52qTdiX5Tsf4HKig/if7yvcofNuCXHkW0KSCfjlnl77oIbMcN8E+1XT0cMm5Vk XbEXJzVGHTCjsVW9MEhMWkNsGdkgjt+IbnjE5SmrPrHmptDncArdimq9gePKDlI/llfgY2 AqBM+9BZc5eoinnTjKZONedqCdHtScmZlXoU/Hyj8TC9AlGU6tXrNy3eYbIT1Q== Received: from mail-qv1-f49.google.com (mail-qv1-f49.google.com [209.85.219.49]) (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 4Q7PMy6J1WzSCw; Fri, 28 Apr 2023 20:29:18 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qv1-f49.google.com with SMTP id 6a1803df08f44-5ef41569a3fso2563136d6.3; Fri, 28 Apr 2023 13:29:18 -0700 (PDT) X-Gm-Message-State: AC+VfDzsNAOg3cGB/5FMk+QaHDDtB1vpaqQiuxcwntIU9vhgvaejjALY d3Ikfm8GM9ouGNNNy5ElHGUy4j9x/NBbk/8EzDs= X-Google-Smtp-Source: ACHHUZ4TkkxZKlzTvv5aK8RFIKR+Hh3T5wR6BuxxoXKj9ehmlnR8dPa22fARFFS0RlYMAfFOBOKtT3/l8ShJef8mCP0= X-Received: by 2002:ad4:5e8e:0:b0:5cc:e059:efa3 with SMTP id jl14-20020ad45e8e000000b005cce059efa3mr12109996qvb.23.1682713758423; Fri, 28 Apr 2023 13:29:18 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202205310005.24V05MTi034088@gitrepo.freebsd.org> <5593fcdc-9adb-89a9-3ad8-151a9e7c5c0d@FreeBSD.org> In-Reply-To: <5593fcdc-9adb-89a9-3ad8-151a9e7c5c0d@FreeBSD.org> From: Kyle Evans Date: Fri, 28 Apr 2023 15:29:07 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: c1e813d12309 - main - hwpmc: Correct selection of Intel fixed counters. To: Alexander Motin Cc: Kyle Evans , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, "Sideropoulos, Alexander" , Andrew Gallatin , Toomas Soome Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N On Thu, Apr 20, 2023 at 1:57=E2=80=AFPM Alexander Motin w= rote: > > Kyle, Andrew, > > On 19.04.2023 16:06, Kyle Evans wrote: > > On Mon, May 30, 2022 at 7:05=E2=80=AFPM Alexander Motin wrote: > >> > >> The branch main has been updated by mav: > >> > >> URL: https://cgit.FreeBSD.org/src/commit/?id=3Dc1e813d1230915e19a236ec= 687cadc1051841e56 > >> > >> commit c1e813d1230915e19a236ec687cadc1051841e56 > >> Author: Alexander Motin > >> AuthorDate: 2022-05-30 23:46:48 +0000 > >> Commit: Alexander Motin > >> CommitDate: 2022-05-31 00:05:15 +0000 > >> > >> hwpmc: Correct selection of Intel fixed counters. > >> > >> Intel json's use event=3D0 to specify fixed counter number via um= ask. > >> Alternatively fixed counters have equivalent programmable event/u= mask. > >> > >> MFC after: 1 month > >> --- > >> sys/dev/hwpmc/hwpmc_core.c | 34 +++++++++++++++++++++++++--------- > >> 1 file changed, 25 insertions(+), 9 deletions(-) > >> > >> diff --git a/sys/dev/hwpmc/hwpmc_core.c b/sys/dev/hwpmc/hwpmc_core.c > >> index fce97cbd5b8e..73cfee0b3975 100644 > >> --- a/sys/dev/hwpmc/hwpmc_core.c > >> +++ b/sys/dev/hwpmc/hwpmc_core.c > >> @@ -245,15 +245,31 @@ iaf_allocate_pmc(int cpu, int ri, struct pmc *pm= , > >> ev =3D IAP_EVSEL_GET(config); > >> umask =3D IAP_UMASK_GET(config); > >> > >> - /* INST_RETIRED.ANY */ > >> - if (ev =3D=3D 0xC0 && ri !=3D 0) > >> - return (EINVAL); > >> - /* CPU_CLK_UNHALTED.THREAD */ > >> - if (ev =3D=3D 0x3C && ri !=3D 1) > >> - return (EINVAL); > >> - /* CPU_CLK_UNHALTED.REF */ > >> - if (ev =3D=3D 0x0 && umask =3D=3D 0x3 && ri !=3D 2) > >> - return (EINVAL); > >> + if (ev =3D=3D 0x0) { > >> + if (umask !=3D ri + 1) > >> + return (EINVAL); > > > > Hey Alexander, > > > > This seems to break system-mode sampling of fixed-mode counters; e.g., > > from the manpage, `pmcstat -S instructions`, and I'm not at all > > familiar with these parts of pmc. We come in once with umask=3D1, ri=3D= 0; > > then again with umask=3D1, ri=3D1. The latter fails and we try umask=3D= 1, > > ri=3D2, which again fails, and the PMCALLOCATE op ultimately fails. > > > > Is `umask !=3D ri + 1` correct, or should this be reverted back to > > `umask =3D=3D 0x3 && ri !=3D 2` or something else? I've no idea what th= e > > `umask` values represent in this context. > > I still believe this code is correct, at least as much as data in > lib/libpmc/pmu-events/arch/x86 is consistent (look for > "INST_RETIRED.ANY", that actually fails here after translation from > "instructions"). The multiple calls you see is the result of hwpmc > trying to find counter "matching" parameters. For fixed counters the > match is really just (umask =3D=3D ri + 1), since umask for fixed counter= s > in the Intel events data is just a counter number starting from 1. > > I've tried to test fixed-mode counters myself and got it failing also. > But looking a bit deeper, I think the problem may be caused by this > patch: https://reviews.freebsd.org/D35709 . I think it tries to > allocate the same fixed counter twice, where the first attempt succeeds, > while the second fails, since the hardware is already busy. I haven't > looked close on the pmcstat code, but I suppose the patch was wrong, so > if you or Andrew wish to fix it properly -- I'd be happy. > Hi, I looked at the initial review where Andrew reported his issue: https://reviews.freebsd.org/D35342 -- I think we need to take a closer look at understanding how the original issue happened. I note: Core was generated by `pmcstat -R out.pmclog_cpi01 -z 32 -G out.pmcstat_cpi= 01'. With those flags, the patch in D35709 could not have actually fixed the assertion. Note that the -R flag sets FLAG_READ_LOGFILE: https://cgit.freebsd.org/src/tree/usr.sbin/pmcstat/pmcstat.c#n825 There's a sanity check a little later; if any `args.pa_events` are specified (-p/-s/-P/-S), it throws an error: https://cgit.freebsd.org/src/tree/usr.sbin/pmcstat/pmcstat.c#n950 Thus, we have nothing to iterate over, and the pmc_allocate() call at https://cgit.freebsd.org/src/tree/usr.sbin/pmcstat/pmcstat.c#n1188 is not actually reachable in any circumstance with -R specified. I think 0aa150775179a4f683f should be backed out, but it's also important to figure out what actually happened to induce those crashes and why it has apparently disappeared in the interim. Thanks, Kyle Evans From nobody Fri Apr 28 20:38:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7Pb34fqQz47wkn; Fri, 28 Apr 2023 20:38:55 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Received: from heemeyer.club (heemeyer.club [195.93.173.158]) (using TLSv1.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 4Q7Pb317xhz3MJj; Fri, 28 Apr 2023 20:38:54 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Authentication-Results: mx1.freebsd.org; none Received: from heemeyer.club (localhost [127.0.0.1]) by heemeyer.club (8.17.1/8.16.1) with ESMTP id 33SKckGQ009108; Fri, 28 Apr 2023 23:38:46 +0300 (MSK) (envelope-from dchagin@heemeyer.club) Received: (from dchagin@localhost) by heemeyer.club (8.17.1/8.16.1/Submit) id 33SKckrG009107; Fri, 28 Apr 2023 23:38:46 +0300 (MSK) (envelope-from dchagin) Date: Fri, 28 Apr 2023 23:38:46 +0300 From: Dmitry Chagin To: Doug Ambrisko Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: e133103ab6b3 - main - mrsas(4) fix build on targets that don't define PTRIN. Message-ID: References: <202304282015.33SKFqEg041794@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202304282015.33SKFqEg041794@gitrepo.freebsd.org> X-Rspamd-Queue-Id: 4Q7Pb317xhz3MJj X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:61400, ipnet:195.93.173.0/24, country:RU] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Fri, Apr 28, 2023 at 08:15:52PM +0000, Doug Ambrisko wrote: > The branch main has been updated by ambrisko: > > URL: https://cgit.FreeBSD.org/src/commit/?id=e133103ab6b35d96d06f24825cff6caa298f595a > > commit e133103ab6b35d96d06f24825cff6caa298f595a > Author: Doug Ambrisko > AuthorDate: 2023-04-28 20:12:32 +0000 > Commit: Doug Ambrisko > CommitDate: 2023-04-28 20:15:43 +0000 > > mrsas(4) fix build on targets that don't define PTRIN. just #include > --- > sys/dev/mrsas/mrsas_ioctl.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/sys/dev/mrsas/mrsas_ioctl.c b/sys/dev/mrsas/mrsas_ioctl.c > index b8d88c164e81..7f1d9a91ba0f 100644 > --- a/sys/dev/mrsas/mrsas_ioctl.c > +++ b/sys/dev/mrsas/mrsas_ioctl.c > @@ -55,6 +55,10 @@ struct mrsas_passthru_cmd { > int complete; > }; > > +#ifndef PTRIN > +#define PTRIN(p) ((void *)(uintptr_t)(p)) > +#endif > + > /* > * Function prototypes > */ From nobody Fri Apr 28 20:49:39 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7Pqb2B8Kz47xbl; Fri, 28 Apr 2023 20:49:47 +0000 (UTC) (envelope-from ambrisko@ambrisko.com) Received: from mail2.ambrisko.com (mail2.ambrisko.com [70.91.206.91]) by mx1.freebsd.org (Postfix) with ESMTP id 4Q7PqZ4DDKz3NT1; Fri, 28 Apr 2023 20:49:46 +0000 (UTC) (envelope-from ambrisko@ambrisko.com) Authentication-Results: mx1.freebsd.org; none IronPort-SDR: tfkPz7himHtaAHfGmMN0X9Hl2iZdwpXDv3EZ/mezdeQ0eRn6jU7o4+GpSVqx/Az70tVNxZeoBv mpQryl8Di+Tg== X-Ambrisko-Me: Yes IronPort-Data: A9a23:ogu+T66Zxhlqg9Y9QQUWAQxRtKzFchMFZxGqfqrLsTDasY5as4F+v jEbUTiGb/eKMzGnL4t+bNjn80JU6p/dmNBrGwo9qyg2QiMRo6IpJzg5wmQcns+2BpeeJK5fA kl3huDodKjYdFeFzvuQGuOJQUdUhPjgqoXUWLas1hBZHWeIeQ954f5Rs7dRbr1A3bBVNziwV eba+KUzDrMFNwlcaQr444rbwP9mUW+bVDkw5jTSbtgT1LPSeuV84Dvy+MiMw3XErol8RoZWR s7Cyq205GXQ+1EkD9m/k634dQsBRbu60Qqm0ysMHfH80l4b4HZaPqUTbJLwbW9ejj+Tnstyz /1EsJaqSBwqOevHn+F1vxxwTXohYfAZkFPACT3l2SCJ9GXKeHvlzPRoJE8sMIAS4eoxBntBn dQRLToXbwuAgMq42r+2QPJgwMM5I6HDJ5kU/3pnyDTYEeorW4vrTb/H6NVD0HE3nM8mNfrTe Y8Sbj9qbQjbJgZVMRIeDJYWkv2li3Pkf3tfsl39jaY6/S3Yywl00aT2dcHPcZmPTMRTtkiCq 2/M5Gi/BQsVXOFzYxLtHmmEneLVgy7hAsQbEbei9+VphxuYwWl7NfHfbnPjydHRt6J0c4s3x +E8o0LCcYBaGJSXc+TA IronPort-HdrOrdr: A9a23:ijy16KxzScEWwepKONoyKrPwLL1zdoMgy1knxilNoNJuE/Bws/ re+8jztCWE7Ar5N0tNpTntAsa9qDbnhPhICOoqTNKftWvdyQiVxehZhOOIrgEIWReOlNK1vp 0BT0ERMrPN5WgRt6zH3DU= X-URL-LookUp-ScanningError: 1 Received: from server2.ambrisko.com (HELO internal.ambrisko.com) ([192.168.1.2]) by ironport2.ambrisko.com with ESMTP; 28 Apr 2023 12:25:30 -0700 Received: from ambrisko.com (localhost [127.0.0.1]) by internal.ambrisko.com (8.17.1/8.17.1) with ESMTPS id 33SKnd5c007198 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 28 Apr 2023 13:49:40 -0700 (PDT) (envelope-from ambrisko@ambrisko.com) X-Authentication-Warning: internal.ambrisko.com: Host localhost [127.0.0.1] claimed to be ambrisko.com Received: (from ambrisko@localhost) by ambrisko.com (8.17.1/8.17.1/Submit) id 33SKnd9Q007197; Fri, 28 Apr 2023 13:49:39 -0700 (PDT) (envelope-from ambrisko) Date: Fri, 28 Apr 2023 13:49:39 -0700 From: Doug Ambrisko To: Dmitry Chagin Cc: Doug Ambrisko , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: e133103ab6b3 - main - mrsas(4) fix build on targets that don't define PTRIN. Message-ID: References: <202304282015.33SKFqEg041794@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 4Q7PqZ4DDKz3NT1 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:7922, ipnet:70.88.0.0/14, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Fri, Apr 28, 2023 at 11:38:46PM +0300, Dmitry Chagin wrote: | On Fri, Apr 28, 2023 at 08:15:52PM +0000, Doug Ambrisko wrote: | > The branch main has been updated by ambrisko: | > | > URL: https://cgit.FreeBSD.org/src/commit/?id=e133103ab6b35d96d06f24825cff6caa298f595a | > | > commit e133103ab6b35d96d06f24825cff6caa298f595a | > Author: Doug Ambrisko | > AuthorDate: 2023-04-28 20:12:32 +0000 | > Commit: Doug Ambrisko | > CommitDate: 2023-04-28 20:15:43 +0000 | > | > mrsas(4) fix build on targets that don't define PTRIN. | | just | #include I wasn't sure and wanted to get the builds fixed and didn't see that in sys/dev/mfi/* just the define ... but just defining it failed on amd64! Thanks for the tip. I'm testing a build of kernels with that now. Doug A. | > --- | > sys/dev/mrsas/mrsas_ioctl.c | 4 ++++ | > 1 file changed, 4 insertions(+) | > | > diff --git a/sys/dev/mrsas/mrsas_ioctl.c b/sys/dev/mrsas/mrsas_ioctl.c | > index b8d88c164e81..7f1d9a91ba0f 100644 | > --- a/sys/dev/mrsas/mrsas_ioctl.c | > +++ b/sys/dev/mrsas/mrsas_ioctl.c | > @@ -55,6 +55,10 @@ struct mrsas_passthru_cmd { | > int complete; | > }; | > | > +#ifndef PTRIN | > +#define PTRIN(p) ((void *)(uintptr_t)(p)) | > +#endif | > + | > /* | > * Function prototypes | > */ From nobody Fri Apr 28 20:53:39 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7Pw35hYgz47y18; Fri, 28 Apr 2023 20:53: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 4Q7Pw35Cmmz3PJn; Fri, 28 Apr 2023 20:53:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682715219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oBK6Oc5JYkoIA89SVHRcWgEPeMBFdMfK6saiy19xfeE=; b=pd46QqeMIAUT5yIqtnOT2GOjEeHzvs1V9Ih+jtO3pnpEzrgD6Z+rM7kifi6ZeZINF3VjN4 Ry/+z9alFI752wqejEBOJIjdyybm7Tc7KTncIpiVf7Gh52zJujpf0CwLM0HwMbJG13tasA 8nLpZIxTqPdYv0fJBYVrE8Ul8UEXVcx242QAhcxxAvjqi1zhIGvOSjd3unYVZJJI0m01cM DCK21qARHXur8ADuH4I00mUshAL7291i1vX7UEBt2LYJd7xGvreydgfKeGjwSM1w9HBwrY 5HPBIAeki7ikip5RF9mKyP5AjBZRC+83BOr2afsR+Rr8ITpfoIuWj72tfkH5eQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682715219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oBK6Oc5JYkoIA89SVHRcWgEPeMBFdMfK6saiy19xfeE=; b=fvxzSvQb6ZDOu3mR9ZBswFX0AhwGDOfwp926ErLI9/lO0/s7cvo1ghGUWU9w9jKBgwu7lo giOJQwphVKdfkTBenh7Sgkkocqpin4yFy9/+FnWDZHsbFJkZz1bB+EiOn7dltsuGpIfjnn RtJ1mrRB63ZF0bZaoS2Xjdg5OZL3LK5BQR9DpU6oWgd5QET0OAck/AE/93E/jBzvrTVfId WO6N/1rQ4YtTo7uWxC5adrUvRN1Jmu3VeLMTTMT0ZIiLC2N5E1pZbb0EVMLUspgs45A9Vy tWfbvZWhXUoDjErOjIXCXYq46IS5H7hlNGkXJ0RL0TomnFvdggOD2IUEkHaYJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682715219; a=rsa-sha256; cv=none; b=xSLppBGUS1cS6MqCuOSbgMV7n3Lf8yNaKC4GXgoM6eh/Gu3TV5ii4RQ8umdfvIcnl9w2Ms MQiMW9kXU7gssv1zADFGnv9kBx+IUApIJkRTvFU0tv8xjdSvWATzDtpxVPu3I2Xnn1JTG0 SoSeKxa2+cMgEOqwjU1fwtxwvAL3/D8jv5wOGkL9qFucxP06TMZIuyAcBvxweCjH86yx+P DOyy5o8gemEHjdiPDGK29NDCUgbo8Hvzen7cvaIq+za2jSHhUhZFt3pOfH4I0Rj9t620Gw BN95mmStPFStzVwbfpXEFMTPJP7FVGmdWUfN9mVNQ9b1Ae/BTSs+X3Bjt0n4Fw== 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 4Q7Pw34HBhzFcC; Fri, 28 Apr 2023 20:53: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 33SKrdww006708; Fri, 28 Apr 2023 20:53:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SKrdeq006707; Fri, 28 Apr 2023 20:53:39 GMT (envelope-from git) Date: Fri, 28 Apr 2023 20:53:39 GMT Message-Id: <202304282053.33SKrdeq006707@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Ambrisko Subject: git: 676333296937 - main - mrsas(4) switch from PTRIN define to include sys/abi_compat.h List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ambrisko X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67633329693723734aef003044e13db07f1fbf5f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ambrisko: URL: https://cgit.FreeBSD.org/src/commit/?id=67633329693723734aef003044e13db07f1fbf5f commit 67633329693723734aef003044e13db07f1fbf5f Author: Doug Ambrisko AuthorDate: 2023-04-28 20:51:20 +0000 Commit: Doug Ambrisko CommitDate: 2023-04-28 20:51:20 +0000 mrsas(4) switch from PTRIN define to include sys/abi_compat.h Suggested by: dchagin --- sys/dev/mrsas/mrsas_ioctl.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sys/dev/mrsas/mrsas_ioctl.c b/sys/dev/mrsas/mrsas_ioctl.c index 7f1d9a91ba0f..9d3699df5b7b 100644 --- a/sys/dev/mrsas/mrsas_ioctl.c +++ b/sys/dev/mrsas/mrsas_ioctl.c @@ -40,6 +40,7 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include @@ -55,10 +56,6 @@ struct mrsas_passthru_cmd { int complete; }; -#ifndef PTRIN -#define PTRIN(p) ((void *)(uintptr_t)(p)) -#endif - /* * Function prototypes */ From nobody Fri Apr 28 21:35:15 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7Qr64FXMz480wj; Fri, 28 Apr 2023 21:35:18 +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 4Q7Qr63kBbz3h4j; Fri, 28 Apr 2023 21:35:18 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682717718; h=from:from:reply-to:subject: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=Hpg3zel2hDWxWL0IP+VmGf7wQZVKwIOaep3tIy7Irts=; b=hzKiBcJkCFKomjoNOsS0mzdgXcYOXtYZ/pgbEgEMTernBwhWtS9nuyfnVRKj5gJrBB46yr comg/ed9a1flanpWucJe//OobdUi+G6rrCUb8mMzH5z85GHlN9NAe4HDx1/2XSjxj4Lre1 SvUdwawW+FKPX/AR9+mw9kY8n5b6yNaIy0PpgqXFJGBdfflGfWdjd6Eq1VVqcadryF4WUd VQpuu0ONTZOPH1wMaHQansh8dgCh9Kk459CGFWnTS5UOuOWVR/BBs17DOmpk2PvL2k/cqf kba96Vd3AKb034yqeJMo8uKo8vDQzX2dKy/oaEhNFhYaEpaaUk7+Qb7GQ7X13g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682717718; h=from:from:reply-to:subject: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=Hpg3zel2hDWxWL0IP+VmGf7wQZVKwIOaep3tIy7Irts=; b=jih/qT1ghYb+5LN4YbjFKBCPP69wDqsXwaeOtoYTMJ5ePK52arfq+YLjf7Z8dxFzZWM8/D 36Ky3d+XCczA+qMCB38+GFzXIdJY1bLlxUXee27UOYggShoSoPXkONck+QUC3oy5+uHcZq 0GO9ATGdZjlIRw3B1OCsQ1F6sVA3BTcgmXw3wTSoKmmgMYXAvt12NTD/Zk/sbAyYcBW4mw 3gVlIbk4b3RWyuNLWb5WRFY6ukc+2ezJavlVNQeICYjuHNj8wEJ0B1EMSJ7kwcC9RtxreX gyDC2B47gBvbvrw4ytbLjQ/cG9vKGo4GVFSY7QfKpDLWreTVTwemJcywBrjDgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682717718; a=rsa-sha256; cv=none; b=Ma+QYp5cDrAh0PROytkjeN+8nyVfGtXD4EQ2XvmQUbyfDfOO6OcMYDgSVU3bvGhHLYAxWA DUdCYgpEw/Cso5XkAZ/QOW+yAtAofeCquEjW1XQNJLoOJVGYqYAgV6lHt5WwQJv+b2FOlY WSrQWTQgSiw0zzO7c7JiMJkye7W30+YvBK6TJK91xC8zRZod7EbLRHdQN5rtE/ZHUwp6XM KM1oZjlUq/lwODpGziDmGR4YeYOCGd/fDhzgQGfSEVy6aqi6xW3DSuMmbk77gZJCqh3KHy X3uNHjOy/gQ5TCug/vdaj2h52SE2rhihkdbiEpySgFgNK+Q6PJRaoTXpHaMDrw== Received: from [IPV6:2601:648:8680:16b0:c030:cdaf:15f:eab0] (unknown [IPv6:2601:648:8680:16b0:c030:cdaf:15f:eab0]) (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 4Q7Qr56DfqzSN3; Fri, 28 Apr 2023 21:35:17 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <4025397b-bfff-8f1e-ab1c-2ff862d4b8a0@FreeBSD.org> Date: Fri, 28 Apr 2023 14:35:15 -0700 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: git: 8371bbdadb9b - main - bhyve: enable capsicum for snapshot code Content-Language: en-US To: =?UTF-8?Q?Corvin_K=c3=b6hne?= , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org, Vitaliy Gusev References: <202304280707.33S77KGV037546@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202304280707.33S77KGV037546@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ThisMailContainsUnwantedMimeParts: N On 4/28/23 12:07 AM, Corvin Köhne wrote: > The branch main has been updated by corvink: > > URL: https://cgit.FreeBSD.org/src/commit/?id=8371bbdadb9bb6b99d0b231995cc3bfcc5a668cb > > commit 8371bbdadb9bb6b99d0b231995cc3bfcc5a668cb > Author: Vitaliy Gusev > AuthorDate: 2023-04-28 07:02:51 +0000 > Commit: Corvin Köhne > CommitDate: 2023-04-28 07:02:51 +0000 > > bhyve: enable capsicum for snapshot code > > Reviewed by: corvink > Sponsored by: vStack > Differential Revision: https://reviews.freebsd.org/D38860 > --- > usr.sbin/bhyve/Makefile | 4 ---- > 1 file changed, 4 deletions(-) Thanks Vitaliy and Corvin! -- John Baldwin From nobody Fri Apr 28 23:15:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7T3F12g0z486Xj; Fri, 28 Apr 2023 23:15: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 4Q7T3F0B2lz3rQl; Fri, 28 Apr 2023 23:15:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682723705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bEyjTYgCuDSZxnQJ8CRH1EHLAzFSVF+9tVxtIQa/ncc=; b=JV1pp8Z9Lxj1jLZv2hlWuap8zHcnYgsuqbhelvbozrrgYfSla43EM8jeWB567tBYo7nUg4 v15RUbEuligXoVf3mMSP9decu0QgFuG+9NFZmvy0AEnBQ3fwAGlyuYAia6GWWVHYNXwNgd YZ0ckOOmDXmjUv9KCJBLljfi3h0HWgy7PMvaTAiy+ynQQKg2/5cUoO4ZlfD37Wr02pQpk1 c7uECxq5LFKv+J7vxroqMmsCgapvqXX0TXduAyTrKMaXhc46JDSUIGKXGfcLYorzF3WObU /+VTZb3CxN7ehH9DU3KnDanecKU/abNlBb9B0H9pfrSJ6PPzzq5W0KpJ4HjlWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682723705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bEyjTYgCuDSZxnQJ8CRH1EHLAzFSVF+9tVxtIQa/ncc=; b=UNEOUxbnYzEShg3sgJmmk9HwPLQ0NEaUbPK9uF4Eq+IjF6Z+hwWhxgGag7CzhDTRxDnd0e gU3YLEG5E/v8evs4Qee6vXT+CIeAQkGa/tuTH/xAghCVQuZoDUR5EiwfDravjlIo72W6m6 NEXwAEBOdUBwxmvcJ8dSBit9WFHDEBW7QEnOlchNHMu+mCe+XTi8+32Fy6WwxOG4ShtTXl YomBq2UHvsUymmKg4swZkg8/tR/lTdh8s98EkkfTbE9bAmIFTBOCbp6jQUxF0OC1SitHzZ 8P8ToAgNzqzFvoqU+8q2270V0KR504MRAwZdz/XXmpDjZKg8S00qUwEnjZq7DA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682723705; a=rsa-sha256; cv=none; b=PG7TX17ghCsYErsmgCtunSLh04cN6A/YSx7L+5girVMdq4ziVCzdQbaPMBlT7KLVqOEzkq Nfi40zRMkc1C5L/gxCHDB9daHN1uPhuGxW0oqCZUM0TcQr0l5Z8Q6J2lbUqxtq1kejZg+a UXS5cEuUER3OV7jvU+XBEdpse1HNhyJRHsqyk0O600O07hxjbR6LBaHzoi/d/SPll+SoWJ u5VegfTyAv0z9T2nJHBEeHphxsTVp96sb83rNF3JTV0AQPXmu4pIi/zB078fKnoIrAfZkk ia7y2uxpre4ni5PJFj19wc+oT2QtNFoQcIOTMhP19U3MIa026x0qhZqO/aPf1w== 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 4Q7T3D6MclzJp8; Fri, 28 Apr 2023 23:15: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 33SNF4OU038399; Fri, 28 Apr 2023 23:15:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33SNF4lW038398; Fri, 28 Apr 2023 23:15:04 GMT (envelope-from git) Date: Fri, 28 Apr 2023 23:15:04 GMT Message-Id: <202304282315.33SNF4lW038398@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alex Richardson Subject: git: b347c2284603 - main - cross-build: Add common compatibility headers after OS-specific ones List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: arichardson X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b347c22846038a070ea576e904771178acf5a302 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by arichardson: URL: https://cgit.FreeBSD.org/src/commit/?id=b347c22846038a070ea576e904771178acf5a302 commit b347c22846038a070ea576e904771178acf5a302 Author: Alex Richardson AuthorDate: 2023-04-21 22:06:51 +0000 Commit: Alex Richardson CommitDate: 2023-04-28 23:10:25 +0000 cross-build: Add common compatibility headers after OS-specific ones The current order is rather counter-intuitive and it appears to work fine if we swap the order. Pull Request: https://github.com/freebsd/freebsd-src/pull/725 Reviewed by: imp --- tools/build/mk/Makefile.boot | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/build/mk/Makefile.boot b/tools/build/mk/Makefile.boot index 138dff45930b..3bbb183021b2 100644 --- a/tools/build/mk/Makefile.boot +++ b/tools/build/mk/Makefile.boot @@ -35,7 +35,6 @@ LIBZ:=${WORLDTMP}/legacy/usr/lib/libz.a CFLAGS+= -Werror=implicit-function-declaration -Werror=implicit-int \ -Werror=return-type -Wundef CFLAGS+= -DHAVE_NBTOOL_CONFIG_H=1 -CFLAGS+= -I${SRCTOP}/tools/build/cross-build/include/common # This is needed for code that compiles for pre-C11 C standards CWARNFLAGS.clang+=-Wno-typedef-redefinition # bsd.sys.mk explicitly turns on -Wsystem-headers, but that's extremely @@ -69,6 +68,11 @@ CFLAGS+= -idirafter ${SRCTOP}/contrib/libarchive/libarchive .endif .endif # ${.MAKE.OS} != "FreeBSD" +.if ${.MAKE.OS} != "FreeBSD" +# Add the common compatibility headers after the OS-specific ones. +CFLAGS+= -I${SRCTOP}/tools/build/cross-build/include/common +.endif + # we do not want to capture dependencies referring to the above UPDATE_DEPENDFILE= no From nobody Sat Apr 29 07:36:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hB43vZZz48cx1; Sat, 29 Apr 2023 07:36: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 4Q7hB43R4fz3GMM; Sat, 29 Apr 2023 07:36:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=by4fho9CoOHb33sYWbejBhNiDwTeUB5n+PchPM7+IZQ=; b=D/aPyD9ZMRgfgAuyR7/4fHu1aos5lzzM2zMOdV8RbXr3LlNboOmDrpFxwVM+LtXCf0kMJ2 bexKwUrPS4ZziNsW9LzP256SU97jWoRDeoKRrpkViFqsshSQjiIvziWmzvt/OfvnknvNea t3oKXT3ZhPv3UZNL6r99DcLhv8Nc+Z5Ply3YYkSzq9JapG3rt+PogjJ8rzkExBHTrJk5nn 0p1pmgPEBBxVrqLxQBLKR3sJ/9d3YKWZF6QRisLkvNFCBpgz3W2FjHtZmgk4ajxtyBrpQJ blNz2+MERpT0euaDUUdA7u+APHptOl7kI58rI1BgqzKEUS89mEGx66eM2MBLrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=by4fho9CoOHb33sYWbejBhNiDwTeUB5n+PchPM7+IZQ=; b=Nd91oSVnSjxG5TRzAat/h1dthrhLmUZAAAB49QkgFtxDZLMVnpars/ijn1WgK5uG5qBs6t GGD+7pAp/1sDufkxImgR3fAdFXwzjGSFcDPi3j/FwpTq4fNSHIrSm3H2PmiaUUX1TIg/pr sqBCMHpO/Wf33JXdX658g1IrvNO+0iOKT4LKerg98zTZTGBYnARShDPKdnVmhKFcyhksPN v8iTFUvfOyzW7WfHM4WliStvU2eU5iTVc+oIoE6skUnF6lrMSAAHfx03S9qXuUqmP35g6i U3wRDjL2TtBGnLD7Ppl87z/8kXXJVgCtRFb18PYmA3z9jjM709iQWYR1Y7gb8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753804; a=rsa-sha256; cv=none; b=eupl8v2oD35V7oflAu+d/UPgqoYtWgtLlq4grwQhhXu7aIgSAVEREPf6IxuBcek281Pumm Ux2I2Npqu7xVEDqmvXeoVCeMzYla/3k5v7ZzJdE4opho0XK6Uaswf2fxWrmpGMonD7lTp5 /l3gn88QLhqdyEt0dIZvlU7omGiQzySuWgX04QsNh1KVOA7/tyMWNfysYeKIDJgPy45AWa 4uVWByeoNbO+Oc+iJS59u0AaaRLO5QqHx1rdxrU0KzBrDlI/9mPEVcyZDFxR91FSrHoSNf O3KF3rjij//DKt5zzmJlewRZYB+alt0puPN9KjNoEOO/Yu9KAwNidn9VEz64AA== 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 4Q7hB42STzzYbC; Sat, 29 Apr 2023 07:36: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 33T7aiPU064088; Sat, 29 Apr 2023 07:36:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33T7aiTX064087; Sat, 29 Apr 2023 07:36:44 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:36:44 GMT Message-Id: <202304290736.33T7aiTX064087@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 405cd10f3739 - stable/13 - Suppress lld 16 errors about multiply defined symbols in rescue List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 405cd10f3739d00e48d9dce1f63bbc54ec3245d2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=405cd10f3739d00e48d9dce1f63bbc54ec3245d2 commit 405cd10f3739d00e48d9dce1f63bbc54ec3245d2 Author: Dimitry Andric AuthorDate: 2023-04-17 16:25:30 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:22:43 +0000 Suppress lld 16 errors about multiply defined symbols in rescue lld >= 16 became more strict about multiply defined symbols. Since there are many of those in crunchgen'd programs, turn off the check when linking the rescue binary. MFC after: 1 week (cherry picked from commit 458f4722bf974c7fa7961952fcaee146f5a97708) --- rescue/rescue/Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rescue/rescue/Makefile b/rescue/rescue/Makefile index 9830bc5bed5c..ff438f2ed1b6 100644 --- a/rescue/rescue/Makefile +++ b/rescue/rescue/Makefile @@ -13,6 +13,12 @@ MK_PIE= no NO_SHARED= yes CRUNCH_BUILDOPTS+= MK_PIE=no NO_SHARED=yes +# lld >= 16 became more strict about multiply defined symbols. Since there are +# many of those in crunchgen'd programs, turn off the check. +.if ${LINKER_TYPE} == "lld" && ${LINKER_VERSION} >= 160000 +LDFLAGS+= -Wl,--allow-multiple-definition +.endif + PROG= rescue BINDIR?=/rescue From nobody Sat Apr 29 07:36:45 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hB563chz48cTr; Sat, 29 Apr 2023 07:36: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 4Q7hB54W3qz3GBj; Sat, 29 Apr 2023 07:36:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Nw7dqAm8Jk5UEdOqDiRuqjD0i1qnc+W+Bn/r2NOpvQ=; b=mJgk4xNemIyHhL4Dur+3OsmwLz4f+7XfpSqb9WneCeGBbxpcjEHOv2LgMjf9ZPV1bVQjTS NXYCiR8vz4nRNCTEhM+/3f309Hrqm+8USYK3lOhAcHO+Q+0A3iE/BAmEEClM/HVkVuxycN Q9Y+8UN8xpwWDsxvmdQK1sx0gt1Hvpseez6Taw41VYyohyfMxATcrYDOrMDteeX/iMhEzR hVgXx6Zhtx8PN3rMWV/BX97tKtXR3Fns9yyZIK0Bs7e1udH34k7oPQ4HeSkpf4FnxsDzcN zArXm80b4qZOkTvn8AmBWghil4ZPg6nTp4ot0xulV8TxM8uLDGFfJ2taRqusxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Nw7dqAm8Jk5UEdOqDiRuqjD0i1qnc+W+Bn/r2NOpvQ=; b=WhRlkqhJnVqlUfUCYjnV5PEcvr+nETIwivxr6aRZceXUP9idRERpOnbnt5iTonsP96UzSU HPrDkUMoN/9O0EvJE6vlT0RCHvOrKBYumrbKK/7CzKXbAeQS/UXd/IKOuu9VLL1k7PCuKu vpgfKV8yE9RZcn/s90xDf7M2G+j1oUnpYbuKnfOBvAP2A/S1iVWoCy81uxwDe/7W3xRL3e MvhyesWam5jVL16Ew3Dj9IqsMGnAuqCaTih9+2d6CBBcDOAcbezM6mz/MfzfwYlBpNVOVu 0QWAWwLTm9DPGEy+IZB0VapVaghCZclyI1WR2MCz2cMBJu+cdSMP6LgjT8P2/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753805; a=rsa-sha256; cv=none; b=jvgpTOjLb+lOdObtGS+TJo4GzqEOsrwY2Gaw2TtSTu31f5lDBFHGWUq+kx9kiNuiih7SDU sclKAUZtR9uqAmWyTK456t4hGxzI+ylnKVePBnk0Kw6vPTUVsntw+WYLCQNn/ss7HIJMwB 8lEuXnQielgwETJv5L23rryIBc7MjMWJqpbeWap5e1E0AXtbRQO0lhMx2hOryQxw3xhoj+ t2W+ZoX7clri3Fby0M3izecBdbPdDBDL+2uIJ/WSrzekgsoa2OBhMQfymajMKyQLhLQBWU 79uVDL3QcRmp9/qFDhWJv/q+DiNX5Rwjn1GzbZ5TGRje89u7lDvcMZZwcKgwLA== 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 4Q7hB536d7zYP1; Sat, 29 Apr 2023 07:36: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 33T7ajVJ064107; Sat, 29 Apr 2023 07:36:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33T7ajgK064106; Sat, 29 Apr 2023 07:36:45 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:36:45 GMT Message-Id: <202304290736.33T7ajgK064106@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: aa6748692085 - stable/13 - Suppress lld 16 errors about undefined symbols in version maps List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: aa6748692085d8e5ac7a0640f8da8a31fd357f73 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=aa6748692085d8e5ac7a0640f8da8a31fd357f73 commit aa6748692085d8e5ac7a0640f8da8a31fd357f73 Author: Dimitry Andric AuthorDate: 2023-04-17 16:00:20 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:22:55 +0000 Suppress lld 16 errors about undefined symbols in version maps lld >= 16 turned on --no-undefined-version by default, which results in errors whenever symbols are mentioned in version maps, but are not actually defined in the binary. Since we have quite a few instances of symbols that are defined or not, depending on various compile-time settings, suppress this lld check for the time being. MFC after: 1 week (cherry picked from commit 2ba84b4bcdd6012e8cfbf8a0d060a4438623a638) --- share/mk/bsd.lib.mk | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 71c3dab011ef..684a3df108fa 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -256,6 +256,13 @@ SHLIB_NAME_FULL=${SHLIB_NAME} .if !empty(VERSION_MAP) ${SHLIB_NAME_FULL}: ${VERSION_MAP} LDFLAGS+= -Wl,--version-script=${VERSION_MAP} + +# lld >= 16 turned on --no-undefined-version by default, but we have several +# symbols in our version maps that may or may not exist, depending on +# compile-time defines. +.if ${LINKER_TYPE} == "lld" && ${LINKER_VERSION} >= 160000 +LDFLAGS+= -Wl,--undefined-version +.endif .endif .if defined(LIB) && !empty(LIB) || defined(SHLIB_NAME) From nobody Sat Apr 29 07:36:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hB65PlXz48ccF; Sat, 29 Apr 2023 07:36: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 4Q7hB64y6Lz3GQ2; Sat, 29 Apr 2023 07:36:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GcrGJAOhO6bHV4G7bxKGElyk8m/2LuozRiR4XCNX+KQ=; b=SCwyVsFdiI1GzvOJuqUxWkF3V0XcWf8tKr0AfTa4krfOfuV16N+GmlldnuSl9H0lHmBLUJ +x5B9budiUq6tFldLQcBuwtFCc0vi4338lMRNefRbNTjRX0wq3DzUb9djn37btDWfdq93u oBd5gxVb/O6FybBBIgsZh/oY+f8OYtkGus6OjZ3hk4AOEL6QgMAhkr+2y+dKAvegypVz8b 9L1/tBTZT0GfZ+v+poFEJ8TbmBBVyBNwh4D8mzQhZLM3nPlh7j9t1y17VdClrGFXyL0D9N ttpQmF8d+G6tgu0JSosOVhsMEKrbT/VSdql9DA8xTbssF8WFMzfrrhZnBpX35Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GcrGJAOhO6bHV4G7bxKGElyk8m/2LuozRiR4XCNX+KQ=; b=U4R1E+XFPAkOwQA9/tXBcSoSoxaBHfeJvOzWSuDaxh1lVZ8a6qmNegeaRLfGA0Q0oJKGu3 acmwdgO8/wTci0AKRgrN4uhojj/+lTXUSFzfkhr0Wl/qWBfw8mOjE+cdIr8fFINzDHlZ+r 8ADQBNyCXc72kbkhmF+GxLXixupTpyMuu++bPYxbAPBpRI+EB+C57E+ri5lYt1W31wAKC3 /88talfu7ie+icSjvrEkMdnhNILZdsJ/phFfQAlvE9i/yG8E3amQbmoH0uCnA+Zs1nuraR Fbhxtf1aF11pHxZXzGOmYffQNuQEM9I5wgZHUyp5yag+Eb6jvjNAiTIJ/+4JgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753806; a=rsa-sha256; cv=none; b=E2Ed8xdBOQtUAlCIDfZ4PXkAZ0XO/G4x3rP4FZv73cmzvMA7uUsTGeDX1+9Bm6skAefcyB /A0mTFEiVKL/RRvUP+TAQMXuBkeGAAoa/mcToJWFfm1nklZge6lW84aqSOFWWuE++2a+Jv II4VAlENttHHmWLRBPqAgvdgTaim3756iWrAmcYUpix7OVrp9fmLtIC6mlALv2HrWhIixs C1pNL+yewRQtzdf/13SLv1Fnp4XZ6FUjDaPFubehOBqdxqNUsw82WykmfKrC7npQ/F5Pbr UNtleLJ+Jicqah/PAcCrU9wkx8mXSHl8C0LBqwhOb4fNg2skrfztuAG1IHeHYA== 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 4Q7hB6420LzYc1; Sat, 29 Apr 2023 07:36: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 33T7akXY064129; Sat, 29 Apr 2023 07:36:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33T7akoU064128; Sat, 29 Apr 2023 07:36:46 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:36:46 GMT Message-Id: <202304290736.33T7akoU064128@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 3d70637529b3 - stable/13 - Include bsd.linker.mk to get LINKER_TYPE and VERSION in rescue List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3d70637529b37d1134365b053dfa1e7ac474130c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=3d70637529b37d1134365b053dfa1e7ac474130c commit 3d70637529b37d1134365b053dfa1e7ac474130c Author: Dimitry Andric AuthorDate: 2023-04-17 17:43:29 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:23:06 +0000 Include bsd.linker.mk to get LINKER_TYPE and VERSION in rescue To be able to use these make variables, you also have to include bsd.linker.mk, apparently. Fixes: 458f4722bf97 MFC after: 1 week (cherry picked from commit 653e8c11f43dc6448b8560eb1f6679de2c47e1ed) --- rescue/rescue/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/rescue/rescue/Makefile b/rescue/rescue/Makefile index ff438f2ed1b6..8196e14130da 100644 --- a/rescue/rescue/Makefile +++ b/rescue/rescue/Makefile @@ -2,6 +2,7 @@ # @(#)Makefile 8.1 (Berkeley) 6/2/93 .include +.include PACKAGE=rescue MAN= From nobody Sat Apr 29 07:36:47 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hB76RdQz48cZT; Sat, 29 Apr 2023 07:36: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 4Q7hB75xrMz3G68; Sat, 29 Apr 2023 07:36:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SyvCF//HtXZvVb4ClYQADX9rD6V0vl16g6IBOEuVGxo=; b=DGYtsUcsK/XZUG5p84LZQC6J8wBjGRnxv8nk+NO32mOZCOdEjogODwjU5/3NlqGKgREJ8r jVRmyFghZLiP1vHgJi/r5Y8dnmVMXhg5QFh80YgWweKCTxBtOBWLgAKhwcuBzFxgY6z2uC ZWnStc3XWfPrsdcEIMFjQGd0Vvj/M0ReFOJEXANK1/hYpG7plNa2aFCKdi1gVK/9qPd8zh ZVinJX/s1Jwr1GTMCg0Cxk3UWh+odN5k5pW83REbz/ESLPTmS6bu8vmIfxGAgcXQ8usqhr ckqtqbIqsqwG0wY9YPKFneGOMfC74P0HEZk60WD18HfOPx9krTM5yew30OSz5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SyvCF//HtXZvVb4ClYQADX9rD6V0vl16g6IBOEuVGxo=; b=e+b3kWM3Meajr/+IHmjht56xC96XSxa/zmnqybo1f9lvnN7apR8FXqPTVywUVMx1wwD9M2 bBJ1BzbsuhObeC9832G+EPsQQb55F+29rJnKZieyLOm8hbxa3HclhztswaHOXy7NG5X9OD 1ducC1kaTzMfz05Jc1dGLWR8PflAfQflqxydcxMWvCLY2SubqyC5cmNzp5VnDmdd2uKCNz UMnDvwGTY2rKVF7kr5zeTAv8g5jwzuJa4QPqEhoVeiTDT6EVWIcgI+ZnPM+PvggKyzI3HA IMEbH3QqLHGONf5gBgyZkAVl2jmt+idMxJCH0ALQsUzk1ZXJSMJD8Sh//Ake0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753807; a=rsa-sha256; cv=none; b=vv3Ic5JqBQr83iIBwJHstgz/a8fdTC4qzK7eD6pakp45LxkYNf0KU6ehA4ekU2Ibob9IVL FQY0S8EmhtdpIwrWA3ZtWC7LkUhal/jvhOrNWjrYmFCszUFOh+zaHBq0O31p4O/NQ91GvR 8iIiDw4GtCVs4HwMKQ/knEeNpm/RqyPUEh8BvMUvnaNqT5EOET+7iTQwBsoP+btKvlmyxm GoSAdUCicXO1EaTuZS4DFSsCgeuV5Z9Dx2al75lghVJ2TBvREMbgRFRtiGNYWVYjT9yNCP ZW4uH4ktBxKVKG/UHu3oit/hP0bqq7yMweykITCZymNyqhNVuKmx07ptsQip+A== 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 4Q7hB74tzTzYbD; Sat, 29 Apr 2023 07:36: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 33T7alFs064148; Sat, 29 Apr 2023 07:36:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33T7alS0064147; Sat, 29 Apr 2023 07:36:47 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:36:47 GMT Message-Id: <202304290736.33T7alS0064147@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: beb6b55d5095 - stable/13 - kcsan: add __tsan_mem(cpy|move|set) aliases for clang >= 16 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: beb6b55d509533977988c5823b42e4d6c21abb5f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=beb6b55d509533977988c5823b42e4d6c21abb5f commit beb6b55d509533977988c5823b42e4d6c21abb5f Author: Dimitry Andric AuthorDate: 2023-04-23 18:11:34 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:23:13 +0000 kcsan: add __tsan_mem(cpy|move|set) aliases for clang >= 16 Summary: After https://github.com/llvm/llvm-project/commit/b4257d3bf58c ("[tsan] Replace mem intrinsics with calls to interceptors") intrinsic calls to memcpy, memmove or memset will directly call sanitizer interceptors, e.g. __tsan_memcpy, __tsan_memmove or __tsan_memset. Building GENERIC-KCSAN with clang >= 16 would thus result in link errors similar to: ld: error: undefined symbol: __tsan_memcpy >>> referenced by cam_compat.c:150 (/usr/src/sys/cam/cam_compat.c:150) >>> cam_compat.o:(cam_compat_handle_0x17) >>> referenced by cam_compat.c:151 (/usr/src/sys/cam/cam_compat.c:151) >>> cam_compat.o:(cam_compat_handle_0x17) >>> referenced by cam_compat.c:152 (/usr/src/sys/cam/cam_compat.c:152) >>> cam_compat.o:(cam_compat_handle_0x17) >>> referenced 1692 more times Similar to subr_msan.c, add aliases from the existing kcsan_* versions of these functions to __tsan_* names. Reviewed by: markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39772 (cherry picked from commit 42162fb2fe30c0881e7e4d2143ddcfee3e1dd752) --- sys/kern/subr_csan.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/subr_csan.c b/sys/kern/subr_csan.c index 3a542207fbfb..d607204b222f 100644 --- a/sys/kern/subr_csan.c +++ b/sys/kern/subr_csan.c @@ -301,6 +301,10 @@ kcsan_memmove(void *dst, const void *src, size_t len) return __builtin_memmove(dst, src, len); } +__strong_reference(kcsan_memcpy, __tsan_memcpy); +__strong_reference(kcsan_memset, __tsan_memset); +__strong_reference(kcsan_memmove, __tsan_memmove); + char * kcsan_strcpy(char *dst, const char *src) { From nobody Sat Apr 29 07:36:48 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hB90pYyz48crN; Sat, 29 Apr 2023 07:36: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 4Q7hB872QJz3GlK; Sat, 29 Apr 2023 07:36:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753809; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G12ER/cyPo50vdZzh1yZGEGPssJZveqrAvNw5JFEIrA=; b=doPplMrs5BDs0y55Kwp8XCmdWB4voKgkAMudB3NUUZQzGLQOK8cIdjt2+zVjp4kaOvTNDq qwC0ilKBhbpVQsn/ir/y36gy9TE+gufxFgaDMY2RNQ1bqVNQ6SwPvVnCFlkUYOl9AK+51m zjf4eJ9j6N8BJSgZVGsk5Wc7AisxV/qKOwA/CMzt3ET2EonLgeC0mkb+6tpCWT4ndAHQEs i8nNEsgKsqiI63TCaxCftWaaLVYAU7+6d+nIC4srBslQ5AaY1rqS8jXXS0NqBnzwA0rJ6D 8wj1u9EWfuPHQq4p4vnwzCTx/eaVhQ17C5mN6MKJ1uQ7evJr8mBiDz30FSu4ew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753809; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G12ER/cyPo50vdZzh1yZGEGPssJZveqrAvNw5JFEIrA=; b=hjoQ9zCbKno5Ff2qi+LGJRLQ+8MkAETSAylzU+B1QsmSzpmyO+rDrcsQdx3aRWs9yanGcP yeqzk9ihr91whthaz2DwU7jyL5N7rUNtGZmKa4sr7Lv7/Re46irk+3IVL6nNIhd1jesDte DyROtUd5LhSmrL49xCUwzYAm9IW7E3WkgBbAEjlP9LjsX/eKdBQqDJ8nzkx3B+3uMlnN8o +NEQgz6HdrN6CEcvXjt17raBKwkp1IhW3yGtidaLnE+o+I+SDi4RYRUDpi9KB4anz+n9AE JgH++U+TF+9gd1xDTskdorwNtzs35t8UypOMhAD/Ol+rTesBef7nJ1jomupyzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753809; a=rsa-sha256; cv=none; b=tu69kZPRHg6rVtEmx5KNfd6YKNAeUe6D7MuntjpPtRkOVNx/4nudPzBagIEdprWk+D87eb 5hXiLtAX8TKjtFQZCTWQL9I9LXtmYXKACqOLLrm/AEr+Z5JbkxM0HtlPF1OXXJrHO2gewN vhH1x7AsskCIgtkTnYBnvq1/Ck0GnEpzL829xh8fxDh8Z9XHlvE/Fe91vRo7DG9kTSsuXu jCso4j0z4W500x5/K4j6mcOhHdOZA5kmc9m/YhFofQ5DBceGo858E/nDxROxc5FwktDtTV 36vbrSh/yn2KRKGVUjC54b9ogBOjGSw+fWDe3QctQsVd/ttNAIqSNhKRAQZU4g== 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 4Q7hB85xkgzYP2; Sat, 29 Apr 2023 07:36: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 33T7amnB064167; Sat, 29 Apr 2023 07:36:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33T7ame0064166; Sat, 29 Apr 2023 07:36:48 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:36:48 GMT Message-Id: <202304290736.33T7ame0064166@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 286ed9ef4f9f - stable/13 - powerpc: fix a few pmap related functions to return correct types List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 286ed9ef4f9fdd23bddc12ff656af641ecc43a03 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=286ed9ef4f9fdd23bddc12ff656af641ecc43a03 commit 286ed9ef4f9fdd23bddc12ff656af641ecc43a03 Author: Dimitry Andric AuthorDate: 2023-04-23 13:22:44 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:23:20 +0000 powerpc: fix a few pmap related functions to return correct types While experimenting with changing boolean_t to another type, I noticed that several powerpc pmap related functions returned the wrong type: boolean_t instead of int. Fix several declarations and definitions to match the actual pmap function types: pmap_dev_direct_mapped_t and pmap_ts_referenced_t. MFC after: 3 days (cherry picked from commit d142601887524fc595ed0f5e6a69419727222f0a) --- sys/powerpc/aim/mmu_oea.c | 4 ++-- sys/powerpc/aim/mmu_oea64.c | 4 ++-- sys/powerpc/aim/mmu_radix.c | 8 ++++---- sys/powerpc/booke/pmap.c | 2 +- sys/powerpc/powerpc/pmap_dispatch.c | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index e86df137c963..59a742ff9967 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -320,7 +320,7 @@ vm_paddr_t moea_kextract(vm_offset_t); void moea_kenter_attr(vm_offset_t, vm_paddr_t, vm_memattr_t); void moea_kenter(vm_offset_t, vm_paddr_t); void moea_page_set_memattr(vm_page_t m, vm_memattr_t ma); -boolean_t moea_dev_direct_mapped(vm_paddr_t, vm_size_t); +int moea_dev_direct_mapped(vm_paddr_t, vm_size_t); static void moea_sync_icache(pmap_t, vm_offset_t, vm_size_t); void moea_dumpsys_map(vm_paddr_t pa, size_t sz, void **va); void moea_scan_init(void); @@ -2658,7 +2658,7 @@ moea_bat_mapped(int idx, vm_paddr_t pa, vm_size_t size) return (0); } -boolean_t +int moea_dev_direct_mapped(vm_paddr_t pa, vm_size_t size) { int i; diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c index 156463148f64..84b6cd0c3730 100644 --- a/sys/powerpc/aim/mmu_oea64.c +++ b/sys/powerpc/aim/mmu_oea64.c @@ -426,7 +426,7 @@ vm_paddr_t moea64_kextract(vm_offset_t); void moea64_page_set_memattr(vm_page_t m, vm_memattr_t ma); void moea64_kenter_attr(vm_offset_t, vm_paddr_t, vm_memattr_t ma); void moea64_kenter(vm_offset_t, vm_paddr_t); -boolean_t moea64_dev_direct_mapped(vm_paddr_t, vm_size_t); +int moea64_dev_direct_mapped(vm_paddr_t, vm_size_t); static void moea64_sync_icache(pmap_t, vm_offset_t, vm_size_t); void moea64_dumpsys_map(vm_paddr_t pa, size_t sz, void **va); @@ -3149,7 +3149,7 @@ moea64_clear_bit(vm_page_t m, u_int64_t ptebit) return (count); } -boolean_t +int moea64_dev_direct_mapped(vm_paddr_t pa, vm_size_t size) { struct pvo_entry *pvo, key; diff --git a/sys/powerpc/aim/mmu_radix.c b/sys/powerpc/aim/mmu_radix.c index 9f59d524196f..4210f1faf0a6 100644 --- a/sys/powerpc/aim/mmu_radix.c +++ b/sys/powerpc/aim/mmu_radix.c @@ -458,7 +458,7 @@ void mmu_radix_qenter(vm_offset_t, vm_page_t *, int); void mmu_radix_qremove(vm_offset_t, int); vm_offset_t mmu_radix_quick_enter_page(vm_page_t); void mmu_radix_quick_remove_page(vm_offset_t); -boolean_t mmu_radix_ts_referenced(vm_page_t); +int mmu_radix_ts_referenced(vm_page_t); void mmu_radix_release(pmap_t); void mmu_radix_remove(pmap_t, vm_offset_t, vm_offset_t); void mmu_radix_remove_all(vm_page_t); @@ -492,7 +492,7 @@ static void *mmu_radix_mapdev(vm_paddr_t, vm_size_t); static void *mmu_radix_mapdev_attr(vm_paddr_t, vm_size_t, vm_memattr_t); static void mmu_radix_unmapdev(vm_offset_t, vm_size_t); static void mmu_radix_kenter_attr(vm_offset_t, vm_paddr_t, vm_memattr_t ma); -static boolean_t mmu_radix_dev_direct_mapped(vm_paddr_t, vm_size_t); +static int mmu_radix_dev_direct_mapped(vm_paddr_t, vm_size_t); static void mmu_radix_dumpsys_map(vm_paddr_t pa, size_t sz, void **va); static void mmu_radix_scan_init(void); static void mmu_radix_cpu_bootstrap(int ap); @@ -3838,7 +3838,7 @@ mmu_radix_is_referenced(vm_page_t m) * invalidations are performed before the PV list lock is * released. */ -boolean_t +int mmu_radix_ts_referenced(vm_page_t m) { struct md_page *pvh; @@ -6090,7 +6090,7 @@ mmu_radix_decode_kernel_ptr(vm_offset_t addr, return (0); } -static boolean_t +static int mmu_radix_dev_direct_mapped(vm_paddr_t pa, vm_size_t size) { diff --git a/sys/powerpc/booke/pmap.c b/sys/powerpc/booke/pmap.c index 6c48584096c5..2d16bba90925 100644 --- a/sys/powerpc/booke/pmap.c +++ b/sys/powerpc/booke/pmap.c @@ -338,7 +338,7 @@ static vm_paddr_t mmu_booke_kextract(vm_offset_t); static void mmu_booke_kenter(vm_offset_t, vm_paddr_t); static void mmu_booke_kenter_attr(vm_offset_t, vm_paddr_t, vm_memattr_t); static void mmu_booke_kremove(vm_offset_t); -static boolean_t mmu_booke_dev_direct_mapped(vm_paddr_t, vm_size_t); +static int mmu_booke_dev_direct_mapped(vm_paddr_t, vm_size_t); static void mmu_booke_sync_icache(pmap_t, vm_offset_t, vm_size_t); static void mmu_booke_dumpsys_map(vm_paddr_t pa, size_t, diff --git a/sys/powerpc/powerpc/pmap_dispatch.c b/sys/powerpc/powerpc/pmap_dispatch.c index 00d4a2074327..1adfc42eefd1 100644 --- a/sys/powerpc/powerpc/pmap_dispatch.c +++ b/sys/powerpc/powerpc/pmap_dispatch.c @@ -150,7 +150,7 @@ DEFINE_PMAP_IFUNC(void, qenter, (vm_offset_t, vm_page_t *, int)); DEFINE_PMAP_IFUNC(void, qremove, (vm_offset_t, int)); DEFINE_PMAP_IFUNC(vm_offset_t, quick_enter_page, (vm_page_t)); DEFINE_PMAP_IFUNC(void, quick_remove_page, (vm_offset_t)); -DEFINE_PMAP_IFUNC(boolean_t, ts_referenced, (vm_page_t)); +DEFINE_PMAP_IFUNC(int, ts_referenced, (vm_page_t)); DEFINE_PMAP_IFUNC(void, release, (pmap_t)); DEFINE_PMAP_IFUNC(void, remove, (pmap_t, vm_offset_t, vm_offset_t)); DEFINE_PMAP_IFUNC(void, remove_all, (vm_page_t)); @@ -179,7 +179,7 @@ DEFINE_PMAP_IFUNC(void, unmapdev, (vm_offset_t, vm_size_t)); DEFINE_PMAP_IFUNC(int, map_user_ptr, (pmap_t, volatile const void *, void **, size_t, size_t *)); DEFINE_PMAP_IFUNC(int, decode_kernel_ptr, (vm_offset_t, int *, vm_offset_t *)); -DEFINE_PMAP_IFUNC(boolean_t, dev_direct_mapped, (vm_paddr_t, vm_size_t)); +DEFINE_PMAP_IFUNC(int, dev_direct_mapped, (vm_paddr_t, vm_size_t)); DEFINE_PMAP_IFUNC(void, sync_icache, (pmap_t, vm_offset_t, vm_size_t)); DEFINE_PMAP_IFUNC(int, change_attr, (vm_offset_t, vm_size_t, vm_memattr_t)); DEFINE_PMAP_IFUNC(void, page_array_startup, (long)); From nobody Sat Apr 29 07:36:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hBB2xQTz48cpH; Sat, 29 Apr 2023 07:36: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 4Q7hBB118dz3GTs; Sat, 29 Apr 2023 07:36:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0WhyIIQR3eT61GRj6kwqFFAlzx4BXdJP1yZbZMTZlgw=; b=RoouyIbsraIToDE/hbCphDI+nX0etUcme/4VonSjHmnRS3rfYLg3mKFzoQ8/LCPnJPG/RU 6dfazZBZOLIlf6l5utr/mv9vYsETZHAvOSKV2mk5Nf3jTIIc/EUF9N0Wf6lMyrNNy8DU7m B64wCAYeOQBUpPYaZ7Z1VRL3bkjQ/M79oAANxaeShs/ySyZJKShXubV717+bcTBJD7qsQV mn6BHbIvy/Pm9Pg9sdHrH6A3b99qTl2a+gXF6/sW2nKiDUcatqr2zwONaIZ20Lt8ubrynx U6sVBR/b8E+kpPqNSHYTSH4BUGwHdA2lDzSVwy0TuPZCD6eW6LL5HinwHtbv9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0WhyIIQR3eT61GRj6kwqFFAlzx4BXdJP1yZbZMTZlgw=; b=i7MISFTEPSBLRDKlDloUXPG5Cwku4TVAcqwKRzynUmw6WaUsbWGJ99io6ZYirDEohXrBQf t5xJHMK9g4K58m4+Dh0L1iMshlF91WmRRUlnjrs2BytzRXGYfL3qtIvOsYVGTJacLMOEeA Nh0JYliHDZjWxXgRlE6drOnKyScqxfJpah3H4iYBv9HzRBknv3MCnHNHufJ2oprkg76fim xizGrR42Y4ARlSsnIi2wCDg4RY0mLOzMkuJIZYIjNd3oRaotxuTeHaML7Ozx+IBWw3l94k bVepflDWBgYmXOzCnHDyp1ze1TJzSOnzo2m9Phr1iicVDWXa1s8QOoEDuoZXzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753810; a=rsa-sha256; cv=none; b=UKPer7e+x7DoMzx+TSTTWYtK3scPwGS8bWjlqt7D8hXTKRii3EGPAyHAzgTTuMA8o4JMd6 FJlP/CBcb+k/341MitAm9qpRvU8qjMicZT+VwLVgfGoDD/aStS6W81AMH2qMkWXEAAdE1D r4la+Q0u5hYf4xS3FwDT+/XxpyUaBSYmWsrkbqdXbDUVV6smy0xxpm5MPwk8yKvNBrtHjr 8d15EcgVvL2eiw7YpEDYZWS5QD5HPXMEQ5aDEpl1/ZtB/4HGA/6rovPvJtadk4m3SGOPpS RMuhTDuhdd+GnAcPw0ObjJ1V1uFN05Ug95LdynhHcjj1nSPJkwAaXJU7E6/gCQ== 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 4Q7hB96wbDzYP3; Sat, 29 Apr 2023 07:36: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 33T7anfY064193; Sat, 29 Apr 2023 07:36:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33T7anWQ064192; Sat, 29 Apr 2023 07:36:49 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:36:49 GMT Message-Id: <202304290736.33T7anWQ064192@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 1150a69dbdf1 - stable/13 - Use bool for one-bit wide bit-fields List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1150a69dbdf1d92fb28f7b775cf55aa75d2272f7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=1150a69dbdf1d92fb28f7b775cf55aa75d2272f7 commit 1150a69dbdf1d92fb28f7b775cf55aa75d2272f7 Author: Dimitry Andric AuthorDate: 2023-04-25 17:18:58 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:23:25 +0000 Use bool for one-bit wide bit-fields A signed one-bit wide bit-field can take only the values 0 and -1. Clang 16 introduced a warning that "implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1". Fix the warnings by using C99 bool. Reported by: Clang 16 Reviewed by: emaste, jhb MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39705 (cherry picked from commit bab8274c090942cf96c44bc001307b9bffac9d7e) --- sys/dev/acpica/acpi_pci_link.c | 28 ++++++++++++++-------------- sys/dev/acpica/acpi_pxm.c | 4 ++-- sys/dev/otus/if_otusreg.h | 2 +- sys/dev/puc/puc.c | 2 +- sys/dev/puc/puc_bfe.h | 8 ++++---- sys/dev/quicc/quicc_bfe.h | 4 ++-- sys/dev/scc/scc_bfe.h | 20 ++++++++++---------- sys/dev/uart/uart_bus.h | 20 ++++++++++---------- sys/dev/wpi/if_wpivar.h | 2 +- sys/x86/include/x86_smp.h | 8 ++++---- 10 files changed, 49 insertions(+), 49 deletions(-) diff --git a/sys/dev/acpica/acpi_pci_link.c b/sys/dev/acpica/acpi_pci_link.c index 441b52ea1cb0..86b80f62c391 100644 --- a/sys/dev/acpica/acpi_pci_link.c +++ b/sys/dev/acpica/acpi_pci_link.c @@ -104,8 +104,8 @@ struct link { int l_num_irqs; int *l_irqs; int l_references; - int l_routed:1; - int l_isa_irq:1; + bool l_routed:1; + bool l_isa_irq:1; ACPI_RESOURCE l_prs_template; }; @@ -355,18 +355,18 @@ link_add_prs(ACPI_RESOURCE *res, void *context) * valid IRQs are ISA IRQs, then mark this link as * routed via an ISA interrupt. */ - link->l_isa_irq = TRUE; + link->l_isa_irq = true; link->l_irqs = malloc(sizeof(int) * link->l_num_irqs, M_PCI_LINK, M_WAITOK | M_ZERO); for (i = 0; i < link->l_num_irqs; i++) { if (is_ext_irq) { link->l_irqs[i] = ext_irqs[i]; if (ext_irqs[i] >= NUM_ISA_INTERRUPTS) - link->l_isa_irq = FALSE; + link->l_isa_irq = false; } else { link->l_irqs[i] = irqs[i]; if (irqs[i] >= NUM_ISA_INTERRUPTS) - link->l_isa_irq = FALSE; + link->l_isa_irq = false; } } @@ -376,7 +376,7 @@ link_add_prs(ACPI_RESOURCE *res, void *context) */ if (!req->sc->pl_crs_bad && !link->l_isa_irq && link->l_crs_type == ACPI_RESOURCE_TYPE_IRQ) - req->sc->pl_crs_bad = TRUE; + req->sc->pl_crs_bad = true; break; default: if (req->in_dpf == DPF_IGNORE) @@ -390,7 +390,7 @@ link_add_prs(ACPI_RESOURCE *res, void *context) return (AE_OK); } -static int +static bool link_valid_irq(struct link *link, int irq) { int i; @@ -399,12 +399,12 @@ link_valid_irq(struct link *link, int irq) /* Invalid interrupts are never valid. */ if (!PCI_INTERRUPT_VALID(irq)) - return (FALSE); + return (false); /* Any interrupt in the list of possible interrupts is valid. */ for (i = 0; i < link->l_num_irqs; i++) if (link->l_irqs[i] == irq) - return (TRUE); + return (true); /* * For links routed via an ISA interrupt, if the SCI is routed via @@ -412,10 +412,10 @@ link_valid_irq(struct link *link, int irq) */ if (link->l_isa_irq && AcpiGbl_FADT.SciInterrupt == irq && irq < NUM_ISA_INTERRUPTS) - return (TRUE); + return (true); /* If the interrupt wasn't found in the list it is not valid. */ - return (FALSE); + return (false); } static void @@ -493,7 +493,7 @@ acpi_pci_link_attach(device_t dev) sc->pl_links[i].l_irq = PCI_INVALID_IRQ; sc->pl_links[i].l_bios_irq = PCI_INVALID_IRQ; sc->pl_links[i].l_sc = sc; - sc->pl_links[i].l_isa_irq = FALSE; + sc->pl_links[i].l_isa_irq = false; sc->pl_links[i].l_res_index = -1; } @@ -558,7 +558,7 @@ acpi_pci_link_attach(device_t dev) else for (i = 0; i < sc->pl_num_links; i++) if (PCI_INTERRUPT_VALID(sc->pl_links[i].l_irq)) - sc->pl_links[i].l_routed = TRUE; + sc->pl_links[i].l_routed = true; if (bootverbose) acpi_pci_link_dump(sc, 0, "After Disable"); ACPI_SERIAL_END(pci_link); @@ -904,7 +904,7 @@ acpi_pci_link_route_irqs(device_t dev) */ if (!link->l_routed && PCI_INTERRUPT_VALID(link->l_irq)) { - link->l_routed = TRUE; + link->l_routed = true; acpi_config_intr(dev, resource); pci_link_interrupt_weights[link->l_irq] += link->l_references; diff --git a/sys/dev/acpica/acpi_pxm.c b/sys/dev/acpica/acpi_pxm.c index 808886d744f0..18a21ee6b0f8 100644 --- a/sys/dev/acpica/acpi_pxm.c +++ b/sys/dev/acpica/acpi_pxm.c @@ -56,8 +56,8 @@ __FBSDID("$FreeBSD$"); #if MAXMEMDOM > 1 static struct cpu_info { - int enabled:1; - int has_memory:1; + bool enabled:1; + bool has_memory:1; int domain; int id; } *cpus; diff --git a/sys/dev/otus/if_otusreg.h b/sys/dev/otus/if_otusreg.h index 190bf19eb2ae..4bccc85b2168 100644 --- a/sys/dev/otus/if_otusreg.h +++ b/sys/dev/otus/if_otusreg.h @@ -1020,7 +1020,7 @@ struct otus_softc { uint8_t capflags; uint8_t rxmask; uint8_t txmask; - int sc_running:1, + bool sc_running:1, sc_calibrating:1, sc_scanning:1; diff --git a/sys/dev/puc/puc.c b/sys/dev/puc/puc.c index dd6e9b688705..2ecaaad4e05c 100644 --- a/sys/dev/puc/puc.c +++ b/sys/dev/puc/puc.c @@ -60,7 +60,7 @@ struct puc_port { int p_type; int p_rclk; - int p_hasintr:1; + bool p_hasintr:1; serdev_intr_t *p_ihsrc[PUC_ISRCCNT]; void *p_iharg; diff --git a/sys/dev/puc/puc_bfe.h b/sys/dev/puc/puc_bfe.h index 68678d3771e1..692a7f009019 100644 --- a/sys/dev/puc/puc_bfe.h +++ b/sys/dev/puc/puc_bfe.h @@ -65,10 +65,10 @@ struct puc_softc { int sc_nports; struct puc_port *sc_port; - int sc_fastintr:1; - int sc_leaving:1; - int sc_polled:1; - int sc_msi:1; + bool sc_fastintr:1; + bool sc_leaving:1; + bool sc_polled:1; + bool sc_msi:1; int sc_ilr; diff --git a/sys/dev/quicc/quicc_bfe.h b/sys/dev/quicc/quicc_bfe.h index ea791bc277e3..994d9f62ca10 100644 --- a/sys/dev/quicc/quicc_bfe.h +++ b/sys/dev/quicc/quicc_bfe.h @@ -51,8 +51,8 @@ struct quicc_softc { u_int sc_clock; - int sc_fastintr:1; - int sc_polled:1; + bool sc_fastintr:1; + bool sc_polled:1; }; extern devclass_t quicc_devclass; diff --git a/sys/dev/scc/scc_bfe.h b/sys/dev/scc/scc_bfe.h index 1ccd176e5539..303bdfd6d75d 100644 --- a/sys/dev/scc/scc_bfe.h +++ b/sys/dev/scc/scc_bfe.h @@ -72,11 +72,11 @@ struct scc_mode { device_t m_dev; u_int m_mode; - int m_attached:1; - int m_fastintr:1; - int m_hasintr:1; - int m_probed:1; - int m_sysdev:1; + bool m_attached:1; + bool m_fastintr:1; + bool m_hasintr:1; + bool m_probed:1; + bool m_sysdev:1; driver_filter_t *ih; serdev_intr_t *ih_src[SCC_ISRCCNT]; @@ -94,8 +94,8 @@ struct scc_chan { struct scc_mode ch_mode[SCC_NMODES]; u_int ch_nr; - int ch_enabled:1; - int ch_sysdev:1; + bool ch_enabled:1; + bool ch_sysdev:1; uint32_t ch_ipend; uint32_t ch_hwsig; @@ -130,9 +130,9 @@ struct scc_softc { struct scc_chan *sc_chan; - int sc_fastintr:1; - int sc_leaving:1; - int sc_polled:1; + bool sc_fastintr:1; + bool sc_leaving:1; + bool sc_polled:1; uint32_t sc_hwsig; /* Signal state. Used by HW driver. */ }; diff --git a/sys/dev/uart/uart_bus.h b/sys/dev/uart/uart_bus.h index 5da3cecccf85..2c1918c580e9 100644 --- a/sys/dev/uart/uart_bus.h +++ b/sys/dev/uart/uart_bus.h @@ -89,16 +89,16 @@ struct uart_softc { int sc_irid; struct callout sc_timer; - int sc_callout:1; /* This UART is opened for callout. */ - int sc_fastintr:1; /* This UART uses fast interrupts. */ - int sc_hwiflow:1; /* This UART has HW input flow ctl. */ - int sc_hwoflow:1; /* This UART has HW output flow ctl. */ - int sc_leaving:1; /* This UART is going away. */ - int sc_opened:1; /* This UART is open for business. */ - int sc_polled:1; /* This UART has no interrupts. */ - int sc_txbusy:1; /* This UART is transmitting. */ - int sc_isquelch:1; /* This UART has input squelched. */ - int sc_testintr:1; /* This UART is under int. testing. */ + bool sc_callout:1; /* This UART is opened for callout. */ + bool sc_fastintr:1; /* This UART uses fast interrupts. */ + bool sc_hwiflow:1; /* This UART has HW input flow ctl. */ + bool sc_hwoflow:1; /* This UART has HW output flow ctl. */ + bool sc_leaving:1; /* This UART is going away. */ + bool sc_opened:1; /* This UART is open for business. */ + bool sc_polled:1; /* This UART has no interrupts. */ + bool sc_txbusy:1; /* This UART is transmitting. */ + bool sc_isquelch:1; /* This UART has input squelched. */ + bool sc_testintr:1; /* This UART is under int. testing. */ struct uart_devinfo *sc_sysdev; /* System device (or NULL). */ diff --git a/sys/dev/wpi/if_wpivar.h b/sys/dev/wpi/if_wpivar.h index 422dc34d65b8..81fdeced248a 100644 --- a/sys/dev/wpi/if_wpivar.h +++ b/sys/dev/wpi/if_wpivar.h @@ -77,7 +77,7 @@ struct wpi_tx_ring { uint8_t cur; uint8_t pending; int16_t queued; - int update:1; + bool update:1; }; struct wpi_rx_data { diff --git a/sys/x86/include/x86_smp.h b/sys/x86/include/x86_smp.h index 2cf0ff97eae0..9d8e1c4ebaec 100644 --- a/sys/x86/include/x86_smp.h +++ b/sys/x86/include/x86_smp.h @@ -56,10 +56,10 @@ extern int nmi_kdb_lock; extern int nmi_is_broadcast; struct cpu_info { - int cpu_present:1; - int cpu_bsp:1; - int cpu_disabled:1; - int cpu_hyperthread:1; + bool cpu_present:1; + bool cpu_bsp:1; + bool cpu_disabled:1; + bool cpu_hyperthread:1; }; extern struct cpu_info *cpu_info; From nobody Sat Apr 29 07:36:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hBC5WLjz48crP; Sat, 29 Apr 2023 07:36: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 4Q7hBC25j8z3Gjb; Sat, 29 Apr 2023 07:36:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gq0UWsL9cf6N3JYWUWurIlop2jqTlcCVKv+7AzdQQfA=; b=Uv007XzBWgOYzDsHXWEGWNGMKphtow9kqdvdC9/E0SC30Gx0uflpmq/sw/NhVW8LI0J+LN k3KZbWMOWuZ9bTYxUvEKzWeAXFYjpkGkr8v21Z/c5pQwqVrWBQAuLj0mOGGBRGGE3e6z1c ZLlyuIFxI1VyPDmeG0aLVaZ0FdAyOILBjeZyLOQ5PxW9xEhoTcOyEB0BN5YihpTDfyT/mt MM1MIxfIxqWMTxfRRReyHm3c7lfZFkZeMGZwbap90NTZgIkEh4ytjYESzWgFKvJR7NKMVm pQMoUXYklh7I2BzRqXKsavdE2lKsnv9E4uZ6JFrF2f1XHPKkmu44ipBf4UhIjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gq0UWsL9cf6N3JYWUWurIlop2jqTlcCVKv+7AzdQQfA=; b=lHwRdzTjtAhx1ZmHDonIdus326MnuOWwU2FrhUw1hHZXnDaP3N00oTj+vYynbtbJLtdnIM ynezjL6GY8zLEJjndsjitfhvgh4dY7mpOA7yl+m8YrOIwGDEnwj34g0vmAGHnSviPksiCM 8oLt8SUv3GYDmami3AAMh50h4yx+uIv8orf11oD/aZUu5Cr4QVc1RR/KCQOvugwPFkxnop W1dwGKVG8uQEziGZYUiMjlZxLPKoSMhnuKFMykh4aaAiXQmj4eLn0cHITHx6ZVKPVuDEjM 6nyXVDlipLnUxeawwABV+ns3xIwKCaZXDLGhjiZDvLyNUIarHUO4oi5QLT526w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753811; a=rsa-sha256; cv=none; b=xEVXxhqcv09Xx/0/4xsDa0glz643Gr2/Ang+fwBezKTxTw95Kfb5x37oVjytQFKHzMexQu 3/UJh6dqQI2reGf/5HF2uGPVWI9MGQR/92uJU0ZftoPEoCLw5h/WEK/bLOg2WphaRGm9wA VOb/34+hBzcww2KXWdLhebPMD75XDruFNlepm8V0/xj32EaxaNoPI787QV9gHLB08wfcVt h2Rb9IurRAtt+NmKvlMioHCYDljUy6H/9fV6GXQQih3Vs94TVYu8TQan7Bfvbeiq/mQyvL EhaRZiOZxg4hnz6VRixTwHkMSO4miD9PVIYQqkTh0rvK/6YEVpCurSGvqyWScQ== 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 4Q7hBC0wGwzY8Y; Sat, 29 Apr 2023 07:36: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 33T7apqk064212; Sat, 29 Apr 2023 07:36:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33T7apMZ064211; Sat, 29 Apr 2023 07:36:51 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:36:51 GMT Message-Id: <202304290736.33T7apMZ064211@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 99a98c68f441 - stable/13 - al_eth: make function definitions consistent with declarations List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 99a98c68f441263f99eb140d846a188512be21e6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=99a98c68f441263f99eb140d846a188512be21e6 commit 99a98c68f441263f99eb140d846a188512be21e6 Author: Dimitry Andric AuthorDate: 2023-04-22 11:45:57 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:23:34 +0000 al_eth: make function definitions consistent with declarations The declarations for al_eth_lm_retimer_ds25_signal_detect() and al_eth_lm_retimer_ds25_cdr_lock() say that these functions return 'al_bool', but the definitions actually return 'boolean_t'. Make the definitions match the declarations. Reviewed by: jhb, emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39759 (cherry picked from commit 9ea31d78f00d23612f3ab44d83265f8039f487af) --- sys/dev/al_eth/al_init_eth_lm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/al_eth/al_init_eth_lm.c b/sys/dev/al_eth/al_init_eth_lm.c index 12c9b0917ef0..5caea40e3bf7 100644 --- a/sys/dev/al_eth/al_init_eth_lm.c +++ b/sys/dev/al_eth/al_init_eth_lm.c @@ -848,7 +848,7 @@ config_error: return rc; } -static boolean_t al_eth_lm_retimer_ds25_signal_detect(struct al_eth_lm_context *lm_context, +static al_bool al_eth_lm_retimer_ds25_signal_detect(struct al_eth_lm_context *lm_context, uint32_t channel) { int rc = 0; @@ -878,7 +878,7 @@ config_error: return FALSE; } -static boolean_t al_eth_lm_retimer_ds25_cdr_lock(struct al_eth_lm_context *lm_context, +static al_bool al_eth_lm_retimer_ds25_cdr_lock(struct al_eth_lm_context *lm_context, uint32_t channel) { int rc = 0; From nobody Sat Apr 29 07:37:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hC06rRmz48ccS; Sat, 29 Apr 2023 07:37: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 4Q7hC05srTz3J9j; Sat, 29 Apr 2023 07:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uIxszOQOgeupqzBoyMg+zo//LrZ1suc3ntYCrD5/0Ss=; b=eQBiml2AjDJ8j0DFN7HSjrmDfrHKlEfp30+JMcSTuXsWbzM4NYQyE4oO3WGXU3OoqndZqM u131X3U++I8QwPOzU0tUHqppoZoookn2uHfWOp2Z9hcF+PI6u4c1AEOMlbHRAFMEPOMT/p AvCGG7mHMgI8pG7B3TGl1F3p5c4hJyl9dYZEpRI1GeS8XnTtOC9YESXcPmFhahPjHXGkT5 LLftHAxr96VEe0m/4C0smlpWGuUMFHV6WRm0Z8l73GNFPjW3MFfaHN4Yjg5GALioh5ov1u kWSKX7aIwoo9zxVUn4AE3gfRHew2DFHSpEt2UEFmSS2zZwimsTpxDTWl1nqKqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uIxszOQOgeupqzBoyMg+zo//LrZ1suc3ntYCrD5/0Ss=; b=w7903WrZR/8XkJz27uadpBGfZV0cl1oK02hyUJGsKpIBEw3YXjGzPSXrOC7jVQVp3ILdyF UGMNKy0AGVl9Yqttds85EPNrK7ZizPDIuGjSE+fbxs+ne95UUnUH9X9jls7WjqL+fhUOcM NO8a/OddaHGU2720ZFFakkaDs4spS/Aed7ySvVkVELMnWkjNWZUBg7P4AO7Qle30fqvFSt R4rnwoT1BvpBLb6JNljqpO0Kd+oydcQk8zRWD8WhgOuVBEaNXUN0of/UsVUi/DKG53Vqmf Feh7TsnqTd8tMqYMxxXeH8J8zZhpozPbgHPI+EADF78cXdI01Kzo6AejKzJG1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753852; a=rsa-sha256; cv=none; b=knvfAtFBBNgo1UM+eDL5qr8nI7D84BJ4S5Z/JuyoWczN1EykGCw9GibSv0dKaaCRTCsnXy cAfilCuybwgYTppnf/n++el/yHxxJQNtiSO+jZdzlOColudJj2Ph1ZAZYuVEMcHfIdXZ1E 58uSPTPLfbuKJUyMKqCXCG2WWf7sNHVfoSQq15VccQ4boTOAmHRoW/U7mec+1hQACPAmJh nbEY8CdRyHdgYvYqQkHSDLJAA7cFpMD21hVOPVfnRx6mDnzbZamUUg9IjAMCm435kCGpCv SUDb1259aMed13QoKEpCDxAKwBVbQJ6CKznDOkgdzkdKcTO4m2bkuJ2jpXrjWw== 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 4Q7hC04jkfzYR3; Sat, 29 Apr 2023 07:37: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 33T7bWFb064481; Sat, 29 Apr 2023 07:37:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33T7bWUl064480; Sat, 29 Apr 2023 07:37:32 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:37:32 GMT Message-Id: <202304290737.33T7bWUl064480@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: c14351db0d06 - stable/12 - Suppress lld 16 errors about multiply defined symbols in rescue List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: c14351db0d06b67a2cc2b5318f25df07602bbe71 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=c14351db0d06b67a2cc2b5318f25df07602bbe71 commit c14351db0d06b67a2cc2b5318f25df07602bbe71 Author: Dimitry Andric AuthorDate: 2023-04-17 16:25:30 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:24:24 +0000 Suppress lld 16 errors about multiply defined symbols in rescue lld >= 16 became more strict about multiply defined symbols. Since there are many of those in crunchgen'd programs, turn off the check when linking the rescue binary. MFC after: 1 week (cherry picked from commit 458f4722bf974c7fa7961952fcaee146f5a97708) --- rescue/rescue/Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rescue/rescue/Makefile b/rescue/rescue/Makefile index 8faf4d29877b..4395aca895d1 100644 --- a/rescue/rescue/Makefile +++ b/rescue/rescue/Makefile @@ -8,6 +8,12 @@ MAN= MK_SSP= no NO_SHARED= yes +# lld >= 16 became more strict about multiply defined symbols. Since there are +# many of those in crunchgen'd programs, turn off the check. +.if ${LINKER_TYPE} == "lld" && ${LINKER_VERSION} >= 160000 +LDFLAGS+= -Wl,--allow-multiple-definition +.endif + PROG= rescue BINDIR?=/rescue From nobody Sat Apr 29 07:37:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hC20Gqxz48cVG; Sat, 29 Apr 2023 07: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 4Q7hC16PbTz3J3N; Sat, 29 Apr 2023 07: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=1682753853; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2QtW98n5Rx0CbfsCu6rjDmKqk845YW5JWPIyw89SurQ=; b=D+cJw/ZvhsoUZJBRWGVcSykVI0VUgY32+VmcWRJ49R+ZiEMJCidlNzvoeSx0DNX2EpTK/Z Iyc+swlnSAqu/UQpDBUvXI6Kg+/0Q/unDAcqpMhu+frtz8jXYQjGoHbIINeqTC+coQcmkB 6HtEfwrnASTmc1PaAvVpfpVYMlKiFYFEkJbqCO3EmaIUvvzmaffwFnY07Ba5JnB8fQXS25 Yt9uJwVVQbMk5mFDxMM/qzuY613spxr9VLFa2PALRVoDa9DtO31fzdX53H8sL8cWLcIXDp IqgUtbR5jk6XuH2/6hx7V3W03ijbaLGaTxuW4LusRq+A26K7GtL43rzFuj5VQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753853; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2QtW98n5Rx0CbfsCu6rjDmKqk845YW5JWPIyw89SurQ=; b=Onk27OAhjl7jopqIgDrKSPztNslyx4xl9c9gtb9cAEpSMqgAqvizR3lUEgLRtXYWeA/1Uu 1aJrZloxSRY86XnfVkirtXs9qNHnfWL8+j9aWDNZc67h5fCyCFddgAGNN0gl0yeu8Y1vyW FFDy12O3LKU+OTMQMKIf7kNoO2gq1UfeXUn3VMqsKOXecfHwxHFwIMnqrOARj7l0KVE/Cg Q0iDYZypxjYx+dTqfKFRUV1v8GpE8EUzDTAS+/F0wUrIZZkuYmcXqwDSqPMOy38FG+ISsv uZHF7CfcO1z0StH24QGSL91T3qzBBjWlT7u+UqW8otbhX3yhzBJiVUgKStcgMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753853; a=rsa-sha256; cv=none; b=GjPRWWPjcudSQaSWUFmjrSJ9TmQjPymFvi//g9rQIcjg/89d+x66n4AGzqiFlhnxKp/yqR 2KYL/vKAranB4bxi0xWU1XIkcu6kb+o9Va39KskaMabTaQW9eiQYElOoz6FOtLfBXuUHqL KQQoWOOw1BAJtGQalXysy10jViqz1SJNtvEAo7Njh9Gnce97m6wZWqF1LuSvW6gVetVr4J B5cmPNbjvYYQmxFS5HA59m/yBD9d1d2MPFxTKBxpUJ+OiViZn9xY5QH+F0+nGFPTzd7Pru BRpJ/M8eWQzvUuTFoD80pBbWkK/3PU+Ust8aI7y85w+2ibfZ+Mg7XgviMmc2Pw== 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 4Q7hC15N0JzYR4; Sat, 29 Apr 2023 07: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 33T7bXXC064500; Sat, 29 Apr 2023 07: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 33T7bXKq064499; Sat, 29 Apr 2023 07:37:33 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:37:33 GMT Message-Id: <202304290737.33T7bXKq064499@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: d5ee36dbb272 - stable/12 - Suppress lld 16 errors about undefined symbols in version maps List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: d5ee36dbb27222e9b3bd57c5ffc5cff5667c2e2e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=d5ee36dbb27222e9b3bd57c5ffc5cff5667c2e2e commit d5ee36dbb27222e9b3bd57c5ffc5cff5667c2e2e Author: Dimitry Andric AuthorDate: 2023-04-17 16:00:20 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:24:32 +0000 Suppress lld 16 errors about undefined symbols in version maps lld >= 16 turned on --no-undefined-version by default, which results in errors whenever symbols are mentioned in version maps, but are not actually defined in the binary. Since we have quite a few instances of symbols that are defined or not, depending on various compile-time settings, suppress this lld check for the time being. MFC after: 1 week (cherry picked from commit 2ba84b4bcdd6012e8cfbf8a0d060a4438623a638) --- share/mk/bsd.lib.mk | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 69b64200e47f..c472a4add8f6 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -223,6 +223,13 @@ SHLIB_NAME_FULL=${SHLIB_NAME} .if ${MK_SYMVER} == "yes" && !empty(VERSION_MAP) ${SHLIB_NAME_FULL}: ${VERSION_MAP} LDFLAGS+= -Wl,--version-script=${VERSION_MAP} + +# lld >= 16 turned on --no-undefined-version by default, but we have several +# symbols in our version maps that may or may not exist, depending on +# compile-time defines. +.if ${LINKER_TYPE} == "lld" && ${LINKER_VERSION} >= 160000 +LDFLAGS+= -Wl,--undefined-version +.endif .endif .if defined(LIB) && !empty(LIB) || defined(SHLIB_NAME) From nobody Sat Apr 29 07:37:34 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hC34df0z48d0n; Sat, 29 Apr 2023 07:37: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 4Q7hC33TsYz3JL5; Sat, 29 Apr 2023 07:37:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753855; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=44jAGlVxEc7GLF6GKwAVfhJv/or5dDBgF99ATPup1Sc=; b=BsEW1o4J1rK+lPCn4hu2nQJrl4Gy13YCSTPCSrIpWzFu/DTp2kymdQKayXLDM2yY+VZhhI Gnzd9CgGt3Ev0Z7Bt21/lTrF6h/PXbF6gjtnX8yAiNCdJIue9u8YYey3GSQK1O8a/NO6e+ Y4urgR0DxQPsNkYB7QH37SEvuoL50nF7XqZTWsJTsNZ/nXoEKFSDfVbK3/DOpkAHpOR/+O oufbCrzTg7rFXJ4WcQm4wlu5xpGkgbGExhtr09QEPesiEJm0hHQbv9SQMHaDScr3iAi9f7 4Ma9JfUO9siuETPNP8QFAFEtGs5MToIrPb41KE9MBOF/6UOFrcTi5vHatRGf0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753855; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=44jAGlVxEc7GLF6GKwAVfhJv/or5dDBgF99ATPup1Sc=; b=HrfIcJGH9IBqDA2llLU3qVQTUC/y+HbDIlDm9iecScP47Wqxw7hW0DJ+CJFSElC6oWWdZp 8fUdW/8ZU9/gEQWb4WLcfRMdm7DeY/b8daeaaZ9pIwR1mVg7HQXhEP2j/4BFKghmZqtmHK VhDYNWOGAfK1B1GufOWubkoEWoqh/Ch8tkTFoPEVLA7JdvoNP+mj1aeKWExwrQU3DdcHeV 0F36q0yWynPhYyn7TDr5+M5q1xswr84/mHbH4ZbZSCfXZNVMIejFv2cRG5LnptQlWH/pMN 3oH6ZQjyHlJBjau7cT+dHb9efzi1O4Cp42GpK8Rk+HmEo1wb0cGhq0q0QM/OKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753855; a=rsa-sha256; cv=none; b=i1JdE44YLTLMbCFuO7Dd0Zte+6YjbTHis9WM2C+H3CDkuelOrCHbslwU/KODAqJWUKaava +01idQ2gucTfKFlul1ohSxhZR7u9U2Sqr1TrG/UNR5mb6Sy/i8n0HXzcfBbcnRTrBkTHwq ws9HJldzackDPW1h9f5eXpU4iBuAaMraGGPEEfqJyY/nynmZiJ5d/5k9hafspy33wqGvQ3 GIe9CYaC5Hoe5DNULYNCJEHP12orwKAgNR3kfXixrLfShEq37TpQpVilbt3OjzTRytzwfU Xk+1+Yt7Bad42gnCrUSllQJmFDChmkMZAgEVcoVwcEnG4b/nVm+ltOmDZ7pRFw== 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 4Q7hC26pyfzYBG; Sat, 29 Apr 2023 07: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 33T7bYJR064526; Sat, 29 Apr 2023 07: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 33T7bYb4064525; Sat, 29 Apr 2023 07:37:34 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:37:34 GMT Message-Id: <202304290737.33T7bYb4064525@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 4e7487f388cd - stable/12 - Include bsd.linker.mk to get LINKER_TYPE and VERSION in rescue List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 4e7487f388cdb5dfbdd65dd4aad4ae457b7734c7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=4e7487f388cdb5dfbdd65dd4aad4ae457b7734c7 commit 4e7487f388cdb5dfbdd65dd4aad4ae457b7734c7 Author: Dimitry Andric AuthorDate: 2023-04-17 17:43:29 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:24:37 +0000 Include bsd.linker.mk to get LINKER_TYPE and VERSION in rescue To be able to use these make variables, you also have to include bsd.linker.mk, apparently. Fixes: 458f4722bf97 MFC after: 1 week (cherry picked from commit 653e8c11f43dc6448b8560eb1f6679de2c47e1ed) --- rescue/rescue/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/rescue/rescue/Makefile b/rescue/rescue/Makefile index 4395aca895d1..17f34524f301 100644 --- a/rescue/rescue/Makefile +++ b/rescue/rescue/Makefile @@ -2,6 +2,7 @@ # @(#)Makefile 8.1 (Berkeley) 6/2/93 .include +.include PACKAGE=rescue MAN= From nobody Sat Apr 29 07:37:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hC41vfbz48cZv; Sat, 29 Apr 2023 07:37: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 4Q7hC41QhSz3JLS; Sat, 29 Apr 2023 07:37:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753856; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ur04p+fQ0D2eg14Ky57MkkrN71uXwl60GWx/m1ffBqI=; b=v6zTtkG9T7xR0/bYy/P5RdXafLqOVyGuTPf69LbyGo66bNPNX06QfrF462SbpN9+z0I2Mu NzL3G/UTJy+McefB1vl+fUbzSxrkwpIOxf/T0vPPJ6QfCwFmy5ICfHC0kv+hQoFNQoe1TF /HS9spQqu30N7gFMadw09CLOiETAI5uvJOAmSDxCuk3z4rmYkU8v+IYQByKURPWW4FGVCy NRbADv39KC5zfuyfuWJFnpCbYSsAPWuiS/4E/mk1lJ7hlCDPocyn9osTDzh63hWqtqA04o B2QEI+/TAEtGgnS5MHyIPsngZY5/pzMitFCPt6BrUvDlmiSo6HP7nTFklR715w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753856; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ur04p+fQ0D2eg14Ky57MkkrN71uXwl60GWx/m1ffBqI=; b=doClwqBC4hxa+2BgbygACu210GZ3JfdIO1Po4zVH/wMQ+Bec2b+yGEmjY7OlTQtilWPXin OH0mZbXAmbdC3AcOcwI2S0c5NmozAMtV08jtz1DZMxCwLJ455vOfo+rcdu9l+IFMRvt7Ts JWvm1TaKJQcbZ8Dxhb3psKebDpttFIIpVW848EvLzDQjmu84V9S6OnocJ+6uXpiowSz2Ji DtSEMk2hlhyw8Bzyu+FQ+G+7mSjPdrmnGZt8e+woJAwCKYzSteQ7fJuJPS2N5R7u0LD+hz nikCh1Bd+fzbhLOvriT8mL66nsjYuY8XGUu8GPPY88/oVXWz9YwtAK3r8ns6Gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753856; a=rsa-sha256; cv=none; b=O0tn9we7lJl7Pd0np4Ck+G074sdL2MVrSV1jhdn8ijgkrCpV/5SQdpxpxlvKTcTPT/LbjH BNWEtfcUJPXTMELj1KAF02PN/N2k4OyD1Pydj5QXV2VRM/XeCOO4kBUfYiMfeuD6qTZqJT rvkPvBxSBnoYWTqjVI2sDpOEyN15hgYVG9ZZKvTufdk0dzChs3wwt0jEJPgcinHSU8FLVL WpyBc0NVyTXRaFrVCNXB0dv7w+lJzeAw7YzFelXVcWRFP0YU41XymbEXGexqGGy5u/npos 15BaZ/RsQxPvp14k9GLRZJuULGXpBima0p6bWq7UJV5aTJ00V/S5cJeGgRqChg== 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 4Q7hC40PdXzYR5; Sat, 29 Apr 2023 07:37: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 33T7bZTF064550; Sat, 29 Apr 2023 07:37:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33T7bZHx064549; Sat, 29 Apr 2023 07:37:35 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:37:35 GMT Message-Id: <202304290737.33T7bZHx064549@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: e9e1f2a88e4b - stable/12 - powerpc: fix a few pmap related functions to return correct types List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: e9e1f2a88e4bc6db9d6ecc3dcf95f29b4187e80e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=e9e1f2a88e4bc6db9d6ecc3dcf95f29b4187e80e commit e9e1f2a88e4bc6db9d6ecc3dcf95f29b4187e80e Author: Dimitry Andric AuthorDate: 2023-04-23 13:22:44 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:35:10 +0000 powerpc: fix a few pmap related functions to return correct types While experimenting with changing boolean_t to another type, I noticed that several powerpc pmap related functions returned the wrong type: boolean_t instead of int. Fix several declarations and definitions to match the actual pmap function types: pmap_dev_direct_mapped_t and pmap_ts_referenced_t. MFC after: 3 days (cherry picked from commit d142601887524fc595ed0f5e6a69419727222f0a) --- sys/powerpc/aim/mmu_oea.c | 4 ++-- sys/powerpc/aim/mmu_oea64.c | 4 ++-- sys/powerpc/booke/pmap.c | 2 +- sys/powerpc/powerpc/pmap_dispatch.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index ea74879eba26..45c5af533926 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -314,7 +314,7 @@ vm_paddr_t moea_kextract(mmu_t, vm_offset_t); void moea_kenter_attr(mmu_t, vm_offset_t, vm_paddr_t, vm_memattr_t); void moea_kenter(mmu_t, vm_offset_t, vm_paddr_t); void moea_page_set_memattr(mmu_t mmu, vm_page_t m, vm_memattr_t ma); -boolean_t moea_dev_direct_mapped(mmu_t, vm_paddr_t, vm_size_t); +int moea_dev_direct_mapped(mmu_t, vm_paddr_t, vm_size_t); static void moea_sync_icache(mmu_t, pmap_t, vm_offset_t, vm_size_t); void moea_dumpsys_map(mmu_t mmu, vm_paddr_t pa, size_t sz, void **va); void moea_scan_init(mmu_t mmu); @@ -2613,7 +2613,7 @@ moea_bat_mapped(int idx, vm_paddr_t pa, vm_size_t size) return (0); } -boolean_t +int moea_dev_direct_mapped(mmu_t mmu, vm_paddr_t pa, vm_size_t size) { int i; diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c index e19cac8f314f..0a54e400c941 100644 --- a/sys/powerpc/aim/mmu_oea64.c +++ b/sys/powerpc/aim/mmu_oea64.c @@ -278,7 +278,7 @@ vm_paddr_t moea64_kextract(mmu_t, vm_offset_t); void moea64_page_set_memattr(mmu_t, vm_page_t m, vm_memattr_t ma); void moea64_kenter_attr(mmu_t, vm_offset_t, vm_paddr_t, vm_memattr_t ma); void moea64_kenter(mmu_t, vm_offset_t, vm_paddr_t); -boolean_t moea64_dev_direct_mapped(mmu_t, vm_paddr_t, vm_size_t); +int moea64_dev_direct_mapped(mmu_t, vm_paddr_t, vm_size_t); static void moea64_sync_icache(mmu_t, pmap_t, vm_offset_t, vm_size_t); void moea64_dumpsys_map(mmu_t mmu, vm_paddr_t pa, size_t sz, void **va); @@ -2722,7 +2722,7 @@ moea64_clear_bit(mmu_t mmu, vm_page_t m, u_int64_t ptebit) return (count); } -boolean_t +int moea64_dev_direct_mapped(mmu_t mmu, vm_paddr_t pa, vm_size_t size) { struct pvo_entry *pvo, key; diff --git a/sys/powerpc/booke/pmap.c b/sys/powerpc/booke/pmap.c index f73c0207027e..79e774b33bf4 100644 --- a/sys/powerpc/booke/pmap.c +++ b/sys/powerpc/booke/pmap.c @@ -375,7 +375,7 @@ static vm_paddr_t mmu_booke_kextract(mmu_t, vm_offset_t); static void mmu_booke_kenter(mmu_t, vm_offset_t, vm_paddr_t); static void mmu_booke_kenter_attr(mmu_t, vm_offset_t, vm_paddr_t, vm_memattr_t); static void mmu_booke_kremove(mmu_t, vm_offset_t); -static boolean_t mmu_booke_dev_direct_mapped(mmu_t, vm_paddr_t, vm_size_t); +static int mmu_booke_dev_direct_mapped(mmu_t, vm_paddr_t, vm_size_t); static void mmu_booke_sync_icache(mmu_t, pmap_t, vm_offset_t, vm_size_t); static void mmu_booke_dumpsys_map(mmu_t, vm_paddr_t pa, size_t, diff --git a/sys/powerpc/powerpc/pmap_dispatch.c b/sys/powerpc/powerpc/pmap_dispatch.c index 3cfa741d2ddb..424162a50444 100644 --- a/sys/powerpc/powerpc/pmap_dispatch.c +++ b/sys/powerpc/powerpc/pmap_dispatch.c @@ -528,7 +528,7 @@ pmap_decode_kernel_ptr(vm_offset_t addr, int *is_user, vm_offset_t *decoded) return (MMU_DECODE_KERNEL_PTR(mmu_obj, addr, is_user, decoded)); } -boolean_t +int pmap_dev_direct_mapped(vm_paddr_t pa, vm_size_t size) { From nobody Sat Apr 29 07:37:37 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hC55l76z48cv5; Sat, 29 Apr 2023 07:37: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 4Q7hC52YYLz3JNm; Sat, 29 Apr 2023 07:37:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VbSQ1T+8BZdY2VZtg0xDE+/1h6ogF/tj/YmmwNFeyhk=; b=MijvTM1Mt1Y+gFD8vlqw0ssSveQO2LuWtzYzddoVHEFmopzVoG7bUYyQh/Dcx72JTZZfbW nQKkmEgSuxK7X8GbklWCSrUPGxfftf+iOqw7/7hJ+vZzHXAb9ZKCCZ96F8remlaY+/wNkM mAYqkT2ofhubwLzglxwJh1Cz7sbdkw6ltu0tuB4mUTKDC3kCzDkHGazDNbw1UOL7BrB8oi u/GiiFFWVW1xgMJrCH8OCS+EBga7pyULHchGmbMGLI3R23OWOGJwKXaV4/T7CyDlRLSVVd crUaFyEvCiF7116MP13T/alJuWdKEdJ1brgf1MfjH5troXD9I8Lx1CeNUyOf2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VbSQ1T+8BZdY2VZtg0xDE+/1h6ogF/tj/YmmwNFeyhk=; b=c4maRcgG9muouYkM8FbKBjiM1kqvjkvWeCJeT7uDso6T6fwM4bGauJxCxUcETMLeoYDioh GVwbZTnlu1OBtZ7mrkblhlogD1lumJwrl5BxH8iySIeKXeQ3oGVgNXlJuCPe07aZRjL8iX F9FThZPiqsuoBJtld0H9wOCU2YwfZiXD0zFlaIrZG0ZTDzRaxkwdkkjgmUoI+SpfVeAkDC pxUpz6uZYNlkEmJPYl6KVUtS1Rbf5MfkDXidAbkL3vul5crYkyc5arRbfYn8BfamMx1+/x jFNYYr1t6/bwPrm7nIRtnIzKOuPttAZWg/ubZv0NP8fOrGG075VOnIHLuqGnAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753857; a=rsa-sha256; cv=none; b=fuPZj7Th9Pg9s6yXQsD3hAD+ege4f7WRBg1sZD90NFZ7EXJ8EygxIp2GcY0oOyy/602J6j z9BgNOV4XgjeRDo+TFdMmK/iwVCG2KvfjPqaBHM9oDhb/lwSgvlOPb0bFkMWcB35QSbL22 5NwLNd+BnD15jeNv9bWJReh8tD6IRBugWt/fJKsbf8xgEiASo7sKByVWxBQvND+T9k9M0A EpHfb8cQdNmU6VMNIaJtcuuxk5uKbs4lpK/HlprNmZr+BHaSrI4H5rpTvMNey0+cuqS0hT hohX4dbhmOu9htUfmXnQ8hcAOWv0R7+NfRPK+cqZ80pqQXJVNByE3iSGHuevuA== 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 4Q7hC511gwzYBH; Sat, 29 Apr 2023 07:37: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 33T7bblp064571; Sat, 29 Apr 2023 07:37:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33T7bb8V064570; Sat, 29 Apr 2023 07:37:37 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:37:37 GMT Message-Id: <202304290737.33T7bb8V064570@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 821e1767aa38 - stable/12 - Use bool for one-bit wide bit-fields List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 821e1767aa382faa1e78c16072b75bd323be405e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=821e1767aa382faa1e78c16072b75bd323be405e commit 821e1767aa382faa1e78c16072b75bd323be405e Author: Dimitry Andric AuthorDate: 2023-04-25 17:18:58 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:35:33 +0000 Use bool for one-bit wide bit-fields A signed one-bit wide bit-field can take only the values 0 and -1. Clang 16 introduced a warning that "implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1". Fix the warnings by using C99 bool. Reported by: Clang 16 Reviewed by: emaste, jhb MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39705 (cherry picked from commit bab8274c090942cf96c44bc001307b9bffac9d7e) --- sys/dev/acpica/acpi_pci_link.c | 28 ++++++++++++++-------------- sys/dev/acpica/acpi_pxm.c | 4 ++-- sys/dev/otus/if_otusreg.h | 2 +- sys/dev/puc/puc.c | 2 +- sys/dev/puc/puc_bfe.h | 8 ++++---- sys/dev/quicc/quicc_bfe.h | 4 ++-- sys/dev/scc/scc_bfe.h | 20 ++++++++++---------- sys/dev/uart/uart_bus.h | 20 ++++++++++---------- sys/dev/wpi/if_wpivar.h | 2 +- sys/x86/include/x86_smp.h | 8 ++++---- 10 files changed, 49 insertions(+), 49 deletions(-) diff --git a/sys/dev/acpica/acpi_pci_link.c b/sys/dev/acpica/acpi_pci_link.c index 79802e7716b2..04fb494eabfe 100644 --- a/sys/dev/acpica/acpi_pci_link.c +++ b/sys/dev/acpica/acpi_pci_link.c @@ -104,8 +104,8 @@ struct link { int l_num_irqs; int *l_irqs; int l_references; - int l_routed:1; - int l_isa_irq:1; + bool l_routed:1; + bool l_isa_irq:1; ACPI_RESOURCE l_prs_template; }; @@ -352,18 +352,18 @@ link_add_prs(ACPI_RESOURCE *res, void *context) * valid IRQs are ISA IRQs, then mark this link as * routed via an ISA interrupt. */ - link->l_isa_irq = TRUE; + link->l_isa_irq = true; link->l_irqs = malloc(sizeof(int) * link->l_num_irqs, M_PCI_LINK, M_WAITOK | M_ZERO); for (i = 0; i < link->l_num_irqs; i++) { if (is_ext_irq) { link->l_irqs[i] = ext_irqs[i]; if (ext_irqs[i] >= NUM_ISA_INTERRUPTS) - link->l_isa_irq = FALSE; + link->l_isa_irq = false; } else { link->l_irqs[i] = irqs[i]; if (irqs[i] >= NUM_ISA_INTERRUPTS) - link->l_isa_irq = FALSE; + link->l_isa_irq = false; } } @@ -373,7 +373,7 @@ link_add_prs(ACPI_RESOURCE *res, void *context) */ if (!req->sc->pl_crs_bad && !link->l_isa_irq && link->l_crs_type == ACPI_RESOURCE_TYPE_IRQ) - req->sc->pl_crs_bad = TRUE; + req->sc->pl_crs_bad = true; break; default: if (req->in_dpf == DPF_IGNORE) @@ -387,7 +387,7 @@ link_add_prs(ACPI_RESOURCE *res, void *context) return (AE_OK); } -static int +static bool link_valid_irq(struct link *link, int irq) { int i; @@ -396,12 +396,12 @@ link_valid_irq(struct link *link, int irq) /* Invalid interrupts are never valid. */ if (!PCI_INTERRUPT_VALID(irq)) - return (FALSE); + return (false); /* Any interrupt in the list of possible interrupts is valid. */ for (i = 0; i < link->l_num_irqs; i++) if (link->l_irqs[i] == irq) - return (TRUE); + return (true); /* * For links routed via an ISA interrupt, if the SCI is routed via @@ -409,10 +409,10 @@ link_valid_irq(struct link *link, int irq) */ if (link->l_isa_irq && AcpiGbl_FADT.SciInterrupt == irq && irq < NUM_ISA_INTERRUPTS) - return (TRUE); + return (true); /* If the interrupt wasn't found in the list it is not valid. */ - return (FALSE); + return (false); } static void @@ -490,7 +490,7 @@ acpi_pci_link_attach(device_t dev) sc->pl_links[i].l_irq = PCI_INVALID_IRQ; sc->pl_links[i].l_bios_irq = PCI_INVALID_IRQ; sc->pl_links[i].l_sc = sc; - sc->pl_links[i].l_isa_irq = FALSE; + sc->pl_links[i].l_isa_irq = false; sc->pl_links[i].l_res_index = -1; } @@ -555,7 +555,7 @@ acpi_pci_link_attach(device_t dev) else for (i = 0; i < sc->pl_num_links; i++) if (PCI_INTERRUPT_VALID(sc->pl_links[i].l_irq)) - sc->pl_links[i].l_routed = TRUE; + sc->pl_links[i].l_routed = true; if (bootverbose) acpi_pci_link_dump(sc, 0, "After Disable"); ACPI_SERIAL_END(pci_link); @@ -904,7 +904,7 @@ acpi_pci_link_route_irqs(device_t dev) */ if (!link->l_routed && PCI_INTERRUPT_VALID(link->l_irq)) { - link->l_routed = TRUE; + link->l_routed = true; acpi_config_intr(dev, resource); pci_link_interrupt_weights[link->l_irq] += link->l_references; diff --git a/sys/dev/acpica/acpi_pxm.c b/sys/dev/acpica/acpi_pxm.c index 808886d744f0..18a21ee6b0f8 100644 --- a/sys/dev/acpica/acpi_pxm.c +++ b/sys/dev/acpica/acpi_pxm.c @@ -56,8 +56,8 @@ __FBSDID("$FreeBSD$"); #if MAXMEMDOM > 1 static struct cpu_info { - int enabled:1; - int has_memory:1; + bool enabled:1; + bool has_memory:1; int domain; int id; } *cpus; diff --git a/sys/dev/otus/if_otusreg.h b/sys/dev/otus/if_otusreg.h index 190bf19eb2ae..4bccc85b2168 100644 --- a/sys/dev/otus/if_otusreg.h +++ b/sys/dev/otus/if_otusreg.h @@ -1020,7 +1020,7 @@ struct otus_softc { uint8_t capflags; uint8_t rxmask; uint8_t txmask; - int sc_running:1, + bool sc_running:1, sc_calibrating:1, sc_scanning:1; diff --git a/sys/dev/puc/puc.c b/sys/dev/puc/puc.c index f45493145be9..109411f020b1 100644 --- a/sys/dev/puc/puc.c +++ b/sys/dev/puc/puc.c @@ -60,7 +60,7 @@ struct puc_port { int p_type; int p_rclk; - int p_hasintr:1; + bool p_hasintr:1; serdev_intr_t *p_ihsrc[PUC_ISRCCNT]; void *p_iharg; diff --git a/sys/dev/puc/puc_bfe.h b/sys/dev/puc/puc_bfe.h index 68678d3771e1..692a7f009019 100644 --- a/sys/dev/puc/puc_bfe.h +++ b/sys/dev/puc/puc_bfe.h @@ -65,10 +65,10 @@ struct puc_softc { int sc_nports; struct puc_port *sc_port; - int sc_fastintr:1; - int sc_leaving:1; - int sc_polled:1; - int sc_msi:1; + bool sc_fastintr:1; + bool sc_leaving:1; + bool sc_polled:1; + bool sc_msi:1; int sc_ilr; diff --git a/sys/dev/quicc/quicc_bfe.h b/sys/dev/quicc/quicc_bfe.h index ea791bc277e3..994d9f62ca10 100644 --- a/sys/dev/quicc/quicc_bfe.h +++ b/sys/dev/quicc/quicc_bfe.h @@ -51,8 +51,8 @@ struct quicc_softc { u_int sc_clock; - int sc_fastintr:1; - int sc_polled:1; + bool sc_fastintr:1; + bool sc_polled:1; }; extern devclass_t quicc_devclass; diff --git a/sys/dev/scc/scc_bfe.h b/sys/dev/scc/scc_bfe.h index d6ddd6775a3c..0ee508caaa12 100644 --- a/sys/dev/scc/scc_bfe.h +++ b/sys/dev/scc/scc_bfe.h @@ -72,11 +72,11 @@ struct scc_mode { device_t m_dev; u_int m_mode; - int m_attached:1; - int m_fastintr:1; - int m_hasintr:1; - int m_probed:1; - int m_sysdev:1; + bool m_attached:1; + bool m_fastintr:1; + bool m_hasintr:1; + bool m_probed:1; + bool m_sysdev:1; driver_filter_t *ih; serdev_intr_t *ih_src[SCC_ISRCCNT]; @@ -94,8 +94,8 @@ struct scc_chan { struct scc_mode ch_mode[SCC_NMODES]; u_int ch_nr; - int ch_enabled:1; - int ch_sysdev:1; + bool ch_enabled:1; + bool ch_sysdev:1; uint32_t ch_ipend; uint32_t ch_hwsig; @@ -130,9 +130,9 @@ struct scc_softc { struct scc_chan *sc_chan; - int sc_fastintr:1; - int sc_leaving:1; - int sc_polled:1; + bool sc_fastintr:1; + bool sc_leaving:1; + bool sc_polled:1; uint32_t sc_hwsig; /* Signal state. Used by HW driver. */ }; diff --git a/sys/dev/uart/uart_bus.h b/sys/dev/uart/uart_bus.h index 5da3cecccf85..2c1918c580e9 100644 --- a/sys/dev/uart/uart_bus.h +++ b/sys/dev/uart/uart_bus.h @@ -89,16 +89,16 @@ struct uart_softc { int sc_irid; struct callout sc_timer; - int sc_callout:1; /* This UART is opened for callout. */ - int sc_fastintr:1; /* This UART uses fast interrupts. */ - int sc_hwiflow:1; /* This UART has HW input flow ctl. */ - int sc_hwoflow:1; /* This UART has HW output flow ctl. */ - int sc_leaving:1; /* This UART is going away. */ - int sc_opened:1; /* This UART is open for business. */ - int sc_polled:1; /* This UART has no interrupts. */ - int sc_txbusy:1; /* This UART is transmitting. */ - int sc_isquelch:1; /* This UART has input squelched. */ - int sc_testintr:1; /* This UART is under int. testing. */ + bool sc_callout:1; /* This UART is opened for callout. */ + bool sc_fastintr:1; /* This UART uses fast interrupts. */ + bool sc_hwiflow:1; /* This UART has HW input flow ctl. */ + bool sc_hwoflow:1; /* This UART has HW output flow ctl. */ + bool sc_leaving:1; /* This UART is going away. */ + bool sc_opened:1; /* This UART is open for business. */ + bool sc_polled:1; /* This UART has no interrupts. */ + bool sc_txbusy:1; /* This UART is transmitting. */ + bool sc_isquelch:1; /* This UART has input squelched. */ + bool sc_testintr:1; /* This UART is under int. testing. */ struct uart_devinfo *sc_sysdev; /* System device (or NULL). */ diff --git a/sys/dev/wpi/if_wpivar.h b/sys/dev/wpi/if_wpivar.h index 422dc34d65b8..81fdeced248a 100644 --- a/sys/dev/wpi/if_wpivar.h +++ b/sys/dev/wpi/if_wpivar.h @@ -77,7 +77,7 @@ struct wpi_tx_ring { uint8_t cur; uint8_t pending; int16_t queued; - int update:1; + bool update:1; }; struct wpi_rx_data { diff --git a/sys/x86/include/x86_smp.h b/sys/x86/include/x86_smp.h index 9bb05d9038ab..d02c73594d6d 100644 --- a/sys/x86/include/x86_smp.h +++ b/sys/x86/include/x86_smp.h @@ -54,10 +54,10 @@ extern int nmi_kdb_lock; extern int nmi_is_broadcast; struct cpu_info { - int cpu_present:1; - int cpu_bsp:1; - int cpu_disabled:1; - int cpu_hyperthread:1; + bool cpu_present:1; + bool cpu_bsp:1; + bool cpu_disabled:1; + bool cpu_hyperthread:1; }; extern struct cpu_info *cpu_info; From nobody Sat Apr 29 07:37:38 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7hC63vwgz48d33; Sat, 29 Apr 2023 07:37: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 4Q7hC63Fpdz3JPb; Sat, 29 Apr 2023 07:37:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KPFarQzLqsFX29Q9hrKXD1RkWJRuQBMekZw9GBPgxKI=; b=KwSh6NtLRSddwXhNuyB7D2LDMUiVltrLvX/SnodVCawgYi8pgqKs2cB1JP+9XD3SU8K75V 93I5xmHkjNWFFzzZuEDcpmSVgJ0XnmDek/7qpoRxmfLPCOT+iqPkPB97NW6VQo00QZPUZm qXVoCEuK6SB8BaFIwlvEXioCIc4r9OvxOc/2XYfs66v9nLrRC/KFkm+33hB4MyUFxFyGXt 4RkBdCYDp24Ya6CxzI7UsOzI72I/6YAu6KcGlVs6+BntUGOHFO8APkg88Pizvxz/ysjL+p EtgkiXUQ2RmIZduS034IUf3yCSUlZ9v57IapOKfLUzWlV5iO3CRjcXDgOBP80A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682753858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KPFarQzLqsFX29Q9hrKXD1RkWJRuQBMekZw9GBPgxKI=; b=QnYi4U0oMgioxDs1+zpFw8g7hB8rU87tW7jqYV+tYuarMPeNyNrw86n4sQyGjUXZXM2V1N e6UarPSeEwr8SNmGqKBaaFkGr9UT5BB/QHfhwcFF+PrNu7Bw9M+JeKerhKeP/dxmG+tr3X 0ztJSnKZ1y/osDYox2BB/H6kenycDaxpf/bs/rI/sOTSGDQK7wRmMtmhSAwEFVEAKPNgw5 0bVx7icGcugMZnDPivPvy+CthmOcR5nviikj3UNVSGdhcbwQoJJ9f6+6aYQQKX7+Te9/Wc Msmf5MsQasTqDkt8EpkZ8zvtQn6fIzjeTP0YVsiBhKtHO4UvO6+0HzRyjVi1aQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682753858; a=rsa-sha256; cv=none; b=lRp1zKwPTJhn3sF3J95OImYiA218L9Q9CNGr+5RulJHm+pV9miXyKDz1/UVotWW2TJz4L+ bzzj3xeOU/2G5aE5/76gZZJi7vEGSAq4URH5BVeQlyQofg8VOpzYXKzrQSHln3kSZwOB3R pWCJu9S/G1fJM+S2t4ZgedPGlDvoy7OYrLwjQPAeyr+RlkXDBiO/vCt0J0POxDaDh51W+t vGZlLXAo4/GhDaWoIhthoHIw7wQe6zTb4AuFvI+YnUA3xeT/Yft665dOBU3I76LgD1w/0d /D6Le3vTgu8To1jQASNWZL0Xw62xb1cKE0nJe1nNBwt4Wtftj7HRtSPA95tfsw== 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 4Q7hC62FvnzYbF; Sat, 29 Apr 2023 07:37:38 +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 33T7bc5p064592; Sat, 29 Apr 2023 07:37:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33T7bcvu064591; Sat, 29 Apr 2023 07:37:38 GMT (envelope-from git) Date: Sat, 29 Apr 2023 07:37:38 GMT Message-Id: <202304290737.33T7bcvu064591@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: aee90183065e - stable/12 - al_eth: make function definitions consistent with declarations List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: aee90183065e0e99d9a705b2800e9267dbb6c885 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=aee90183065e0e99d9a705b2800e9267dbb6c885 commit aee90183065e0e99d9a705b2800e9267dbb6c885 Author: Dimitry Andric AuthorDate: 2023-04-22 11:45:57 +0000 Commit: Dimitry Andric CommitDate: 2023-04-29 07:35:40 +0000 al_eth: make function definitions consistent with declarations The declarations for al_eth_lm_retimer_ds25_signal_detect() and al_eth_lm_retimer_ds25_cdr_lock() say that these functions return 'al_bool', but the definitions actually return 'boolean_t'. Make the definitions match the declarations. Reviewed by: jhb, emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39759 (cherry picked from commit 9ea31d78f00d23612f3ab44d83265f8039f487af) --- sys/dev/al_eth/al_init_eth_lm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/al_eth/al_init_eth_lm.c b/sys/dev/al_eth/al_init_eth_lm.c index 96da4bb34d96..7f2553651e3e 100644 --- a/sys/dev/al_eth/al_init_eth_lm.c +++ b/sys/dev/al_eth/al_init_eth_lm.c @@ -849,7 +849,7 @@ config_error: return rc; } -static boolean_t al_eth_lm_retimer_ds25_signal_detect(struct al_eth_lm_context *lm_context, +static al_bool al_eth_lm_retimer_ds25_signal_detect(struct al_eth_lm_context *lm_context, uint32_t channel) { int rc = 0; @@ -879,7 +879,7 @@ config_error: return FALSE; } -static boolean_t al_eth_lm_retimer_ds25_cdr_lock(struct al_eth_lm_context *lm_context, +static al_bool al_eth_lm_retimer_ds25_cdr_lock(struct al_eth_lm_context *lm_context, uint32_t channel) { int rc = 0; From nobody Sat Apr 29 11:24:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7nDl61rqz48rvf; Sat, 29 Apr 2023 11:24: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 4Q7nDl5Z42z3rhB; Sat, 29 Apr 2023 11:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682767463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NXxZ5VFeja1LYnEaCIK40R+3kQi8aNw7JpTv/m5XqcA=; b=BE/wpfiZVhyWUF7U8Dbb2BY2P4Kz3m/JLueonZ4BwOpgjV8RPDks3zCmKtO49qBwzQvI+P w7VbNBYIh3yvT1juqh19hvOq61YFyKThmTIxreQSa8x2KuRDDMrMQ82daGqhRcOH8slUmL BILFn9AnF4sPONUYGJ4NsiPUPUrYBprpPkMTfxXfR4HtiR9IhIxGz+wVSsiWKZkOrv1kK6 NONzUATMG/77zrCUehkcMkcXyUgevro2tifU+pTdE+9EwKkkWkztmheN/kiN8NejgBCV96 UGYEI1R33NZhWIJi//DR2UA/bjhNo8u+oFjGe7y1YEB/viVkC4ZhD5ETigUNCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682767463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NXxZ5VFeja1LYnEaCIK40R+3kQi8aNw7JpTv/m5XqcA=; b=gADkOCTAPAbcT3IQWXWbB5VChTvDG6fAgwc2PS34f6bHsnG0u+r7dpV6vdgB8QOsrPOS1H Q6HEzpAj1zXSNrGDuiqZyX6blqOHhFDd+ca8GWhxXeQu+FK72b8Es5uJq9CrlP0BKxxceE whCjvw5EEIv1KVIH1cVG98PeU5iuM/4zSpKKelvWHljWzABlGiV1KNYG2ShRKNL2QWV9/P KQsoWZvMViyuJqkGKurhw7pHwwqyf2MRk4aUW7feq/rBJiCCgsRLW1oXGgIND/fDyBvRBd oXAGxjdE5RjBJbDnL4mok9Y6mda1jxYraojzMuM69Se8OqjsHNlEbYTnFhuMOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682767463; a=rsa-sha256; cv=none; b=j/+/XFOHmEvXksGJZvcP6+coBrFRUd762xKChWfTYuGsTx1TVn6WXlFhzRl0m/wM/C5Fya tav9csGHTCxwLgJIhToVFg4pGNwHh0oK0yUEjSsdiyTp3rKPBoGDk9VJtcNodPED4o9hAM RavZD/62cP8/Ll0v55eqMhEDWcRUCWu5VIvf5XcfwJFjbhHpnMtEtVAOK41Xf3SW4w2xbs inBU4ABkJTi86lH7HNJPd6MhHwkiEh+bSlTzRdvWEv9zUmcT4VBAnuZXqwebhfEGnpTXVy Ye7gUrZncSrLKYtEcwSh8sWmp8bQNF3o9eejpmISv5Zm3uhSFnXqJU0nG+4YEA== 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 4Q7nDl4cPszg5H; Sat, 29 Apr 2023 11:24: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 33TBONxi042630; Sat, 29 Apr 2023 11:24:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33TBONev042629; Sat, 29 Apr 2023 11:24:23 GMT (envelope-from git) Date: Sat, 29 Apr 2023 11:24:23 GMT Message-Id: <202304291124.33TBONev042629@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: fef74e99fc23 - main - setfacl.1: correct reference to a trailing comma, should read "colon" PR: 271063 Reported by: rdd@rdd.nu List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ceri X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fef74e99fc234a687f1a00318ece1834587c4e92 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ceri: URL: https://cgit.FreeBSD.org/src/commit/?id=fef74e99fc234a687f1a00318ece1834587c4e92 commit fef74e99fc234a687f1a00318ece1834587c4e92 Author: Ceri Davies AuthorDate: 2023-04-29 11:22:52 +0000 Commit: Ceri Davies CommitDate: 2023-04-29 11:22:52 +0000 setfacl.1: correct reference to a trailing comma, should read "colon" PR: 271063 Reported by: rdd@rdd.nu --- bin/setfacl/setfacl.1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/setfacl/setfacl.1 b/bin/setfacl/setfacl.1 index 31040a61558c..45f3ab8d1e7a 100644 --- a/bin/setfacl/setfacl.1 +++ b/bin/setfacl/setfacl.1 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 26, 2018 +.Dd April 29, 2023 .Dt SETFACL 1 .Os .Sh NAME @@ -331,7 +331,7 @@ In entries whose tag type is one of .Dq Li group@ , or .Dq Li everyone@ , -this field is omitted altogether, including the trailing comma. +this field is omitted altogether, including the trailing colon. .It Ar "access permissions" Access permissions may be specified in either short or long form. Short and long forms may not be mixed. From nobody Sat Apr 29 13:37:56 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7rBr6RXYz47m2M; Sat, 29 Apr 2023 13:37: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 4Q7rBr60G7z4CQM; Sat, 29 Apr 2023 13:37:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682775476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xFugbQaxA+KuiAbon7mEXgxeVjkN/j4cxkNw++8NWOs=; b=cvy3Q3uuBkkHXlM6t1C4v5GEDYFGOXh4ZEYFlwmbxtjbRDo+JGY0LxRHZPXhjnM3KHc1LP O2aZi/GT8y77/fskruFtZN8JsNGYDD+tAVkwV0bfGir0kboDhEzkc1L5imjpxI5X50hX1i 9/2fudFjOIbeqKM/hyhJ2ElY36V3LMe3K6eYfpV+L2TRJKzSlswqGMA9b603Eri/bRBBR3 biuh/YSLzQ/LNn16MnNZp0In1phzMLQf1aTtc9ljucslX9OAFdhDqg59AK4FkmmoSXxVUb Q7D9inIhqMQcxz7L/178oKjTIS1hWX2ke/PoWby2pemRZm2004GuQ7CWftqsUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682775476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xFugbQaxA+KuiAbon7mEXgxeVjkN/j4cxkNw++8NWOs=; b=rHW0lpuSF4kyfxvEQC7u/buh9EtTPHza3WHYabVyEeGhah/57qTVSleqwwm6DNm78M3Dyk +JD4mTlLpvFenPLYQLUPnLh5Cz1z7f+iwJuUeOdLWLSaB/TPbyQStrLR3ThO4j2KjpR9yI dCyEypsryvRGlAfCb1r+OgaK60M+Qd0AwBMLwlfERLgvbvhLP5mN7YmtvTY3JeP3ob++/i zBNZxzFlx3zSRjRQV+cFVpsoqCagfS+Rjq34A9ahhFGcTnGwyAE4lm8KZiPc+27luxxd38 ReD2fTVfVku41RJH1wpRZkjx6ChGnfIJXpylklojLrMjAXcjzbQbdmyStrWd3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682775476; a=rsa-sha256; cv=none; b=JjThVGD8FTbetY1knPAAzJJJKoMlmBapPHBkTQSJUXNE6m35go6uRPgP2uB7ryYVXN+LzQ PV9bamYPeGp2NqUuMKg2/JTWGapY+1c5VrrhjT4QCzYJEkwwmiTGvEhHztNt9IF3UIH4mN DuY6optI/vaXB/u0XoWBHEOefZFkW7JQkLg/+pqaQk9X73t5UgVge4RZSFeyAwRBAulzBO PiSLPuHrrPcGxbNaVBmeL72w44eVWQkz+alzB0qBhx2Ho+JPQsckOGKw3OMV0vRBnR5uuU eFRq5jAePcdQbeEa65/lFfiyTLpE1M8+lgX3vTdYDbdUXQjP9+gGTujMTZYR/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 4Q7rBr53V0zjWv; Sat, 29 Apr 2023 13:37: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 33TDbuSN055951; Sat, 29 Apr 2023 13:37:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33TDbuZY055950; Sat, 29 Apr 2023 13:37:56 GMT (envelope-from git) Date: Sat, 29 Apr 2023 13:37:56 GMT Message-Id: <202304291337.33TDbuZY055950@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Druzenko Subject: git: 41788453b01e - main - Reported by: vvd Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D39859 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vvd X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 41788453b01e903bb53aec1a50a9c301495d237b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/src/commit/?id=41788453b01e903bb53aec1a50a9c301495d237b commit 41788453b01e903bb53aec1a50a9c301495d237b Author: Vladimir Druzenko AuthorDate: 2023-04-29 12:38:54 +0000 Commit: Vladimir Druzenko CommitDate: 2023-04-29 12:38:54 +0000 Reported by: vvd Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D39859 Add records about new ports committer (vvd). Update Mentor and Mentee Information to follow step 5 of the Committers Guide. --- share/misc/committers-ports.dot | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/share/misc/committers-ports.dot b/share/misc/committers-ports.dot index a8075e865fa0..98fd4927268e 100644 --- a/share/misc/committers-ports.dot +++ b/share/misc/committers-ports.dot @@ -295,6 +295,7 @@ tz [label="Torsten Zuehlsdorff\ntz@FreeBSD.org\n2016/06/04"] ultima [label="Richard Gallamore\nultima@FreeBSD.org\n2017/06/07"] uqs [label="Ulrich Spoerlein\nuqs@FreeBSD.org\n2012/01/19"] vd [label="Vasil Dimov\nvd@FreeBSD.org\n2006/01/19"] +vvd [label="Vladimir Druzenko\nvvd@FreeBSD.org\n2023/02/02"] vishwin [label="Charlie Li\nvishwin@FreeBSD.org\n2021/04/29"] vsevolod [label="Vsevolod Stakhov\nvsevolod@FreeBSD.org\n2005/07/22"] wen [label="Wen Heping\nwen@FreeBSD.org\n2010/12/13"] @@ -318,6 +319,7 @@ adamw -> jylefort adamw -> ler adamw -> mezz adamw -> pav +adamw -> vvd adamw -> woodsb02 ade -> jpaetzel @@ -341,6 +343,7 @@ araujo -> samm arrowd -> diizzy arrowd -> rhurlin arrowd -> vishwin +arrowd -> vvd arved -> markus arved -> stefan @@ -798,6 +801,7 @@ tcberner -> rhurlin tcberner -> rigoletto tcberner -> salvadore tcberner -> vishwin +tcberner -> vvd tcberner -> yuri tcberner -> zirias From nobody Sat Apr 29 16:31:40 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7w3K0FzVz47xXZ; Sat, 29 Apr 2023 16:31: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 4Q7w3J6wbfz4Vnj; Sat, 29 Apr 2023 16:31:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682785901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IhThackHuBYqzzi20BuYIHypTD4XAfRHQuGHuXANoY8=; b=FIsNAcTQvRv3DgXe0VFP0fo9eWFQfYopczuj4PVKChNYN0Wy2ZMK12ce8fXZWXMYL4IjbG Q6wuBc+fZSgVsO2dhg9/PMDbikyv7toOJ6UVeUu/cZYC83HcoycAmxc2NyemtXSkxFeOG0 reP/yeAzMGVQ1BMCQgdiJmWu+VNI8ueTnRZDK9TRVkpb4QdVR+CBZJt057zNhQt9JowkNV jvK9GWpbJceNaxpSfTSBAQ7CLVj6jKgaWdz6OUUnh66GcdXFJO6GmO0gRCZG39ezuMoHWM z7uB3BsHX144QHCd22vCiiS91Ax2PCaaEgZEMwQG7NaFt19cCFhErPHi43eU3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682785901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IhThackHuBYqzzi20BuYIHypTD4XAfRHQuGHuXANoY8=; b=A8RMJobPpWVXDgsl9FUH6VcznTKlRsCelwsc/hutzMzmiCxUyC65pEybVpkspRWjejPRXK D5nFGbpas69Y9nxP34P0bUH3ifLYuPJRMYsxX5s8x8TCZrQ037I3tBguvN0XgFbIebCEB2 MqMbWvv//tohz99/HaXq6Txx6ib6gnZ0/iC8oc6dxcfEH+urzDgseC5JJKDsShV/F2VtgV KssLaCf9mZKa1TqtXGRApvCMhXvGrm6fIysRRgCWi8KVUHI9OFMcWacNcJ6B8VHv9YV4IL 8qgn7hHQLXrOrOr8PLMV8UpSeRXKvpFTtRYzgKaO1LSeg1xvEo9BUBfF0w3OOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682785901; a=rsa-sha256; cv=none; b=Nq69pKlnD+txocVvsZW7+hG7OrxENUrM+i/hek6mRL6q4kj4BKVGD5GtNHvX58i0Qql9Is EvA4EVxcQHADRM8QbS1H0jbtSeDNtm+y+qtssULX9VO+kEv0eQLyUv4uTnQZBd7XYIvIIp GiYUxSTCZzy8ATu9qs+/c+m2181/TWLxN+pirG0DkVdnl3e1B8Ck5D/gT9oZ25L5V1tRop Zg4gaUsnAbcA5hWUR8GN6nAit5f4S0LrwaIlXzADyLn9aoyT8F1FIfi2m+GHZsL+65/TgR LS6aFTKZj9ZDsLBQy3taRM5fIjsmOUthI3RRFluQjG2++5UPi/0YKR5lA+k5wg== 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 4Q7w3J609qzpN6; Sat, 29 Apr 2023 16:31: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 33TGVepi050989; Sat, 29 Apr 2023 16:31:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33TGVew3050988; Sat, 29 Apr 2023 16:31:40 GMT (envelope-from git) Date: Sat, 29 Apr 2023 16:31:40 GMT Message-Id: <202304291631.33TGVew3050988@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: 61b95bcb4299 - main - wg: change module name to if_wg List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 61b95bcb42993b24633b280791438266d78f2747 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=61b95bcb42993b24633b280791438266d78f2747 commit 61b95bcb42993b24633b280791438266d78f2747 Author: Kristof Provost AuthorDate: 2023-04-27 15:35:12 +0000 Commit: Kristof Provost CommitDate: 2023-04-29 16:30:24 +0000 wg: change module name to if_wg Other virtual interface drivers (e.g. if_gif, if_stf, if_ovpn) all start with if_. The wireguard file is also named if_wg, but the module name was 'wg'. Fix this inconsistency. Reported by: Christian McDonald Reviewed by: zlei, kevans Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D39853 --- sys/dev/wg/if_wg.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c index 6a99061cac54..d2403792cec8 100644 --- a/sys/dev/wg/if_wg.c +++ b/sys/dev/wg/if_wg.c @@ -3055,11 +3055,11 @@ wg_module_event_handler(module_t mod, int what, void *arg) } static moduledata_t wg_moduledata = { - wgname, + "if_wg", wg_module_event_handler, NULL }; -DECLARE_MODULE(wg, wg_moduledata, SI_SUB_PSEUDO, SI_ORDER_ANY); -MODULE_VERSION(wg, WIREGUARD_VERSION); -MODULE_DEPEND(wg, crypto, 1, 1, 1); +DECLARE_MODULE(if_wg, wg_moduledata, SI_SUB_PSEUDO, SI_ORDER_ANY); +MODULE_VERSION(if_wg, WIREGUARD_VERSION); +MODULE_DEPEND(if_wg, crypto, 1, 1, 1); From nobody Sat Apr 29 17:36:38 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7xVK4x7Fz48337; Sat, 29 Apr 2023 17:36:41 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [88.99.82.50]) (using TLSv1.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 4Q7xVJ5Fcrz3CTB; Sat, 29 Apr 2023 17:36:40 +0000 (UTC) (envelope-from hps@selasky.org) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of hps@selasky.org designates 88.99.82.50 as permitted sender) smtp.mailfrom=hps@selasky.org; dmarc=none Received: from [10.36.2.154] (unknown [46.212.121.255]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 468D4260DAB; Sat, 29 Apr 2023 19:36:39 +0200 (CEST) Content-Type: multipart/mixed; boundary="------------FjPEi1r80DdSRA60J4gSGdW3" Message-ID: <44b1072c-c4ac-ad2f-1475-4904312ef860@selasky.org> Date: Sat, 29 Apr 2023 19:36:38 +0200 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Content-Language: en-US To: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , dev-commits-src-branches@freebsd.org From: Hans Petter Selasky Subject: stable/13 - planned merge from main - USB and mlx5 related X-Spamd-Result: default: False [-3.15 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.995]; NEURAL_HAM_MEDIUM(-0.96)[-0.956]; R_SPF_ALLOW(-0.20)[+a:mail.turbocat.net:c]; MIME_BASE64_TEXT(0.10)[]; MIME_GOOD(-0.10)[multipart/mixed,text/plain]; ASN(0.00)[asn:24940, ipnet:88.99.0.0/16, country:DE]; R_DKIM_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-branches@freebsd.org]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; DMARC_NA(0.00)[selasky.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; HAS_ATTACHMENT(0.00)[]; RCVD_TLS_ALL(0.00)[] X-Rspamd-Queue-Id: 4Q7xVJ5Fcrz3CTB X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N This is a multi-part message in MIME format. --------------FjPEi1r80DdSRA60J4gSGdW3 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, Heads up: I'm planning to 38 patches from main to stable/13 around 08:00 CEST 30th of April 2023. If there is any breakage I plan to be available from 12:30 CEST and on to catch that. Hopefully everything will be smooth, but just in case. I'm currently doing a universe build for stable/13 . See attachment. If you see anything which shouldn't be there let me know by tomorrow! Thank you! --HPS --------------FjPEi1r80DdSRA60J4gSGdW3 Content-Type: text/plain; charset=UTF-8; name="patches.txt" Content-Disposition: attachment; filename="patches.txt" Content-Transfer-Encoding: base64 Y29tbWl0IDVkZjNiOTYyZmI3ZTc0ODBmM2Y2NjZhYmI1OTkzOWUxZmI0YWUwYjcKQXV0aG9y OiBFbGxpb3R0IE1pdGNoZWxsIDxlaGVtK2ZyZWVic2RAbTVwLmNvbT4KRGF0ZTogICBXZWQg SnVuIDIyIDE3OjUzOjQ3IDIwMjIgLTA3MDAKCiAgICBtbHg0OiBwdXJnZSBFT0wgcmVsZWFz ZSBjb21wYXRpYmlsaXR5CiAgICAKICAgIFJlbW92ZSBGcmVlQlNEIDEwIHN1cHBvcnQgY29k ZS4KICAgIAogICAgUmV2aWV3ZWQgYnk6IGltcAogICAgUHVsbCBSZXF1ZXN0OiBodHRwczov L2dpdGh1Yi5jb20vZnJlZWJzZC9mcmVlYnNkLXNyYy9wdWxsLzYwMwogICAgRGlmZmVyZW50 aWFsIFJldmlzaW9uOiBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDM1NTYwCiAgICAK ICAgIChjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDAyNmJhYmQ0MjdlNjUxMWU1MzQ3ODgx NGNlMGFhMWNjM2Y3YTk5ODgpCgpjb21taXQgNjZjM2RjZjhhZWM3NDQ2MjZjMDY1ZDQ2ZTA2 OTQ5MGY1NWNiYjlmMApBdXRob3I6IEhhbnMgUGV0dGVyIFNlbGFza3kgPGhzZWxhc2t5QEZy ZWVCU0Qub3JnPgpEYXRlOiAgIFdlZCBBcHIgMTkgMTI6MjI6MTEgMjAyMyArMDIwMAoKICAg IGxpYmM6IEFkZCBtaXNzaW5nIG9iamVjdCBzaXplIGNoZWNrIHRvIHFzb3J0X3MoMykKICAg IAogICAgV2hlbiBzb3J0aW5nLCBib3RoIHRoZSBDMTEgc3RhbmRhcmQgKElTTy9JRUMgOTg5 OToyMDExLCBLLjMuNi4zLjIpIGFuZAogICAgdGhlIElTTy9JRUMgSlRDMSBTQzIyIFdHMTQg TjExNzIgc3RhbmRhcmQsIGRvZXMgbm90IGRlZmluZSBvYmplY3RzIG9mCiAgICB6ZXJvIHNp emUgYXMgdW5kZWZpbmVkIGJlaGF2aW91ci4gSG93ZXZlciBNaWNyb3NvZnQncyBjcHAtZG9j cyBkb2VzLgogICAgCiAgICBBZGQgcHJvcGVyIGNoZWNrcyBmb3IgdGhpcy4gRm91bmQgd2hp bGUgd29ya2luZyBvbiBic29ydCgzKS4KICAgIAogICAgUmV2aWV3ZWQgYnk6ICAgIGtpYkAg YW5kIGVtYXN0ZUAKICAgIFNwb25zb3JlZCBieTogICBOVklESUEgTmV0d29ya2luZwogICAg RGlmZmVyZW50aWFsIFJldmlzaW9uOiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0Qz OTY4NwogICAgCiAgICAoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyN2JiMGQzMzdjMGQ4 MmExYTRmMzEwMzE1ODQwMjM2ZWIyMzk5NjNjKQoKY29tbWl0IDk5NzE4NDQ2NGI1NDIzMmJj ZTQyY2ZlYTJhMzcyOGJiMGE5ZDUyOGQKQXV0aG9yOiBIYW5zIFBldHRlciBTZWxhc2t5IDxo c2VsYXNreUBGcmVlQlNELm9yZz4KRGF0ZTogICBXZWQgQXByIDE5IDEyOjE4OjU2IDIwMjMg KzAyMDAKCiAgICBsaWJjOiBTb3J0aW5nIGlzIG5vdCBuZWVkZWQgd2hlbiB0aGVyZSBhcmUg bGVzcyB0aGFuIHR3byBlbGVtZW50cwogICAgCiAgICBJZiB0aGVyZSBhcmUgbGVzcyB0aGFu IHR3byBlbGVtZW50cyBhdm9pZCBleGVjdXRpbmcgdGhlIGZpcnN0CiAgICBzb3J0aW5nIGxv b3AuIE5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkLgogICAgCiAgICBSZXZpZXdlZCBi eTogICAga2liQAogICAgU3BvbnNvcmVkIGJ5OiAgIE5WSURJQSBOZXR3b3JraW5nCiAgICBE aWZmZXJlbnRpYWwgUmV2aXNpb246ICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDM5 NjkxCiAgICAKICAgIChjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGVjYjJjZTNhNTFlOWIw OWE1N2NkNDIyNjJmYzc5OGFlMDg5YzA3NTgpCgpjb21taXQgY2MxNjlhNzNmMTdkZmY5MWIw YzZjM2Y2MjQxMjJjMWY3NWNmZGY1ZgpBdXRob3I6IEhhbnMgUGV0dGVyIFNlbGFza3kgPGhz ZWxhc2t5QEZyZWVCU0Qub3JnPgpEYXRlOiAgIFR1ZSBBcHIgMTggMTM6NDA6MjIgMjAyMyAr MDIwMAoKICAgIG1seDU6IFJlbW92ZSB1bnVzZWQgZGVidWdmcyBub2RlIHBvaW50ZXJzLgog ICAgCiAgICBObyBmdW5jdGlvbmFsIGNoYW5nZSBpbnRlbmRlZC4KICAgIAogICAgU3BvbnNv cmVkIGJ5OiAgIE5WSURJQSBOZXR3b3JraW5nCiAgICAKICAgIChjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDgwYjRlZjZkMTA1NDRkMzBiNmNmZWRkY2ExMmFlMjhkODE4MTYyMDEpCgpj b21taXQgNWY4NjZmZTRiOWVkMmQ0MzlkZTFkYzAxMTZmYTZjNGFlNzhkMTkyZQpBdXRob3I6 IEhhbnMgUGV0dGVyIFNlbGFza3kgPGhzZWxhc2t5QEZyZWVCU0Qub3JnPgpEYXRlOiAgIFR1 ZSBBcHIgMTggMTM6MjI6NDEgMjAyMyArMDIwMAoKICAgIG1seDU6IERvbid0IGdpdmUgemVy byBudW1iZXIgb2YgcGFnZXMgdG8gdGhlIGZpcm13YXJlLgogICAgCiAgICBDYW4gaGFwcGVu IHdoZW4gdXNpbmcgdmlydHVhbCBtbHg1X2NvcmU8Tj4gZnVuY3Rpb25zLCBWRnMuCiAgICAK ICAgIFNwb25zb3JlZCBieTogICBOVklESUEgTmV0d29ya2luZwogICAgCiAgICAoY2hlcnJ5 IHBpY2tlZCBmcm9tIGNvbW1pdCA5NWJmNzBhNGJmNzk4MjA5MWJiNTkyMDBiYzJkYjJjYjVj ZDg0MGQ3KQoKY29tbWl0IDA5ZGI3YTk5ODk0YjU4NGIzNjBlOTQ2NDA2ZjY1ZDIyY2VjNGMx YjQKQXV0aG9yOiBIYW5zIFBldHRlciBTZWxhc2t5IDxoc2VsYXNreUBGcmVlQlNELm9yZz4K RGF0ZTogICBUdWUgQXByIDE4IDEzOjIxOjI4IDIwMjMgKzAyMDAKCiAgICBtbHg1OiBJbXBs ZW1lbnQgbWx4NV9jb3JlX21vZGlmeV9jcV9ieV9tYXNrKCkuCiAgICAKICAgIEltcGxlbWVu dCBvbmUgQ1EgbW9kaWZ5IGZ1bmN0aW9uIHN1cHBvcnRpbmcgYWxsIGZpcm13YXJlIHZlcnNp b25zLAogICAgaW5zdGVhZCBvZiBoYXZpbmcgbW9yZSB2YXJpYW50cyBvZiBDUSBtb2RpZnku CiAgICAKICAgIFNwb25zb3JlZCBieTogICBOVklESUEgTmV0d29ya2luZwogICAgCiAgICAo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyNzNiZmFjMDhmZjgzODc4NmM4YjQ4YmM3ZDNk NzE4MGI1ZjZhM2JlKQoKY29tbWl0IDU4NjhhMDgxOTE2ODY5YzM5ODFhZDJhYTYxMThlNDcy MWViZmNkMWEKQXV0aG9yOiBIYW5zIFBldHRlciBTZWxhc2t5IDxoc2VsYXNreUBGcmVlQlNE Lm9yZz4KRGF0ZTogICBUdWUgQXByIDE4IDEzOjExOjAyIDIwMjMgKzAyMDAKCiAgICBtbHg1 OiBNYWtlIE1MWDVfQ09NUF9FUV9TSVpFIHR1bmFibGUuCiAgICAKICAgIFdoZW4gdXNpbmcg aGFyZHdhcmUgcGFjaW5nLCB0aGlzIHZhbHVlIGNhbiBiZSBpbmNyZWFzZWQsIGJlY2F1c2Ug bW9yZSBTUSdzCiAgICBtZWFucyBtb3JlIEVRIGV2ZW50cyBhc3dlbGwuIE1ha2UgaXQgdHVu YWJsZSwgaHcubWx4NS5jb21wX2VxX3NpemUgLgogICAgCiAgICBTcG9uc29yZWQgYnk6ICAg TlZJRElBIE5ldHdvcmtpbmcKICAgIAogICAgKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg M2JiM2U0NzY4ZmY4NTRiODhiYTBhN2QxMjllZGFkNDlmMTVkN2NlMykKCmNvbW1pdCA4YzVh ZTAyODc2ZGZjMjkyYzIwYTlkOWJlMWIxZjc2YTA5ZTliN2IyCkF1dGhvcjogSGFucyBQZXR0 ZXIgU2VsYXNreSA8aHNlbGFza3lARnJlZUJTRC5vcmc+CkRhdGU6ICAgVHVlIEFwciAxOCAx MzoxNzozOCAyMDIzICswMjAwCgogICAgbWx4NTogRml4IGR1cGxpY2F0ZSBmcmVlIG9mIGRl ZmF1bHQgZmxvdyBydWxlIGluIGVycm9yIGNhc2UuCiAgICAKICAgIFNwb25zb3JlZCBieTog ICBOVklESUEgTmV0d29ya2luZwogICAgCiAgICAoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCAyZjdlOWE4YTIxMzY3MzkzYjYxM2YwZjE1MGQ0OTAwOWZhNzRkZDVjKQoKY29tbWl0IDgz ZGE3YTIyMzg0OThhODk3NjNjMzY5ZGZjZmViYzNkZjVjOTcxYmMKQXV0aG9yOiBIYW5zIFBl dHRlciBTZWxhc2t5IDxoc2VsYXNreUBGcmVlQlNELm9yZz4KRGF0ZTogICBUdWUgQXByIDE4 IDEzOjE2OjE2IDIwMjMgKzAyMDAKCiAgICBtbHg1OiBNYWtlIG1seDVfZGVsX2Zsb3dfcnVs ZSgpIE5VTEwgc2FmZS4KICAgIAogICAgVGhpcyBjaGFuZ2UgZmFjdG9ycyBvdXQgcmVwZWF0 ZWQgTlVMTCBjaGVja3MuCiAgICAKICAgIE5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVk LgogICAgCiAgICBTcG9uc29yZWQgYnk6ICAgTlZJRElBIE5ldHdvcmtpbmcKICAgIAogICAg KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYjBiODdkOTE1MTQ1NmU3MWZkNmExNDczNmUx MzJkNjcxMTRkYjRhYSkKCmNvbW1pdCBkZmRiZDJmNjZhZDA2MzUzYjk4ZjFkNTMxYzA3ODRi OTViNWZjZGIxCkF1dGhvcjogSGFucyBQZXR0ZXIgU2VsYXNreSA8aHNlbGFza3lARnJlZUJT RC5vcmc+CkRhdGU6ICAgVHVlIEFwciAxOCAxMzo0MjoxNyAyMDIzICswMjAwCgogICAgbWx4 NWVuKDQpOiBEb24ndCB3YWl0IGZvciByZWNlaXZlIHF1ZXVlIHRvIGZpbGwgdXAgd2l0aCBt YnVmcyBkdXJpbmcgb3BlbiBjaGFubmVscy4KICAgIAogICAgRmFpbHVyZSB0byBnZXQgbWJ1 ZnMgbWF5IGJlIHRyYW5zaWVudC4KICAgIERvbid0IHBlcm1hbmVudGx5IGZhaWwgdG8gb3Bl biB0aGUgY2hhbm5lbHMgZHVlIHRvIGxhY2sgb2YgbWJ1ZnMuCiAgICBUaGlzIGFsc28gbWFr ZXMgbW9kaWZ5aW5nIGNoYW5uZWwgcGFyYW1ldGVycyBmYXN0ZXIuCiAgICAKICAgIFNwb25z b3JlZCBieTogICBOVklESUEgTmV0d29ya2luZwogICAgCiAgICAoY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCAxOTQzYzQwY2Q2NTViNzI1OWI5YjIxODQ5ZjMyODM2MmM5N2EyNjU3KQoK Y29tbWl0IGI0MmVmYjk4OWI2ZjZkNWNhMmFmNjRiODcxYjUxNTk1ZjRlN2NiYmMKQXV0aG9y OiBIYW5zIFBldHRlciBTZWxhc2t5IDxoc2VsYXNreUBGcmVlQlNELm9yZz4KRGF0ZTogICBU dWUgQXByIDE4IDEzOjEyOjMyIDIwMjMgKzAyMDAKCiAgICBtbHg1ZW4oNCk6IEV4cGxhaW4g d2h5IENRRSB6aXBwaW5nIGlzIG9mZi4KICAgIAogICAgU3BvbnNvcmVkIGJ5OiAgIE5WSURJ QSBOZXR3b3JraW5nCiAgICAKICAgIChjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDZiZDRi YjliZGJhZGI3NmM1NTAyYzc5NzJkZjlmNTI1YjkwOWUyZjUpCgpjb21taXQgOTFlZDQwN2Mw MTk5ODAyNDA0MGI3Y2UxYjM4MTc3NWIzMDQ2ODU5NwpBdXRob3I6IEhhbnMgUGV0dGVyIFNl bGFza3kgPGhzZWxhc2t5QEZyZWVCU0Qub3JnPgpEYXRlOiAgIFR1ZSBBcHIgMTggMTM6Mzg6 NTkgMjAyMyArMDIwMAoKICAgIG1seDU6IEltcGxlbWVudCBkaWFnb3N0aWMgY291bnRlcnMg YXMgc3lzY3RsKDgpIG5vZGVzLgogICAgCiAgICBTcG9uc29yZWQgYnk6ICAgTlZJRElBIE5l dHdvcmtpbmcKICAgIAogICAgKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYWE3YmJkYWJk ZTg5MDY3NmQ1NGEyMmVlZWMzYWY5Yjc2ODFkMTliNykKCmNvbW1pdCA2OWVjNmQ1ZjUzOGRl NWU2NWE1MGU0NDA2NjY4MDQ0ZjBiMWQxZWUzCkF1dGhvcjogSGFucyBQZXR0ZXIgU2VsYXNr eSA8aHNlbGFza3lARnJlZUJTRC5vcmc+CkRhdGU6ICAgVHVlIEp1bCA2IDEyOjI5OjU3IDIw MjEgKzAyMDAKCiAgICBJbXBsZW1lbnQgYW4gQVBJIGZvciBzZW5kaW5nIGEgemVyby1sZW5n dGgtcGFja2V0LiBUaGUgcHVycG9zZSBvZiBzdWNoIGEKICAgIFVTQiBwYWNrZXQgaXMgdG8g dG9nZ2xlIHRoZSBiaW5hcnkgcGFja2V0IGNvdW50ZXIgZm9yIFVTQiAxLjAvMi4wIHByb3Rv Y29scywKICAgIHdpdGhvdXQgc2VuZGluZyBhbnkgZGF0YSwgc28gdGhhdCB0aGUgZmlyc3Qg cGFja2V0IHNlbnQgYWZ0ZXIgb3BlbmluZwogICAgYSBVU0IgQlVMSyBlbmRwb2ludCBkb2Vz bid0IGdldCBsb3N0LiBUaGlzIGlzIGZvciBkZXZpY2VzIG5vdCBzdXBwb3J0aW5nCiAgICB0 aGUgVVNCIHN0YW5kYXJkIGRlZmluZWQgY2xlYXItc3RhbGwgaGFuZGxpbmcuCiAgICAKICAg IFRlc3RlZCBieTogICAgICBqbWcKICAgIFNwb25zb3JlZCBieTogICBOVklESUEgTmV0d29y a2luZwogICAgCiAgICAoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBmODNmNWQ1ODM5NGRi NTc1NzZiYmVkNmRjNzUzMTk5N2NhYmViMTAyKQogICAgKGNoZXJyeSBwaWNrZWQgZnJvbSBj b21taXQgZWM5N2U5Y2ExZmE1NDNhNGE4MDNlODQ3MDY1NjRkNDFjZDQ5MjA2NSkKCmNvbW1p dCA5NDk4NzE3ZjM0YTY4MmZiMTFkNDdkN2M0M2FiNGI2ZjRiODVlYjEyCkF1dGhvcjogV2Fy bmVyIExvc2ggPGltcEBGcmVlQlNELm9yZz4KRGF0ZTogICBUaHUgTWFyIDExIDA4OjIzOjMy IDIwMjEgLTA3MDAKCiAgICB1c2I6IHRpbnkgZm9ybWF0dGluZyBuaXQKICAgIAogICAgRm9y bWF0IDMwMCBiYXVkIGxpa2UgYWxsIHRoZSBvdGhlcnMgaGVyZS4gTm8gZnVuY3Rpb25hbCBj aGFuZ2UuCiAgICAKICAgIChjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDE2NDVhNGFlNjQ1 ZmE5YjllMzU3MWI3NTEyY2FhOTJlNzNiMjA2MzUpCgpjb21taXQgZmJkMTBjYjdhOTZmNTlh ZjViM2UwZWRlODg5NTM0NzU1YmMxZGRkZApBdXRob3I6IEhhbnMgUGV0dGVyIFNlbGFza3kg PGhzZWxhc2t5QEZyZWVCU0Qub3JnPgpEYXRlOiAgIFNhdCBBcHIgMiAwMjoyNzo0OCAyMDIy ICswMjAwCgogICAgdWxwdCg0KTogQWRkIHN1cHBvcnQgZm9yIEVwc29uIFRNLVUyMjBCLgog ICAgCiAgICBTdWJtaXR0ZWQgYnk6ICAgICAgICAgICBBcmNoaW1lZGVzIEdhdmlvbGEgPGFy Y2hpbWVkZXMuZ2F2aW9sYUBnbWFpbC5jb20+CiAgICBTcG9uc29yZWQgYnk6ICAgICAgICAg ICBOVklESUEgTmV0d29ya2luZwogICAgCiAgICAoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCA4ODE2MmY3YWJkNjEyMDZjOTg0MzJmMmMwZGU4NjlhNTliZTEzODU0KQoKY29tbWl0IDQ5 Yjk0NjNmNjQ5MjhjZGJiMmIzYjU1MjVmYTBiZTQ4OTE4OWQyNjMKQXV0aG9yOiBIYW5zIFBl dHRlciBTZWxhc2t5IDxoc2VsYXNreUBGcmVlQlNELm9yZz4KRGF0ZTogICBXZWQgQXVnIDE4 IDExOjQxOjQ5IDIwMjEgKzAyMDAKCiAgICBNYWtlIHN1cmUgdGhlIHVmdGRpKDQpIGRyaXZl ciBkb2Vzbid0IHN0YXJ0IGEgVVNCIHRyYW5zZmVyIHdoZW4gYmVpbmcgY2FuY2VsbGVkLgog ICAgCiAgICBTcG9uc29yZWQgYnk6ICAgTlZJRElBIE5ldHdvcmtpbmcKICAgIAogICAgKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOGE0NmYwMjFjMjQwOGM4MjM3NWExZjUxMjdlZmI3 YWM2Yjc4NTk2ZSkKCmNvbW1pdCA4YzE1ODJjNmI1ZGMwMTI4YTE0MWYzM2YzZDk2MWFjYmZm NGM5NmNlCkF1dGhvcjogVmxhZGltaXIgS29uZHJhdHlldiA8d3VsZkBGcmVlQlNELm9yZz4K RGF0ZTogICBUdWUgRmViIDkgMDA6MjY6NDIgMjAyMSArMDMwMAoKICAgIHdzcDogQWRkIHN5 c2N0bCB0dW5hYmxlIGZvciBaLUF4aXMgaW52ZXJzaW9uCiAgICAKICAgIFRoaXMgYWRkcyBh IG5ldyBzeXNjdGwgdG8gV2VsbHNwcmluZyBUb3VjaHBhZCBkcml2ZXIgZm9yIGNvbnRyb2xs aW5nCiAgICBaLUF4aXMgKDItZmluZ2VyIHZlcnRpY2FsIHNjcm9sbCkgZGlyZWN0aW9uICJo dy51c2Iud3NwLnpfaW52ZXJ0Ii4KICAgIAogICAgU3VibWl0dGVkIGJ5OiAgIEphbWVzIFdy aWdodCA8amFtZXMud3JpZ2h0X0FUX2RpZ2l0YWwtY2hhb3NfRE9UX2NvbT4KICAgIFJldmll d2VkIGJ5OiAgICB3dWxmCiAgICBQUjogICAgICAgICAgICAgMjUzMzIxCiAgICBEaWZmZXJl bnRpYWwgcmV2aXNpb246ICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDI4NTIxCiAg ICAKICAgIChjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGQ4YzZkNGM3MzIxZDRjOTY5MjE2 YmRhOGY3OTJiNDVlZDAwYWZkNjQpCgpjb21taXQgMzVlYmExZWFjOTc5MjUwMGVlMDA0YWI2 MjBlNjc2ZWZiNDk1MTIwMApBdXRob3I6IEplc3NpY2EgQ2xhcmtlIDxqcnRjMjdARnJlZUJT RC5vcmc+CkRhdGU6ICAgU3VuIE9jdCAyNCAxOTo0ODo0NiAyMDIxICswMTAwCgogICAgeGhj aTogUmV3b3JrIDY0LWJ5dGUgY29udGV4dCBzdXBwb3J0IHRvIGF2b2lkIHBvaW50ZXIgYWJ1 c2UKICAgIAogICAgQ3VycmVudGx5LCB0byBzdXBwb3J0IDY0LWJ5dGUgY29udGV4dHMsIHho Y2lfY3R4X1tnc11ldF9sZSgzMnw2NCkgdGFrZSBhCiAgICBwb2ludGVyIHRvIHRoZSBmaWVs ZCB3aXRoaW4gYSAzMi1ieXRlIGNvbnRleHQgYW5kLCBpZiA2NC1ieXRlIGNvbnRleHRzCiAg ICBhcmUgaW4gdXNlLCBjb21wdXRlIHdoZXJlIHRoZSA2NC1ieXRlIGNvbnRleHQgZmllbGQg aXMgYW5kIHVzZSB0aGF0CiAgICBpbnN0ZWFkIGJ5IGRlcml2aW5nIGEgcG9pbnRlciBmcm9t IHRoZSAzMi1ieXRlIGZpZWxkIHBvaW50ZXIuIFRoaXMgaXMKICAgIGRvbmUgYnkgZXhwbG9p dGluZyBhIGNvbWJpbmF0aW9uIG9mIDY0LWJ5dGUgY29udGV4dHMgYmVpbmcgdGhlIHNhbWUK ICAgIGxheW91dCBhcyB0aGVpciAzMi1ieXRlIGNvdW50ZXJwYXJ0cywganVzdCB3aXRoIDMy IGJ5dGVzIG9mIHBhZGRpbmcgYXQKICAgIHRoZSBlbmQsIGFuZCB0aGF0IGFsbCBpbmRpdmlk dWFsIGNvbnRleHRzIGFyZSBlaXRoZXIgaW4gYSBkZXZpY2UKICAgIGNvbnRleHQgb3IgYW4g aW5wdXQgY29udGV4dCB3aGljaCBpdHNlbGYgaXMgcGFnZS1hbGlnbmVkLiBCeSBtYXNraW5n IG91dAogICAgdGhlIGxvdyA0IGJpdHMgKHdoaWNoIGlzIHRoZSBvZmZzZXQgb2YgdGhlIGZp ZWxkIHdpdGhpbiB0aGUgMzItYnl0ZQogICAgY29udHh0KSBvZiB0aGUgb2Zmc2V0IHdpdGhp biB0aGUgcGFnZSwgdGhlIG9mZnNldCBvZiB0aGUgaW52aWRpZHVhbAogICAgY29udGV4dCB3 aXRoaW4gdGhlIGNvbnRhaW5pbmcgZGV2aWNlL2lucHV0IGNvbnRleHQgY2FuIGJlIGRldGVy bWluZWQsCiAgICB3aGljaCBpcyBpdHNlbGYgMzIgdGltZXMgdGhlIG51bWJlciBvZiBwcmVj ZWRpbmcgY29udGV4dHMuIFRodXMsIGFkZGluZwogICAgdGhpcyB2YWx1ZSB0byB0aGUgcG9p bnRlciBhZ2FpbiBnZXRzIDY0IHRpbWVzIHRoZSBudW1iZXIgb2YgcHJlY2VkaW5nCiAgICBj b250ZXh0cyBwbHVzIHRoZSBmaWVsZCBvZmZzZXQsIHdoaWNoIGdpdmVzIHRoZSBvZmZzZXQg b2YgdGhlIDY0LWJ5dGUKICAgIGNvbnRleHQgcGx1cyB0aGUgZmllbGQgb2Zmc2V0LCB3aGlj aCBpcyB0aGUgYWRkcmVzcyBvZiB0aGUgZmllbGQgaW4gdGhlCiAgICA2NC1ieXRlIGNvbnRl eHQuCiAgICAKICAgIEhvd2V2ZXIsIHRoaXMgaW52b2x2ZXMgYSBmYWlyIGFtb3VudCBvZiBs eWluZyB0byB0aGUgY29tcGlsZXIgd2hlbgogICAgY29uc3RydWN0aW5nIHRoZXNlIGludGVy bWVkaWF0ZSBwb2ludGVycywgYW5kIGlzIHJhdGhlciBkaWZmaWN1bHQgdG8KICAgIHJlYXNv biBhYm91dC4gSW4gcGFydGljdWxhciwgdGhpcyBpcyBwcm9ibGVtYXRpYyBmb3IgQ0hFUkks IHdoZXJlIHdlCiAgICBjb21waWxlIHRoZSBrZXJuZWwgd2l0aCBzdWJvYmplY3QgYm91bmRz IGVuYWJsZWQ7IHRoYXQgaXMsIHVubGVzcwogICAgYW5ub3RhdGVkIHRvIG9wdCBvdXQgKGUu Zy4gZm9yIEMgc3RydWN0IGluaGVyaXRhbmNlIHJlYXNvbnMgd2hlcmUgeW91CiAgICBuZWVk IHRvIGJlIGFibGUgdG8gZG93bmNhc3QsIG9yIGNvbnRhaW5lcm9mIGlkaW9tcyksIGEgcG9p bnRlciB0byBhCiAgICBtZW1iZXIgb2YgYSBzdHJ1Y3QgaXMgYSBjYXBhYmlsaXR5IHdob3Nl IGJvdW5kcyBvbmx5IGNvdmVyIHRoYXQgZmllbGQsCiAgICBhbmQgYW55IGF0dGVtcHQgdG8g ZGVyZWZlcmVuY2Ugb3V0c2lkZSB0aG9zZSBib3VuZHMgd2lsbCBmYXVsdCwKICAgIHByb3Rl Y3RpbmcgYWdhaW5zdCBpbnRyYS1vYmplY3QgYnVmZmVyIG92ZXJmbG93cy4gVGh1cyB0aGUg cG9pbnRlciBnaXZlbgogICAgdG8geGhjaV9jdHhfW2dzXWV0X2xlKDMyfDY0KSBpcyBhIGNh cGFiaWxpdHkgd2hvc2UgYm91bmRzIG9ubHkgY292ZXIgdGhlCiAgICBmaWVsZCBpbiB0aGUg MzItYnl0ZSBjb250ZXh0LCBhbmQgY29tcHV0aW5nIHRoZSBwb2ludGVyIHRvIHRoZSA2NC1i eXRlCiAgICBjb250ZXh0IGZpZWxkIHRha2VzIHRoZSBhZGRyZXNzIG91dCBvZiBib3VuZHMs IHJlc3VsdGluZyBpbiBhIGZhdWx0IHdoZW4KICAgIGxhdGVyIGRlcmVmZXJlbmNlZC4KICAg IAogICAgVGhpcyBjYW4gYmUgY2xlYW5lZCB1cCBieSB1c2luZyBhIGRpZmZlcmVudCBhYnN0 cmFjdGlvbi4gSW5zdGVhZCBvZgogICAgZG9pbmcgdGhlIDMyLWJ5dGUgdG8gNjQtYnl0ZSBj b252ZXJzaW9uIG9uIGFjY2VzcyB0byB0aGUgZmllbGQsIHdlIGNhbgogICAgZG8gdGhlIGNv bnZlcnNpb24gd2hlbiBnZXR0aW5nIGEgcG9pbnRlciB0byB0aGUgY29udGV4dCBpdHNlbGYs IGFuZAogICAgZGVmaW5lIHByb3BlciA2NC1ieXRlIHZlcnNpb25zIG9mIGNvbnRleHRzIGlu IG9yZGVyIHRvIGxldCB0aGUgY29tcGlsZXIKICAgIGRvIGFsbCB0aGUgbmVjZXNzYXJ5IGFy aXRobWV0aWMgcmF0aGVyIHRoYW4gZG8gaXQgbWFudWFsbHkgb3Vyc2VsdmVzLgogICAgVGhp cyBwcm92aWRlcyBhIGNsZWFuZXIgaW1wbGVtZW50YXRpb24sIHdvcmtzIGZvciBDSEVSSSBh bmQgbWF5IGV2ZW4gYmUKICAgIHNsaWdodGx5IG1vcmUgcGVyZm9ybWFudCBhcyBpdCBhdm9p ZHMgdGhlIG5lZWQgdG8gbWVzcyB3aXRoIG1hc2tpbmcKICAgIHBvaW50ZXJzICh3aGljaCBj YW5ub3QgaW4gdGhlIGdlbmVyYWwgY2FzZSBiZSBvcHRpbWlzZWQgYnkgY29tcGlsZXJzIHRv CiAgICBiZSByZXVzZWQgYWNyb3NzIGFjY2Vzc2VzIHRvIGRpZmZlcmVudCBmaWVsZHMgd2l0 aGluIHRoZSBzYW1lIGNvbnRleHQsCiAgICBzaW5jZSBpdCBkb2VzIG5vdCBrbm93IHRoYXQg dGhlIGNvbnRleHRzIGFyZSBvdmVyLWFsaWduZWQgY29tcGFyZWQgd2l0aAogICAgdGhlIEMg QUJJIHJlcXVpcmVtZW50cykuCiAgICAKICAgIFJldmlld2VkIGJ5OiAgICBoc2VsYXNreQog ICAgRGlmZmVyZW50aWFsIFJldmlzaW9uOiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3Jn L0QzMjU1NAogICAgCiAgICAoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyOTg2M2QxZWZm ZTIwZGEzY2M3NWFlMTBiZDUyZDk2ZWRhZmU5ZTU5KQoKY29tbWl0IDViNTA3OTE2NTg1MmRl MGYwZWEwYzU0N2I0NDczYzU1YzJlMTJjMjIKQXV0aG9yOiBCam9lcm4gQS4gWmVlYiA8YnpA RnJlZUJTRC5vcmc+CkRhdGU6ICAgRnJpIE9jdCAxIDEzOjM3OjAxIDIwMjEgKzAwMDAKCiAg ICBVU0I6IGFkanVzdCB0aGUgR2VuZXJpYyBYSENJIEFDUEkgcHJvYmUgcmV0dXJuIHZhbHVl CiAgICAKICAgIENoYW5nZSB0aGUgcHJvYmUgcmV0dXJuIHZhbHVlIGZyb20gQlVTX1BST0JF X0RFRkFVTFQgdG8gQlVTX1BST0JFX0dFTkVSSUMKICAgIGdpdmVuIHRoaXMgaXMgdGhlICJn ZW5lcmljIiBhdHRhY2ggbWV0aG9kLiAgVGhpcyBhbGxvd3MgaW5kaXZpZHVhbAogICAgZHJp dmVycyB1c2luZyBYSENJIGdlbmVyaWMgYnV0IG5lZWRpbmcgdGhlaXIgb3duIGludGlhbGlz YXRpb24gdG8KICAgIGdhaW4gcHJpb3JpdHkgZm9yIGF0dGFjaGluZyBvdmVyIHRoZSBnZW5l cmljIGltcGxlbWVudGF0aW9uLgogICAgCiAgICBSZXZpZXdlZCBieTogICAgaHNlbGFza3kK ICAgIERpZmZlcmVudGlhbCBSZXZpc2lvbjogaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3Jn L0QzMjI1NwogICAgCiAgICAoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA3NmYzYjhjYjY0 MDUzNmRlMmMzNzBjYzJiZDYwMzgyYmJjMzVjZjVkKQoKY29tbWl0IDBjNDQzZGQyZmJmZmY0 OTI4NzFiN2Y1MzA5ZjM3NjJmYjYyYmM4ZTYKQXV0aG9yOiBTw7hyZW4gU2NobWlkdCA8c29z QEZyZWVCU0Qub3JnPgpEYXRlOiAgIFR1ZSBEZWMgMjAgMDg6NTM6NTggMjAyMiArMDAwMAoK ICAgIEdldCBjbG9ja3MgZm9yIFJvY2tjaGlwIFJLMzU2OC4KICAgIAogICAgKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgMWQ4YzA3YjdhYjdiYzEyM2VjNjJlOTcxNzZiZWZmZWY0MDUy ZWJhOCkKCmNvbW1pdCAwYjQxZGFjOWE5NTFhZTlkODI3YzQ5NmY0Y2Q2YmQ5OWIxYTQ4NzIx CkF1dGhvcjogVmFsIFBhY2tldHQgPHZhbEBwYWNrZXR0LmNvb2w+CkRhdGU6ICAgVHVlIEFw ciAyNSAxMjoyMDo1MyAyMDIzICswMzAwCgogICAgYmNtNTk3NCg0KTogYWRkIE1hZ2ljIFRy YWNrcGFkIDIgKFVTQiBvbmx5KSBzdXBwb3J0CiAgICAKICAgIFRoZSBNVDIgdXNlcyBhIGNv bXBhY3QgcmVwb3J0IGZvcm1hdCwgYnV0IG90aGVyd2lzZSBpcyBzaW1pbGFyIGluIG1hbnkK ICAgIHdheXMgdG8gdGhlIGludGVybmFsIHRyYWNrcGFkcywgaXQgZXZlbiB1c2VzIHRoZSBz YW1lIG1vZGUgc3dpdGNoaW5nCiAgICBjb21tYW5kcy4KICAgIAogICAgUmV2aWV3ZWQgYnk6 ICAgIHd1bGYKICAgIERpZmZlcmVudGlhbCByZXZpc2lvbjogIGh0dHBzOi8vcmV2aWV3cy5m cmVlYnNkLm9yZy9EMzQ0MzcKICAgIAogICAgKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg ZWY4Mzk3YzI4ZTk4MWUwMTE1ZDQzNWFhYmNmNTdjZWU3ZWE1ZjVlZSkKCmNvbW1pdCA1NDZm Mzk0ZGJmYzFmNTIwNDZhY2NmM2Q5Y2QwMDQ0MmZjZGQ4Y2UwCkF1dGhvcjogSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+CkRhdGU6ICAgTW9uIEFwciAxMCAxMDozNTo0OCAyMDIz IC0wNzAwCgogICAgaWZfbW9zOiBSZW1vdmUgc2V0IGJ1dCB1bnVzZWQgdmFyaWFibGUuCiAg ICAKICAgIFJldmlld2VkIGJ5OiAgICBoc2VsYXNreQogICAgUmVwb3J0ZWQgYnk6ICAgIEdD QwogICAgRGlmZmVyZW50aWFsIFJldmlzaW9uOiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qu b3JnL0QzOTM1NgogICAgCiAgICAoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA1MzI4ZWZi M2QwYTU0ZGYyMDc3OWQ4MjMxOWMzZWViZDQ5YWEyOTkzKQoKY29tbWl0IDk3YWQyNjNhMWE5 NDNjMmU5NmE4NTI3YzIyNjk2NzI1YzhlNmZlMzUKQXV0aG9yOiBIYW5zIFBldHRlciBTZWxh c2t5IDxoc2VsYXNreUBGcmVlQlNELm9yZz4KRGF0ZTogICBGcmkgTWFyIDMxIDE5OjE0OjE4 IDIwMjMgKzAyMDAKCiAgICB1c2IoNCk6IFNlcGFyYXRlIHRoZSBmYXN0IHBhdGggYW5kIHRo ZSBzbG93IHBhdGggdG8gYXZvaWQgcmFjZXMgYW5kIHVzZS1hZnRlci1mcmVlIGZvciB0aGUg VVNCIEZTIGludGVyZmFjZS4KICAgIAogICAgQmFkIGJlaGF2aW5nIHVzZXItc3BhY2UgVVNC IGFwcGxpY2F0b2lucyBtYXkgY3Jhc2ggdGhlIGtlcm5lbCBieSBpc3N1aW5nCiAgICBVU0Ig RlMgcmVsYXRlZCBpb2N0bCgyKSdzIG91dCBvZiB0aGVpciBleHBlY3RlZCBvcmRlci4gQnkg ZGVmYXVsdAogICAgdGhlIFVTQiBGUyBpb2N0bCgyKSBpbnRlcmZhY2UgaXMgb25seSBhdmFp bGFibGUgdG8gdGhlCiAgICBhZG1pbmlzdHJhdG9yLCByb290LCBhbmQgZHJpdmVyIGFwcGxp Y2F0aW9ucyBsaWtlIHdlYmNhbWQoOCkgbmVlZHMKICAgIHRvIGJlIGhpamFja2VkIGluIG9y ZGVyIGZvciB0aGlzIHRvIGhhcHBlbi4KICAgIAogICAgVGhlIGlzc3VlIGlzIHRoZSBmYXN0 LXBhdGggY29kZSBkb2VzIG5vdCBhbHdheXMgc2VlIHVwZGF0ZXMgbWFkZQogICAgYnkgdGhl IHNsb3ctcGF0aCBjb2RlLCBhbmQgbWF5IHRoZW4gd29yayBvbiBmcmVlZCBtZW1vcnkuCiAg ICAKICAgIFRoaXMgaXMgZWFzaWx5IGZpeGVkIGJ5IHVzaW5nIGFuIEVQT0NIKDkpIHR5cGUg b2Ygc3luY2hyb25pemF0aW9uCiAgICBtZWNoYW5pc20uIEEgU1goOSkgbG9jayB3aWxsIGJl IHVzZWQgYXMgYSBzdWJzdGl0dXRlIGZvciBFUE9DSCg5KSwKICAgIGR1ZSB0byB0aGUgbmVl ZCBmb3Igc2xlZXBhYmlsaXR5LiBJbiBhZGRpdGlvbiBtb3N0IGNhbGxzIGdvaW5nIGludG8K ICAgIHRoZSBmYXN0LXBhdGggb3JpZ2luYXRlIGZyb20gYSBzaW5nbGUgdXNlci1zcGFjZSBw cm9jZXNzIGFuZCB0aGUKICAgIG5lZWQgZm9yIG11bHRpLXRocmVhZCBwZXJmb3JtYW5jZSBp cyBub3QgcHJlc2VudC4KICAgIAogICAgRGlmZmVyZW50aWFsIFJldmlzaW9uOiAgaHR0cHM6 Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0QzOTM3MwogICAgUmV2aWV3ZWQgYnk6ICAgIG1hcmtq QAogICAgUmVwb3J0ZWQgYnk6ICAgIEMgVHVydCA8ZWN0dXJ0QGdtYWlsLmNvbT4KICAgIGFk bWJ1Z3M6ICAgICAgICA5OTQKICAgIFNwb25zb3JlZCBieTogICBOVklESUEgTmV0d29ya2lu ZwogICAgCiAgICAoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA5YjA3N2Q3MmJjYzMxM2Jh ZWEyYjkyODNhZmM3ZjU2ODczOWVhYWRjKQoKY29tbWl0IDFkM2U4MzYxMTY0MmI3NTU4Njg3 NjYzY2RkZDAzYzUwYzJhYzZjMmEKQXV0aG9yOiBIYW5zIFBldHRlciBTZWxhc2t5IDxoc2Vs YXNreUBGcmVlQlNELm9yZz4KRGF0ZTogICBUdWUgQXByIDQgMTc6MTU6MzggMjAyMyArMDIw MAoKICAgIHVzYig0KTogQ29kZSByZWZhY3RvcmluZyBhcyBhIHByZS1zdGVwIGZvciBhZGRp bmcgbWlzc2luZyBzeW5jaHJvbml6YXRpb24gbWVjaGFuaXNtLgogICAgCiAgICBNb3ZlIGNv ZGUgaW4gc3dpdGNoIGNhc2VzIGludG8gb3duIGZ1bmN0aW9ucyB0byBtYWtlIGxhdGVyIGNo YW5nZXMgZWFzaWVyIHRvIHRyYWNrLgogICAgCiAgICBObyBmdW5jdGlvbmFsIGNoYW5nZSwg ZXhjZXB0IGZvciByZW1vdmluZyBhIHN1cGVyZmx1b3VzIGJyZWFrIHN0YXRlbWVudCB3aGVu CiAgICByYW5nZSBjaGVja2luZyBVU0JfRlNfTUFYX0ZSQU1FUywgaW4gdGhlIFVTQl9GU19P UEVOIGNhc2UuCiAgICBJdCBzaG91bGQgbm90IGhhdmUgYmVlbiB0aGVyZSBhdCBhbGwuCiAg ICAKICAgIFN1Z2dlc3RlZCBieTogICBlbWFzdGVACiAgICBTcG9uc29yZWQgYnk6ICAgTlZJ RElBIE5ldHdvcmtpbmcKICAgIAogICAgKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMDNh MmU0MzJkNWNjMmVlZGI5MzA0ZmFlYTJiMTkwNTFjODRjYWVjZikKCmNvbW1pdCBjNGE1NjMx MmIyMGJjYzM3NzA0Mzk1ZTEwMGYzYzY5ZmEwYWQ0ZTZmCkF1dGhvcjogSm9lcmcgV3Vuc2No IDxqb2VyZ0BGcmVlQlNELm9yZz4KRGF0ZTogICBXZWQgTWFyIDggMjA6NTk6MjkgMjAyMyAr MDEwMAoKICAgIHVzYjogZHdjMzogYWRkIDxzeXMvbXV0ZXguaD4KICAgIAogICAgQ29tbWl0 IDVlNTRiYjFlYTllOTAgYWRkZWQgVVNCX0JVU19MT0NLL1VTQl9CVVNfVU5MT0NLLiBUaGV5 LCBpbgogICAgY29uc2VxdWVuY2UsIHJlcXVpcmUgbXV0ZXhlcyBzbyA8c3lzL211dGV4Lmg+ IGlzIG5lZWRlZC4KICAgIAogICAgKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMTc1YTU4 NGU1MDFlMTljOTBmZDIyNDFjNTA1ZDE3OTdkZTYwM2E1YykKCmNvbW1pdCBjZGQ4YWJlMjQy Zjg2ZGM4ZmY3YWYxOWExNjM2YTkyYzljMTliNzhmCkF1dGhvcjogS3lsZSBFdmFucyA8a2V2 YW5zQEZyZWVCU0Qub3JnPgpEYXRlOiAgIE1vbiBGZWIgMjcgMTk6NTk6NDMgMjAyMyAtMDYw MAoKICAgIHVzYjogZHdjMzogaW1wbGVtZW50IGh3LnVzYi54aGNpLnVzZV9wb2xsaW5nCiAg ICAKICAgIFBvbGxpbmcgaXMgY3VycmVudGx5IG9ubHkgaW1wbGVtZW50ZWQgaW4gdGhlIHho Y2kgcGNpIGF0dGFjaG1lbnQuCiAgICBBZGRpbmcgaXQgdG8gZHdjMyBkb2Vzbid0IG1ha2Ug aXQgbXVjaCB1Z2xpZXIsIGFuZCBzdXBwb3J0aW5nIGl0IGNhbiBiZQogICAgdXNlZnVsIGZv ciBjb25maXJtaW5nIHRoYXQgaGFyZHdhcmUncyBvdGhlcndpc2UgZnVuY3Rpb25hbCB3aGVu CiAgICBpbnRlcnJ1cHRzIGFyZSBhcHBhcmVudGx5IG5vdCBmaXJpbmcuCiAgICAKICAgIFJl dmlld2VkIGJ5OiAgICBtYW51CiAgICBEaWZmZXJlbnRpYWwgUmV2aXNpb246ICBodHRwczov L3Jldmlld3MuZnJlZWJzZC5vcmcvRDM4ODE2CiAgICAKICAgIChjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDVlNTRiYjFlYTllOTA0MDc1MjI1ZGM5NjY0MWMyZWRlM2ZjMzI3M2MpCgpj b21taXQgZDE2MDFiNzY3YzEzMDI2YThlYTllZDg0ZDE1Y2JlZDE0N2NhYjk3YQpBdXRob3I6 IEVsbGlvdHQgTWl0Y2hlbGwgPGVoZW0rZnJlZWJzZEBtNXAuY29tPgpEYXRlOiAgIFdlZCBK dW4gMjIgMTc6NTM6NDcgMjAyMiAtMDcwMAoKICAgIHdtdDogcHVyZ2UgRU9MIHJlbGVhc2Ug Y29tcGF0aWJpbGl0eQogICAgCiAgICBSZW1vdmUgRnJlZUJTRCAxMSBzdXBwb3J0CiAgICAK ICAgIFJldmlld2VkIGJ5OiBpbXAKICAgIFB1bGwgUmVxdWVzdDogaHR0cHM6Ly9naXRodWIu Y29tL2ZyZWVic2QvZnJlZWJzZC1zcmMvcHVsbC82MDMKICAgIERpZmZlcmVudGlhbCBSZXZp c2lvbjogaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0QzNTU2MAogICAgCiAgICAoY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA1ZmExODMzNTE0NTk5OTZjZmI4NmY4NjIxZGUxYTBl MWJmOTg1ZDY3KQoKY29tbWl0IGYwMmQzYTM5YWNkNTAwMWFjYTcwMzViZjRhODcwZjliNDg2 NmI0YWUKQXV0aG9yOiBFbGxpb3R0IE1pdGNoZWxsIDxlaGVtK2ZyZWVic2RAbTVwLmNvbT4K RGF0ZTogICBXZWQgSnVuIDIyIDE3OjUzOjQ3IDIwMjIgLTA3MDAKCiAgICB1c2I6IHB1cmdl IEVPTCByZWxlYXNlIGNvbXBhdGliaWxpdHkKICAgIAogICAgUmVtb3ZlIGNvbmRpdGlvbnNh bHMgZm9yIEZyZWVCU0QgNiwgNywgOCBhbmQgOSBjb21wYXRpYmlsaXR5LgogICAgCiAgICBS ZXZpZXdlZCBieTogaW1wCiAgICBQdWxsIFJlcXVlc3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS9m cmVlYnNkL2ZyZWVic2Qtc3JjL3B1bGwvNjAzCiAgICBEaWZmZXJlbnRpYWwgUmV2aXNpb246 IGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9EMzU1NjAKICAgIAogICAgKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgMzM2ZmJiMjNkZWY3YTZiM2RjNDRjZTVjNzZiYmMwN2E3MDFj MGE2OSkKCmNvbW1pdCAxZDhlYTIzODQzOGY1ZGE1NmM4MjVjOGFiNDcxZWY4YmJhNzdiODVj CkF1dGhvcjogQ2hlbmcsIEh1aW1pbmcgPEh1aW1pbmcuQ2hlbmdAZGVsbHRlYW0uY29tPgpE YXRlOiAgIFRodSBEZWMgMTUgMjM6MzA6MTEgMjAyMiArMDEwMAoKICAgIHhoY2koNCk6IE1h a2Ugc3VyZSBhbGxvY2F0ZWQgYmFuZHdpZHRoIGlzIGZyZWVkIGluIGhhcmR3YXJlIGJ5IHVu Y29uZmlndXJpbmcgZW5kcG9pbnQuCiAgICAKICAgIFNwb25zb3JlZCBieTogICBOVklESUEg TmV0d29ya2luZwogICAgCiAgICAoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA4Njg1ZDdi NWNiNzU5YjRmNjg4ZGVhOTNkYmUxYzM4ZjllODMzZTRlKQoKY29tbWl0IDkyZWFhZDhkMTQy NjRhMDkwOWE2YzUwODQ1MDE4OTVjMDUxYmUzMzQKQXV0aG9yOiBIYW5zIFBldHRlciBTZWxh c2t5IDxoc2VsYXNreUBGcmVlQlNELm9yZz4KRGF0ZTogICBUaHUgRGVjIDE1IDIzOjMyOjQ3 IDIwMjIgKzAxMDAKCiAgICB1c2IoNCk6IENhbGwgb3B0aW9uYWwgZW5kcG9pbnRfdW5pbml0 KCkgd2hlbiBjaGFuZ2luZyBjb25maWd1cmF0aW9uIG9yIGFsdGVybmF0ZSBzZXR0aW5nLgog ICAgCiAgICBTcG9uc29yZWQgYnk6ICAgTlZJRElBIE5ldHdvcmtpbmcKICAgIAogICAgKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZTQ2MTFkMjYyNjVmYjllM2JkMmEzNDVjZjQ3NzY4 NjNmNDlhMjU4NykKCmNvbW1pdCBkYjMzMTkzZTg2MDQyMzM5ZDliNTA1ZWQzZDM2OGFmYzk1 YWE5ZWY5CkF1dGhvcjogUG91bC1IZW5uaW5nIEthbXAgPHBoa0BGcmVlQlNELm9yZz4KRGF0 ZTogICBTdW4gQXVnIDI4IDE3OjIxOjM4IDIwMjIgKzAwMDAKCiAgICBVU0IgaWQgb2YgeWV0 IGFub3RoZXIgTGVub3ZvIFVTQi1DIGV0aGVybmV0IGRvbmdsZS4KICAgIAogICAgKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgMzE5MzdmN2U4NDNkYThiZTY4NTU1N2Q1MTNmYzFhZjU4 MDc5ZWRhMykKCmNvbW1pdCA4ZmZkMDA2YjM4ODE4NGRjZjY3MGEzNDRmMGVmM2E2NzNkMmEy MzQxCkF1dGhvcjogSGFucyBQZXR0ZXIgU2VsYXNreSA8aHNlbGFza3lARnJlZUJTRC5vcmc+ CkRhdGU6ICAgU2F0IEFwciAzMCAxMToyMTo1NCAyMDIyICswMjAwCgogICAgdWF0aCg0KTog Rml4IGluY29ycmVjdCBieXRlLXN3YXBwaW5nIGFuZCBhIGJ1ZmZlciBsZW5ndGggY2hlY2su CiAgICAKICAgIFBSOiAgICAgICAgICAgICAgICAgICAgIDI2MzYzOAogICAgUmVwb3J0ZWQg Ynk6ICAgICAgICAgICAgSmVmZiBHaWJib25zIDxqZ2liYm9uc0Bwcm90b2dhdGUuY29tPgog ICAgU3BvbnNvcmVkIGJ5OiAgICAgICAgICAgTlZJRElBIE5ldHdvcmtpbmcKICAgIAogICAg KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNmViNmFlZWY3ZTY3MGJkZGM5Y2Q1MmFhZjMy NzY1YTllYTg1ZWVlMykKCmNvbW1pdCBkNmQxYTM4ODAxM2JiZjc3NTNhYjFjMTlhNDc5MGJl ZDgyMjM1NmExCkF1dGhvcjogS29ybmVsIER1bGViYSA8bWluZGFsQHNlbWloYWxmLmNvbT4K RGF0ZTogICBUdWUgQXByIDI2IDE0OjA3OjIxIDIwMjIgKzAyMDAKCiAgICB1c2I6IFJlc3Bl Y3QgTk9fSU5RVUlSWSBxdWlyayBkdXJpbmcgZGV2aWNlIGVudW1lcmF0aW9uCiAgICAKICAg IEJvdGggdXNiX2lmYWNlX2lzX2Nkcm9tIGFuZCB1c2JfbXNjX2F1dG9fcXVpcmsgZnVuY3Rp b25zIHVzZSBTQ1NJIElOUVVJUlkKICAgIGNvbW1hbmQgdG8gcHJvYmUgdmFyaW91cyBwcm9w ZXJ0aWVzIG9mIHVzYiBtYXNzIHN0b3JhZ2UgZGV2aWNlcy4KICAgIFRoZSBwcm9ibGVtIGhl cmUgaXMgdGhhdCBzb21lIHZlcnkgYnJva2VuIGRldmljZXMgZG9uJ3QgbGlrZSB0aGlzIGNv bW1hbmQuCiAgICBDaGVjayBpZiBVUV9NU0NfTk9fSU5RVUlSWSBxdWlyayBpcyBzZXQgYW5k IHNraXAgY2Ryb20gYW5kIHF1aXJrCiAgICBhdXRvZGV0ZWN0aW9uIGluIHRoYXQgY2FzZS4K ICAgIAogICAgU3BvbnNvcmVkIGJ5OiBTdG9ybXNoaWVsZAogICAgT2J0YWluZWQgZnJvbTog U2VtaWhhbGYKICAgIFJldmlld2VkIGJ5OiBocHMsIHdtYQogICAgRGlmZmVyZW50aWFsIFJl dmlzaW9uOiBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDM1MDc1CiAgICAKICAgIChj aGVycnkgcGlja2VkIGZyb20gY29tbWl0IDNlZTk0Mzg2OGM3NGNlOTE3ODIwZmU5ZGRiY2Zl YWIzMzg3MDRkOTApCgpjb21taXQgYjI3NDk1OGQyNmFiMzgzMGFkOTA5NjM5MDE1YzQ1ZTUy YzdhMWQ5YwpBdXRob3I6IEpvaG4gQmFsZHdpbiA8amhiQEZyZWVCU0Qub3JnPgpEYXRlOiAg IE1vbiBBcHIgMTggMTI6Mjc6NDggMjAyMiAtMDcwMAoKICAgIHVoaWRfc25lczogUmVtb3Zl IFVTQl9TVF9UUkFOU0ZFUlJFRCBoYW5kbGluZyBmb3IgdGhlIHN0YXR1cyByZXF1ZXN0Lgog ICAgCiAgICBUaGUgcmVzdWx0IG9mIHRoZSByZXF1ZXN0IGNvbXB1dGVkIGluIG5ld19zdGF0 dXMgd2FzIG5ldmVyIHJldHVybmVkIHRvCiAgICB0aGUgY2FsbGVyIGxlYXZpbmcgbmV3X3N0 YXR1cyBhcyBhIHNldC1idXQtdW51c2VkIHZhcmlhYmxlLiAgUmVtb3ZpbmcKICAgIG5ld19z dGF0dXMgbGVhdmVzIHNjLT5wcmV2aW91c19zdGF0dXMgYXMgYSB3cml0ZS1vbmx5IHZhcmlh YmxlLgogICAgUmVtb3Zpbmcgc2MtPnByZXZpb3VzX3N0YXR1cyBsZWF2ZXMgY3VycmVudF9z dGF0dXMgYXMgYSB3cml0ZS1vbmx5CiAgICB2YXJpYWJsZSwgc28gaXQgY29sbGFwc2VzIGRv d24gdG8gcmVtb3ZpbmcgdGhlIGVudGlyZQogICAgVVNCX1NUX1RSQU5TRkVSUkVEIGNhc2Uu CiAgICAKICAgIEFyZ3VhYmx5LCBhbGwgb2YgdGhlIHN1cHBvcnQgZm9yIFVISURfU05FU19T VEFUVVNfRFRfUkQgc2hvdWxkIGJlCiAgICByZW1vdmVkIGFzIGl0IGRvZXNuJ3QgcmV0dXJu IGFueXRoaW5nIHRvIHRoZSBjYWxsZXIuICBJZiB0aGUgcmVxdWVzdAogICAgc2hvdWxkIGJl IGZpeGVkIGluc3RlYWQgdGhlbiB0aGlzIGNvbW1pdCBzaG91bGQgYmUgcmV2ZXJ0ZWQgYW5k CiAgICBuZXdfc3RhdHVzIHNob3VsZCBiZSByZXR1cm5lZCB0byB3aG9ldmVyIHN1Ym1pdHRl ZCB0aGUgcmVxdWVzdC4KICAgIAogICAgRGlmZmVyZW50aWFsIFJldmlzaW9uOiAgaHR0cHM6 Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0QzNDg0MAogICAgCiAgICAoY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCA1NDBhYzMzOGQ1NTc1MTMxZDEzNGQyYzAzM2YzMWI1ZDZkNTc2YzY4KQoK Y29tbWl0IGJlNzc2ZTA1MTg2OGMxNGU5NTdhNmVmODNkMGM0MTFhZjgxZDE3OTgKQXV0aG9y OiBCcm9va3MgRGF2aXMgPGJyb29rc0BGcmVlQlNELm9yZz4KRGF0ZTogICBGcmkgRGVjIDE3 IDIxOjI4OjE0IDIwMjEgKzAwMDAKCiAgICBsaWJ1c2I6IHJlbW92ZSB1c2Ugb2YgQ09NUEFU XzMyQklUCiAgICAKICAgIFRoaXMgY29kZXBhdGggdXNlZCB1aW50NjRfdCdzIGluIHBsYWNl IG9mIHBvaW50ZXJzIGluIHN0cnVjdHMgYW5kCiAgICBhcnJheXMgdG8gYWxsb3cgMzItYml0 IGNvZGUgdG8gdXNlIDY0LWJpdCB2ZXJzaW9uIG9mIGlvY3Rscy4gIE5vdwogICAgdGhhdCB3 ZSBzdXBwb3J0IDMyLWJpdCBjb21wYXQgbmF0aXZlbHkgdGhpcyBpcyBubyBsb25nZXIgbmVl ZGVkLgogICAgCiAgICBSZXZpZXdlZCBieTogICAgaHNlbGFza3ksIGpydGMyNyAocHJpb3Ig dmVyc2lvbikKICAgIAogICAgKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgODAxMGY0YWQy MWI2MTIwZTkyOWJkYTRlZWQyNzY5NmU2MzUxNDY3NykKCmNvbW1pdCBmNzI0OTc4ZDc4NGQ5 ZDc0NGUyMWRiYjhmMDZlZDdjNDdmMDA1YjU4CkF1dGhvcjogQnJvb2tzIERhdmlzIDxicm9v a3NARnJlZUJTRC5vcmc+CkRhdGU6ICAgRnJpIERlYyAxNyAyMToyODoxNCAyMDIxICswMDAw CgogICAgdXNiOiByZW1vdmUgQ09NUEFUXzMyQklUIGlmZGVmcwogICAgCiAgICBOb3cgdGhh dCB3ZSBoYXZlIHByb3BlciAzMi1iaXQgY29tcGF0IHN1cHBvcnQsIHJlbW92ZSBDT01QQVRf MzJCSVQKICAgIGlmZGVmcyB0byBhbGxvdyAzMi1iaXQgY29kZSB0byB1c2UgdGhlIDY0LWJp dCBsYXlvdXQgb2YgVVNCIGlvY3RsCiAgICBzdHJ1Y3RzIGFuZCBzdHJ1Y3QgdXNiX2ZzX2Vu ZHBvaW50LgogICAgCiAgICBUaGlzIGluY2x1ZGVzIHRoZSByZW1vdmFsIG9mIHJlZHVuZGFu dCBhbGlnbm1lbnQgZGlyZWN0aXZlcyB0aGF0IGhhZAogICAgbm8gZWZmZWN0IGluIHByYWN0 aWNlLgogICAgCiAgICBSZXZpZXdlZCBieTogICAgaHNlbGFza3ksIGpydGMyNyAocHJpb3Ig dmVyc2lvbikKICAgIAogICAgKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZWE5NzJmZWVh MmQyNTg5ZWUxMzE3YTE5ZWVhZGEwNTk4MzMyZGVmYSkKCmNvbW1pdCAwNTNhZmUxZmQzNTg0 YTc5ZDRmYzVmNGMzM2ZiZmExNzNiZWVkZjQwCkF1dGhvcjogQnJvb2tzIERhdmlzIDxicm9v a3NARnJlZUJTRC5vcmc+CkRhdGU6ICAgRnJpIERlYyAxNyAyMToyODoxNCAyMDIxICswMDAw CgogICAgdXNiOiBhZGQgMzItYml0IGNvbXBhdCBmb3IgRklGT3MKICAgIAogICAgVW5saWtl IG1vc3QgMzItYml0IGNvbXBhdGFiaWxpdHkgY29kZSwgdGhpcyBpc24ndCBqdXN0IGEgc2lt cGxlIHRodW5rCiAgICBpbiB0aGUgaW9jdGwgY29kZS4gIEFuIGlvY3RsIChVU0JfRlNfSU5J VCkgaXMgdXNlZCB0byBpbnN0YWxsIGEKICAgIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgdXNi X2ZzX2VuZHBvaW50IHN0cnVjdHMgd2hpY2ggYXJlIHRoZW4gdXNlZAogICAgYnkgdGhlIHVn ZW4gZmlmbyBjb2RlLiAgVGhlc2Ugc3RydWN0IGNvbnRhaW5zIGFuIGFycmF5IG9mIHBvaW50 ZXJzCiAgICB3aGljaCByZXF1aXJlcyB0cmFuc2xhdGlvbi4gIFdlIGNoYW5nZSB0aGUgaW50 ZXJmYWNlcyBhcm91bmQKICAgIHN0cnVjdCB1c2JfZnNfZW5kcG9pbnQgYXMgZm9sbG93czoK ICAgICAtIFdlIHN0b3JlIHRoZSBzaXplIG9mIHN0cnVjdCB1c2JfZnNfZW5kcG9pbnQgaW4g c3RydWN0IHVzYl9maWZvCiAgICAgICBpbiB0aGUgVVNCX0ZTX0lOSVQgaGFuZGxlciBzbyB3 ZSBrbm93IHRoZSBBQkkgb2YgdGhlIHVzZXJzcGFjZQogICAgICAgYXJyYXkuCiAgICAgLSBB UElzIHRvIG1hbmlwdWxhdGUgdXNlcnNwYWNlIHN0cnVjdCB1c2JfZnNfZW5kcG9pbnQgb2Jq ZWN0cyBub3cKICAgICAgIHRha2UgYSBzdHJ1Y3QgdXNiX2ZpZm8gYW5kIGFuIGluZGV4IHJh dGhlciB0aGFuIGEgcG9pbnRlciB0bwogICAgICAgdGhlIG9iamVjdC4gIFRoaXMgYWxsb3dz IG1vc3QgY29kZSB0byByZW1haW4gb2JsaXZpb3VzIHRvIHRoZQogICAgICAgZGlmZmVyZW50 IHN0cnVjdCB1c2JfZnNfZW5kcG9pbnQgc2l6ZXMuCiAgICAgLSBBZGQgdWdlbl9mc19jb3B5 aW4oKSB3aGljaCBjb3BpZXMgdGhlIHN0cnVjdCB1c2JfZnNfZW5kcG9pbnQKICAgICAgIGZy b20gdXNlcnNwYWNlLCB0aHVua2luZyBpdCB0byB0aGUgbmF0aXZlIHNpemUgaWYgcmVxdWly ZWQuCiAgICAgLSBVc2VzIG9mIHN0cnVjdCB1c2JfZnNfZW5kcG9pbnQncyBwcEJ1ZmZlciBt ZW1iZXIgYXJlIG5vdwogICAgICAgdmlhIHVnZW5fZnNfZ2V0YnVmZmVyKCkgd2hpY2ggcHJv ZHVjZXMgYSBuYXRpdmUgcG9pbnRlci4KICAgICAtIFVwZGF0ZXMgdG8gdXNlcnNwYWNlIGFy ZSBub3cgaGFuZGxlZCBieSB1Z2VuX2ZzX3VwZGF0ZSgpLgogICAgCiAgICBGb3IgY2xhcml0 eSwgc2luZ2xlLCBmaXhlZC1zaXplZCBtZW1iZXJzIG5vdyBhcmUgYWNjZXNzZWQgd2l0aAog ICAgZnVld29yZC9zdXdvcmQgcmF0aGVyIHRoYW4gY29weWluL2NvcHlvdXQuCiAgICAKICAg IFJldmlld2VkIGJ5OiAgICBoc2VsYXNreSwganJ0YzI3IChwcmlvciB2ZXJzaW9uKQogICAg CiAgICAoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwZWM1OTBkMjRlNDE1ZGQzNmUzODY0 ODYzMGEwYjk2MzQxMmFkODdlKQogICAgKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOGI2 MDQxOWI3OThhZTkwNDk5ODhjNTI5ZTZhZjNmMzEzYTVjY2U1NSkKCmNvbW1pdCA1MTg2MWU1 ODIwNTIxM2E1ZmE1ODVhMGNjOTE3MTNiNWZhNzVmMWNkCkF1dGhvcjogSGFucyBQZXR0ZXIg U2VsYXNreSA8aHNlbGFza3lARnJlZUJTRC5vcmc+CkRhdGU6ICAgVGh1IEphbiAyNiAxMzo1 Njo1MSAyMDIzICswMTAwCgogICAgbGlidXNiKDMpOiBJbXBsZW1lbnQgbGlidXNiX2luaXRf Y29udGV4dCgpIGFuZCB0aGUgbmVlZGVkIHN0cnVjdHVyZXMgYW5kIGRlZmluaXRpb25zLgog ICAgCiAgICBEaWZmZXJlbnRpYWwgUmV2aXNpb246ICBodHRwczovL3Jldmlld3MuZnJlZWJz ZC5vcmcvRDM4MjEyCiAgICBTcG9uc29yZWQgYnk6ICAgTlZJRElBIE5ldHdvcmtpbmcKICAg IAogICAgKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNGM2YmNmZmQwNGY5ZDBiNmNiNTdh ZjBmZmNjOWJlMzA5OGZlOTUwYykK --------------FjPEi1r80DdSRA60J4gSGdW3-- From nobody Sat Apr 29 18:01:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7y3Q4Wghz484VT; Sat, 29 Apr 2023 18:01: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 4Q7y3Q4NLLz3GYd; Sat, 29 Apr 2023 18:01:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682791314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=++FEwzJ4SIpaEihc3GXFN51XG3t7gdwfpKL67sejt84=; b=s0gZliGpSLDB+iT2quW7ucvOS3iyxffeU+TBwqSeIyJ6yYjFqGhX8/iMpqSj/cplLovsf6 x5SsB59apZztitd4DrtVG1JRoqhvL0O1ii8SfhgvsTfW+nAG33ntLTYa7yjrGtHD5NkEWI 3GNipX//nhx03ZVS++a50GNqNUwC2JsWE8X17jppCbY6RCFg+EbxFz/gmkWmizGkX9xJC7 9JZgJvEr+dW3msff+z9sn53RFJrEzbU4EtjO+hnF6gTqyhc4iDgeYednmdeNhP6esmWPQH MyAJztv2M1JbcsBnSlg5k49hjxLcvUux5+GBaAYzhiJ666rxil90mVEgj0l1lQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682791314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=++FEwzJ4SIpaEihc3GXFN51XG3t7gdwfpKL67sejt84=; b=rQIhRhkAPWylHK6CYaMtQp4vMC69FMXcMQldXw+fPYSMIEjgGahdEG76ZyDU/ErT8oDXzd GZGwXf54Jrh421DIkM7ka1NxbwMwvLp+y+2kCmFwGxBFkOefIOWED1NqmuyobYWIfdTgLL o80e8MvNPw1+iFIja3lBL+J3G72MA5BG343YfNePVBKXB603zppOdTAya4LJAy0pupGK2l y3cR8b89HwQ95m3Rts+ncHDLBa0oKBHyS/EmGik7tr5Ap1qNmkPpRjn6HVP0Qy1H5h1CL6 +llToT6SxpFmbAXclFGz7Is7SKFQolYjI7Hz0+SW3NChK8bkMg9dKTfF9vY0ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682791314; a=rsa-sha256; cv=none; b=COea7+lgEUVM8fksToNh389yaVLkGVhGp/4EUct9KuBqXbF2gzDxBLJ0u30+Tn1MWMvk0/ wkwm2GOkqzWixWx+56Do81SBYqGroSpZ89QFW+wZlzN5OlKt25uw9YnEEJADctYE9bF9Ap NDX+FcCpfnWaQhJMTE90P3TbBhSZn+0BNhwdIXKAR8qy270XLWi5niS/HC1u8D1PwC/WpP uvinpitjVRMsbKXoVAkm/R/bMmyArrRWtRLwxNH3qfAID0tfABYbYe/4grMixP3editjP4 6GmKAyWbaGkUo9goe5Kb3/egOeayFDfrR435x2Cp+mMGP78ZtI06NyMnCSH4Zw== 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 4Q7y3Q3TD2zrvT; Sat, 29 Apr 2023 18:01: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 33TI1srq001504; Sat, 29 Apr 2023 18:01:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33TI1sUW001503; Sat, 29 Apr 2023 18:01:54 GMT (envelope-from git) Date: Sat, 29 Apr 2023 18:01:54 GMT Message-Id: <202304291801.33TI1sUW001503@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: 427b3d970ad9 - stable/13 - Improvement in UFS/FFS directory placement when doing mkdir(2). List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 427b3d970ad9f255e5c72e98f6d8eb62baf8dcea Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=427b3d970ad9f255e5c72e98f6d8eb62baf8dcea commit 427b3d970ad9f255e5c72e98f6d8eb62baf8dcea Author: Kirk McKusick AuthorDate: 2023-03-30 04:09:39 +0000 Commit: Kirk McKusick CommitDate: 2023-04-29 18:01:47 +0000 Improvement in UFS/FFS directory placement when doing mkdir(2). Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39246 (cherry picked from commit fe5e6e2cc5d6f2e4121eccdb3a8ceba646aef2c9) --- sbin/fsck_ffs/dir.c | 107 +++++++++++++++++++++++++++++++++++++++++++--- sbin/fsck_ffs/fsck.h | 4 +- sbin/fsck_ffs/inode.c | 1 + sbin/fsck_ffs/pass1.c | 11 ++--- sbin/fsck_ffs/pass2.c | 13 ++++-- sbin/fsck_ffs/pass3.c | 4 +- sbin/fsdb/fsdb.c | 2 +- sbin/newfs/mkfs.c | 10 +++-- sys/ufs/ffs/ffs_alloc.c | 73 +++++++++++++++++++------------ sys/ufs/ffs/ffs_softdep.c | 26 ++++++----- sys/ufs/ufs/dinode.h | 10 ++++- sys/ufs/ufs/ufs_vnops.c | 5 +++ 12 files changed, 204 insertions(+), 62 deletions(-) diff --git a/sbin/fsck_ffs/dir.c b/sbin/fsck_ffs/dir.c index 64e477c66ed8..cc5305c390a4 100644 --- a/sbin/fsck_ffs/dir.c +++ b/sbin/fsck_ffs/dir.c @@ -88,12 +88,97 @@ propagate(void) if (inoinfo(inp->i_parent)->ino_state == DFOUND && INO_IS_DUNFOUND(inp->i_number)) { inoinfo(inp->i_number)->ino_state = DFOUND; + check_dirdepth(inp); change++; } } } while (change > 0); } +/* + * Check that the recorded depth of the directory is correct. + */ +void +check_dirdepth(struct inoinfo *inp) +{ + struct inoinfo *parentinp; + struct inode ip; + union dinode *dp; + int saveresolved; + static int updateasked, dirdepthupdate; + + if ((parentinp = getinoinfo(inp->i_parent)) == NULL) { + pfatal("check_dirdepth: UNKNOWN PARENT DIR"); + return; + } + /* + * If depth is correct, nothing to do. + */ + if (parentinp->i_depth + 1 == inp->i_depth) + return; + /* + * Only the root inode should have depth of 0, so if any other + * directory has a depth of 0 then this is an old filesystem + * that has not been tracking directory depth. Ask just once + * whether it should start tracking directory depth. + */ + if (inp->i_depth == 0 && updateasked == 0) { + updateasked = 1; + if (preen) { + pwarn("UPDATING FILESYSTEM TO TRACK DIRECTORY DEPTH"); + dirdepthupdate = 1; + } else { + /* + * The file system can be marked clean even if + * a directory does not have the right depth. + * Hence, resolved should not be cleared when + * the filesystem does not update directory depths. + */ + saveresolved = resolved; + dirdepthupdate = + reply("UPDATE FILESYSTEM TO TRACK DIRECTORY DEPTH"); + resolved = saveresolved; + } + } + /* + * If we are not converting, nothing more to do. + */ + if (inp->i_depth == 0 && dirdepthupdate == 0) + return; + /* + * Individual directory at wrong depth. Report it and correct if + * in preen mode or ask if in interactive mode. Note that if a + * directory is renamed to a new location that is at a different + * level in the tree, its depth will be recalculated, but none of + * the directories that it contains will be updated. Thus it is + * not unexpected to find directories with incorrect depths. No + * operational harm will come from this though new directory + * placement in the subtree may not be as optimal until the depths + * of the affected directories are corrected. + * + * To avoid much spurious output on otherwise clean filesystems + * we only generate detailed output when the debug flag is given. + */ + ginode(inp->i_number, &ip); + dp = ip.i_dp; + if (inp->i_depth != 0 && debug) { + pwarn("DIRECTORY"); + prtinode(&ip); + printf(" DEPTH %d SHOULD BE %d", inp->i_depth, + parentinp->i_depth + 1); + if (preen == 0 && reply("ADJUST") == 0) { + irelse(&ip); + return; + } + if (preen) + printf(" (ADJUSTED)\n"); + } + inp->i_depth = parentinp->i_depth + 1; + DIP_SET(dp, di_dirdepth, inp->i_depth); + inodirty(&ip); + irelse(&ip); +} + /* * Scan each entry in a directory block. */ @@ -471,7 +556,7 @@ linkup(ino_t orphan, ino_t parentdir, char *name) { struct inode ip; union dinode *dp; - int lostdir; + int lostdir, depth; ino_t oldlfdir; struct inoinfo *inp; struct inodesc idesc; @@ -546,7 +631,7 @@ linkup(ino_t orphan, ino_t parentdir, char *name) irelse(&ip); return (0); } - if ((changeino(UFS_ROOTINO, lfname, lfdir) & ALTERED) == 0) { + if ((changeino(UFS_ROOTINO, lfname, lfdir, 1) & ALTERED) == 0) { pfatal("SORRY. CANNOT CREATE lost+found DIRECTORY\n\n"); irelse(&ip); return (0); @@ -575,7 +660,8 @@ linkup(ino_t orphan, ino_t parentdir, char *name) } inoinfo(orphan)->ino_linkcnt--; if (lostdir) { - if ((changeino(orphan, "..", lfdir) & ALTERED) == 0 && + depth = DIP(dp, di_dirdepth) + 1; + if ((changeino(orphan, "..", lfdir, depth) & ALTERED) == 0 && parentdir != (ino_t)-1) (void)makeentry(orphan, lfdir, ".."); DIP_SET(dp, di_nlink, DIP(dp, di_nlink) + 1); @@ -607,7 +693,7 @@ linkup(ino_t orphan, ino_t parentdir, char *name) * fix an entry in a directory. */ int -changeino(ino_t dir, const char *name, ino_t newnum) +changeino(ino_t dir, const char *name, ino_t newnum, int depth) { struct inodesc idesc; struct inode ip; @@ -621,7 +707,10 @@ changeino(ino_t dir, const char *name, ino_t newnum) idesc.id_name = strdup(name); idesc.id_parent = newnum; /* new value for name */ ginode(dir, &ip); - error = ckinode(ip.i_dp, &idesc); + if (((error = ckinode(ip.i_dp, &idesc)) & ALTERED) && newnum != 0) { + DIP_SET(ip.i_dp, di_dirdepth, depth); + getinoinfo(dir)->i_depth = depth; + } free(idesc.id_name); irelse(&ip); return (error); @@ -815,8 +904,8 @@ allocdir(ino_t parent, ino_t request, int mode) struct inode ip; union dinode *dp; struct bufarea *bp; - struct inoinfo *inp; struct dirtemplate *dirp; + struct inoinfo *inp, *parentinp; ino = allocino(request, IFDIR|mode); if (ino == 0) @@ -859,6 +948,12 @@ allocdir(ino_t parent, ino_t request, int mode) inp->i_parent = parent; inp->i_dotdot = parent; inp->i_flags |= INFO_NEW; + if ((parentinp = getinoinfo(inp->i_parent)) == NULL) { + pfatal("allocdir: UNKNOWN PARENT DIR"); + } else { + inp->i_depth = parentinp->i_depth + 1; + DIP_SET(dp, di_dirdepth, inp->i_depth); + } inoinfo(ino)->ino_type = DT_DIR; inoinfo(ino)->ino_state = inoinfo(parent)->ino_state; if (inoinfo(ino)->ino_state == DSTATE) { diff --git a/sbin/fsck_ffs/fsck.h b/sbin/fsck_ffs/fsck.h index 94ec59004b86..5ce5ca9e29a5 100644 --- a/sbin/fsck_ffs/fsck.h +++ b/sbin/fsck_ffs/fsck.h @@ -309,6 +309,7 @@ struct inoinfo { ino_t i_parent; /* inode number of parent */ ino_t i_dotdot; /* inode number of `..' */ size_t i_isize; /* size of inode */ + u_int i_depth; /* depth of directory from root */ 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 */ @@ -463,9 +464,10 @@ void catch(int); void catchquit(int); void cgdirty(struct bufarea *); struct bufarea *cglookup(int cg); -int changeino(ino_t dir, const char *name, ino_t newnum); +int changeino(ino_t dir, const char *name, ino_t newnum, int depth); void check_blkcnt(struct inode *ip); int check_cgmagic(int cg, struct bufarea *cgbp, int requestrebuild); +void check_dirdepth(struct inoinfo *inp); int chkrange(ufs2_daddr_t blk, int cnt); void ckfini(int markclean); int ckinode(union dinode *dp, struct inodesc *); diff --git a/sbin/fsck_ffs/inode.c b/sbin/fsck_ffs/inode.c index 947e5e0cbc08..a46fea0607a0 100644 --- a/sbin/fsck_ffs/inode.c +++ b/sbin/fsck_ffs/inode.c @@ -1135,6 +1135,7 @@ cacheino(union dinode *dp, ino_t inumber) inp->i_dotdot = (ino_t)0; inp->i_number = inumber; inp->i_isize = DIP(dp, di_size); + inp->i_depth = DIP(dp, di_dirdepth); inp->i_numblks = blks; for (i = 0; i < MIN(blks, UFS_NDADDR); i++) inp->i_blks[i] = DIP(dp, di_db[i]); diff --git a/sbin/fsck_ffs/pass1.c b/sbin/fsck_ffs/pass1.c index 5f1ad8ecb686..afe9f7f2b789 100644 --- a/sbin/fsck_ffs/pass1.c +++ b/sbin/fsck_ffs/pass1.c @@ -388,14 +388,15 @@ checkinode(ino_t inumber, struct inodesc *idesc, int rebuildcg) n_files++; inoinfo(inumber)->ino_linkcnt = DIP(dp, di_nlink); if (mode == IFDIR) { - if (DIP(dp, di_size) == 0) + if (DIP(dp, di_size) == 0) { inoinfo(inumber)->ino_state = DCLEAR; - else if (DIP(dp, di_nlink) <= 0) + } else if (DIP(dp, di_nlink) <= 0) { inoinfo(inumber)->ino_state = DZLINK; - else + } else { inoinfo(inumber)->ino_state = DSTATE; - cacheino(dp, inumber); - countdirs++; + cacheino(dp, inumber); + countdirs++; + } } else if (DIP(dp, di_nlink) <= 0) inoinfo(inumber)->ino_state = FZLINK; else diff --git a/sbin/fsck_ffs/pass2.c b/sbin/fsck_ffs/pass2.c index abe14549e6f4..8200209cc03e 100644 --- a/sbin/fsck_ffs/pass2.c +++ b/sbin/fsck_ffs/pass2.c @@ -210,8 +210,10 @@ pass2(void) if (inp->i_parent == 0 || inp->i_isize == 0) continue; if (inoinfo(inp->i_parent)->ino_state == DFOUND && - INO_IS_DUNFOUND(inp->i_number)) + INO_IS_DUNFOUND(inp->i_number)) { inoinfo(inp->i_number)->ino_state = DFOUND; + check_dirdepth(inp); + } if (inp->i_dotdot == inp->i_parent || inp->i_dotdot == (ino_t)-1) continue; @@ -271,7 +273,8 @@ pass2(void) inoinfo(inp->i_dotdot)->ino_linkcnt++; inoinfo(inp->i_parent)->ino_linkcnt--; inp->i_dotdot = inp->i_parent; - (void)changeino(inp->i_number, "..", inp->i_parent); + (void)changeino(inp->i_number, "..", inp->i_parent, + getinoinfo(inp->i_parent)->i_depth + 1); } /* * Mark all the directories that can be found from the root. @@ -548,10 +551,12 @@ again: case DFOUND: inp = getinoinfo(dirp->d_ino); if (idesc->id_entryno > 2) { - if (inp->i_parent == 0) + if (inp->i_parent == 0) { inp->i_parent = idesc->id_number; - else if ((n = fix_extraneous(inp, idesc)) == 1) + check_dirdepth(inp); + } else if ((n = fix_extraneous(inp, idesc))) { break; + } } /* FALLTHROUGH */ diff --git a/sbin/fsck_ffs/pass3.c b/sbin/fsck_ffs/pass3.c index 22cb0393905b..b9d24f18371b 100644 --- a/sbin/fsck_ffs/pass3.c +++ b/sbin/fsck_ffs/pass3.c @@ -74,7 +74,7 @@ pass3(void) if (inp->i_number == UFS_ROOTINO || (inp->i_parent != 0 && !S_IS_DUNFOUND(state))) continue; - if (state == DCLEAR) + if (state == DCLEAR || state == DZLINK) continue; /* * If we are running with soft updates and we come @@ -102,6 +102,7 @@ pass3(void) inoinfo(lfdir)->ino_linkcnt--; } inoinfo(orphan)->ino_state = DFOUND; + check_dirdepth(inp); propagate(); continue; } @@ -127,6 +128,7 @@ pass3(void) } irelse(&ip); inoinfo(orphan)->ino_state = DFOUND; + check_dirdepth(inp); propagate(); } } diff --git a/sbin/fsdb/fsdb.c b/sbin/fsdb/fsdb.c index c935f88952b4..4d66194bf86d 100644 --- a/sbin/fsdb/fsdb.c +++ b/sbin/fsdb/fsdb.c @@ -781,7 +781,7 @@ CMDFUNCSTART(rm) if (!checkactivedir()) return 1; - rval = changeino(curinum, argv[1], 0); + rval = changeino(curinum, argv[1], 0, 0); if (rval & ALTERED) { printf("Name `%s' removed\n", argv[1]); return 0; diff --git a/sbin/newfs/mkfs.c b/sbin/newfs/mkfs.c index 6fc6a2475075..3d19fc88fd79 100644 --- a/sbin/newfs/mkfs.c +++ b/sbin/newfs/mkfs.c @@ -912,8 +912,9 @@ fsinit(time_t utime) alloc(sblock.fs_fsize, node.dp1.di_mode); node.dp1.di_blocks = btodb(fragroundup(&sblock, node.dp1.di_size)); - wtfs(fsbtodb(&sblock, node.dp1.di_db[0]), - sblock.fs_fsize, iobuf); + node.dp1.di_dirdepth = 1; + wtfs(fsbtodb(&sblock, node.dp1.di_db[0]), + sblock.fs_fsize, iobuf); iput(&node, UFS_ROOTINO + 1); } } else { @@ -948,8 +949,9 @@ fsinit(time_t utime) alloc(sblock.fs_fsize, node.dp2.di_mode); node.dp2.di_blocks = btodb(fragroundup(&sblock, node.dp2.di_size)); - wtfs(fsbtodb(&sblock, node.dp2.di_db[0]), - sblock.fs_fsize, iobuf); + node.dp2.di_dirdepth = 1; + wtfs(fsbtodb(&sblock, node.dp2.di_db[0]), + sblock.fs_fsize, iobuf); iput(&node, UFS_ROOTINO + 1); } } diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c index 4b0c7b108cb6..6d37afcfadf6 100644 --- a/sys/ufs/ffs/ffs_alloc.c +++ b/sys/ufs/ffs/ffs_alloc.c @@ -1179,6 +1179,8 @@ retry: } ip->i_flags = 0; DIP_SET(ip, i_flags, 0); + if ((mode & IFMT) == IFDIR) + DIP_SET(ip, i_dirdepth, DIP(pip, i_dirdepth) + 1); /* * Set up a new generation number for this inode. */ @@ -1238,10 +1240,10 @@ static ino_t ffs_dirpref(struct inode *pip) { struct fs *fs; - int cg, prefcg, dirsize, cgsize; + int cg, prefcg, curcg, dirsize, cgsize; + int depth, range, start, end, numdirs, power, numerator, denominator; u_int avgifree, avgbfree, avgndir, curdirsize; u_int minifree, minbfree, maxndir; - u_int mincg, minndir; u_int maxcontigdirs; mtx_assert(UFS_MTX(ITOUMP(pip)), MA_OWNED); @@ -1252,35 +1254,53 @@ ffs_dirpref(struct inode *pip) avgndir = fs->fs_cstotal.cs_ndir / fs->fs_ncg; /* - * Force allocation in another cg if creating a first level dir. - */ - ASSERT_VOP_LOCKED(ITOV(pip), "ffs_dirpref"); - if (ITOV(pip)->v_vflag & VV_ROOT) { - prefcg = arc4random() % fs->fs_ncg; - mincg = prefcg; - minndir = fs->fs_ipg; - for (cg = prefcg; cg < fs->fs_ncg; cg++) - if (fs->fs_cs(fs, cg).cs_ndir < minndir && - fs->fs_cs(fs, cg).cs_nifree >= avgifree && - fs->fs_cs(fs, cg).cs_nbfree >= avgbfree) { - mincg = cg; - minndir = fs->fs_cs(fs, cg).cs_ndir; - } - for (cg = 0; cg < prefcg; cg++) - if (fs->fs_cs(fs, cg).cs_ndir < minndir && - fs->fs_cs(fs, cg).cs_nifree >= avgifree && - fs->fs_cs(fs, cg).cs_nbfree >= avgbfree) { - mincg = cg; - minndir = fs->fs_cs(fs, cg).cs_ndir; - } - return ((ino_t)(fs->fs_ipg * mincg)); - } + * Select a preferred cylinder group to place a new directory. + * If we are near the root of the filesystem we aim to spread + * them out as much as possible. As we descend deeper from the + * root we cluster them closer together around their parent as + * we expect them to be more closely interactive. Higher-level + * directories like usr/src/sys and usr/src/bin should be + * separated while the directories in these areas are more + * likely to be accessed together so should be closer. + * + * We pick a range of cylinder groups around the cylinder group + * of the directory in which we are being created. The size of + * the range for our search is based on our depth from the root + * of our filesystem. We then probe that range based on how many + * directories are already present. The first new directory is at + * 1/2 (middle) of the range; the second is in the first 1/4 of the + * range, then at 3/4, 1/8, 3/8, 5/8, 7/8, 1/16, 3/16, 5/16, etc. + */ + depth = DIP(pip, i_dirdepth); + range = fs->fs_ncg / (1 << depth); + curcg = ino_to_cg(fs, pip->i_number); + start = curcg - (range / 2); + if (start < 0) + start += fs->fs_ncg; + end = curcg + (range / 2); + if (end >= fs->fs_ncg) + end -= fs->fs_ncg; + numdirs = pip->i_effnlink - 1; + power = fls(numdirs); + numerator = (numdirs & ~(1 << (power - 1))) * 2 + 1; + denominator = 1 << power; + prefcg = (curcg - (range / 2) + (range * numerator / denominator)); + if (prefcg < 0) + prefcg += fs->fs_ncg; + if (prefcg >= fs->fs_ncg) + prefcg -= fs->fs_ncg; + /* + * If this filesystem is not tracking directory depths, + * revert to the old algorithm. + */ + if (depth == 0 && pip->i_number != UFS_ROOTINO) + prefcg = curcg; /* * Count various limits which used for * optimal allocation of a directory inode. */ - maxndir = min(avgndir + fs->fs_ipg / 16, fs->fs_ipg); + maxndir = min(avgndir + (1 << depth), fs->fs_ipg); minifree = avgifree - avgifree / 4; if (minifree < 1) minifree = 1; @@ -1324,7 +1344,6 @@ ffs_dirpref(struct inode *pip) * in new cylinder groups so finds every possible block after * one pass over the filesystem. */ - prefcg = ino_to_cg(fs, pip->i_number); for (cg = prefcg; cg < fs->fs_ncg; cg++) if (fs->fs_cs(fs, cg).cs_ndir < maxndir && fs->fs_cs(fs, cg).cs_nifree >= minifree && diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index d784d8d0fd1a..ff72dad97250 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -12485,17 +12485,6 @@ softdep_update_inodeblock( KASSERT(MOUNTEDSOFTDEP(mp) != 0, ("softdep_update_inodeblock called on non-softdep filesystem")); fs = ump->um_fs; - /* - * Preserve the freelink that is on disk. clear_unlinked_inodedep() - * does not have access to the in-core ip so must write directly into - * the inode block buffer when setting freelink. - */ - if (fs->fs_magic == FS_UFS1_MAGIC) - DIP_SET(ip, i_freelink, ((struct ufs1_dinode *)bp->b_data + - ino_to_fsbo(fs, ip->i_number))->di_freelink); - else - DIP_SET(ip, i_freelink, ((struct ufs2_dinode *)bp->b_data + - ino_to_fsbo(fs, ip->i_number))->di_freelink); /* * If the effective link count is not equal to the actual link * count, then we must track the difference in an inodedep while @@ -12511,6 +12500,21 @@ again: panic("softdep_update_inodeblock: bad link count"); return; } + /* + * Preserve the freelink that is on disk. clear_unlinked_inodedep() + * does not have access to the in-core ip so must write directly into + * the inode block buffer when setting freelink. + */ + if ((inodedep->id_state & UNLINKED) != 0) { + if (fs->fs_magic == FS_UFS1_MAGIC) + DIP_SET(ip, i_freelink, + ((struct ufs1_dinode *)bp->b_data + + ino_to_fsbo(fs, ip->i_number))->di_freelink); + else + DIP_SET(ip, i_freelink, + ((struct ufs2_dinode *)bp->b_data + + ino_to_fsbo(fs, ip->i_number))->di_freelink); + } KASSERT(ip->i_nlink >= inodedep->id_nlinkdelta, ("softdep_update_inodeblock inconsistent ip %p i_nlink %d " "inodedep %p id_nlinkdelta %jd", diff --git a/sys/ufs/ufs/dinode.h b/sys/ufs/ufs/dinode.h index 840a4cc7d40f..e4a424abe2e6 100644 --- a/sys/ufs/ufs/dinode.h +++ b/sys/ufs/ufs/dinode.h @@ -156,7 +156,10 @@ struct ufs2_dinode { [(UFS_NDADDR + UFS_NIADDR) * sizeof(ufs2_daddr_t)]; }; u_int64_t di_modrev; /* 232: i_modrev for NFSv4 */ - uint32_t di_freelink; /* 240: SUJ: Next unlinked inode. */ + union { + uint32_t di_freelink; /* 240: SUJ: Next unlinked inode. */ + uint32_t di_dirdepth; /* 240: IFDIR: depth from root dir */ + }; uint32_t di_ckhash; /* 244: if CK_INODE, its check-hash */ uint32_t di_spare[2]; /* 248: Reserved; currently unused */ }; @@ -179,7 +182,10 @@ struct ufs2_dinode { struct ufs1_dinode { u_int16_t di_mode; /* 0: IFMT, permissions; see below. */ int16_t di_nlink; /* 2: File link count. */ - uint32_t di_freelink; /* 4: SUJ: Next unlinked inode. */ + union { + uint32_t di_freelink; /* 4: SUJ: Next unlinked inode. */ + uint32_t di_dirdepth; /* 4: IFDIR: depth from root dir */ + }; u_int64_t di_size; /* 8: File byte count. */ int32_t di_atime; /* 16: Last access time. */ int32_t di_atimensec; /* 20: Last access time. */ diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index 1ebb3597b925..985641b02378 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -1723,6 +1723,10 @@ relock: * and ".." set to point to the new parent. */ if (doingdirectory && newparent) { + /* + * Set the directory depth based on its new parent. + */ + DIP_SET(fip, i_dirdepth, DIP(tdp, i_dirdepth) + 1); /* * If tip exists we simply use its link, otherwise we must * add a new one. @@ -2136,6 +2140,7 @@ ufs_mkdir( ip->i_effnlink = 2; ip->i_nlink = 2; DIP_SET(ip, i_nlink, 2); + DIP_SET(ip, i_dirdepth, DIP(dp,i_dirdepth) + 1); if (cnp->cn_flags & ISWHITEOUT) { ip->i_flags |= UF_OPAQUE; From nobody Sat Apr 29 18:08:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7yBV6kjXz483lQ; Sat, 29 Apr 2023 18:08: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 4Q7yBV6DDRz3H6X; Sat, 29 Apr 2023 18:08:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682791682; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uUh0jZTzgSzUPaCXvi0NIbOtgmT9YlM/i7WZXt3QtGk=; b=IGcD25ZEh6gZb0+pj8UX+/PeFTsgG9+u9N1owrk5HSp80+bHrM77a6TOtBgEgtOU3yudD2 tNBRBe6NZhs0a3VvsPggIsA2Zg+1AUG7u9q3NP3UQlsbxegQIxEg/E/k+0aDY6lhmtEVIg e6sUerLti2aouAm58ngowcK9Ry35xtDlSWKKwudSoSF44g/YT5pbYipn5cGl8MTTTdnd6j V5OcaBpqsur35VtXgZDUPy4/HoWMx1sI3wC+zFvfGOU34/sJINVDZSpe79rxyvAIUJeFyU iDodvoivAE1bMIYu1UfK0tKdGl8oIEPzQdwWBVTjLSlTB2npydPnOWiA3PIbCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682791682; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uUh0jZTzgSzUPaCXvi0NIbOtgmT9YlM/i7WZXt3QtGk=; b=W1RVbGTabOtumnapWMUsX6iGxsmD8j5CVFB9FVJcwySegjrk+UabcKS8NHAjc+rqZ8B1Zf 8l0IAaUs1fSe9/Ovhl+kNQzqfG0ovDyWMI4Giky6JuhHnwHKfK3GYcxapAdAd1rQMcHuC7 NuXi65DqKFFi+RcypyZsGpuvG1Y2UsjDcsvO6a9XQMyTV/o2BmTuNAdhS2uRrZnOQF43Od Epjd8KV9JHvVaaVdHxH+Emug652F78+9KwqNBfAbJQ7ek9RzefVKLI+5drvJDKT/W4E+5v tyr4mYl6OwhMlRso+Vv0VQPEHHeoisW+Zl7fCSJnWcxWSeNwLQwlQDeRBFdE6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682791682; a=rsa-sha256; cv=none; b=GnPQ3TbOYJoAbLJOTwYFivFNlzam0uDxg4PZZtj3y0v1bhjA8rSwVP6rh8g61cnXHZhkib 5KR+l/Si5qNVGqi42eyXcq4vRqi0fXcuVZ/FHcnyN7SbGV0xc/6cZzCWZBtB262GyJaRx8 kJvcBjClWxsvxvjYoIqi2RQYB8YrCAzYLnvvzrxLrzCdDHqyQViWapfa6gCpZ2MWoQWYhB DXCIc8mMtVOF8lR4qjX/mFCc3Tzc8LGOVrJQUyz584gZUMS2RowBXJwId9p91FlhqJ18Le dJ+KBA6XYjQPmGMS+QWgbqbE0EY1urYSiE0I4hC7OJ/hmOxDW8zakoi2Qn7IFQ== 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 4Q7yBV5GNszrxx; Sat, 29 Apr 2023 18:08: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 33TI82K9003237; Sat, 29 Apr 2023 18:08:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33TI82JA003236; Sat, 29 Apr 2023 18:08:02 GMT (envelope-from git) Date: Sat, 29 Apr 2023 18:08:02 GMT Message-Id: <202304291808.33TI82JA003236@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: 146ba7a1d60c - stable/13 - Add `chdb' command to fsdb(8) to set direct block numbers. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 146ba7a1d60c7ab8959d41ccfdd2543cc5d18b34 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=146ba7a1d60c7ab8959d41ccfdd2543cc5d18b34 commit 146ba7a1d60c7ab8959d41ccfdd2543cc5d18b34 Author: Kirk McKusick AuthorDate: 2023-04-18 05:42:32 +0000 Commit: Kirk McKusick CommitDate: 2023-04-29 18:04:53 +0000 Add `chdb' command to fsdb(8) to set direct block numbers. (cherry picked from commit 7636973c68f15419a71bc8e4253b2fbae3258025) --- sbin/fsdb/fsdb.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/sbin/fsdb/fsdb.c b/sbin/fsdb/fsdb.c index 4d66194bf86d..f907ea160a16 100644 --- a/sbin/fsdb/fsdb.c +++ b/sbin/fsdb/fsdb.c @@ -161,6 +161,7 @@ CMDFUNC(chatime); /* Change atime */ CMDFUNC(chinum); /* Change inode # of dirent */ CMDFUNC(chname); /* Change dirname of dirent */ CMDFUNC(chsize); /* Change size */ +CMDFUNC(chdb); /* Change direct block pointer */ struct cmdtable cmds[] = { { "help", "Print out help", 1, 1, FL_RO, helpfn }, @@ -195,6 +196,7 @@ struct cmdtable cmds[] = { { "mtime", "Change mtime of current inode to MTIME", 2, 2, FL_WR, chmtime }, { "ctime", "Change ctime of current inode to CTIME", 2, 2, FL_WR, chctime }, { "atime", "Change atime of current inode to ATIME", 2, 2, FL_WR, chatime }, + { "chdb", "Change db pointer N of current inode to BLKNO", 3, 3, FL_WR, chdb }, { "quit", "Exit", 1, 1, FL_RO, quit }, { "q", "Exit", 1, 1, FL_RO, quit }, { "exit", "Exit", 1, 1, FL_RO, quit }, @@ -1046,6 +1048,36 @@ CMDFUNCSTART(chsize) return rval; } +CMDFUNC(chdb) +{ + unsigned int idx; + daddr_t bno; + char *cp; + + if (!checkactive()) + return 1; + + idx = strtoull(argv[1], &cp, 0); + if (cp == argv[1] || *cp != '\0') { + warnx("bad pointer idx `%s'", argv[1]); + return 1; + } + bno = strtoll(argv[2], &cp, 0); + if (cp == argv[2] || *cp != '\0') { + warnx("bad block number `%s'", argv[2]); + return 1; + } + if (idx >= UFS_NDADDR) { + warnx("pointer index %d is out of range", idx); + return 1; + } + + DIP_SET(curinode, di_db[idx], bno); + inodirty(&curip); + printactive(0); + return 0; +} + CMDFUNCSTART(linkcount) { int rval = 1; From nobody Sat Apr 29 18:11:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7yFy4D27z484Xf; Sat, 29 Apr 2023 18:11: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 4Q7yFy3XjBz3HXJ; Sat, 29 Apr 2023 18:11:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682791862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=onifTwhC1zRluxUt573QI+HxHM2yUnJCSHLvbYjYlok=; b=RicWbCXukJQW1C3ROXor69M8jFc6V2S4qdJaWHY2lLqrUXrqfk53E+wLvs+8Gj6v6x3vvl 8igSNm5VRNtSdXkYCxv+CGIpEblKD1AU0GRLTTMMQBv8S+mNFoPSVRKYHXPSkEQJWk/TNg 1hdVX2M9j0PkV0FBu4ZhiS4JbI409gp/nR2i0qFQU0NMYy9HCdMb9y35t4mSPFYcb357aU XacFBrCYzfPxv554bn+cfUedrCqDfAhjnMba3oTcYt/PF89MlnzRJDOpKLhKzeZyS6Fr2j U3w56UaYEbONkNi7eD+HhQo9GpSG5cWoVQgqQm0GhxC4mp319G0uB7/W22EXbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682791862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=onifTwhC1zRluxUt573QI+HxHM2yUnJCSHLvbYjYlok=; b=t289pfI7H5B7+je+JDd9gL2efj7UAr2apuBi9mHqJ+4Mo1VWhe5XboAW7a2SaoMuf8J24R mLniUO8swZ+W6MHzGDFsBTPM/N+ENe2M/mmeXz8S9sO7RJrZ1I2e9bAnOAA0m/gbiDer53 2L5QRi5XoF9WI3nBRCEXXEvwYeYglCLXrlSpg0Z17Vk2EBge9mt+Z9UDnAkm4XDcE/yrCA 4EwfxQp800JkKeoOTbsu4rHfPM6brmoFWzQjIW40vSKxZxUJwsU1yzAOIpW1U1w+v98dnr jnQ1Yz4KK01DArGh09ITaVbPCWh+5zN2rbom2hEMi1KcoMvSnoRHqCwVCKMu0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682791862; a=rsa-sha256; cv=none; b=nVenGzRr29NAwdg5vMU61pEAhf7L1ZiagdDUIF+dLvByBymVAngETIVJqY7JxSS/fwvt3e 16DeRiPLAYatdFZZk2MVuSvqWs5251rHz2V0RIZi+GmWLNWqax6Py4r4m0y+53jMd6AKon RImkQZWuh//7Sf5lSw74jqy56wCoQbcH1ZmSnv7vkVtcJnJ6aj0QRw3IBfTUjrHv8l3cNM y+hpifZJ4yw3W/1WCtAGmhoIGCvyx63PXqr2/ms9FXysCOpF32UDXcymOkFm0tAJJth9fQ ex4SVv9mKV7OwLSlahHJ0LVrYR6rjvYHhX9PJJq5bqLNb28Cs30+1TolVAvt6A== 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 4Q7yFy2W6wzrY5; Sat, 29 Apr 2023 18:11: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 33TIB2bh016455; Sat, 29 Apr 2023 18:11:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33TIB2mV016454; Sat, 29 Apr 2023 18:11:02 GMT (envelope-from git) Date: Sat, 29 Apr 2023 18:11:02 GMT Message-Id: <202304291811.33TIB2mV016454@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: b180a0773bef - stable/13 - Bug fixes for fsck_ffs(8). List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b180a0773bef95880e06b0ee4a1635ab6c077175 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=b180a0773bef95880e06b0ee4a1635ab6c077175 commit b180a0773bef95880e06b0ee4a1635ab6c077175 Author: Kirk McKusick AuthorDate: 2023-04-18 06:03:30 +0000 Commit: Kirk McKusick CommitDate: 2023-04-29 18:09:01 +0000 Bug fixes for fsck_ffs(8). Sponsored by: Netflix (cherry picked from commit 18746531a881356ed24b6ef2fdc9e50707642163) --- sbin/fsck_ffs/fsutil.c | 4 +++- sbin/fsck_ffs/inode.c | 10 ++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/sbin/fsck_ffs/fsutil.c b/sbin/fsck_ffs/fsutil.c index 44b3e50da012..8f5b09cfe610 100644 --- a/sbin/fsck_ffs/fsutil.c +++ b/sbin/fsck_ffs/fsutil.c @@ -319,8 +319,10 @@ getdatablk(ufs2_daddr_t blkno, long size, int type) * Skip check for inodes because chkrange() considers * metadata areas invalid to write data. */ - if (type != BT_INODES && chkrange(blkno, size / sblock.fs_fsize)) + if (type != BT_INODES && chkrange(blkno, size / sblock.fs_fsize)) { + failedbuf.b_refcnt++; return (&failedbuf); + } bhdp = &bufhashhd[HASH(blkno)]; LIST_FOREACH(bp, bhdp, b_hash) if (bp->b_bno == fsbtodb(&sblock, blkno)) { diff --git a/sbin/fsck_ffs/inode.c b/sbin/fsck_ffs/inode.c index a46fea0607a0..37b0f9ebc1b1 100644 --- a/sbin/fsck_ffs/inode.c +++ b/sbin/fsck_ffs/inode.c @@ -747,6 +747,7 @@ snapremove(ino_t inum) bzero(&snaplist[i - 1], sizeof(struct inode)); snapcnt--; } + memset(&idesc, 0, sizeof(struct inodesc)); idesc.id_type = SNAP; idesc.id_func = snapclean; idesc.id_number = inum; @@ -767,14 +768,15 @@ snapclean(struct inodesc *idesc) if (blkno == 0) return (KEEPON); - bp = idesc->id_bp; dp = idesc->id_dp; if (blkno == BLK_NOCOPY || blkno == BLK_SNAP) { - if (idesc->id_lbn < UFS_NDADDR) + if (idesc->id_lbn < UFS_NDADDR) { DIP_SET(dp, di_db[idesc->id_lbn], 0); - else + } else { + bp = idesc->id_bp; IBLK_SET(bp, bp->b_index, 0); - dirty(bp); + dirty(bp); + } } return (KEEPON); } From nobody Sat Apr 29 18:16:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7yMx15q8z4857B; Sat, 29 Apr 2023 18:16: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 4Q7yMx0T2Dz3JGL; Sat, 29 Apr 2023 18:16:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682792173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g2rZESSbtSe6q1EAPyF3TPNb1FOxulznI6EoTY5sH0w=; b=UmOS/g61TMJMQ2bIIqfqDHPqKcY+VCUPanpbWdsum0osDjbU+IErgK+V57MJLvo2Fagh/9 kUsdnJm6EArniCK5EOjxHfeB+ohj+J49soCZkghnWwHDDL8Wiwlb6a2p5KOrnhgT58VZ0C lZF7ayA5ONJSYxQ9e2MO1KODsVH8rP6mDKIH8NqPrWXW5MeQHI2lub7LMzxPrWdTc6wlBL VaDtbcabvMzNvuViXQ1tGIYmbQcd3X4g+3+gN2GxEH7WO0L79SADxSrv4VqDO2L+dNtVma rxtFMQ72ZNqcinQ9XcMLEFwRhGiYyJKm4qFKP2zkiCd97tbvkCF0bLk30voaIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682792173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g2rZESSbtSe6q1EAPyF3TPNb1FOxulznI6EoTY5sH0w=; b=sYgFP/hbTIquh+yrIXUEWokjo9S00j0kkG2LOoEfiDZIdpVZXYAdljrs2PDaTpTjgexTZp rf0IgeTV9mlQ1w5M3wW4ST57Yvxkqy/jzvNadAqLJTwSe8MGwmBA7gJUfvgilKlni2BciW jtBLVauCAyIQslN8jIS2OTWY4Cs4KHqyXc9fdDKx7iWgQ9gH6/ao+vHnPwq4PKUa5/QYuD Dg3YecLm/6MF99++5f3W91AagBG8M0ojpspIHhc2QwwUZHbO4FTBfLbRVfD0nwl6ha2Y1A wxPxdybynP/QPvYfevTFW0raZOEXkuMyBFG5W1Rq4w7jyYrHjJ6SWJhzUI/I1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682792173; a=rsa-sha256; cv=none; b=V/Aa6TtS2WIGI3stD0wEQZv7vyJE7aEywS9Or3zULLd38LruMpU9tPUaUhx3TNNYGYxNP0 d7MtUHd7pCZNo3XVw1rgGP2wIv1CfjSnWc1/4N7wA+/TFpsjxSCxY98hj/W2R3KgpsFuQr UbYSj9p0JPbeYPqBMEDK+1fButOT0yCH2MfpMR4WX4CjpXXswqnufHvCgjkb8Rwjp3TJ/k s3GIajFXKZPyTGgrurPsmWTZs/uL5kRK2RR1aeKhOd0IWxuXk69BboZgBfb9zPllFQHRlj +q067KNjcnM/5bHSuYJLjwcYHVNRYjxT2A3Q0TbsSAxASG6aX4wZkuZnMj9zJA== 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 4Q7yMw6Ptdzrkg; Sat, 29 Apr 2023 18:16: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 33TIGCN8019061; Sat, 29 Apr 2023 18:16:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33TIGCgZ019060; Sat, 29 Apr 2023 18:16:12 GMT (envelope-from git) Date: Sat, 29 Apr 2023 18:16:12 GMT Message-Id: <202304291816.33TIGCgZ019060@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: 0c6c748f7827 - stable/13 - Skip Pass 5 in fsck_ffs(8) when corrupt cylinder groups remain unfixed. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0c6c748f7827b2e9c86a61193a9147a26df1ce33 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=0c6c748f7827b2e9c86a61193a9147a26df1ce33 commit 0c6c748f7827b2e9c86a61193a9147a26df1ce33 Author: Kirk McKusick AuthorDate: 2023-04-18 23:10:49 +0000 Commit: Kirk McKusick CommitDate: 2023-04-29 18:12:12 +0000 Skip Pass 5 in fsck_ffs(8) when corrupt cylinder groups remain unfixed. Sponsored by: FreeBSD Foundation (cherry picked from commit da86e7a20dc4a4b17e8d9e7630ed9b675cf71702) --- sbin/fsck_ffs/fsck.h | 3 ++- sbin/fsck_ffs/fsutil.c | 8 ++++++-- sbin/fsck_ffs/globs.c | 2 ++ sbin/fsck_ffs/inode.c | 4 ++-- sbin/fsck_ffs/main.c | 9 +++++++-- sbin/fsck_ffs/pass1.c | 30 +++++++++++++++++------------- 6 files changed, 36 insertions(+), 20 deletions(-) diff --git a/sbin/fsck_ffs/fsck.h b/sbin/fsck_ffs/fsck.h index 5ce5ca9e29a5..12a06e69b5fc 100644 --- a/sbin/fsck_ffs/fsck.h +++ b/sbin/fsck_ffs/fsck.h @@ -346,6 +346,7 @@ extern off_t bflag; /* location of alternate super block */ extern int bkgrdflag; /* use a snapshot to run on an active system */ extern char *blockmap; /* ptr to primary blk allocation map */ extern char *cdevname; /* name of device being checked */ +extern int cgheader_corrupt; /* one or more CG headers are corrupt */ extern char ckclean; /* only do work if not cleanly unmounted */ extern int ckhashadd; /* check hashes to be added */ extern char *copybuf; /* buffer to copy snapshot blocks */ @@ -494,7 +495,7 @@ int ftypeok(union dinode *dp); void getblk(struct bufarea *bp, ufs2_daddr_t blk, long size); struct bufarea *getdatablk(ufs2_daddr_t blkno, long size, int type); struct inoinfo *getinoinfo(ino_t inumber); -union dinode *getnextinode(ino_t inumber, int rebuildcg); +union dinode *getnextinode(ino_t inumber, int rebuiltcg); void getpathname(char *namebuf, ino_t curdir, ino_t ino); void ginode(ino_t, struct inode *); void gjournal_check(const char *filesys); diff --git a/sbin/fsck_ffs/fsutil.c b/sbin/fsck_ffs/fsutil.c index 8f5b09cfe610..974dba4be79b 100644 --- a/sbin/fsck_ffs/fsutil.c +++ b/sbin/fsck_ffs/fsutil.c @@ -987,6 +987,10 @@ blzero(int fd, ufs2_daddr_t blk, long size) /* * Verify cylinder group's magic number and other parameters. If the * test fails, offer an option to rebuild the whole cylinder group. + * + * Return 1 if the cylinder group is good or if repair is requested + * and is completed successfully. Return 0 if it is bad or if a repair + * has been requested but is not completed successfully. */ #undef CHK #define CHK(lhs, op, rhs, fmt) \ @@ -1079,7 +1083,7 @@ check_cgmagic(int cg, struct bufarea *cgbp, int request_rebuild) if (!reply("REBUILD CYLINDER GROUP")) { printf("YOU WILL NEED TO RERUN FSCK.\n"); rerun = 1; - return (1); + return (0); } /* * Zero out the cylinder group and then initialize critical fields. @@ -1122,7 +1126,7 @@ check_cgmagic(int cg, struct bufarea *cgbp, int request_rebuild) } cgp->cg_ckhash = calculate_crc32c(~0L, (void *)cgp, sblock.fs_cgsize); cgdirty(cgbp); - return (0); + return (1); } /* diff --git a/sbin/fsck_ffs/globs.c b/sbin/fsck_ffs/globs.c index 09dbcc6694a2..92e77b61f9d4 100644 --- a/sbin/fsck_ffs/globs.c +++ b/sbin/fsck_ffs/globs.c @@ -111,6 +111,7 @@ ino_t lfdir; /* lost & found directory inode number */ const char *lfname; /* lost & found directory name */ int lfmode; /* lost & found directory creation mode */ ufs2_daddr_t n_blks; /* number of blocks in use */ +int cgheader_corrupt; /* one or more CG headers are corrupt */ ino_t n_files; /* number of files in use */ volatile sig_atomic_t got_siginfo; /* received a SIGINFO */ volatile sig_atomic_t got_sigalarm; /* received a SIGALRM */ @@ -166,6 +167,7 @@ fsckinit(void) lfmode = 0700; n_blks = 0; n_files = 0; + cgheader_corrupt = 0; got_siginfo = 0; got_sigalarm = 0; bzero(&zino.dp1, sizeof(struct ufs1_dinode)); diff --git a/sbin/fsck_ffs/inode.c b/sbin/fsck_ffs/inode.c index 37b0f9ebc1b1..2d563f617a56 100644 --- a/sbin/fsck_ffs/inode.c +++ b/sbin/fsck_ffs/inode.c @@ -510,7 +510,7 @@ static ino_t nextinum, lastvalidinum; static long readcount, readpercg, fullcnt, inobufsize, partialcnt, partialsize; union dinode * -getnextinode(ino_t inumber, int rebuildcg) +getnextinode(ino_t inumber, int rebuiltcg) { int j; long size; @@ -569,7 +569,7 @@ getnextinode(ino_t inumber, int rebuildcg) dirty(&inobuf); } } - if (rebuildcg && (char *)dp == inobuf.b_un.b_buf) { + if (rebuiltcg && (char *)dp == inobuf.b_un.b_buf) { /* * Try to determine if we have reached the end of the * allocated inodes. diff --git a/sbin/fsck_ffs/main.c b/sbin/fsck_ffs/main.c index 74329bdb9483..e559f6cb4ea6 100644 --- a/sbin/fsck_ffs/main.c +++ b/sbin/fsck_ffs/main.c @@ -490,8 +490,13 @@ checkfilesys(char *filesys) if (preen == 0) printf("** Phase 5 - Check Cyl groups\n"); snapflush(std_checkblkavail); - pass5(); - IOstats("Pass5"); + if (cgheader_corrupt) { + printf("PHASE 5 SKIPPED DUE TO CORRUPT CYLINDER GROUP " + "HEADER(S)\n"); + } else { + pass5(); + IOstats("Pass5"); + } /* * print out summary statistics diff --git a/sbin/fsck_ffs/pass1.c b/sbin/fsck_ffs/pass1.c index afe9f7f2b789..55233e0bc4f4 100644 --- a/sbin/fsck_ffs/pass1.c +++ b/sbin/fsck_ffs/pass1.c @@ -56,7 +56,7 @@ static ufs2_daddr_t badblk; static ufs2_daddr_t dupblk; static ino_t lastino; /* last inode in use */ -static int checkinode(ino_t inumber, struct inodesc *, int rebuildcg); +static int checkinode(ino_t inumber, struct inodesc *, int rebuiltcg); void pass1(void) @@ -68,7 +68,7 @@ pass1(void) ino_t inumber, inosused, mininos; ufs2_daddr_t i, cgd; u_int8_t *cp; - int c, rebuildcg; + int c, rebuiltcg; badblk = dupblk = lastino = 0; @@ -99,10 +99,14 @@ pass1(void) inumber = c * sblock.fs_ipg; cgbp = cglookup(c); cgp = cgbp->b_un.b_cg; - rebuildcg = 0; - if (!check_cgmagic(c, cgbp, 1)) - rebuildcg = 1; - if (!rebuildcg && sblock.fs_magic == FS_UFS2_MAGIC) { + rebuiltcg = 0; + if (!check_cgmagic(c, cgbp, 0)) { + if (!check_cgmagic(c, cgbp, 1)) + cgheader_corrupt = 1; + else + rebuiltcg = 1; + } + if (!rebuiltcg && sblock.fs_magic == FS_UFS2_MAGIC) { inosused = cgp->cg_initediblk; if (inosused > sblock.fs_ipg) { pfatal("Too many initialized inodes (%ju > %d) " @@ -132,7 +136,7 @@ pass1(void) * to find the inodes that are really in use, and then * read only those inodes in from disk. */ - if ((preen || inoopt) && usedsoftdep && !rebuildcg) { + if ((preen || inoopt) && usedsoftdep && !rebuiltcg) { cp = &cg_inosused(cgp)[(inosused - 1) / CHAR_BIT]; for ( ; inosused != 0; cp--) { if (*cp == 0) { @@ -169,7 +173,7 @@ pass1(void) setinodebuf(c, inosused); for (i = 0; i < inosused; i++, inumber++) { if (inumber < UFS_ROOTINO) { - (void)getnextinode(inumber, rebuildcg); + (void)getnextinode(inumber, rebuiltcg); continue; } /* @@ -178,7 +182,7 @@ pass1(void) * We always keep trying until we get to the minimum * valid number for this cylinder group. */ - if (checkinode(inumber, &idesc, rebuildcg) == 0 && + if (checkinode(inumber, &idesc, rebuiltcg) == 0 && i > cgp->cg_initediblk) break; } @@ -189,7 +193,7 @@ pass1(void) * fewer in use. */ mininos = roundup(inosused + INOPB(&sblock), INOPB(&sblock)); - if (inoopt && !preen && !rebuildcg && + if (inoopt && !preen && !rebuiltcg && sblock.fs_magic == FS_UFS2_MAGIC && cgp->cg_initediblk > 2 * INOPB(&sblock) && mininos < cgp->cg_initediblk) { @@ -209,7 +213,7 @@ pass1(void) inosused = 0; else inosused = lastino - (c * sblock.fs_ipg); - if (rebuildcg && inosused > cgp->cg_initediblk && + if (rebuiltcg && inosused > cgp->cg_initediblk && sblock.fs_magic == FS_UFS2_MAGIC) { cgp->cg_initediblk = roundup(inosused, INOPB(&sblock)); pwarn("CYLINDER GROUP %d: FOUND %d VALID INODES\n", c, @@ -242,7 +246,7 @@ pass1(void) } static int -checkinode(ino_t inumber, struct inodesc *idesc, int rebuildcg) +checkinode(ino_t inumber, struct inodesc *idesc, int rebuiltcg) { struct inode ip; union dinode *dp; @@ -252,7 +256,7 @@ checkinode(ino_t inumber, struct inodesc *idesc, int rebuildcg) intmax_t size, fixsize; int j, ret, offset; - if ((dp = getnextinode(inumber, rebuildcg)) == NULL) { + if ((dp = getnextinode(inumber, rebuiltcg)) == NULL) { pfatal("INVALID INODE"); goto unknown; } From nobody Sat Apr 29 18:33:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7ymN3ZHGz4863G; Sat, 29 Apr 2023 18:33:56 +0000 (UTC) (envelope-from jah@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 4Q7ymN3Kd8z3LkF; Sat, 29 Apr 2023 18:33:56 +0000 (UTC) (envelope-from jah@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682793236; 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=d/KfFjpN1WFj1/ITr9bwhhs38WQFlsKar7Bpj/T5bag=; b=sFlA/XqNNkbM0yssKH/1bVX7JaYfUKsgzQKNW6xAyxc+79svkR923z+vzVkc3hg/8WZQ63 ysPgtLuxLmzPcqB641u5kUzETKClnBQMSV0y8ca3o92oFYx/4wHi2kGGZ5gjCddHjlVExC pNjKerDngKphWMpNFs+tEUVj+7xeS3WUoSCUqvy0wR57xCOPOFKFGpSmAzwiVwbd1qNI9c g0cHoxsS0+FCEYhNWyHhsn/GRpDPMMtKwkpUm1qSpEo8p3TeWFspb6dT23fEZrJyAqJFh/ zM61QWV1fh2ARSvfpWYDShit6EjeZihQXOoVp4JoXMMnM96gKQdohn1CufZMNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682793236; 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=d/KfFjpN1WFj1/ITr9bwhhs38WQFlsKar7Bpj/T5bag=; b=OCy/DJaB8aNHZx01g0+OUDwSukFW193hhcYFaTr7/TMOpCi9UnH60n/oDdndTKiaktte1N 1VsBXQCXrkCGaEb3Vqyek7r3clFNrsmjfLMRuKtGxcZofFuJ9407wNl/daHxh5l5ieMR2o uzBK3SByueJfVnsevOp0t2aJHt2uB5Bgi0AckH4Q637UnBZkZcC26gtczfdNwmdgUfOOTh VLo51pEhZExuwtx3LdoYX4khu18x0Be3raMNMYxzSpy45XsJa19QR4wOb1qlRO4jbm8+di ooOn5+qZSjKLv8fWEFO8TyhNghE+vARmUciY0Of4WWR2NROUTrLMJjLUiR7TYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682793236; a=rsa-sha256; cv=none; b=bpgdgfBwCcBixjwHy2U1Ri5XongWGzqHZb8xGe/Fya2NVstY/YX08BKmi750dPrNBRY4E5 aFB3OugWR7/hix9eLZfg0VZhF+U2fHhomi4LOO42dq63GmgAHu/ooqRnhK0AmE1SUAYgy+ TnM0PmaFyM2/+4aODekpggUCH3/Eofg5sEzywR4P+Vt3muHnhDKZAQ8DotGby4incd0KAG ol3HExmhjc1D+IsAkZlhYbpfh+YWciLPoElNt43ih9PIwifC7hHF4WGxima5CUtcMr666B l6cjDFdisT68SYcp7feYJu+ksgZb5efCyuHrKyPrljAncAuSNgOiZztizlaJ5A== Received: from corona (047-232-115-243.res.spectrum.com [47.232.115.243]) (using TLSv1.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: jah) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Q7ymM6m3JzvTS; Sat, 29 Apr 2023 18:33:55 +0000 (UTC) (envelope-from jah@freebsd.org) Date: Sat, 29 Apr 2023 13:33:53 -0500 From: "Jason A. Harmening" To: Dimitry Andric Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org Subject: Re: git: 060699e91369 - stable/13 - Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6 Message-ID: References: <202304092135.339LZMeJ081640@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202304092135.339LZMeJ081640@gitrepo.freebsd.org> X-ThisMailContainsUnwantedMimeParts: N On Sun, Apr 09, 2023 at 09:35:22PM +0000, Dimitry Andric wrote: > The branch stable/13 has been updated by dim: > > URL: https://cgit.FreeBSD.org/src/commit/?id=060699e9136975d51d3f726b9785bdbac9a62ba6 > > commit 060699e9136975d51d3f726b9785bdbac9a62ba6 > Author: Dimitry Andric > AuthorDate: 2023-01-14 16:33:24 +0000 > Commit: Dimitry Andric > CommitDate: 2023-04-09 14:54:52 +0000 > > Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6 > > This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and > openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6. > > PR: 265425 > MFC after: 2 weeks This MFC of llvm15 appears to have completely broken the Intel IOMMU driver on my stable/13 machine. After this series of commits, any downstream DMA seems to produce an IOMMU translation fault, which renders the machine completely unusable: no nvme boot disk, no usb keyboard, etc. The faults I see look something like this: DMAR4: ahci0: pci0:17:5 sid 8d fault acc 0 adt 0x0 reason 0x3 addr 26000 It's a bit surprising to see a toolchain upgrade produce breakage like this, but that's what git bisect clearly tells me. I wonder if some of the IOMMU control structures might be defined as C bitfields and the new compiler is emitting them differently? Also, was any breakage like this observed when -current was upgraded to llvm15 several months ago? More generally, this is the second time in as many months I've had to deal with IOMMU breakage on -stable. I can't imagine I'm the only person who sees value in running with DMA remapping enabled; do we need a dedicated DMAR-enabled machine in the cluster to smoke-test changes like this? More generally, should we avoid MFCing high-risk changes like this? > > (cherry picked from commit 50d7464c3fe687c0a3d4dea6b96a5437779a3ef6) > --- > ObsoleteFiles.inc | 4 +- > contrib/llvm-project/libcxx/include/__config | 2 +- > contrib/llvm-project/libcxx/include/vector | 119 ++-- > .../llvm/lib/CodeGen/PrologEpilogInserter.cpp | 8 +- > .../llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp | 3 + > .../llvm/lib/CodeGen/TypePromotion.cpp | 8 +- > etc/mtree/BSD.debug.dist | 2 +- > etc/mtree/BSD.usr.dist | 2 +- > lib/clang/headers/Makefile | 2 +- > lib/clang/include/VCSVersion.inc | 6 +- > lib/clang/include/clang/Basic/Version.inc | 6 +- > lib/clang/include/clang/Config/config.h | 2 +- > lib/clang/include/lld/Common/Version.inc | 2 +- > lib/clang/include/lldb/Version/Version.inc | 6 +- > lib/clang/include/llvm/Config/config.h | 4 +- > lib/clang/include/llvm/Config/llvm-config.h | 4 +- > lib/clang/include/llvm/Support/VCSRevision.h | 2 +- > lib/libclang_rt/compiler-rt-vars.mk | 2 +- > tools/build/mk/OptionalObsoleteFiles.inc | 644 ++++++++++----------- > 19 files changed, 440 insertions(+), 388 deletions(-) > > diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc > index 6f3d0f297515..39c3e57f93b1 100644 > --- a/ObsoleteFiles.inc > +++ b/ObsoleteFiles.inc > @@ -52,7 +52,7 @@ > # xargs -n1 | sort | uniq -d; > # done > > -# 20230410: new clang import which bumps version from 14.0.5 to 15.0.6 > +# 20230410: 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 > OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/new > @@ -363,7 +363,7 @@ OLD_FILES+=usr/lib/clang/14.0.5/share/msan_ignorelist.txt > OLD_DIRS+=usr/lib/clang/14.0.5/share > OLD_DIRS+=usr/lib/clang/14.0.5 > > -# 20230410: new libc++ import which bumps version from 14.0.5 to 15.0.6 > +# 20230410: new libc++ import which bumps version from 14.0.5 to 15.0.7 > OLD_FILES+=usr/include/c++/v1/__functional_base > OLD_FILES+=usr/include/c++/v1/__libcpp_version > OLD_FILES+=usr/include/c++/v1/__nullptr > diff --git a/contrib/llvm-project/libcxx/include/__config b/contrib/llvm-project/libcxx/include/__config > index 5f62b974170f..c97cbae96fba 100644 > --- a/contrib/llvm-project/libcxx/include/__config > +++ b/contrib/llvm-project/libcxx/include/__config > @@ -36,7 +36,7 @@ > > #ifdef __cplusplus > > -# define _LIBCPP_VERSION 15006 > +# define _LIBCPP_VERSION 15007 > > # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y > # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) > diff --git a/contrib/llvm-project/libcxx/include/vector b/contrib/llvm-project/libcxx/include/vector > index 252a0f051ff5..63759407ce94 100644 > --- a/contrib/llvm-project/libcxx/include/vector > +++ b/contrib/llvm-project/libcxx/include/vector > @@ -297,6 +297,7 @@ erase_if(vector& c, Predicate pred); // C++20 > #include <__utility/forward.h> > #include <__utility/move.h> > #include <__utility/swap.h> > +#include <__utility/transaction.h> > #include > #include > #include > @@ -425,18 +426,27 @@ public: > value_type, > typename iterator_traits<_ForwardIterator>::reference>::value>::type* = 0); > > - _LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY > - ~vector() > - { > - __annotate_delete(); > - std::__debug_db_erase_c(this); > +private: > + class __destroy_vector { > + public: > + _LIBCPP_CONSTEXPR __destroy_vector(vector& __vec) : __vec_(__vec) {} > > - if (this->__begin_ != nullptr) > - { > - __clear(); > - __alloc_traits::deallocate(__alloc(), this->__begin_, capacity()); > + _LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI void operator()() { > + __vec_.__annotate_delete(); > + std::__debug_db_erase_c(std::addressof(__vec_)); > + > + if (__vec_.__begin_ != nullptr) { > + __vec_.__clear(); > + __alloc_traits::deallocate(__vec_.__alloc(), __vec_.__begin_, __vec_.capacity()); > + } > } > - } > + > + private: > + vector& __vec_; > + }; > + > +public: > + _LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI ~vector() { __destroy_vector(*this)(); } > > _LIBCPP_CONSTEXPR_AFTER_CXX17 vector(const vector& __x); > _LIBCPP_CONSTEXPR_AFTER_CXX17 vector(const vector& __x, const __type_identity_t& __a); > @@ -1075,12 +1085,14 @@ template > _LIBCPP_CONSTEXPR_AFTER_CXX17 > vector<_Tp, _Allocator>::vector(size_type __n) > { > - _VSTD::__debug_db_insert_c(this); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + std::__debug_db_insert_c(this); > if (__n > 0) > { > __vallocate(__n); > __construct_at_end(__n); > } > + __guard.__complete(); > } > > #if _LIBCPP_STD_VER > 11 > @@ -1089,12 +1101,14 @@ _LIBCPP_CONSTEXPR_AFTER_CXX17 > vector<_Tp, _Allocator>::vector(size_type __n, const allocator_type& __a) > : __end_cap_(nullptr, __a) > { > - _VSTD::__debug_db_insert_c(this); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + std::__debug_db_insert_c(this); > if (__n > 0) > { > __vallocate(__n); > __construct_at_end(__n); > } > + __guard.__complete(); > } > #endif > > @@ -1102,12 +1116,14 @@ template > _LIBCPP_CONSTEXPR_AFTER_CXX17 > vector<_Tp, _Allocator>::vector(size_type __n, const value_type& __x) > { > - _VSTD::__debug_db_insert_c(this); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + std::__debug_db_insert_c(this); > if (__n > 0) > { > __vallocate(__n); > __construct_at_end(__n, __x); > } > + __guard.__complete(); > } > > template > @@ -1120,9 +1136,11 @@ vector<_Tp, _Allocator>::vector(_InputIterator __first, > typename iterator_traits<_InputIterator>::reference>::value, > _InputIterator>::type __last) > { > - _VSTD::__debug_db_insert_c(this); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + std::__debug_db_insert_c(this); > for (; __first != __last; ++__first) > emplace_back(*__first); > + __guard.__complete(); > } > > template > @@ -1135,9 +1153,11 @@ vector<_Tp, _Allocator>::vector(_InputIterator __first, _InputIterator __last, c > typename iterator_traits<_InputIterator>::reference>::value>::type*) > : __end_cap_(nullptr, __a) > { > - _VSTD::__debug_db_insert_c(this); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + std::__debug_db_insert_c(this); > for (; __first != __last; ++__first) > emplace_back(*__first); > + __guard.__complete(); > } > > template > @@ -1150,13 +1170,15 @@ vector<_Tp, _Allocator>::vector(_ForwardIterator __first, > typename iterator_traits<_ForwardIterator>::reference>::value, > _ForwardIterator>::type __last) > { > - _VSTD::__debug_db_insert_c(this); > - size_type __n = static_cast(_VSTD::distance(__first, __last)); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + std::__debug_db_insert_c(this); > + size_type __n = static_cast(std::distance(__first, __last)); > if (__n > 0) > { > __vallocate(__n); > __construct_at_end(__first, __last, __n); > } > + __guard.__complete(); > } > > template > @@ -1169,13 +1191,15 @@ vector<_Tp, _Allocator>::vector(_ForwardIterator __first, _ForwardIterator __las > typename iterator_traits<_ForwardIterator>::reference>::value>::type*) > : __end_cap_(nullptr, __a) > { > - _VSTD::__debug_db_insert_c(this); > - size_type __n = static_cast(_VSTD::distance(__first, __last)); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + std::__debug_db_insert_c(this); > + size_type __n = static_cast(std::distance(__first, __last)); > if (__n > 0) > { > __vallocate(__n); > __construct_at_end(__first, __last, __n); > } > + __guard.__complete(); > } > > template > @@ -1183,13 +1207,15 @@ _LIBCPP_CONSTEXPR_AFTER_CXX17 > vector<_Tp, _Allocator>::vector(const vector& __x) > : __end_cap_(nullptr, __alloc_traits::select_on_container_copy_construction(__x.__alloc())) > { > - _VSTD::__debug_db_insert_c(this); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + std::__debug_db_insert_c(this); > size_type __n = __x.size(); > if (__n > 0) > { > __vallocate(__n); > __construct_at_end(__x.__begin_, __x.__end_, __n); > } > + __guard.__complete(); > } > > template > @@ -1197,13 +1223,15 @@ _LIBCPP_CONSTEXPR_AFTER_CXX17 > vector<_Tp, _Allocator>::vector(const vector& __x, const __type_identity_t& __a) > : __end_cap_(nullptr, __a) > { > - _VSTD::__debug_db_insert_c(this); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + std::__debug_db_insert_c(this); > size_type __n = __x.size(); > if (__n > 0) > { > __vallocate(__n); > __construct_at_end(__x.__begin_, __x.__end_, __n); > } > + __guard.__complete(); > } > > template > @@ -1243,7 +1271,9 @@ vector<_Tp, _Allocator>::vector(vector&& __x, const __type_identity_t else > { > typedef move_iterator _Ip; > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > assign(_Ip(__x.begin()), _Ip(__x.end())); > + __guard.__complete(); > } > } > > @@ -1254,12 +1284,14 @@ _LIBCPP_CONSTEXPR_AFTER_CXX17 > inline _LIBCPP_INLINE_VISIBILITY > vector<_Tp, _Allocator>::vector(initializer_list __il) > { > - _VSTD::__debug_db_insert_c(this); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + std::__debug_db_insert_c(this); > if (__il.size() > 0) > { > __vallocate(__il.size()); > __construct_at_end(__il.begin(), __il.end(), __il.size()); > } > + __guard.__complete(); > } > > template > @@ -1268,12 +1300,14 @@ inline _LIBCPP_INLINE_VISIBILITY > vector<_Tp, _Allocator>::vector(initializer_list __il, const allocator_type& __a) > : __end_cap_(nullptr, __a) > { > - _VSTD::__debug_db_insert_c(this); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + std::__debug_db_insert_c(this); > if (__il.size() > 0) > { > __vallocate(__il.size()); > __construct_at_end(__il.begin(), __il.end(), __il.size()); > } > + __guard.__complete(); > } > > #endif // _LIBCPP_CXX03_LANG > @@ -2111,8 +2145,26 @@ public: > #else > _NOEXCEPT; > #endif > - _LIBCPP_CONSTEXPR_AFTER_CXX17 ~vector(); > - _LIBCPP_CONSTEXPR_AFTER_CXX17 explicit vector(size_type __n); > + > +private: > + class __destroy_vector { > + public: > + _LIBCPP_CONSTEXPR __destroy_vector(vector& __vec) : __vec_(__vec) {} > + > + _LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI void operator()() { > + if (__vec_.__begin_ != nullptr) > + __storage_traits::deallocate(__vec_.__alloc(), __vec_.__begin_, __vec_.__cap()); > + std::__debug_db_invalidate_all(this); > + } > + > + private: > + vector& __vec_; > + }; > + > +public: > + _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_AFTER_CXX17 ~vector() { __destroy_vector(*this)(); } > + > + _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_AFTER_CXX17 explicit vector(size_type __n); > #if _LIBCPP_STD_VER > 11 > _LIBCPP_CONSTEXPR_AFTER_CXX17 explicit vector(size_type __n, const allocator_type& __a); > #endif > @@ -2647,12 +2699,14 @@ vector::vector(_ForwardIterator __first, _ForwardIterator __la > __size_(0), > __cap_alloc_(0, __default_init_tag()) > { > - size_type __n = static_cast(_VSTD::distance(__first, __last)); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + size_type __n = static_cast(std::distance(__first, __last)); > if (__n > 0) > { > __vallocate(__n); > __construct_at_end(__first, __last); > } > + __guard.__complete(); > } > > template > @@ -2664,12 +2718,14 @@ vector::vector(_ForwardIterator __first, _ForwardIterator __la > __size_(0), > __cap_alloc_(0, static_cast<__storage_allocator>(__a)) > { > - size_type __n = static_cast(_VSTD::distance(__first, __last)); > + auto __guard = std::__make_transaction(__destroy_vector(*this)); > + size_type __n = static_cast(std::distance(__first, __last)); > if (__n > 0) > { > __vallocate(__n); > __construct_at_end(__first, __last); > } > + __guard.__complete(); > } > > #ifndef _LIBCPP_CXX03_LANG > @@ -2706,15 +2762,6 @@ vector::vector(initializer_list __il, const alloca > > #endif // _LIBCPP_CXX03_LANG > > -template > -_LIBCPP_CONSTEXPR_AFTER_CXX17 > -vector::~vector() > -{ > - if (__begin_ != nullptr) > - __storage_traits::deallocate(__alloc(), __begin_, __cap()); > - std::__debug_db_invalidate_all(this); > -} > - > template > _LIBCPP_CONSTEXPR_AFTER_CXX17 > vector::vector(const vector& __v) > diff --git a/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp b/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp > index 85d051cfdbe7..a8d40edd88d3 100644 > --- a/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp > +++ b/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp > @@ -1237,7 +1237,13 @@ void PEI::insertZeroCallUsedRegs(MachineFunction &MF) { > if (!MO.isReg()) > continue; > > - for (MCPhysReg SReg : TRI.sub_and_superregs_inclusive(MO.getReg())) > + MCRegister Reg = MO.getReg(); > + > + // This picks up sibling registers (e.q. %al -> %ah). > + for (MCRegUnitIterator Unit(Reg, &TRI); Unit.isValid(); ++Unit) > + RegsToZero.reset(*Unit); > + > + for (MCPhysReg SReg : TRI.sub_and_superregs_inclusive(Reg)) > RegsToZero.reset(SReg); > } > } > diff --git a/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp b/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp > index 9e4e26f1392e..cb552f212fbb 100644 > --- a/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp > +++ b/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp > @@ -443,6 +443,9 @@ void RegAllocFast::spill(MachineBasicBlock::iterator Before, Register VirtReg, > SpilledOperandsMap[MO->getParent()].push_back(MO); > for (auto MISpilledOperands : SpilledOperandsMap) { > MachineInstr &DBG = *MISpilledOperands.first; > + // We don't have enough support for tracking operands of DBG_VALUE_LISTs. > + if (DBG.isDebugValueList()) > + continue; > MachineInstr *NewDV = buildDbgValueForSpill( > *MBB, Before, *MISpilledOperands.first, FI, MISpilledOperands.second); > assert(NewDV->getParent() == MBB && "dangling parent pointer"); > diff --git a/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp b/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp > index a63118067139..36e3c1245f1c 100644 > --- a/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp > +++ b/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp > @@ -570,7 +570,6 @@ void IRPromoter::Cleanup() { > LLVM_DEBUG(dbgs() << "IR Promotion: Cleanup..\n"); > // Some zexts will now have become redundant, along with their trunc > // operands, so remove them. > - // Some zexts need to be replaced with truncate if src bitwidth is larger. > for (auto *V : Visited) { > if (!isa(V)) > continue; > @@ -585,11 +584,6 @@ void IRPromoter::Cleanup() { > << "\n"); > ReplaceAllUsersOfWith(ZExt, Src); > continue; > - } else if (ZExt->getSrcTy()->getScalarSizeInBits() > PromotedWidth) { > - IRBuilder<> Builder{ZExt}; > - Value *Trunc = Builder.CreateTrunc(Src, ZExt->getDestTy()); > - ReplaceAllUsersOfWith(ZExt, Trunc); > - continue; > } > > // We've inserted a trunc for a zext sink, but we already know that the > @@ -626,6 +620,8 @@ void IRPromoter::ConvertTruncs() { > ConstantInt *Mask = > ConstantInt::get(SrcTy, APInt::getMaxValue(NumBits).getZExtValue()); > Value *Masked = Builder.CreateAnd(Trunc->getOperand(0), Mask); > + if (SrcTy != ExtTy) > + Masked = Builder.CreateTrunc(Masked, ExtTy); > > if (auto *I = dyn_cast(Masked)) > NewInsts.insert(I); > diff --git a/etc/mtree/BSD.debug.dist b/etc/mtree/BSD.debug.dist > index a73aca740a10..1d9c926432dd 100644 > --- a/etc/mtree/BSD.debug.dist > +++ b/etc/mtree/BSD.debug.dist > @@ -31,7 +31,7 @@ > .. > lib > clang > - 15.0.6 > + 15.0.7 > lib > freebsd > .. > diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist > index 9416a70eafcd..dcb5cde47e94 100644 > --- a/etc/mtree/BSD.usr.dist > +++ b/etc/mtree/BSD.usr.dist > @@ -35,7 +35,7 @@ > .. > lib > clang > - 15.0.6 > + 15.0.7 > include > cuda_wrappers > .. > diff --git a/lib/clang/headers/Makefile b/lib/clang/headers/Makefile > index 822d934cbede..4e5a08e9fed2 100644 > --- a/lib/clang/headers/Makefile > +++ b/lib/clang/headers/Makefile > @@ -5,7 +5,7 @@ > .PATH: ${CLANG_SRCS}/lib/Headers > > INCSGROUPS= INCS CUDA HLSL OMP PPC > -INCSDIR= ${LIBDIR}/clang/15.0.6/include > +INCSDIR= ${LIBDIR}/clang/15.0.7/include > CUDADIR= ${INCSDIR}/cuda_wrappers > HLSLDIR= ${INCSDIR}/hlsl > OMPDIR= ${INCSDIR}/openmp_wrappers > diff --git a/lib/clang/include/VCSVersion.inc b/lib/clang/include/VCSVersion.inc > index df4289259487..e71c8f63b229 100644 > --- a/lib/clang/include/VCSVersion.inc > +++ b/lib/clang/include/VCSVersion.inc > @@ -1,10 +1,10 @@ > // $FreeBSD$ > > -#define LLVM_REVISION "llvmorg-15.0.6-0-g088f33605d8a" > +#define LLVM_REVISION "llvmorg-15.0.7-0-g8dfdcc7b7bf6" > #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" > > -#define CLANG_REVISION "llvmorg-15.0.6-0-g088f33605d8a" > +#define CLANG_REVISION "llvmorg-15.0.7-0-g8dfdcc7b7bf6" > #define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git" > > -#define LLDB_REVISION "llvmorg-15.0.6-0-g088f33605d8a" > +#define LLDB_REVISION "llvmorg-15.0.7-0-g8dfdcc7b7bf6" > #define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git" > diff --git a/lib/clang/include/clang/Basic/Version.inc b/lib/clang/include/clang/Basic/Version.inc > index d28210f87bed..ed380b8a0e72 100644 > --- a/lib/clang/include/clang/Basic/Version.inc > +++ b/lib/clang/include/clang/Basic/Version.inc > @@ -1,9 +1,9 @@ > /* $FreeBSD$ */ > > -#define CLANG_VERSION 15.0.6 > -#define CLANG_VERSION_STRING "15.0.6" > +#define CLANG_VERSION 15.0.7 > +#define CLANG_VERSION_STRING "15.0.7" > #define CLANG_VERSION_MAJOR 15 > #define CLANG_VERSION_MINOR 0 > -#define CLANG_VERSION_PATCHLEVEL 6 > +#define CLANG_VERSION_PATCHLEVEL 7 > > #define CLANG_VENDOR "FreeBSD " > diff --git a/lib/clang/include/clang/Config/config.h b/lib/clang/include/clang/Config/config.h > index 18a0e28d7f3f..485f33a3fad0 100644 > --- a/lib/clang/include/clang/Config/config.h > +++ b/lib/clang/include/clang/Config/config.h > @@ -80,7 +80,7 @@ > #define CLANG_HAVE_RLIMITS 1 > > /* The LLVM product name and version */ > -#define BACKEND_PACKAGE_STRING "LLVM 15.0.6" > +#define BACKEND_PACKAGE_STRING "LLVM 15.0.7" > > /* Linker version detected at compile time. */ > /* #undef HOST_LINK_VERSION */ > diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc > index edb3421ae064..c7af7cd79d0d 100644 > --- a/lib/clang/include/lld/Common/Version.inc > +++ b/lib/clang/include/lld/Common/Version.inc > @@ -1,4 +1,4 @@ > // Local identifier in __FreeBSD_version style > #define LLD_FREEBSD_VERSION 1400005 > > -#define LLD_VERSION_STRING "15.0.6 (FreeBSD llvmorg-15.0.6-0-g088f33605d8a-" __XSTRING(LLD_FREEBSD_VERSION) ")" > +#define LLD_VERSION_STRING "15.0.7 (FreeBSD llvmorg-15.0.7-0-g8dfdcc7b7bf6-" __XSTRING(LLD_FREEBSD_VERSION) ")" > diff --git a/lib/clang/include/lldb/Version/Version.inc b/lib/clang/include/lldb/Version/Version.inc > index 7dcfad4a7d30..13c0abd835a2 100644 > --- a/lib/clang/include/lldb/Version/Version.inc > +++ b/lib/clang/include/lldb/Version/Version.inc > @@ -1,6 +1,6 @@ > -#define LLDB_VERSION 15.0.6 > -#define LLDB_VERSION_STRING "15.0.6" > +#define LLDB_VERSION 15.0.7 > +#define LLDB_VERSION_STRING "15.0.7" > #define LLDB_VERSION_MAJOR 15 > #define LLDB_VERSION_MINOR 0 > -#define LLDB_VERSION_PATCH 6 > +#define LLDB_VERSION_PATCH 7 > /* #undef LLDB_FULL_VERSION_STRING */ > diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h > index 22dfdef58573..75e12c89863a 100644 > --- a/lib/clang/include/llvm/Config/config.h > +++ b/lib/clang/include/llvm/Config/config.h > @@ -353,10 +353,10 @@ > #define PACKAGE_NAME "LLVM" > > /* Define to the full name and version of this package. */ > -#define PACKAGE_STRING "LLVM 15.0.6" > +#define PACKAGE_STRING "LLVM 15.0.7" > > /* Define to the version of this package. */ > -#define PACKAGE_VERSION "15.0.6" > +#define PACKAGE_VERSION "15.0.7" > > /* Define to the vendor of this package. */ > /* #undef PACKAGE_VENDOR */ > diff --git a/lib/clang/include/llvm/Config/llvm-config.h b/lib/clang/include/llvm/Config/llvm-config.h > index fa14fe523bd1..ab9f4d711628 100644 > --- a/lib/clang/include/llvm/Config/llvm-config.h > +++ b/lib/clang/include/llvm/Config/llvm-config.h > @@ -74,10 +74,10 @@ > #define LLVM_VERSION_MINOR 0 > > /* Patch version of the LLVM API */ > -#define LLVM_VERSION_PATCH 6 > +#define LLVM_VERSION_PATCH 7 > > /* LLVM version string */ > -#define LLVM_VERSION_STRING "15.0.6" > +#define LLVM_VERSION_STRING "15.0.7" > > /* Whether LLVM records statistics for use with GetStatistics(), > * PrintStatistics() or PrintStatisticsJSON() > diff --git a/lib/clang/include/llvm/Support/VCSRevision.h b/lib/clang/include/llvm/Support/VCSRevision.h > index b58f85d44f73..ecccb84d835f 100644 > --- a/lib/clang/include/llvm/Support/VCSRevision.h > +++ b/lib/clang/include/llvm/Support/VCSRevision.h > @@ -1,3 +1,3 @@ > /* $FreeBSD$ */ > -#define LLVM_REVISION "llvmorg-15.0.6-0-g088f33605d8a" > +#define LLVM_REVISION "llvmorg-15.0.7-0-g8dfdcc7b7bf6" > #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" > diff --git a/lib/libclang_rt/compiler-rt-vars.mk b/lib/libclang_rt/compiler-rt-vars.mk > index 687a280af8d6..3b0cfa853e7a 100644 > --- a/lib/libclang_rt/compiler-rt-vars.mk > +++ b/lib/libclang_rt/compiler-rt-vars.mk > @@ -1,4 +1,4 @@ > -CLANG_SUBDIR=clang/15.0.6 > +CLANG_SUBDIR=clang/15.0.7 > CLANGDIR= /usr/lib/${CLANG_SUBDIR} > SANITIZER_LIBDIR= ${CLANGDIR}/lib/freebsd > SANITIZER_SHAREDIR= ${CLANGDIR}/share > diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc > index d8812f65b840..21440e6e9560 100644 > --- a/tools/build/mk/OptionalObsoleteFiles.inc > +++ b/tools/build/mk/OptionalObsoleteFiles.inc > @@ -1191,328 +1191,328 @@ OLD_FILES+=usr/share/man/man1/objdump.1.gz > OLD_FILES+=usr/bin/clang > OLD_FILES+=usr/bin/clang++ > OLD_FILES+=usr/bin/clang-cpp > -OLD_FILES+=usr/lib/clang/15.0.6/include/cuda_wrappers/algorithm > -OLD_FILES+=usr/lib/clang/15.0.6/include/cuda_wrappers/complex > -OLD_FILES+=usr/lib/clang/15.0.6/include/cuda_wrappers/new > -OLD_DIRS+=usr/lib/clang/15.0.6/include/cuda_wrappers > -OLD_FILES+=usr/lib/clang/15.0.6/include/fuzzer/FuzzedDataProvider.h > -OLD_DIRS+=usr/lib/clang/15.0.6/include/fuzzer > -OLD_FILES+=usr/lib/clang/15.0.6/include/hlsl/hlsl_basic_types.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/hlsl/hlsl_intrinsics.h > -OLD_DIRS+=usr/lib/clang/15.0.6/include/hlsl > -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/__clang_openmp_device_functions.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/cmath > -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/complex > -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/complex.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/complex_cmath.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/math.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/new > -OLD_DIRS+=usr/lib/clang/15.0.6/include/openmp_wrappers > -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/bmi2intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/bmiintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/emmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/immintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/mm_malloc.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/mmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/pmmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/smmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/tmmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/x86gprintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/x86intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/xmmintrin.h > -OLD_DIRS+=usr/lib/clang/15.0.6/include/ppc_wrappers > -OLD_FILES+=usr/lib/clang/15.0.6/include/profile/InstrProfData.inc > -OLD_FILES+=usr/lib/clang/15.0.6/include/profile/MemProfData.inc > -OLD_DIRS+=usr/lib/clang/15.0.6/include/profile > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/allocator_interface.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/asan_interface.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/common_interface_defs.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/coverage_interface.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/dfsan_interface.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/hwasan_interface.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/linux_syscall_hooks.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/lsan_interface.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/memprof_interface.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/msan_interface.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/netbsd_syscall_hooks.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/scudo_interface.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/tsan_interface.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/tsan_interface_atomic.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/ubsan_interface.h > -OLD_DIRS+=usr/lib/clang/15.0.6/include/sanitizer > -OLD_FILES+=usr/lib/clang/15.0.6/include/xray/xray_interface.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/xray/xray_log_interface.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/xray/xray_records.h > -OLD_DIRS+=usr/lib/clang/15.0.6/include/xray > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_builtin_vars.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_cmath.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_complex_builtins.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_device_functions.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_intrinsics.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_libdevice_declares.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_math.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_math_forward_declares.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_runtime_wrapper.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_texture_intrinsics.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_hip_cmath.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_hip_libdevice_declares.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_hip_math.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_hip_runtime_wrapper.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__stddef_max_align_t.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__wmmintrin_aes.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/__wmmintrin_pclmul.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/adxintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/altivec.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ammintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/amxintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/arm64intr.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_acle.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_bf16.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_cde.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_cmse.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_fp16.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_mve.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_neon.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_neon_sve_bridge.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_sve.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/armintr.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx2intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512bf16intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512bitalgintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512bwintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512cdintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512dqintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512erintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512fintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512fp16intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512ifmaintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512ifmavlintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512pfintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vbmi2intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vbmiintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vbmivlintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlbf16intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlbitalgintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlbwintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlcdintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vldqintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlfp16intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlvbmi2intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlvnniintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlvp2intersectintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vnniintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vp2intersectintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vpopcntdqintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vpopcntdqvlintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avxintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/avxvnniintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/bmi2intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/bmiintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/builtins.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/cet.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/cetintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/cldemoteintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/clflushoptintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/clwbintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/clzerointrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/cpuid.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/crc32intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/emmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/enqcmdintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/f16cintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/float.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/fma4intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/fmaintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/fxsrintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/gfniintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/hexagon_circ_brev_intrinsics.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/hexagon_protos.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/hexagon_types.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/hlsl.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/hresetintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/htmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/htmxlintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/hvx_hexagon_protos.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ia32intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/immintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/inttypes.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/invpcidintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/iso646.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/keylockerintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/limits.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/lwpintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/lzcntintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/mm3dnow.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/mm_malloc.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/mmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/module.modulemap > -OLD_FILES+=usr/lib/clang/15.0.6/include/movdirintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/msa.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/mwaitxintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/nmmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/omp-tools.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/omp.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ompt.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/opencl-c-base.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/opencl-c.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/pconfigintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/pkuintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/pmmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/popcntintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/prfchwintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/ptwriteintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/rdpruintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/rdseedintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/riscv_vector.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/rtmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/s390intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/serializeintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/sgxintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/shaintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/smmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/stdalign.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/stdarg.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/stdatomic.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/stdbool.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/stddef.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/stdint.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/stdnoreturn.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/tbmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/tgmath.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/tmmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/tsxldtrkintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/uintrintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/unwind.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/vadefs.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/vaesintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/varargs.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/vecintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/velintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/velintrin_approx.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/velintrin_gen.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/vpclmulqdqintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/waitpkgintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/wasm_simd128.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/wbnoinvdintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/wmmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/x86gprintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/x86intrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/xmmintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/xopintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/xsavecintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/xsaveintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/xsaveoptintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/xsavesintrin.h > -OLD_FILES+=usr/lib/clang/15.0.6/include/xtestintrin.h > -OLD_DIRS+=usr/lib/clang/15.0.6/include > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-aarch64.so > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-arm.so > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-armhf.so > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-i386.so > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-x86_64.so > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_static-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_static-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.dd-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.dd-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.msan-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.msan-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.msan_cxx-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.msan_cxx-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-powerpc.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-powerpc64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-powerpc64le.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.safestack-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.safestack-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.safestack-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.tsan-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.tsan-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-basic-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-basic-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-basic-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-basic-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-fdr-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-fdr-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-fdr-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-fdr-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-profiling-aarch64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-profiling-arm.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-profiling-armhf.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-profiling-x86_64.a > -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-x86_64.a > -OLD_DIRS+=usr/lib/clang/15.0.6/lib/freebsd > -OLD_DIRS+=usr/lib/clang/15.0.6/lib > -OLD_FILES+=usr/lib/clang/15.0.6/share/asan_ignorelist.txt > -OLD_FILES+=usr/lib/clang/15.0.6/share/cfi_ignorelist.txt > -OLD_FILES+=usr/lib/clang/15.0.6/share/msan_ignorelist.txt > -OLD_DIRS+=usr/lib/clang/15.0.6/share > -OLD_DIRS+=usr/lib/clang/15.0.6 > +OLD_FILES+=usr/lib/clang/15.0.7/include/cuda_wrappers/algorithm > +OLD_FILES+=usr/lib/clang/15.0.7/include/cuda_wrappers/complex > +OLD_FILES+=usr/lib/clang/15.0.7/include/cuda_wrappers/new > +OLD_DIRS+=usr/lib/clang/15.0.7/include/cuda_wrappers > +OLD_FILES+=usr/lib/clang/15.0.7/include/fuzzer/FuzzedDataProvider.h > +OLD_DIRS+=usr/lib/clang/15.0.7/include/fuzzer > +OLD_FILES+=usr/lib/clang/15.0.7/include/hlsl/hlsl_basic_types.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/hlsl/hlsl_intrinsics.h > +OLD_DIRS+=usr/lib/clang/15.0.7/include/hlsl > +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/__clang_openmp_device_functions.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/cmath > +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/complex > +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/complex.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/complex_cmath.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/math.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/new > +OLD_DIRS+=usr/lib/clang/15.0.7/include/openmp_wrappers > +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/bmi2intrin.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/bmiintrin.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/emmintrin.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/immintrin.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/mm_malloc.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/mmintrin.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/pmmintrin.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/smmintrin.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/tmmintrin.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/x86gprintrin.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/x86intrin.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/xmmintrin.h > +OLD_DIRS+=usr/lib/clang/15.0.7/include/ppc_wrappers > +OLD_FILES+=usr/lib/clang/15.0.7/include/profile/InstrProfData.inc > +OLD_FILES+=usr/lib/clang/15.0.7/include/profile/MemProfData.inc > +OLD_DIRS+=usr/lib/clang/15.0.7/include/profile > +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/allocator_interface.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/asan_interface.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/common_interface_defs.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/coverage_interface.h > +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/dfsan_interface.h > *** 287 LINES SKIPPED *** From nobody Sat Apr 29 18:49:28 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7z6k4KWgz486YW; Sat, 29 Apr 2023 18:49:50 +0000 (UTC) (envelope-from dim@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 4Q7z6k3XpTz3MD4; Sat, 29 Apr 2023 18:49:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682794190; 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=TqHO9CxKT8y/vXageY768331LJPXD85X1fhg+BXvJng=; b=ykhNFCBnLLa8OHR18+pmyUPis2GU4oJk24Q9clg5kiPW7GvhYQT1XPlpjLKjIIogzgKEv+ FoCqVdM/WATTUNu8zgjg0DcXbnh5UqT6BdjZI33Syhw/KZLQ2aujI1UZYfQay9iwUzhpCp /BXgAkm2/JCxPYSdAzqu1sTVBePndeBSPapm9cp4eiRFCyMbkJ6cURlgYkYQFL3ThijbuH ZCBWizgotaU6sgVH+LgYyDBUSpk4VTJony/B2RgaUWT5ACOOZRxW5BtikL1mt+FjIH/rJU 9yLGmf9GSP8RQGoDvwb/n5nVtrAcssWAcN1I3FZVEmnHFVWGUbn/iFC0/4Z0cQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682794190; 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=TqHO9CxKT8y/vXageY768331LJPXD85X1fhg+BXvJng=; b=yr8ke5qEZCc05oa7w8GAnw+9W4vC2RlyV9dzI5Ld+vVHhSPMBOvUfWTKyJrOUz6VwNkSor L11Qprn3KosYcF329iv+5eqoDDPWsbXOMA/osOnm2stm1wrJYbjc9Cyi9qKVCrWUGWPo6X djWlkKZgOgnWR5jXsyzHVS62TtfN3xcpNywqSl7cOotZC/7Q/XcV1L90WNhbjcC7uptaiK WqUQdeVcmbGbwt+WFzQ5Y9d6eIqFhiw6m7+II+FCdT6MEYs/hn8gy0a4cJKVV8WZeJw9lr 23WlTB5UV9+BUrTJQJMU7yfyt6aDL/GkLecZGE63YPOpF3uv074WXXi7C9/vqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682794190; a=rsa-sha256; cv=none; b=PFvYZUYzouLXCuAdOXjzRG3KqAhHkv/I2Ihwq3MFz7UmvV52jIjR+nkEK6okZPWnALUBoo JiGGjqYrDGb1U0xfOTwzAlJWzFtm7QcEmDcmTr2K7cuhcRYU/PjBcLEzvU2YmV2pHr7AUS E/Oz5rj34RDwzO/IvLb0e1FVSXj+sDdOkAqW2IJxq/RmNxDe/pSiEP4UaUOS4gpO/C6tjV v6WcG6w4z7z6aYNbKWMegAPSxmxpyMLWaTVoFtVa3oj/K5T+wKztWaJagDnd1MuHL//h0h vrkqNy2eFi+sKV3Gzd6MHZzfLcD5BzR5EYvBdW8i2DjOyzIPOLdwUlNt1cGZ5w== Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.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 "tensor.andric.com", Issuer "R3" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Q7z6k1gJRzvn4; Sat, 29 Apr 2023 18:49:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (longrow.home.andric.com [192.168.0.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 78CC96C619; Sat, 29 Apr 2023 20:49:47 +0200 (CEST) Content-Type: multipart/signed; boundary="Apple-Mail=_0A7B0216-61FD-41C1-8D04-7A255634871E"; protocol="application/pgp-signature"; micalg=pgp-sha1 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\)) Subject: Re: git: 060699e91369 - stable/13 - Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6 From: Dimitry Andric In-Reply-To: Date: Sat, 29 Apr 2023 20:49:28 +0200 Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org Message-Id: <76DD2CB9-986B-4349-8F46-3B7BF63EB315@FreeBSD.org> References: <202304092135.339LZMeJ081640@gitrepo.freebsd.org> To: "Jason A. Harmening" X-Mailer: Apple Mail (2.3731.500.231) X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_0A7B0216-61FD-41C1-8D04-7A255634871E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 29 Apr 2023, at 20:33, Jason A. Harmening wrote: >=20 > On Sun, Apr 09, 2023 at 09:35:22PM +0000, Dimitry Andric wrote: >> The branch stable/13 has been updated by dim: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D060699e9136975d51d3f726b9785bdba= c9a62ba6 >>=20 >> commit 060699e9136975d51d3f726b9785bdbac9a62ba6 >> Author: Dimitry Andric >> AuthorDate: 2023-01-14 16:33:24 +0000 >> Commit: Dimitry Andric >> CommitDate: 2023-04-09 14:54:52 +0000 >>=20 >> Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6 >>=20 >> This updates llvm, clang, compiler-rt, libc++, libunwind, lld, = lldb and >> openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6. >>=20 >> PR: 265425 >> MFC after: 2 weeks >=20 > This MFC of llvm15 appears to have completely broken the Intel IOMMU > driver on my stable/13 machine. After this series of commits, any > downstream DMA seems to produce an IOMMU translation fault, which > renders the machine completely unusable: no nvme boot disk, no usb > keyboard, etc. >=20 > The faults I see look something like this: >=20 > DMAR4: ahci0: pci0:17:5 sid 8d fault acc 0 adt 0x0 reason 0x3 addr = 26000 >=20 > It's a bit surprising to see a toolchain upgrade produce breakage like > this, but that's what git bisect clearly tells me. I wonder if some = of > the IOMMU control structures might be defined as C bitfields and the = new > compiler is emitting them differently? Also, was any breakage like = this > observed when -current was upgraded to llvm15 several months ago? I haven't heard anything about such breakage, no. > More generally, this is the second time in as many months I've had to > deal with IOMMU breakage on -stable. I can't imagine I'm the only > person who sees value in running with DMA remapping enabled; do we = need > a dedicated DMAR-enabled machine in the cluster to smoke-test changes > like this? More generally, should we avoid MFCing high-risk changes > like this? Since there were very few bug reports, it was not deemed high risk. In any case, it would be good to get the bottom of what is causing the problem, so is there any way you can isolate which code seems to be going "bad"? For example, if this problem affects code in sys/dev/iommu, is there some way you can compile that part with -O1, or with an older version of clang (from ports), to see if the problem goes away? -Dimitry --Apple-Mail=_0A7B0216-61FD-41C1-8D04-7A255634871E 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----- Version: GnuPG/MacGPG2 v2.2 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCZE1muAAKCRCwXqMKLiCW oy00AKCwpvrYumXL236UwYfGxhdFE9qgigCg4vgGpZCot6DuSFY4kKfXLnnt22U= =Yq+u -----END PGP SIGNATURE----- --Apple-Mail=_0A7B0216-61FD-41C1-8D04-7A255634871E--