From nobody Mon Oct 28 12:46:11 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XcY6D1JDtz5bKGR; Mon, 28 Oct 2024 12:46: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XcY6D0gFJz4YbJ; Mon, 28 Oct 2024 12:46:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730119572; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1n+uk7GoCPXbMBOtf9p5UoS+FZ6lG+C7J+OSsDpi/0A=; b=Ubv9nwq5+INrO+/ksf/Yfvmv3CbIm796EIi1uIFL+zPM5wN8IMDeGI4mHplK+b2v8EChnU Y0scrPgAGCkETh1A35iz7C4y2LsD++0w7byOGi2tAB7CqGx8nI/YdzuuU7IZkGi8dPRKsW A1qeMEYSUq0Oqoco4//C6VLPb2N0l96Me3JZ5sU0SUIcr/btNM5K2n0dOfMc0kDbmNDYv/ pRMoOfLnFmNCpw9Bzche4W3hK8Ne1f1t7kAd2riqepbRZwViZDoq7dBEF1sKHSxZYlvqi5 NqjqQh+wezXB1cXy/vQHorFSnngJtnaCDHabAFwJu27PfLwVuNKbJFekErf/Gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730119572; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1n+uk7GoCPXbMBOtf9p5UoS+FZ6lG+C7J+OSsDpi/0A=; b=czak1TqmyP3f9dlnVOiw6RD7FkoFwvJmRoVlWoRS2j/YYWkvYw4VHRSx+4QqwUmYtqin7U BSPZG0kihb5ledkpLg1nsqdnC9uX0qs86MVBCeF9eEl7/ZeM8sPKPcJ5UA9SkMkleS2hzR 51F2uaiDIjkGN2loaHgo9oBGBdrTD6DiDmol4qYmufIeE6vQuDTxfIG8j/zCHe56iKVqg0 0RaWMUZvlDUfUakWyK+mSOTZ9ZjANc7Sury8q1Nj+RewNvOKZoafhDjW6/wAFgsixTaUWP l89fLNNljRJCjQrurAMfYS4xpINW7/Ibk2VQ8YIbHFmh4eeHHdSrjYaCNRm+2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730119572; a=rsa-sha256; cv=none; b=jh70ZSpkyha0DboJWnyVMO4UayuuFC2hTOPSru1UXwpyykREiMV41sHUXtjIkw/janZDek bvGTSjeGsZp3bRfsg6R/sUgB7r8eYADU1tpX0Lu63E12kf3xxr6YEveCoGdgtkwGcL9zl2 ZLeNbB87Xg+78FzxBzBd/w36xUv/1s6UvbAfHiqXZ+yIQAmJRjvPCNJqXwdY8nTVuC+Sk2 /pGuDHH+tK43UL6rWR9K2X2nv6X0K4H9+Ch0J2pm8GrBu0tFGgjd4LG7a8nq1EORbXTswh ALoSGEhNoR6sLvDCNTT5McLuEbKGRUCpu5j/BfWOuTaYKjqQjcsjuj1Ug/tGEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XcY6D0BgnzfxX; Mon, 28 Oct 2024 12:46:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49SCkB8J075663; Mon, 28 Oct 2024 12:46:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49SCkB94075660; Mon, 28 Oct 2024 12:46:11 GMT (envelope-from git) Date: Mon, 28 Oct 2024 12:46:11 GMT Message-Id: <202410281246.49SCkB94075660@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: a94328b63c20 - stable/14 - vnode.9: Document vnode_if.awk and vnode_if.src List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: a94328b63c20498d72672bb13d2bb4d89fdf274b Auto-Submitted: auto-generated The branch stable/14 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=a94328b63c20498d72672bb13d2bb4d89fdf274b commit a94328b63c20498d72672bb13d2bb4d89fdf274b Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2024-10-09 10:04:36 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2024-10-28 12:45:53 +0000 vnode.9: Document vnode_if.awk and vnode_if.src Discussed with: bjk, imp Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D27196 (cherry picked from commit e018265679389cfcebe172d4bf61aa4fe4f58b0a) --- share/man/man9/vnode.9 | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/share/man/man9/vnode.9 b/share/man/man9/vnode.9 index 3d34b48c2ee0..5dd087725e92 100644 --- a/share/man/man9/vnode.9 +++ b/share/man/man9/vnode.9 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 12, 2014 +.Dd October 9, 2024 .Dt VNODE 9 .Os .Sh NAME @@ -104,9 +104,21 @@ the vnode. The .Va v_op field is used by the -.Dv VOP_* -macros to call functions in the file system which implement the vnode's +.Fn VOP_* +functions to call functions in the file system which implement the vnode's functionality. +.Pp +The +.Fn VOP_* +function declarations and definitions are generated from +.Pa sys/kern/vnode_if.src +by the +.Pa sys/tools/vndoe_if.awk +script. +The interfaces are documented in their respective manual pages like +.Xr VOP_READ 9 +and +.Xr VOP_WRITE 9 . .Sh VNODE TYPES .Bl -tag -width VSOCK .It Dv VNON @@ -154,6 +166,16 @@ when holding a .Nm interlock, will cause a LOR (Lock Order Reversal) due to the intertwining of VM Objects and Vnodes. +.Sh FILES +.Bl -tag -width "sys/tools/vnode_if.awk" -compact +.It Pa sys/kern/vnode_if.src +The input file for +.Pa sys/tools/vnode_if.awk . +.It Pa sys/tools/vnode_if.awk +The script generating the source code of the +.Fn VOP_* +functions. +.El .Sh SEE ALSO .Xr malloc 9 , .Xr VFS 9 , From nobody Mon Oct 28 12:46:14 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XcY6H0qnWz5bK4s; Mon, 28 Oct 2024 12:46: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XcY6H02yrz4YYD; Mon, 28 Oct 2024 12:46:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730119575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cisndk7xE+qEmle2t69Q8nU3td2jA0pa+XSTaGfmy7Q=; b=d7uDxoZdkrIio0U5xS4130hd1GbvTeMy339iTlF8MO4FagObnCQhkAaZXZ5wMI5LPy0HgX FfP7TTu9hy4O/9o6/JeK8pJ1Dd5xDSiNxPOn6Wj59/BtJimU9Y3eBVIRCtgy1nY2VeM6gX eWjpLzB1e0DqrMSJ8Jlp6RkvDk3oGrbOnGAEMji3Oqdir4Y3J9mS7A169l8z9PytAH+/Od yHyfhCZgtgqL6W1zVQRLsXbyh4kKmpgY1y0FzDh2vkIsoQrJ5HF8zebbMP5CLGPplgBq1t lRp8qgbxQeVomrwezUsnraUz3LRciaPqsiNTkQ36kQnQ1/8FN0GMzjJpfcet3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730119575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cisndk7xE+qEmle2t69Q8nU3td2jA0pa+XSTaGfmy7Q=; b=cz4VPpyNfV0qqnlpVh1QB0mS3G3cEWfw5buv702KPrxP59NQ3pRYeKrxpZK6CM+7UoeVQj A8qdG1T/vPlcaRhefWs5UrapErflAonVO5tV83VfH68WWDJFSvZqHnpuEnU7frG0/pjbLJ HryE3UmM01xlg32KwI04gScxOtmU4y5YDkEsAfY/x8zd/eTJDpsGa1A5gsbdQ8SIal8gMi nlBvgzafCra+jiRuqz+oqjNWs6iiQYPMFZliU+gyiG40ccoaoAcDtkXrzvA3FYMo31WKod wapY9+MYM2pP9ibG2qEYyc7xuQGo71i6sMWLs5D6kdhS682uIqwIoEfUcWv43g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730119575; a=rsa-sha256; cv=none; b=OV3PTUBJsT8xqXEBlAzcDHnj8/EyxMUmr0dGAoPtw1xKtbZpR3T002V078cysokLtd+kL5 RehiOeySCWov0KJfocQK1lOoVsPexU8I69kl2f0OPy6cKVKffon87eghj3ITKPI/n3Ky8z 7W0LIe3hrKj/h8t5SGvSAxxEjFuJ+VeTqbuNFRZg+hfSoRuRrrzvqzVPHwCBeO9kyHtmZL ontS3A8CwEe/v4Dva6ysybap/Zf+zZkQVC+GzGPuO4X2r11yBhz1ODScWMzRxmCri7fNho dmgRTC+oGbZZsJKddr+YCfIfH64ZVWkJk/SthmNNt3iIBDDDsHaz6GmXzeyqzw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XcY6G6Z3Zzg0Q; Mon, 28 Oct 2024 12:46:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49SCkEmI075810; Mon, 28 Oct 2024 12:46:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49SCkE6C075807; Mon, 28 Oct 2024 12:46:14 GMT (envelope-from git) Date: Mon, 28 Oct 2024 12:46:14 GMT Message-Id: <202410281246.49SCkE6C075807@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: 0313a36cb9d6 - stable/13 - rc/tests: Skip oomprotect tests in a jail List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: 0313a36cb9d60c1f2a197bfc186dc4dd6515a71d Auto-Submitted: auto-generated The branch stable/13 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=0313a36cb9d60c1f2a197bfc186dc4dd6515a71d commit 0313a36cb9d60c1f2a197bfc186dc4dd6515a71d Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2024-10-14 10:28:47 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2024-10-28 12:46:05 +0000 rc/tests: Skip oomprotect tests in a jail oomprotect cannot be used in a jail. Reviewed by: bnovkov, christos, markj Approved by: bnovkov (mentor), christos (mentor), markj (mentor) MFC after: 1 week (cherry picked from commit 6fa42b91ca3f481912af98c4d49c44507eb1b8e1) --- libexec/rc/tests/rc_subr_test.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libexec/rc/tests/rc_subr_test.sh b/libexec/rc/tests/rc_subr_test.sh index 0ca790e39a14..4a54f991d72d 100644 --- a/libexec/rc/tests/rc_subr_test.sh +++ b/libexec/rc/tests/rc_subr_test.sh @@ -35,6 +35,10 @@ oomprotect_all_head() oomprotect_all_body() { + if [ "$(sysctl -n security.jail.jailed)" != 0 ]; then + atf_skip "protect(1) cannot be used in a jail" + fi + __name="$(atf_get ident)" __pidfile="$(mktemp -t "${__name}.pid")" __childpidfile="$(mktemp -t "${__name}.childpid")" @@ -72,6 +76,10 @@ oomprotect_yes_head() oomprotect_yes_body() { + if [ "$(sysctl -n security.jail.jailed)" != 0 ]; then + atf_skip "protect(1) cannot be used in a jail" + fi + __name="$(atf_get ident)" __pidfile="$(mktemp -t "${__name}.pid")" __script=$(mktemp -t "${__name}.script") From nobody Mon Oct 28 12:46:15 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XcY6J3P2nz5bK4w; Mon, 28 Oct 2024 12:46: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XcY6J1H3Nz4YTS; Mon, 28 Oct 2024 12:46:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730119576; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ubDqbl4PqZUgS1UtEXgo3cywX5ZTFltzGcpEdbwt434=; b=x8gqbOxUsfOhVeNG49B00k/oA2DgvU4nAR4kLU6jkHGSSZyB9uSubMy03Pm8CC8d3ygYZm 6If8zdPAb/YFpgKjWsFkPYPXayJmUot0oSIpNxCSeBhC3iLPFz8jRT67INJ9hFnUzx0wAq AZlF4LGggYsyRCCB8ew37zWK94rOObzxkWihq8+O4SjTkBxeZR5/eaEC14GzyYT1lgPiQT w14AyAFciV8qunoKaPgKmMelI2LYaAZfYi/0V2jvlkEmqPK7gUV8/DpqhnXNDXXPB2qnJO KfLQJhZR5vjG8vfFQNY089myekely+pqBhFRngKGxYT17gEzdlAEY6gQuQmwBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730119576; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ubDqbl4PqZUgS1UtEXgo3cywX5ZTFltzGcpEdbwt434=; b=Lf5ujI+LMwRl8MhM9WBxzXUIJHwyQ+qYGtv7+aLBLTAtE71dGLByglHF0ox8lbm3cyqKZq Jm5OQpgq1KCG46In97X4Yw5hbq/1nMRt86MwfojijEu1U+Ydfu/0kEOOiLPA72fqwtnCNX 5rpOscjlfvC1AP+hFsevg2eSx9e3fCwMaxtMDxbaKyQOGrf//geIhngs7B5rrh0rj18kOv YDzQeynOr4BQMccF7OfnsNwc2fUJasEZ7frIPN9t8SQEO/Q7fNTOIDjgKkJsNcOuMhYfec qBxVnNdSCT+ScvrdR1la64JrvxLUX8XObLu/TpI19cxswsjNDbewbPt6f76ijA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730119576; a=rsa-sha256; cv=none; b=H3UQwwYesj3X+HNQwWYbvftCM12/g6fsQYIROP6QMLimwI473Tq35e7VRYgFzhgDuHjeBa RGB1cmt0yTmLMRO076yQkCP7oKVztwpqNBOdq6CeJDsUIyn07MqDHaTwnefp+LJ322if4/ SXYTB0iPOPRV92zrVapF7GmU0kkzQWKYBo/Vd4+T7pTkg1+IzHaKam3HM0aO4CxR5DAnQd g5xlaj2toVpZSIGMQs3JFODHugojAmcEyJ/CoFkM6wTQM2Y/VFcSkjyc3qs55a3chWQoOg SbIYCUkgwMfEit0R9R6fa//BAASQNpXlhROj1za6D/ZaLTFecPtfqqvKwN/DqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XcY6J0NW0zg0R; Mon, 28 Oct 2024 12:46:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49SCkFMO075853; Mon, 28 Oct 2024 12:46:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49SCkFTT075850; Mon, 28 Oct 2024 12:46:15 GMT (envelope-from git) Date: Mon, 28 Oct 2024 12:46:15 GMT Message-Id: <202410281246.49SCkFTT075850@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: 7bdde516fc2b - stable/13 - vnode.9: Document vnode_if.awk and vnode_if.src List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: 7bdde516fc2b1ab828e2c4a9c473ba30018b30c7 Auto-Submitted: auto-generated The branch stable/13 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=7bdde516fc2b1ab828e2c4a9c473ba30018b30c7 commit 7bdde516fc2b1ab828e2c4a9c473ba30018b30c7 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2024-10-09 10:04:36 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2024-10-28 12:46:05 +0000 vnode.9: Document vnode_if.awk and vnode_if.src Discussed with: bjk, imp Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D27196 (cherry picked from commit e018265679389cfcebe172d4bf61aa4fe4f58b0a) --- share/man/man9/vnode.9 | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/share/man/man9/vnode.9 b/share/man/man9/vnode.9 index 6befe7337b94..c4bfab5f849f 100644 --- a/share/man/man9/vnode.9 +++ b/share/man/man9/vnode.9 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 12, 2014 +.Dd October 9, 2024 .Dt VNODE 9 .Os .Sh NAME @@ -104,9 +104,21 @@ the vnode. The .Va v_op field is used by the -.Dv VOP_* -macros to call functions in the file system which implement the vnode's +.Fn VOP_* +functions to call functions in the file system which implement the vnode's functionality. +.Pp +The +.Fn VOP_* +function declarations and definitions are generated from +.Pa sys/kern/vnode_if.src +by the +.Pa sys/tools/vndoe_if.awk +script. +The interfaces are documented in their respective manual pages like +.Xr VOP_READ 9 +and +.Xr VOP_WRITE 9 . .Sh VNODE TYPES .Bl -tag -width VSOCK .It Dv VNON @@ -154,6 +166,16 @@ when holding a .Nm interlock, will cause a LOR (Lock Order Reversal) due to the intertwining of VM Objects and Vnodes. +.Sh FILES +.Bl -tag -width "sys/tools/vnode_if.awk" -compact +.It Pa sys/kern/vnode_if.src +The input file for +.Pa sys/tools/vnode_if.awk . +.It Pa sys/tools/vnode_if.awk +The script generating the source code of the +.Fn VOP_* +functions. +.El .Sh SEE ALSO .Xr malloc 9 , .Xr VFS 9 , From nobody Mon Oct 28 16:10:13 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xcddd20t0z5bVqg; Mon, 28 Oct 2024 16:10: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xcddd1SxBz45bb; Mon, 28 Oct 2024 16:10:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730131813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=blSYExY82ds9ZhDJqR2ZWtzq1T9sTkoEbSpcS9tvFp0=; b=UoAVLuouXJhzlYVHP2vhhtt6fYTjJH2pL9x0vizxGqDhLSN0fOGDvPon5AT+YVHd7g8XHD nGoIFBPW8mBvv+7DnQiH2J8ZnRgIVCSTFfLTOZUPIYNL5bMsEJnjX7vDHwYVdj9FaRPK/v RX/TiuNkx+3vtk8UmZHaE8fY+8QLWZELC67SgYNKw8BF0VLCLgQexb4HJyLpX7lT05UmCM Yocu51ZXMXjmVhvTbxAYOso2pezXziqx5J732llVU6u2QllJTAVWAwSXOhPZW30pEm61N4 a8WvyrN5VwjQV5qvP9Ap/+tqaTjLgTgLt9697gIQTNTSldEzkbC2azGF35+uww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730131813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=blSYExY82ds9ZhDJqR2ZWtzq1T9sTkoEbSpcS9tvFp0=; b=IEkiRhfyAP1+S5hYB2z8shkBQvFB13/bH9V9Ho+bPajvYgB2UkN6FU9XhyGc4JVcezFCU5 1jc7QyYTMJZN80K9u25uV7vzoxiWBj/f1Ca3E8kFPMlfcb0lx6m6b0y+Ll9fYmO4YCW1b2 vlrmkcCoPL5yXBl9igKMwR08yLDyGoNoxjTFJIg+g1k4pmbJLaOcAib9+FCfFdqAGk/63z NDngYCM/M/V0EAk2afhmj4nael9HEkI8UUPQyUSYkx2TBRwRgCMhJ9MymQi/7sivF9iM9Q /uxSA7UGLdOij95SbBXQF8c5HGCI//Uou17eIZ6y/W/2KXsYi4jeJy4I3QHc9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730131813; a=rsa-sha256; cv=none; b=WjDO33smE7fL0Fi6NiPK6tBIxqruaEWrckd0BNTF/6BEA4VZi51/n0no/S4KrID5Mdz4C1 BNHfuOnDdhiH6iPM6+A4oWTldsKt3/HX3kTtYQS4+pMlYVKPTkYa7IrsFr13ZkokasTdYu G0LsccA90RWcUlNDnQ0ytPVWVCzb/0GapvQcS9z7DNAYyp9DCJNrAAjBb3F6sdygaXx+hw Gjy7Ejiitaxd/G9ubDddClZ9xwJ+lt5AuJ/xumLp2nt0LZO+d8W/x6d6BzgH+il9yjpbOI UmQdSw/W6zV5r+7DviQ3HvfM8+2M31g0LJErqdo39RAqUqsvtqrnsWMWK3mLGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xcddd0xBWzlZW; Mon, 28 Oct 2024 16:10:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49SGADWO054140; Mon, 28 Oct 2024 16:10:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49SGADAr054135; Mon, 28 Oct 2024 16:10:13 GMT (envelope-from git) Date: Mon, 28 Oct 2024 16:10:13 GMT Message-Id: <202410281610.49SGADAr054135@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: b1c2fc54f32c - stable/13 - alc(4): disable MSI-X by default on Killer cards List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b1c2fc54f32c2e670bb419230de917901d1dff6b Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b1c2fc54f32c2e670bb419230de917901d1dff6b commit b1c2fc54f32c2e670bb419230de917901d1dff6b Author: Lexi Winter AuthorDate: 2024-04-22 22:09:26 +0000 Commit: Mark Johnston CommitDate: 2024-10-28 16:09:41 +0000 alc(4): disable MSI-X by default on Killer cards Several users with alc(4)-based "Killer" Ethernet cards have reported issues with this driver not passing traffic, which are solved by disabling MSI-X using the provided tunable. To work around this issue, disable MSI-X by default on this card. This is done by having msix_disable default to 2, which means "auto-detect". The user can still override this to either 0 or 1 as desired. Since these are slow (1Gbps) Ethernet ICs used in low-end systems, it's unlikely this will cause any practical performance issues; on the other hand, the card not working by default likely causes issues for many new FreeBSD users who find their network port doesn't work and have no idea why. PR: 230807 MFC after: 1 week Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1185 (cherry picked from commit 05a95d19cb248203acdd4e069d3eedfe597c3b49) --- share/man/man4/alc.4 | 6 +++++- sys/dev/alc/if_alc.c | 24 +++++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/share/man/man4/alc.4 b/share/man/man4/alc.4 index 478558657799..5ce5ce97d68a 100644 --- a/share/man/man4/alc.4 +++ b/share/man/man4/alc.4 @@ -136,7 +136,11 @@ This tunable disables MSI support on the Ethernet hardware. The default value is 0. .It Va hw.alc.msix_disable This tunable disables MSI-X support on the Ethernet hardware. -The default value is 0. +The default value is 2, which means to enable or disable MSI-X based on the +card type; for "Killer" cards (E2x00) MSI-X will be disabled, while on other +cards it will be enabled. +Set this to 0 to force MSI-X to be enabled, or 1 to force it to be disabled +regardless of card type. .El .Sh SYSCTL VARIABLES The following variables are available as both diff --git a/sys/dev/alc/if_alc.c b/sys/dev/alc/if_alc.c index e6c0470d48c7..b1fdb55b1109 100644 --- a/sys/dev/alc/if_alc.c +++ b/sys/dev/alc/if_alc.c @@ -92,8 +92,14 @@ MODULE_DEPEND(alc, miibus, 1, 1, 1); /* Tunables. */ static int msi_disable = 0; -static int msix_disable = 0; TUNABLE_INT("hw.alc.msi_disable", &msi_disable); + +/* + * The default value of msix_disable is 2, which means to decide whether to + * enable MSI-X in alc_attach() depending on the card type. The operator can + * set this to 0 or 1 to override the default. + */ +static int msix_disable = 2; TUNABLE_INT("hw.alc.msix_disable", &msix_disable); /* @@ -1413,6 +1419,14 @@ alc_attach(device_t dev) case DEVICEID_ATHEROS_E2400: case DEVICEID_ATHEROS_E2500: sc->alc_flags |= ALC_FLAG_E2X00; + + /* + * Disable MSI-X by default on Killer devices, since this is + * reported by several users to not work well. + */ + if (msix_disable == 2) + msix_disable = 1; + /* FALLTHROUGH */ case DEVICEID_ATHEROS_AR8161: if (pci_get_subvendor(dev) == VENDORID_ATHEROS && @@ -1442,6 +1456,14 @@ alc_attach(device_t dev) default: break; } + + /* + * The default value of msix_disable is 2, which means auto-detect. If + * we didn't auto-detect it, default to enabling it. + */ + if (msix_disable == 2) + msix_disable = 0; + sc->alc_flags |= ALC_FLAG_JUMBO; /* From nobody Mon Oct 28 16:59:43 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xcfkl4YtSz5bYMK; Mon, 28 Oct 2024 16:59: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xcfkl3Rhvz4Dl4; Mon, 28 Oct 2024 16:59:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730134783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lhiPjJdG+g92IDfteoKIH+09E5L1IcRcBJnvRs73x/g=; b=T+QbSKnvj2vku3gIcUaewfdfFFVSctOoJcBVbmq0nGyrn/wV36ejlUm73mo0r7XuUt1GuV vm4qOxJHyM8uXqB3OEVuPwGJppZg2M40TK7Q0MxpnU+SEouSs/9eS6dFVTRpyEpvr9M9xW GK42uHLlobcauOEkNBeVZyLdXHfFWrj6PtEe82G6oupz+b1w4PlFMrZGdMs+Vt1RXYaFBW Uf8fUEa9fmx9Y3kTET51qQLo2kxoMb+r1wlEJJHz89r+9yPuGhUcAV1P4bSnKd/I1UF7aM Qbb4hz2rDcELxgltSt1pu3EP/AJtAAIZ8G8XHuSyLGFNJFZclItp/p24az40ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730134783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lhiPjJdG+g92IDfteoKIH+09E5L1IcRcBJnvRs73x/g=; b=hcjc4dgrpnjU3jDBwwtRI0xLofq/QIpMLhKPG0lVT4Z7TJspZu/Lp1nVjFVdKZHVQsPJpS /KFr7irgcXCqrLeeWxj3NlHPYXuyJPHcF/ZGvC2fG0/hozRKrKgYZPw9r7LLzcPgaX5YoO 7HXBaP3sps/8Lr8KXXmuFhIMeBq+4Gh7UqO0mqSh6IHeijTu/aUj7oSRdcf9DQl4PRKLB3 PN5QRpearKFnT2bel7wnLPCBa3uEyHVAjqWqcahq46jGFMVGeWb7DyOShEuzgI+1+Y1W8P nH9LNaNog1wjj/2zug5mt21Q2TRzf2mwF6gybxQMnv/AqsV8PqU7T2Q+AGIkXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730134783; a=rsa-sha256; cv=none; b=oGhQpbEX++vc4sYY7f3Z3Jxb/Epgq0phFuVqPObJf3AYB/A7rOCbOYui0j/Z9kfv2RU2pz cHcoDOZoafhdg/smn4uCoc5TSwSZyJBqG1yynQH+tpOWxQrVWGWzsAocgar958TbEXAKEn iotrpFGr9YR9T8GQBeAU73v7HrKmfIqCbU29twuaLNVjXz+DLLORLNzjoze7L2J46rVNJ/ la27jlvfI5+Uf2TvOeYlRPvKDPUGfanrqBRF1CEzlNKYpxhXaNq7pTkSHDBVN8Er5jTFxr gP9BCqYu3yg0IimqA5ySzYRkObm9wiy97NLk5rHDSlD70EyjYxOGWK8uYNnLcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xcfkl2wpZznFQ; Mon, 28 Oct 2024 16:59:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49SGxhTg039933; Mon, 28 Oct 2024 16:59:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49SGxhFp039930; Mon, 28 Oct 2024 16:59:43 GMT (envelope-from git) Date: Mon, 28 Oct 2024 16:59:43 GMT Message-Id: <202410281659.49SGxhFp039930@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 9f984fc683d7 - stable/14 - netmap: Make memory pools NUMA-aware List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9f984fc683d7a8df452411ba6f25b838d6a7ea81 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9f984fc683d7a8df452411ba6f25b838d6a7ea81 commit 9f984fc683d7a8df452411ba6f25b838d6a7ea81 Author: Mark Johnston AuthorDate: 2024-10-14 13:30:09 +0000 Commit: Mark Johnston CommitDate: 2024-10-28 16:39:50 +0000 netmap: Make memory pools NUMA-aware Each netmap adapter associated with a physical adapter is attached to a netmap memory pool. contigmalloc() is used to allocate physically contiguous memory for the pool, but ideally we would ensure that all such memory is allocated from the NUMA domain local to the adapter. Augment netmap's memory pools with a NUMA domain ID, similar to how IOMMU groups are handled in the Linux port. That is, when attaching to a physical adapter, ensure that the associated memory pools are local to the adapter's associated memory domain, creating new pools as needed. Some types of ifnets do not have any defined NUMA affinity; in this case the domain ID in question is the sentinel value -1. Add a sysctl, dev.netmap.port_numa_affinity, which can be used to enable the new behaviour. Keep it disabled by now to avoid surprises in case netmap applications are relying on zero-copy optimizations to forward packets between ports belonging to different NUMA domains. Reviewed by: vmaffione MFC after: 2 weeks Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D46666 (cherry picked from commit 1bae9dc584272dd75dc4e04cb5d73be0e9fb562a) --- share/man/man4/netmap.4 | 12 +++++++++- sys/dev/netmap/netmap.c | 4 ++-- sys/dev/netmap/netmap_kern.h | 27 ++++++++++++++++++--- sys/dev/netmap/netmap_mem2.c | 56 +++++++++++++++++++++++++++++--------------- sys/dev/netmap/netmap_mem2.h | 2 +- 5 files changed, 75 insertions(+), 26 deletions(-) diff --git a/share/man/man4/netmap.4 b/share/man/man4/netmap.4 index fd713f3c384b..e258b60e11f6 100644 --- a/share/man/man4/netmap.4 +++ b/share/man/man4/netmap.4 @@ -25,7 +25,7 @@ .\" This document is derived in part from the enet man page (enet.4) .\" distributed with 4.3BSD Unix. .\" -.Dd March 6, 2022 +.Dd October 10, 2024 .Dt NETMAP 4 .Os .Sh NAME @@ -938,6 +938,16 @@ switches that can be created. This tunable can be specified at loader time. .It Va dev.netmap.ptnet_vnet_hdr: 1 Allow ptnet devices to use virtio-net headers +.It Va dev.netmap.port_numa_affinity: 0 +On +.Xr numa 4 +systems, allocate memory for netmap ports from the local NUMA domain when +possible. +This can improve performance by reducing the number of remote memory accesses. +However, when forwarding packets between ports attached to different NUMA +domains, this will prevent zero-copy forwarding optimizations and thus may hurt +performance. +Note that this setting must be specified as a loader tunable at boot time. .El .Sh SYSTEM CALLS .Nm diff --git a/sys/dev/netmap/netmap.c b/sys/dev/netmap/netmap.c index 832d0ecc0c6e..f531151fb656 100644 --- a/sys/dev/netmap/netmap.c +++ b/sys/dev/netmap/netmap.c @@ -4010,8 +4010,8 @@ netmap_attach_common(struct netmap_adapter *na) na->active_fds = 0; if (na->nm_mem == NULL) { - /* use iommu or global allocator */ - na->nm_mem = netmap_mem_get_iommu(na); + /* select an allocator based on IOMMU and NUMA affinity */ + na->nm_mem = netmap_mem_get_allocator(na); } if (na->nm_bdg_attach == NULL) /* no special nm_bdg_attach callback. On VALE diff --git a/sys/dev/netmap/netmap_kern.h b/sys/dev/netmap/netmap_kern.h index 8618aaf82299..22bd213d9c42 100644 --- a/sys/dev/netmap/netmap_kern.h +++ b/sys/dev/netmap/netmap_kern.h @@ -81,6 +81,7 @@ #if defined(__FreeBSD__) #include +#include #define likely(x) __builtin_expect((long)!!(x), 1L) #define unlikely(x) __builtin_expect((long)!!(x), 0L) @@ -1726,10 +1727,30 @@ extern int netmap_generic_txqdisc; #define NM_IS_NATIVE(ifp) (NM_NA_VALID(ifp) && NA(ifp)->nm_dtor == netmap_hw_dtor) #if defined(__FreeBSD__) +extern int netmap_port_numa_affinity; -/* Assigns the device IOMMU domain to an allocator. - * Returns -ENOMEM in case the domain is different */ -#define nm_iommu_group_id(dev) (-1) +static inline int +nm_iommu_group_id(struct netmap_adapter *na) +{ + return (-1); +} + +static inline int +nm_numa_domain(struct netmap_adapter *na) +{ + int domain; + + /* + * If the system has only one NUMA domain, don't bother distinguishing + * between IF_NODOM and domain 0. + */ + if (vm_ndomains == 1 || netmap_port_numa_affinity == 0) + return (-1); + domain = if_getnumadomain(na->ifp); + if (domain == IF_NODOM) + domain = -1; + return (domain); +} /* Callback invoked by the dma machinery after a successful dmamap_load */ static void netmap_dmamap_cb(__unused void *arg, diff --git a/sys/dev/netmap/netmap_mem2.c b/sys/dev/netmap/netmap_mem2.c index 1ba966e7666a..50a5d2bc50f2 100644 --- a/sys/dev/netmap/netmap_mem2.c +++ b/sys/dev/netmap/netmap_mem2.c @@ -37,8 +37,8 @@ #endif /* __APPLE__ */ #ifdef __FreeBSD__ -#include /* prerequisite */ -#include +#include +#include #include #include /* MALLOC_DEFINE */ #include @@ -174,7 +174,8 @@ struct netmap_mem_d { struct netmap_obj_pool pools[NETMAP_POOLS_NR]; nm_memid_t nm_id; /* allocator identifier */ - int nm_grp; /* iommu group id */ + int nm_grp; /* iommu group id */ + int nm_numa_domain; /* local NUMA domain */ /* list of all existing allocators, sorted by nm_id */ struct netmap_mem_d *prev, *next; @@ -310,7 +311,7 @@ netmap_mem_rings_delete(struct netmap_adapter *na) static int netmap_mem_map(struct netmap_obj_pool *, struct netmap_adapter *); static int netmap_mem_unmap(struct netmap_obj_pool *, struct netmap_adapter *); -static int nm_mem_check_group(struct netmap_mem_d *, bus_dma_tag_t); +static int nm_mem_check_group(struct netmap_mem_d *, void *); static void nm_mem_release_id(struct netmap_mem_d *); nm_memid_t @@ -576,6 +577,7 @@ struct netmap_mem_d nm_mem = { /* Our memory allocator. */ .nm_id = 1, .nm_grp = -1, + .nm_numa_domain = -1, .prev = &nm_mem, .next = &nm_mem, @@ -615,6 +617,7 @@ static const struct netmap_mem_d nm_blueprint = { }, .nm_grp = -1, + .nm_numa_domain = -1, .flags = NETMAP_MEM_PRIVATE, @@ -625,7 +628,6 @@ static const struct netmap_mem_d nm_blueprint = { #define STRINGIFY(x) #x - #define DECLARE_SYSCTLS(id, name) \ SYSBEGIN(mem2_ ## name); \ SYSCTL_INT(_dev_netmap, OID_AUTO, name##_size, \ @@ -649,9 +651,14 @@ DECLARE_SYSCTLS(NETMAP_IF_POOL, if); DECLARE_SYSCTLS(NETMAP_RING_POOL, ring); DECLARE_SYSCTLS(NETMAP_BUF_POOL, buf); +int netmap_port_numa_affinity = 0; +SYSCTL_INT(_dev_netmap, OID_AUTO, port_numa_affinity, + CTLFLAG_RDTUN, &netmap_port_numa_affinity, 0, + "Use NUMA-local memory for memory pools when possible"); + /* call with nm_mem_list_lock held */ static int -nm_mem_assign_id_locked(struct netmap_mem_d *nmd, int grp_id) +nm_mem_assign_id_locked(struct netmap_mem_d *nmd, int grp_id, int domain) { nm_memid_t id; struct netmap_mem_d *scan = netmap_last_mem_d; @@ -666,6 +673,7 @@ nm_mem_assign_id_locked(struct netmap_mem_d *nmd, int grp_id) if (id != scan->nm_id) { nmd->nm_id = id; nmd->nm_grp = grp_id; + nmd->nm_numa_domain = domain; nmd->prev = scan->prev; nmd->next = scan; scan->prev->next = nmd; @@ -688,7 +696,7 @@ nm_mem_assign_id(struct netmap_mem_d *nmd, int grp_id) int ret; NM_MTX_LOCK(nm_mem_list_lock); - ret = nm_mem_assign_id_locked(nmd, grp_id); + ret = nm_mem_assign_id_locked(nmd, grp_id, -1); NM_MTX_UNLOCK(nm_mem_list_lock); return ret; @@ -728,7 +736,7 @@ netmap_mem_find(nm_memid_t id) } static int -nm_mem_check_group(struct netmap_mem_d *nmd, bus_dma_tag_t dev) +nm_mem_check_group(struct netmap_mem_d *nmd, void *dev) { int err = 0, id; @@ -1399,7 +1407,7 @@ netmap_config_obj_allocator(struct netmap_obj_pool *p, u_int objtotal, u_int obj /* call with NMA_LOCK held */ static int -netmap_finalize_obj_allocator(struct netmap_obj_pool *p) +netmap_finalize_obj_allocator(struct netmap_mem_d *nmd, struct netmap_obj_pool *p) { int i; /* must be signed */ size_t n; @@ -1442,8 +1450,16 @@ netmap_finalize_obj_allocator(struct netmap_obj_pool *p) * can live with standard malloc, because the hardware will not * access the pages directly. */ - clust = contigmalloc(n, M_NETMAP, M_NOWAIT | M_ZERO, - (size_t)0, -1UL, PAGE_SIZE, 0); + if (nmd->nm_numa_domain == -1) { + clust = contigmalloc(n, M_NETMAP, + M_NOWAIT | M_ZERO, (size_t)0, -1UL, PAGE_SIZE, 0); + } else { + struct domainset *ds; + + ds = DOMAINSET_PREF(nmd->nm_numa_domain); + clust = contigmalloc_domainset(n, M_NETMAP, + ds, M_NOWAIT | M_ZERO, (size_t)0, -1UL, PAGE_SIZE, 0); + } if (clust == NULL) { /* * If we get here, there is a severe memory shortage, @@ -1637,7 +1653,7 @@ netmap_mem_finalize_all(struct netmap_mem_d *nmd) nmd->lasterr = 0; nmd->nm_totalsize = 0; for (i = 0; i < NETMAP_POOLS_NR; i++) { - nmd->lasterr = netmap_finalize_obj_allocator(&nmd->pools[i]); + nmd->lasterr = netmap_finalize_obj_allocator(nmd, &nmd->pools[i]); if (nmd->lasterr) goto error; nmd->nm_totalsize += nmd->pools[i].memtotal; @@ -1805,24 +1821,26 @@ netmap_mem_private_new(u_int txr, u_int txd, u_int rxr, u_int rxd, return d; } -/* Reference iommu allocator - find existing or create new, - * for not hw addapeters fallback to global allocator. +/* Reference IOMMU and NUMA local allocator - find existing or create new, + * for non-hw adapters, fall back to global allocator. */ struct netmap_mem_d * -netmap_mem_get_iommu(struct netmap_adapter *na) +netmap_mem_get_allocator(struct netmap_adapter *na) { - int i, err, grp_id; + int i, domain, err, grp_id; struct netmap_mem_d *nmd; if (na == NULL || na->pdev == NULL) return netmap_mem_get(&nm_mem); + domain = nm_numa_domain(na->pdev); grp_id = nm_iommu_group_id(na->pdev); NM_MTX_LOCK(nm_mem_list_lock); nmd = netmap_last_mem_d; do { - if (!(nmd->flags & NETMAP_MEM_HIDDEN) && nmd->nm_grp == grp_id) { + if (!(nmd->flags & NETMAP_MEM_HIDDEN) && + nmd->nm_grp == grp_id && nmd->nm_numa_domain == domain) { nmd->refcount++; NM_DBG_REFC(nmd, __FUNCTION__, __LINE__); NM_MTX_UNLOCK(nm_mem_list_lock); @@ -1837,7 +1855,7 @@ netmap_mem_get_iommu(struct netmap_adapter *na) *nmd = nm_mem_blueprint; - err = nm_mem_assign_id_locked(nmd, grp_id); + err = nm_mem_assign_id_locked(nmd, grp_id, domain); if (err) goto error_free; @@ -2881,7 +2899,7 @@ netmap_mem_pt_guest_create(nm_memid_t mem_id) ptnmd->pt_ifs = NULL; /* Assign new id in the guest (We have the lock) */ - err = nm_mem_assign_id_locked(&ptnmd->up, -1); + err = nm_mem_assign_id_locked(&ptnmd->up, -1, -1); if (err) goto error; diff --git a/sys/dev/netmap/netmap_mem2.h b/sys/dev/netmap/netmap_mem2.h index 1681d5c7721f..0123b010e944 100644 --- a/sys/dev/netmap/netmap_mem2.h +++ b/sys/dev/netmap/netmap_mem2.h @@ -146,7 +146,7 @@ struct netmap_mem_d* netmap_mem_private_new( u_int txr, u_int txd, u_int rxr, u_ #define netmap_mem_get(d) __netmap_mem_get(d, __FUNCTION__, __LINE__) #define netmap_mem_put(d) __netmap_mem_put(d, __FUNCTION__, __LINE__) struct netmap_mem_d* __netmap_mem_get(struct netmap_mem_d *, const char *, int); -struct netmap_mem_d* netmap_mem_get_iommu(struct netmap_adapter *); +struct netmap_mem_d* netmap_mem_get_allocator(struct netmap_adapter *); void __netmap_mem_put(struct netmap_mem_d *, const char *, int); struct netmap_mem_d* netmap_mem_find(nm_memid_t); unsigned netmap_mem_bufsize(struct netmap_mem_d *nmd); From nobody Mon Oct 28 16:59:44 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xcfkm6mHYz5bY7K; Mon, 28 Oct 2024 16:59: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xcfkm468gz4Ddt; Mon, 28 Oct 2024 16:59:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730134784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gnrtF2l39thkYI6RhfRAnGA7KYK/uiemtuSbjSiLXQk=; b=B74gtlXAUcW5UvylZu2h7eG1FTk0OLG8VHk7ilU6iEnV9Bva+04v0sFlxAUHh7PYGWd5aB xRP1quzLeGridehEg3WLGkokM9yl0PQO17W2xwOzMCUH2CuGsUNV+67c7X33VxgWDPx07n v/b8UpokYE39zQ8FHVk8q1oMOgzaeMBgw0URhtkj+22X/vIQvzsELCPzOhR2UxKZ/OhYXv 93U/4frDS8swUhOn4b934WsJsL5/8LO86zZpbRDORzn8l5+yh6dEcOlE1etTAit8NEuCEH CS3enFV1ce2qeIh/aQL6sxGTafUFLiXmPF+snql5vK0WR+Qzfupuq1yMp9DSog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730134784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gnrtF2l39thkYI6RhfRAnGA7KYK/uiemtuSbjSiLXQk=; b=CZYHTwxYt3a280NcfgyPlZ/MAHKKb6KzCuSE5xbt6CHEBBEG9EfLCChDjzCQA6j+xIRHq6 ehtiI0PZG1sOMfWQ7HXAHh/ID6rGTmWcwyDGqDVJ4++dBqfV9RCleOm3lMLz9T0cLTiVom mzAWnB3endnpHhOWJwZQ7T9GN+6cD48uBbA8U9rEBtkedvQ8SbYpljdixNGcDVpXLztgH5 cQUh6Y7pSdyQ8qySXB7GFpG6FGcNuYEEbPBOW8y3yUIg/Ml3A/oMCE5+MW4444qtsZB+Dd Tz5YnRl9rt5AkeMPYxr4SX6cBzL26fMSUNpgFp4gw7RI3fETiE1C7Khc2C1xoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730134784; a=rsa-sha256; cv=none; b=bYkVxmMD5x8BVuk20N/nMEfYaHofIp/XnEp/v8YR5oypPa4+8bv+IoxSnHwdby/Nfzs3Fq N+eV2LgO9IbWEbfiw3qSjaUp3Shr7PoFCIP7zIUB0wknvGxHx8bcHVqBIdBxPjIIBhrDGh uH5QcsTLpi7meLiRwNSD+eCgyEXerjYuWF2VNHrH9GLuA2ljofMXbOnmiPWE0mDptgqfdT mnQAv2frnq6oTYXA3JVE+jhWjSXgHonVcuvGtr7m98xOCHFYfigxY4LuKPA23m5iQC7bBJ apeZ9h291zFRYFE6YYIaMJHiXaJ6iNoJhFGyOO4eJUqVyVi8RwkNj4bWNSK8Wg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xcfkm3jjpzmpX; Mon, 28 Oct 2024 16:59:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49SGxiFR039987; Mon, 28 Oct 2024 16:59:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49SGxiwM039984; Mon, 28 Oct 2024 16:59:44 GMT (envelope-from git) Date: Mon, 28 Oct 2024 16:59:44 GMT Message-Id: <202410281659.49SGxiwM039984@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 7d3f9eb16890 - stable/14 - makefs: Record a larger TXG number in the uberblock List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7d3f9eb168904b0f201c6bb377818d238060075a Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7d3f9eb168904b0f201c6bb377818d238060075a commit 7d3f9eb168904b0f201c6bb377818d238060075a Author: Mark Johnston AuthorDate: 2024-10-14 13:08:09 +0000 Commit: Mark Johnston CommitDate: 2024-10-28 16:39:50 +0000 makefs: Record a larger TXG number in the uberblock By default, OpenZFS will perform metadata verification of the most recent TXGs, but this can be very slow since all data in a pool generated by makefs was logically written in a single transaction. Avoid triggering this verification by default, but add an option to restore the previous behaviour and enable it in regression test cases. Reported by: cperciva Tested by: cperciva (previous version) MFC after: 2 weeks (cherry picked from commit 4e15366c6a6907bcd0e2c28885ba5878ed4280d2) --- usr.sbin/makefs/makefs.8 | 3 +++ usr.sbin/makefs/tests/makefs_zfs_tests.sh | 2 +- usr.sbin/makefs/zfs.c | 13 +++++++++++++ usr.sbin/makefs/zfs/zfs.h | 2 ++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/usr.sbin/makefs/makefs.8 b/usr.sbin/makefs/makefs.8 index c6aeae961196..0cc2619e6c89 100644 --- a/usr.sbin/makefs/makefs.8 +++ b/usr.sbin/makefs/makefs.8 @@ -536,6 +536,9 @@ By default, allocates large (up to 512MB) metaslabs with the expectation that the image will be auto-expanded upon first use. This option allows the default heuristic to be overridden. +.It verify-txgs +Prompt OpenZFS to verify pool metadata during import. +This is disabled by default as it may significantly increase import times. .It poolname The name of the ZFS pool. This option must be specified. diff --git a/usr.sbin/makefs/tests/makefs_zfs_tests.sh b/usr.sbin/makefs/tests/makefs_zfs_tests.sh index 6e20ae33b354..9196232ed3b3 100644 --- a/usr.sbin/makefs/tests/makefs_zfs_tests.sh +++ b/usr.sbin/makefs/tests/makefs_zfs_tests.sh @@ -28,7 +28,7 @@ # SUCH DAMAGE. # -MAKEFS="makefs -t zfs -o nowarn=true" +MAKEFS="makefs -t zfs -o verify-txgs=true -o nowarn=true" ZFS_POOL_NAME="makefstest$$" TEST_ZFS_POOL_NAME="$TMPDIR/poolname" diff --git a/usr.sbin/makefs/zfs.c b/usr.sbin/makefs/zfs.c index b16a48564f04..43469c2358be 100644 --- a/usr.sbin/makefs/zfs.c +++ b/usr.sbin/makefs/zfs.c @@ -91,6 +91,8 @@ zfs_prep_opts(fsinfo_t *fsopts) 0, 0, "Prefix for all dataset mount points" }, { '\0', "ashift", &zfs->ashift, OPT_INT32, MINBLOCKSHIFT, MAXBLOCKSHIFT, "ZFS pool ashift" }, + { '\0', "verify-txgs", &zfs->verify_txgs, OPT_BOOL, + 0, 0, "Make OpenZFS verify data upon import" }, { '\0', "nowarn", &zfs->nowarn, OPT_BOOL, 0, 0, "Suppress warning about experimental ZFS support" }, { .name = NULL } @@ -594,7 +596,18 @@ pool_labels_write(zfs_opt_t *zfs) ub = (uberblock_t *)(&label->vl_uberblock[0] + uoff); ub->ub_magic = UBERBLOCK_MAGIC; ub->ub_version = SPA_VERSION; + + /* + * Upon import, OpenZFS will perform metadata verification of + * the last TXG by default. If all data is written in the same + * TXG, it'll all get verified, which can be painfully slow in + * some cases, e.g., initial boot in a cloud environment with + * slow storage. So, fabricate additional TXGs to avoid this + * overhead, unless the user requests otherwise. + */ ub->ub_txg = TXG; + if (!zfs->verify_txgs) + ub->ub_txg += TXG_SIZE; ub->ub_guid_sum = zfs->poolguid + zfs->vdevguid; ub->ub_timestamp = 0; diff --git a/usr.sbin/makefs/zfs/zfs.h b/usr.sbin/makefs/zfs/zfs.h index ff94c270bbf6..924fad83f63e 100644 --- a/usr.sbin/makefs/zfs/zfs.h +++ b/usr.sbin/makefs/zfs/zfs.h @@ -55,6 +55,7 @@ _Static_assert(MINBLOCKSIZE == SPA_MINBLOCKSIZE, ""); /* All data was written in this transaction group. */ #define TXG 4 +#define TXG_SIZE 4 typedef struct zfs_dsl_dataset zfs_dsl_dataset_t; typedef struct zfs_dsl_dir zfs_dsl_dir_t; @@ -82,6 +83,7 @@ typedef struct { int ashift; /* vdev block size */ uint64_t mssize; /* metaslab size */ STAILQ_HEAD(, dataset_desc) datasetdescs; /* non-root dataset descrs */ + bool verify_txgs; /* verify data upon import */ /* Pool state. */ uint64_t poolguid; /* pool and root vdev GUID */ From nobody Mon Oct 28 16:59:45 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xcfkp0v0zz5bXx7; Mon, 28 Oct 2024 16:59: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xcfkn5RyNz4DlF; Mon, 28 Oct 2024 16:59:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730134785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wqeuqgweu9Gq+HkBwC+ouzE7cK7Ko5leyykYIMWW7sU=; b=S6d4q+u0Be9OFxON+CGrB7kmwBhUbWaTpbbCcX4U7YAmobA3pRjyg9nJwaoOSRIAhzPbKh XIh2L8kfzaF4bSG1bWYT2SC1yQVy+iwOnVfn9gDhpeuSEB8totFAFNKqr61BfmWaeLgQgT KcgjuWYhL4YedKSNhVCPb37IIFXY/UCHQboPd7UrVAq2VjPRvOCnbWo6LkiSfHEX4RM0hb N25HzsgZxcZzv375o4zcQx/nzWjX7K9O8KTgisvWCRIEU/7QVmdBLa88gHq3HSVV3VjiCC XHPEa959e8BltrWw5GfVnPEtiDZzQwsC/O9H+9PNG8tTxzUHwg7oTiQ1YJOaLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730134785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wqeuqgweu9Gq+HkBwC+ouzE7cK7Ko5leyykYIMWW7sU=; b=xI9+LEgJYPAJb5Bqb3wm9mBE2hDzUFcBfxe3u/Vk91bTaBKawlVFTFHdTXgQXLpXutYhT2 v+4Xa/MATxLXpm0bukA4c0G+khq0mFbJhbJxc/U1OotcjXZE4AxZhTlWGjsMZJM8vbvamL SavLVitlyMBhOu2Cx2qdVYYUVWRAzWuTB3sdODEKF84ufa4pcdcNv58wCLztQG+4N8S/gY FYRV7FC7T1FXZDbmSe03A1S3VQRRkrUAteNBDLfO8v//Rk6v4DVGOOKw6/psPC9EWn1lu+ kIMc1Og6tjP6yxrRqpnwZeI5Pd7YJql5WM/H140UPo8Ze7DmOjYHzagj7NNupw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730134785; a=rsa-sha256; cv=none; b=ijQeLMEYp0LZNRLb6QJit4h9mmslmEhMI3PC80RS4WZkUIYS2/rCwiWhxmhSd33xUXeU1S Epfy+PYiKFlL+SJL5QDCDJ7oVZNePI9SZoEh4HyHkQe9cB0ySRE0fs0aNc7wcP4hAIVXBf K4xslybsdeU3bg9DkaoGO+G2trTv/Xz6l5hxKsWkvTt2O3s8LfMWDBUeOFSGCqbPR/BBQw YvcGIQ4DOB1kjOfYvKSNws9T7WKJEUaSQi/hwFq44FHR6fADKrYzKU4IcExaGizoGOPWGa I+Ac+wvoSDm61ApP2CbsKeNuuJHJz4aeW4NpJ3FDfpsxDdslOL89Xqjdkt3jAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xcfkn4kSbzmly; Mon, 28 Oct 2024 16:59:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49SGxjdb040041; Mon, 28 Oct 2024 16:59:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49SGxjUa040038; Mon, 28 Oct 2024 16:59:45 GMT (envelope-from git) Date: Mon, 28 Oct 2024 16:59:45 GMT Message-Id: <202410281659.49SGxjUa040038@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: b240f05f13c9 - stable/14 - cdefs: Use __has_feature to gate the definition of __nosanitize* List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b240f05f13c9e68fd48e716cd0d5fa2e77aefa11 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b240f05f13c9e68fd48e716cd0d5fa2e77aefa11 commit b240f05f13c9e68fd48e716cd0d5fa2e77aefa11 Author: Mark Johnston AuthorDate: 2024-10-19 13:55:12 +0000 Commit: Mark Johnston CommitDate: 2024-10-28 16:39:50 +0000 cdefs: Use __has_feature to gate the definition of __nosanitize* clang 12 does not implement the coverage sanitizer, and the build fails when __attribute__((no_sanitize("coverage"))) is used. Try to work around the problem by giving __nosanitize* a non-trivial definition only when the corresponding sanitizer is actually enabled in the build. Tested by reading disassembly of pmap_update_strided() and pmap_enter() in a kernel compiled with "options COVERAGE", and similar sanity checks for the other sanitizers. I also test-booted KASAN and KMSAN kernels in amd64 bhyve. Suggested by: jrtc27 Reviewed by: imp Fixes: a78bacf3b0ec ("cdefs: Add __nosanitizecoverage") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47193 (cherry picked from commit 3dc6188294dd4f907f5f63cc3f1a79ea20dba99f) --- sys/sys/cdefs.h | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h index 4fa4decd7652..1481bc1d89d1 100644 --- a/sys/sys/cdefs.h +++ b/sys/sys/cdefs.h @@ -872,21 +872,33 @@ * GCC has the nosanitize attribute, but as a function attribute only, and * warns on use as a variable attribute. */ -#if __has_attribute(no_sanitize) && defined(__clang__) +#if __has_feature(address_sanitizer) && defined(__clang__) #ifdef _KERNEL -#define __nosanitizeaddress __attribute__((no_sanitize("kernel-address"))) -#define __nosanitizememory __attribute__((no_sanitize("kernel-memory"))) +#define __nosanitizeaddress __attribute__((no_sanitize("kernel-address"))) #else -#define __nosanitizeaddress __attribute__((no_sanitize("address"))) -#define __nosanitizememory __attribute__((no_sanitize("memory"))) +#define __nosanitizeaddress __attribute__((no_sanitize("address"))) #endif -#define __nosanitizecoverage __attribute__((no_sanitize("coverage"))) -#define __nosanitizethread __attribute__((no_sanitize("thread"))) #else -#define __nosanitizeaddress -#define __nosanitizecoverage -#define __nosanitizememory -#define __nosanitizethread +#define __nosanitizeaddress +#endif +#if __has_feature(coverage_sanitizer) && defined(__clang__) +#define __nosanitizecoverage __attribute__((no_sanitize("coverage"))) +#else +#define __nosanitizecoverage +#endif +#if __has_feature(memory_sanitizer) && defined(__clang__) +#ifdef _KERNEL +#define __nosanitizememory __attribute__((no_sanitize("kernel-memory"))) +#else +#define __nosanitizememory __attribute__((no_sanitize("memory"))) +#endif +#else +#define __nosanitizememory +#endif +#if __has_feature(thread_sanitizer) && defined(__clang__) +#define __nosanitizethread __attribute__((no_sanitize("thread"))) +#else +#define __nosanitizethread #endif /* From nobody Mon Oct 28 23:03:24 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XcppN52ZWz5btbn; Mon, 28 Oct 2024 23:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XcppN45W2z57l6; Mon, 28 Oct 2024 23:03:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730156604; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LIpQa8gdVDoAphPZ/th+GFFNZMaGczSJPGUdQ++19yg=; b=Q2hbQ0tQ8u3VMW+7ZHwRkKweSCZEUW3fegfLbkRJ53UOA4/kVogvc0OudxirakOfDbjk9T 7DQoKGHo/m8GUnOW7tTrGAG7yOekMcYl7/Kh+W+MINif1s7QO367oHZCl7ksQlC8JDw0EY Fil9f8TszTAbrokTLMVTsZVoK9sVxMkCNq/qsaYWZJUOpLp2rwU8LyAQfW9spRPY/kOiMJ 2wcExe4V8yq13N0ERAzUIEO1iSpNQ1K64B2cY1cw3BA7B7S3hdZsGRxI/+GDmuU41h3pxK dBr9VxQwMVvlDAA+sH1Vbc88TcYhGBPOje4q6/ePAd8TXG8F7soZRvvK2f22dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730156604; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LIpQa8gdVDoAphPZ/th+GFFNZMaGczSJPGUdQ++19yg=; b=PidvuGsx/UA8PICgFRCZfLnL8Tta/T7Rpfypx7cbYJmWaYiEBtDaW8TgtnUQvP/ZxtAKNP Te5IAcysjm3SuHTd27R8HPNYtSgFlBvq0E3aokuJ6oFi0I+PF+YH5hHUDaqa/q+qX0pRSr cdjImJ6en+x98DHk3QgOjcw7kfEPjzbgrcXKjnuDWug2cROJ29JaLHsgs0f2mk/+DpV7S7 WnQKvE7BHZDgnV/shGsqby+788diaAaBwfy1+P9xMsNH7PILqD1/JF7pJCAixF5eV4PLsy cXEAB9sIaL+jUj/ywmAs72qxw49lZr8mHv7MPMKgTTUDUMqELZVJGq9mjol2Cw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730156604; a=rsa-sha256; cv=none; b=sJq0rlHNom4CN8PPtoNqWHT2TXnh29eaP1wegmhugtYMvFnrA2X3iUNs0MYMxdNXNAWsML gR0VGwpEQPGhc+geSxlyNYFd1++CdXRlF4MIoiq1o12kMSDExhcDVQWLVORHnYNdJ+UvZi 32SrrV5ZYEKqvpfgKeG57OxpXs4w+cRq8lAaXINDNLSBU91k0tY7rZQ4gmJPsy3WGLMx8a l+ptp+NAbYJSXliANCp0iwJDEIrmOVLInGbpqw1GkXXzgk2Q3C+9Rn3cbbG4Xsmf0/tBt+ MtuZcc8i241wWzRXc7Hn8j7o3XbYKvJQceA9VVT2zL7HAkVGtv+DNPVuonApDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XcppN3cJCzxyp; Mon, 28 Oct 2024 23:03:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49SN3Osu024161; Mon, 28 Oct 2024 23:03:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49SN3OnE024158; Mon, 28 Oct 2024 23:03:24 GMT (envelope-from git) Date: Mon, 28 Oct 2024 23:03:24 GMT Message-Id: <202410282303.49SN3OnE024158@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Gallatin Subject: git: ee373c1234d3 - stable/14 - acpi_ged: Handle events directly List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ee373c1234d33d68e91fbe51f846e265cbce9e72 Auto-Submitted: auto-generated The branch stable/14 has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=ee373c1234d33d68e91fbe51f846e265cbce9e72 commit ee373c1234d33d68e91fbe51f846e265cbce9e72 Author: Andrew Gallatin AuthorDate: 2023-10-12 15:15:06 +0000 Commit: Andrew Gallatin CommitDate: 2024-10-28 23:02:24 +0000 acpi_ged: Handle events directly Handle ged interrupts directly from the interrupt handler, while the interrupt source is masked, so as to conform with the acpi spec, and avoid spurious interrupts and lockups on boot. When an acpi ged interrupt is encountered, the spec requires the os (as stated in 5.6.4: General Purpose Event Handling) to leave the interrupt source masked until it runs the EOI handler. This is not a good fit for our method of queuing the work (including the EOI ack of the interrupt), via the AcpiOsExecute() taskqueue mechanism. Note this fixes a bug where an arm64 server could lock up if it encountered a ged interrupt at boot. The lockup was due to running on a single core (due to arm64 not using EARLY_AP_STARTUP), and due to that core encountering a new interrupt each time the interrupt handler unmasked the interrupt source, and having the EOI queued on a taskqueue which never got a chance to run. This is also possible on any platform when using just a single processor. The symptom of this is a lockup at boot, with: "AcpiOsExecute: failed to enqueue task, consider increasing the debug.acpi.max_tasks tunable" scrolling on console. Similarly, spurious interrupts would occur when running with multiple cores, because it was likely that the interrupt would fire again immediately, before the ged task could be run, and before an EOI could be sent to lower the interrupt line. I would typically see 3-5 copies of every ged event due to this issue. This adds a tunable, debug.acpi.ged_defer, which can be set to 1 to restore the old behavior. This was done because acpi is a complex system, and it may be theoretically possible something the ged handler does may sleep (though I cannot easily find anthing by inspection). MFC after: 1 month Reviewed by: andrew, jhb, imp Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D42158 (cherry picked from commit be91b4797e2c8f3440f6fe3aac7e246886f9ebca) --- sys/dev/acpica/acpi_ged.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sys/dev/acpica/acpi_ged.c b/sys/dev/acpica/acpi_ged.c index e7dcc1ffb0ac..23e125f277c5 100644 --- a/sys/dev/acpica/acpi_ged.c +++ b/sys/dev/acpica/acpi_ged.c @@ -81,6 +81,11 @@ static driver_t acpi_ged_driver = { DRIVER_MODULE(acpi_ged, acpi, acpi_ged_driver, 0, 0); MODULE_DEPEND(acpi_ged, acpi, 1, 1, 1); +static int acpi_ged_defer; +SYSCTL_INT(_debug_acpi, OID_AUTO, ged_defer, CTLFLAG_RWTUN, + &acpi_ged_defer, 0, + "Handle ACPI GED via a task, rather than in the ISR"); + static void acpi_ged_evt(void *arg) { @@ -92,7 +97,12 @@ acpi_ged_evt(void *arg) static void acpi_ged_intr(void *arg) { - AcpiOsExecute(OSL_GPE_HANDLER, acpi_ged_evt, arg); + struct acpi_ged_event *evt = arg; + + if (acpi_ged_defer) + AcpiOsExecute(OSL_GPE_HANDLER, acpi_ged_evt, arg); + else + AcpiEvaluateObject(evt->ah, NULL, &evt->args, NULL); } static int acpi_ged_probe(device_t dev) From nobody Tue Oct 29 00:29:28 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xcrjh6XV8z5bxKy; Tue, 29 Oct 2024 00:29: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xcrjh62Gzz426q; Tue, 29 Oct 2024 00:29:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730161768; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ny6NXYZXYLVXJSH72Z/tpRqrpHQWcUJJnZxy7AIHUeY=; b=Zoufc9LoZkvyJU49PpXApcM39EpmMbz4mrUOTGkI9YSX7USbiQc0QJH0Xd7PBX3e2f8gKc ICgjQXFJCKj5I3IbAnTXbBgF4aR5IlYb2A1cfvBYmKpRlufFrm9dCK/ZFrJPJSPS16lXzo 1jMxgQeo1nYI9MgEDcqPqzpwZDIrtUvjDxtKofvmex7jT9WrT4v/JQszLXZKcDLmEg/KS+ SG/lE2v8K7iEDPSHcYV2mxFZHG8KKwtD+rz/ILgIfMoe9TU2arx3yXEWVD3zn2DSI5vLY+ 012l1Mfr7q6SAaUZoThveN6WuNOfz++OV7ENKFxjg21z9gmdqt5zecFg3gY7/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730161768; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ny6NXYZXYLVXJSH72Z/tpRqrpHQWcUJJnZxy7AIHUeY=; b=TfYTxldW9/DjN7Tv86IHt1TNzmAXvZvOjuWo83WTZZDbV2ZjZsSznaLX+OIoCeIj0Vxtp+ VGBCOz0lYGGE7i2EjEzPdz0gqPnn0tY1Bq3dd5fLAsVag9hdxskOizlrx+bVvuj9H5AMQ+ jriZ1vOZN9+hY8KfOYjfG/htlnbveoIX6JelZJAv+x+Pr4VZ5oAydHcSEPAsJn7bVHBdiM 7gqXcH+T4p9c9nhArEPoX96qsTkiDQmkmcCRP8Jl8RaB5gNXXJW0PDDdygNnvGKOdb4zFF LuWYLYgZdnTRqsyGVRoPKlJ7zaO3oSKc77bNZ1YAdhRBVUJJoYsqKJwjJ4NyBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730161768; a=rsa-sha256; cv=none; b=vNstcIoMZUAqgunsrifw/gV8hWoNrkQc1NK0mKzOtjybgM4A1Tp10BpJROrKbj0esuq3ru 1rizYhNFrq2T5WYfJt3nMTaR2kJvAgx6jb3ziTIzppunyq0N6hJV4Fv1DxQnSqilB232uP jZ2xNMvf9pbCOxO7Hbbwp6hAWmhH2jhyrNBx8OuAkfnlzTqJ+6PUFl1LCK58qNBHUMIk8A UY9yhbeqR6EJcU6tycctzjerh771Sc7Q844y8XSizRYoYwX6I2O9CTHwKSA5IlACIIh7DL SJ6JR51eNEOSLKOr1cZjyL6VZOheLW/MOZEP+26+6gbEeXdlX6kA6MdxIkwn5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xcrjh5dLTz11WG; Tue, 29 Oct 2024 00:29:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49T0TSat073139; Tue, 29 Oct 2024 00:29:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49T0TS4Q073136; Tue, 29 Oct 2024 00:29:28 GMT (envelope-from git) Date: Tue, 29 Oct 2024 00:29:28 GMT Message-Id: <202410290029.49T0TS4Q073136@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: a8308a15f48e - stable/14 - ixgbe.4: Add flow director CAVEAT List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a8308a15f48edbb224d3f225121277ef7c2f04b8 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=a8308a15f48edbb224d3f225121277ef7c2f04b8 commit a8308a15f48edbb224d3f225121277ef7c2f04b8 Author: Diego Casati AuthorDate: 2024-10-26 20:34:16 +0000 Commit: Kevin Bowling CommitDate: 2024-10-29 00:28:46 +0000 ixgbe.4: Add flow director CAVEAT Flow-director support is not fully implemented and will cause errors if enabled. Mention this in the ixgbe(4) manual. PR: 202663 Co-authored-by: Alexander Ziaee Pull Request: https://github.com/freebsd/freebsd-src/pull/1493 (cherry picked from commit 20b823a59bc7419a6f93ec5097bd5ee524c20981) --- share/man/man4/ixgbe.4 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/share/man/man4/ixgbe.4 b/share/man/man4/ixgbe.4 index b151d3466392..ccdf50cf9674 100644 --- a/share/man/man4/ixgbe.4 +++ b/share/man/man4/ixgbe.4 @@ -124,3 +124,11 @@ The .Nm driver was written by .An Intel Corporation Aq Mt freebsd@intel.com . +.Sh CAVEATS +Intel (R) Flow director support is not fully implemented in +.Fx +at this time and additional work is required +before those features can be supported. +.Pp +Enabling flow director may route traffic to the wrong RX queue of the NIC, +resulting in sub-optimal performance on the receive side. From nobody Tue Oct 29 00:29:29 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xcrjk0lgpz5by7J; Tue, 29 Oct 2024 00:29: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xcrjk07jtz42JT; Tue, 29 Oct 2024 00:29:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730161770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K1ImerrhC14ZhDjnqQfLPaQx52ru1QxGgt0L/4nDilI=; b=vuRhxj4svEObc/Ux1NEZ/fTQx4KjOoiMfaJ41xnbdqr0pFAnCSqT980dS4o1yTb4ge04pG Wu5+qEfYkTDy2aSto8S/XmZgjojKvb8XhQ8UwnFrX3/wsaKhh6OrQTaypcshTMVKuK42+w 5DukNkX9iGylSV4mjxMkN01sncVLoAzjDDZ8DRMA3l88pb0GHNhJbXcdcTpUJt8iOCZo9q 3JwjYE2PHt42bNP48gX2ZaU/tFdp7ryipNlPApOAW5qaMj+uISQka1BL0fzSyeZo+pRiuW KVo+ORs8qIvjxWrMeDI5lU5+ADaWP1WHpCvTZ2hXOndfoYOwTgkSCbBpQEEyIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730161770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K1ImerrhC14ZhDjnqQfLPaQx52ru1QxGgt0L/4nDilI=; b=eGn9Cd6P5LDvkZTPtFAsGCVIZGw3F1LS6RPABp8u4p7DVt9TYrzjGQ0Vz3wbwD3yhxbENy mPLLmb6aN/dY0InuXuXJpotjC9wbn+/s26vR/nSvWGYJ6mCUUAzBaPqrUASe6HwmZKZ+WL lwu3FkEPn8fbRqOUsU5W5iSpcanwbXJZPPMlLzlelOl2WvkPtkC7zeLIgl3bkZG0Y84OQ3 BiR7YcOCO81XbswC8oGSChW4e2R1/fwwwmu/exOLuS8gfgDRA+3rwBfLT/YBmS0x9h3dTV Q+RgSfQmAPQHnHRvSQhLwf8ekymt/QCe3mFQ1wSMWm4ehzMRvoodEAvVMrGFmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730161770; a=rsa-sha256; cv=none; b=T1x7iI7ST8tQaBbOHaw7O0yBViZLn7cVzjAWpU98LtR5NBgrLHVAH84potbFDiRTQOq63B oEAonsBYbDJf20etXqnZqeIaIwExWD7osuNzDjSTpZDQGPR6RkWUBQC8Gv//5lmMU1c/QX uqkl9zco6xfL5klKtLWAFiWbtigqKdLM/H2BCBR/s5BXw37foayegpm4jXfmTRFU+dXg+I nguT4aYPnp/e/SAW/o6/p7h7btNhtWc5d963LXBAsWwKNikjPSoDrneqdnKZff85+sajRI 29K9aOpsBG+NoWjUgUgkBi8bFA/l+KAwg3M35zUlwzEIhT+WO5UaSW0fQuYWsQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xcrjj6sH2z11xR; Tue, 29 Oct 2024 00:29:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49T0TTfS073188; Tue, 29 Oct 2024 00:29:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49T0TTng073185; Tue, 29 Oct 2024 00:29:29 GMT (envelope-from git) Date: Tue, 29 Oct 2024 00:29:29 GMT Message-Id: <202410290029.49T0TTng073185@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 9679df8eea14 - stable/14 - ixv: Dynamically size the receive packet size List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9679df8eea14a5f707aa870328d9bb211f12c570 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=9679df8eea14a5f707aa870328d9bb211f12c570 commit 9679df8eea14a5f707aa870328d9bb211f12c570 Author: Kevin Bowling AuthorDate: 2024-10-26 21:34:30 +0000 Commit: Kevin Bowling CommitDate: 2024-10-29 00:29:03 +0000 ixv: Dynamically size the receive packet size If MTU of the if_ixv VF driver is configured between 1501 and 2030, and if a peer box have bigger MTU and sends a packet bigger than MTU into this guest, kernel could crash. Dynamically calculate the receive packet size on rx_mbuf_sz as ix(4) does. PR: 268092 Reported by: Kumara Babu Sponsored by: BBOX.io (cherry picked from commit cdbe3de5383706da0f6d3c29f1ec2dcfed366bf1) --- sys/dev/ixgbe/if_ixv.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/sys/dev/ixgbe/if_ixv.c b/sys/dev/ixgbe/if_ixv.c index 66a1e4fe2df1..d5fe1a5c6b30 100644 --- a/sys/dev/ixgbe/if_ixv.c +++ b/sys/dev/ixgbe/if_ixv.c @@ -1363,7 +1363,7 @@ ixv_initialize_rss_mapping(struct ixgbe_softc *sc) IXGBE_WRITE_REG(hw, IXGBE_VFMRQC, mrqc); } /* ixv_initialize_rss_mapping */ - +#define BSIZEPKT_ROUNDUP ((1<rx_queues; u32 bufsz, psrtype; - if (if_getmtu(ifp) > ETHERMTU) - bufsz = 4096 >> IXGBE_SRRCTL_BSIZEPKT_SHIFT; - else - bufsz = 2048 >> IXGBE_SRRCTL_BSIZEPKT_SHIFT; + bufsz = (sc->rx_mbuf_sz + BSIZEPKT_ROUNDUP) >> + IXGBE_SRRCTL_BSIZEPKT_SHIFT; psrtype = IXGBE_PSRTYPE_TCPHDR | IXGBE_PSRTYPE_UDPHDR From nobody Tue Oct 29 00:31:23 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xcrlw1Jqwz5bxpq; Tue, 29 Oct 2024 00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xcrlw0nW8z43Pg; Tue, 29 Oct 2024 00: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=1730161884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gzOKXgIn4P6elqmmToQgpd8YSmJkG9xius/yjMp8Yp8=; b=Kp3u3fo5Vp5BHTFddXsIBqUacWjssdiKtKyxBG1bcgO/9xLIGJ3BybE4SHFY2aFDq2m4NI LB8KMJ6S3q0PdpQdII8u1yaSA3oHQ5xGZ47ZsGoly1YV+BLpDy4qMaPOwzY7+VP6HNA3vG Jnq1RPT+iPQE5PsWWtbwZeM+/HS45n+5a8/GE1ca6V1EpLV4aTVUFUUiyEoJ4bmKxrY1R9 wKCSX2sPqhvSwkFrn/ufZzx0Pl3imU3z9YbWD6upEpkr/jYswU+DNhdeMeal7WokPKIOWM vVN9DhUV9gyrRhV0SBO3EX+c9MieK2jYt4VAcMqwebEobmE9F6FzliaQSjFGkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730161884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gzOKXgIn4P6elqmmToQgpd8YSmJkG9xius/yjMp8Yp8=; b=Wx0eoPAUUfuDtlyiK/2P95lpyGJBN4CL0FCb0wDG39AZne8EyfNK1dihk5DsgJ2jJtKHuo ZsEtac+mfb1zGkkoBo2wvlXRSBjxI2IEWG7+j0lI8RYwg1KtWq9ymOPjSosUrg4SCJ9uUE MpAge65Mm/0SBj2LlV+N/KqAru/DGQ26gHWH1ESuiJPFXdxsvjV+JzmCaUGnC9yUxv+hMc GwNlXt3cHc3MQK4QXRfQwEM+EdVW5bmIZAgvpm1aA0NHdquHNrn2RIg0G/goVzNOO7LDFB ctNH6hUS+iKZTjdadJ/CtoHXmDB1am0+AqlyP/zkYyYzfArFipD/AAESosMtvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730161884; a=rsa-sha256; cv=none; b=KZvvWaGRzdpxdQIaVcVjagodM2TPkl0WhFPKpz4QgwWGc0bavB00kTKZdxpWkUS1584FG7 sAAWsd8CG8NThkpHvjSo9nQzeZ6IDZFso+fiHvlnOdFK0C6Ba63WMMv39SgCOYrVufXjyr AcjXoF0rCs/s/6Opy/vCfsA7cwDX+OqwJa0QgC3X3yTckDcGCvx8DkVMHhTIIqNppYajCJ ik9i4UAUeg9Ckli9nqzRrI/pQvKQ2CL5hd7T8DUUGtu+HMTE2wfEfRFZCOf9WHhX+gPCef rPb+D7CO3uPfhdK4Kpi1F4af+DV4MxokfhyHb36UQi9GtYlI/otX/GLuOsZbkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xcrlw0HNpz11Wf; Tue, 29 Oct 2024 00:31:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49T0VNV1087014; Tue, 29 Oct 2024 00:31:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49T0VNae087011; Tue, 29 Oct 2024 00:31:23 GMT (envelope-from git) Date: Tue, 29 Oct 2024 00:31:23 GMT Message-Id: <202410290031.49T0VNae087011@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 60211fe46a4e - stable/13 - ixgbe.4: Add flow director CAVEAT List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 60211fe46a4ec5e6b72cb656f487297a15a0e373 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=60211fe46a4ec5e6b72cb656f487297a15a0e373 commit 60211fe46a4ec5e6b72cb656f487297a15a0e373 Author: Diego Casati AuthorDate: 2024-10-26 20:34:16 +0000 Commit: Kevin Bowling CommitDate: 2024-10-29 00:29:52 +0000 ixgbe.4: Add flow director CAVEAT Flow-director support is not fully implemented and will cause errors if enabled. Mention this in the ixgbe(4) manual. PR: 202663 Co-authored-by: Alexander Ziaee Pull Request: https://github.com/freebsd/freebsd-src/pull/1493 (cherry picked from commit 20b823a59bc7419a6f93ec5097bd5ee524c20981) --- share/man/man4/ixgbe.4 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/share/man/man4/ixgbe.4 b/share/man/man4/ixgbe.4 index b151d3466392..ccdf50cf9674 100644 --- a/share/man/man4/ixgbe.4 +++ b/share/man/man4/ixgbe.4 @@ -124,3 +124,11 @@ The .Nm driver was written by .An Intel Corporation Aq Mt freebsd@intel.com . +.Sh CAVEATS +Intel (R) Flow director support is not fully implemented in +.Fx +at this time and additional work is required +before those features can be supported. +.Pp +Enabling flow director may route traffic to the wrong RX queue of the NIC, +resulting in sub-optimal performance on the receive side. From nobody Tue Oct 29 00:31:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xcrlx3rL6z5bxpr; Tue, 29 Oct 2024 00:31: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xcrlx1m0Tz43g8; Tue, 29 Oct 2024 00:31:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730161885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qu6PAGYqPB3P0etkEG7YzIBGc0EuII4DI7DXqo8bJwY=; b=flGVRpcX+sCkIb0UeC2G74848T1TvTxWOiL7R9/uWKKfee+Ph3MNF21F1gcAinMPQucee2 ZVB6xago3rFmzGDpBJrPkUbFtRHTF6IwMbIpMpKLGpFbku89EMBtXuCeZHYtCOgjyKYPVE znb/8l3Ij7RcK/2r8tXMXFXiTpoVg2Zm8BC4lx6XpeQvKLCnnbHz3oZQBqL9arQEi6D5n2 GBgI1KUr9OXV+g8L+LrPD5pyrx/W3mB/wO2bMtCRRzn0m5snpfUyJw4CK6+Et3YCukTqdB kd6CDJBMtiK9S2XknTtES4ZSdtACzzz4RoAxyMQ4Us5sW1awXN2pR44v2sakzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730161885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qu6PAGYqPB3P0etkEG7YzIBGc0EuII4DI7DXqo8bJwY=; b=kZ0VpP9sFNZBFkKip1wbwLAzMnm+13VJPdr6GtNX3yCWSbmndS/uqEh+eC/cEA0xea3dJE dLVGfaAd9jEeZzNJGX3Bj1hoJmsGXELeDJmzyBxbsKCFUAZ5b0LrkuwUdXUuPLeaUH63UD DUP/0Lytzr5HjeWA8HYRvsh8jBvV+nRuV70fSOPde6YXZ8e6RPHLKean6VlpoBIFp7h0Kd +cen3z0vUJz/6eVpkrjttFbjpQOHelNwq7IP/Zxoxx7s/iByGdFT/t6RPRYbtbIj+DSFve julxNSf4Y7B3rzXfahvOKMt99ctUcaWNkq4UHiS1vIXvlIQlyaFMH1R132li7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730161885; a=rsa-sha256; cv=none; b=KkUoajuQR+9vxLtznxN681uVFJ0zjqQbwQEpdlsJ2xYAV/xBxfvxutMjh6+EjxSNBOSLv4 Efzj0uk+GxCkTDOjxir7pGXcLGE6MArFWfbdttcQ7/9qNj7r/FCeyAUDeyQZm1GmIsCfn/ ygW7gPGF2CWzMWoLMCpttdpjUBtNcJBB+E4b6RwqKHBeHq+xuwTwDgHl6HaAwn8l514z4w xhup39+0JnLesSLVdyhVkqFAJVLYEzsM6KVUQcW1AnVKgncl8CdzXtupyhSI/PdOKQ3vop LhWG3+OEEl2GCT+3W4XFm/e7k6tAs6SgXmRv7qzm8PgOxIUQtICBDqk3gN6HSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xcrlx1JRWz10l9; Tue, 29 Oct 2024 00:31:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49T0VPLZ087062; Tue, 29 Oct 2024 00:31:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49T0VPa8087059; Tue, 29 Oct 2024 00:31:25 GMT (envelope-from git) Date: Tue, 29 Oct 2024 00:31:25 GMT Message-Id: <202410290031.49T0VPa8087059@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 33557727b593 - stable/13 - ixv: Dynamically size the receive packet size List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 33557727b5936a235506b500a57ecf8239ffae4d Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=33557727b5936a235506b500a57ecf8239ffae4d commit 33557727b5936a235506b500a57ecf8239ffae4d Author: Kevin Bowling AuthorDate: 2024-10-26 21:34:30 +0000 Commit: Kevin Bowling CommitDate: 2024-10-29 00:31:00 +0000 ixv: Dynamically size the receive packet size If MTU of the if_ixv VF driver is configured between 1501 and 2030, and if a peer box have bigger MTU and sends a packet bigger than MTU into this guest, kernel could crash. Dynamically calculate the receive packet size on rx_mbuf_sz as ix(4) does. PR: 268092 Reported by: Kumara Babu Sponsored by: BBOX.io (cherry picked from commit cdbe3de5383706da0f6d3c29f1ec2dcfed366bf1) --- sys/dev/ixgbe/if_ixv.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/sys/dev/ixgbe/if_ixv.c b/sys/dev/ixgbe/if_ixv.c index fe23ea226348..7535d8c15204 100644 --- a/sys/dev/ixgbe/if_ixv.c +++ b/sys/dev/ixgbe/if_ixv.c @@ -1363,7 +1363,7 @@ ixv_initialize_rss_mapping(struct ixgbe_softc *sc) IXGBE_WRITE_REG(hw, IXGBE_VFMRQC, mrqc); } /* ixv_initialize_rss_mapping */ - +#define BSIZEPKT_ROUNDUP ((1<rx_queues; u32 bufsz, psrtype; - if (ifp->if_mtu > ETHERMTU) - bufsz = 4096 >> IXGBE_SRRCTL_BSIZEPKT_SHIFT; - else - bufsz = 2048 >> IXGBE_SRRCTL_BSIZEPKT_SHIFT; + bufsz = (sc->rx_mbuf_sz + BSIZEPKT_ROUNDUP) >> + IXGBE_SRRCTL_BSIZEPKT_SHIFT; psrtype = IXGBE_PSRTYPE_TCPHDR | IXGBE_PSRTYPE_UDPHDR From nobody Tue Oct 29 05:03:27 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xcynq6vNjz5Zklv; Tue, 29 Oct 2024 05: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xcynq6FR4z4S2W; Tue, 29 Oct 2024 05: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=1730178207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q0oZ41lZDhAQ2sjltOEEAD1DeGdZcKPbAh6ELEcfdL8=; b=QoKlzo9Y5rKbE2XO0ZHLvEcRel+ObQ1TxeHSQt4wWBBmWhQ19C5tRa9TwFn592x6Uu67dy v2rgFZ0uQ0MCFLZ93drk6QdOUhwMyo9eoMz56ctgHCdVj24BcnoqwUbo+BXMEqkhSlLYtd 6Z+LWzSMxxIFEfdsvexNhxnFm/KulHoD9mGpauap+keBt5PXf+8mJ/qH/7kv3kdLR2AuGB zaU5yrLSbbcnatvXzRHL7KKcUDwwb9AtVInEqYtQTSPfnVHBI51znb0DHbKJ0BVgrwOS64 N3tnPBkLXJ/TT6/Vl0bcqThH/r437yhnftmttDnkKJKMGC0YpJVtEbuR2NhPow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730178207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q0oZ41lZDhAQ2sjltOEEAD1DeGdZcKPbAh6ELEcfdL8=; b=BM0RK/o6LEGX6XU7KfhsSK2PMztUPJS0YipNHviIOlCp/eV5uvMiVnCHx3Q6Z19dFJ+POJ kfEYnLE7LGAyq2kaIOhUGZ2po4O65Yo6PDo1bS84fb18mOMxJH9jc2nawKQb/pDodNIGHx SHGCQDCCrxdLNqnOs4VrOFclqMsccsRza/AwJbYRZ4XC2cn/RbZkKi3M07LisZdElCwz0m NqCtXVj7l96lXM6POWnx0vw8MGM7SN7GD5d+4LJCMGYEfpMC0GHgLJNEKoy5emcq9jJUTK gV5KRQSWF8dUtfyPKd5whplnVfp9S8uqAdw4Zts2PPwEBZADLr5UDXLe8BCNcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730178207; a=rsa-sha256; cv=none; b=SZC4orCZUYcrclcMllYkdjAw6KMsxnWl8GebmWBGJoITrmUUg1WwkDVcDdqSpkAw1/3VbV pXPdKaw0lhy/4SjoJCWg3RH478LzH/73/AlMruoyRqNTe6jwB9uUvisQ1hPpdsGWfszU3q Z1MdvPBfLq7wS/DM67d/C+b0IW7QhOjWEgrRWRG0Nj4v0sjVrywveAIHIqbnFQ0Gv47LIA WKEZjNhi3g89Ri1jJxnJkPlcDrJwePfXhfyjRQSNbkfTnve68B7nLibuBxQRqyel1wI28k 9AsycXCVAklPeVeGz/rXwusrhYiQ+yL7SERWrsrzvKch+mUGY5CDa1aK77atLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xcynq5qV3z18Gc; Tue, 29 Oct 2024 05:03:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49T53RCA090585; Tue, 29 Oct 2024 05:03:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49T53RfK090582; Tue, 29 Oct 2024 05:03:27 GMT (envelope-from git) Date: Tue, 29 Oct 2024 05:03:27 GMT Message-Id: <202410290503.49T53RfK090582@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 3aedf015d1a3 - stable/14 - if_ixv: fix build without NETMAP List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3aedf015d1a304184b48c3fce016dd9083dba790 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=3aedf015d1a304184b48c3fce016dd9083dba790 commit 3aedf015d1a304184b48c3fce016dd9083dba790 Author: Konstantin Belousov AuthorDate: 2024-10-26 23:37:09 +0000 Commit: Kevin Bowling CommitDate: 2024-10-29 05:03:00 +0000 if_ixv: fix build without NETMAP Sponsored by: The FreeBSD Foundation (cherry picked from commit b0993e3bcaec60701f3ae56df255433eb4bcd091) --- sys/dev/ixgbe/if_ixv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/dev/ixgbe/if_ixv.c b/sys/dev/ixgbe/if_ixv.c index d5fe1a5c6b30..467a56e7269f 100644 --- a/sys/dev/ixgbe/if_ixv.c +++ b/sys/dev/ixgbe/if_ixv.c @@ -1373,7 +1373,9 @@ ixv_initialize_receive_units(if_ctx_t ctx) struct ixgbe_softc *sc = iflib_get_softc(ctx); if_softc_ctx_t scctx; struct ixgbe_hw *hw = &sc->hw; +#ifdef DEV_NETMAP if_t ifp = iflib_get_ifp(ctx); +#endif struct ix_rx_queue *que = sc->rx_queues; u32 bufsz, psrtype; From nobody Tue Oct 29 05:05:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xcyrb23Y0z5ZlQ2; Tue, 29 Oct 2024 05:05: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xcyrb0CHVz4S9f; Tue, 29 Oct 2024 05:05:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730178351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Iu7bpERoIrSaCOJJxErLYEiO+dvA2pc5ql7TmMrX8oM=; b=tIlqorQHpuLNnOhH5+koYusRcUIahFZD6pRErMOL2qxvAJT0AsJDyj3ascoR9xMeH9u/ey qlqNLv/m0+nCGKNbsghzroGY/+zyr0vJrQ28Yg2mqfUBPahOvKjR62VdIIs76t4MfcEFRa IwYH0W+yUYc59MpNnf6P8ZteqU87wediAXqVtb1dsF0S/dzmkuJT7MOMzASgtqYrCG20lV JKAn/3U+eWeHlXHDrjGWQ3hcDJtrSB/ln56nSon0GICYg+sXEthGpFQqYb4qgMEgy5ix6u eKiG3/ksl44kLN63cEZIpQbcjAdMbYJqFway6RzIf96gEuRNrloduIkUXRzXRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730178351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Iu7bpERoIrSaCOJJxErLYEiO+dvA2pc5ql7TmMrX8oM=; b=AZtdggnFgs6BrbQ2pw0x5SWYeZNZ4lMhHJAAlyhFRmdTGhWy/2erSVH74GNOL0KVlmsTo4 YPYQKTSrM9THZEfx/5y5MsKfLMuQt4t+yYs5eYUtQ/w3+ZHSmkf9MpnVKBPShukK05tzzx NaDk8vkxMc+/CiZulZy5ZgA3KFr6Dbq0eus4aocRX2HAtoWByyFMBynxq1+Jb4z/4P0sJq coX3i6zKSOiZv5sVGcOwl4LYLMkUlPicXPP+apswdXuRWEmRH05QNv5kmXcyGCyd5LuCY8 XJjMecCkoDUhoE5C31OYyryAtsWgUdD792+BqJfcDR4xUefW8SEIPvYATBymuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730178351; a=rsa-sha256; cv=none; b=gR6wiumgr0+8I9H1c3Isb/MwdIfEaiKnDGan7jcR450/TqgVyrn00mUO6UeCNQ2FBOokTX blKaEjIq4DhIHA0v6+O52ItJQM1vZwPBY9qk4nG0bg55pXtYh5y7BG48Mwx2/EDj010Oc2 g/UpwslSRWCQ8niBYD+5l0GODTvN7rE6XQpgJB1/8RuM3ClesPGLUcDAwWVFLlM0m8v5a5 QwoohU6queWiLXUbPZMiH5KKM97YyYLIHT5L8y5sHiHpG5uhQw9rZv0xEBWKVVMSnOQnwK uImheq7v9514eQqOE1lKjx2Qc4v/QHGnLo+2IwuOHKNxpfWGTYntmDHbgKriOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XcyrZ6pKqz18bN; Tue, 29 Oct 2024 05:05:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49T55oYv091361; Tue, 29 Oct 2024 05:05:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49T55o1M091358; Tue, 29 Oct 2024 05:05:50 GMT (envelope-from git) Date: Tue, 29 Oct 2024 05:05:50 GMT Message-Id: <202410290505.49T55o1M091358@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: bbe4a6a3f2b9 - stable/13 - if_ixv: fix build without NETMAP List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bbe4a6a3f2b9d418ca6833cf9f628096d22bcd85 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=bbe4a6a3f2b9d418ca6833cf9f628096d22bcd85 commit bbe4a6a3f2b9d418ca6833cf9f628096d22bcd85 Author: Konstantin Belousov AuthorDate: 2024-10-26 23:37:09 +0000 Commit: Kevin Bowling CommitDate: 2024-10-29 05:04:40 +0000 if_ixv: fix build without NETMAP Sponsored by: The FreeBSD Foundation (cherry picked from commit b0993e3bcaec60701f3ae56df255433eb4bcd091) --- sys/dev/ixgbe/if_ixv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/dev/ixgbe/if_ixv.c b/sys/dev/ixgbe/if_ixv.c index 7535d8c15204..91ed47df429d 100644 --- a/sys/dev/ixgbe/if_ixv.c +++ b/sys/dev/ixgbe/if_ixv.c @@ -1373,7 +1373,9 @@ ixv_initialize_receive_units(if_ctx_t ctx) struct ixgbe_softc *sc = iflib_get_softc(ctx); if_softc_ctx_t scctx; struct ixgbe_hw *hw = &sc->hw; +#ifdef DEV_NETMAP struct ifnet *ifp = iflib_get_ifp(ctx); +#endif struct ix_rx_queue *que = sc->rx_queues; u32 bufsz, psrtype; From nobody Tue Oct 29 07:00:32 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xd1Nw3gZPz5b5xQ; Tue, 29 Oct 2024 07:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xd1Nw3Bwqz4b67; Tue, 29 Oct 2024 07:00:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730185232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tg3FbKyJIO6+f3xMtQLCh6gJWJ/TLEUGpS8wVt9HzL0=; b=Ehv8EuNVF5TJ9swpNYjMYUrsm7wRy4sExEuDC00ob+jR3ZjEUUimZnUbqAh1CBBC0IltgE SC1qqdhP/11oiIOieNt+6LMu5Vy5MqwU6qbD5HlVMAg15yEiuHFNqN3phJhz6pkbvFOUoz /N1OM9qIAATxbcCp7bSgD6W13CmCX0v8v7nPiO9m/IwWDmKqekRCDFFUegPFodH6o2U4s4 Ou/Pr0V5XBY/TIMpl3w6GAV+1zrhJNeIxqOjJFTNEx8QNuWUKKSoS7ukJt+iZ/uq55/mZd iJJiESav0U2tp/3UHKSQbwNieRFV6jLoRD/W2df+eLNFiR8mxHb+91w6aCiITQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730185232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tg3FbKyJIO6+f3xMtQLCh6gJWJ/TLEUGpS8wVt9HzL0=; b=iZbokOiFwjCiyFGh7K6yKWy5FBJbKYGYIlQZf5NEY5qpe4xfNQ8UMPIyzbX7naADtDsirg Ww0IvFPqsi1TsqT7rW85co/aGgLEyKTs10W23vb3A/J+ywOkOaAlDMEoILdHFfVZD+j1fi o92uPUk0L7bmzUtWE9d2PFpqzPHNhzo/xynJyR2vx7AsGXzUbyubB+Ip9pKYswwBY7H7VM F+9KmB98iES3qsORWe20mcOXmVkTkYbKLS55WwT3itos3vmmuW12M6rTiSkKJBzJux2VGf hmHW80GxWdP/7UdmH9HfVLiqfvRyUCT3nGnINKBPI+8/lxaVKa9s7iI7hOxgOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730185232; a=rsa-sha256; cv=none; b=nLAXfsyTGRf01QUT0nc4teGg93fywwa1W3DQux/k7+pXAo2Vy5ij2W1W/HabAuuvpSTsYC nzkKRrY5s9i+jumVMn+vXGWAAssfASsVgiyQhKyXVCqSjaawetfV+vDdWG3imB2O+ZbUwE PDgl+itrMD2MGqbqXN9Eu7IJ2xDdw6NJUV8x9vhE3iLs0bgfOlH5esYisEkcKOt6aNfff8 zNPAlQW9k7YvPEjgCCEOX+etcC4L2OogpWw7vz+XSv1w5LsrPhkdb+uQxloTKL529B9azg aBHOwTeeR7VD/Ol8LzxsxjVZ00/EU+voWg4J6o/oeXwGF3DJf2fZq6GmmCFESw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xd1Nw2nxNz1CKs; Tue, 29 Oct 2024 07:00:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49T70WmK004699; Tue, 29 Oct 2024 07:00:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49T70W1a004696; Tue, 29 Oct 2024 07:00:32 GMT (envelope-from git) Date: Tue, 29 Oct 2024 07:00:32 GMT Message-Id: <202410290700.49T70W1a004696@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: 89d82079c8ac - stable/14 - acpidump: use acpica definitions for devscope types in DMAR decoding List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 89d82079c8ac52a79bfb48ce95bd543ef53ae495 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=89d82079c8ac52a79bfb48ce95bd543ef53ae495 commit 89d82079c8ac52a79bfb48ce95bd543ef53ae495 Author: Konstantin Belousov AuthorDate: 2024-10-20 01:40:04 +0000 Commit: Konstantin Belousov CommitDate: 2024-10-29 06:59:54 +0000 acpidump: use acpica definitions for devscope types in DMAR decoding (cherry picked from commit 5a6e19cac0c69f55c3b7b56c4489a611f4339a0e) --- usr.sbin/acpi/acpidump/acpi.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/usr.sbin/acpi/acpidump/acpi.c b/usr.sbin/acpi/acpidump/acpi.c index af0068649fbb..31c3045ab6ea 100644 --- a/usr.sbin/acpi/acpidump/acpi.c +++ b/usr.sbin/acpi/acpidump/acpi.c @@ -1275,14 +1275,16 @@ devscope_type2str(int type) static char typebuf[16]; switch (type) { - case 1: + case ACPI_DMAR_SCOPE_TYPE_ENDPOINT: return ("PCI Endpoint Device"); - case 2: + case ACPI_DMAR_SCOPE_TYPE_BRIDGE: return ("PCI Sub-Hierarchy"); - case 3: + case ACPI_DMAR_SCOPE_TYPE_IOAPIC: return ("IOAPIC"); - case 4: + case ACPI_DMAR_SCOPE_TYPE_HPET: return ("HPET"); + case ACPI_DMAR_SCOPE_TYPE_NAMESPACE: + return ("ACPI NS DEV"); default: snprintf(typebuf, sizeof(typebuf), "%d", type); return (typebuf); From nobody Tue Oct 29 13:34:16 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdB7D2SwSz5bT8Z; Tue, 29 Oct 2024 13:34: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdB7D1xkLz4CxY; Tue, 29 Oct 2024 13: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=1730208856; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W63SIOg5hLf6t46JHaqC0x+5HoByWlHphn1WBiTl3h0=; b=G3mU539SBLghL8gIIte88xvcq+FsrXo3RxidXNpKZmWlRX2qXIbQZvxqQwD3Jjh9Mx+lCr 5qnyBYNBM/6ehOT90o8qPc15Uvvm4RgbZ3jYiUtThQGF3fNLORAZ4ikNA4Rp6+mvUoc2aK YxFYJGYRxDICAT1+ySdjx0GrdFEMRXBNIbKJtAxTB2I6kehcCRAoMFNL8lROX8nktIT72W qI6WSf/HpwTiYPorm1aB+hIB3sKkWfsxjS4sgUCxNWFVulUwvZ7cgr0DQYIE8QE7CZSX6r JcpFRt0uBQ5nQAO9zK1yAQNFcB/zpC+PvA78v2qv4d/hpq8cHFaR0RrkSAF8+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730208856; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W63SIOg5hLf6t46JHaqC0x+5HoByWlHphn1WBiTl3h0=; b=ULlpwxHa2g1z2ByL/jU7g6/ou3pbJoHf+dUovNalLRsPrrrA++y3j6tV41CwRt5l5ti1oJ 75HQF3u6S+1KrTlJ9JZeX2HUkIrpckDNSkqKYuzXiXj7B+/yOX9I6DG16+WBmAYzsQXcWz ucMHPKRFmtVa0/+nOyZjyLhv4ZlJ7sh8Qx6qn/okS1EKNcGJ6MfDp70aYDf04ugJEOPivM 7u2lcNHbG0KtLpfdFGcD6DS2FFh2DYKQivn+OJVC4PO8WshgIhaEqzpr4QRRngNbvhMXJ9 b2SQ7lNNhvrgdGvOAhm6ac1lqSlbQ/u3XzkqdWqiiAXo+kz4j0h3Rncfst/XzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730208856; a=rsa-sha256; cv=none; b=F3UxmrNw78KxsW/ECu2VgdhwQTk6Z69KHdmOFvolKwBsrtoHORAyXfdlIbJJ/eYBlQHDYN 71+bsSJtC//EdtoLfNqtWXU+dZfKJVuP+56BNv/YQyevP3oCH4jAsww2PInxP5APqqqXJ4 SdI8/2AvBumD1SRnYBxa5m54Y3Pk89RAZo2yKMpHqd92z8pjxQLEv440G1yoNhHFjKKmH6 F3DuOlnIuAfZ/spJd3kxh26grvQE1OtNeJ2xBNrG840hhac0sZjub5L7wqPMf8Xiu0+TrP Ta6nkcjdiHWfS46Qa0M2FU+Iiida58n4eVfo0Xncj/YAaE+zOg52NMfdjRiAZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdB7D1XFdzQVg; Tue, 29 Oct 2024 13:34:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TDYGYh035717; Tue, 29 Oct 2024 13:34:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TDYGRO035714; Tue, 29 Oct 2024 13:34:16 GMT (envelope-from git) Date: Tue, 29 Oct 2024 13:34:16 GMT Message-Id: <202410291334.49TDYGRO035714@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 9b42b9863808 - stable/14 - vm_object: Report laundry pages in kinfo_vmobject List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9b42b9863808791a24ed77e80c5d64ab47211019 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9b42b9863808791a24ed77e80c5d64ab47211019 commit 9b42b9863808791a24ed77e80c5d64ab47211019 Author: Mark Johnston AuthorDate: 2024-10-22 12:47:52 +0000 Commit: Mark Johnston CommitDate: 2024-10-29 13:04:25 +0000 vm_object: Report laundry pages in kinfo_vmobject Reviewed by: bnovkov, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47214 (cherry picked from commit a86373bc93ee1c850943e8585d0d426479378145) --- sys/sys/user.h | 3 ++- sys/vm/vm_object.c | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/sys/user.h b/sys/sys/user.h index 945a51f6c3de..7e4ab5bd914f 100644 --- a/sys/sys/user.h +++ b/sys/sys/user.h @@ -607,7 +607,8 @@ struct kinfo_vmobject { uint64_t _kvo_backing_obj; /* Handle for the backing obj */ } kvo_type_spec; /* Type-specific union */ uint64_t kvo_me; /* Uniq handle for anon obj */ - uint64_t _kvo_qspare[6]; + uint64_t kvo_laundry; /* Number of laundry pages. */ + uint64_t _kvo_qspare[5]; uint32_t kvo_swapped; /* Number of swapped pages */ uint32_t kvo_flags; uint32_t _kvo_ispare[6]; diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index d2ac8f696634..06dae7de3baa 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2583,10 +2583,12 @@ vm_object_list_handler(struct sysctl_req *req, bool swap_only) * sysctl is only meant to give an * approximation of the system anyway. */ - if (m->a.queue == PQ_ACTIVE) + if (vm_page_active(m)) kvo->kvo_active++; - else if (m->a.queue == PQ_INACTIVE) + else if (vm_page_inactive(m)) kvo->kvo_inactive++; + else if (vm_page_in_laundry(m)) + kvo->kvo_laundry++; } } From nobody Tue Oct 29 13:34:17 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdB7F3RT9z5bTSt; Tue, 29 Oct 2024 13:34: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdB7F318Dz4DBV; Tue, 29 Oct 2024 13:34:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730208857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oXfZ8D9dIHuF7eVyJN0U69r7OV2FQdizFpZjsi3ZNLc=; b=Yvi5c6bS+OE0HKQMfgUTBNsR7CpqHfk2b6lu9ZXxVKtgm3XdN7Fd9Dl0pU3KWyuShHrW2B 2gvNKaUup7/A/IGXO1v3ZGHj+EIqo54cuSXqlDabcimJyhp8ruLYXr0bHZlqB0ZjVloF7z hw01SXn25AtHMmwwo1++wiaknge5MNVJiHW/Mc5uC74g6GQm7fCx2z7wZqVCO/bTdMyzU9 2zEOVLsHZwQaOlf7J3jmve0O68Po1fzpwmo47Z23zxkr8mpjZLwVaFv70GYgk07hZRQb5b htSaW++/oHEmFs2+SbWGysdrmNpsRLtt7ki/2eRUmIP/Cz06ix3rDpKiA1+84g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730208857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oXfZ8D9dIHuF7eVyJN0U69r7OV2FQdizFpZjsi3ZNLc=; b=U9nK5kdlunfjZ44qzXxtgRmV7MZQ0RzlmoIuSJ9r6wA1CGLCmHwnyeaeYjfaY7fmVZRmEn bN1sjAKtqPNJRdJszVPcQ4qwJf8xHbXEvU8jk2nQ4dbyPILUmDATgGBubRC+nhVt5gbgxr 7sUAVSOtptEaHlFwX3z8iB/l7lBlHEO6AaEk2CqlFnmW8KaMh3edpH+5E2irEtkO7g49ID Lu6vxc+9GiJGikVdo0oVD6JCsKQkWXVR8IMowqDkRLlhMkm46YSMeCMKqBwVQ0XjwS5qIe fi5fpfuIVUSsrayziUe74fYyHwZmaIYqQjhmOTqTq1Be7UNxvXjFUP+j6nK/bA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730208857; a=rsa-sha256; cv=none; b=cTU9LyQBchFoHRWbTGO0w13BKb89T0SykrBX6sUR0Gw8dEYgHxrn2u6XJJQ3A1g2ndX1WD maqow7KhE5hAKtfYMWU+JPpZdACOBcrTfDXEFAxkwbpAKzBDKoy3Om9N/yQ6yql6q82KDx D1Wisi2x8Cu9lspoIsQZCKdBZ2lVdoxEweLPmuR1KBPf7tn3nkhA5ttRbLUmU5SSi6hS8G q7wuzZ/fLL7Dc5suk7IZ3W5vp1ESQOE2xpqGCAuXCxvpEfr+/hGkuiq/VP8cp5ryyW3LhC itEzHpiNaHw997YA6sLv7JYuS7Q2n1VPVZRow+s4M0XN1PcB3s3wXT0q0DwKKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdB7F2b0YzPmP; Tue, 29 Oct 2024 13:34:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TDYHjv035777; Tue, 29 Oct 2024 13:34:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TDYHGX035774; Tue, 29 Oct 2024 13:34:17 GMT (envelope-from git) Date: Tue, 29 Oct 2024 13:34:17 GMT Message-Id: <202410291334.49TDYHGX035774@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 6feb4f363cdb - stable/14 - vmstat: Add a column to vmstat -o output for laundry pages List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6feb4f363cdbe6a41ca631b37d1451cd5f1191e0 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=6feb4f363cdbe6a41ca631b37d1451cd5f1191e0 commit 6feb4f363cdbe6a41ca631b37d1451cd5f1191e0 Author: Mark Johnston AuthorDate: 2024-10-22 12:48:04 +0000 Commit: Mark Johnston CommitDate: 2024-10-29 13:04:25 +0000 vmstat: Add a column to vmstat -o output for laundry pages Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47215 (cherry picked from commit 1249ee57e96b84e84015b433d0a3bfdef0c108bf) --- usr.bin/vmstat/vmstat.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usr.bin/vmstat/vmstat.c b/usr.bin/vmstat/vmstat.c index 0fee2395071f..3ae34c0219c6 100644 --- a/usr.bin/vmstat/vmstat.c +++ b/usr.bin/vmstat/vmstat.c @@ -1470,6 +1470,7 @@ display_object(struct kinfo_vmobject *kvo) xo_emit("{:resident/%5ju} ", (uintmax_t)kvo->kvo_resident); xo_emit("{:active/%5ju} ", (uintmax_t)kvo->kvo_active); xo_emit("{:inactive/%5ju} ", (uintmax_t)kvo->kvo_inactive); + xo_emit("{:laundry/%5ju} ", (uintmax_t)kvo->kvo_laundry); xo_emit("{:refcount/%3d} ", kvo->kvo_ref_count); xo_emit("{:shadowcount/%3d} ", kvo->kvo_shadow_count); @@ -1572,8 +1573,8 @@ doobjstat(void) xo_warn("Failed to fetch VM object list"); return; } - xo_emit("{T:RES/%5s} {T:ACT/%5s} {T:INACT/%5s} {T:REF/%3s} {T:SHD/%3s} " - "{T:CM/%2s} {T:TP/%3s} {T:PATH/%s}\n"); + xo_emit("{T:RES/%5s} {T:ACT/%5s} {T:INACT/%5s} {T:LAUND/%5s} " + "{T:REF/%3s} {T:SHD/%3s} {T:CM/%2s} {T:TP/%3s} {T:PATH/%s}\n"); xo_open_list("object"); for (i = 0; i < cnt; i++) display_object(&kvo[i]); From nobody Tue Oct 29 13:34:18 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdB7H0bZWz5bTBm; Tue, 29 Oct 2024 13:34: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdB7G3jNPz4DF9; Tue, 29 Oct 2024 13:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730208858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BmaH/0OF0+HNHRlBMDGuejU9sy8Uo1tAYErquEb/lpA=; b=YUIThd0vxklaaDdoU93ueXCv9O+JbzQ8Ew2SVqILYVijV2gU6/V98RspYStatx6YLxm2mW ioUgauDLLNpdpNRSmGFbN0SPLfBI2fJ53SzlmCyFQee3u+gv/G6IkmbEmuUoHRbeDIJp93 RyBxPM7iCtfdOF/HQbcOh86QjHHVBZC8JEaXlnq3M9wNIQP1phcRctQkz1rY3oIkOicViD E/GKH3firBGxmjT6aneY+3jRrNohs8APY5tsmBN8d+SMbiUx8MgbSPSh1ebgv0gxsZ1HR7 vPQ/3BG8641wRV8R50l/+C/XyNwNng9wA46qEdofNRg066FrdzbSAsI/TJNRjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730208858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BmaH/0OF0+HNHRlBMDGuejU9sy8Uo1tAYErquEb/lpA=; b=DAT7Iq4AK6UBbUGrJICYlUlp4Z85LDcZ6RWsum6DGApmvVR/IfWtUBEzqArRNqQS3Qv6PF PgVh6BKsl95iOWEyoOsufrFpKlojMYtLUjiVtQCmPUY9LasXruacwoqAEHSAgga179n83J MOwsrJqa7+WyODTal+2rfqIn8kYS6+P4MCTRFFgcpDIioddeCF0x9+c69ALeIg8J+18Wv2 j8xXZPP+rbS6oGfRenV/JkD5n0RZa93Cu8n4L7KduLlhLoOUIksWzUhA1TpOgDA5387wuB 9oqsyY4s0N00WPkBSPLVl94WoG3QWvqfGts5ow2mVPMqx+UWuQ3Au1mn3zBG6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730208858; a=rsa-sha256; cv=none; b=aby/B29OrsvM+hVbqoN/biW+2vBeym8JjJLLK9zHuYDwzevF9PzbiwyjHAdn+R2SLLkcbs zpVUQIwXwSDGxLxC/IXjsUi6UqmKG0MuyXkDvQ4VCfnh4Me8V01t7lpmtm7RVuiI4JL3YA RoZlVVIRdZHmgVl9WX92DBDv1iHXaQZ1vRWvopxsX0Gf2G/ML4Ty8+zNvZq1kgGh3gUPQl Q/yrEoXIWjzvbAmtjS3wcugfgcEZWTPCEPwx6P/3LjYP7bd1tUz1otbI2Hvsr3UH9t0dDu wTJP7ZpmY8fjlGxRE3jLeMu9qLvnXd7FpK27+pR+SBz2OJU3vq1A6fSG3gcCig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdB7G3FhgzQWg; Tue, 29 Oct 2024 13:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TDYI7n035816; Tue, 29 Oct 2024 13:34:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TDYICb035813; Tue, 29 Oct 2024 13:34:18 GMT (envelope-from git) Date: Tue, 29 Oct 2024 13:34:18 GMT Message-Id: <202410291334.49TDYICb035813@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 1d271ba05fce - stable/14 - vm_meter: Fix laundry accounting List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1d271ba05fceb1ef6246e8079bc19e3b6416a833 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1d271ba05fceb1ef6246e8079bc19e3b6416a833 commit 1d271ba05fceb1ef6246e8079bc19e3b6416a833 Author: Mark Johnston AuthorDate: 2024-10-22 12:48:43 +0000 Commit: Mark Johnston CommitDate: 2024-10-29 13:04:25 +0000 vm_meter: Fix laundry accounting Pages in PQ_UNSWAPPABLE should be considered part of the laundry. Otherwise, on systems with no swap, the total amount of memory visible to tools like top(1) decreases. It doesn't seem very useful to have a dedicated counter for unswappable pages, and updating applications accordingly would be painful, so just lump them in with laundry for now. PR: 280846 Reviewed by: bnovkov, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47216 (cherry picked from commit 6a07e67fb7a8b5687a492d9d70a10651d5933ff5) --- sys/vm/vm_meter.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c index aaea39486baa..75395f69c1db 100644 --- a/sys/vm/vm_meter.c +++ b/sys/vm/vm_meter.c @@ -458,7 +458,8 @@ u_int vm_laundry_count(void) { - return (vm_pagequeue_count(PQ_LAUNDRY)); + return (vm_pagequeue_count(PQ_LAUNDRY) + + vm_pagequeue_count(PQ_UNSWAPPABLE)); } static int @@ -480,6 +481,18 @@ SYSCTL_PROC(_vm_stats_vm, OID_AUTO, v_pdpages, CTLTYPE_U64 | CTLFLAG_MPSAFE | CTLFLAG_RD, NULL, 0, sysctl_vm_pdpages, "QU", "Pages analyzed by pagedaemon"); +static int +sysctl_vm_laundry_pages(SYSCTL_HANDLER_ARGS) +{ + struct vm_domain *vmd; + u_int ret; + + vmd = arg1; + ret = vmd->vmd_pagequeues[PQ_LAUNDRY].pq_cnt + + vmd->vmd_pagequeues[PQ_UNSWAPPABLE].pq_cnt; + return (SYSCTL_OUT(req, &ret, sizeof(ret))); +} + static void vm_domain_stats_init(struct vm_domain *vmd, struct sysctl_oid *parent) { @@ -506,8 +519,9 @@ vm_domain_stats_init(struct vm_domain *vmd, struct sysctl_oid *parent) "inactpdpgs", CTLFLAG_RD, &vmd->vmd_pagequeues[PQ_INACTIVE].pq_pdpages, 0, "Inactive pages scanned by the page daemon"); - SYSCTL_ADD_UINT(NULL, SYSCTL_CHILDREN(oid), OID_AUTO, - "laundry", CTLFLAG_RD, &vmd->vmd_pagequeues[PQ_LAUNDRY].pq_cnt, 0, + SYSCTL_ADD_PROC(NULL, SYSCTL_CHILDREN(oid), OID_AUTO, + "laundry", CTLFLAG_RD | CTLTYPE_UINT, vmd, 0, + sysctl_vm_laundry_pages, "IU", "laundry pages"); SYSCTL_ADD_U64(NULL, SYSCTL_CHILDREN(oid), OID_AUTO, "laundpdpgs", CTLFLAG_RD, From nobody Tue Oct 29 14:20:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdC884Wx4z5bWDL; Tue, 29 Oct 2024 14: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdC884179z4LHQ; Tue, 29 Oct 2024 14: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=1730211608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f0y1/k9XbTguP8goRNgjddNVmotyblSTf5GLUYeQRoE=; b=L3BOz+Ae5dFdk3EU4YHkPi7TkeHIxalnoGJ4ea99c1hXnKqnOy0+NsYlJVhvpnEny4yTKE qDwB1S9V5nTBEg55oFr8FP2q45XuonwTVBmz9GYTxyyOEZBHknPN51YcAGAvYItmSHOGHw FdIFRsjtP8N31DzxryHQTCyyLBmR6juOpIlu/3k5bBw/fT4TUIyB7umE0XiNgCkwXOiJgj QBmEtkbpUsk+KyZjsNNB+0e4aBS+7HngijwcUBpobliOmCQUaF5iKUBYa/8EjXFTOUYUyx HE+3PRSOz0txbcsi+K4fUdmuRU9kvE426gB9yt5KZS8ey3btUEzx06MONp2tKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730211608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f0y1/k9XbTguP8goRNgjddNVmotyblSTf5GLUYeQRoE=; b=jBtBnNj5iNaF3MlHnxH3TF0YS/oQSU3m90ottFpser6B7SnYDcgAI44FGwu9dl3sy6Uonz gFMID+FLeszNeGutinzQL8nVT5pQC3lbUA9BJKyR4ugYQhDM3vtOVHO3HlG/wXlC9iFq9A 6QbeGm8sC4OQMIOpjrUKUKLsLdYr0Sq7Kh7bP7w0f3eBm8Maus4MT3il/jZquoZ35o2c1E qcJQctkXGzovKLEcuLIAVJZ2aTho8mL3nTWx/8jv+eHXSdEUUSHGKLD7Ya9HI4Hd7tDALZ jBkVroUYXId1DZeJS+AcoxnREBkX/v/JzXEnX4mAfxV1QZ/W7tJU0OCKV0OTdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730211608; a=rsa-sha256; cv=none; b=EhLQtW57xihDr+376PQqmpDB7H6xJe0wYcIHlP+0efG/CB6joKPHoccVsUiP+qlzVeJ7c2 /taOF05gJTO7CC4u4o3yxvomnm8WRPsxLv8q8BbtlaFqjHTsjh+gAME0zeAa4La31TY0O9 LzZ4j3NKQQ6Y2o8rPqjwJvFfJo4HORd8INSC4JUMjr57DnSQyXfNa4qdSVYnOhmoJjYpL4 iYylckTzyhft52RsGzy8eFm+XEtj9htYS83TDYt6NuiEOwcvT4uhgMIV/MlTaHa2oFbi+Q E4Z+SZtFdHplb7AVN5/rsgVC+fkBwMqQkicS/o/faZFRw8e6YusbM/KLi81P/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 4XdC883TnJzRMr; Tue, 29 Oct 2024 14:20:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TEK8a4014674; Tue, 29 Oct 2024 14:20:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TEK8E9014670; Tue, 29 Oct 2024 14:20:08 GMT (envelope-from git) Date: Tue, 29 Oct 2024 14:20:08 GMT Message-Id: <202410291420.49TEK8E9014670@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 9c139dd5bf40 - stable/13 - vm_object: Report laundry pages in kinfo_vmobject List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9c139dd5bf40968f1e84ef607927acee4b80e7fd Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9c139dd5bf40968f1e84ef607927acee4b80e7fd commit 9c139dd5bf40968f1e84ef607927acee4b80e7fd Author: Mark Johnston AuthorDate: 2024-10-22 12:47:52 +0000 Commit: Mark Johnston CommitDate: 2024-10-29 13:34:33 +0000 vm_object: Report laundry pages in kinfo_vmobject Reviewed by: bnovkov, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47214 (cherry picked from commit a86373bc93ee1c850943e8585d0d426479378145) --- sys/sys/user.h | 3 ++- sys/vm/vm_object.c | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/sys/user.h b/sys/sys/user.h index c6894c527143..13062d67a69d 100644 --- a/sys/sys/user.h +++ b/sys/sys/user.h @@ -593,7 +593,8 @@ struct kinfo_vmobject { uint64_t _kvo_backing_obj; /* Handle for the backing obj */ } kvo_type_spec; /* Type-specific union */ uint64_t kvo_me; /* Uniq handle for anon obj */ - uint64_t _kvo_qspare[6]; + uint64_t kvo_laundry; /* Number of laundry pages. */ + uint64_t _kvo_qspare[5]; uint32_t kvo_swapped; /* Number of swapped pages */ uint32_t _kvo_ispare[7]; char kvo_path[PATH_MAX]; /* Pathname, if any. */ diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 6da30800896e..8ae9fe50833d 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2618,10 +2618,12 @@ vm_object_list_handler(struct sysctl_req *req, bool swap_only) * sysctl is only meant to give an * approximation of the system anyway. */ - if (m->a.queue == PQ_ACTIVE) + if (vm_page_active(m)) kvo->kvo_active++; - else if (m->a.queue == PQ_INACTIVE) + else if (vm_page_inactive(m)) kvo->kvo_inactive++; + else if (vm_page_in_laundry(m)) + kvo->kvo_laundry++; } } From nobody Tue Oct 29 14:20:09 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdC895x9mz5bW9T; Tue, 29 Oct 2024 14: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdC8946Z7z4L6k; Tue, 29 Oct 2024 14: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=1730211609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z+7vQJXgMeyp/SnfaGX9StWxpXYs+4cv0sMGm87Cpl8=; b=IxPPCjo6KTkzCJoLqYbChjpllrqZhZfJVm44LpKCe2UVINR+dA5GocRCsJuaMuJJF20oX5 JRZgg8ec1qMrEYWbVcZyQsXT1Ko71Mu58dnmytQGVc6rCe75csT9MFznq1PHSqmsyvDXCI Phtz5RbDm+ube5Pz4R+HSvOSAaPH+lUIVvLmZE67CdgHHZ/IFuhVFMB0Qw0tzEU8jed9SV SNz8eKd6oZnhA1CW0UKCHLA5d9nqDRHkOv6Jx76nhK1XOSAqVGEmSY5B7PI85iEnSYKy3h gS9aoDXgTihSDHRo0AH7Ie0pRQkkDKAeh/FKRwtDtzzi50KTvFPrKDVFiqrIfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730211609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z+7vQJXgMeyp/SnfaGX9StWxpXYs+4cv0sMGm87Cpl8=; b=KOrYem7P/9t6nEfNQ4L2mitiV/rrwdvTJ24r+YDQIvNR2pXHdLV924qmyO+PlBJdYah0Ry huKqMZgMXaUotWxoJpvFgl1vfjo4AFyNomEEMC+F+EEaTxbfIdROPFVss/Y4vjJlAYl8mw UzqQ0MGKJTl0Gx9bqg976grKYNEhJwNK4KguKaSOAdVIdBHG6J0//xtOE2Rdi3QQGjb5vk 1fZMPV409if2kgwmXgtxt4Dz9QiGVA3NMRwutq7FTqnnrU3z2BmKJwsq0yK9MtDgMK66Oa 7g02ztXxaNqcT8uQTEv9qDbSz096J7b6QaovsjQw3lEUcnWisUgJvPAVW4HExA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730211609; a=rsa-sha256; cv=none; b=aPiVQgcbEkaaUwnItIZgiwESO0QDD1BbsxVtZj5cUw3Y/gyf2ztC9T1GxrqKwb1qVwBwWp HuuF7vB2T3wCtPMdq1mp/Vwdmid0Yqbr+xuQ8V9ZLbiDCuG0lge6pa5mb/wo71flS04J7O 6Jd9or1CwZWivgQtImD16OFWCxUFPLc1Nwl2znkPdITQWAcosZ4NuvfVNMExXYCEGzkzgK G54QayfNEFO945jK+y297ATVEly5dMcITMIcZo9SDnHyPWQ157bp8jcN0AnRY7I8zIa8lJ JynhIEQIzxy9lA2/11X0u8jouK1ErOwL/9nd3jzxUgS1YjfbbKgbORkSekoLmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdC893kjJzRMs; Tue, 29 Oct 2024 14:20:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TEK98g015113; Tue, 29 Oct 2024 14:20:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TEK951015103; Tue, 29 Oct 2024 14:20:09 GMT (envelope-from git) Date: Tue, 29 Oct 2024 14:20:09 GMT Message-Id: <202410291420.49TEK951015103@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: df515b2e22c7 - stable/13 - vm_meter: Fix laundry accounting List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: df515b2e22c79d857189f3ad7389b546c3428868 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=df515b2e22c79d857189f3ad7389b546c3428868 commit df515b2e22c79d857189f3ad7389b546c3428868 Author: Mark Johnston AuthorDate: 2024-10-22 12:48:43 +0000 Commit: Mark Johnston CommitDate: 2024-10-29 13:34:45 +0000 vm_meter: Fix laundry accounting Pages in PQ_UNSWAPPABLE should be considered part of the laundry. Otherwise, on systems with no swap, the total amount of memory visible to tools like top(1) decreases. It doesn't seem very useful to have a dedicated counter for unswappable pages, and updating applications accordingly would be painful, so just lump them in with laundry for now. PR: 280846 Reviewed by: bnovkov, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47216 (cherry picked from commit 6a07e67fb7a8b5687a492d9d70a10651d5933ff5) --- sys/vm/vm_meter.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c index 9170581eaec1..caa6b6aa4769 100644 --- a/sys/vm/vm_meter.c +++ b/sys/vm/vm_meter.c @@ -458,7 +458,8 @@ u_int vm_laundry_count(void) { - return (vm_pagequeue_count(PQ_LAUNDRY)); + return (vm_pagequeue_count(PQ_LAUNDRY) + + vm_pagequeue_count(PQ_UNSWAPPABLE)); } static int @@ -480,6 +481,18 @@ SYSCTL_PROC(_vm_stats_vm, OID_AUTO, v_pdpages, CTLTYPE_U64 | CTLFLAG_MPSAFE | CTLFLAG_RD, NULL, 0, sysctl_vm_pdpages, "QU", "Pages analyzed by pagedaemon"); +static int +sysctl_vm_laundry_pages(SYSCTL_HANDLER_ARGS) +{ + struct vm_domain *vmd; + u_int ret; + + vmd = arg1; + ret = vmd->vmd_pagequeues[PQ_LAUNDRY].pq_cnt + + vmd->vmd_pagequeues[PQ_UNSWAPPABLE].pq_cnt; + return (SYSCTL_OUT(req, &ret, sizeof(ret))); +} + static void vm_domain_stats_init(struct vm_domain *vmd, struct sysctl_oid *parent) { @@ -506,8 +519,9 @@ vm_domain_stats_init(struct vm_domain *vmd, struct sysctl_oid *parent) "inactpdpgs", CTLFLAG_RD, &vmd->vmd_pagequeues[PQ_INACTIVE].pq_pdpages, 0, "Inactive pages scanned by the page daemon"); - SYSCTL_ADD_UINT(NULL, SYSCTL_CHILDREN(oid), OID_AUTO, - "laundry", CTLFLAG_RD, &vmd->vmd_pagequeues[PQ_LAUNDRY].pq_cnt, 0, + SYSCTL_ADD_PROC(NULL, SYSCTL_CHILDREN(oid), OID_AUTO, + "laundry", CTLFLAG_RD | CTLTYPE_UINT, vmd, 0, + sysctl_vm_laundry_pages, "IU", "laundry pages"); SYSCTL_ADD_U64(NULL, SYSCTL_CHILDREN(oid), OID_AUTO, "laundpdpgs", CTLFLAG_RD, From nobody Tue Oct 29 15:46:10 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdF3Q6j0Bz5bcbt; Tue, 29 Oct 2024 15:46: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdF3Q69NWz4dnv; Tue, 29 Oct 2024 15:46:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730216770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DKYMc20f27jLBXwbO1R+mmoDPsYnX4V2ZpwpGm3zOHU=; b=kwHy4o+OqoXFD5OVUOUqmU4E6RzEWIpBDKR1JSnB2fxr0HzdUjwl935dVRm+h4j1HmpnXm SKIaLoJinweplUL4PKg/mPx2C649ct6B03X66YGObazfRIDvjagkf588dMKI0WGcC0VM51 Uq4aenT3hco1q/BVtExotVD12yWZxZq2F9OaXkpnMdpYolmJ8HkhbH+64Fi6RefGIMcC97 th2lAH6grdzhU/ZgmHomWOFyrK/agi4ADt0BTacAP3CgssKWQhnkTm8CbLodCshrxrrAET rm6Ei8e5E9hAKH/tDF8TzTOOZ4v65tmku6YH0j653iUpqXdfDkUmGjpcbU4C5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730216770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DKYMc20f27jLBXwbO1R+mmoDPsYnX4V2ZpwpGm3zOHU=; b=MZ4Yf3s+G2tUNAW3c+iIBMM+Nm0E3aj6QZLYBKTXsQK0EfJKrJ2swsYzhy467dZBSxYQ9j lwWtVCY+NfMF/JAK9VPtzrc2oBTF70x39vA9iz9M2yZHNcE6oKVO/gw7MDzs7YQg0tBZ0X PXxN3p1XQ3NgPAiO26kMzxI9RsRCH5iy4oEjFeaJixU6g/xi8XRsE8gukkasJsTxCHWz3h od3YWOYSButXFHU4NBgfl3m36h4RdxihU4PMHKw8k8H45q26GzvxECXUkdlb0LjM9vHr5H dItwJ1QTRXgjTkvTqkZXDebKOmqiBMMOLN8YOTj3vNtH6eT0FVWlaYp8u4sHtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730216770; a=rsa-sha256; cv=none; b=E+3mD6RxmF08eyiV4NCAagc1pC0Npp0Nq9EEhLOzR1FC/ET1+sY99S2hibRegVuYK1nwMR k9lnQ8fKsspi9gy/pkpKnkJdTt9y9+Ms4KrJuhAD4pWIN6iDkYLctu4tEO5TtvuZm3Cgr3 vu1WUVWQL3wxJFDqlGM7Pa5wOoCJfN50j9iVShdVNO+86ZtDCo96V40EOScp7Xl805M396 E76B02Ew1PgrKhdHjwLivwFP6uIHIThI6L/9zidPq7Nw0eZJwIdQxW/63Zkon/fyQ+8chs 2uYRKXjdfGXS6DIEoE2LQX+VuV6NurUwjI4p5w27hL5ZvJyFNymL22A0SzYNXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdF3Q5lwczV3F; Tue, 29 Oct 2024 15:46:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TFkAD4082554; Tue, 29 Oct 2024 15:46:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TFkA8Y082551; Tue, 29 Oct 2024 15:46:10 GMT (envelope-from git) Date: Tue, 29 Oct 2024 15:46:10 GMT Message-Id: <202410291546.49TFkA8Y082551@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Robert Clausecker Subject: git: 1af027e583ec - stable/14 - lib/libcrypt: use explicit_bzero() to clear sensitive buffers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1af027e583ec725ae772a4cc0b128652553fa7ec Auto-Submitted: auto-generated The branch stable/14 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=1af027e583ec725ae772a4cc0b128652553fa7ec commit 1af027e583ec725ae772a4cc0b128652553fa7ec Author: Robert Clausecker AuthorDate: 2024-10-10 09:08:35 +0000 Commit: Robert Clausecker CommitDate: 2024-10-29 15:45:31 +0000 lib/libcrypt: use explicit_bzero() to clear sensitive buffers Prevent a potentially sufficiently smart compiler from optimising away our attempts to clear sensitive buffers. A related change was discussed and rejected in D16059, but I don't believe the reasoning there applies: the code clearly documents its intent that the `memset` calls clear sensitive buffers so they don't hang around. `explicit_bzero` is the appropriate function for this purpose. A potential performance disadvantage seems less important: the functions in crypt are specifically designed to be slow, so a few extra calls to guarantee that sensitive buffers are cleared does not significantly affect runtime. See also: D16059 Reviewed by: delphij, kevans MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47037 (cherry picked from commit a2c0d2026fb422ade2171da4bc6d5d2773b268a6) --- lib/libcrypt/crypt-md5.c | 5 +++-- lib/libcrypt/crypt-sha256.c | 7 ++++--- lib/libcrypt/crypt-sha512.c | 7 ++++--- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/libcrypt/crypt-md5.c b/lib/libcrypt/crypt-md5.c index 3fb80c1ba540..5313f59a4098 100644 --- a/lib/libcrypt/crypt-md5.c +++ b/lib/libcrypt/crypt-md5.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include "crypt.h" @@ -85,7 +86,7 @@ crypt_md5(const char *pw, const char *salt, char *buffer) (u_int)(pl > MD5_SIZE ? MD5_SIZE : pl)); /* Don't leave anything around in vm they could use. */ - memset(final, 0, sizeof(final)); + explicit_bzero(final, sizeof(final)); /* Then something really weird... */ for (i = strlen(pw); i; i >>= 1) @@ -141,7 +142,7 @@ crypt_md5(const char *pw, const char *salt, char *buffer) *buffer = '\0'; /* Don't leave anything around in vm they could use. */ - memset(final, 0, sizeof(final)); + explicit_bzero(final, sizeof(final)); return (0); } diff --git a/lib/libcrypt/crypt-sha256.c b/lib/libcrypt/crypt-sha256.c index 35c36bf93f3d..6da1d518b12d 100644 --- a/lib/libcrypt/crypt-sha256.c +++ b/lib/libcrypt/crypt-sha256.c @@ -41,6 +41,7 @@ #include #include #include +#include #include "crypt.h" @@ -234,9 +235,9 @@ crypt_sha256(const char *key, const char *salt, char *buffer) * the SHA256 implementation as well. */ SHA256_Init(&ctx); SHA256_Final(alt_result, &ctx); - memset(temp_result, '\0', sizeof(temp_result)); - memset(p_bytes, '\0', key_len); - memset(s_bytes, '\0', salt_len); + explicit_bzero(temp_result, sizeof(temp_result)); + explicit_bzero(p_bytes, key_len); + explicit_bzero(s_bytes, salt_len); return (0); } diff --git a/lib/libcrypt/crypt-sha512.c b/lib/libcrypt/crypt-sha512.c index 640398afadc4..b760623b5d8d 100644 --- a/lib/libcrypt/crypt-sha512.c +++ b/lib/libcrypt/crypt-sha512.c @@ -41,6 +41,7 @@ #include #include #include +#include #include "crypt.h" @@ -246,9 +247,9 @@ crypt_sha512(const char *key, const char *salt, char *buffer) * the SHA512 implementation as well. */ SHA512_Init(&ctx); SHA512_Final(alt_result, &ctx); - memset(temp_result, '\0', sizeof(temp_result)); - memset(p_bytes, '\0', key_len); - memset(s_bytes, '\0', salt_len); + explicit_bzero(temp_result, sizeof(temp_result)); + explicit_bzero(p_bytes, key_len); + explicit_bzero(s_bytes, salt_len); return (0); } From nobody Tue Oct 29 18:45:32 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdK2N3xhzz5bmwK; Tue, 29 Oct 2024 18:45: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdK2N2zm7z41LK; Tue, 29 Oct 2024 18:45:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ps6PEnHGyOz7ZAnx2fMW15xpYizi9dWgLTWMGBUd79M=; b=L1FHWdUfGgJtWASKzH529lKv/idyaVdbHeDa4wwsMcZNED9CfZJpkdjLV2MVvXk/UAs1kX A1IYq2l5vdgS8SXH8GjRz7pktZMbMGZqfe4aIyB+ysP7jgFnQnkhd2LMPJ/oDxxqdUh+Vj tS2QJAx2EGhzfm4pgN3QSHCgNfXgqb+pCnVieFPUWuTIrlbhGHp2mZIHkMl89fkg1nZr03 0ZrRRkaNQdD0WnuItX1r14ZfigziQhj5S5sIMOLJSABC9fBZdWppiXVMPXkXtnMcINJAxz fFxFbdkli70QXSSUxAJXCeDUNyy31RlsCIQDIH2A9y5+2uatR/DyApvDSr8r+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ps6PEnHGyOz7ZAnx2fMW15xpYizi9dWgLTWMGBUd79M=; b=F6IuUg7c+kMb/iy+O2i5XnpRiYN7Aeypcwz0ekik5l7ts0uIuT5cqLccWoUqmvBrFmfhO/ 1aHj4UqZB8HLZEqi4PhoBIdQfYZysDWGRCOljO/x8ehItmjzIJ12ikbtodPS7Lf6LAhncf fDBcL9jgjNeCyojkM+3G3eQpqZYMyRVExNabRzugL5EV4noVQxx3kc59TflNkTVpFZM2wU yzXI3h3jSUQkJkQWHfJ+b//UHbjC01UDJGxWUWsMIRZG56gZKj0JeVNd/yh1Gab68FudC0 CUSGt55IbRRD/SrIl7xDQQ/IqJ7O6VPUDlp7Czc6h4DidCh65X41OUz0z7654A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730227532; a=rsa-sha256; cv=none; b=XR6v5jNLaMBCKVI1aKCgMJpJGD04U5BwjEM7QV3HVQFPGNP+a6RWK8pJhdReoCDhuD6lqZ DCj3D8HJM8f5bMroZSfoJiPfUZuUf8p0fLo9xym/C/oWY3qGb9uNdoZ19rFkWGy9gqp8Pm 4NjFB50ThBDItXrKFOwrKpDJUh11X58K5E+D0Bi6UEBiYS6YImlNn8IPsCI5WSTEf85wLL 5a10ouhn2woNriDNiR4HhHW7+Gt+HJmR/N58GwOn/+YN3NIyDjp661CzI9NqXsAoIydPJe ZykL4+jELhBZkMj8YqLKSybz7GJCN74dcM2e34QGe5Z1Q5Y1ebn2Ipm8JQ2qaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdK2N2bBszbZn; Tue, 29 Oct 2024 18:45:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIjWab016869; Tue, 29 Oct 2024 18:45:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIjWvh016866; Tue, 29 Oct 2024 18:45:32 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:45:32 GMT Message-Id: <202410291845.49TIjWvh016866@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: 97a933932e96 - releng/14.1 - bhyve/nvme: Fix out-of-bounds read in NVMe log page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.1 X-Git-Reftype: branch X-Git-Commit: 97a933932e96b5ea500b73477c5761f1943b8d1c Auto-Submitted: auto-generated The branch releng/14.1 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=97a933932e96b5ea500b73477c5761f1943b8d1c commit 97a933932e96b5ea500b73477c5761f1943b8d1c Author: Chuck Tuffli AuthorDate: 2024-09-19 15:11:30 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:41:42 +0000 bhyve/nvme: Fix out-of-bounds read in NVMe log page The function nvme_opc_get_log_page in the file usr.sbin/bhyve/pci_nvme.c is vulnerable to buffer over-read. The value logoff is user controlled but never checked against the value of logsize. Thus the difference: logsize - logoff can underflow. Due to the sc structure layout, an attacker can dump internals fields of sc and the content of next heap allocation. Reported by: Synacktiv Reviewed by: emaste, jhb Security: HYP-07 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46021 (cherry picked from commit b0a24be007d83f7929de5b3fc320a29e6868067d) (cherry picked from commit a5be19efbb7c6b07d574ef048b2ebade00440873) --- usr.sbin/bhyve/pci_nvme.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 2fd49a84c768..a2e52ece7675 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -1402,7 +1402,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, logsize *= sizeof(uint32_t); logoff = ((uint64_t)(command->cdw13) << 32) | command->cdw12; - DPRINTF("%s log page %u len %u", __func__, logpage, logsize); + DPRINTF("%s log page %u offset %lu len %u", __func__, logpage, logoff, logsize); switch (logpage) { case NVME_LOG_ERROR: @@ -1414,7 +1414,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->err_log + logoff, - MIN(logsize - logoff, sizeof(sc->err_log)), + MIN(logsize, sizeof(sc->err_log) - logoff), NVME_COPY_TO_PRP); break; case NVME_LOG_HEALTH_INFORMATION: @@ -1437,7 +1437,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->health_log + logoff, - MIN(logsize - logoff, sizeof(sc->health_log)), + MIN(logsize, sizeof(sc->health_log) - logoff), NVME_COPY_TO_PRP); break; case NVME_LOG_FIRMWARE_SLOT: @@ -1449,7 +1449,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->fw_log + logoff, - MIN(logsize - logoff, sizeof(sc->fw_log)), + MIN(logsize, sizeof(sc->fw_log) - logoff), NVME_COPY_TO_PRP); break; case NVME_LOG_CHANGED_NAMESPACE: @@ -1461,7 +1461,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->ns_log + logoff, - MIN(logsize - logoff, sizeof(sc->ns_log)), + MIN(logsize, sizeof(sc->ns_log) - logoff), NVME_COPY_TO_PRP); memset(&sc->ns_log, 0, sizeof(sc->ns_log)); break; From nobody Tue Oct 29 18:45:33 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdK2P62gMz5bmwL; Tue, 29 Oct 2024 18:45: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdK2P3hWTz41MT; Tue, 29 Oct 2024 18:45:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yFsF2+OC2rVu22NbAPE8RshtD/C4COSH/VfHflYh2h8=; b=SK0xtrocGpPeUyRbU468tORcEnAHSmG9WPkjBVfTOER5hD6/IEgVBzOI7WDImk1wULpN8s hJPY1ldP58XLd4xFyn2h+46jSjKlwTiD60WReX9Tv83htTTnY0GAbdDGfmVLziY79Wk3lG 2dFaLn17bJ3x7ApvAwTXuna78tBISRuigRAAGEREI3hzI7CMGkOiaN1aq7WiSonuUs+YbB gp+0rKQZLMzbInBap0NSP2PlSqJob+NoTD8bz1BozweSCL4DI/Iqb6fDa1dH3Q3wxsz5av 8Lnp10A6NEqpe3iajr3OU5JQ4iCOs0cRJS71xr6VWY/Q4P/EkcCr+2qvUAR68w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yFsF2+OC2rVu22NbAPE8RshtD/C4COSH/VfHflYh2h8=; b=X9ntaD4o3aMMroL3Z3H4v5RzKqeRcA1B2IIu6Py2KlGuoCfzOLW5zUu/8NAEfB5uIhjdWM mvAp/A0GuQYrVltllTGagBP3323VLZbSlpDgtxWis1/ZaeWVfXmGIBDuPEv6xciyO81AIF cQnARorF3b8GfPeJ4o/TIhSz4knHg5PMX3kZc7q38OTQ9GX621LZrfg8ipwdpLPdpr0o7o rol91C+Cz/GzPBt169EPyKnAn/zmYu/kLOqKm0g2VikRn/Y4lTGpWO9sCV0Ly/+AraioRu /IYQYN6d8HlZF7FzcjcYCF0Lj9K3SF6dkW7mha6T6qcRsd+zWlv12H/QQ9K8aQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730227533; a=rsa-sha256; cv=none; b=BsJhF6jtT5+j7gN9h27/iJ8XMEgA07K5nw9rTwqhcaPFJ3o6JcO+VOgc5G2xTBsbcTsSWT CRaw4ASgP/VB7hUfXvekG6WNqi3LckaJnPkRvGoC3481jTzSdn2Gb133Vkyrd5GIHPv2YI 8QcZoScwlekQar+pFIDDEIbtg+ocvTxvMJta8iQQ4BERDHBJK0TI79mN0iJtFI4ueRIPLD nlIQyERyvhmQVSQhJHWVyhNtj+UCHke5K796Yzjm555sI8H1pP8iT/R013CeF7M7Az07Eb YWWU8eLAHpZUnEk5pJMamo76xe2hMndbM3she9uh0NV0jSBHD991Coq/yvOhjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdK2P3Hblzbd2; Tue, 29 Oct 2024 18:45:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIjXZR016917; Tue, 29 Oct 2024 18:45:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIjXxd016914; Tue, 29 Oct 2024 18:45:33 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:45:33 GMT Message-Id: <202410291845.49TIjXxd016914@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: 9b11b889402a - releng/14.1 - bhyve: avoid TOCTOU on iov_len in virtio_vq_recordon() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.1 X-Git-Reftype: branch X-Git-Commit: 9b11b889402aa3f85545464f4ead5da537638a12 Auto-Submitted: auto-generated The branch releng/14.1 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9b11b889402aa3f85545464f4ead5da537638a12 commit 9b11b889402aa3f85545464f4ead5da537638a12 Author: Pierre Pronchery AuthorDate: 2024-08-27 13:57:32 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:43:16 +0000 bhyve: avoid TOCTOU on iov_len in virtio_vq_recordon() Avoid a race condition when accessing guest memory, by reading memory contents only once. This has also been applied to _vq_record() in sys/dev/beri/virtio/virtio.c, as per markj@'s suggestion. Reported by: Synacktiv Reviewed by: markj Security: HYP-10 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45735 (cherry picked from commit 869d760cb9d7a307faa2fbe8c1c2b238a81b74d4) (cherry picked from commit ed03c309908687bdb9f71dc6d9c9c8a92c54fc20) --- sys/dev/beri/virtio/virtio.c | 11 ++++++++--- usr.sbin/bhyve/virtio.c | 9 +++++++-- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/sys/dev/beri/virtio/virtio.c b/sys/dev/beri/virtio/virtio.c index c249d1c9d37b..7302bc39d799 100644 --- a/sys/dev/beri/virtio/virtio.c +++ b/sys/dev/beri/virtio/virtio.c @@ -107,12 +107,17 @@ paddr_unmap(void *phys, uint32_t size) static inline void _vq_record(uint32_t offs, int i, volatile struct vring_desc *vd, struct iovec *iov, int n_iov, uint16_t *flags) { + uint32_t len; + uint64_t addr; + if (i >= n_iov) return; - iov[i].iov_base = paddr_map(offs, be64toh(vd->addr), - be32toh(vd->len)); - iov[i].iov_len = be32toh(vd->len); + len = atomic_load_32(&vd->len); + addr = atomic_load_64(&vd->addr); + iov[i].iov_base = paddr_map(offs, be64toh(addr), + be32toh(len)); + iov[i].iov_len = be32toh(len); if (flags != NULL) flags[i] = be16toh(vd->flags); } diff --git a/usr.sbin/bhyve/virtio.c b/usr.sbin/bhyve/virtio.c index 0aeafa011bbc..5e8f8a8d322a 100644 --- a/usr.sbin/bhyve/virtio.c +++ b/usr.sbin/bhyve/virtio.c @@ -217,10 +217,15 @@ static inline void _vq_record(int i, struct vring_desc *vd, struct vmctx *ctx, struct iovec *iov, int n_iov, struct vi_req *reqp) { + uint32_t len; + uint64_t addr; + if (i >= n_iov) return; - iov[i].iov_base = paddr_guest2host(ctx, vd->addr, vd->len); - iov[i].iov_len = vd->len; + len = atomic_load_32(&vd->len); + addr = atomic_load_64(&vd->addr); + iov[i].iov_len = len; + iov[i].iov_base = paddr_guest2host(ctx, addr, len); if ((vd->flags & VRING_DESC_F_WRITE) == 0) reqp->readable++; else From nobody Tue Oct 29 18:45:34 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdK2Q60RPz5bmwP; Tue, 29 Oct 2024 18:45: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdK2Q4zKHz41Q8; Tue, 29 Oct 2024 18:45:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MZ0SUDTQq30xJ0ZiRrTY1BK8QXUrKnftvfSvu0XN6Uw=; b=OpCWKWF4MJ8B/G2UpoOZAK7Bc091y7Ol6bOkuDHfb2ODqqh8HqTz6sJAN2wJj1caN6QWPS evqpkY+bgR/4JUQxgRomT63DU/8T3swANJqFqWg5JiSZew7aOAeC3jQdIuVSvQTlsLi6wi pYqFqdguVZ2uKUABTLbGXksZw0Kgialul6RY37MyuiBQr+sta/w6o6+qmbSxJQboVv71jg YeTiiaMUClmpGhW2De7wonKriedywKFOpaQamFgq4iAJfgYhr6ghdt1ADRzJTn+cp19TNq GC6+sUGEFSiyK3b+nODuuPajHXf9IapGo0KXi0QTOWnqy28WnjYiDXZPp12Iew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MZ0SUDTQq30xJ0ZiRrTY1BK8QXUrKnftvfSvu0XN6Uw=; b=E6UjAlNbnkp+nlL8ID48F8fES3zy4V7pp6qx9M3E+iDGCWlpHx5yH2o5DOlXCQsS/M1gSg 1bWqbYc1s1AM7bEgCsAIzAhSQaAyDJdamqeVSdoGKJ0R66v1SrWvFWWCez1bWzKTlwrove VtMYdAtXZG8dX9Eg4slf7Xt1drt9FukFgd3Vpa8/D8W9f8/jmHVDycpMgmfZk6fokt0VUg Q30/kKeccC8GtiDl55Wf32kx2qMkZVQsz82ghKzPVpEmHNjzTm9ASmfa5Y5cTuCYUOi/yy N3nk0VF5ZKuj5y4IFiD9o3SWTmjnAhyMiAnGnfpzD6WA2OfAFil87IaRtvQE9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730227534; a=rsa-sha256; cv=none; b=oXd81HGZBdZfHYfSDoK0/NEtkFALS72sLf4TOwR5qH5wI+ndMrH2Uo8aMSK+FizCa0VjAv v5TOCOaO+ThD/4OSaQZfGiz720MuauO9q/t+5Fb7M2mivLsYmx/LGFZ9DC8haHchHh+PBU nm5IXAkCPJeEs8wut6loN5yLDOQ0mp631ET53NcR3nrZaJTK5uyXYKmJ0NVGZ0eXV+bzkA K2x4jdnwCznGOBgCG9Al84TA7jKe0buSsO6LOeMfFgPP/SPvQFo/g7mhBt0AQhiRCksvMK 28HpGiAgh2cElHU0kPME2cIK4S50DszeczSbz0pKf0uKlVWE14so+pRnKIopJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdK2Q4ZvZzb7C; Tue, 29 Oct 2024 18:45:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIjYKo016965; Tue, 29 Oct 2024 18:45:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIjYaQ016962; Tue, 29 Oct 2024 18:45:34 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:45:34 GMT Message-Id: <202410291845.49TIjYaQ016962@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: 6acac2ca9aa1 - releng/14.1 - bhyve: validate corb->wp to avoid infinite loop List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.1 X-Git-Reftype: branch X-Git-Commit: 6acac2ca9aa19cb20426c1a8bbb02df30e5ddb5c Auto-Submitted: auto-generated The branch releng/14.1 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=6acac2ca9aa19cb20426c1a8bbb02df30e5ddb5c commit 6acac2ca9aa19cb20426c1a8bbb02df30e5ddb5c Author: Ed Maste AuthorDate: 2024-09-19 18:57:42 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:43:34 +0000 bhyve: validate corb->wp to avoid infinite loop Guests must set HDAC_CORBWP less than corb->size. Treat invalid values as an error rather than entering an infinite loop. Reported by: Synacktiv Reviewed by: markj Security: HYP-12 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46134 (cherry picked from commit a305f44d1404fbf386bb2b50ab7233ce9eabe0bb) (cherry picked from commit 6a645bb3535cb73b1f20db652c9e3893f26a986e) --- usr.sbin/bhyve/pci_hda.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index 6f0c1b6cfba9..58481af71a4c 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -789,6 +789,11 @@ hda_corb_run(struct hda_softc *sc) int err; corb->wp = hda_get_reg_by_offset(sc, HDAC_CORBWP); + if (corb->wp >= corb->size) { + DPRINTF("Invalid HDAC_CORBWP %u >= size %u", corb->wp, + corb->size); + return (-1); + } while (corb->rp != corb->wp && corb->run) { corb->rp++; From nobody Tue Oct 29 18:45:35 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdK2S04RTz5bmYp; Tue, 29 Oct 2024 18:45: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdK2R65Vpz41HP; Tue, 29 Oct 2024 18:45:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227535; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ci2FS2veAmoHaCbURbgvXhaLGkf89XCrKpsQ4PCutUs=; b=wQ/OvG6b+zAGHEhbxureXEF/H85O9FLBuLJ7k+XCMioSGAKq9fgQuopEyT57ev2dV0L+8a 5Ey1HiERm+2Tq1BhMSHoD6eJ2Bgux+FKmz6ZTNY9AG5tgooMdvlrFxMCUthqyovxXjbEV1 bplKqWPUe7kxZ1EF39QhwJIQ9KsdjPBv6j5/hzMkvc7lNHAuC6E3/bvKYVxCaeSxPye2py 2apMPd9rJ3PB+XAxm+0CsDx/sbfi1sHeueLqPuqKf4xBT7K4lf8jfy+ZAz65YFOBjKgRWo 7QTM2xNdoPupmH+ZpLlVsXyxSJpSusQMV9P8GrmlQXRT/YudbXwlcAwJgxYAew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227535; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ci2FS2veAmoHaCbURbgvXhaLGkf89XCrKpsQ4PCutUs=; b=oWxahbImNgUZLc8zNZmG6xzHt7Nkeno9P2mLQ2lbjZBql/RL4hLur6qMaPz413wiR2X4ox rNSjuYuZ3CmCCm1f9kmDvBpd/J9QtnSRgG9q2LUb4v2QEw6QPB1KPq6XYj3c3k78DMHHRi bhinP2UOsISCHz6xx5II8Vs6sLnzTiCiFGSJgEJNDL6WQkPX2Natte01SEI1DLaKGomIWs ioNyY+ZiLvOqfcV0RuTJy58wBGo1mHLZnmO5XCyhob32c4uCzzbY8ZpNX0M/TIKFpeT+y4 OXl+0G6wTK6ZE5Ys3qvccjLUGedsSlC8Usw/FvC7bF7GWyuwPOQNwnSQ1WTWgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730227535; a=rsa-sha256; cv=none; b=IT2LVVMb/34xVuUAU8NiMr/qDCjLVuVqtSc41YBMdBF244EkaSienTYOR35O7BTVIatTht zMRkhRtWuRZ/P9yVVqD+2O8RqS0gKTnYd3+/4QBEWBNOCINRCjc47pv8hwfeeRCZdi7Q5C PKdoZe9ZnFnZfCRegEfxOtFdAOaZ3KbIRwvsldzIXVB7iCsx0B+FtC+0OotgRIqkaxjPai KKCCyjRXgieb0xI4CX9VVYmPACG9do0/osiF3rYLn2nMhwlp4dN2JlUXEUPg5vm8TBuJpe Jwo6tzFvAjOR+4zhNTdOt3gGiFcf8NEVnYSgNLWr39Gd/t3zWW7FpSWhog9tFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdK2R5QRlzb7D; Tue, 29 Oct 2024 18:45:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIjZ1g017017; Tue, 29 Oct 2024 18:45:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIjZxj017014; Tue, 29 Oct 2024 18:45:35 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:45:35 GMT Message-Id: <202410291845.49TIjZxj017014@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: 538cb37f512a - releng/14.1 - bhyve: improve bounds checks in hda_codec List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.1 X-Git-Reftype: branch X-Git-Commit: 538cb37f512aea39c9eacd8bd393bbad9f913e1f Auto-Submitted: auto-generated The branch releng/14.1 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=538cb37f512aea39c9eacd8bd393bbad9f913e1f commit 538cb37f512aea39c9eacd8bd393bbad9f913e1f Author: Pierre Pronchery AuthorDate: 2024-07-24 14:56:54 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:43:47 +0000 bhyve: improve bounds checks in hda_codec The function hda_codec_command is vulnerable to buffer over-read, the payload value is extracted from the command and used as an array index without any validation. Fortunately, the payload value is capped at 255, so the information disclosure is limited and only a small part of .rodata of bhyve binary can be disclosed. The risk is low because the leaked information is not sensitive. An attacker may be able to validate the version of the bhyve binary using this information disclosure (layout of .rodata information, ex: jmp_tables) before executing an exploit. Reported by: Synacktiv Reviewed by: christos, emaste Security: HYP-13 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46098 (cherry picked from commit e94a1d6a7f2eb932850e1db418bf34d5c6991ce8) (cherry picked from commit 757bbf484c0bab2c4c7b504017079cceb833f7ae) --- usr.sbin/bhyve/hda_codec.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/hda_codec.c b/usr.sbin/bhyve/hda_codec.c index 1866149c020a..b7d6ec043675 100644 --- a/usr.sbin/bhyve/hda_codec.c +++ b/usr.sbin/bhyve/hda_codec.c @@ -521,7 +521,6 @@ hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) payload = cmd_data & 0xffff; } - assert(cad == hci->cad); assert(hci); hops = hci->hops; @@ -530,7 +529,10 @@ hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) sc = (struct hda_codec_softc *)hci->priv; assert(sc); - assert(nid < sc->no_nodes); + if (cad != hci->cad || nid >= sc->no_nodes) { + DPRINTF("Invalid command data"); + return (-1); + } if (!hops->response) { DPRINTF("The controller ops does not implement \ @@ -540,7 +542,8 @@ hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) switch (verb) { case HDA_CMD_VERB_GET_PARAMETER: - res = sc->get_parameters[nid][payload]; + if (payload < HDA_CODEC_PARAMS_COUNT) + res = sc->get_parameters[nid][payload]; break; case HDA_CMD_VERB_GET_CONN_LIST_ENTRY: res = sc->conn_list[nid][0]; From nobody Tue Oct 29 18:45:36 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdK2T2lcsz5bmwV; Tue, 29 Oct 2024 18:45:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdK2S6W5Vz41Vy; Tue, 29 Oct 2024 18:45:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RjwlfE7sZjcrLdjlibknX8627uSEybI887a2u/AYBh4=; b=W4ZITpKHvDr1u9C93ikTHI7Dzm8nFX7i+vWh9oBRlZcK5t8plJgYNEgQ0pJ5VPgcUnelpj e5K5A8c65OaVH+Apav154P+Wl9cNPGcikFiFUKzEoXrcvuzLv0Dr1UDhOKWu2pyjMA+DP2 FlCJf5TFLMiKf/vurSDUu/HXhLIYDSdAftnh01FLQyuwZsG3ynPj31++9NYshDb4mQ9GMp 6KDVTJYeJF2ixXpFNYM/SH4DbqpsYqzXeUrWHlVZwdJ/UmVX19leHUu1RnZ6XRLAzrOccz hZ16iZ5fFikJpfZJHqpFHcXvNrlkWFmMxVh0kXYNdYUrMI5am2pk6wGn0gGhSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RjwlfE7sZjcrLdjlibknX8627uSEybI887a2u/AYBh4=; b=vgWgHAn6YIln/UhTR3BirbJ+NWUoR/SJjxPsoD2LWGpUuXh4ThfyD/2Czt9l8Sh6xsh4rz 9j4WVwYeD6AuQ90CRqWj2z3zh83XzU6O8CoY8HXKP0k3emYxOfDQ7I1Qm7P1Cz7bxEo90B g0xW/o0PoqrMBhcsZIBIRKhKgeOwMuN6b8rHRE17dsOIctU63MsnSAAqEjudXIcDA8+cx6 P2iKyhWGG8XtBC/LXgzbPlwtMpm7ZctDD1YK+BGCVoZyC1xBbzHs8CxVfQDilDL7KyytZt wjxyqwC1c90NHA0EsEFUuQYwFGk/E0FNSakDwqJwf2vBEVuKM3GMA1mAcWFEXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730227536; a=rsa-sha256; cv=none; b=qqnGJU7GIdP/xo2aAxCX32JVwjHA8xdxLqS2YtHa6MgWi9fv0ayFBTL9PYue43XiMFgVA+ 8p9VmA7XZsNtr9Mi9Cml16zxIA0YVkYNmkdeE2KhzmF3Dhc22wdZMzdn2L6G2PEuowcjGS H0OcTVdaVdUDuv0f+5oWvl5BMqqOay/G9/TVpzkvFpWSrwrX+aaXuc0nyC17rTFA+Nq++s jkn/I/Gl1UxdM6JyUdo40c0mNmr/yHy95qQdJ3BV0xb+SbhxPg3kTznf5PGvprnR9oseRs mpBzZMaCEUEO/+o0Bi1ubjb2H9+H1Kj87tVPJMd5/FVzlti156agxwyKcxOefg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdK2S64zXzbLX; Tue, 29 Oct 2024 18:45:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIjaTN017068; Tue, 29 Oct 2024 18:45:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIja2c017065; Tue, 29 Oct 2024 18:45:36 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:45:36 GMT Message-Id: <202410291845.49TIja2c017065@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: fcd9a2d8a5bd - releng/14.1 - bhyve/nvme: Fix Infinite loop in queue processing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.1 X-Git-Reftype: branch X-Git-Commit: fcd9a2d8a5bd6a76a70ea49fee8af8a73e2ce85a Auto-Submitted: auto-generated The branch releng/14.1 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=fcd9a2d8a5bd6a76a70ea49fee8af8a73e2ce85a commit fcd9a2d8a5bd6a76a70ea49fee8af8a73e2ce85a Author: Chuck Tuffli AuthorDate: 2024-10-13 13:58:48 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:44:00 +0000 bhyve/nvme: Fix Infinite loop in queue processing In the functions pci_nvme_handle_admin_cmd and pci_nvme_handle_io_cmd infinite loops are possible in the bhyve process if the sq->tail value is greater than sq->size. An attacker could overload the host CPU. Fix is to validate that doorbell values: - Are for a valid (i.e., created) queue - Are not the same as the previous value - Fit within the available capacity The emulation will generate an Asynchronous Event Notification (Invalid Doorbell or Invalid Doorbell Value) if enabled and ignore the doorbell update. While in the neighborhood, remove a redundant bounds check. Reported by: Synacktiv MFC after: 1 week Security: HYP-14 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46064 (cherry picked from commit 5374b9e146811757540e35553a7712c5b9b29239) (cherry picked from commit 86ba5941b132c73476a2a1b76ae53902a027b81c) --- usr.sbin/bhyve/pci_nvme.c | 81 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 73 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index a2e52ece7675..362ed09523fd 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -265,6 +265,17 @@ struct pci_nvme_aer { uint16_t cid; /* Command ID of the submitted AER */ }; +/** Asynchronous Event Information - Error */ +typedef enum { + PCI_NVME_AEI_ERROR_INVALID_DB, + PCI_NVME_AEI_ERROR_INVALID_DB_VALUE, + PCI_NVME_AEI_ERROR_DIAG_FAILURE, + PCI_NVME_AEI_ERROR_PERSISTANT_ERR, + PCI_NVME_AEI_ERROR_TRANSIENT_ERR, + PCI_NVME_AEI_ERROR_FIRMWARE_LOAD_ERR, + PCI_NVME_AEI_ERROR_MAX, +} pci_nvme_async_event_info_error; + /** Asynchronous Event Information - Notice */ typedef enum { PCI_NVME_AEI_NOTICE_NS_ATTR_CHANGED = 0, @@ -2789,6 +2800,38 @@ complete: pthread_mutex_unlock(&sq->mtx); } +/* + * Check for invalid doorbell write values + * See NVM Express Base Specification, revision 2.0 + * "Asynchronous Event Information - Error Status" for details + */ +static bool +pci_nvme_sq_doorbell_valid(struct nvme_submission_queue *sq, uint64_t value) +{ + uint64_t capacity; + + /* + * Queue empty : head == tail + * Queue full : head is one more than tail accounting for wrap + * Therefore, can never have more than (size - 1) entries + */ + if (sq->head == sq->tail) + capacity = sq->size - 1; + else if (sq->head > sq->tail) + capacity = sq->size - (sq->head - sq->tail) - 1; + else + capacity = sq->tail - sq->head - 1; + + if ((value == sq->tail) || /* same as previous */ + (value > capacity)) { /* exceeds queue capacity */ + EPRINTLN("%s: SQ size=%u head=%u tail=%u capacity=%lu value=%lu", + __func__, sq->size, sq->head, sq->tail, capacity, value); + return false; + } + + return true; +} + static void pci_nvme_handle_doorbell(struct pci_nvme_softc* sc, uint64_t idx, int is_sq, uint64_t value) @@ -2801,22 +2844,34 @@ pci_nvme_handle_doorbell(struct pci_nvme_softc* sc, WPRINTF("%s queue index %lu overflow from " "guest (max %u)", __func__, idx, sc->num_squeues); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB); + return; + } + + if (sc->submit_queues[idx].qbase == NULL) { + WPRINTF("%s write to SQ %lu before created", __func__, + idx); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB); + return; + } + + if (!pci_nvme_sq_doorbell_valid(&sc->submit_queues[idx], value)) { + EPRINTLN("%s write to SQ %lu of %lu invalid", __func__, + idx, value); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB_VALUE); return; } atomic_store_short(&sc->submit_queues[idx].tail, (uint16_t)value); - if (idx == 0) { + if (idx == 0) pci_nvme_handle_admin_cmd(sc, value); - } else { + else { /* submission queue; handle new entries in SQ */ - if (idx > sc->num_squeues) { - WPRINTF("%s SQ index %lu overflow from " - "guest (max %u)", - __func__, idx, sc->num_squeues); - return; - } pci_nvme_handle_io_cmd(sc, (uint16_t)idx); } } else { @@ -2824,6 +2879,16 @@ pci_nvme_handle_doorbell(struct pci_nvme_softc* sc, WPRINTF("%s queue index %lu overflow from " "guest (max %u)", __func__, idx, sc->num_cqueues); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB); + return; + } + + if (sc->compl_queues[idx].qbase == NULL) { + WPRINTF("%s write to CQ %lu before created", __func__, + idx); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB); return; } From nobody Tue Oct 29 18:45:37 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdK2V2L68z5bmhP; Tue, 29 Oct 2024 18:45: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdK2V06Yhz41Hh; Tue, 29 Oct 2024 18:45:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227538; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VhuT8tzMLw5yz6Sg9g+mUd61lvBmE4nX1PY+4NRzpjE=; b=N0YO1+aCGA3ykfdupTtRjCnS7RA8A5BFY3P+AlFdqIGfbwdTjrda6z4KriT9gMQmYQ/Hsz 1mL8YHLvDr7GNY0n8mn63emqyIc8lE6NjjkQ85G6ULKSeCg8GxuCSwGtztGrswkN2PLXUK ZWk2sR78Glou1nH516ePLvgFkxfC/+weOP33GS6F8b3/7E6n+CQS0z+11N8suvDejdNydA 93q06zRMDiHkCeiH7ETHlyLfRW5vDEA0uvBjW0KFVRARQtGY63Q0dyIRsWrh3R0TMDFjCt igDWKfUoZzQzPQ4g7NgaHSIAUsHPhIGUQ0rVMC1EzNuYmfwUNUBaWMNlWhxklw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227538; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VhuT8tzMLw5yz6Sg9g+mUd61lvBmE4nX1PY+4NRzpjE=; b=Qnf+V1cmdkb8pZpXieFx2lMth9Lw99JaTR2IY/0mzUHs8P22wAJNB7I71AAPnSpXU4b3fQ XUbH9aTHw3c1uXqwExgIowU02NGhhmXJR31Ka26WaxCFPNmaZeC7/zEH9YJviig3zbkJut Rp6h9glKMRLzk/KsU3pB58vBtVlXQK0Dx44dCGE/uRwENIy9ebA4aTgmKwtfQYwbVn5OEP 2wZSghASKlSfAEI0VJ8UGdK72qpS2cuwb/QRL8PmpHhMm6jYUUcVIG4wFDGiEp7mGKjj2b uGKZ0DdBIGWEg5zrPJgn17qa03XLkGnEB+itNzd9WbIYegrnWOMciN0j2o/pag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730227538; a=rsa-sha256; cv=none; b=Qx5vs7v3AoVA1/JzegBDsos7bAhEvXqCLP0ntar+hSmX31LQfG7t8gusgu9oaXCaGKsmpa bdduOdT1RhjR2gGiAIv/4zQG3Is08Xtnm6nmlNdgnGIvQBfxYxxDfCcFGtnYeHs6BkGf2E w+4h9fJZTI1ZaNKSI6D8450zzoUBPYdn2YMEzlU7c4w25eeymjo2yuklClgO++uGwoT9Zf NfXxn3ZQquW5mspbZIutoJFbkZoM+6dxIRFdcTCyjZOJWIpyTfJ96O2RIbJpyGZkaquDEJ lpoxzoLnH/qQoUIg8cgUiBvHjYrUn8ZRFEs3f4Y2vtxt66vXVzWmt6BMIuXXSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdK2T6rL2zbXc; Tue, 29 Oct 2024 18:45:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIjbH4017118; Tue, 29 Oct 2024 18:45:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIjbE2017115; Tue, 29 Oct 2024 18:45:37 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:45:37 GMT Message-Id: <202410291845.49TIjbE2017115@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: a8df23541444 - releng/14.1 - ctl: limit memory allocation in pci_virtio_scsi List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.1 X-Git-Reftype: branch X-Git-Commit: a8df23541444f6630a572bcce90ba26327ba25df Auto-Submitted: auto-generated The branch releng/14.1 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=a8df23541444f6630a572bcce90ba26327ba25df commit a8df23541444f6630a572bcce90ba26327ba25df Author: Pierre Pronchery AuthorDate: 2024-07-19 17:32:27 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:44:17 +0000 ctl: limit memory allocation in pci_virtio_scsi The virtio_scsi device allows a VM guest to directly send SCSI commands (ctsio->cdb array) to the kernel driver exposed on /dev/cam/ctl (ctl.ko). All kernel commands accessible from the guest are defined by ctl_cmd_table. The command ctl_persistent_reserve_out (cdb[0]=0x5F and cbd[1]=0) allows the caller to call malloc() with an arbitrary size (uint32_t). This can be used by the guest to overload the kernel memory (DOS attack). Reported by: Synacktiv Reviewed by: asomers Security: HYP-08 Security: FreeBSD-SA-24:18.ctl Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46044 (cherry picked from commit 64b0f52be2c9d7bcecebfeef393f8ec56cb85f47) (cherry picked from commit 2e7f4728fa738a7a7b6c4e4c46eb68952386efce) --- sys/cam/ctl/ctl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c index 0e0d79d15d8f..420d9088c27b 100644 --- a/sys/cam/ctl/ctl.c +++ b/sys/cam/ctl/ctl.c @@ -8320,6 +8320,18 @@ ctl_persistent_reserve_out(struct ctl_scsiio *ctsio) param_len = scsi_4btoul(cdb->length); + /* validate the parameter length */ + if (param_len != 24) { + ctl_set_invalid_field(ctsio, + /*sks_valid*/ 1, + /*command*/ 1, + /*field*/ 5, + /*bit_valid*/ 1, + /*bit*/ 0); + ctl_done((union ctl_io *)ctsio); + return (CTL_RETVAL_COMPLETE); + } + if ((ctsio->io_hdr.flags & CTL_FLAG_ALLOCATED) == 0) { ctsio->kern_data_ptr = malloc(param_len, M_CTL, M_WAITOK); ctsio->kern_data_len = param_len; From nobody Tue Oct 29 18:49:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdK7M0tVdz5bn1p; Tue, 29 Oct 2024 18:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdK7M027Yz43w9; Tue, 29 Oct 2024 18:49:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PCb/CMyBsutBqZe411AVWugeQf7di5nbKgWc9sGl2dQ=; b=q+bD7mvvd19lnCTy47bOV4WnAOcmNsxChlRLVqJZhPmxxu+zQ+xKxgRH79O+9uTNqHGwKD U68kSNBXiNnqIsSglMXWl5S2ZlpSua2rZajYFCu0D0hjffyfhaMHiyaSHkKxecLfjkMXkj wi+JOw+2aAa7JhMRmjH4s/KuLpbRokfSQiprAmLg11vhJD/nMmZaImjN8uYFXLd+GAe8g2 Ndssn5/UGSlPEHlqppTQdbb2cZP59wQOZ4r5YWjfq0URxCmBkZOMU071VcpvbZRRNs9EHW W3Ue3WazA5/7Sjxy4lwlWwEcH2CQzNL+FaVTB9qxi5NaGeYq9RAf9btATmorHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PCb/CMyBsutBqZe411AVWugeQf7di5nbKgWc9sGl2dQ=; b=ZGS+i4FvhdhtM5gZ7flS4P0eZPirge6OSn1aSLLsh9Ib6XFS26z3YVe+OYuwA1rRDrrZlH QD3PsXJ7zIvI2+NY8s/42oTMlnGYLklsDPxPoCoStRb95FTIOSbiqs19YDwJgjQkso1dk3 IowXmd53AoseFqfT2fBoaWFd/arM5fLec9d+qaPMk/nNH4xZRJSFlNWFaeJNGGnuurxsFM xCvBtVDEqZDQTuC1qFTCcB/gP6sYd2mGxprkFJrxPAeMpxPnFfVCIJl1tLQ8VQCGqnIGmG cwcx1ZpNqoBo6o/DhI4VfL5+HvEw/2ALqgKqkdo7gwS977Bh2CimtB+PnACDeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730227791; a=rsa-sha256; cv=none; b=sUTVmg9SopstQZsgz6WPV9x/dBmgDH+egyGnJH8qIDRDQgxZzfHJkTevYOd8w86Pl3434r hSGEmHMQJQ/NOmfDFJ+qkBYnggRDyEZRWdLUHC2grN365qX2VD9IDopTXPk5bM70ss/wTa /QhcoomXLnNIJJ/TITUcrS2qsYaV84dJtjFB4BAP0YAsyv7OCbMJFV/wQZFNP2E9UCf0o8 XIoeUsChRoIG3SrXBnbBfc0kGEoDFAZkH69ySqsyPN5cxxm3c9gO7ExklBriwYTw4R5vc+ rmCrmTXPMYEW6CMq7tq26cJ8VYFy/M33HC8tWX8qVTfgq6Ip1yvtWi6mYFdGyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdK7L6kS8zbLb; Tue, 29 Oct 2024 18:49:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TInoLU018492; Tue, 29 Oct 2024 18:49:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TInoLH018489; Tue, 29 Oct 2024 18:49:50 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:49:50 GMT Message-Id: <202410291849.49TInoLH018489@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: 088b759baab5 - releng/13.4 - bhyve/nvme: Fix out-of-bounds read in NVMe log page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.4 X-Git-Reftype: branch X-Git-Commit: 088b759baab52e65eb13eb171e810d9bdda41bed Auto-Submitted: auto-generated The branch releng/13.4 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=088b759baab52e65eb13eb171e810d9bdda41bed commit 088b759baab52e65eb13eb171e810d9bdda41bed Author: Chuck Tuffli AuthorDate: 2024-09-19 15:11:30 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:46:00 +0000 bhyve/nvme: Fix out-of-bounds read in NVMe log page The function nvme_opc_get_log_page in the file usr.sbin/bhyve/pci_nvme.c is vulnerable to buffer over-read. The value logoff is user controlled but never checked against the value of logsize. Thus the difference: logsize - logoff can underflow. Due to the sc structure layout, an attacker can dump internals fields of sc and the content of next heap allocation. Reported by: Synacktiv Reviewed by: emaste, jhb Security: HYP-07 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46021 (cherry picked from commit b0a24be007d83f7929de5b3fc320a29e6868067d) (cherry picked from commit a5be19efbb7c6b07d574ef048b2ebade00440873) (cherry picked from commit c8f75686adc6bc2078ade279d838cbc5b1745e71) --- usr.sbin/bhyve/pci_nvme.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 3db306a19119..cbe4d87b6f60 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -1454,7 +1454,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, logsize *= sizeof(uint32_t); logoff = ((uint64_t)(command->cdw13) << 32) | command->cdw12; - DPRINTF("%s log page %u len %u", __func__, logpage, logsize); + DPRINTF("%s log page %u offset %lu len %u", __func__, logpage, logoff, logsize); switch (logpage) { case NVME_LOG_ERROR: @@ -1466,7 +1466,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->err_log + logoff, - MIN(logsize - logoff, sizeof(sc->err_log)), + MIN(logsize, sizeof(sc->err_log) - logoff), NVME_COPY_TO_PRP); break; case NVME_LOG_HEALTH_INFORMATION: @@ -1489,7 +1489,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->health_log + logoff, - MIN(logsize - logoff, sizeof(sc->health_log)), + MIN(logsize, sizeof(sc->health_log) - logoff), NVME_COPY_TO_PRP); break; case NVME_LOG_FIRMWARE_SLOT: @@ -1501,7 +1501,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->fw_log + logoff, - MIN(logsize - logoff, sizeof(sc->fw_log)), + MIN(logsize, sizeof(sc->fw_log) - logoff), NVME_COPY_TO_PRP); break; case NVME_LOG_CHANGED_NAMESPACE: @@ -1513,7 +1513,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->ns_log + logoff, - MIN(logsize - logoff, sizeof(sc->ns_log)), + MIN(logsize, sizeof(sc->ns_log) - logoff), NVME_COPY_TO_PRP); memset(&sc->ns_log, 0, sizeof(sc->ns_log)); break; From nobody Tue Oct 29 18:49:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdK7N2HQCz5bn9Z; Tue, 29 Oct 2024 18:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdK7N11Q6z43mw; Tue, 29 Oct 2024 18:49:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kYa5v1Csjzm7nT36qlednuoHmZigDwhz16ePD6UcWUI=; b=fizRN/nwQ7dbhBcGBBJR3NXFFobQfUiqJ0djlcWBGKfFuS1g6et0qz1pkDuEAfj4H7TC/1 BX/337xC3qrdjXMXzVH+uu+ohnqeEeqDfAAkjekPe4pYfX48DmwE/h4GSfnbzQ3npLRerE a9FlmMeUXidvd2w+H1Y9+3bXHzsm5aS7FyGGkxlrOniEiIIMBHP+IDhiTanw659T7Tu4tf ZsJJHtM5AI5K7L0NzdqKVJwN/8eA5DjlCUsdtdDY5fm6fKA2xuTppmQ4GgM7kt7Ab0UZ+C i1BYKOrrODahL0BKwPVLD1ow5Kvxv389Eub86v9bog3G47PUICZ9dbyiPK9AWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kYa5v1Csjzm7nT36qlednuoHmZigDwhz16ePD6UcWUI=; b=slmEZizKKbNCKyiisNjyEdHjxPP0r8462RYOuDf3/u873oeEYpHylrXlzpn+EHqcFux68t aqL/j8IpeYT7vrUG2TaIXfHfYYs//7KK/nnidiXCA81Zv5atbNIoLSRQHTGSZerFDG+pVf zhvvPurZC51FX1C/weA1M5fZDzQ0q8xIJ9mqbGyXJWIHreZXI0uBADEJyKA6C2GaSAHlnQ W1ztUqbGdO3Q5kbs25U8HO5L/+xHiX0Q2PmxFMPv+bQprNxh0v+oOeSsFkuwm34i78vz3s 2rK1/Nf8xXDAbXG8lg0LsMS2PKDwcKsBWecw01uDNcygq8zzX9AdciEaFXl9Ww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730227792; a=rsa-sha256; cv=none; b=dRLSWHpdb91Lxs49li/SjSmUZ7cIWle1SYY3aKEm/49xuM8fFFSJC5PxJGUEN/H60UKynh FuPaTNrD9gfRwJWzkpAGvhXBQ857TqgruNuXCQUb97x3Y/E7A8LYpD3CwMQBdZzJvliV3P YOMmAq8ADfMXwNxiPOuwSlN+WGc7oqBjBFsnOrv+CDzHNQkXm9zYpIS0ndJy8kQUWf8I4y V0vxJP/Lph/QSO1mv6SLaUUPoL68QlRE3bqcTtUCsfMr9wGhMJXv9S/JFcMez/TlmXhKPK pJXjYjYufMri19oGRrRm1JYS+MmCj3Mw2MDbaYRok+Rzh8bLWu0uhA5yJ17k/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 4XdK7N0d5yzb7F; Tue, 29 Oct 2024 18:49:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TInqg2018551; Tue, 29 Oct 2024 18:49:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TInq6T018548; Tue, 29 Oct 2024 18:49:52 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:49:52 GMT Message-Id: <202410291849.49TInq6T018548@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: 1c48a9b47821 - releng/13.4 - bhyve: avoid TOCTOU on iov_len in virtio_vq_recordon() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.4 X-Git-Reftype: branch X-Git-Commit: 1c48a9b47821de7c4d0dbe28de112b525470e209 Auto-Submitted: auto-generated The branch releng/13.4 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=1c48a9b47821de7c4d0dbe28de112b525470e209 commit 1c48a9b47821de7c4d0dbe28de112b525470e209 Author: Pierre Pronchery AuthorDate: 2024-08-27 13:57:32 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:46:43 +0000 bhyve: avoid TOCTOU on iov_len in virtio_vq_recordon() Avoid a race condition when accessing guest memory, by reading memory contents only once. This has also been applied to _vq_record() in sys/dev/beri/virtio/virtio.c, as per markj@'s suggestion. Reported by: Synacktiv Reviewed by: markj Security: HYP-10 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45735 (cherry picked from commit 869d760cb9d7a307faa2fbe8c1c2b238a81b74d4) (cherry picked from commit ed03c309908687bdb9f71dc6d9c9c8a92c54fc20) (cherry picked from commit 6eb7879f426129aa38f4e8b0d57ab7456e4eb351) --- sys/dev/beri/virtio/virtio.c | 11 ++++++++--- usr.sbin/bhyve/virtio.c | 9 +++++++-- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/sys/dev/beri/virtio/virtio.c b/sys/dev/beri/virtio/virtio.c index c249d1c9d37b..7302bc39d799 100644 --- a/sys/dev/beri/virtio/virtio.c +++ b/sys/dev/beri/virtio/virtio.c @@ -107,12 +107,17 @@ paddr_unmap(void *phys, uint32_t size) static inline void _vq_record(uint32_t offs, int i, volatile struct vring_desc *vd, struct iovec *iov, int n_iov, uint16_t *flags) { + uint32_t len; + uint64_t addr; + if (i >= n_iov) return; - iov[i].iov_base = paddr_map(offs, be64toh(vd->addr), - be32toh(vd->len)); - iov[i].iov_len = be32toh(vd->len); + len = atomic_load_32(&vd->len); + addr = atomic_load_64(&vd->addr); + iov[i].iov_base = paddr_map(offs, be64toh(addr), + be32toh(len)); + iov[i].iov_len = be32toh(len); if (flags != NULL) flags[i] = be16toh(vd->flags); } diff --git a/usr.sbin/bhyve/virtio.c b/usr.sbin/bhyve/virtio.c index 5294da670677..d11f5683e7b7 100644 --- a/usr.sbin/bhyve/virtio.c +++ b/usr.sbin/bhyve/virtio.c @@ -215,10 +215,15 @@ static inline void _vq_record(int i, struct vring_desc *vd, struct vmctx *ctx, struct iovec *iov, int n_iov, struct vi_req *reqp) { + uint32_t len; + uint64_t addr; + if (i >= n_iov) return; - iov[i].iov_base = paddr_guest2host(ctx, vd->addr, vd->len); - iov[i].iov_len = vd->len; + len = atomic_load_32(&vd->len); + addr = atomic_load_64(&vd->addr); + iov[i].iov_len = len; + iov[i].iov_base = paddr_guest2host(ctx, addr, len); if ((vd->flags & VRING_DESC_F_WRITE) == 0) reqp->readable++; else From nobody Tue Oct 29 18:49:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdK7P49jhz5bmvP; Tue, 29 Oct 2024 18:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdK7P2F1xz43ky; Tue, 29 Oct 2024 18:49:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OqEuZqjjOxLba3rt62WmQKFPDQkvGzt9yeo7UlUales=; b=lWxh2QkA0VuNDWz5UrQLxVWs2rVWyZyl3VzcBQDJtiVf7REki7zzjiYTkbnaKEgcJQUe59 wmy3o6CJm6KjcpxL73vpL72ce0WLYQ/7xjzMP4gjsXQq7TnyyqyrIeCXaxISL354/bUTDJ EBv2rE8Te3pzLK4iRbYYaUjvtv0bYkiPmPRNth4H7oYWDtbyh4Wz1pWgYQYBtmDj32Un60 LJEdeB1Q70fJqTjLCPKqWvvysU/EoAOtf/FSfz0Bm6FJIrOli4O0BKUL+5H4QduoORXmnM OydJIetXfnT1c0zTqPtgjNwHNyO375jxHuFLGb/oaipHPQm1f7t3SDWwzSIw7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OqEuZqjjOxLba3rt62WmQKFPDQkvGzt9yeo7UlUales=; b=ddML6SFi0PqvyXjs9ZwuBXQIF4UbLu2mkO56d5YSp4mNft7os0kSomwujQQisiM6nZy91d ah2Afc7JE4HXMdafrGgFrMLiOvB/dHyr/3oYoyM5xkCcUMJWB+WfGUfsEc48H0gWKtFhrp 5nosVoWzamBNFblWJTLLAvE19MZcw+dJmVK7K/aW95pBWd8Nc4FXzbNeXth5UvaHwkT8zt mSt08UJ9vZMXinQQ2fS3DSTx3hrlF/9fRBtcN46P5Mvxbs4sXDi/ojoA6b3pJ2B3vVwrew kvR8qHzdr6lkWkhs1sp3ty+XaEVoFx5MbqQKzAPt4J7R8AYUAv26nEnjICgKBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730227793; a=rsa-sha256; cv=none; b=EZu8RnuQgiMOlYwhCZlB/OpLM54Dnf0Pja/Z90warXhWmanBf/OW/qHVYmsPFoqF2g4rHH apeMODBB6qK/Qjxpt1qasLsRpRGneBxlqC1WioixewAXV0OG3PFhqEEW7h31szHAX4y7Mn zD3IEEJBnrWjOJXQyRLnw7d3irZZ75PN9E5pUwklJ8UYOrHul+Cp5iT7IFNWSFIi8Cue+J b/3q5FFfOPEy5qXymkkDMkWgaKfgcCX4BIegdnVss3yGaW65hYOwgbO+RuEYQNlYJr923N Wa1CHH6AmwAPUw3cnHqOfYjNEBhW4FztZanalqkWyd377QANq9gFofRFjQVrYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdK7P1fmXzZwM; Tue, 29 Oct 2024 18:49:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TInrBV018605; Tue, 29 Oct 2024 18:49:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TInrCN018602; Tue, 29 Oct 2024 18:49:53 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:49:53 GMT Message-Id: <202410291849.49TInrCN018602@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: 798030a4e8d0 - releng/13.4 - bhyve: validate corb->wp to avoid infinite loop List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.4 X-Git-Reftype: branch X-Git-Commit: 798030a4e8d05da9f190531bff675a713c762372 Auto-Submitted: auto-generated The branch releng/13.4 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=798030a4e8d05da9f190531bff675a713c762372 commit 798030a4e8d05da9f190531bff675a713c762372 Author: Ed Maste AuthorDate: 2024-09-19 18:57:42 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:46:54 +0000 bhyve: validate corb->wp to avoid infinite loop Guests must set HDAC_CORBWP less than corb->size. Treat invalid values as an error rather than entering an infinite loop. Reported by: Synacktiv Reviewed by: markj Security: HYP-12 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46134 (cherry picked from commit a305f44d1404fbf386bb2b50ab7233ce9eabe0bb) (cherry picked from commit 6a645bb3535cb73b1f20db652c9e3893f26a986e) (cherry picked from commit 867aaad5c2bfdd8326fc805964e711ccfbb18d1e) --- usr.sbin/bhyve/pci_hda.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index 7d824d7a1fd8..fd47abebaa42 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -787,6 +787,11 @@ hda_corb_run(struct hda_softc *sc) int err; corb->wp = hda_get_reg_by_offset(sc, HDAC_CORBWP); + if (corb->wp >= corb->size) { + DPRINTF("Invalid HDAC_CORBWP %u >= size %u", corb->wp, + corb->size); + return (-1); + } while (corb->rp != corb->wp && corb->run) { corb->rp++; From nobody Tue Oct 29 18:49:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdK7R4zPlz5bnD1; Tue, 29 Oct 2024 18:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdK7R4JNZz446Q; Tue, 29 Oct 2024 18:49:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mTO/0CbQKx+G1dfH+n0w0RyYed77mpjUuwkKpLAiWUY=; b=gCnDRF8KHEiSoazTaaXz2I/FwM+Wvhx+YSgVw2+OMxJ7N1LMU15p5+QEJUiyVsb6OcU2c0 OmBgY8jOKREfr1SVVOy+CnPR+sXlP4yNQHgFl+I0wYU9bknQPK3bmTfTTnDO82jEMadzlL fSYbSnBLuvJyrqdHwmNrgI8gfgs35qCG2XwIPKhcKv9bWlNxV/eFvkAAurkObjiHTrrGvP 0GAiXUh9JZfGdmwKkscbpGGmasdy1p2kWWloJIsNd1FgWSF62ef+8qt1xr0tUbaqu26rdg zKgQgEYMu30OOScA2Gy8KjkVsekYBXOBsf5dF1yKspQ94bQqOmv3jS/Pdd++SA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mTO/0CbQKx+G1dfH+n0w0RyYed77mpjUuwkKpLAiWUY=; b=Z4wzR/PB/YZIfpLkgSlUmPfBdXczaKyV6RhwPp4gGfu0ypqQZZAT+www5hBDlcSyokiecI Y/GRIG+1E310nfTqF0Fmf55IjCXsA8401wY/V4lyQ8FMIF0AHUGX0Lk1HxCPDnB2SOLZhu AH5ztdpGi3C+Zag6MFDxdstV7p19SURSKmOU+Jo+GqKn6WKeE3ArcCISm0r4g1Y9TTr66X rFkQNM6QTMdhC1nolGQL39l/N4460ZcZvpHZPiStxUt4/xf20216mbb4YW8LQDMxZBnO4H GHfIWA2jR5OTvNLaWiKZqztFZK9SdqCStFXgCfQC81s3zI9GcCi31yHV/wlbCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730227795; a=rsa-sha256; cv=none; b=FqjsUEf8GXklJHeeAyutXRQwaqc4cwvq7Id0Kj7SgpOLwhm2B8r3h5PyrP7jE06gKz4n8g La5JbQcEkZ4Ho4Dbdy/q5n1yjD9TvJw2lR9G6PgSP22DpH4FW3MNf4sv28YQbI0K6gbfKQ F3vzNsP/hZEykn/fQjbOaOjPKAeqKXc4aQA3DaivshjOvoicqI+iuqNz+F7wRl6bqARRBw gdYxqZGnwssdKpcxBxmHGTrKTQw71PxJf9rpYWdqTlZknr1fMfgTz61nIVJ78yS6o8JBok xI3Fw4S7npSn43Ol2xbXn3F9p7vVhUIp0iJJdlScBNaVdydf3FLnHw1Xbalk1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdK7R3ttyzb98; Tue, 29 Oct 2024 18:49:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TInttG018716; Tue, 29 Oct 2024 18:49:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TInttv018713; Tue, 29 Oct 2024 18:49:55 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:49:55 GMT Message-Id: <202410291849.49TInttv018713@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: 5d07a7e902fa - releng/13.4 - bhyve/nvme: Fix Infinite loop in queue processing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.4 X-Git-Reftype: branch X-Git-Commit: 5d07a7e902fa225b9aee635b0073491d54bcc307 Auto-Submitted: auto-generated The branch releng/13.4 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5d07a7e902fa225b9aee635b0073491d54bcc307 commit 5d07a7e902fa225b9aee635b0073491d54bcc307 Author: Chuck Tuffli AuthorDate: 2024-10-13 13:58:48 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:49:18 +0000 bhyve/nvme: Fix Infinite loop in queue processing In the functions pci_nvme_handle_admin_cmd and pci_nvme_handle_io_cmd infinite loops are possible in the bhyve process if the sq->tail value is greater than sq->size. An attacker could overload the host CPU. Fix is to validate that doorbell values: - Are for a valid (i.e., created) queue - Are not the same as the previous value - Fit within the available capacity The emulation will generate an Asynchronous Event Notification (Invalid Doorbell or Invalid Doorbell Value) if enabled and ignore the doorbell update. While in the neighborhood, remove a redundant bounds check. Reported by: Synacktiv MFC after: 1 week Security: HYP-14 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46064 (cherry picked from commit 5374b9e146811757540e35553a7712c5b9b29239) (cherry picked from commit 86ba5941b132c73476a2a1b76ae53902a027b81c) (cherry picked from commit df1a36fdfae603ce298b8396ae3388d337c3c5b3) --- usr.sbin/bhyve/pci_nvme.c | 81 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 73 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index cbe4d87b6f60..536f34ddb3ee 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -267,6 +267,17 @@ struct pci_nvme_aer { uint16_t cid; /* Command ID of the submitted AER */ }; +/** Asynchronous Event Information - Error */ +typedef enum { + PCI_NVME_AEI_ERROR_INVALID_DB, + PCI_NVME_AEI_ERROR_INVALID_DB_VALUE, + PCI_NVME_AEI_ERROR_DIAG_FAILURE, + PCI_NVME_AEI_ERROR_PERSISTANT_ERR, + PCI_NVME_AEI_ERROR_TRANSIENT_ERR, + PCI_NVME_AEI_ERROR_FIRMWARE_LOAD_ERR, + PCI_NVME_AEI_ERROR_MAX, +} pci_nvme_async_event_info_error; + /** Asynchronous Event Information - Notice */ typedef enum { PCI_NVME_AEI_NOTICE_NS_ATTR_CHANGED = 0, @@ -2841,6 +2852,38 @@ complete: pthread_mutex_unlock(&sq->mtx); } +/* + * Check for invalid doorbell write values + * See NVM Express Base Specification, revision 2.0 + * "Asynchronous Event Information - Error Status" for details + */ +static bool +pci_nvme_sq_doorbell_valid(struct nvme_submission_queue *sq, uint64_t value) +{ + uint64_t capacity; + + /* + * Queue empty : head == tail + * Queue full : head is one more than tail accounting for wrap + * Therefore, can never have more than (size - 1) entries + */ + if (sq->head == sq->tail) + capacity = sq->size - 1; + else if (sq->head > sq->tail) + capacity = sq->size - (sq->head - sq->tail) - 1; + else + capacity = sq->tail - sq->head - 1; + + if ((value == sq->tail) || /* same as previous */ + (value > capacity)) { /* exceeds queue capacity */ + EPRINTLN("%s: SQ size=%u head=%u tail=%u capacity=%lu value=%lu", + __func__, sq->size, sq->head, sq->tail, capacity, value); + return false; + } + + return true; +} + static void pci_nvme_handle_doorbell(struct pci_nvme_softc* sc, uint64_t idx, int is_sq, uint64_t value) @@ -2853,22 +2896,34 @@ pci_nvme_handle_doorbell(struct pci_nvme_softc* sc, WPRINTF("%s queue index %lu overflow from " "guest (max %u)", __func__, idx, sc->num_squeues); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB); + return; + } + + if (sc->submit_queues[idx].qbase == NULL) { + WPRINTF("%s write to SQ %lu before created", __func__, + idx); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB); + return; + } + + if (!pci_nvme_sq_doorbell_valid(&sc->submit_queues[idx], value)) { + EPRINTLN("%s write to SQ %lu of %lu invalid", __func__, + idx, value); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB_VALUE); return; } atomic_store_short(&sc->submit_queues[idx].tail, (uint16_t)value); - if (idx == 0) { + if (idx == 0) pci_nvme_handle_admin_cmd(sc, value); - } else { + else { /* submission queue; handle new entries in SQ */ - if (idx > sc->num_squeues) { - WPRINTF("%s SQ index %lu overflow from " - "guest (max %u)", - __func__, idx, sc->num_squeues); - return; - } pci_nvme_handle_io_cmd(sc, (uint16_t)idx); } } else { @@ -2876,6 +2931,16 @@ pci_nvme_handle_doorbell(struct pci_nvme_softc* sc, WPRINTF("%s queue index %lu overflow from " "guest (max %u)", __func__, idx, sc->num_cqueues); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB); + return; + } + + if (sc->compl_queues[idx].qbase == NULL) { + WPRINTF("%s write to CQ %lu before created", __func__, + idx); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB); return; } From nobody Tue Oct 29 18:49:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdK7Q5Mcjz5bn9d; Tue, 29 Oct 2024 18:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdK7Q3ZXrz43tB; Tue, 29 Oct 2024 18:49:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uLl0he2ek8lyXqGcEZoEVgU9PLTekiTxjDylJ9Nl0zQ=; b=VIdlqWx9Ir85zjyDmtjiSNuH2zwIySH6UzdXKF+/QqU3Mnw3pzo33L+mosp8KMZ1p8dM5a ZwhZNkbsSQ/1IfLCZ/l4ZX344rvG4wi+gP1qMj0gd5MpJUnaNJPZNZqso2Inr/7FqEhdId ahWEx6Qvo70UyVxNC7Xz1s/T4F1aBpNPUYtzI/pgYG4Z2FsdSIyJmxEBRShaj0CIczDUBf fBBTOVoOevD4lgPC/JJ5X3JU173aZ0KjanAHy06ppmlh+CNG87v9MpVb9LIAoUbDpEXK5D IgNgtS0abliWtkHRsGEOC/In2BQ9UwNRwh1les6lHbV4Jr3fM/syAjTu7QUakw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uLl0he2ek8lyXqGcEZoEVgU9PLTekiTxjDylJ9Nl0zQ=; b=vGFQprh0DHNYF5v0NPbrI9Mqwyt3DfQ/42JOmdBLJwOTaJHTftoPd3gENEkyHT0lH0f9K6 Rh4Vf5o39ozFbmYfv1k4DR4UPEVWOFVV3kuN2R46US7TNR5hcZ3wAqGaJp7Fgffsx+dsAF /sf1DPQ7NJYfDjlz6v5K6Umkik5ui89DDgGlJuaHibyNWRQDf6LTY893u4+4mu8Y41EPNH rm7flTG04LW7t8yHp0G5vF51NBNskCTpJy34whmPBQsd23EfT0IDziy0GBo6rGFL7nJZFA RUGTfDogPmVkIsewLGgQz0P7w5dNWqhLiljqlGJsD7jQlyIpC2QBTIUnAcZxkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730227794; a=rsa-sha256; cv=none; b=xKaxdea2bOF31jKM2olf/tsu4vrB2ir3MPCFcpkNUcJITnn60Le7Ybf1tfMHiBOafEyViN Nl8RwSa/bxgzAvQqj2MTiyWd0osBndxvYuDBOniOrbTByONWIGDnBSrNIs6UkFfpJZ8v4W HbFdspne07nwkwdRv0VnnGzxnZ1fdN43CT73cZ/U0QV+Urhzqyl9HWrV2J1ARAFewNgpAk CfYfY27L5MszOfDvTGKl9lW9UPypP5wE1dxgYIzYNgILjyOtMzww2xdhynS5n+qwBtWpAx QN5cNvb7aJmn+hKRDvWoroDJHJEV2ch2i5f/7u9pbHB2CCewlNg1+EkprfCWmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdK7Q2vZNzZwN; Tue, 29 Oct 2024 18:49:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TInsN2018666; Tue, 29 Oct 2024 18:49:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TInsBP018663; Tue, 29 Oct 2024 18:49:54 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:49:54 GMT Message-Id: <202410291849.49TInsBP018663@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: cfcbeed4c7d5 - releng/13.4 - bhyve: improve bounds checks in hda_codec List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.4 X-Git-Reftype: branch X-Git-Commit: cfcbeed4c7d533fba817b38cf29e51206ea956ff Auto-Submitted: auto-generated The branch releng/13.4 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=cfcbeed4c7d533fba817b38cf29e51206ea956ff commit cfcbeed4c7d533fba817b38cf29e51206ea956ff Author: Pierre Pronchery AuthorDate: 2024-07-24 14:56:54 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:49:15 +0000 bhyve: improve bounds checks in hda_codec The function hda_codec_command is vulnerable to buffer over-read, the payload value is extracted from the command and used as an array index without any validation. Fortunately, the payload value is capped at 255, so the information disclosure is limited and only a small part of .rodata of bhyve binary can be disclosed. The risk is low because the leaked information is not sensitive. An attacker may be able to validate the version of the bhyve binary using this information disclosure (layout of .rodata information, ex: jmp_tables) before executing an exploit. Reported by: Synacktiv Reviewed by: christos, emaste Security: HYP-13 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46098 (cherry picked from commit e94a1d6a7f2eb932850e1db418bf34d5c6991ce8) (cherry picked from commit 757bbf484c0bab2c4c7b504017079cceb833f7ae) (cherry picked from commit 6cb1995a66aec98261256bc4da3eedfe840e1ab9) --- usr.sbin/bhyve/hda_codec.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/hda_codec.c b/usr.sbin/bhyve/hda_codec.c index 1866149c020a..b7d6ec043675 100644 --- a/usr.sbin/bhyve/hda_codec.c +++ b/usr.sbin/bhyve/hda_codec.c @@ -521,7 +521,6 @@ hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) payload = cmd_data & 0xffff; } - assert(cad == hci->cad); assert(hci); hops = hci->hops; @@ -530,7 +529,10 @@ hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) sc = (struct hda_codec_softc *)hci->priv; assert(sc); - assert(nid < sc->no_nodes); + if (cad != hci->cad || nid >= sc->no_nodes) { + DPRINTF("Invalid command data"); + return (-1); + } if (!hops->response) { DPRINTF("The controller ops does not implement \ @@ -540,7 +542,8 @@ hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) switch (verb) { case HDA_CMD_VERB_GET_PARAMETER: - res = sc->get_parameters[nid][payload]; + if (payload < HDA_CODEC_PARAMS_COUNT) + res = sc->get_parameters[nid][payload]; break; case HDA_CMD_VERB_GET_CONN_LIST_ENTRY: res = sc->conn_list[nid][0]; From nobody Tue Oct 29 18:49:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdK7T0s4Vz5bn7G; Tue, 29 Oct 2024 18:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdK7S57jvz43wy; Tue, 29 Oct 2024 18:49:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HQK8BwbsjUqVFQckbhuA326j74Udm/L1nReCKnOTIvM=; b=wF5go3ZiKZwqQf79jdOjYWM/HDxFb8K3SpkuVADYctShYi+BAWsXHMgxsoUyVmp/lkD7ED M/UZXV+esNMRzNhmvcnHM3iGaBPmIjsQucy1mOBhWnRuTVPGa5JR3J+FUIA83/7QyKIDhv jlGUgnyhy1IBzVVV16etWznab8fVN0s3H5hvqXNUwuimEeGCGtfhCBiLXgrF1D3FiiE+Rk pBBjLySFJG5gsLzuavW9PVqEDRSTFlt/S62agie4JoP51F2CyIi3F6Qy4fxeo2J+KyQAk+ aQjpituvn8+zeBEsEfsy7RKt4yIwQw0dW2KINOLKTiCaR/fmdwhRtRXi3EwgGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730227796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HQK8BwbsjUqVFQckbhuA326j74Udm/L1nReCKnOTIvM=; b=HvPxYSCA1kwmWY2JO3xHctthrAZRYQaWlJHdxPeWuAnUl2V2MUwyGp8EsZ44hEgJ/Ai+BX LkJvs6EE3/G3wlD0oht1bwJdWwrL0yisRWIA16JRr00SFhFAVw0QCaISYzaFziKQi8gLi+ rtnjSAJfsyQpl3H5FjTmRcUezkt1bPcEQaumbH8CRsqhp8hKZvZ4PaIn01QFlhtvkkK64j syr79kML571xzfoamyMsV6z+ybewm4XVOgGwF4BHuQLkeSeU1RaW6u/Jug90Ba2D0pzGD/ MVPb69NAdtRylY5ro8i7P6z40AA5b8QVx9txK5sbn8kudrUh62thczHi7VCMIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730227796; a=rsa-sha256; cv=none; b=I2ZTZAfiTfVAdspFLW3TX1hUVooobdh5NgjEpxt0aWQMAhdEtBmqCF2Iy5AyK5pk94hdL+ 9wNUwp8qieN+ielf98wqJ5GLGHmrpki4Q+VY8wHSJv39QFuKeMPEYd6Hz3pG/BDeHIhqiM NOdnSyaAeAL0SMGV1KPITJzJNUyA9DCqOT2kwsmyk1VFiNPaLTVTLwD4QkJRTHlSn6gIPJ o/7Klqd7HFQ6thoPrUwcJRYexg9w0LjhciCUKzDrEapn5+GFlclp1oi//xCyzQmovvdURd NYPTY7cyQkblRMRFM8DPutGsr3QRgZgN65uVQ3+YvEJ93/7MSsKHCTATpYsM+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 4XdK7S4h9KzbZp; Tue, 29 Oct 2024 18:49:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TInuFZ018761; Tue, 29 Oct 2024 18:49:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TInu1A018758; Tue, 29 Oct 2024 18:49:56 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:49:56 GMT Message-Id: <202410291849.49TInu1A018758@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: e389eb99fb63 - releng/13.4 - ctl: limit memory allocation in pci_virtio_scsi List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.4 X-Git-Reftype: branch X-Git-Commit: e389eb99fb630627155879acab03373889848857 Auto-Submitted: auto-generated The branch releng/13.4 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=e389eb99fb630627155879acab03373889848857 commit e389eb99fb630627155879acab03373889848857 Author: Pierre Pronchery AuthorDate: 2024-07-19 17:32:27 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:49:18 +0000 ctl: limit memory allocation in pci_virtio_scsi The virtio_scsi device allows a VM guest to directly send SCSI commands (ctsio->cdb array) to the kernel driver exposed on /dev/cam/ctl (ctl.ko). All kernel commands accessible from the guest are defined by ctl_cmd_table. The command ctl_persistent_reserve_out (cdb[0]=0x5F and cbd[1]=0) allows the caller to call malloc() with an arbitrary size (uint32_t). This can be used by the guest to overload the kernel memory (DOS attack). Reported by: Synacktiv Reviewed by: asomers Security: HYP-08 Security: FreeBSD-SA-24:18.ctl Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46044 (cherry picked from commit 64b0f52be2c9d7bcecebfeef393f8ec56cb85f47) (cherry picked from commit 2e7f4728fa738a7a7b6c4e4c46eb68952386efce) (cherry picked from commit 367d8c86a182813d88f728fdb2c3ef1a4679a852) --- sys/cam/ctl/ctl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c index b0f34cafac80..f94ab17c8ba0 100644 --- a/sys/cam/ctl/ctl.c +++ b/sys/cam/ctl/ctl.c @@ -8319,6 +8319,18 @@ ctl_persistent_reserve_out(struct ctl_scsiio *ctsio) param_len = scsi_4btoul(cdb->length); + /* validate the parameter length */ + if (param_len != 24) { + ctl_set_invalid_field(ctsio, + /*sks_valid*/ 1, + /*command*/ 1, + /*field*/ 5, + /*bit_valid*/ 1, + /*bit*/ 0); + ctl_done((union ctl_io *)ctsio); + return (CTL_RETVAL_COMPLETE); + } + if ((ctsio->io_hdr.flags & CTL_FLAG_ALLOCATED) == 0) { ctsio->kern_data_ptr = malloc(param_len, M_CTL, M_WAITOK); ctsio->kern_data_len = param_len; From nobody Tue Oct 29 18:53:36 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKCh63Nzz5bmy2; Tue, 29 Oct 2024 18:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKCh57bVz45Y5; Tue, 29 Oct 2024 18:53:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c77f5SYgELE48BASr7vE7XA8hC/of+7hlJ360/URj8s=; b=MfgLKIqJBOaHrIhAOTVMkxXnQ6/bHQltTpD/Oq+gZ3goV3toegbOPEJlGakRG2mIhZjk3u tUJvA0+dAA4Q/I5vjcqD8+1fBjsdtCN77+H36bZc0H9agZOXw8odaDFx+l0Fw7XqwNSrrq m+lcJxzpb4kQS5jq007pLno+yvDvaYKBtj3wf85FvMN+50JohPO1tfInH/Rwubj/8uxZ2D hr5QArkzecA3w9asi+GNeqn1ppvrm45RQ1nCgy8ScpSViB4i5BRmoMqgSQhKyCfl1DM+Mh 6vqvFCOHOvV5LZhHqvNzmvvPK5wxjzLiskA5NHEyTg+QjdAWzy2zLiFPnvBDZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c77f5SYgELE48BASr7vE7XA8hC/of+7hlJ360/URj8s=; b=T7BtEvvFIC0GWVGaQkAIDKv2U57xw4a7D/JlT2uFcXqvh32buarPQhYVGMkYkP+zFYPrMb YxuxwQ1R5JMzOHjka88nY+hMHt3Kod5Q/68mDKPgOcs3EP4RTD8s84cmeqmfZ/FGRuJZeR kjHUrZldN4vk974j/XWs+b3jOT57i4EMBxU1eTjHERe66tK4UZx3T9124622wkUuU1WwsS 8KwGV//OD/tmrxpH/7jtF36IOoErTaBkF2UKrkqte92R1KbKkdiJsmMnxRW8Qm/vt5j3Xn KLAMc9LLDeFaRiGFkJtoYZLMoHOQXVPgUJNFQsNKB8+SIPeO+FkWEddn2rhepA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228016; a=rsa-sha256; cv=none; b=ciRWCUx/lezVZyCz4EhxyBSs7z+xOANgm7oHp9/KGAu5S45t8HNpSdawGb+I1Dyoiezp2Z LXIz6FFJ3xNj8csDQBi9qzvl4sR0L0EBohHEabgyA0u8H7iERJMmWProVnPPqn9qxdNxXY jbhX066HL8MGGv1meG4nkeTA10geCu0ml0wApPqBkvOw91gghxQCPTxnvJDeF/jyV0n4mC 9nyQaGemMvogj59phhn/Hs/b2ueqTw2zpg2B25Ny/Wb1qdRMlGxbyQdkD/WlZVti24xdXS JZJGVlJZW2414Pi7nOOiipRmFDctXW23B0kJJ9togDQE8MHI8DuKfZ0SZQzXoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKCh4kkYzbYg; Tue, 29 Oct 2024 18:53:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIra7m035020; Tue, 29 Oct 2024 18:53:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIraJ5035017; Tue, 29 Oct 2024 18:53:36 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:53:36 GMT Message-Id: <202410291853.49TIraJ5035017@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: 50ca525bfe96 - releng/13.3 - bhyve/nvme: Fix out-of-bounds read in NVMe log page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 50ca525bfe9633c887029b8aaeafc605a5414831 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=50ca525bfe9633c887029b8aaeafc605a5414831 commit 50ca525bfe9633c887029b8aaeafc605a5414831 Author: Chuck Tuffli AuthorDate: 2024-09-19 15:11:30 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:52:43 +0000 bhyve/nvme: Fix out-of-bounds read in NVMe log page The function nvme_opc_get_log_page in the file usr.sbin/bhyve/pci_nvme.c is vulnerable to buffer over-read. The value logoff is user controlled but never checked against the value of logsize. Thus the difference: logsize - logoff can underflow. Due to the sc structure layout, an attacker can dump internals fields of sc and the content of next heap allocation. Reported by: Synacktiv Reviewed by: emaste, jhb Security: HYP-07 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46021 (cherry picked from commit b0a24be007d83f7929de5b3fc320a29e6868067d) (cherry picked from commit a5be19efbb7c6b07d574ef048b2ebade00440873) (cherry picked from commit c8f75686adc6bc2078ade279d838cbc5b1745e71) --- usr.sbin/bhyve/pci_nvme.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index 3db306a19119..cbe4d87b6f60 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -1454,7 +1454,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, logsize *= sizeof(uint32_t); logoff = ((uint64_t)(command->cdw13) << 32) | command->cdw12; - DPRINTF("%s log page %u len %u", __func__, logpage, logsize); + DPRINTF("%s log page %u offset %lu len %u", __func__, logpage, logoff, logsize); switch (logpage) { case NVME_LOG_ERROR: @@ -1466,7 +1466,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->err_log + logoff, - MIN(logsize - logoff, sizeof(sc->err_log)), + MIN(logsize, sizeof(sc->err_log) - logoff), NVME_COPY_TO_PRP); break; case NVME_LOG_HEALTH_INFORMATION: @@ -1489,7 +1489,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->health_log + logoff, - MIN(logsize - logoff, sizeof(sc->health_log)), + MIN(logsize, sizeof(sc->health_log) - logoff), NVME_COPY_TO_PRP); break; case NVME_LOG_FIRMWARE_SLOT: @@ -1501,7 +1501,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->fw_log + logoff, - MIN(logsize - logoff, sizeof(sc->fw_log)), + MIN(logsize, sizeof(sc->fw_log) - logoff), NVME_COPY_TO_PRP); break; case NVME_LOG_CHANGED_NAMESPACE: @@ -1513,7 +1513,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command, nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1, command->prp2, (uint8_t *)&sc->ns_log + logoff, - MIN(logsize - logoff, sizeof(sc->ns_log)), + MIN(logsize, sizeof(sc->ns_log) - logoff), NVME_COPY_TO_PRP); memset(&sc->ns_log, 0, sizeof(sc->ns_log)); break; From nobody Tue Oct 29 18:53:37 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKCj71jpz5bnQQ; Tue, 29 Oct 2024 18:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKCj6Rfkz45kx; Tue, 29 Oct 2024 18:53:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hgdJtlik4ryKbn/oLyfAeQTv15O0nB3u6MKPxwX3ga0=; b=Gq/ytOA62Ai0QnilmyEXzJIn/5n90hCpOKBGO2mjjjPo+s5GQJEj/bbK+QKMb0xjKRWdpw cP9+rroTzNs1v35ABN3qqR06n7az5EyVRhL1sForuFUM1WzJc4HCSSzyHWJtx4pYdW6Xqw T7GAkw6I7FK5IXdG15aVddJMS6h2i1+k5RYWkv3ocTHa0z+zwivx3v+kCQ6QGXiTizFLiE T3UI4RhayqItxSdTthrlFqtDGGw4q4cmOwOkO7bdVIf1BcAIeJzO2TvAreBevvNY4jYksc AQHL6K8sP24ObnOgMpZeQUZsJ18taeTHLQM+zoArcy1OSL39/GSHcIGBnob/0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hgdJtlik4ryKbn/oLyfAeQTv15O0nB3u6MKPxwX3ga0=; b=jg+zWKTBqlck40WPvUrj1dv1MveNnP9Z1P3kjgDC+xx9TLZhZZ+VcWxe1J5AETwVEao3R2 FGEmeSqjFo6dFxz/QXIl4ymyxCVjAGVUHSRpy7a+lt4SADUhO1LF3FN6ybJZZNSnOHEs2i WGjLg1U6ZSR1rgzAXWh6a2YZBWIjwzQPE5qSDaC9Ua7UPDVLJ8UzfUsGqgWI4JY8nNAk3o zHgMesPdPYwyh4zVOD6kU8urH8pFqV+Au4n06A/z2nfwQq/nWo4RzFZNzCUd/1752xAvFN OG0x1UfIEG99CWPviMrtw9MsmMZGD0r5+8lpyTplH9apYB+tTCN9cHygOHIDSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228017; a=rsa-sha256; cv=none; b=xG6ItCRe4nbXp4laiZ+i0vpQlJQEJzJXqaPtO2I4AyhuzAZSKHg20hTfZBLrlF0AmdsGbP N82gAryy8PHOOnZ2EbjhjOGbfJ3hvXBFfjtF0YkTxgB9vqpSoa759QdCKBYPk5RIXbP9VT 1dckqlOVdA/UeSlid2tE3P7jjH5egRvi8ZXSLYSfs93G9GpGuo47u+oZKkxcsJgGHxkfZN 09fSc2Z5WusYkhCkXU5WzlnFb+NATiM9SLZo7OcXzrEfAAepi79IwIetGuTPu2qS9gvE06 4IwTmCkQbhNqzm2ac1I+zfSkPlKE+JuC2MD6W/LTb1XzL26s6JmuNNjVT0QY2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKCj62xCzbk9; Tue, 29 Oct 2024 18:53:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIrbws035068; Tue, 29 Oct 2024 18:53:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIrbjO035065; Tue, 29 Oct 2024 18:53:37 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:53:37 GMT Message-Id: <202410291853.49TIrbjO035065@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: 296083d6bdb3 - releng/13.3 - bhyve: avoid TOCTOU on iov_len in virtio_vq_recordon() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 296083d6bdb31c5a7720540f2c44644f87245590 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=296083d6bdb31c5a7720540f2c44644f87245590 commit 296083d6bdb31c5a7720540f2c44644f87245590 Author: Pierre Pronchery AuthorDate: 2024-08-27 13:57:32 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:52:46 +0000 bhyve: avoid TOCTOU on iov_len in virtio_vq_recordon() Avoid a race condition when accessing guest memory, by reading memory contents only once. This has also been applied to _vq_record() in sys/dev/beri/virtio/virtio.c, as per markj@'s suggestion. Reported by: Synacktiv Reviewed by: markj Security: HYP-10 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45735 (cherry picked from commit 869d760cb9d7a307faa2fbe8c1c2b238a81b74d4) (cherry picked from commit ed03c309908687bdb9f71dc6d9c9c8a92c54fc20) (cherry picked from commit 6eb7879f426129aa38f4e8b0d57ab7456e4eb351) --- sys/dev/beri/virtio/virtio.c | 11 ++++++++--- usr.sbin/bhyve/virtio.c | 9 +++++++-- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/sys/dev/beri/virtio/virtio.c b/sys/dev/beri/virtio/virtio.c index c249d1c9d37b..7302bc39d799 100644 --- a/sys/dev/beri/virtio/virtio.c +++ b/sys/dev/beri/virtio/virtio.c @@ -107,12 +107,17 @@ paddr_unmap(void *phys, uint32_t size) static inline void _vq_record(uint32_t offs, int i, volatile struct vring_desc *vd, struct iovec *iov, int n_iov, uint16_t *flags) { + uint32_t len; + uint64_t addr; + if (i >= n_iov) return; - iov[i].iov_base = paddr_map(offs, be64toh(vd->addr), - be32toh(vd->len)); - iov[i].iov_len = be32toh(vd->len); + len = atomic_load_32(&vd->len); + addr = atomic_load_64(&vd->addr); + iov[i].iov_base = paddr_map(offs, be64toh(addr), + be32toh(len)); + iov[i].iov_len = be32toh(len); if (flags != NULL) flags[i] = be16toh(vd->flags); } diff --git a/usr.sbin/bhyve/virtio.c b/usr.sbin/bhyve/virtio.c index 5294da670677..d11f5683e7b7 100644 --- a/usr.sbin/bhyve/virtio.c +++ b/usr.sbin/bhyve/virtio.c @@ -215,10 +215,15 @@ static inline void _vq_record(int i, struct vring_desc *vd, struct vmctx *ctx, struct iovec *iov, int n_iov, struct vi_req *reqp) { + uint32_t len; + uint64_t addr; + if (i >= n_iov) return; - iov[i].iov_base = paddr_guest2host(ctx, vd->addr, vd->len); - iov[i].iov_len = vd->len; + len = atomic_load_32(&vd->len); + addr = atomic_load_64(&vd->addr); + iov[i].iov_len = len; + iov[i].iov_base = paddr_guest2host(ctx, addr, len); if ((vd->flags & VRING_DESC_F_WRITE) == 0) reqp->readable++; else From nobody Tue Oct 29 18:53:38 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKCl46zBz5bnQR; Tue, 29 Oct 2024 18: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKCl049zz45Qc; Tue, 29 Oct 2024 18: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=1730228019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p8lPiC7U1LqU+a1ETuqEH9930Pw0VgvxqkZ8zAYjEGE=; b=EGB7/PaodnenLs0CTc0w6D2TaGVYhpLxvynF7Q8FAcpk0PKhtW0TNXOuEEgT1Tqd/QljpZ h6Tc4TSl5sO7fyAM4mqaUAa9KUwOh0NOX4NQGMJjXDIrHuLvOtxezn90jLsCpMXk4Hcbsz naI/U1cNY+jolUPE4qa3oKiZv2WTryYOpJsjBse4uUYfcaf4MqQ61/SUcA1DujCCrkmpgX cnMCloPUXv+GdMrADBnXnf38S6qVx6kboSC1TJyg62TvgIgxBjfvaxy6I5sVlAV4xq5NJW wzhfkJws9vriOZtm3m5l4D9YpLPOfHRsfgmLcwiQOKfmzcVTDNX9G9eWOD7J4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p8lPiC7U1LqU+a1ETuqEH9930Pw0VgvxqkZ8zAYjEGE=; b=Nq7CYxKyOi/4keoIkT7itjcUDLFmc4BLh997NEtgd4trfEaYAYXxFc535k6/Gk3sQ98I3G hWpUlUGCbz2Km7K9nS5vf05hpa6kWPxSPRSG7CJ8a68kQ1fqvCtkeqH66i9/hWZR5SczmY rU2Sr1BTLn4ZQ5xwJjaiARfv1mGApwnbk4+629yj7xd+tTWXs+9VQSMKQvdeETyGMlwbA2 TrKIDzL7ah+Brf6uwu0ukArGq1jRgnXqbCi0AKSYb0ZgA2nVacDZGgfThjnbeeF9SzaSxD GeJRZZmKMmPnKAtsSbovrqhNlFRU7ujmg/ikKBFMaEB5ehWbfli7qS3wFr/7SQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228019; a=rsa-sha256; cv=none; b=paCOfGQDCwPhWceb/6DnGizcxZFXMwan/dTxo+xcQiJfITH9TEqpcJz9IyzcfTI7xRelLw 2QOdKk6rYCXkWLMdHmbDiiSYQHOV1h0wmdWrPndK7IsJJK5aehI3TEXYAh71lSYFlQJRRW tU+C3jSbHsoMlmdMSdMPNvW8F1XCtO8c//uiUac9i3MSXam3TVmXqlV8UQve6ScdM8jtOU 9wSvs/5KVK/+zSohE1X6RD7Bt5s7KKDfD0FdWXQkvlbQK5Ek27SDXNdjOfLUPfpryALqfO pjXsOIn3+FFV5yhM0p9Mj1CPvCY0VIJPbN53yVegmwYWxjQ0vUfj456vR2Yxvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKCk6kcGzbYh; Tue, 29 Oct 2024 18:53:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIrcf2035128; Tue, 29 Oct 2024 18:53:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIrcQQ035125; Tue, 29 Oct 2024 18:53:38 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:53:38 GMT Message-Id: <202410291853.49TIrcQQ035125@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: 127f37c9b32d - releng/13.3 - bhyve: validate corb->wp to avoid infinite loop List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 127f37c9b32da806539ccab71347e2dfc30b50f2 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=127f37c9b32da806539ccab71347e2dfc30b50f2 commit 127f37c9b32da806539ccab71347e2dfc30b50f2 Author: Ed Maste AuthorDate: 2024-09-19 18:57:42 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:52:48 +0000 bhyve: validate corb->wp to avoid infinite loop Guests must set HDAC_CORBWP less than corb->size. Treat invalid values as an error rather than entering an infinite loop. Reported by: Synacktiv Reviewed by: markj Security: HYP-12 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46134 (cherry picked from commit a305f44d1404fbf386bb2b50ab7233ce9eabe0bb) (cherry picked from commit 6a645bb3535cb73b1f20db652c9e3893f26a986e) (cherry picked from commit 867aaad5c2bfdd8326fc805964e711ccfbb18d1e) --- usr.sbin/bhyve/pci_hda.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/usr.sbin/bhyve/pci_hda.c b/usr.sbin/bhyve/pci_hda.c index 7d824d7a1fd8..fd47abebaa42 100644 --- a/usr.sbin/bhyve/pci_hda.c +++ b/usr.sbin/bhyve/pci_hda.c @@ -787,6 +787,11 @@ hda_corb_run(struct hda_softc *sc) int err; corb->wp = hda_get_reg_by_offset(sc, HDAC_CORBWP); + if (corb->wp >= corb->size) { + DPRINTF("Invalid HDAC_CORBWP %u >= size %u", corb->wp, + corb->size); + return (-1); + } while (corb->rp != corb->wp && corb->run) { corb->rp++; From nobody Tue Oct 29 18:53:39 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKCm2fp4z5bnQS; Tue, 29 Oct 2024 18:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKCm0vvDz461q; Tue, 29 Oct 2024 18:53:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z8WjprbWyHn1IwvlS0LACmkqAqyxnjWW0mpbFsr/VnA=; b=kjAjqYi5dnDkX9jbuxMCYNp8iMWaYF5QFZyTqpDIg10paTm89rMrprw26DsxVOY/tVgWao IttuJAQA7xyHX9epO/oaWL/v0ySnXfamF7AZ1m2yKHESpcVF+30UyM6PKbY98lWRViSmtU Dep0fsvV+cZPpYozON6ynKcftJDdd2+lNKs03D2qybP/wo8RlALOxEzmSF3mvo29uS+bjn W819kBwyJe51qN6YTS1pn5xQHL90kpO88Orey24Mvx6LSdjs9xVy9jJx8rBvb0jfbuw5y6 zf2kWS9u5ytA71sExmS4mIDlzVxuQxmd5eTIJge37wPtovf+VT+XCaxzjPRmRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z8WjprbWyHn1IwvlS0LACmkqAqyxnjWW0mpbFsr/VnA=; b=H8oaBzjqlTFLOUloDbXAiH4OzSlxV3Tvhl3VVpEPk0Tk/xjVOD0TtneaXacy+Sj7siNrRB jq7P4rfwSASsFAvxC+Fv0PCFWKXa5/kKtsa72FHPpKUtN0pMOQZwziw/ig96KX0aeG1ZT3 MfS8nohPaZFawX0UmP+LsBgO85Pe0Hx8YyBKb9UyZ6LIIxDo21PZ3V/4uCkIE+RHFpGLmJ BUjjy47beQD5RwUjGoshSJ0kqE9TKYP1pCcu9BuZjYuMuNZHGwhBxwTlvN7u5MoQjPoRmb G1Yn8UlnmNS6Hq2uMxbQVV7IJFNMT0naWOWOKvROQ/IkLXqO/GQmMnup8hOZ5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228020; a=rsa-sha256; cv=none; b=QRIVjnpXsPlLjB89WKV8CYFR7s7Gg0rk84HJI9VevWnAqJ5urH7gXF/KK52zeAsrcY11Lh drOsds5/6W46lR6Rx9a/TUdE5uFZexEZqnQwsG7ruRRDRrk831mjc4pmDv7u5y3MthuA82 tA/1D24yl+HbL3engjjwMaA5+mQF3ye6o4ikcnVOd5kG7Smn+kcgFuHmJm2rp/ldeYizeL 5CbMx1+zI0/l1B+Dll9R8nvFW9JONNvSrpKd3lJ9vvHiShE8CvwjS+x1Jsk3Ero+cExKO6 yh8HkZtviyfLAx2a8MyFDA1IWf58sAXprD5sTEp22pACgv/RCYlAIGkbJ3zwHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKCm0Fw4zbfh; Tue, 29 Oct 2024 18:53:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIrdAx035173; Tue, 29 Oct 2024 18:53:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIrdbo035170; Tue, 29 Oct 2024 18:53:39 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:53:39 GMT Message-Id: <202410291853.49TIrdbo035170@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: 7d1d641efeda - releng/13.3 - bhyve: improve bounds checks in hda_codec List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 7d1d641efeda7914acb892787b3ae2afcdb78c4f Auto-Submitted: auto-generated The branch releng/13.3 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=7d1d641efeda7914acb892787b3ae2afcdb78c4f commit 7d1d641efeda7914acb892787b3ae2afcdb78c4f Author: Pierre Pronchery AuthorDate: 2024-07-24 14:56:54 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:52:51 +0000 bhyve: improve bounds checks in hda_codec The function hda_codec_command is vulnerable to buffer over-read, the payload value is extracted from the command and used as an array index without any validation. Fortunately, the payload value is capped at 255, so the information disclosure is limited and only a small part of .rodata of bhyve binary can be disclosed. The risk is low because the leaked information is not sensitive. An attacker may be able to validate the version of the bhyve binary using this information disclosure (layout of .rodata information, ex: jmp_tables) before executing an exploit. Reported by: Synacktiv Reviewed by: christos, emaste Security: HYP-13 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46098 (cherry picked from commit e94a1d6a7f2eb932850e1db418bf34d5c6991ce8) (cherry picked from commit 757bbf484c0bab2c4c7b504017079cceb833f7ae) (cherry picked from commit 6cb1995a66aec98261256bc4da3eedfe840e1ab9) --- usr.sbin/bhyve/hda_codec.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/hda_codec.c b/usr.sbin/bhyve/hda_codec.c index 1866149c020a..b7d6ec043675 100644 --- a/usr.sbin/bhyve/hda_codec.c +++ b/usr.sbin/bhyve/hda_codec.c @@ -521,7 +521,6 @@ hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) payload = cmd_data & 0xffff; } - assert(cad == hci->cad); assert(hci); hops = hci->hops; @@ -530,7 +529,10 @@ hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) sc = (struct hda_codec_softc *)hci->priv; assert(sc); - assert(nid < sc->no_nodes); + if (cad != hci->cad || nid >= sc->no_nodes) { + DPRINTF("Invalid command data"); + return (-1); + } if (!hops->response) { DPRINTF("The controller ops does not implement \ @@ -540,7 +542,8 @@ hda_codec_command(struct hda_codec_inst *hci, uint32_t cmd_data) switch (verb) { case HDA_CMD_VERB_GET_PARAMETER: - res = sc->get_parameters[nid][payload]; + if (payload < HDA_CODEC_PARAMS_COUNT) + res = sc->get_parameters[nid][payload]; break; case HDA_CMD_VERB_GET_CONN_LIST_ENTRY: res = sc->conn_list[nid][0]; From nobody Tue Oct 29 18:53:41 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKCn3M5Dz5bn5k; Tue, 29 Oct 2024 18:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKCn1YX8z45r0; Tue, 29 Oct 2024 18:53:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jLOk3Mi9AroQdpQatCgk37zL3XX/bAhSw8Fedgy2wWw=; b=C+5nAv6+UVrLoEHGDBByecUrx8FLn4YigdFhVnnVXpblXVyUiz8SkTFnGXDiZ9STIMBefg vgCuSeBltS1H5ma4o64MsBWdDjTsJhtMNzg55CsM/6zBERl7YkgvLHNxJaWBX+rjjbSS81 YSHglg+mcIaGZXulO9kybl1vt5rWXcJ/PF0rmYAFvnigSLhyBsV0i0SGvp1QflYr7ZXMUJ KeRpS0Q7v3Z+qXcrMxPd0U9UVQKsC2jzj+gaURp6+50NEX8gYoo7SM8DJQVtaQRIgLUAwW 3LA74jA+PJAJYs3cuta6w/e7Ru8MCkfknpjdG+33IS6AqlXwBoJz7NJvuYeWgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jLOk3Mi9AroQdpQatCgk37zL3XX/bAhSw8Fedgy2wWw=; b=i9EsV3+7DB/Eu6coo1L6fHGLBPZs9IsZ8n9NpbGXRk69+rhHDnHIDLeadHhw62rmYrH/hG 0AxoC6nR4NK5Q2QXgrrbg9YtqjU+7jiiX4MnClD7pl0LitUeE2VbF3gWGDP7mqINEOY70Q nNKabQ9oAHh2OI5bAQ2XybPCGe4g1ES6URNOlFSbRusDik/82v8hKy8TDL1oODWzR19Sy/ 1apaxbXXvmc9Pcq1vA4+k975nSQvi4+0SA041mKyTMj+iLqqoaI1cspxGc5vjuO8Kdylhs lFUjhRvHTBRVhRI8SWIck0SN5IpMiWPDBztBkHmGpABd/IaINCcdU+cCT8WbuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228021; a=rsa-sha256; cv=none; b=a/7liDirbJ9hXt0qcPbFwqtH7Djp/IFftLXtvCx+B9lpXcnx8FGw1QDLSJXbZJl94ifN4x xVYVfBk49xosXV2w+mfDd9T08ZA1XL3z+LzeuYl2GpJnR9CmHcj7ThLqScAlo8e8fKxnGh 5shq9oMmgoi6w6hzW6cBq+uMTmOjEZPQdwiepk4l/n0E+hXtumiXbGXJrFOlLX8k5wuiY/ x7Lb/mSr0d1Gvrht5cjcG/g6Fb45ApKUTKrUiIo+B9B4l2bD0LytP8n1Zc3g7yrLAfDPpZ ZqGPRTUxNICRYs+X65/KZGVwQnuN3iO7drtgQHGit5xLEBKogx71qO9ecwEolQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKCn0xXPzbfj; Tue, 29 Oct 2024 18:53:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIrf1i035221; Tue, 29 Oct 2024 18:53:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIrfwO035218; Tue, 29 Oct 2024 18:53:41 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:53:41 GMT Message-Id: <202410291853.49TIrfwO035218@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: adb7b541aea1 - releng/13.3 - bhyve/nvme: Fix Infinite loop in queue processing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: adb7b541aea13de4a53096966354b1c14a196bba Auto-Submitted: auto-generated The branch releng/13.3 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=adb7b541aea13de4a53096966354b1c14a196bba commit adb7b541aea13de4a53096966354b1c14a196bba Author: Chuck Tuffli AuthorDate: 2024-10-13 13:58:48 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:52:54 +0000 bhyve/nvme: Fix Infinite loop in queue processing In the functions pci_nvme_handle_admin_cmd and pci_nvme_handle_io_cmd infinite loops are possible in the bhyve process if the sq->tail value is greater than sq->size. An attacker could overload the host CPU. Fix is to validate that doorbell values: - Are for a valid (i.e., created) queue - Are not the same as the previous value - Fit within the available capacity The emulation will generate an Asynchronous Event Notification (Invalid Doorbell or Invalid Doorbell Value) if enabled and ignore the doorbell update. While in the neighborhood, remove a redundant bounds check. Reported by: Synacktiv MFC after: 1 week Security: HYP-14 Security: FreeBSD-SA-24:17.bhyve Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46064 (cherry picked from commit 5374b9e146811757540e35553a7712c5b9b29239) (cherry picked from commit 86ba5941b132c73476a2a1b76ae53902a027b81c) (cherry picked from commit df1a36fdfae603ce298b8396ae3388d337c3c5b3) --- usr.sbin/bhyve/pci_nvme.c | 81 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 73 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index cbe4d87b6f60..536f34ddb3ee 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -267,6 +267,17 @@ struct pci_nvme_aer { uint16_t cid; /* Command ID of the submitted AER */ }; +/** Asynchronous Event Information - Error */ +typedef enum { + PCI_NVME_AEI_ERROR_INVALID_DB, + PCI_NVME_AEI_ERROR_INVALID_DB_VALUE, + PCI_NVME_AEI_ERROR_DIAG_FAILURE, + PCI_NVME_AEI_ERROR_PERSISTANT_ERR, + PCI_NVME_AEI_ERROR_TRANSIENT_ERR, + PCI_NVME_AEI_ERROR_FIRMWARE_LOAD_ERR, + PCI_NVME_AEI_ERROR_MAX, +} pci_nvme_async_event_info_error; + /** Asynchronous Event Information - Notice */ typedef enum { PCI_NVME_AEI_NOTICE_NS_ATTR_CHANGED = 0, @@ -2841,6 +2852,38 @@ complete: pthread_mutex_unlock(&sq->mtx); } +/* + * Check for invalid doorbell write values + * See NVM Express Base Specification, revision 2.0 + * "Asynchronous Event Information - Error Status" for details + */ +static bool +pci_nvme_sq_doorbell_valid(struct nvme_submission_queue *sq, uint64_t value) +{ + uint64_t capacity; + + /* + * Queue empty : head == tail + * Queue full : head is one more than tail accounting for wrap + * Therefore, can never have more than (size - 1) entries + */ + if (sq->head == sq->tail) + capacity = sq->size - 1; + else if (sq->head > sq->tail) + capacity = sq->size - (sq->head - sq->tail) - 1; + else + capacity = sq->tail - sq->head - 1; + + if ((value == sq->tail) || /* same as previous */ + (value > capacity)) { /* exceeds queue capacity */ + EPRINTLN("%s: SQ size=%u head=%u tail=%u capacity=%lu value=%lu", + __func__, sq->size, sq->head, sq->tail, capacity, value); + return false; + } + + return true; +} + static void pci_nvme_handle_doorbell(struct pci_nvme_softc* sc, uint64_t idx, int is_sq, uint64_t value) @@ -2853,22 +2896,34 @@ pci_nvme_handle_doorbell(struct pci_nvme_softc* sc, WPRINTF("%s queue index %lu overflow from " "guest (max %u)", __func__, idx, sc->num_squeues); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB); + return; + } + + if (sc->submit_queues[idx].qbase == NULL) { + WPRINTF("%s write to SQ %lu before created", __func__, + idx); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB); + return; + } + + if (!pci_nvme_sq_doorbell_valid(&sc->submit_queues[idx], value)) { + EPRINTLN("%s write to SQ %lu of %lu invalid", __func__, + idx, value); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB_VALUE); return; } atomic_store_short(&sc->submit_queues[idx].tail, (uint16_t)value); - if (idx == 0) { + if (idx == 0) pci_nvme_handle_admin_cmd(sc, value); - } else { + else { /* submission queue; handle new entries in SQ */ - if (idx > sc->num_squeues) { - WPRINTF("%s SQ index %lu overflow from " - "guest (max %u)", - __func__, idx, sc->num_squeues); - return; - } pci_nvme_handle_io_cmd(sc, (uint16_t)idx); } } else { @@ -2876,6 +2931,16 @@ pci_nvme_handle_doorbell(struct pci_nvme_softc* sc, WPRINTF("%s queue index %lu overflow from " "guest (max %u)", __func__, idx, sc->num_cqueues); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB); + return; + } + + if (sc->compl_queues[idx].qbase == NULL) { + WPRINTF("%s write to CQ %lu before created", __func__, + idx); + pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR, + PCI_NVME_AEI_ERROR_INVALID_DB); return; } From nobody Tue Oct 29 18:53:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKCp3yP4z5bn5l; Tue, 29 Oct 2024 18:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKCp2xnKz45x5; Tue, 29 Oct 2024 18:53:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jMuaIl3FSUl2gen8JLNe/kCHuxNBlqrgOJgx3MLLvbs=; b=K6cI4c6q7EfzWaTXrDzxcY36abzEkz4vVp9J5wnonmF/RJd3OpdLjI33lp4wirGawXTbcJ oP23TCm0T37BcifIewCK4DCOfY+9hWw9D8g//kU3v6w75LKPKrCJvepxkpXuEYCUBckjln 4iiUM1T2uI1LFiSt5TTsIpUqbtFuSfIaKOpVNeatBOCNygc0JBcskLOVccZa5T6OxpPRdq D9HHRHccoy5StTgJXA3x1Ft1N4izJ7vZxlBKnt9hsgtfeqAhto+0dnjW6FUa6zUeTxT8Zn oa5IHKt1AaDgdzQ/Bo4TjjbIQR2smL5lew8zQkl2SCRR0YG8o54l8soCQyFVRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jMuaIl3FSUl2gen8JLNe/kCHuxNBlqrgOJgx3MLLvbs=; b=ey5DvZpganueF2aq+5+VZMOFNcN/lIkLEOS3b+lnPV6kM4KclPFiML7Ahu/kYV411eIP26 88qt7UadxLIUIFW+gTTaXQL7IFVmQMrmnZZfoCVKiUZ02EwbUQAI6kBf/y8f7fLGUlqoE0 e1TuTbuY0R6CVhrVTcuBqNfHDH1p4Fa5gMOGvGjN/hJqKX9lFrX0KPvHqgIuPIxPFRjFm9 JPKWPDBhz3B01AD5hUTH2G0Ow3sZ5/lgz1GYiHCcQ0iljixjY46BiFZKbs0poSZFRfkfqL GbP7EJvrjlBs4Xitmb3XtWH9mFQkAlEZd6D+UPWR3BEKQWy8L6FN0VmoyK49XA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228022; a=rsa-sha256; cv=none; b=anFlE4hny/CaPJ3wi4f47lHM7jmIgkEv48fHsWMLTX7lXUJWKsWXdVKymnSpMOr4d7cjq9 kr8BcYziPeWc3M+pnES6p2FNZtotDIsIU2xFZ8yjl8f06BnC6GrmS6tC89o2CyDj2XV6nu XYi2zEoE0ze2/2uLinZ47GKdpWW45ILDQEKnx5VTcPZEwcAQQuXZFs5MPtw6NsttNYzetv QhSa4zbAn/K4/4PW0nZOgs9s3RoLsoYH90tD5L0Z+g91MCpQE0WYYRgl1IloHqGtEOvoaz d1/S5O1C5b78LbUJOTc9VjbRstTzt/M/SrA/T0C238tCs69bNwocnAhICj8grA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKCp2HdqzbYj; Tue, 29 Oct 2024 18:53:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIrgCb035274; Tue, 29 Oct 2024 18:53:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIrgCZ035271; Tue, 29 Oct 2024 18:53:42 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:53:42 GMT Message-Id: <202410291853.49TIrgCZ035271@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: 9867aebc1d04 - releng/13.3 - ctl: limit memory allocation in pci_virtio_scsi List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 9867aebc1d042c93635134199b5d5feed2354fe9 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9867aebc1d042c93635134199b5d5feed2354fe9 commit 9867aebc1d042c93635134199b5d5feed2354fe9 Author: Pierre Pronchery AuthorDate: 2024-07-19 17:32:27 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:53:00 +0000 ctl: limit memory allocation in pci_virtio_scsi The virtio_scsi device allows a VM guest to directly send SCSI commands (ctsio->cdb array) to the kernel driver exposed on /dev/cam/ctl (ctl.ko). All kernel commands accessible from the guest are defined by ctl_cmd_table. The command ctl_persistent_reserve_out (cdb[0]=0x5F and cbd[1]=0) allows the caller to call malloc() with an arbitrary size (uint32_t). This can be used by the guest to overload the kernel memory (DOS attack). Reported by: Synacktiv Reviewed by: asomers Security: HYP-08 Security: FreeBSD-SA-24:18.ctl Approved by: so Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46044 (cherry picked from commit 64b0f52be2c9d7bcecebfeef393f8ec56cb85f47) (cherry picked from commit 2e7f4728fa738a7a7b6c4e4c46eb68952386efce) (cherry picked from commit 367d8c86a182813d88f728fdb2c3ef1a4679a852) --- sys/cam/ctl/ctl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c index b0f34cafac80..f94ab17c8ba0 100644 --- a/sys/cam/ctl/ctl.c +++ b/sys/cam/ctl/ctl.c @@ -8319,6 +8319,18 @@ ctl_persistent_reserve_out(struct ctl_scsiio *ctsio) param_len = scsi_4btoul(cdb->length); + /* validate the parameter length */ + if (param_len != 24) { + ctl_set_invalid_field(ctsio, + /*sks_valid*/ 1, + /*command*/ 1, + /*field*/ 5, + /*bit_valid*/ 1, + /*bit*/ 0); + ctl_done((union ctl_io *)ctsio); + return (CTL_RETVAL_COMPLETE); + } + if ((ctsio->io_hdr.flags & CTL_FLAG_ALLOCATED) == 0) { ctsio->kern_data_ptr = malloc(param_len, M_CTL, M_WAITOK); ctsio->kern_data_len = param_len; From nobody Tue Oct 29 18:57:00 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKHd13wfz5bn8c; Tue, 29 Oct 2024 18:57: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKHc6H5Gz47HK; Tue, 29 Oct 2024 18:57:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UtmYg/1JVda0g2/2PSESqYxVWvf+ExsARpeY33cI06s=; b=xRofNt1gv1fqz0aGFFWH+WW8top2dGV25fGA/Yn0q5MggnyYVpN8AH6epvc9jdmw7FDRdH TEMelMey1ZwaOB5vVxSum0qKMGLAPMpqOXWc82AV7yW0ubhJ9pztj31ToP1N/0rdWu5Am2 AS25e/ks9tQlBwqZkj0nQs+Y5mcaaRIdj19b7w3udMXpuZooocyzBjAPyyQwg0L2oJhTAd ZuT3iGyrL4MLlTVMxUnt8SYISG6keEQKDtm8WWe3fFa+MVo/3kAxsb61gcyArNpMKLVRVA vNbsEV6+HH/NcnfA+gzsGe/bd1VAdNWMBtNEUd6LEVhJ9ymHyU+I244oTCU6Ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UtmYg/1JVda0g2/2PSESqYxVWvf+ExsARpeY33cI06s=; b=kGhdGLGr1YBjxoKABZNq2GLEbqeQZ0dPP29vpoOKEP1846Hs8a1jUAB1pu/MoKXt/+arYi H4yPQYnJjNPULC1K3PVb9tCgKPA7tkJ68DzvWXPO5tF7/fRUAbFwUqpKScSmoMrgoadfrn c73odnR3yOMGaMqTOzKtEAdMNyu1zjgVpCFm2BGYWs8qq9oO53h7Rv8eRZhliCAUru3cAk gIMhrlp0ahv0SFJxSxOKq67vO6E+6F0cegJsyUggsfvVOcwPD5PXmUPFMskVgPXtburmB8 bWWfTagfVkMeaTOepC2KMv+isNGrIzOOo10n7bIzWEIFcHdaj1l8Fq/7o9862w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228220; a=rsa-sha256; cv=none; b=U17x7BEBE7x1dwshqfezz1QC0I6mD8zVmwDujuqPGaUArVATnecwdMBrPZsJOd5TXVbUrv cK3rABDx9djeby385iU7aVVBz6BTQztzUTk/SzlmCiWUXuQ96wdrs5Cld/x2UJ/8pEe9Oe mPNbDVef7iBkY1OYsclQr6dQ2DFbvmcxbmSI2pMhNhD61wH+zJwMlcQIA0MAwI2Y2Q1kRO D5e0/gntGIKZ5cu7TdIcICMcCgE8nyJ3Xq4w9WxxIJEgL/dlKH8xHUneZXBOI78M68WSOB 1lq3Lag0dfQi4ls492Q3gNqKMVabej6DNkfZbsSESnidDrHIf8/bVNAhK8tjjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKHc5twLzbh8; Tue, 29 Oct 2024 18:57:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIv0uA036521; Tue, 29 Oct 2024 18:57:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIv0JU036518; Tue, 29 Oct 2024 18:57:00 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:57:00 GMT Message-Id: <202410291857.49TIv0JU036518@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: 0e8bf366e6c5 - releng/14.1 - fetch: correct env var name for --crl option to work List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.1 X-Git-Reftype: branch X-Git-Commit: 0e8bf366e6c545fc8cf430687e94f7465bd23355 Auto-Submitted: auto-generated The branch releng/14.1 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0e8bf366e6c545fc8cf430687e94f7465bd23355 commit 0e8bf366e6c545fc8cf430687e94f7465bd23355 Author: Franco Fichtner AuthorDate: 2024-10-07 09:36:19 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:54:17 +0000 fetch: correct env var name for --crl option to work Reviewed by: grembo MFC after: 3 days Security: FreeBSD-SA-24:19.fetch Approved by: so Differential Revision: https://reviews.freebsd.org/D46973 (cherry picked from commit 1d7a33888e09f86feb4c2c9f9640d936be07ce9d) (cherry picked from commit 51676e0a3bd38ab6deae27f72fb6fb6dd648825f) --- usr.bin/fetch/fetch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/fetch/fetch.c b/usr.bin/fetch/fetch.c index 8be5742386e7..6cf6a31eed2e 100644 --- a/usr.bin/fetch/fetch.c +++ b/usr.bin/fetch/fetch.c @@ -1059,7 +1059,7 @@ main(int argc, char *argv[]) setenv("SSL_CLIENT_KEY_FILE", optarg, 1); break; case OPTION_SSL_CRL_FILE: - setenv("SSL_CLIENT_CRL_FILE", optarg, 1); + setenv("SSL_CRL_FILE", optarg, 1); break; case OPTION_SSL_NO_SSL3: setenv("SSL_NO_SSL3", "", 1); From nobody Tue Oct 29 18:57:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKHf19S6z5bn8g; Tue, 29 Oct 2024 18:57: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKHd6xWyz47Q3; Tue, 29 Oct 2024 18:57:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EIJI00Kf6VCMeffTWJNB86c2LeXWG6snXuajcVa2HuY=; b=GhS7dHMi7zX7cmt38ks6WJfOvuVbvoZFshxzdPw9zuxqBhzbkiignqC0neo6jXquvku8to HnyFbRA1jSmLQx7EmuGlhGZqY8Co0YXvMyuMBaUMHHDYUdYZRcXFlpNRSN+wGSBDy3khCr xcjwgRBe9W7ACw3qHP2ZNGC3eb+1tH2LtF+JEn8akJ4AxVFo6EDTuxYE3WBR6SCqr6OLFX KX23p2uPAJZXUg4mGeKPzZQDcO7f6IiFemfoaX3GhlDEyNgtB69sPCqdfQ1uPQQ51znelI liFH+/yy9em42pMF88SRTH4wTGzC1S1FBCUzeTg2bqJGz1Qc3MLLpqp6HSTRiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EIJI00Kf6VCMeffTWJNB86c2LeXWG6snXuajcVa2HuY=; b=Gi+eK7CFIUdt5GTArObQFLXQCjdl4YygJxfP8kiWQZ7RTINnn1kO8nMY7ea9nvZk84OhmQ 8OSR8r5vb34YeTLg1IdkQy3Zy6rNoM24xC0vEDSXg6M8PUdkJVkzrbmgp5x6cw2s2KlcTC FYWVEA+YaJhA5GLJumnFBC6LagdPecFTiBpiU7Yg6Np36cYqPywT+OzY79Rzo9+wl8aom0 VvR4hMkaX5HYA7zOjd74gXnZKlEXqMW54NiG6R6+GwUyIGIi/tlb+JcQTuOvD8JQRteCAh fxKn3bzQgVsiItFLHVjOH2+i7kB2ah9t7nrirzQgytGpzgORSOFJ3ed5AKVFIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228222; a=rsa-sha256; cv=none; b=Umu/qZ70tER8T6YXoKLkTXhnLVQxMe84+BnrisX3h1vCuWcBaWlkWMN2lW7vyL00kVF0gL xxBEHK13WvIv7P3SZmLYFm7EkRgD9gtinPLAreJ0vnBVFk+q99V1BP55hzPTaUxJ0b4PAi DQ0a7ft6kId5upno0YlBXZah/FRKx5Hxav0kcyANf2valmjc1zlR3z5lMFePkAxZ0Y+H6h 0XdQXWGOte+c42Yhz+ECe4kXBBZMAww9aO2VkYpv50oc5yiCGqSYoVlFVWFMJIcaeH+/FU fG0CWOfXRLhN4txDxcqApIx9ERYaQBv77cCkI7imvAnYIn35nyGtw0nvXZ19MQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKHd6Xz9zbh9; Tue, 29 Oct 2024 18:57:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIv1si036572; Tue, 29 Oct 2024 18:57:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIv16v036569; Tue, 29 Oct 2024 18:57:01 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:57:01 GMT Message-Id: <202410291857.49TIv16v036569@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: accf8cee6dd0 - releng/14.1 - pam_xdg: Fix user xdg runtime directory's descriptor leak List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.1 X-Git-Reftype: branch X-Git-Commit: accf8cee6dd09bc2d0a02cf45ec4386ec42970bf Auto-Submitted: auto-generated The branch releng/14.1 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=accf8cee6dd09bc2d0a02cf45ec4386ec42970bf commit accf8cee6dd09bc2d0a02cf45ec4386ec42970bf Author: Olivier Certner AuthorDate: 2024-08-13 21:04:09 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:56:03 +0000 pam_xdg: Fix user xdg runtime directory's descriptor leak Approved by: emaste (mentor) Fixes: 6e69612d5df1 ("pam: Add pam_xdg module") MFC after: 3 days Security: FreeBSD-EN-17.pam_xdg Approved by: so Sponsored by: The FreeBSD Foundation (cherry picked from commit 06986e899972ac3a127ab2ab46196672d0e1e5b2) (cherry picked from commit 9e8d504bb5a1e7ede55814069e213d4702172b81) --- lib/libpam/modules/pam_xdg/pam_xdg.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libpam/modules/pam_xdg/pam_xdg.c b/lib/libpam/modules/pam_xdg/pam_xdg.c index 4d586a21566a..1ad7c56dddb5 100644 --- a/lib/libpam/modules/pam_xdg/pam_xdg.c +++ b/lib/libpam/modules/pam_xdg/pam_xdg.c @@ -108,6 +108,7 @@ _pam_xdg_open(pam_handle_t *pamh, int flags __unused, goto out; } } else { + close(rt_dir); /* Check that the already create dir is correctly owned */ rv = fstatat(rt_dir_prefix, user, &sb, 0); if (rv == -1) { From nobody Tue Oct 29 18:57:13 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKHs5k33z5bnZL; Tue, 29 Oct 2024 18:57: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKHs5DV7z47vD; Tue, 29 Oct 2024 18: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=1730228233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gLMVZjvZ88s8neJuDKlO63JVvJN3JFhEjRQ6K2POXgI=; b=sN3VhvKM6OXHsTrQyDrHh1m2RY56wGe1z0IGojUdQ/0KgPdOghLKeXx5z2xP+WcSWJQUMS q0x5ZurwNaL/IuCiwxdZINI0NStqmCIOVwHN7mue2Ek3MDv8Hhx8sUwvhvcZ1iChDgEu4g zheInT4QMeNByiXiucxwjLfiW9Tcx8J6W0PEVfidMqyYeiFpQfGNKHamNO93/wH9IBd3Ke EK/3eJMqGS86L2qVy2BGkIGcZx7Pk3vtqMvkPfOq3CQibIwTai5uyk0yfn4J88tGy2IcoZ saaHAun8BQASGSt0A4z4EtU0A9QZlEa0LNyEs8LIZ5fWNDWRFvIkXXXUwoyojw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gLMVZjvZ88s8neJuDKlO63JVvJN3JFhEjRQ6K2POXgI=; b=Xm3/Gpnh0UuoDmrI0gVPjIYmngRei5FP9387m10eFfRidm2jzMHQshmIr0EE/DqNRpFogq fjOPQ+YtvXkzBpcZ+UAZ3XqGieYS/1kMPKWueOQ1Reph5cwROES5Nl4hZkKtsfPVku3sgX TOSl3EJDw19B9RfhM6JYzbM8oh63cKmAExnOIzfNCdHcHuStmFoqJFTkhfxHl1z/UjBePF rXlA/hpPtFKXIqxzuqQsejDsJKqL+tIYd7/GKZaGkxx8u9yNsYQx4f0ukPImaXWmP1nwo9 g6GA/9rgNaiXzk5Syz4wYMzLSLNrTkmV246aKHX2AS35t1E6xKYssakiD/WpvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228233; a=rsa-sha256; cv=none; b=YaGSyO28KMf2ou96aeO3Q/h7ldSTEv8oJ09yonb8f4EP59pjf7kBRQIQlcCHQzza2AAxMG X3oUbpt9PcXPTsGVyFDLV7VFZ+eKqOkJI6EAa6fOW8VbrB1byVSOewmMwIhnLnH0MUCptB T6U19vlQ8KQoDJhmOk1WZwCCVR5ckrpTCqHMOdUy0/OlMyfozf4xTlb1UQE3GmNzAZeS+E fv9H4GUS4Aguvj7M/DccfAwcu1lAq78r37+Z6TEW9S9f3+HcMtRMFSYgIi5eWtAY98o5Nz nvSbPDpk7vyu7mXw83Tbp1IAkH3x+ECyVoyyG7N7AqhA2dN5t6bNfVyjTAvwcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKHs4rkYzbYl; Tue, 29 Oct 2024 18:57:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIvD6l036814; Tue, 29 Oct 2024 18:57:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIvDER036811; Tue, 29 Oct 2024 18:57:13 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:57:13 GMT Message-Id: <202410291857.49TIvDER036811@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: 51f6c450d991 - releng/13.4 - fetch: correct env var name for --crl option to work List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.4 X-Git-Reftype: branch X-Git-Commit: 51f6c450d9917eab224bce7303f3ce25bb97474c Auto-Submitted: auto-generated The branch releng/13.4 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=51f6c450d9917eab224bce7303f3ce25bb97474c commit 51f6c450d9917eab224bce7303f3ce25bb97474c Author: Franco Fichtner AuthorDate: 2024-10-07 09:36:19 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:55:15 +0000 fetch: correct env var name for --crl option to work Reviewed by: grembo MFC after: 3 days Security: FreeBSD-SA-24:19.fetch Approved by: so Differential Revision: https://reviews.freebsd.org/D46973 (cherry picked from commit 1d7a33888e09f86feb4c2c9f9640d936be07ce9d) (cherry picked from commit 48472457842226eb3445fd70dd995954020f0cb8) --- usr.bin/fetch/fetch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/fetch/fetch.c b/usr.bin/fetch/fetch.c index 8be5742386e7..6cf6a31eed2e 100644 --- a/usr.bin/fetch/fetch.c +++ b/usr.bin/fetch/fetch.c @@ -1059,7 +1059,7 @@ main(int argc, char *argv[]) setenv("SSL_CLIENT_KEY_FILE", optarg, 1); break; case OPTION_SSL_CRL_FILE: - setenv("SSL_CLIENT_CRL_FILE", optarg, 1); + setenv("SSL_CRL_FILE", optarg, 1); break; case OPTION_SSL_NO_SSL3: setenv("SSL_NO_SSL3", "", 1); From nobody Tue Oct 29 18:57:30 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKJB72QVz5bnBc; Tue, 29 Oct 2024 18:57: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKJB6Y0pz47yF; Tue, 29 Oct 2024 18:57:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+8CI3/YgvIdnUXt5dDt7ImuN6ApYr3BbW8/TVu107IY=; b=BuWLrl73CcdMe/0KqUinxqEJo+800WDSATqyuRCu0Y0X4s0kbhgH3U81V/A7vA6mECZKO5 vwXzAljO9MPGjp9qHpH8y9MKR/NRWReOmbUzAiDLguE2PDjB/4rXCCE71/5R5/Kw8QLslC cGa8aqqtom6I052KjHYZ0emgs+M3ckjMHhCgSqi0IZ0YhOuCHmqbvsW7uTJIAznXAgKKdQ VWU34wcSHh4O3Tu0RLgcI1k9TA2kMoRgZ+kwrX7qbULDwoXJA9Frnl1UJAWfc8+6H03tCG hXRYdCnCeFKMirI8F+ljuhgNbWNnjLpZhuKxr8UkmmfbeumKLdYEMK70HpRPmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+8CI3/YgvIdnUXt5dDt7ImuN6ApYr3BbW8/TVu107IY=; b=ZxIHX8WQiLuTsf/nwjN44Wn0vniZSZh6zDvR4GTd53Sazhv/c4R3JU5qxrPI1YMVA5ORgu loAfG91LYPPhi/wZRhGw5VHsOp2mZcFS2ZX08wVb9F27RrEHgqA44Jw5FSAcwa4Kh3QUUv w+/Nn2O0eH1PNHAG5+/URYeCfHRliDvUurD0e75WV5ZuGsn26nzXEylHIbKJgJCd1Smvjh 3uTmGtiq7eHsoyK9+zTku6BG2aA1NfvPFdlDsn0NjGcUiMzwegKq1JW2VKWaJaZSBe2q5e GUCp4Pii2SvQMG+Gxnflq3sG6ATDeHMyLY7LCe1JUmKtc0rL0dVVyEwAJqBb3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228250; a=rsa-sha256; cv=none; b=LBziG8vmMBY+umok/ilZpX1odLFU4tFnfWUDlKhQFj65kd8LM2aXIiCdSEN2JpNVhPDoIb fAPGODbHvq5FLfe46Xb0DyaQ0u0cGJOoI30ruKIpV1A2NpMNf593M1r5RT4NRwhKzOFOUK 6MfdL3KLxaMl+Slxn0z/EC20einlvCjtB8tq+wxu/Q1AmJdLv5ypBpsFr5WNGs1uEW0JJK Fj3qvAaUjGyxkavKFdPteJyfh0MWzFRwfb0FuieLks9IKIS0RT6oYceWZ0TvxE8ThOTxwU 8wmuwfibxrDSBhRmlbGbVvsBJvcUv/2YSYDOYdTB72AV5hAH6eZ05WX0yNn3aA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKJB69LSzbYm; Tue, 29 Oct 2024 18:57:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TIvUjg037033; Tue, 29 Oct 2024 18:57:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TIvUok037030; Tue, 29 Oct 2024 18:57:30 GMT (envelope-from git) Date: Tue, 29 Oct 2024 18:57:30 GMT Message-Id: <202410291857.49TIvUok037030@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: 9f1314a30b4a - releng/13.3 - fetch: correct env var name for --crl option to work List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 9f1314a30b4a6f5bcc2c149b8555fce539cc0f11 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9f1314a30b4a6f5bcc2c149b8555fce539cc0f11 commit 9f1314a30b4a6f5bcc2c149b8555fce539cc0f11 Author: Franco Fichtner AuthorDate: 2024-10-07 09:36:19 +0000 Commit: Ed Maste CommitDate: 2024-10-29 18:54:58 +0000 fetch: correct env var name for --crl option to work Reviewed by: grembo MFC after: 3 days Security: FreeBSD-SA-24:19.fetch Approved by: so Differential Revision: https://reviews.freebsd.org/D46973 (cherry picked from commit 1d7a33888e09f86feb4c2c9f9640d936be07ce9d) (cherry picked from commit 48472457842226eb3445fd70dd995954020f0cb8) --- usr.bin/fetch/fetch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/fetch/fetch.c b/usr.bin/fetch/fetch.c index 8be5742386e7..6cf6a31eed2e 100644 --- a/usr.bin/fetch/fetch.c +++ b/usr.bin/fetch/fetch.c @@ -1059,7 +1059,7 @@ main(int argc, char *argv[]) setenv("SSL_CLIENT_KEY_FILE", optarg, 1); break; case OPTION_SSL_CRL_FILE: - setenv("SSL_CLIENT_CRL_FILE", optarg, 1); + setenv("SSL_CRL_FILE", optarg, 1); break; case OPTION_SSL_NO_SSL3: setenv("SSL_NO_SSL3", "", 1); From nobody Tue Oct 29 19:07:41 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKWx29kZz5bpH5; Tue, 29 Oct 2024 19:07: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKWx1K1Dz4CWK; Tue, 29 Oct 2024 19:07:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228861; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r2NjSC7JT5KrgkSIQSZLEVEt6iXNDI48Tnw9lawhvBY=; b=tBj2iwfWYooA67lFkfRYl6MAF5SLEXL+e7nQx/66Lks0X53+6q2sl5Ra50gxQjpGj+lUvH E/KxWe9Pmsp5YESAgqKCMKwF0YfFA5VRur/kyIHljH13jFA/3uUxLroC/tp8fJED0O1Ve3 aP25nrJFsfTebPQk8Y2ps5EQM+uH51AC4IKjKLSpKRrtLTY4COADMP9H1/Hy0Gs/nGeMwx 5ymHIdMRaNpZILt5Gtte2yqB47QLNMzK4hF4mMkqWa2bxCErhJJpZpRV4XB3mCJcBrd521 XHkCzluN66Sz3mLQNZQJXyXkp0D/mNpzjutWL3vvpwVELtl62kIxSoffLNHpKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228861; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r2NjSC7JT5KrgkSIQSZLEVEt6iXNDI48Tnw9lawhvBY=; b=tDxQXatZRocksa7FBK4x9x0lVjsTBCHX5u10GFsnCkvyMuAwn7ki0rmd9lFFemVmyw5A37 e472fXQQy3J83SR/PrHRCvfMBoEIPjwqgYf9j7UHkzZDB2lQR3CP+toOaAbO2AhjLwz1Q+ T+/j9a5XUfgv4CjpO8ML/myPH6c4BnOhR9zUzDIgTbXMXAN1bTUMClx5Nu8zWfzVExxp8G gEh5hMW5inZc2TbLRImVwkPgYE4uQcK7NR/iseKSebSSzzTMB0A/h9JVUWMHKXmOjFcj/H 2vIZ0VeaFbUTQdEv44hPdqGKOBwiijebEbGsY4emk/chmdFLpd+GrodNxtqBSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228861; a=rsa-sha256; cv=none; b=grtSGt+yWInjbSOVXLU6Z91MIUWMx3TWIE6GjjnyZIwc+ucKvzqsFAbAJRZFRiwLBD6v/l fa6gza8qQGmNiMubBuYh71b3G7PhmV6oyRYzAzoJTN6xfApfxWwJib0KB/92aiI2EFR7Ie 4vKRA6mxvi2Wq+DMSRDQVWgkxcXTHsIzqOhe0dw+PdfSYB8yfgWGjh3D9Oi6PlhMYqYGf/ JobLesaHzMY3yiD4sfEjRlzfR89Kzh762lRZi49QQFOwXF05tDH3ah6TxYtnkjyah1S30J mNxxwPViT6llDlH1nDMKblU7fDzkKvKe0suDTkk9mt35rzwzcvCIdmzLRa2yPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKWx0wGrzc5y; Tue, 29 Oct 2024 19:07:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TJ7f7i056323; Tue, 29 Oct 2024 19:07:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TJ7fY1056320; Tue, 29 Oct 2024 19:07:41 GMT (envelope-from git) Date: Tue, 29 Oct 2024 19:07:41 GMT Message-Id: <202410291907.49TJ7fY1056320@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: 74b6c983723c - releng/14.1 - Add UPDATING entries and bump revision List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.1 X-Git-Reftype: branch X-Git-Commit: 74b6c983723cf3d3e277f10780ad081e32c80e80 Auto-Submitted: auto-generated The branch releng/14.1 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=74b6c983723cf3d3e277f10780ad081e32c80e80 commit 74b6c983723cf3d3e277f10780ad081e32c80e80 Author: Ed Maste AuthorDate: 2024-10-29 19:04:42 +0000 Commit: Ed Maste CommitDate: 2024-10-29 19:04:42 +0000 Add UPDATING entries and bump revision EN-24:17.pam_xdg SA-24:17.bhyve SA-24:18.ctl SA-24:19.fetch Approved by: so --- UPDATING | 14 ++++++++++++++ sys/conf/newvers.sh | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index c77a09fdf81b..7db8d96d692e 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,20 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20241029: + 14.1-RELEASE-p6 EN-24:17.pam_xdg + SA-24:17.bhyve + SA-24:18.ctl + SA-24.19.fetch + + XDG runtime directory's file descriptor leak at login [EN-24:17.pam_xdg] + + Multiple issues in the bhyve hypervisor [SA-24:17.bhyve] + + Unbounded allocation in ctl(4) CAM Target Layer [SA-24:18.ctl] + + Certificate revocation list fetch(1) option fails [SA-24:19.fetch] + 20240919: 14.1-RELEASE-p5 EN-24:16.pf SA-24:15.bhyve diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index f611c7d0229d..c8fcd643c0b9 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.1" -BRANCH="RELEASE-p5" +BRANCH="RELEASE-p6" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Tue Oct 29 19:07:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKX73CzVz5bpBG; Tue, 29 Oct 2024 19:07: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKX72kSMz4Cwp; Tue, 29 Oct 2024 19:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FLcGUMPryb5pj/5RJgIEnV9rByagh7DIkHlSqVmzVVU=; b=sxZABW5cmLhHOYAqTijXmn5ggCT3Zs/B0EkVHZJSp96jqYznxgv8XhTB9bJ+Uhp0gqkUar HC7Ilh/gECIf0ry941oe/ILLgTVkQnC6o43ZHBiXPlLZbQc7tLdzenvajIH4q/6XPuRfke Z/FZjfJaSsfZ76EMQBXlPSlGDCecPXRUnP14L+qblcwa8sGrboo8dIeIzattzwyBQ5SMf3 NnFkuEsZuc9Be7YM0DRZEK0Re+0hdP+HLytwBzs7Vz3y5nHshmxwvc2dz4kUBQxyU9eN4H HstX0o4o5WhVzwXhiFMJet8OyxW9n0mnqh9fJNQdwZDoYsZZWkk83IbJRd7BBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FLcGUMPryb5pj/5RJgIEnV9rByagh7DIkHlSqVmzVVU=; b=XSw73zDSXHteQm27wMgYL1VqOXDt9otzjnUIDv16emJK0VZN3PQIzh7iUw/67pPyed/dvR TmPeU37Htlsp9oo9uHSUCg76ss6Dhsnd0MQ5FzKDSkJiSdtfhBEOQAsxKSmOhcjODQCy++ qpgtr9OrmYO++2TriIkBnixhDd0kNYALYEEO+BgnZKPr+3BFux9Pxf6+aw8OCmmu+oCG3T fR39BaR9msN6XBgGQu8289l4pZfX6Pyo/nC7uiQz/OxjD4sthZzf2EUMfcfyRSiWaIyOFa BHih8sJq0HkHDmWAk5eI43gstZHmfRUpTT1FlQYo4gp7CfYBq7XL63Ugyx35AA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228871; a=rsa-sha256; cv=none; b=bN6jZliaNV+lfo4k+G6bXEDv5t8VXNJt/l4z+4Gp2FCk6IDjcvlqseraWMrGGIOR2dlgrr SqBAlA9JfYf62ViO56zfHc/Y9dtOoXsrKSsgM5TsivONA2eO7lXfEanipoyJ9r6FOQGqPC uz32Tpg6OzdPCncY917TYLGNxR6euKj5riWpr2KCw7HEWkzycybEeYWgcJVMUuzI9J/OYH TV+zh26WdRVe3kTOp41bKvVU3ZKTcA+gvqE531pY8qan2T2fQKHiCUBEIx/ZJXi1I3nqm1 dI2sQ7gXvtNr0eQs30Q/NVKm7Sha8PMxrc0Bz+dZqiazs8Lg3MPi7dQLURKHKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKX72HR8zc60; Tue, 29 Oct 2024 19:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TJ7pFg056501; Tue, 29 Oct 2024 19:07:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TJ7pXY056498; Tue, 29 Oct 2024 19:07:51 GMT (envelope-from git) Date: Tue, 29 Oct 2024 19:07:51 GMT Message-Id: <202410291907.49TJ7pXY056498@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: 3f40d5821eca - releng/13.4 - Add UPDATING entries and bump revision List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.4 X-Git-Reftype: branch X-Git-Commit: 3f40d5821ecad3fefb79700d01ce387adc29663e Auto-Submitted: auto-generated The branch releng/13.4 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3f40d5821ecad3fefb79700d01ce387adc29663e commit 3f40d5821ecad3fefb79700d01ce387adc29663e Author: Ed Maste AuthorDate: 2024-10-29 19:06:08 +0000 Commit: Ed Maste CommitDate: 2024-10-29 19:06:08 +0000 Add UPDATING entries and bump revision SA-24:17.bhyve SA-24:18.ctl SA-24:19.fetch Approved by: so --- UPDATING | 11 +++++++++++ sys/conf/newvers.sh | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index df70c7ce5904..2951c149d61e 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,17 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20241029: + 13.4-RELEASE-p2 SA-24:17.bhyve + SA-24:18.ctl + SA-24.19.fetch + + Multiple issues in the bhyve hypervisor [SA-24:17.bhyve] + + Unbounded allocation in ctl(4) CAM Target Layer [SA-24:18.ctl] + + Certificate revocation list fetch(1) option fails [SA-24:19.fetch] + 20240919: 13.4-RELEASE-p1 SA-24:15.bhyve SA-24:16.libnv diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 5d096d99c9aa..a59fe0f17d4b 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="13.4" -BRANCH="RELEASE-p1" +BRANCH="RELEASE-p2" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Tue Oct 29 19:08:22 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKXk4n83z5bpBH; Tue, 29 Oct 2024 19:08: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKXk3sfhz4DFS; Tue, 29 Oct 2024 19:08:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D2H/x5Im83leQhuTJxREbAjiE0hcQV/xxR/Nk96tpi0=; b=TNLJVxDgcpsq8nLaDiSZ78lNxzMkAsQBmgicVVlnjESf3VuJXK/pVLymaL9s1Kkiy7q7HZ aEYaAmjMwJW211JUCip/UX8t8Eyye6/O/Q2RozyTPs+h8CwgL4AiHd5MFKQWqiqsMUxkAT OJfB3dpp0aabdj9K8QT2BPhnGw2f8s6WHe4cDEvq3zQ4t88ku91Gh+JassUPhKL6X3GKP1 Vb22YfiSfEu1pYrBZO24I5AGZUEGw59x9oGcfCvvD3rustNlaWMaBciChvyKRFcI+ac44P kWN4FKxWRm01Kk26ekwOW6fjQ+rIW9kqjZLm0ygvP1EYgZEWXVnLNVmR1QGnEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730228902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D2H/x5Im83leQhuTJxREbAjiE0hcQV/xxR/Nk96tpi0=; b=BYxZdIlZP/nkq9ZcPx2WtuwiIubA3zCOgr9EgBVoxv8951hzzp/6tY+Ep0I1V7Q3qVSzZh PZTDXWYypiWfOGu2HHJ76HHQtkqZ+nffqA9h2pw+lNjBmSOOa2gFlOdgqiKoh2OfoCeaf6 PNdXJjuxr/VpJN9TeOCtiZhHyz0xfaqTpHUzXt1qR6dn8fUP5084wHkQPbVrSwICWaDyDu NBC9dEyMtI/2GUFjSGSMsMiD+XQ9GlxvENR0kiDyJpQspYty9bY725QDhY94AlrxtWiWC8 M0z0A9CrmoBGzWocQsrOIYyWHWX8jmB28XSrVBLbadMMPCIcnjVENoQYKC8PFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730228902; a=rsa-sha256; cv=none; b=nwHxKEsinUC0S6n3MQq2L0KFbvBIg1AwH1w+s7fxudoO06GB9+zj6KELWiJniKM7WdZ2Zm KXC2bZLjK1Mtr9XWHd8eRYWiNpTQorcH/V4HqMtApd2AdcmAs5Id1ugY3BI8DicDWegmGP tOkBld7luCaA3KZi09/d1Qz4VH6USEXDg6So1M4kDYpN9USaFMX7RpAB29s1+qe6FZHTAo 8+IIxft27kFZVZ7KLtlDSBlQTKmlIHDPerwVj6rNK6WmQdcV5hBRXClz2gJizBqxqFogRR Mx/U+fvmo2KI2/eZSm8bgyu/ob23SiGyXFP5etZ8kZqzRM8DNwNc9C3vXKG+Zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKXk31qkzc7H; Tue, 29 Oct 2024 19:08:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TJ8MoK056817; Tue, 29 Oct 2024 19:08:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TJ8M6v056814; Tue, 29 Oct 2024 19:08:22 GMT (envelope-from git) Date: Tue, 29 Oct 2024 19:08:22 GMT Message-Id: <202410291908.49TJ8M6v056814@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: 72aa3d55e9ff - releng/13.3 - Add UPDATING entries and bump revision List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 72aa3d55e9ff8634edf8a28162470969133ea7ca Auto-Submitted: auto-generated The branch releng/13.3 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=72aa3d55e9ff8634edf8a28162470969133ea7ca commit 72aa3d55e9ff8634edf8a28162470969133ea7ca Author: Ed Maste AuthorDate: 2024-10-29 19:07:08 +0000 Commit: Ed Maste CommitDate: 2024-10-29 19:07:08 +0000 Add UPDATING entries and bump revision SA-24:17.bhyve SA-24:18.ctl SA-24:19.fetch Approved by: so --- UPDATING | 11 +++++++++++ sys/conf/newvers.sh | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 56a2afbd487a..12b35e5409a4 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,17 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20241029: + 13.3-RELEASE-p8 SA-24:17.bhyve + SA-24:18.ctl + SA-24.19.fetch + + Multiple issues in the bhyve hypervisor [SA-24:17.bhyve] + + Unbounded allocation in ctl(4) CAM Target Layer [SA-24:18.ctl] + + Certificate revocation list fetch(1) option fails [SA-24:19.fetch] + 20240919: 13.3-RELEASE-p7 EN-24:16.pf SA-24:15.bhyve diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 6985018b0afe..7ebd439805fa 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="13.3" -BRANCH="RELEASE-p7" +BRANCH="RELEASE-p8" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Tue Oct 29 19:11:57 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKcs4xBqz5bpF1; Tue, 29 Oct 2024 19:11: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKcs4VSLz4DXg; Tue, 29 Oct 2024 19:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730229117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5gFyGF+F3aHsiBwgZf+JjF0Uo3QQ0oRBzDD0O60Mi6s=; b=CkdDwrA6HXGoTfjeOtcH7WnCppavw653zQKa1bVqcy1884c3CbFHeiK+B5MrVTzy0LygwR yCuyVsyYRzt2KU9xlnJm/4J5UAbV4nNv7in/U1DkYit9lWanZKM/bTT5juJzE0OS55gimi WeTDcBSpVpwqwNCPHGv4OdLyCRmVSXRzZ6x7eX7Plxs1r/WPxFiN7LAy7Vf1rloMGaNi4v I6WL6x9zJ1f6totPV0cdbh7+65mjxgOIocL52qxT8USQg0xnQuKui5DylHmuWFFhpLzGBl skMavSI09wag7FxIKT0oqTIS8Gdy/Lri6yGweymPO7UCGOevA2RSIlJclzMBeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730229117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5gFyGF+F3aHsiBwgZf+JjF0Uo3QQ0oRBzDD0O60Mi6s=; b=wEREoSaOsOrnp1VSwAP80DTree6CRLrvUL7mQONcLcqxrtss3JVzYTz1wjzASXcpV14q88 R94B98M9Hze1xJx7kcShw9rZT6pnS0GpxUlXifIPXf0im5nHRQfA/n21eAGUBW+XlBZSnB 1F9ul9KLybW1ojlm1I8/8xAUlXokJSeMuEi0zChFWjkgzBkGwNLO+HGtf+PsiqqqrmvrGj k8Y1rqOe1/Tg4gLv1K7SYonforE4tqgYwdiRGifDMnfDRuO0wSqfyEu/QSo5VrWdT/yV0+ slgynVIv1+cTXOVJduLlYL0o9pJ6u0QNs7Fw1OMLqAxeFc/0UjqJXk4gQm6BdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730229117; a=rsa-sha256; cv=none; b=mC8EoMyHxzK2ZjLcgGQIPnHbjg0l7lO/6NXVzQq33LxGLTAWeR0xOdaePLfL3Hj/au9mN/ SMc/nozIMvdWLCHaNONks7ow5r642lLLgq7w9+mQ/RtL32Nxy8LI1zqd1EopVxAoLW4H5V 2hGg0ocYOtHs2SAZ8//YGgbep3yLgn0t2MmvcqiXSvYFjqTViCIkOtRyAwaQmG84f3Up7v 51dv8HM5fAwznHw+IhcxpzLN9QUz9sGPvVS/iEpOxMd5yx/C2Kz7XHbfx86Ox2UCoQVlmU qUDqgAf7+2Zqouce+xVFaBJXE4/hlXwgUxDKfRKIW0OJMcV5MFmF58mCK2Ryrg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKcs45K5zbls; Tue, 29 Oct 2024 19:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TJBvg2070983; Tue, 29 Oct 2024 19:11:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TJBvam070968; Tue, 29 Oct 2024 19:11:57 GMT (envelope-from git) Date: Tue, 29 Oct 2024 19:11:57 GMT Message-Id: <202410291911.49TJBvam070968@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: 4fbd6e0e3ca8 - stable/14 - libc: fix access mode tests in fmemopen(3) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 4fbd6e0e3ca8e69d2d3789ecda6e4dd76c34e06a Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4fbd6e0e3ca8e69d2d3789ecda6e4dd76c34e06a commit 4fbd6e0e3ca8e69d2d3789ecda6e4dd76c34e06a Author: Ed Maste AuthorDate: 2024-10-23 13:41:51 +0000 Commit: Ed Maste CommitDate: 2024-10-29 19:11:38 +0000 libc: fix access mode tests in fmemopen(3) Previously a stream opened as read-only could be written to. Add a test case for the fix. Also correct another incorrect access mode check that worked by accident, and improve the tests for that. PR: 281953 Reported by: Erkki Moorits, fuz Reviewed by: fuz, khng (earlier) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47265 (cherry picked from commit 0953460ce149e6f384aafbcb1e6213dfbf8f6a16) (cherry picked from commit 6b9f7133aba44189d9625c352bc2c2a59baf18ef) --- lib/libc/stdio/fmemopen.c | 10 +++++----- lib/libc/tests/stdio/fmemopen2_test.c | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/lib/libc/stdio/fmemopen.c b/lib/libc/stdio/fmemopen.c index 2f835a34951b..dc323921d93a 100644 --- a/lib/libc/stdio/fmemopen.c +++ b/lib/libc/stdio/fmemopen.c @@ -74,10 +74,9 @@ fmemopen(void * __restrict buf, size_t size, const char * __restrict mode) } /* - * There's no point in requiring an automatically allocated buffer - * in write-only mode. + * An automatically allocated buffer is only allowed in read-write mode. */ - if (!(flags & O_RDWR) && buf == NULL) { + if ((flags & O_ACCMODE) != O_RDWR && buf == NULL) { errno = EINVAL; return (NULL); } @@ -136,9 +135,10 @@ fmemopen(void * __restrict buf, size_t size, const char * __restrict mode) break; } + /* Disable read in O_WRONLY mode, and write in O_RDONLY mode. */ f = funopen(ck, - flags & O_WRONLY ? NULL : fmemopen_read, - flags & O_RDONLY ? NULL : fmemopen_write, + (flags & O_ACCMODE) == O_WRONLY ? NULL : fmemopen_read, + (flags & O_ACCMODE) == O_RDONLY ? NULL : fmemopen_write, fmemopen_seek, fmemopen_close); if (f == NULL) { diff --git a/lib/libc/tests/stdio/fmemopen2_test.c b/lib/libc/tests/stdio/fmemopen2_test.c index 2e1b9ea917a5..a558ff3515e9 100644 --- a/lib/libc/tests/stdio/fmemopen2_test.c +++ b/lib/libc/tests/stdio/fmemopen2_test.c @@ -132,9 +132,11 @@ ATF_TC_BODY(test_autoalloc, tc) /* Open a FILE * using a wrong mode */ fp = fmemopen(NULL, 512, "r"); ATF_REQUIRE(fp == NULL); + ATF_REQUIRE(errno == EINVAL); fp = fmemopen(NULL, 512, "w"); ATF_REQUIRE(fp == NULL); + ATF_REQUIRE(errno == EINVAL); } ATF_TC_WITHOUT_HEAD(test_data_length); @@ -271,6 +273,36 @@ ATF_TC_BODY(test_size_0, tc) ATF_REQUIRE(errno == EINVAL); } +/* + * PR281953 - ensure we cannot write in read-only only mode, and cannot read in + * write-only mode. + */ +ATF_TC_WITHOUT_HEAD(test_rdonly_wronly); +ATF_TC_BODY(test_rdonly_wronly, tc) +{ + FILE *fp; + char buf[16]; + char buf_orig[16] = "input data"; + char buf_write[16] = "write"; + size_t sz; + + memcpy(buf, buf_orig, sizeof(buf)); + fp = fmemopen(buf, sizeof(buf), "r"); + ATF_REQUIRE(fp != NULL); + sz = fwrite(buf_write, 1, strlen(buf_write), fp); + ATF_REQUIRE(sz == 0); + ATF_REQUIRE(errno == EBADF); + ATF_REQUIRE(memcmp(buf, buf_orig, sizeof(buf)) == 0); + fclose(fp); + + fp = fmemopen(buf_orig, sizeof(buf), "w"); + ATF_REQUIRE(fp != NULL); + sz = fread(buf, sizeof(buf), 1, fp); + ATF_REQUIRE(sz == 0); + ATF_REQUIRE(errno == EBADF); + fclose(fp); +} + ATF_TP_ADD_TCS(tp) { @@ -280,6 +312,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, test_binary); ATF_TP_ADD_TC(tp, test_append_binary_pos); ATF_TP_ADD_TC(tp, test_size_0); + ATF_TP_ADD_TC(tp, test_rdonly_wronly); return (atf_no_error()); } From nobody Tue Oct 29 19:13:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKf54VSZz5bpKm; Tue, 29 Oct 2024 19:13: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKf52cPbz4F75; Tue, 29 Oct 2024 19:13:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730229181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lbEFEpHLR3mpzdGFfIoBhIP/EdISrooUG+zSPIeH9JY=; b=YbQLX4X5VR6fE4DctKECF9yYR2tughnf66wR8TKzaeBm/3//ebdtJknF/6zCv1muyTq8Cf 9ebFrF5UISRVFWaGCDIHqtGZPNbMdr+4fdCyB3KywWmwC67xfHwbGC1pLWDU9Kkv68oiCF J7lVFsiNzPII1yjQ6ItGkp49YRe3Gtr0wourLOul/RI5jcu5cU4ENPNh9lU4tDfLlxEBWn ESQCZRcDTuudxwRxbseFE/mViuJ8MUIZ8599vgWUFL+81S879Mq1xPcd74OWj1SIcetZo4 wsQRyXC4wc/BdjkF3FlYzpDEmOxHmaxRnI/Sql2RP/alZIvjer+6OWYJg7zWDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730229181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lbEFEpHLR3mpzdGFfIoBhIP/EdISrooUG+zSPIeH9JY=; b=HA7KTU7LsO/1J5vsN8Q4yexHClVjltpZFkrrDT7tb8UOn2fXS+n+j0/L3XJ9fMlTK4MynQ B0GPk8kvn3mFs0Nj1e7h0Mq11Uv1vz15ZAa46ldjRoKQoPVu2eF3AVlKlGCz8G+Aa4o7DK qs/semw8fyf82uoyCl4n9n5LPGuFw+ye5LzCN2VOhZ6XFvOYwO+uuoH+Tltn5P+vY5tJhn dLwR0I1I6E9TzGZKniYCsPq651ikZKHLxh5sfqqJhkoALOeKOyTfL1+x2gZ8/6HXHFYhog UKuGh1UrF/yWUbk6QJQGlyF2vxh5qpISQ+9ZFwOwLo1trh2anQiQFLqZPMpRhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730229181; a=rsa-sha256; cv=none; b=SvmQ26cTnNLMN11XOd8zip9J2kudM5mAofxOALTVr9LFPezrH2QUdGZA78EjWjvNiWJRrB fRaLitszoKnqpXokcRiiDDxFreZDrs5hZjqRy/iDtgni/HHhYL5TGx3fBnnboB37dwkACg 3K8cg37cClynL49ViE6HDZd0F+TGbdFNqGPbCHLIVhYAIiHnx2PwN0uw4Jzm+Z1zHfcswa +JBjJS8XUWKPoB1YftkXMhudvo1HSms2zfr5UF7c03/wy1rg+VT5vDj0U8Bq59HeaMHPPh RnJ/hsUOoVqWRU/G/INW+4hVhFdu5wyKokJ5V9XPiin+jgOyICps0+mEXsJk+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 4XdKf52DRGzc6Q; Tue, 29 Oct 2024 19:13:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TJD1CR074450; Tue, 29 Oct 2024 19:13:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TJD1Dv074447; Tue, 29 Oct 2024 19:13:01 GMT (envelope-from git) Date: Tue, 29 Oct 2024 19:13:01 GMT Message-Id: <202410291913.49TJD1Dv074447@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: 2b9e6e090a13 - stable/13 - libc: fix access mode tests in fmemopen(3) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: 2b9e6e090a13ecba890fc4ad318a46ed23e25bad Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=2b9e6e090a13ecba890fc4ad318a46ed23e25bad commit 2b9e6e090a13ecba890fc4ad318a46ed23e25bad Author: Ed Maste AuthorDate: 2024-10-23 13:41:51 +0000 Commit: Ed Maste CommitDate: 2024-10-29 19:12:17 +0000 libc: fix access mode tests in fmemopen(3) Previously a stream opened as read-only could be written to. Add a test case for the fix. Also correct another incorrect access mode check that worked by accident, and improve the tests for that. PR: 281953 Reported by: Erkki Moorits, fuz Reviewed by: fuz, khng (earlier) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47265 (cherry picked from commit 0953460ce149e6f384aafbcb1e6213dfbf8f6a16) (cherry picked from commit 6b9f7133aba44189d9625c352bc2c2a59baf18ef) (cherry picked from commit 4fbd6e0e3ca8e69d2d3789ecda6e4dd76c34e06a) --- lib/libc/stdio/fmemopen.c | 10 +++++----- lib/libc/tests/stdio/fmemopen2_test.c | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/lib/libc/stdio/fmemopen.c b/lib/libc/stdio/fmemopen.c index 295592ac896f..d6f83722bb6f 100644 --- a/lib/libc/stdio/fmemopen.c +++ b/lib/libc/stdio/fmemopen.c @@ -75,10 +75,9 @@ fmemopen(void * __restrict buf, size_t size, const char * __restrict mode) } /* - * There's no point in requiring an automatically allocated buffer - * in write-only mode. + * An automatically allocated buffer is only allowed in read-write mode. */ - if (!(flags & O_RDWR) && buf == NULL) { + if ((flags & O_ACCMODE) != O_RDWR && buf == NULL) { errno = EINVAL; return (NULL); } @@ -137,9 +136,10 @@ fmemopen(void * __restrict buf, size_t size, const char * __restrict mode) break; } + /* Disable read in O_WRONLY mode, and write in O_RDONLY mode. */ f = funopen(ck, - flags & O_WRONLY ? NULL : fmemopen_read, - flags & O_RDONLY ? NULL : fmemopen_write, + (flags & O_ACCMODE) == O_WRONLY ? NULL : fmemopen_read, + (flags & O_ACCMODE) == O_RDONLY ? NULL : fmemopen_write, fmemopen_seek, fmemopen_close); if (f == NULL) { diff --git a/lib/libc/tests/stdio/fmemopen2_test.c b/lib/libc/tests/stdio/fmemopen2_test.c index d68150d19594..2839ee04bb52 100644 --- a/lib/libc/tests/stdio/fmemopen2_test.c +++ b/lib/libc/tests/stdio/fmemopen2_test.c @@ -133,9 +133,11 @@ ATF_TC_BODY(test_autoalloc, tc) /* Open a FILE * using a wrong mode */ fp = fmemopen(NULL, 512, "r"); ATF_REQUIRE(fp == NULL); + ATF_REQUIRE(errno == EINVAL); fp = fmemopen(NULL, 512, "w"); ATF_REQUIRE(fp == NULL); + ATF_REQUIRE(errno == EINVAL); } ATF_TC_WITHOUT_HEAD(test_data_length); @@ -272,6 +274,36 @@ ATF_TC_BODY(test_size_0, tc) ATF_REQUIRE(errno == EINVAL); } +/* + * PR281953 - ensure we cannot write in read-only only mode, and cannot read in + * write-only mode. + */ +ATF_TC_WITHOUT_HEAD(test_rdonly_wronly); +ATF_TC_BODY(test_rdonly_wronly, tc) +{ + FILE *fp; + char buf[16]; + char buf_orig[16] = "input data"; + char buf_write[16] = "write"; + size_t sz; + + memcpy(buf, buf_orig, sizeof(buf)); + fp = fmemopen(buf, sizeof(buf), "r"); + ATF_REQUIRE(fp != NULL); + sz = fwrite(buf_write, 1, strlen(buf_write), fp); + ATF_REQUIRE(sz == 0); + ATF_REQUIRE(errno == EBADF); + ATF_REQUIRE(memcmp(buf, buf_orig, sizeof(buf)) == 0); + fclose(fp); + + fp = fmemopen(buf_orig, sizeof(buf), "w"); + ATF_REQUIRE(fp != NULL); + sz = fread(buf, sizeof(buf), 1, fp); + ATF_REQUIRE(sz == 0); + ATF_REQUIRE(errno == EBADF); + fclose(fp); +} + ATF_TP_ADD_TCS(tp) { @@ -281,6 +313,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, test_binary); ATF_TP_ADD_TC(tp, test_append_binary_pos); ATF_TP_ADD_TC(tp, test_size_0); + ATF_TP_ADD_TC(tp, test_rdonly_wronly); return (atf_no_error()); } From nobody Tue Oct 29 19:28:13 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKzf1pJbz5bq0D; Tue, 29 Oct 2024 19:28: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKzf0SfVz4HKw; Tue, 29 Oct 2024 19:28:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730230094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QSyqg7fN1LVs/XzZTzGe5qXFvRBfv43BNnHvTNE6KF4=; b=XLyF5NgXo70cgA1GlgvKz5t6gPCdavjZV9k9elRpMxt8XMgm5/ttWPoSX6GlynyjdgOTwF 8TbO6Ptl2Yd/CjZeW+TdaYvemxY80KwsuZ1lCGrQlVi33Fl/3eEzVwChxNNaE91Vh3UGrd iE8zz96gdnC0cPLqfAJjTZUMbVXdGnxMPlS2pp1xnQ0/611zNxWqEdKhU25fr9Ikgi/6df LhblsObVePA459dCsq7b9YoJs7Rxe6A75tX+qjjjsRYPHi/sI4NyLXU9ZpwoK6XDjmNMJv UF7SlRgP3AXcLx27POaIFxELFrf+eYferrBjIqJ4c3OeCH5LQRBAhQ3FtVp3jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730230094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QSyqg7fN1LVs/XzZTzGe5qXFvRBfv43BNnHvTNE6KF4=; b=AD3ybU9J7FbTDmbwwZyIHjaxiK2Y+yc8JfnkmDUnDgPIe5rZRHlvx9tlQAJiUeFkA3hou9 fRE1mGh7wVuxjo64WRp7CKrj4X2LTgZOjVz1908y3N59+1BFI2dxkjKQLO0cb1gktayRUw vDBsw5sKRSYxYNV7CFcsPfk21f5wX84ligx+IPPsvzWqUlu8DjZliRnkXepUw27lF/lNMU nfkVrddvSI6hA5fAqEIFsq2rFnVTHbrF6/Kry8xjIRAXsPAJtBK2QULA4ul9E89zfJ4lBB LhVmuuLplvaA1qMMici9i0P5UjJWNO5RIDBVrYx8SdGEC0+0c/IIhT+a5DQtJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730230094; a=rsa-sha256; cv=none; b=mTRD92ng2WoLK6++/xoj4XcwjPqIFqMqgMGRsT1d7FtfgnASbyaI24e0phjaNa9J7Slzy5 gYk5bP0hW1gCaiw9DRdWBNK2K5ROHjyrfnaZdymMPB0hx9DuoEDpDb6/FKzVmtNTPdvkF+ E6KAOyEVjMwSONZaohBVoDF0eeKo6SHh1lVIue9yAaxPJ5cI/kOI2JcMggs7xpwIuBEI8I mDlCuFdzDNolaWiWJB5x1drM8KoIPi7kqX6AHPWPetsqn/uRC7NyUtSPjPNliJNNl2AMz6 FSaSZPhQBZLhqAZTlrQJcUOCPSmc2pulTBtuwzLDlp9cb1TNZuIGMRNm3O+/SQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKzf039xzcXj; Tue, 29 Oct 2024 19:28:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TJSD7t094322; Tue, 29 Oct 2024 19:28:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TJSDcg094319; Tue, 29 Oct 2024 19:28:13 GMT (envelope-from git) Date: Tue, 29 Oct 2024 19:28:13 GMT Message-Id: <202410291928.49TJSDcg094319@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: babfd2e46762 - stable/14 - bhyve: Initialize stack buffer in pci_ahci List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: babfd2e46762cb835fec66945aa60404f247c521 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=babfd2e46762cb835fec66945aa60404f247c521 commit babfd2e46762cb835fec66945aa60404f247c521 Author: Pierre Pronchery AuthorDate: 2024-07-23 14:34:03 +0000 Commit: Ed Maste CommitDate: 2024-10-29 19:19:45 +0000 bhyve: Initialize stack buffer in pci_ahci In the function ahci_handle_dsm_trim, if the call to read_prdt fails, the variable buf[512] is used while it contains uninitialized data. It is easy to make the call to read_prdt fail, for instance if hdr->prdtl == NULL, the function will return without writing anything in buf. In addition, this code could be hardened by checking the value of done before accessing &buf[done]. Reported by: Synacktiv Reviewed by: markj Security: HYP-15 Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46090 (cherry picked from commit 71fa171c6480d60f4d9c01dea1c71a7249e7b8ab) --- usr.sbin/bhyve/pci_ahci.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/pci_ahci.c b/usr.sbin/bhyve/pci_ahci.c index 1eef285a871c..e4c877229425 100644 --- a/usr.sbin/bhyve/pci_ahci.c +++ b/usr.sbin/bhyve/pci_ahci.c @@ -782,7 +782,7 @@ ahci_handle_flush(struct ahci_port *p, int slot, uint8_t *cfis) assert(err == 0); } -static inline void +static inline unsigned int read_prdt(struct ahci_port *p, int slot, uint8_t *cfis, void *buf, unsigned int size) { @@ -809,6 +809,7 @@ read_prdt(struct ahci_port *p, int slot, uint8_t *cfis, void *buf, to += sublen; prdt++; } + return (size - len); } static void @@ -821,6 +822,7 @@ ahci_handle_dsm_trim(struct ahci_port *p, int slot, uint8_t *cfis, uint32_t done uint32_t len, elen; int err, first, ncq; uint8_t buf[512]; + unsigned int written; first = (done == 0); if (cfis[2] == ATA_DATA_SET_MANAGEMENT) { @@ -832,9 +834,12 @@ ahci_handle_dsm_trim(struct ahci_port *p, int slot, uint8_t *cfis, uint32_t done len *= 512; ncq = 1; } - read_prdt(p, slot, cfis, buf, sizeof(buf)); + written = read_prdt(p, slot, cfis, buf, sizeof(buf)); + memset(buf + written, 0, sizeof(buf) - written); next: + if (done >= sizeof(buf) - 8) + return; entry = &buf[done]; elba = ((uint64_t)entry[5] << 40) | ((uint64_t)entry[4] << 32) | From nobody Tue Oct 29 19:28:14 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdKzg1xj2z5bqL8; Tue, 29 Oct 2024 19:28: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdKzg19VGz4H1r; Tue, 29 Oct 2024 19: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=1730230095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gi+6eW5yJYdR+rSv8I0KmQzRRpBeZNDh+YHTxxcrIIQ=; b=d08cQXLYVAw9idwNU3Qg9EVapCPOHOqHdL5/EiqvFePwdd2dlMzGHu1ECiuHQjxI6+nl44 uOadf1a/UELzX1yx42clL8aO4v6cmoBjiJ4nT44q8N/xpIK5okE08ibA3YYg6sBQ9pLuuq 6+r1mPVmYeXBbOZKo8zbxBwFEGkuzgXiofjeHhnme7Qk0fTYrcfGfp/X4jBrXCr7l8UDoA WmGhR77XjXiQkivL7uzpg5iSnFBoMN70hmodaDrp/TYm6+6eGxzk4rBsWFTWHsG2/S2aU0 pvOksWI/yIcQAUl5UCKKleQqirUIfS3kiYzrCCFpNgzeK3MtzmFDGx1qm/gUwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730230095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gi+6eW5yJYdR+rSv8I0KmQzRRpBeZNDh+YHTxxcrIIQ=; b=wjTabWxNu5rR4jn1PDuHleklelYjGiDdLC32vZh3kOWCIjWtdm4bm33CVOjI3S8J410i1o vahycF2qSzkfBhVY6BJe9TZ0LjEWyg/ViE523OplJ/koOrtQdnV15AmOVk8iJ+h1t+S6N6 bWAh3jDEffZuv1kva4kJAUKT1t8lICUJn4ulBKyIVneABDPIIQeLdJb5gilk04fkSR+/F3 yhVFOfJI0LGR6/4bqq1HACR9P3+6TpwdaAgKSR7GlBo/1r89W1ZnuVzfzCaNMHqwiaLdQy hUxeDQSfYe4ubuCV6F1hITZQqKzy2IwRa5+NaNgVge4+dTdHAg4/FXId3sUHjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730230095; a=rsa-sha256; cv=none; b=HX5wZZoknb+B1mgdsA1ultaPmwp6Q4MGgJsmWnTYXPY8j2UktewOHpPaR9umwQTB+sARr0 xy762qGvqf9BAB7LFzfP3c1nAnEEj9iywhf3SS94X/liUw2Sejj1oU6UdsZSWHead0beN6 CMBDVdp4tdEWsHGWJOQkoeMXHaZ5G+dHRxniov+H5TwrCyV0jzRm7AG5b5aE5Kh5RQaejj CW1tBkSvAzP667GoIJoSGc7VD2fLj8kFm5yo5hESfEXzkhbnEbbo8H+e/twK4CCTFpmY2W G9m1BPfwCGHOLeHR1j/wHAxrcfvsFezOyWRfe3KAXa+MucM5V3xwLB1cQcdgFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdKzg0khNzcXk; Tue, 29 Oct 2024 19:28:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TJSEe6094395; Tue, 29 Oct 2024 19:28:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TJSE29094392; Tue, 29 Oct 2024 19:28:14 GMT (envelope-from git) Date: Tue, 29 Oct 2024 19:28:14 GMT Message-Id: <202410291928.49TJSE29094392@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: 3981cf108773 - stable/14 - bhyve ahci: Improve robustness of TRIM handling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 3981cf108773d6b29c8e100bc3b4a105eae681ec Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3981cf108773d6b29c8e100bc3b4a105eae681ec commit 3981cf108773d6b29c8e100bc3b4a105eae681ec Author: John Baldwin AuthorDate: 2024-10-24 14:18:09 +0000 Commit: Ed Maste CommitDate: 2024-10-29 19:19:51 +0000 bhyve ahci: Improve robustness of TRIM handling The previous fix for a stack buffer leak in the ahci device model actually broke the handling of TRIM as one of the checks it added caused TRIM commands to never be completed. This resulted in command timeouts if a guest OS did a 'newfs -E' of an AHCI disk, for example. Also, for the invalid case the previous check was handling, the device model should be failing with an error rather than claiming success. To resolve this, validate the length of a TRIM request and fail with an error if it exceeds the maximum number of supported blocks advertised via IDENTIFY. In addition, if the PRDT does not provide enough data, fail the command with an error rather than performing a partial completion. This is somewhat complicated by the implementation of TRIM in the ahci device model. A single TRIM request can specify multiple LBA ranges. The device model handles this by dispatching blockif_delete() requests one at a time. When a blockif_delete() request completes, the device model locates the TRIM buffer and searches for the next LBA range to handle. Previously, the device model would re-read the trim buffer from guest memory each time. However, this was subject to some unpleasant races if the guest changed the PRDT entries or CFIS while a command was in flight. Instead, read the buffer of trim ranges once and cache it across multipe internal blockif requests. Reviewed by: mav Fixes: 71fa171c6480 bhyve: Initialize stack buffer in pci_ahci Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47224 (cherry picked from commit 8c8ebbb045185396083cd3e4d333fe1851930ee7) --- usr.sbin/bhyve/pci_ahci.c | 145 ++++++++++++++++++++++++++++++---------------- 1 file changed, 95 insertions(+), 50 deletions(-) diff --git a/usr.sbin/bhyve/pci_ahci.c b/usr.sbin/bhyve/pci_ahci.c index e4c877229425..2c55431c0275 100644 --- a/usr.sbin/bhyve/pci_ahci.c +++ b/usr.sbin/bhyve/pci_ahci.c @@ -127,6 +127,7 @@ struct ahci_ioreq { STAILQ_ENTRY(ahci_ioreq) io_flist; TAILQ_ENTRY(ahci_ioreq) io_blist; uint8_t *cfis; + uint8_t *dsm; uint32_t len; uint32_t done; int slot; @@ -214,6 +215,8 @@ struct pci_ahci_softc { }; #define ahci_ctx(sc) ((sc)->asc_pi->pi_vmctx) +static void ahci_handle_next_trim(struct ahci_port *p, int slot, uint8_t *cfis, + uint8_t *buf, uint32_t len, uint32_t done); static void ahci_handle_port(struct ahci_port *p); static inline void lba_to_msf(uint8_t *buf, int lba) @@ -813,18 +816,14 @@ read_prdt(struct ahci_port *p, int slot, uint8_t *cfis, void *buf, } static void -ahci_handle_dsm_trim(struct ahci_port *p, int slot, uint8_t *cfis, uint32_t done) +ahci_handle_dsm_trim(struct ahci_port *p, int slot, uint8_t *cfis) { - struct ahci_ioreq *aior; - struct blockif_req *breq; - uint8_t *entry; - uint64_t elba; - uint32_t len, elen; - int err, first, ncq; - uint8_t buf[512]; - unsigned int written; + uint32_t len; + int ncq; + uint8_t *buf; + unsigned int nread; - first = (done == 0); + buf = NULL; if (cfis[2] == ATA_DATA_SET_MANAGEMENT) { len = (uint16_t)cfis[13] << 8 | cfis[12]; len *= 512; @@ -834,39 +833,84 @@ ahci_handle_dsm_trim(struct ahci_port *p, int slot, uint8_t *cfis, uint32_t done len *= 512; ncq = 1; } - written = read_prdt(p, slot, cfis, buf, sizeof(buf)); - memset(buf + written, 0, sizeof(buf) - written); -next: - if (done >= sizeof(buf) - 8) - return; - entry = &buf[done]; - elba = ((uint64_t)entry[5] << 40) | - ((uint64_t)entry[4] << 32) | - ((uint64_t)entry[3] << 24) | - ((uint64_t)entry[2] << 16) | - ((uint64_t)entry[1] << 8) | - entry[0]; - elen = (uint16_t)entry[7] << 8 | entry[6]; - done += 8; - if (elen == 0) { - if (done >= len) { - if (ncq) { - if (first) - ahci_write_fis_d2h_ncq(p, slot); - ahci_write_fis_sdb(p, slot, cfis, - ATA_S_READY | ATA_S_DSC); - } else { - ahci_write_fis_d2h(p, slot, cfis, - ATA_S_READY | ATA_S_DSC); - } + /* Support for only a single block is advertised via IDENTIFY. */ + if (len > 512) { + goto invalid_command; + } + + buf = malloc(len); + nread = read_prdt(p, slot, cfis, buf, len); + if (nread != len) { + goto invalid_command; + } + ahci_handle_next_trim(p, slot, cfis, buf, len, 0); + return; + +invalid_command: + free(buf); + if (ncq) { + ahci_write_fis_d2h_ncq(p, slot); + ahci_write_fis_sdb(p, slot, cfis, + (ATA_E_ABORT << 8) | ATA_S_READY | ATA_S_ERROR); + } else { + ahci_write_fis_d2h(p, slot, cfis, + (ATA_E_ABORT << 8) | ATA_S_READY | ATA_S_ERROR); + } +} + +static void +ahci_handle_next_trim(struct ahci_port *p, int slot, uint8_t *cfis, + uint8_t *buf, uint32_t len, uint32_t done) +{ + struct ahci_ioreq *aior; + struct blockif_req *breq; + uint8_t *entry; + uint64_t elba; + uint32_t elen; + int err; + bool first, ncq; + + first = (done == 0); + if (cfis[2] == ATA_DATA_SET_MANAGEMENT) { + ncq = false; + } else { /* ATA_SEND_FPDMA_QUEUED */ + ncq = true; + } + + /* Find the next range to TRIM. */ + while (done < len) { + entry = &buf[done]; + elba = ((uint64_t)entry[5] << 40) | + ((uint64_t)entry[4] << 32) | + ((uint64_t)entry[3] << 24) | + ((uint64_t)entry[2] << 16) | + ((uint64_t)entry[1] << 8) | + entry[0]; + elen = (uint16_t)entry[7] << 8 | entry[6]; + done += 8; + if (elen != 0) + break; + } + + /* All remaining ranges were empty. */ + if (done == len) { + free(buf); + if (ncq) { + if (first) + ahci_write_fis_d2h_ncq(p, slot); + ahci_write_fis_sdb(p, slot, cfis, + ATA_S_READY | ATA_S_DSC); + } else { + ahci_write_fis_d2h(p, slot, cfis, + ATA_S_READY | ATA_S_DSC); + } + if (!first) { p->pending &= ~(1 << slot); ahci_check_stopped(p); - if (!first) - ahci_handle_port(p); - return; + ahci_handle_port(p); } - goto next; + return; } /* @@ -879,6 +923,7 @@ next: aior->slot = slot; aior->len = len; aior->done = done; + aior->dsm = buf; aior->more = (len != done); breq = &aior->io_req; @@ -1756,7 +1801,7 @@ ahci_handle_cmd(struct ahci_port *p, int slot, uint8_t *cfis) case ATA_DATA_SET_MANAGEMENT: if (cfis[11] == 0 && cfis[3] == ATA_DSM_TRIM && cfis[13] == 0 && cfis[12] == 1) { - ahci_handle_dsm_trim(p, slot, cfis, 0); + ahci_handle_dsm_trim(p, slot, cfis); break; } ahci_write_fis_d2h(p, slot, cfis, @@ -1766,7 +1811,7 @@ ahci_handle_cmd(struct ahci_port *p, int slot, uint8_t *cfis) if ((cfis[13] & 0x1f) == ATA_SFPDMA_DSM && cfis[17] == 0 && cfis[16] == ATA_DSM_TRIM && cfis[11] == 0 && cfis[3] == 1) { - ahci_handle_dsm_trim(p, slot, cfis, 0); + ahci_handle_dsm_trim(p, slot, cfis); break; } ahci_write_fis_d2h(p, slot, cfis, @@ -1904,12 +1949,12 @@ ata_ioreq_cb(struct blockif_req *br, int err) struct ahci_port *p; struct pci_ahci_softc *sc; uint32_t tfd; - uint8_t *cfis; - int slot, ncq, dsm; + uint8_t *cfis, *dsm; + int slot, ncq; DPRINTF("%s %d", __func__, err); - ncq = dsm = 0; + ncq = 0; aior = br->br_param; p = aior->io_pr; cfis = aior->cfis; @@ -1921,10 +1966,8 @@ ata_ioreq_cb(struct blockif_req *br, int err) cfis[2] == ATA_READ_FPDMA_QUEUED || cfis[2] == ATA_SEND_FPDMA_QUEUED) ncq = 1; - if (cfis[2] == ATA_DATA_SET_MANAGEMENT || - (cfis[2] == ATA_SEND_FPDMA_QUEUED && - (cfis[13] & 0x1f) == ATA_SFPDMA_DSM)) - dsm = 1; + dsm = aior->dsm; + aior->dsm = NULL; pthread_mutex_lock(&sc->mtx); @@ -1942,8 +1985,9 @@ ata_ioreq_cb(struct blockif_req *br, int err) hdr->prdbc = aior->done; if (!err && aior->more) { - if (dsm) - ahci_handle_dsm_trim(p, slot, cfis, aior->done); + if (dsm != NULL) + ahci_handle_next_trim(p, slot, cfis, dsm, + aior->len, aior->done); else ahci_handle_rw(p, slot, cfis, aior->done); goto out; @@ -1965,6 +2009,7 @@ ata_ioreq_cb(struct blockif_req *br, int err) ahci_check_stopped(p); ahci_handle_port(p); + free(dsm); out: pthread_mutex_unlock(&sc->mtx); DPRINTF("%s exit", __func__); From nobody Tue Oct 29 20:36:29 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdMVQ1NVRz5bt4M; Tue, 29 Oct 2024 20:36: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdMVQ0x4fz4Q6g; Tue, 29 Oct 2024 20:36:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730234190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=557Bkuo5eofv9CDStRODzQGot0hc3qb7UvYrfNh0qZQ=; b=pyA/Ar66OArQQhCBQI+1eJDpfBoho8TFZ9aizifYihA+3s4oyXucnbwXFMoEL4GdrWCKIa nu/uJt0FGAy/O2aHG5uUqRGWcgMrMM52ie2RMrMonbofPBp1ihczkLz/RRM4P3bsmULWCk 32LFEfnL2qCNphmRYXhPvPduET/i/pDO7yAi5cC4uMmxPQiRXQ+ISCWsb0YBDKaSUHmb21 nSQ2v82WviPWYBzJ8JR29KqFrpmToNHT5yTQK7umA9VSrSNmG+hiERuqyw9ecnwOkzx13s BAYud0ebScT1stTdGdaozrfmjvealoUA9Y+ZXpc2SaeeMqs/9ZJop7M/205wSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730234190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=557Bkuo5eofv9CDStRODzQGot0hc3qb7UvYrfNh0qZQ=; b=x4aoEAv7+zk/v5E4UHYHV+EmqTSqUzEtfP7C3EdSH7AXLS/4U5no5AYfuF24uv3Hd/Kp9J AVFEBQGezexvgOSgFv+0joT9C7t9y23s3ZqpTRSzY+echedRCOUrio0pnPohBIfWCsF0VB 0MaXRoziUX1gJ6dJ4L6NaKRVu/k6sTvHB/kZSJTfAw/89MbiuccupqUF/pmuB2SHjFUiF8 CBXODaW5aIEpV1/fVlZHBClLRVF90wzBr8LrriXv/yXginX/25Cg6RV138e+tUlPbOAlwP k5t2IMmao0bUNTOdn6g7iL5/5/ei2xP/apCuhF8xTmhFQ4kS7NSFF/lKLtckSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730234190; a=rsa-sha256; cv=none; b=sqNmBoARZUxlEqheqO9mkMTtthXPS4yAhFI++VKxrshQvcE/u+ekJ6i3MgcX27CTHKswLZ fWmE9b5wi36IA32k1lOGBTICU8GfASfMzv5vsBxFK9X/EcZw1Soqd4ElcIeEAuGGpjB6Uj UikoXZR9E8swR5lVO8ugDCsg6YuLGI05HlrQspFDzWnFK/MKiTqpMLB/2TJDI+NSb+VKnk sb2nwkEKdmE2O/OGFf0oLHy7idTuaeYMjvs1eExoaNm0UzAvbZ4PzGsbFNkcqQrD2t8Fkh LK/+UA7hTMnxIItPUAwOfHVi6LnUDWrKkJsT6Q95aoSIcp6KbEBxMjfMfHRljQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdMVQ0N9bzfNh; Tue, 29 Oct 2024 20:36:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TKaT7N022936; Tue, 29 Oct 2024 20:36:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TKaT3t022933; Tue, 29 Oct 2024 20:36:29 GMT (envelope-from git) Date: Tue, 29 Oct 2024 20:36:29 GMT Message-Id: <202410292036.49TKaT3t022933@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: dd72aa6be4ee - stable/14 - style.9: clarify FALLTHROUGH List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: dd72aa6be4eec5d6d6406b00190e5729bba179db Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=dd72aa6be4eec5d6d6406b00190e5729bba179db commit dd72aa6be4eec5d6d6406b00190e5729bba179db Author: Ed Maste AuthorDate: 2024-10-22 16:13:55 +0000 Commit: Ed Maste CommitDate: 2024-10-29 20:33:10 +0000 style.9: clarify FALLTHROUGH FALLTHROUGH is intended for a block of code that cascades to the next case block. Multiple case statements sharing a single block of code do not need a FALLTHROUGH comment. Reviewed by: imp, markj, jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47242 (cherry picked from commit d55d5dd9f7adcffa6a1f2a49956d7fd7d549aba1) --- share/man/man9/style.9 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man9/style.9 b/share/man/man9/style.9 index f00286ba9c48..52292b896add 100644 --- a/share/man/man9/style.9 +++ b/share/man/man9/style.9 @@ -530,7 +530,7 @@ parts of the cascade. Elements in a .Ic switch -statement that cascade should have a +statement that execute some code and then cascade to the next case should have a .Li FALLTHROUGH comment. Numerical arguments should be checked for accuracy. From nobody Tue Oct 29 20:36:31 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdMVR3WYmz5bt6k; Tue, 29 Oct 2024 20:36: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdMVR1jtnz4Q6h; Tue, 29 Oct 2024 20:36:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730234191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Mck1PVDh/+lLdnFdyjXNj6CNmOdFmDz9fNEzEKMcnQ=; b=bHZPvl4FqJqqqe29Td/nW20umI8nEcfs4BObOowZhvYrwgaNgCzigvAnsGsrfAG+1ZTIma Rlkb3xVi0tx6HRD121Zn2BX1J5uAfFquZeaPMFlNqDASoL2aHNCClPz5DIyBka86gNWP3u yXIv9el7yUPZ84wkacoxfwjvraXJck32fhEv8yyOCQIALtP8RHY61Ei3/peba9Rni8bmvQ ncXih2Y2etQ6/JQAvOSdCA/+Seu3c2cFjIju+pTzEWjYf+7CHDzX49T8RknevyFCF22Hhw urL4ChP1/g4+g54fdjH+ucmuXr6IIehzViE51wBsny2ZZIEbYc+uDtJSuUJZWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730234191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Mck1PVDh/+lLdnFdyjXNj6CNmOdFmDz9fNEzEKMcnQ=; b=p9+gZAoyKIFhUCMU93iu7kUW0but2y6YN/Ej3xPb4VUsxEVnwXlMYzjuXWGk9y6ZT4Rljd bW0J685Cu7/VcjPkrUQmbVkMPpGZbgxiFsa4T2W7oGDMt8kWnwoH7BkhMzKIc6DZ7SXcQg KmkXlbe7QZWdupew660zMcq88yeVn4ZyNBfnPgnFS/AWfrgj/ekpCZEpO+/M2MpTj3+5lC 0b5iomjz+FJMA4W97EiE0XfPCy43kzvXNnSJwjdhG9/vZcgHetWUbPsLCiQ6qXoukwvc7d IrBNHbeB1SeQuCnUQdHZw/0GYlPTec17qE046HD8bZcBKluJVn0KW14LszOcug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730234191; a=rsa-sha256; cv=none; b=Z5EyaBWNbNlbmiVjU3Hpj9TGcRDqN+kfVx4AlZO/n8IRtc9P4Yeveow0N0AcssF4SbsTKT M/sv3KdVxT6T1FOEo1jGTr3/zBXSZHzDeAD1utYSoK7clYmCoFERfueBZmLkOqrz0ujl6l YKLeiV/SzSTsgEyIplMDJ3srmIKTeWWG575W/8B8GxVEXpIb6uUVnRLM8kvxzFEkUCoKTf l2aBjkMSDTglk+G4ZXczAVNhqjf1+KtXHxGHE/VOJ+WjAIxkZD+EWEewc/pe7mldedwnfR u9E9cVgy6YjUfPo7nxJXguA/e64Wkzqh3bFHgsVS+l7a6Ew6T8ZRohhtIZb2/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 4XdMVR1L6lzfR0; Tue, 29 Oct 2024 20:36:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TKaVmD022975; Tue, 29 Oct 2024 20:36:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TKaVOw022972; Tue, 29 Oct 2024 20:36:31 GMT (envelope-from git) Date: Tue, 29 Oct 2024 20:36:31 GMT Message-Id: <202410292036.49TKaVOw022972@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: 915d84fbba27 - stable/14 - zstream: avoid absolute symlink List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 915d84fbba276e2ceac64ff42d3baa7da51cba6a Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=915d84fbba276e2ceac64ff42d3baa7da51cba6a commit 915d84fbba276e2ceac64ff42d3baa7da51cba6a Author: Ed Maste AuthorDate: 2024-10-21 17:15:46 +0000 Commit: Ed Maste CommitDate: 2024-10-29 20:33:26 +0000 zstream: avoid absolute symlink PR: 282192 Reported by: wosch Fixes: 44877c8db05b Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47226 (cherry picked from commit 01a5af6a98fc3935b57a5b0616521f46e916caec) --- cddl/usr.bin/zstream/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cddl/usr.bin/zstream/Makefile b/cddl/usr.bin/zstream/Makefile index 4444973b2211..4cd60b3a2f0b 100644 --- a/cddl/usr.bin/zstream/Makefile +++ b/cddl/usr.bin/zstream/Makefile @@ -17,7 +17,7 @@ SRCS= \ zstream_redup.c \ zstream_token.c -SYMLINKS= ${BINDIR}/zstream ${BINDIR}/zstreamdump +SYMLINKS= zstream ${BINDIR}/zstreamdump WARNS?= 2 CFLAGS+= \ From nobody Tue Oct 29 20:36:32 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdMVS3n8nz5btLh; Tue, 29 Oct 2024 20:36: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdMVS33qxz4Q4p; Tue, 29 Oct 2024 20:36:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730234192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I4IfJNxVvOP5rjH6phpeKuaUpqegdnQe0iyr4AYxC/A=; b=D+Gf3L3mqXnwIsAT+3nv5tActYfQfVq4kmBu8Moqx6S1hejLwPmPObLSytrrK7w5v9M4no uiTP4Cy0TLYmnlCjLDMktcri8dWznEZpjd/HjMWw3CGArjuSLkhOg3Z9EDhaNUPEjrnS0O XQkg8YmO/j5JcrNuYVlZDltSLgPdWa+P6nbOh0+BwkLcSD6PeDwe5vFZED/f+hPc6p6R0Q SRbqVd++tyEb/0BSPmdNzmqzXPhb08ON9Nsv7AL/pxzn/XM3usW2NToKGr1sQHrztS5e6F VapHbjARmDN5e9qtwtu7CqB0sghjIrpBmmQjHMF/gIIhO4bcrjYUKaMASU59rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730234192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I4IfJNxVvOP5rjH6phpeKuaUpqegdnQe0iyr4AYxC/A=; b=Yyky9sBGvv0kf32iG0ehbdhmm9VjdmRMZgKKzn2a21WWUvjZ22PqNAKxiiLPSTwxvAlVGG WOMfk/RHwhdri9Ao3YU7Wdtcy1TT2kzhvp8UfCuDVBR5P+7G+Tdm8CwCyW4uHkMFFivsuM hOWYVJafi20eu2pKc5sZmE6XUVHR0e87l2hfzCp8ledPM9hfJLFhG2Z+a+3pCigSiuwJ/j AIfsjDg4ccxcWBXepi0oGCeHiwfHWv3jV1SlS+7fgHpm8TGPC2zcKeA8lX71En7Ei2DCFB tX/pE/sQ5IGi3UmPkDQUJdUTXseM7BBttQvjknucdp93226juhpP1aWm/WdGkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730234192; a=rsa-sha256; cv=none; b=yfZkQEdlwrhoT8aQmXlVWi9DWBU7IjOjLRxasmJunt5kprs/FUiPUdl0NA39Xcmoca9o42 nnLCpmt6MFV9I+tlaDB7kz6WlTQ56pei9HOabTs3xT/Cbu68i1loBLNSrvhH7sJBokUEiz dXQXsrloiRNEaTvNQ19uDCa2ts1qbpTswo4Y3W9TZGHhEjW86nsOrjrFUXSIrFCykFj5Ax ItfvJqV4m9MKGv7wYNR4VdhpPNN35tDlXacxYFJhn3RqwovyFETogfSqv7NfgopX23WzkT C2h2kYXFn3MxDynM5JhZHMLUQLSsYAeT7XZk1VKZm8Bx1Mgg/l/4+m0VrwrY2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdMVS2HYxzf9Q; Tue, 29 Oct 2024 20:36:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TKaWVG023015; Tue, 29 Oct 2024 20:36:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TKaWpU023012; Tue, 29 Oct 2024 20:36:32 GMT (envelope-from git) Date: Tue, 29 Oct 2024 20:36:32 GMT Message-Id: <202410292036.49TKaWpU023012@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: 4a894adc41ba - stable/14 - nfs: trivial typo fix List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 4a894adc41ba2f9aebf57ed7f5d7d5d289c9e8c1 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4a894adc41ba2f9aebf57ed7f5d7d5d289c9e8c1 commit 4a894adc41ba2f9aebf57ed7f5d7d5d289c9e8c1 Author: Ed Maste AuthorDate: 2024-10-08 16:46:47 +0000 Commit: Ed Maste CommitDate: 2024-10-29 20:33:33 +0000 nfs: trivial typo fix via is not an abbreviation and doesn't need a period. (cherry picked from commit 52d895fe63eb22c1265362c54983db6038ebea3c) --- sys/fs/nfsclient/nfs_clvfsops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/fs/nfsclient/nfs_clvfsops.c b/sys/fs/nfsclient/nfs_clvfsops.c index c050eef7d4c3..1cbe8e70867f 100644 --- a/sys/fs/nfsclient/nfs_clvfsops.c +++ b/sys/fs/nfsclient/nfs_clvfsops.c @@ -415,7 +415,7 @@ ncl_fsinfo(struct nfsmount *nmp, struct vnode *vp, struct ucred *cred, } /* - * Mount a remote root fs via. nfs. This depends on the info in the + * Mount a remote root fs via nfs. This depends on the info in the * nfs_diskless structure that has been filled in properly by some primary * bootstrap. * It goes something like this: From nobody Tue Oct 29 21:04:14 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdN6R0FFHz5bvcf; Tue, 29 Oct 2024 21:04: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdN6Q6r3Rz4W06; Tue, 29 Oct 2024 21:04:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730235855; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GAuRNQXrlcksx253HCpgl0tGShv4QEDNgGwbWXMJ+qQ=; b=Uf672I3zHpr7gl7qE/kl2aF5eT1NHpJ0alqT+18UikyU5H1N4Ob121ry9y6noZ0pHRWOV+ mlW5o6ZolQeKXRh9af60B6VJf9TqA+CrYCcl5jNvw9oLfnjGV36uu7xAY/T7AdJ4o2bsGR qmO6+Vn5E0r+G4LGiYF9pMJpZYKAXs16XRkV6Rp5lIrdwEoD9xbUkvk9A05XqAFfSL6xe5 t3k9Qu9ozyRVG0f9AdYQKoWz4oOXMxxNaAugu8cIwKp2RF6IRgucew4WGCOF2ECkF4zI+B /jVzNyEcaHiK7KKjkjDEs0fM1kQg+SWSPMocUdWzPzb92jj3XgllTZAuUduXaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730235855; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GAuRNQXrlcksx253HCpgl0tGShv4QEDNgGwbWXMJ+qQ=; b=DMKbnkuy0Lsuvqj3JH3vJKAypWlOHkKrP69P5Q5ngAwGMeDeIUBkFt0Nw/Mlg9/gCjKeBn Ejf/SEx6GY3s5Bz6/+/gNQZ8xkeqHtBM7NCSxkYGcEHD6LkGcRJgMVvniDpu3qgmGccZeO 97DFI4EZl/LJVh6hJ2XNoYp/7vk5kUtw1GipkBljrmhfPHrUF8IEdg9ktz/qloepiWgXzO 0AL5PY1wKJzomOv/QZEmOiQntu44Hpdj8+eZqzE27r9t9JCSaUuvQaIW3YLqJYPyOEUHMC GY3mlH/+3AlNQ9IMLFnnjXElvJ5SDeTJdUu1x19+kI3DpuLaaMDXsue8oIwmJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730235855; a=rsa-sha256; cv=none; b=d8FnplNTJjBtJrYoM5tFKfortrGTltD4KELavmqZbVkMQh0IU/r6OmSZvedHvzeJeNlTIK 3j9uoMZZLJuoW9ofobyOk2mS/sRfC0yUAcnZyam/Yc4LRkqRzmAPIayFKV6mgv3R7xbzvV BWJBfzN9verQVTi/SE1alBHJZA7jSAZ+hWJang4MAYsi3H2mQIiPR/r4mpIc0eoCgQH2pd Y27qWivyvN5G02okMxLinmN/u2sVYL/UxeAdkY4v8pUU++0FYGGOs9GqeqcswTZREsyW6R 7XVhPgrVWNyjNzM9OW3xMC6OwLL4KS1tCEkhGT4Y3WD+7zx0es4zwyptMrkkkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdN6Q6JX2zfT6; Tue, 29 Oct 2024 21:04:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TL4EA1078926; Tue, 29 Oct 2024 21:04:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TL4EEQ078923; Tue, 29 Oct 2024 21:04:14 GMT (envelope-from git) Date: Tue, 29 Oct 2024 21:04:14 GMT Message-Id: <202410292104.49TL4EEQ078923@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: a1269171d71f - stable/14 - libcxxrt: Add a stub implementation of __cxa_call_terminate List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: a1269171d71f6e03014f13ba52d4e86b6e8782a2 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=a1269171d71f6e03014f13ba52d4e86b6e8782a2 commit a1269171d71f6e03014f13ba52d4e86b6e8782a2 Author: John Baldwin AuthorDate: 2024-08-21 17:37:48 +0000 Commit: Ed Maste CommitDate: 2024-10-29 20:34:21 +0000 libcxxrt: Add a stub implementation of __cxa_call_terminate This function is called by GCC 14 if a destructor invoked during exception unwinding throws an exception. Reviewed by: emaste Obtained from: libcxxrt commit 391a3dcc1054e18c2f0dff4e14d6d79ac95399d7 Differential Revision: https://reviews.freebsd.org/D46004 (cherry picked from commit 297a9e552b9a5adf07d195eae9649b0758f395af) --- contrib/libcxxrt/exception.cc | 13 +++++++++++++ lib/libcxxrt/Version.map | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/contrib/libcxxrt/exception.cc b/contrib/libcxxrt/exception.cc index 35ff997dd445..b56333e979a2 100644 --- a/contrib/libcxxrt/exception.cc +++ b/contrib/libcxxrt/exception.cc @@ -1433,6 +1433,19 @@ extern "C" void __cxa_call_unexpected(void*exception) abort(); } +/** + * ABI function, called when an object destructor exits due to an + * exception during stack unwinding. + * + * This function does not return. + */ +extern "C" void __cxa_call_terminate(void *exception) throw() +{ + std::terminate(); + // Should not be reached. + abort(); +} + /** * ABI function, returns the adjusted pointer to the exception object. */ diff --git a/lib/libcxxrt/Version.map b/lib/libcxxrt/Version.map index a54b6a4daad5..39a54f4868a9 100644 --- a/lib/libcxxrt/Version.map +++ b/lib/libcxxrt/Version.map @@ -287,6 +287,10 @@ CXXABI_1.3.11 { __cxa_init_primary_exception; } CXXABI_1.3.9; +CXXABI_1.3.15 { + __cxa_call_terminate; +} CXXABI_1.3.11; + CXXRT_1.0 { extern "C++" { From nobody Tue Oct 29 21:51:21 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdP8n5zmrz5byy7; Tue, 29 Oct 2024 21:51: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdP8n5Cv0z55vt; Tue, 29 Oct 2024 21:51:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730238681; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w96JnFotI10hqZ+haEbZLguOTAd8Ryz/D5KOO64LDlA=; b=g1DHphnLpik4BBztF4yKH21MjRBvkWBh8X2c7tjUlIqSNllQKAJPmh82+hcWLPxHGP8uSH zXPPMMqa4h2gc+Z2/P8jfCX6NshYhzDMi9wRoPyl4Bya5OLpxRyKn1BTHU8k98IaYrBy7q odYCtAhV7AOmzU65psyiQ8eTOQUaBx5c86BOs/M1Y+2njwdGODGCu48RVbA1w+hUbvXFy/ /RgzPSElNyHzFHMzjOo2KSyXSVibeGzSdsMxfFy1jDFkHUBq4dD1Qq6RNLYf+H67DwgxY8 XUzOAmgzgm7HMUgH2ynaGOtNQ2wvfliVO8g8plQPxLMfPMW+hI/DHxzCuyUECw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730238681; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w96JnFotI10hqZ+haEbZLguOTAd8Ryz/D5KOO64LDlA=; b=J0St5nzF/PiQZLuTbgpT30Wd+X6S6nkvQU9aw/I/iFztO6U/EdkofKGqYsyxk1W+LXFoYE +yZPpFuC1ZuIKLvP7kPc+4I/XP5xebRWyCE5JHnWY1BVxkGcLe2ClYq/fFXa2KIlbr0Zj9 baLiT3ZTzvbpfQ4roTQyOP1O7MAxVlT8AsRIMw0ukqtsHs33E9NgczW2ffPBhJw685W19j lUnv4xc+JRlQX8osofPtvc7jsQO+I+AcWhMxk0UTyANoNScWiwt3+CEGJ43wfa99zqUqaE 3B3OBuyqW3bRADqS4UHtM13eaxNMXpHHTTquRiBsKzLYsDL0yNQXquEl7GD3Ag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730238681; a=rsa-sha256; cv=none; b=o4VYZiGJdlaQvroheo9SXt4pXRjJjboT19iT8AlAZPDWqEuYroTm0UTk2fTL2vz214SMpz 6RsBgP0psdlM9TULQclfo7JCRcEBpMtNk+00g59sTJ7tLUXkXDwutl9oqxvnHuUpNujgy0 j1/nc/HfpOagQA6m8EnqAw65pStAB03eN/MsCUnQw+nt5L98qoaNPl5P+m6bf75eLNjqpD QoE8lUC1gP+5TcVAhgSJOA/JOCJlOEkfCZKS4hjsqZSMNtpl4000hpTk1TEUPKuzbq0djM 6sl/8UO03KX4QkvMBW35cZe1mALznH9dCSHw/LqFMkIY3Tt9bg/4bVE6gfNcGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdP8n4pz9zgsH; Tue, 29 Oct 2024 21:51:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TLpLNN066209; Tue, 29 Oct 2024 21:51:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TLpLHA066206; Tue, 29 Oct 2024 21:51:21 GMT (envelope-from git) Date: Tue, 29 Oct 2024 21:51:21 GMT Message-Id: <202410292151.49TLpLHA066206@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: b426202aaf76 - stable/14 - Fix gcc uninitialized warning in FreeBSD zio_crypt.c List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: b426202aaf76c0f815db60dc5aa392ac0625b4f6 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=b426202aaf76c0f815db60dc5aa392ac0625b4f6 commit b426202aaf76c0f815db60dc5aa392ac0625b4f6 Author: Dimitry Andric AuthorDate: 2024-10-25 12:51:05 +0000 Commit: Dimitry Andric CommitDate: 2024-10-29 21:49:16 +0000 Fix gcc uninitialized warning in FreeBSD zio_crypt.c With gcc we are seeing the following -Werror warning: In file included from /workspace/src/sys/contrib/openzfs/include/os/freebsd/spl/sys/sunddi.h:28, from /workspace/src/sys/contrib/openzfs/include/sys/zfs_context.h:69: In function 'zfs_uio_init', inlined from 'zio_do_crypt_data' at /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c:1690:2: /workspace/src/sys/contrib/openzfs/include/os/freebsd/spl/sys/uio.h:102:45: error: 'puio_s.uio_offset' is used uninitialized [-Werror=uninitialized] 102 | zfs_uio_soffset(uio) = uio_s->uio_offset; | ~~~~~^~~~~~~~~~~~ /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c: In function 'zio_do_crypt_data': /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c:1683:20: note: 'puio_s' declared here 1683 | struct uio puio_s, cuio_s; | ^~~~~~ In function 'zfs_uio_init', inlined from 'zio_do_crypt_data' at /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c:1691:2: /workspace/src/sys/contrib/openzfs/include/os/freebsd/spl/sys/uio.h:102:45: error: 'cuio_s.uio_offset' is used uninitialized [-Werror=uninitialized] 102 | zfs_uio_soffset(uio) = uio_s->uio_offset; | ~~~~~^~~~~~~~~~~~ /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c: In function 'zio_do_crypt_data': /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c:1683:28: note: 'cuio_s' declared here 1683 | struct uio puio_s, cuio_s; | ^~~~~~ Indeed, `zfs_uio_init()` does: static __inline void zfs_uio_init(zfs_uio_t *uio, struct uio *uio_s) { memset(uio, 0, sizeof (zfs_uio_t)); if (uio_s != NULL) { GET_UIO_STRUCT(uio) = uio_s; zfs_uio_soffset(uio) = uio_s->uio_offset; } } while the code in `zio_crypt.c` has: /* * Primary encryption / decryption entrypoint for zio data. */ int zio_do_crypt_data(boolean_t encrypt, zio_crypt_key_t *key, dmu_object_type_t ot, boolean_t byteswap, uint8_t *salt, uint8_t *iv, uint8_t *mac, uint_t datalen, uint8_t *plainbuf, uint8_t *cipherbuf, boolean_t *no_crypt) { int ret; boolean_t locked = B_FALSE; uint64_t crypt = key->zk_crypt; uint_t keydata_len = zio_crypt_table[crypt].ci_keylen; uint_t enc_len, auth_len; zfs_uio_t puio, cuio; struct uio puio_s, cuio_s; uint8_t enc_keydata[MASTER_KEY_MAX_LEN]; crypto_key_t tmp_ckey, *ckey = NULL; freebsd_crypt_session_t *tmpl = NULL; uint8_t *authbuf = NULL; zfs_uio_init(&puio, &puio_s); zfs_uio_init(&cuio, &cuio_s); memset(GET_UIO_STRUCT(&puio), 0, sizeof (struct uio)); memset(GET_UIO_STRUCT(&cuio), 0, sizeof (struct uio)); So between the declaration of `puio_s` and `cuio_s`, there is no initialization of these variables before `zfs_uio_init()` gets called. Similar to the Linux variant of zio_crypt.c, I think it would be better to memset the structs `puio_s` and `cuis_s` _before_ calling `zfs_uio_init()`. Reviewed by: tsoome MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D47281 (cherry picked from commit 3ceba58a7509418b47b8fca2d2b6bbf088714e26) --- sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c index b08916b317f8..ebf18aaa3403 100644 --- a/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c +++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c @@ -1692,11 +1692,10 @@ zio_do_crypt_data(boolean_t encrypt, zio_crypt_key_t *key, freebsd_crypt_session_t *tmpl = NULL; uint8_t *authbuf = NULL; - + memset(&puio_s, 0, sizeof (puio_s)); + memset(&cuio_s, 0, sizeof (cuio_s)); zfs_uio_init(&puio, &puio_s); zfs_uio_init(&cuio, &cuio_s); - memset(GET_UIO_STRUCT(&puio), 0, sizeof (struct uio)); - memset(GET_UIO_STRUCT(&cuio), 0, sizeof (struct uio)); #ifdef FCRYPTO_DEBUG printf("%s(%s, %p, %p, %d, %p, %p, %u, %s, %p, %p, %p)\n", From nobody Tue Oct 29 21:52:28 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdPB44Wfyz5bywH; Tue, 29 Oct 2024 21:52: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdPB444D8z56PT; Tue, 29 Oct 2024 21:52:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730238748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H4dTky6q7n53OCOHEeKMJfdVDfS1umj1jRWEy7mbOmw=; b=o0byS4bMzJ+wMD82N7QknlAvM2jfM4LoLTADd+C9q1DHyc+UZSxIeJX60deWTTfWlJH48a cC8DDZIng9X5eW9Ri/hbHoywTyO5SKgjhysst+ur++FWIWwqJqRaRknbjC8wmfRixP0QQj NKzmaevQ07gNLsHpAsqSKvXbHScZZxsq6B7K/kbjN3UmkAmTrxaW2ZJsP9q0QYW94oISl1 6OCVYL1+NcmZ7RVOK9H4FKiGBKl9nUvDY04kGVXqlL12NzsT41WYSRYh3xCcbYsJaLKkG6 zniejeuZqNEM7dHgMhfJD5Gz9gRrjxotlkdTp3Fqx0nhiTvicDXgng+MeQHXCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730238748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H4dTky6q7n53OCOHEeKMJfdVDfS1umj1jRWEy7mbOmw=; b=cjREyriCNxqfuMH/ZIpwv+fbXwzadm74n6vP5Fl/SBARgGD+Ix8wqIiame4x4A74afONjG j5/cqiOLMGSz5U0c72nvD50p7sHAc4rP9vrLAsU5M8HVU2k07Wf7934bI+eHMj59VJB267 5G1gWNH9++aUOLOUG8usQVtVta2rgpOAQCaUck6Rz1O+ak7rMKLJr0o9r/IFT7LVmdyEBU 5d89r1F3z8oDa26G+hymTTKfP7IxJv/2AQOToMOaSJMjDnmtm8Zg/WDA8pdpm5O9G38abz U7AYUL0N0LsWV+H91TFhebnLI7W/zOsyGduE5me+rYwwwupCAd39l+FlQO6GXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730238748; a=rsa-sha256; cv=none; b=L0Gz96DorMC9DpmYQkyP1cKsEhOfd2HIwjravngkMJSWML8xjrxElD9iDeJlLvgSMZZrxS Pcwn6LhvKDtIdlOF80bwMlUL1xQ/yhGMtT6PF42leh972IiBupJOOM+9Aq5VcuL5XR93Q1 9H//BtDu3CECxyCWpUVjYbSKM4eAMkdMR1RTscO2jenRaATsoLYGrJCKJ5O9Ye/Brw0G0+ mu5ew6yBp7mmj4jNYlvo2RuwiSrHMLXsLRWfURTXmP9d70aOZEj2sVe2oAz96gsTreqIn8 /miWRCwfo1IZGPyROsBIjI+xOe1PlH5y25uXAdqxagHj4VUbkCgZGO7N+bgsqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdPB43gpzzgsc; Tue, 29 Oct 2024 21:52:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TLqSuu070131; Tue, 29 Oct 2024 21:52:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TLqSX2070128; Tue, 29 Oct 2024 21:52:28 GMT (envelope-from git) Date: Tue, 29 Oct 2024 21:52:28 GMT Message-Id: <202410292152.49TLqSX2070128@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: 4f55232d2d32 - stable/13 - Fix gcc uninitialized warning in FreeBSD zio_crypt.c List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: 4f55232d2d326cedd1108ead0cecec2442c4feaa Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=4f55232d2d326cedd1108ead0cecec2442c4feaa commit 4f55232d2d326cedd1108ead0cecec2442c4feaa Author: Dimitry Andric AuthorDate: 2024-10-25 12:51:05 +0000 Commit: Dimitry Andric CommitDate: 2024-10-29 21:52:14 +0000 Fix gcc uninitialized warning in FreeBSD zio_crypt.c With gcc we are seeing the following -Werror warning: In file included from /workspace/src/sys/contrib/openzfs/include/os/freebsd/spl/sys/sunddi.h:28, from /workspace/src/sys/contrib/openzfs/include/sys/zfs_context.h:69: In function 'zfs_uio_init', inlined from 'zio_do_crypt_data' at /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c:1690:2: /workspace/src/sys/contrib/openzfs/include/os/freebsd/spl/sys/uio.h:102:45: error: 'puio_s.uio_offset' is used uninitialized [-Werror=uninitialized] 102 | zfs_uio_soffset(uio) = uio_s->uio_offset; | ~~~~~^~~~~~~~~~~~ /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c: In function 'zio_do_crypt_data': /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c:1683:20: note: 'puio_s' declared here 1683 | struct uio puio_s, cuio_s; | ^~~~~~ In function 'zfs_uio_init', inlined from 'zio_do_crypt_data' at /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c:1691:2: /workspace/src/sys/contrib/openzfs/include/os/freebsd/spl/sys/uio.h:102:45: error: 'cuio_s.uio_offset' is used uninitialized [-Werror=uninitialized] 102 | zfs_uio_soffset(uio) = uio_s->uio_offset; | ~~~~~^~~~~~~~~~~~ /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c: In function 'zio_do_crypt_data': /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c:1683:28: note: 'cuio_s' declared here 1683 | struct uio puio_s, cuio_s; | ^~~~~~ Indeed, `zfs_uio_init()` does: static __inline void zfs_uio_init(zfs_uio_t *uio, struct uio *uio_s) { memset(uio, 0, sizeof (zfs_uio_t)); if (uio_s != NULL) { GET_UIO_STRUCT(uio) = uio_s; zfs_uio_soffset(uio) = uio_s->uio_offset; } } while the code in `zio_crypt.c` has: /* * Primary encryption / decryption entrypoint for zio data. */ int zio_do_crypt_data(boolean_t encrypt, zio_crypt_key_t *key, dmu_object_type_t ot, boolean_t byteswap, uint8_t *salt, uint8_t *iv, uint8_t *mac, uint_t datalen, uint8_t *plainbuf, uint8_t *cipherbuf, boolean_t *no_crypt) { int ret; boolean_t locked = B_FALSE; uint64_t crypt = key->zk_crypt; uint_t keydata_len = zio_crypt_table[crypt].ci_keylen; uint_t enc_len, auth_len; zfs_uio_t puio, cuio; struct uio puio_s, cuio_s; uint8_t enc_keydata[MASTER_KEY_MAX_LEN]; crypto_key_t tmp_ckey, *ckey = NULL; freebsd_crypt_session_t *tmpl = NULL; uint8_t *authbuf = NULL; zfs_uio_init(&puio, &puio_s); zfs_uio_init(&cuio, &cuio_s); memset(GET_UIO_STRUCT(&puio), 0, sizeof (struct uio)); memset(GET_UIO_STRUCT(&cuio), 0, sizeof (struct uio)); So between the declaration of `puio_s` and `cuio_s`, there is no initialization of these variables before `zfs_uio_init()` gets called. Similar to the Linux variant of zio_crypt.c, I think it would be better to memset the structs `puio_s` and `cuis_s` _before_ calling `zfs_uio_init()`. Reviewed by: tsoome MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D47281 (cherry picked from commit 3ceba58a7509418b47b8fca2d2b6bbf088714e26) --- sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c index 9e0ab52a2ea2..9e3181db5af9 100644 --- a/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c +++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c @@ -1692,11 +1692,10 @@ zio_do_crypt_data(boolean_t encrypt, zio_crypt_key_t *key, freebsd_crypt_session_t *tmpl = NULL; uint8_t *authbuf = NULL; - + bzero(&puio_s, sizeof (puio_s)); + bzero(&cuio_s, sizeof (cuio_s)); zfs_uio_init(&puio, &puio_s); zfs_uio_init(&cuio, &cuio_s); - bzero(GET_UIO_STRUCT(&puio), sizeof (struct uio)); - bzero(GET_UIO_STRUCT(&cuio), sizeof (struct uio)); #ifdef FCRYPTO_DEBUG printf("%s(%s, %p, %p, %d, %p, %p, %u, %s, %p, %p, %p)\n", From nobody Tue Oct 29 22:17:49 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdPlL2PVmz5c1sr; Tue, 29 Oct 2024 22:17: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdPlL1ql7z59HH; Tue, 29 Oct 2024 22:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730240270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vwrwUpKYNhYBb9DaT1m/fF+jBfLqOiYP37iFRgQ6cNM=; b=SH26M9x88ub+bKcPFbeAc8jMvzVTI4dOUMnLbMz2sWm5gjECQGNXhpsxwlbnaR+CGtJRMx BZLWM95Ix7uAQ7ArVHrXl0emz5RWMtnCCqH3x2YUHx6axDpH50Tp7FcVKAGPwV/mzmL8PA cRNeglEdqupuzj/JC3L90g8OQHQ1VZ+fHogzFUQHqg+HlKzu90TzcVdyBLhONxoRvlncek iMB5CmIV4JSmWcHKVZJ3QjWbJ8UIe3W1OKx2fzEfXZ9/k8md5Jp5/8BwHv5QaGA5KtlB2k AMTEkeoTAal8wG+RNcpma/73jOrA5ukxPC7yBF6ooWPpyCCevQSD3ELIZe2uhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730240270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vwrwUpKYNhYBb9DaT1m/fF+jBfLqOiYP37iFRgQ6cNM=; b=LBJOb2QYTtG8PcY6HI/wRq4tSz96XULbMq+dFM1l2kN2ilCeDS91vgIU1vrO08MJNxp7bH Yz9whZzLy0wrRe+4mBfzB2GFQRUZpZOxdIjODleIQxLHIhM8MAUEJZg81phuQWQggV5X2i 4kgQYbzLdNH3Ql4BScdsnruLH+XitaEh8WPzy6bSdQ1LjsQbM5Ea9zuhAGQyMCx5DpetFO PLOgrErKc3Yr1k7xcHAnnybQBgOwMrgavNe5lXNnXMYx5wj28tcVdm7bK25aiZ3YangOAU HeXSQCQVwkwsKi/nkTkm0NUMnJyz3z0Licym1FABFLXlEqPOPoAYMTni0leN1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730240270; a=rsa-sha256; cv=none; b=m8L0TvrbeIZ+NOEpF6PzbAM7n1w1/d6JriIMC9QjqKaTDZgXYjmeMaMJByLcYn+iycs14u SCkUXjDkiwP1fsjMTP446nvjfEgI9065wqul+MJldw2m+qd+ZX5rSsE35t3K6SgtCtUKAZ uwPYfvdWNUMJriAryovWe5eiHo/TwgW4Up5VDcdtbh46HvZ5elwEuH8PH52fkXSx0qAZsL 0YZkr8/MqPZQ5pePoA5pABk0RXMX5bwlQ3mjKYMuNLUYk7CiiSCv5EUKU4wXXwjN1kZiD+ uO/bhcXOIaJ0DwrFdErmWOqS+IsGz2r/i+3zXZdLrSKArWSqcqXx9a7BM8mSTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdPlL0jygzhKD; Tue, 29 Oct 2024 22:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49TMHo7g009618; Tue, 29 Oct 2024 22:17:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49TMHnKF009615; Tue, 29 Oct 2024 22:17:49 GMT (envelope-from git) Date: Tue, 29 Oct 2024 22:17:49 GMT Message-Id: <202410292217.49TMHnKF009615@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: 17a7ea7e3e39 - stable/14 - libcxxrt: Update to upstream 698997bfde1f List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 17a7ea7e3e39cdfb1b367b27c7b38fb0ea6c0806 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=17a7ea7e3e39cdfb1b367b27c7b38fb0ea6c0806 commit 17a7ea7e3e39cdfb1b367b27c7b38fb0ea6c0806 Author: Ed Maste AuthorDate: 2024-10-22 23:40:09 +0000 Commit: Ed Maste CommitDate: 2024-10-29 22:17:05 +0000 libcxxrt: Update to upstream 698997bfde1f Interesting fixes: 045c52c Mark __cxa_allocate_exception, __cxa_free_exception and __cxa_init_primary_exception noexcept. 8a2f123 Define _LIBCXXRT_NOEXCEPT in cxxabi.h and use it instead of throw() 9529236 Fix memory corruption in cpp_demangle_read_sname() 8f5c74e Add test cases, fix more bugs, and improve perf 391a3dc Add a simple implementation of __cxa_call_terminate 40e4fa2 mark std::terminate as noreturn and noexcept 5eede09 Print diagnostics in default std::terminate handler Reviewed by: dim Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47238 (cherry picked from commit 13da1af1cd677b7901d3bf4b9dbe3290b94130d5) --- contrib/libcxxrt/atomic.h | 2 +- contrib/libcxxrt/cxxabi.h | 17 +++- contrib/libcxxrt/exception.cc | 174 ++++++++++++++++++----------------- contrib/libcxxrt/libelftc_dem_gnu3.c | 92 +++++++++--------- contrib/libcxxrt/memory.cc | 14 ++- contrib/libcxxrt/noexception.cc | 4 +- contrib/libcxxrt/stdexcept.cc | 40 ++++---- contrib/libcxxrt/stdexcept.h | 42 +++++---- 8 files changed, 196 insertions(+), 189 deletions(-) diff --git a/contrib/libcxxrt/atomic.h b/contrib/libcxxrt/atomic.h index 701d05337cf1..0768c08038df 100644 --- a/contrib/libcxxrt/atomic.h +++ b/contrib/libcxxrt/atomic.h @@ -56,7 +56,7 @@ namespace /** * Constructor, takes a value. */ - atomic(T init) : val(init) {} + constexpr atomic(T init) : val(init) {} /** * Atomically load with the specified memory order. diff --git a/contrib/libcxxrt/cxxabi.h b/contrib/libcxxrt/cxxabi.h index ef4076a08a0a..2bf7f99b5245 100644 --- a/contrib/libcxxrt/cxxabi.h +++ b/contrib/libcxxrt/cxxabi.h @@ -41,8 +41,15 @@ namespace std */ #ifdef __cplusplus +#if __cplusplus < 201103L +#define _LIBCXXRT_NOEXCEPT throw() +#else +#define _LIBCXXRT_NOEXCEPT noexcept +#endif namespace __cxxabiv1 { extern "C" { +#else +#define _LIBCXXRT_NOEXCEPT #endif /** * Function type to call when an unexpected exception is encountered. @@ -76,7 +83,7 @@ typedef void (*terminate_handler)(); */ struct __cxa_exception { -#if __LP64__ +#ifdef __LP64__ /** * Now _Unwind_Exception is marked with __attribute__((aligned)), which * implies __cxa_exception is also aligned. Insert padding in the @@ -154,7 +161,7 @@ struct __cxa_exception * need to adjust the thrown pointer to make it all work correctly. */ void *adjustedPtr; -#if !__LP64__ +#ifndef __LP64__ /** * Reference count. Used to support the C++11 exception_ptr class. This * is prepended to the structure in 64-bit mode and squeezed in to the @@ -204,12 +211,12 @@ __cxa_eh_globals *__cxa_get_globals_fast(void); std::type_info * __cxa_current_exception_type(); -void *__cxa_allocate_exception(size_t thrown_size) throw(); +void *__cxa_allocate_exception(size_t thrown_size) _LIBCXXRT_NOEXCEPT; -void __cxa_free_exception(void* thrown_exception) throw(); +void __cxa_free_exception(void* thrown_exception) _LIBCXXRT_NOEXCEPT; __cxa_exception *__cxa_init_primary_exception( - void *object, std::type_info* tinfo, void (*dest)(void *)) throw(); + void *object, std::type_info* tinfo, void (*dest)(void *)) _LIBCXXRT_NOEXCEPT; /** * Throws an exception returned by __cxa_current_primary_exception(). This diff --git a/contrib/libcxxrt/exception.cc b/contrib/libcxxrt/exception.cc index b56333e979a2..c87fe5ac4468 100644 --- a/contrib/libcxxrt/exception.cc +++ b/contrib/libcxxrt/exception.cc @@ -121,7 +121,7 @@ static inline _Unwind_Reason_Code continueUnwinding(struct _Unwind_Exception *ex } -extern "C" void __cxa_free_exception(void *thrown_exception) throw(); +extern "C" void __cxa_free_exception(void *thrown_exception) _LIBCXXRT_NOEXCEPT; extern "C" void __cxa_free_dependent_exception(void *thrown_exception); extern "C" void* __dynamic_cast(const void *sub, const __class_type_info *src, @@ -198,7 +198,7 @@ struct __cxa_thread_info */ struct __cxa_dependent_exception { -#if __LP64__ +#ifdef __LP64__ void *reserve; void *primaryException; #endif @@ -217,7 +217,7 @@ struct __cxa_dependent_exception const char *languageSpecificData; void *catchTemp; void *adjustedPtr; -#if !__LP64__ +#ifndef __LP64__ void *primaryException; #endif _Unwind_Exception unwindHeader; @@ -241,8 +241,8 @@ namespace std class exception { public: - virtual ~exception() throw(); - virtual const char* what() const throw(); + virtual ~exception() _LIBCXXRT_NOEXCEPT; + virtual const char* what() const _LIBCXXRT_NOEXCEPT; }; } @@ -296,15 +296,80 @@ namespace std { // Forward declaration of standard library terminate() function used to // abort execution. - void terminate(void); + [[noreturn]] void terminate(void) _LIBCXXRT_NOEXCEPT; } using namespace ABI_NAMESPACE; +#ifdef LIBCXXRT_NO_DEFAULT_TERMINATE_DIAGNOSTICS +/** The global termination handler. */ +static atomic terminateHandler = abort; +#else +/** + * Callback function used with _Unwind_Backtrace(). + * + * Prints a stack trace. Used only for debugging help. + * + * Note: As of FreeBSD 8.1, dladdr() still doesn't work properly, so this only + * correctly prints function names from public, relocatable, symbols. + */ +static _Unwind_Reason_Code trace(struct _Unwind_Context *context, void *c) +{ + Dl_info myinfo; + int mylookup = + dladdr(reinterpret_cast(__cxa_current_exception_type), &myinfo); + void *ip = reinterpret_cast(_Unwind_GetIP(context)); + Dl_info info; + if (dladdr(ip, &info) != 0) + { + if (mylookup == 0 || strcmp(info.dli_fname, myinfo.dli_fname) != 0) + { + printf("%p:%s() in %s\n", ip, info.dli_sname, info.dli_fname); + } + } + return _URC_CONTINUE_UNWIND; +} + +static void terminate_with_diagnostics() { + __cxa_eh_globals *globals = __cxa_get_globals(); + __cxa_exception *ex = globals->caughtExceptions; + + if (ex != nullptr) { + fprintf(stderr, "Terminating due to uncaught exception %p", static_cast(ex)); + ex = realExceptionFromException(ex); + static const __class_type_info *e_ti = + static_cast(&typeid(std::exception)); + const __class_type_info *throw_ti = + dynamic_cast(ex->exceptionType); + if (throw_ti) + { + std::exception *e = + static_cast(e_ti->cast_to(static_cast(ex+1), throw_ti)); + if (e) + { + fprintf(stderr, " '%s'", e->what()); + } + } + + size_t bufferSize = 128; + char *demangled = static_cast(malloc(bufferSize)); + const char *mangled = ex->exceptionType->name(); + int status; + demangled = __cxa_demangle(mangled, demangled, &bufferSize, &status); + fprintf(stderr, " of type %s\n", + status == 0 ? demangled : mangled); + if (status == 0) { free(demangled); } + + _Unwind_Backtrace(trace, 0); + } + abort(); +} /** The global termination handler. */ -static atomic terminateHandler = abort; +static atomic terminateHandler = terminate_with_diagnostics; +#endif + /** The global unexpected exception handler. */ static atomic unexpectedHandler = std::terminate; @@ -611,7 +676,7 @@ static void free_exception(char *e) * emergency buffer if malloc() fails, and may block if there are no such * buffers available. */ -extern "C" void *__cxa_allocate_exception(size_t thrown_size) throw() +extern "C" void *__cxa_allocate_exception(size_t thrown_size) _LIBCXXRT_NOEXCEPT { size_t size = thrown_size + sizeof(__cxa_exception); char *buffer = alloc_or_die(size); @@ -633,7 +698,7 @@ extern "C" void *__cxa_allocate_dependent_exception(void) * In this implementation, it is also called by __cxa_end_catch() and during * thread cleanup. */ -extern "C" void __cxa_free_exception(void *thrown_exception) throw() +extern "C" void __cxa_free_exception(void *thrown_exception) _LIBCXXRT_NOEXCEPT { __cxa_exception *ex = reinterpret_cast<__cxa_exception*>(thrown_exception) - 1; // Free the object that was thrown, calling its destructor @@ -680,39 +745,15 @@ void __cxa_free_dependent_exception(void *thrown_exception) free_exception(reinterpret_cast(ex)); } -/** - * Callback function used with _Unwind_Backtrace(). - * - * Prints a stack trace. Used only for debugging help. - * - * Note: As of FreeBSD 8.1, dladd() still doesn't work properly, so this only - * correctly prints function names from public, relocatable, symbols. - */ -static _Unwind_Reason_Code trace(struct _Unwind_Context *context, void *c) -{ - Dl_info myinfo; - int mylookup = - dladdr(reinterpret_cast(__cxa_current_exception_type), &myinfo); - void *ip = reinterpret_cast(_Unwind_GetIP(context)); - Dl_info info; - if (dladdr(ip, &info) != 0) - { - if (mylookup == 0 || strcmp(info.dli_fname, myinfo.dli_fname) != 0) - { - printf("%p:%s() in %s\n", ip, info.dli_sname, info.dli_fname); - } - } - return _URC_CONTINUE_UNWIND; -} - /** * Report a failure that occurred when attempting to throw an exception. * * If the failure happened by falling off the end of the stack without finding - * a handler, prints a back trace before aborting. + * a handler, catch the exception before calling terminate. The default + * terminate handler will print a backtrace before aborting. */ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) -extern "C" void *__cxa_begin_catch(void *e) throw(); +extern "C" void *__cxa_begin_catch(void *e) _LIBCXXRT_NOEXCEPT; #else extern "C" void *__cxa_begin_catch(void *e); #endif @@ -731,41 +772,6 @@ static void report_failure(_Unwind_Reason_Code err, __cxa_exception *thrown_exce #endif case _URC_END_OF_STACK: __cxa_begin_catch (&(thrown_exception->unwindHeader)); - std::terminate(); - fprintf(stderr, "Terminating due to uncaught exception %p", - static_cast(thrown_exception)); - thrown_exception = realExceptionFromException(thrown_exception); - static const __class_type_info *e_ti = - static_cast(&typeid(std::exception)); - const __class_type_info *throw_ti = - dynamic_cast(thrown_exception->exceptionType); - if (throw_ti) - { - std::exception *e = - static_cast(e_ti->cast_to(static_cast(thrown_exception+1), - throw_ti)); - if (e) - { - fprintf(stderr, " '%s'", e->what()); - } - } - - size_t bufferSize = 128; - char *demangled = static_cast(malloc(bufferSize)); - const char *mangled = thrown_exception->exceptionType->name(); - int status; - demangled = __cxa_demangle(mangled, demangled, &bufferSize, &status); - fprintf(stderr, " of type %s\n", - status == 0 ? demangled : mangled); - if (status == 0) { free(demangled); } - // Print a back trace if no handler is found. - // TODO: Make this optional -#ifndef __arm__ - _Unwind_Backtrace(trace, 0); -#endif - - // Just abort. No need to call std::terminate for the second time - abort(); break; } std::terminate(); @@ -794,7 +800,7 @@ static void throw_exception(__cxa_exception *ex) } extern "C" __cxa_exception *__cxa_init_primary_exception( - void *object, std::type_info* tinfo, void (*dest)(void *)) throw() { + void *object, std::type_info* tinfo, void (*dest)(void *)) _LIBCXXRT_NOEXCEPT { __cxa_exception *ex = reinterpret_cast<__cxa_exception*>(object) - 1; ex->referenceCount = 0; @@ -1245,7 +1251,7 @@ BEGIN_PERSONALITY_FUNCTION(__gxx_personality_v0) * C++ exceptions) of the unadjusted pointer (for foreign exceptions). */ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) -extern "C" void *__cxa_begin_catch(void *e) throw() +extern "C" void *__cxa_begin_catch(void *e) _LIBCXXRT_NOEXCEPT #else extern "C" void *__cxa_begin_catch(void *e) #endif @@ -1439,7 +1445,7 @@ extern "C" void __cxa_call_unexpected(void*exception) * * This function does not return. */ -extern "C" void __cxa_call_terminate(void *exception) throw() +extern "C" void __cxa_call_terminate(void*exception) _LIBCXXRT_NOEXCEPT { std::terminate(); // Should not be reached. @@ -1467,14 +1473,14 @@ namespace pathscale /** * Sets whether unexpected and terminate handlers should be thread-local. */ - void set_use_thread_local_handlers(bool flag) throw() + void set_use_thread_local_handlers(bool flag) _LIBCXXRT_NOEXCEPT { thread_local_handlers = flag; } /** * Sets a thread-local unexpected handler. */ - unexpected_handler set_unexpected(unexpected_handler f) throw() + unexpected_handler set_unexpected(unexpected_handler f) _LIBCXXRT_NOEXCEPT { static __cxa_thread_info *info = thread_info(); unexpected_handler old = info->unexpectedHandler; @@ -1484,7 +1490,7 @@ namespace pathscale /** * Sets a thread-local terminate handler. */ - terminate_handler set_terminate(terminate_handler f) throw() + terminate_handler set_terminate(terminate_handler f) _LIBCXXRT_NOEXCEPT { static __cxa_thread_info *info = thread_info(); terminate_handler old = info->terminateHandler; @@ -1499,7 +1505,7 @@ namespace std * Sets the function that will be called when an exception specification is * violated. */ - unexpected_handler set_unexpected(unexpected_handler f) throw() + unexpected_handler set_unexpected(unexpected_handler f) _LIBCXXRT_NOEXCEPT { if (thread_local_handlers) { return pathscale::set_unexpected(f); } @@ -1508,7 +1514,7 @@ namespace std /** * Sets the function that is called to terminate the program. */ - terminate_handler set_terminate(terminate_handler f) throw() + terminate_handler set_terminate(terminate_handler f) _LIBCXXRT_NOEXCEPT { if (thread_local_handlers) { return pathscale::set_terminate(f); } @@ -1518,7 +1524,7 @@ namespace std * Terminates the program, calling a custom terminate implementation if * required. */ - void terminate() + [[noreturn]] void terminate() _LIBCXXRT_NOEXCEPT { static __cxa_thread_info *info = thread_info(); if (0 != info && 0 != info->terminateHandler) @@ -1551,7 +1557,7 @@ namespace std * Returns whether there are any exceptions currently being thrown that * have not been caught. This can occur inside a nested catch statement. */ - bool uncaught_exception() throw() + bool uncaught_exception() _LIBCXXRT_NOEXCEPT { __cxa_thread_info *info = thread_info(); return info->globals.uncaughtExceptions != 0; @@ -1560,7 +1566,7 @@ namespace std * Returns the number of exceptions currently being thrown that have not * been caught. This can occur inside a nested catch statement. */ - int uncaught_exceptions() throw() + int uncaught_exceptions() _LIBCXXRT_NOEXCEPT { __cxa_thread_info *info = thread_info(); return info->globals.uncaughtExceptions; @@ -1568,7 +1574,7 @@ namespace std /** * Returns the current unexpected handler. */ - unexpected_handler get_unexpected() throw() + unexpected_handler get_unexpected() _LIBCXXRT_NOEXCEPT { __cxa_thread_info *info = thread_info(); if (info->unexpectedHandler) @@ -1580,7 +1586,7 @@ namespace std /** * Returns the current terminate handler. */ - terminate_handler get_terminate() throw() + terminate_handler get_terminate() _LIBCXXRT_NOEXCEPT { __cxa_thread_info *info = thread_info(); if (info->terminateHandler) diff --git a/contrib/libcxxrt/libelftc_dem_gnu3.c b/contrib/libcxxrt/libelftc_dem_gnu3.c index e75d1694562e..36e98deb1d2f 100644 --- a/contrib/libcxxrt/libelftc_dem_gnu3.c +++ b/contrib/libcxxrt/libelftc_dem_gnu3.c @@ -200,9 +200,9 @@ vector_str_find(const struct vector_str *v, const char *o, size_t l) static char * vector_str_get_flat(const struct vector_str *v, size_t *l) { - ssize_t elem_pos, elem_size, rtn_size; size_t i; - char *rtn; + char *rtn, *p; + ssize_t rtn_size; if (v == NULL || v->size == 0) return (NULL); @@ -213,16 +213,9 @@ vector_str_get_flat(const struct vector_str *v, size_t *l) if ((rtn = malloc(sizeof(char) * (rtn_size + 1))) == NULL) return (NULL); - elem_pos = 0; - for (i = 0; i < v->size; ++i) { - elem_size = strlen(v->container[i]); - - memcpy(rtn + elem_pos, v->container[i], elem_size); - - elem_pos += elem_size; - } - - rtn[rtn_size] = '\0'; + p = rtn; + for (i = 0; i < v->size; ++i) + p = stpcpy(p, v->container[i]); if (l != NULL) *l = rtn_size; @@ -305,6 +298,21 @@ vector_str_pop(struct vector_str *v) return (true); } +/** + * @brief Implements strlcpy() without result. + */ +static void +copy_string(char *dst, const char *src, size_t dsize) +{ + size_t remain; + if ((remain = dsize)) + while (--remain) + if (!(*dst++ = *src++)) + break; + if (!remain && dsize) + *dst = 0; +} + /** * @brief Push back string to vector. * @return false at failed, true at success. @@ -322,7 +330,7 @@ vector_str_push(struct vector_str *v, const char *str, size_t len) if ((v->container[v->size] = malloc(sizeof(char) * (len + 1))) == NULL) return (false); - snprintf(v->container[v->size], len + 1, "%s", str); + copy_string(v->container[v->size], str, len + 1); ++v->size; @@ -420,8 +428,8 @@ static char * vector_str_substr(const struct vector_str *v, size_t begin, size_t end, size_t *r_len) { - size_t cur, i, len; - char *rtn; + char *rtn, *p; + size_t i, len; if (v == NULL || begin > end) return (NULL); @@ -436,13 +444,9 @@ vector_str_substr(const struct vector_str *v, size_t begin, size_t end, if (r_len != NULL) *r_len = len; - cur = 0; - for (i = begin; i < end + 1; ++i) { - len = strlen(v->container[i]); - memcpy(rtn + cur, v->container[i], len); - cur += len; - } - rtn[cur] = '\0'; + p = rtn; + for (i = begin; i < end + 1; ++i) + p = stpcpy(p, v->container[i]); return (rtn); } @@ -2510,61 +2514,56 @@ cpp_demangle_read_subst(struct cpp_demangle_data *ddata) return (1); case SIMPLE_HASH('S', 'd'): - /* std::basic_iostream > */ + /* std::basic_iostream> */ if (!DEM_PUSH_STR(ddata, "std::basic_iostream >")) + "std::char_traits>")) return (0); ddata->last_sname = "basic_iostream"; ddata->cur += 2; if (*ddata->cur == 'I') return (cpp_demangle_read_subst_stdtmpl(ddata, "std::basic_iostream >")); + ">")); return (1); case SIMPLE_HASH('S', 'i'): - /* std::basic_istream > */ + /* std::basic_istream> */ if (!DEM_PUSH_STR(ddata, "std::basic_istream >")) + "std::char_traits>")) return (0); ddata->last_sname = "basic_istream"; ddata->cur += 2; if (*ddata->cur == 'I') return (cpp_demangle_read_subst_stdtmpl(ddata, "std::basic_istream >")); + ">")); return (1); case SIMPLE_HASH('S', 'o'): - /* std::basic_ostream > */ + /* std::basic_ostream> */ if (!DEM_PUSH_STR(ddata, "std::basic_ostream >")) + "std::char_traits>")) return (0); ddata->last_sname = "basic_ostream"; ddata->cur += 2; if (*ddata->cur == 'I') return (cpp_demangle_read_subst_stdtmpl(ddata, "std::basic_ostream >")); + ">")); return (1); case SIMPLE_HASH('S', 's'): /* - * std::basic_string, - * std::allocator > - * - * a.k.a std::string + * std::string for consistency with libcxxabi */ - if (!DEM_PUSH_STR(ddata, "std::basic_string, std::allocator >")) - return (0); + if (!DEM_PUSH_STR(ddata, "std::string")) + return 0; ddata->last_sname = "string"; ddata->cur += 2; if (*ddata->cur == 'I') - return (cpp_demangle_read_subst_stdtmpl(ddata, - "std::basic_string," - " std::allocator >")); - return (1); + return cpp_demangle_read_subst_stdtmpl(ddata, + "std::string"); + return 1; case SIMPLE_HASH('S', 't'): /* std:: */ @@ -2740,7 +2739,7 @@ static int cpp_demangle_read_tmpl_args(struct cpp_demangle_data *ddata) { struct vector_str *v; - size_t arg_len, idx, limit, size; + size_t arg_len, idx, limit; char *arg; if (ddata == NULL || *ddata->cur == '\0') @@ -2773,12 +2772,7 @@ cpp_demangle_read_tmpl_args(struct cpp_demangle_data *ddata) if (*ddata->cur == 'E') { ++ddata->cur; - size = v->size; - assert(size > 0); - if (!strncmp(v->container[size - 1], ">", 1)) { - if (!DEM_PUSH_STR(ddata, " >")) - return (0); - } else if (!DEM_PUSH_STR(ddata, ">")) + if (!DEM_PUSH_STR(ddata, ">")) return (0); ddata->is_tmpl = true; break; diff --git a/contrib/libcxxrt/memory.cc b/contrib/libcxxrt/memory.cc index 7beb048ae914..0702f63f4527 100644 --- a/contrib/libcxxrt/memory.cc +++ b/contrib/libcxxrt/memory.cc @@ -73,10 +73,8 @@ namespace std #if __cplusplus < 201103L -#define NOEXCEPT throw() #define BADALLOC throw(std::bad_alloc) #else -#define NOEXCEPT noexcept #define BADALLOC #endif @@ -138,14 +136,14 @@ void* operator new(size_t size) BADALLOC __attribute__((weak)) -void* operator new(size_t size, const std::nothrow_t &) NOEXCEPT +void* operator new(size_t size, const std::nothrow_t &) _LIBCXXRT_NOEXCEPT { return noexcept_new<(::operator new)>(size); } __attribute__((weak)) -void operator delete(void * ptr) NOEXCEPT +void operator delete(void * ptr) _LIBCXXRT_NOEXCEPT { free(ptr); } @@ -159,14 +157,14 @@ void * operator new[](size_t size) BADALLOC __attribute__((weak)) -void * operator new[](size_t size, const std::nothrow_t &) NOEXCEPT +void * operator new[](size_t size, const std::nothrow_t &) _LIBCXXRT_NOEXCEPT { return noexcept_new<(::operator new[])>(size); } __attribute__((weak)) -void operator delete[](void * ptr) NOEXCEPT +void operator delete[](void * ptr) _LIBCXXRT_NOEXCEPT { ::operator delete(ptr); } @@ -176,14 +174,14 @@ void operator delete[](void * ptr) NOEXCEPT #if __cplusplus >= 201402L __attribute__((weak)) -void operator delete(void * ptr, size_t) NOEXCEPT +void operator delete(void * ptr, size_t) _LIBCXXRT_NOEXCEPT { ::operator delete(ptr); } __attribute__((weak)) -void operator delete[](void * ptr, size_t) NOEXCEPT +void operator delete[](void * ptr, size_t) _LIBCXXRT_NOEXCEPT { ::operator delete(ptr); } diff --git a/contrib/libcxxrt/noexception.cc b/contrib/libcxxrt/noexception.cc index 25dac1279684..7d17920c7cf4 100644 --- a/contrib/libcxxrt/noexception.cc +++ b/contrib/libcxxrt/noexception.cc @@ -30,7 +30,7 @@ namespace std * Returns whether there are any exceptions currently being thrown that * have not been caught. Without exception support this is always false. */ - bool uncaught_exception() throw() + bool uncaught_exception() _LIBCXXRT_NOEXCEPT { return false; } @@ -38,7 +38,7 @@ namespace std * Returns the number of exceptions currently being thrown that have not * been caught. Without exception support this is always 0. */ - int uncaught_exceptions() throw() + int uncaught_exceptions() _LIBCXXRT_NOEXCEPT { return 0; } diff --git a/contrib/libcxxrt/stdexcept.cc b/contrib/libcxxrt/stdexcept.cc index c1cea39f6aa6..22c6930dca6b 100644 --- a/contrib/libcxxrt/stdexcept.cc +++ b/contrib/libcxxrt/stdexcept.cc @@ -31,66 +31,66 @@ namespace std { -exception::exception() throw() {} +exception::exception() _LIBCXXRT_NOEXCEPT {} exception::~exception() {} -exception::exception(const exception&) throw() {} -exception& exception::operator=(const exception&) throw() +exception::exception(const exception&) _LIBCXXRT_NOEXCEPT {} +exception& exception::operator=(const exception&) _LIBCXXRT_NOEXCEPT { return *this; } -const char* exception::what() const throw() +const char* exception::what() const _LIBCXXRT_NOEXCEPT { return "std::exception"; } -bad_alloc::bad_alloc() throw() {} +bad_alloc::bad_alloc() _LIBCXXRT_NOEXCEPT {} bad_alloc::~bad_alloc() {} -bad_alloc::bad_alloc(const bad_alloc&) throw() {} -bad_alloc& bad_alloc::operator=(const bad_alloc&) throw() +bad_alloc::bad_alloc(const bad_alloc&) _LIBCXXRT_NOEXCEPT {} +bad_alloc& bad_alloc::operator=(const bad_alloc&) _LIBCXXRT_NOEXCEPT { return *this; } -const char* bad_alloc::what() const throw() +const char* bad_alloc::what() const _LIBCXXRT_NOEXCEPT { return "cxxrt::bad_alloc"; } -bad_cast::bad_cast() throw() {} +bad_cast::bad_cast() _LIBCXXRT_NOEXCEPT {} bad_cast::~bad_cast() {} -bad_cast::bad_cast(const bad_cast&) throw() {} -bad_cast& bad_cast::operator=(const bad_cast&) throw() +bad_cast::bad_cast(const bad_cast&) _LIBCXXRT_NOEXCEPT {} +bad_cast& bad_cast::operator=(const bad_cast&) _LIBCXXRT_NOEXCEPT { return *this; } -const char* bad_cast::what() const throw() +const char* bad_cast::what() const _LIBCXXRT_NOEXCEPT { return "std::bad_cast"; } -bad_typeid::bad_typeid() throw() {} +bad_typeid::bad_typeid() _LIBCXXRT_NOEXCEPT {} bad_typeid::~bad_typeid() {} -bad_typeid::bad_typeid(const bad_typeid &__rhs) throw() {} -bad_typeid& bad_typeid::operator=(const bad_typeid &__rhs) throw() +bad_typeid::bad_typeid(const bad_typeid &__rhs) _LIBCXXRT_NOEXCEPT {} +bad_typeid& bad_typeid::operator=(const bad_typeid &__rhs) _LIBCXXRT_NOEXCEPT { return *this; } -const char* bad_typeid::what() const throw() +const char* bad_typeid::what() const _LIBCXXRT_NOEXCEPT { return "std::bad_typeid"; } -bad_array_new_length::bad_array_new_length() throw() {} +bad_array_new_length::bad_array_new_length() _LIBCXXRT_NOEXCEPT {} bad_array_new_length::~bad_array_new_length() {} -bad_array_new_length::bad_array_new_length(const bad_array_new_length&) throw() {} -bad_array_new_length& bad_array_new_length::operator=(const bad_array_new_length&) throw() +bad_array_new_length::bad_array_new_length(const bad_array_new_length&) _LIBCXXRT_NOEXCEPT {} +bad_array_new_length& bad_array_new_length::operator=(const bad_array_new_length&) _LIBCXXRT_NOEXCEPT { return *this; } -const char* bad_array_new_length::what() const throw() +const char* bad_array_new_length::what() const _LIBCXXRT_NOEXCEPT { return "std::bad_array_new_length"; } diff --git a/contrib/libcxxrt/stdexcept.h b/contrib/libcxxrt/stdexcept.h index 892039357595..38cd36d8e566 100644 --- a/contrib/libcxxrt/stdexcept.h +++ b/contrib/libcxxrt/stdexcept.h @@ -29,17 +29,19 @@ * of the exceptions for the runtime to use. */ +#include "cxxabi.h" + namespace std { class exception { public: - exception() throw(); - exception(const exception&) throw(); - exception& operator=(const exception&) throw(); + exception() _LIBCXXRT_NOEXCEPT; + exception(const exception&) _LIBCXXRT_NOEXCEPT; + exception& operator=(const exception&) _LIBCXXRT_NOEXCEPT; virtual ~exception(); - virtual const char* what() const throw(); + virtual const char* what() const _LIBCXXRT_NOEXCEPT; }; @@ -49,11 +51,11 @@ namespace std class bad_alloc: public exception { public: - bad_alloc() throw(); - bad_alloc(const bad_alloc&) throw(); - bad_alloc& operator=(const bad_alloc&) throw(); + bad_alloc() _LIBCXXRT_NOEXCEPT; + bad_alloc(const bad_alloc&) _LIBCXXRT_NOEXCEPT; + bad_alloc& operator=(const bad_alloc&) _LIBCXXRT_NOEXCEPT; ~bad_alloc(); - virtual const char* what() const throw(); + virtual const char* what() const _LIBCXXRT_NOEXCEPT; }; /** @@ -61,11 +63,11 @@ namespace std */ class bad_cast: public exception { public: - bad_cast() throw(); - bad_cast(const bad_cast&) throw(); - bad_cast& operator=(const bad_cast&) throw(); + bad_cast() _LIBCXXRT_NOEXCEPT; + bad_cast(const bad_cast&) _LIBCXXRT_NOEXCEPT; + bad_cast& operator=(const bad_cast&) _LIBCXXRT_NOEXCEPT; virtual ~bad_cast(); - virtual const char* what() const throw(); + virtual const char* what() const _LIBCXXRT_NOEXCEPT; }; /** @@ -74,21 +76,21 @@ namespace std class bad_typeid: public exception { public: - bad_typeid() throw(); - bad_typeid(const bad_typeid &__rhs) throw(); + bad_typeid() _LIBCXXRT_NOEXCEPT; + bad_typeid(const bad_typeid &__rhs) _LIBCXXRT_NOEXCEPT; virtual ~bad_typeid(); - bad_typeid& operator=(const bad_typeid &__rhs) throw(); - virtual const char* what() const throw(); + bad_typeid& operator=(const bad_typeid &__rhs) _LIBCXXRT_NOEXCEPT; + virtual const char* what() const _LIBCXXRT_NOEXCEPT; }; class bad_array_new_length: public bad_alloc { public: - bad_array_new_length() throw(); - bad_array_new_length(const bad_array_new_length&) throw(); - bad_array_new_length& operator=(const bad_array_new_length&) throw(); + bad_array_new_length() _LIBCXXRT_NOEXCEPT; + bad_array_new_length(const bad_array_new_length&) _LIBCXXRT_NOEXCEPT; + bad_array_new_length& operator=(const bad_array_new_length&) _LIBCXXRT_NOEXCEPT; virtual ~bad_array_new_length(); - virtual const char *what() const throw(); + virtual const char *what() const _LIBCXXRT_NOEXCEPT; }; From nobody Wed Oct 30 00:53:44 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdTCD4Mw3z5bGDD; Wed, 30 Oct 2024 00:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdTCD3qJgz4Hmq; Wed, 30 Oct 2024 00:53:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730249624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zhUAc/Dgo3uFMU2C2BrEW/oLz7YjQHTm8RFwwFg2sbw=; b=wcOcdFM+ekdLSNvJEff0ulZkAN81YDlDLXd8s8iDneTnCRFt9ANBYZWSX8ApYHzt/8ppXJ x57OIWdK/ZiLMgmLJJhXJMIPgxgv7jSG8euPLREMNr906OJ1nAEnENJs2uDLN72o3oPEIq ac427iWS+RXNq+dri1jCFfB4trXL4h3qLz7mG+mBfazIbyNVkfdeS+uMhCvZqFVVjPoVDD 44NwPSsGVfYRD+U++dznvkcQEb6AcVce00fLbgs8CLlpAlBGVyNTr7TrxnLNuMrKmicS0j azcXaG34BGE4/u0aTifma4AuzsrKzmzW921+t7XJ76LoQm/HiE3Jfy7eHVhbfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730249624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zhUAc/Dgo3uFMU2C2BrEW/oLz7YjQHTm8RFwwFg2sbw=; b=PZ3sB5fJ8oG3EvG2L9W/N4RJlAOO3jA/q5+tHl7BeqotS0nBdeVkocrUoK35lsu2SpWd/j oefzCMA4yJuT0M+O1/cM78mU5wWXV1aBuznZ1cTBNV6YntXnc1WzhWlng1n8neUHE0uMW5 ZjUvx/d/tPE/SkegSbb0ig/g94EtRBcdzRP8gxndpgI4qUt756xi/Oz/6PS9DB71V9haE0 Yfg56hk5NG2xKGJziP2AtPe05OLOJshBSXnD6j7dJdBIOxyp++k56EN28kXjycYpqvVezX r8flm7LCdKoZXFi/F5S/YcljRVpRIs9dU4rZ8/wEqbCGZd7zNy9iZQ9pnAfeLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730249624; a=rsa-sha256; cv=none; b=gQnTrdT2e+Cx5rYQT6Q8Mr2XUwZj4OKgr6XF/f7rAc52br28W8/AEv8L2WLLEKVYS2u4Vf YCr7ESYzF01lEXNIlNFAwz7LDAoafrRP8ANiNmQakKDkSor9vk+kLlg+RaNsVVOa0PAbwH V3mLcNWrDdy0m6zCbbChGgWJcHAOuXmUFsMvXdqEl3N/fgLWpo0fRBQXQ3BL4cddQI6DC/ YPdcBKzCyGDmXoU85pJpcEyoERKNjN2Eq/0xpL2E7onjLm3yuH7H05jIsSY4pi67+q97F1 RtuZgA3LNUuHOTvrjmmgUM1xAGdAd2MZ9bW/dejzTuNImiDaFkK/xa4QDSUkBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdTCD3MwSzlwq; Wed, 30 Oct 2024 00:53:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U0ri1k004150; Wed, 30 Oct 2024 00:53:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U0ricl004147; Wed, 30 Oct 2024 00:53:44 GMT (envelope-from git) Date: Wed, 30 Oct 2024 00:53:44 GMT Message-Id: <202410300053.49U0ricl004147@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Li-Wen Hsu Subject: git: 1e4603b7a819 - stable/14 - ncurses: Fix codegen for key names and codes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1e4603b7a8193064a9879c6c1906be1c7cb57575 Auto-Submitted: auto-generated The branch stable/14 has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=1e4603b7a8193064a9879c6c1906be1c7cb57575 commit 1e4603b7a8193064a9879c6c1906be1c7cb57575 Author: SHENG-YI HONG AuthorDate: 2024-10-23 20:38:33 +0000 Commit: Li-Wen Hsu CommitDate: 2024-10-30 00:53:05 +0000 ncurses: Fix codegen for key names and codes Adding back arguments, which were missed during the import of ncurses version 6.5, to the code gen awk script. This is modified from lib_keyname.c and keys.list targets in contrib/ncurses/ncurses/Makefile.in of 21817992b3314c908ab50f0bb88d2ee750b9c4ac PR: 280697 Reported by: np Reviewed by: bapt Tested by: scf Fixes: 21817992b331 ncurses: vendor import version 6.5 MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47153 (cherry picked from commit 514f4e89acd2e7b1824b261055bef49a3da6a956) --- lib/ncurses/tinfo/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/ncurses/tinfo/Makefile b/lib/ncurses/tinfo/Makefile index b202a40a1cc3..072c2368d4b4 100644 --- a/lib/ncurses/tinfo/Makefile +++ b/lib/ncurses/tinfo/Makefile @@ -223,7 +223,8 @@ codes.c: MKcodes.awk ${AWK} -f ${NCURSES_DIR}/ncurses/tinfo/MKcodes.awk bigstrings=${USE_BIG_STRINGS} ${NCURSES_DIR}/include/Caps > codes.c lib_keyname.c: keys.list MKkeyname.awk - ${AWK} -f ${NCURSES_DIR}/ncurses/base/MKkeyname.awk bigstrings=${USE_BIG_STRINGS} keys.list > lib_keyname.c + ${AWK} -f ${NCURSES_DIR}/ncurses/base/MKkeyname.awk use_sigwinch=${ENABLE_SIGWINCH} \ + bigstrings=${USE_BIG_STRINGS} keys.list > lib_keyname.c unctrl.c: MKunctrl.awk echo | ${AWK} -f ${NCURSES_DIR}/ncurses/base/MKunctrl.awk bigstrings=${USE_BIG_STRINGS} > unctrl.c @@ -271,7 +272,7 @@ curses.h: curses.head MKkey_defs.sh Caps Caps-ncurses # Generated intermediate files keys.list: MKkeys_list.sh Caps Caps-ncurses - AWK=${AWK} sh ${NCURSES_DIR}/ncurses/tinfo/MKkeys_list.sh \ + AWK=${AWK} USE_SIGWINCH=${ENABLE_SIGWINCH} sh ${NCURSES_DIR}/ncurses/tinfo/MKkeys_list.sh \ ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses | LC_ALL=C sort > keys.list .if ${MK_DIRDEPS_BUILD} == "yes" && ${MACHINE} != "host" From nobody Wed Oct 30 01:02:17 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdTP53qy7z5bGsJ; Wed, 30 Oct 2024 01:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdTP53NgXz4K2W; Wed, 30 Oct 2024 01:02:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ims2KP2omIvMN+XHWu4QuIqYaRwKIA4/3u6qD2i2/gc=; b=mABSxL1ggWkaMsZQWUHAFS2ttFUJON4sVSF8q30svUiX3HPmDRkk8StAK326aAv4OdpCQ0 urB1AW6FAgBntwmOymzQT4dvHXvYY6o8MargtvNf3eZNB5o79HnKNxw6SD48s35c65zYa1 w735ROW40W41bQqsOjMt0AXR+qwrGQIWJExE1EUCN47AMjMSHJz2X2FQ2/oNIod7nPv8no 1DAr32ldV6ZhHm6Qe4Mu5feprxuk/fq7+mcdK02ll2HAlP24Mv3b3V2dqI1xbW1pw/w5Rb 5EOD7TbuyEAzUqwLDV+reWnhApjwBvhUEk+YhgGJYyteExkkPIJBtft7ROyU+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ims2KP2omIvMN+XHWu4QuIqYaRwKIA4/3u6qD2i2/gc=; b=P+O7Nzzj9IzXmS1PwIxcm2dcfiHGc/IdICAiISbw3VGXJ1kG8nAax7v20v+VV6JC94eI0x RIMnlr891wtxKudRAX2TRqVZCYwhGHJX6XOazsf5yTZn9IQghMWxWmSNFgsBBu2FNSm13T FXJyE7YRachI5ZSEuXN4RYJjRlBUPCAnRRsNQcJ1aOlhh435/eOhMYXvBkO2+JxsBw2C+O MG/7TcNRra9J7bcja6L4Jb1krbyMapJRmFBBsd0e0dqPPziPavrbfEbXAqA0REgBr9aOFz nJ5w0IITlX9lT2e6hr1KQ9q+4hWazpQtfQJGO1n9u8JTnaW4Ms0hM2BxtjbCQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730250137; a=rsa-sha256; cv=none; b=AELGOkEPk5Wir5uAXPECcHwKBNBctsDrZGouL9aRf5SfJcSEFB04VFJvlN5iq4EY4hmnGy D6UZSuKg8DFJY97O8+zcju0mbn8/RmTSCDRaQ6ZSI0G/31NGdqBNzRYCLil30ddw4jJKFZ NzIhBAOLBxTi/GNdgj95kFmihNmKPrKvbMNiiUGeOrZ3dltFQE3KVIBfIOoVFxllOU709K XfWt2B272bg/2Mlnv7ZfCEfEb1lAwus8xs0AtigI2DqTo6CDkg/gaF8CpU6Qc79JTMzLId aGZXzpFQPXrC3g2yi1H+xIXwBOnrAQR9BpXO4PxK7l+IPjeoy2zHoA5uSlSFuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdTP52r1MzmQR; Wed, 30 Oct 2024 01:02:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U12HOQ023079; Wed, 30 Oct 2024 01:02:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U12HPP023076; Wed, 30 Oct 2024 01:02:17 GMT (envelope-from git) Date: Wed, 30 Oct 2024 01:02:17 GMT Message-Id: <202410300102.49U12HPP023076@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 86efff54916b - stable/14 - ixv: Check cap return before MSI-X enable write List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 86efff54916bba7b7543699fe5922d8363f16c11 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=86efff54916bba7b7543699fe5922d8363f16c11 commit 86efff54916bba7b7543699fe5922d8363f16c11 Author: Jeremiah Lott AuthorDate: 2024-10-27 07:18:54 +0000 Commit: Kevin Bowling CommitDate: 2024-10-30 01:01:04 +0000 ixv: Check cap return before MSI-X enable write In the QEMU workaround code in if_ixv.c, the ixv driver calls pci_find_cap(dev, PCIY_MSIX, &rid). It is not checking the return code from that function and the function appears to always be failing. This then causes the driver to use the rid variable uninitialized, which will mean setting a bit at an arbitrary offset in pci config space. For now, this seems to have no adverse impact, but it could easily cause very subtle problems. PR: 207037 Sponsored by: BBOX.io (cherry picked from commit b87b3696c973ef0a9df70143cd89f6b488531e93) --- sys/dev/ixgbe/if_ixv.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sys/dev/ixgbe/if_ixv.c b/sys/dev/ixgbe/if_ixv.c index 467a56e7269f..58384af5eea7 100644 --- a/sys/dev/ixgbe/if_ixv.c +++ b/sys/dev/ixgbe/if_ixv.c @@ -1073,11 +1073,14 @@ ixv_if_msix_intr_assign(if_ctx_t ctx, int msix) */ if (sc->hw.mac.type == ixgbe_mac_82599_vf) { int msix_ctrl; - pci_find_cap(dev, PCIY_MSIX, &rid); - rid += PCIR_MSIX_CTRL; - msix_ctrl = pci_read_config(dev, rid, 2); - msix_ctrl |= PCIM_MSIXCTRL_MSIX_ENABLE; - pci_write_config(dev, rid, msix_ctrl, 2); + if (pci_find_cap(dev, PCIY_MSIX, &rid)) { + device_printf(dev, "Finding MSIX capability failed\n"); + } else { + rid += PCIR_MSIX_CTRL; + msix_ctrl = pci_read_config(dev, rid, 2); + msix_ctrl |= PCIM_MSIXCTRL_MSIX_ENABLE; + pci_write_config(dev, rid, msix_ctrl, 2); + } } return (0); From nobody Wed Oct 30 01:02:18 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdTP652n3z5bHHQ; Wed, 30 Oct 2024 01:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdTP641MJz4Jgs; Wed, 30 Oct 2024 01:02:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4UMoHzJZUGmOaqKp9kuTVSBGHaCwZdlmxhbxE2iZhf0=; b=GQOlVDKSA6lndHClkBniwx3E3+lZySg3/DwvSy319XLkijZlXDIgrcsHTgqhRjLpSC3HIN J2vdBeknpzvIOKac9MCIzaQ6zU83BnJvpaoa9yZFba6BFUlQ1b3iyPKNy0bCNkjo1r7qKo GdgEwCGB+Xq6ohRIEdkJJf7Ik1M24cA/QkAkUwUe40bi1dmDP4NSz2QMSn69zBmHn7qodB Ubq1x1Lif+pAh7xIYf8a0daKBiiigZasnS5lCaQsL8ltTz65+/EdrvxTm/5lP8Wc17SEZT rjVtk+GIi1oDPqszqX6kFjrJ8lJKnA4GOdQgxpPz8AQcru/bFIP86J/BJ3bvdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4UMoHzJZUGmOaqKp9kuTVSBGHaCwZdlmxhbxE2iZhf0=; b=VarRCXtwN+wDFHhF64IZqzqG8HP6HshppgpZyAb6Cl/Q1t9TjarOrZbnkaUuMqCYiKy31I 6ZMz9V8DpmVPVQ60/gxuojQ9gxulVH/y4PwqrnrveFZtWioqHnPmf0I0wpj0rFY1X1vxJI jGYURQ6w2nZEoQELM44EWdY+LxgKgEdXzPOaHoip47mVApgzOey0pmboDHZai/zeBD1xnp kftH1xfnU/3Bwp2hoHjY72Ez52Ef+QflN680BVcIKq1jPWzQuTH5DOJO/n6Us4tDGcvRTo 0ONbFm3URaRc4XCQMWApicoJPlysBeBPm3Y+O/a+5Yr1yR0dqoNCI5WycqzwKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730250138; a=rsa-sha256; cv=none; b=TqO7u5vzQ3ubv0lQ1iktiNQ2Q8q37zJ12sdDoyY/LVUeCmeY1A+AlXzZpHpPmJn7EpwknV iwoVi+I0vpWwQ8fdKkeviPNg7mvtchYG//qctiz/2Vb2KxiiMnWftcZoOpWvQ4ZwMsUwSS E3IeEq2cAIv3c/ohQ8D89lTil2N86v7jZHJNo6ANKuBahHWiQon4yx3r/Zs6jIE7vkmcK0 eEJAHC1X2u79ti0plJJHTX07gYhPgIoKSP6KINMwcNS8E32v/7d6bXyE9k+7Q0tSRdaaIc 8IWYTia7KQ0FGMEY7KTeblCs+lkL+tzWYGGfSvgdzDIz2oekX4K5ptBwy9Vs0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdTP63cXBzmQS; Wed, 30 Oct 2024 01:02:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U12IJK023118; Wed, 30 Oct 2024 01:02:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U12IuC023115; Wed, 30 Oct 2024 01:02:18 GMT (envelope-from git) Date: Wed, 30 Oct 2024 01:02:18 GMT Message-Id: <202410300102.49U12IuC023115@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 30a9cf87d326 - stable/14 - ixgbe.4: rename to ix.4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 30a9cf87d3261ace3d05844fa9d89f675d0ef474 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=30a9cf87d3261ace3d05844fa9d89f675d0ef474 commit 30a9cf87d3261ace3d05844fa9d89f675d0ef474 Author: Felix Johnson AuthorDate: 2024-10-27 00:26:34 +0000 Commit: Kevin Bowling CommitDate: 2024-10-30 01:01:19 +0000 ixgbe.4: rename to ix.4 PR: 213026 Reported by: Sergey Akhmatov Co-authored-by: Alexander Ziaee (cherry picked from commit d8b48a267fc0f737a13cb52dc1071981ecb1e003) --- share/man/man4/Makefile | 8 ++++---- share/man/man4/{ixgbe.4 => ix.4} | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 7f6c9a501238..e83be3054aca 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -259,7 +259,7 @@ MAN= aac.4 \ iwnfw.4 \ iwlwifi.4 \ iwlwififw.4 \ - ixgbe.4 \ + ix.4 \ ixl.4 \ jedec_dimm.4 \ jme.4 \ @@ -703,9 +703,9 @@ MLINKS+=iwi.4 if_iwi.4 MLINKS+=iwlwifi.4 if_iwlwifi.4 MLINKS+=iwm.4 if_iwm.4 MLINKS+=iwn.4 if_iwn.4 -MLINKS+=ixgbe.4 ix.4 -MLINKS+=ixgbe.4 if_ix.4 -MLINKS+=ixgbe.4 if_ixgbe.4 +MLINKS+=ix.4 if_ix.4 +MLINKS+=ix.4 if_ixgbe.4 +MLINKS+=ix.4 ixgbe.4 MLINKS+=ixl.4 if_ixl.4 MLINKS+=iavf.4 if_iavf.4 MLINKS+=jme.4 if_jme.4 diff --git a/share/man/man4/ixgbe.4 b/share/man/man4/ix.4 similarity index 95% rename from share/man/man4/ixgbe.4 rename to share/man/man4/ix.4 index ccdf50cf9674..32b5386ea7d4 100644 --- a/share/man/man4/ixgbe.4 +++ b/share/man/man4/ix.4 @@ -30,10 +30,10 @@ .\" * Other names and brands may be claimed as the property of others. .\" .Dd May 17, 2023 -.Dt IXGBE 4 +.Dt IX 4 .Os .Sh NAME -.Nm ixgbe +.Nm ix .Nd "Intel(R) 10Gb Ethernet driver for the FreeBSD operating system" .Sh SYNOPSIS To compile this driver into the kernel, @@ -41,14 +41,14 @@ place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device iflib" -.Cd "device ixgbe" +.Cd "device ix" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent -if_ixgbe_load="YES" +if_ix_load="YES" .Ed .Sh DESCRIPTION The @@ -88,11 +88,11 @@ Intel(R) 82598EB 10 Gigabit AT CX4 Network Connection .El .Sh DIAGNOSTICS .Bl -diag -.It "ixgbe%d: Unable to allocate bus resource: memory" +.It "ix%d: Unable to allocate bus resource: memory" A fatal initialization error has occurred. -.It "ixgbe%d: Unable to allocate bus resource: interrupt" +.It "ix%d: Unable to allocate bus resource: interrupt" A fatal initialization error has occurred. -.It "ixgbe%d: watchdog timeout -- resetting" +.It "ix%d: watchdog timeout -- resetting" The device has stopped responding to the network, or there is a problem with the network connection (cable). .El From nobody Wed Oct 30 01:02:19 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdTP760Qxz5bH8B; Wed, 30 Oct 2024 01:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdTP74yslz4JkQ; Wed, 30 Oct 2024 01:02:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y/igCAyVnya/grgJy8lTNbXNsd1vHSCZ/U02BwZpDPo=; b=Nvh6VQXDruOvjhUfx3hWeTHTtB59BURlyV6ki78U8lIWMqbsxvz8HO9KMtXwFq/5N/nLcF crQ9BmiMTB69wNArpE+g3S8wAFeB/MZMEORHiHs+YG7z2AfnvR01ritSO0yUw6Fejjjed9 kzj+DAO3c3aIFgix/TrBTz16wQscBPLAviliH54gfFgTZ0/Y5p9bPXNN3PtPFV0VfXFZZL hiSHEwKScgFV1PdVgVf1MkVS+fx5f9dwfhmxSfe7kBNYD50TEc0oWDToM9ZRClkZphdraf /wQNDYvEvkUnlS15I9t15lFD/nvgDuDhbSfWTqFr+N5uwoRPMdf2O1iazvIjfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y/igCAyVnya/grgJy8lTNbXNsd1vHSCZ/U02BwZpDPo=; b=ZuX09D7UDPzczj4rBFvw69cPKI7PD60rPFsPkiPtHFGa2s/t1EgAbJrxjYI6tvabVErH9s LS4bh7vt9yyaFFkbRrffKGmCX76LOnuV4noUrfUwW/xbCl3leLeGKxY+ZVN+BTDQY96Ehy GQ1YfkhPPz6/6MyWzfWBlokqZ24QPv6y9V4Wn7ZXvZpjvbrQOnkrayaW8Des0JEmmTl/XM TJtms2J2F8n9ZQuDSPhS/LbPCGQqgEXX6dnyhDe090lT95Z6EAQO2D8n462CLl97uqwJif Id3kqEVf/gkoXZnh58nsytPd1urMA+sXWSSdJUR/mTrhG62tQgFJtu4G8pRw5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730250139; a=rsa-sha256; cv=none; b=GBDMIU1ThFIBCM6vh2eB/JXs3sviFJID59ZAuUDVjATVvW10JljSrmZa7Kb1DG3kliVaPg 5aHhvIDt6aoxVH9IUcA6qfaJnwshblAcmuG1GBkCOhC9uFgTWjtDJhJFWQRXajCcS2hcmA teGPzTAlHU3RU+XOcHottbJcWD0vslRin3LEVCiT81KBfqp1yFRoNiJwi87e56Qj9LEBHM WJHVKNl51jY5u4kzizrFL2dE5gfMyW5qZnNFz3EnMpfxnRwia/AGNljcAH+OskTL1EpGpW ENR9js9rHR+RoOzKynpgO0wuQJnfkg8QkoATPXo8mpvhVGcfvnWSxtrpEbsfeQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdTP74ZdCzmpp; Wed, 30 Oct 2024 01:02:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U12Jx5023165; Wed, 30 Oct 2024 01:02:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U12J2w023162; Wed, 30 Oct 2024 01:02:19 GMT (envelope-from git) Date: Wed, 30 Oct 2024 01:02:19 GMT Message-Id: <202410300102.49U12J2w023162@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 2e0d2f95fe60 - stable/14 - ix.4: document LOADER TUNABLES List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2e0d2f95fe602fb746e4369bc6d8e2c3a836afa4 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=2e0d2f95fe602fb746e4369bc6d8e2c3a836afa4 commit 2e0d2f95fe602fb746e4369bc6d8e2c3a836afa4 Author: Felix Johnson AuthorDate: 2024-10-27 00:46:41 +0000 Commit: Kevin Bowling CommitDate: 2024-10-30 01:01:30 +0000 ix.4: document LOADER TUNABLES PR: 213026 Co-authored-by: Alexander Ziaee (cherry picked from commit a340b4649621f0dbc0607115217889909ce33bd1) --- share/man/man4/ix.4 | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/share/man/man4/ix.4 b/share/man/man4/ix.4 index 32b5386ea7d4..4f90ded1e3ee 100644 --- a/share/man/man4/ix.4 +++ b/share/man/man4/ix.4 @@ -86,6 +86,42 @@ Intel(R) 82598EB 10 Gigabit AF Network Connection .It Intel(R) 82598EB 10 Gigabit AT CX4 Network Connection .El +.Sh LOADER TUNABLES +The +.Nm +driver supports the following loader tunables: +.Bl -tag -width "hw.ix.allow_unsupported_sfp" +.It Va hw.ix.max_interrupt_rate +Maximum interrupts per second. +.It Va hw.ix.flow_control +Default flow control used for all adapters. +.It Va hw.ix.advertise_speed +Default advertised speed for all adapters. +.It Va hw.ix.enable_msix +Enable Message Signalled Interrupts (MSI-X). +.It Va hw.ix.allow_unsupported_sfp +Allow unsupported small form-factor pluggable +.Pq SFP +modules. +Use at your own risk. +.It Va hw.ix.enable_fdir +Enable Flow Director. +Flow Director directs Ethernet packets to the core where the +packet consuming process, application, container, +or microservice is running. +.It Va hw.ix.enable_rss +Enable Receive-Side Scaling (RSS). +When RSS is enabled, all of the receive data processing for +a particular TCP connection is shared across multiple processors +or processor cores. +Without RSS, all of the processing is performed by a single +processor, resulting in inefficient system cache utilization. +This has no effect if your system has only one processing unit. +.It Va hw.ix.enable_aim +Enable Adaptive Interrupt Moderation (AIM). +Vary the interrupt rate over time based on the traffic for +that interrupt vector. +.El .Sh DIAGNOSTICS .Bl -diag .It "ix%d: Unable to allocate bus resource: memory" @@ -113,7 +149,8 @@ issue to .Xr ng_ether 4 , .Xr polling 4 , .Xr vlan 4 , -.Xr ifconfig 8 +.Xr ifconfig 8 , +.Xr sysctl 8 .Sh HISTORY The .Nm From nobody Wed Oct 30 01:02:20 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdTP87205z5bHF5; Wed, 30 Oct 2024 01:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdTP8672Rz4K2t; Wed, 30 Oct 2024 01:02:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QthOGeJGrKfZz1bcksQKcLp8/6lJUncf8dKIuPnt6hI=; b=HF/tbNlXz+An5GYPGJ/O5VIW6Pk+8Npovd1V0faqgECnqI4l0PmeCY+LaswDHV5TlaRs5Y nJs6LTb6ZzMe97KkvyzP/hGl41kcqNwH9MisMRZD2RrLWfkGIVePvfjsMeYN32pgNjK1Hb Ua75dJYnqJRwUhoiC+rgyMi5Jl4zeQZ/NIPvBoLuDSAvFRPjtEN1jqU2TRAHZdy8OVoyiP YBZHB2tFhv675bYRjE/zUX53HmOR90cUYV6EPwQ7T8HSyZFT74yOpVGvPX8X/AMesUptwn od3RGtDQEFAYfXNPWne7CoVwkrxxBAgllW5QK4dXynBVVh3+fm+rszTsu8DWXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QthOGeJGrKfZz1bcksQKcLp8/6lJUncf8dKIuPnt6hI=; b=L2xgZ6e9UBWTVLkfOS3TTwSc4yS/JVR/0Hx19dawTgtBRGw0uEQYgTOJiZbwr/VyZ1dZBZ oKpksqKqqIwReOf5N4vQDT4qO0RxnFPY1yU3aBKz/FtYX2hQngWr1MbTUSjQOQvOwYFaf2 ciwx2jKIhkfXJWCIATWou1nZjdBvzqCnlfJzVSgsm3YNlgUlFEJIht4YDmna/eeDqRdL47 Jvqe4P5FRnO4bGsFg2jtBOC+TA9l8AfKq+gvp8RQWu9Ec+RbrnQLAwD8LpLnlHQrDbEa9e LUpvc06ttstPoDNSd+HFj3Dn6rD7oXHA1VTGXUWZnTKLJ1G+yQsgP6TiCNQX2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730250140; a=rsa-sha256; cv=none; b=qsUxsK5U37AUK/3tyc2AGACzgcIL6SOCBtBiSXrtNDGCF6p9dot9PdiwbueJ9TEofKoD43 LJhdFMqlMxg9VKT0FgiDasgYbN5L/MpJBzIjXSI0IvtcHuoff35iysRCR/gIaMrQM4VhoE GmWFFWxD3PZ0KfZDq4OyWpRU28pekiWZJ+oRRG3s2L8b6RCmlNQUiqq7LewKHrf0H0f+JI gLKWfZqNqEqGOHptdSyIR7mS4LBNahbhXj7YA8MSK4TjBTNsgDikRyZvDQy04y+wFFiF4k T/xWWPLoI3mGBItt83zC2m9BKyOytarCeedo4O0XVIoDSyjEDFDqcSj6LW6Kvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdTP85X8szmQT; Wed, 30 Oct 2024 01:02:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U12KZh023209; Wed, 30 Oct 2024 01:02:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U12KaE023206; Wed, 30 Oct 2024 01:02:20 GMT (envelope-from git) Date: Wed, 30 Oct 2024 01:02:20 GMT Message-Id: <202410300102.49U12KaE023206@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: f2793040b88c - stable/14 - ix.4: describe better List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f2793040b88c14a18be6a8883d2e9dc40bdf082a Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=f2793040b88c14a18be6a8883d2e9dc40bdf082a commit f2793040b88c14a18be6a8883d2e9dc40bdf082a Author: Alexander Ziaee AuthorDate: 2024-10-27 00:55:59 +0000 Commit: Kevin Bowling CommitDate: 2024-10-30 01:01:42 +0000 ix.4: describe better + add controller name to title for search keywords - remove "for the freebsd operating system" from title/search keywords - remove `(R)` from the page title for consistency with other drivers - increase specificity of HARDWARE for inclusion in Release HW Notes - order HARDWARE in reverse chronological so non-eol appear first - s/PCI/PCIe/ Reported by: kbowling (additional hardware supported) Pull Request: https://github.com/freebsd/freebsd-src/pull/1494 (cherry picked from commit 2d28fd51e5b9d8ef184445dfa204f6ba22d460a5) --- share/man/man4/ix.4 | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/share/man/man4/ix.4 b/share/man/man4/ix.4 index 4f90ded1e3ee..418b6e1188ab 100644 --- a/share/man/man4/ix.4 +++ b/share/man/man4/ix.4 @@ -29,12 +29,12 @@ .\" .\" * Other names and brands may be claimed as the property of others. .\" -.Dd May 17, 2023 +.Dd October 26, 2024 .Dt IX 4 .Os .Sh NAME .Nm ix -.Nd "Intel(R) 10Gb Ethernet driver for the FreeBSD operating system" +.Nd Intel 10Gb Ethernet driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -53,8 +53,7 @@ if_ix_load="YES" .Sh DESCRIPTION The .Nm -driver provides support for PCI 10Gb Ethernet adapters based on -the Intel 82598EB Intel(R) Network Connections. +driver provides support for Intel(R) 10Gb Ethernet PCIe adapters. The driver supports Jumbo Frames, MSIX, TSO, and RSS. .Pp For questions related to hardware requirements, @@ -74,17 +73,26 @@ For information on enabling VLANs, see .Sh HARDWARE The .Nm -driver supports the following cards: +driver supports Intel 10Gb Ethernet PCIe adapters, +including: .Pp .Bl -bullet -compact .It -Intel(R) 10 Gigabit XF SR/AF Dual Port Server Adapter +Intel(R) Ethernet X553 .It -Intel(R) 10 Gigabit XF SR/LR Server Adapter +Intel(R) Ethernet X552 .It -Intel(R) 82598EB 10 Gigabit AF Network Connection +Intel(R) Ethernet X550 .It -Intel(R) 82598EB 10 Gigabit AT CX4 Network Connection +Intel(R) Ethernet X540 Bypass +.It +Intel(R) Ethernet X540 +.It +Intel(R) Ethernet X520 Bypass (82599) +.It +Intel(R) Ethernet X520 (82599) +.It +Intel(R) 10 Gigabit Server Adapter (82598EB) .El .Sh LOADER TUNABLES The From nobody Wed Oct 30 01:02:21 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdTPB0lVDz5bGxv; Wed, 30 Oct 2024 01:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdTP96SF7z4Jph; Wed, 30 Oct 2024 01:02:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iG0hoEEhiKoHJBZoEIf9Qn1K2o/EpT6qmw2bKuvyeGM=; b=tJdyQwzMUXO+G+/6w/FwlAFh1HfodLfbw/+DGYc3Z01Mu88YqqSszSnM2Rrb4elNsFHbnt dzkq4eodSbDAPAuI0L06e5N1AY+xO8VubhPC/fUzW8wSSK+3lpEF/e88JS8Zir1UDKp+Xk SsPHmIu079vwyLwpIuqK9Y/e8jkvX/6Ph/s0xdGcAAArLVy7IhoXRjhCSKARIyyrGMI/TZ 93bIfIpIeGVq9kjTXNmxTiVlNk/5X7O830TTu8GvtaU4WFWr2DiV13BXw9u8ZeKlJDhW/2 TWuzHh3snlete+rBdLgPXvjzwc0lIyHnga+kk6HMEz2lwuBv94nJ2jmr0G60sQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iG0hoEEhiKoHJBZoEIf9Qn1K2o/EpT6qmw2bKuvyeGM=; b=ZZ/BVBAMi0cT1nnbWbXXOlJKEu3o0jT7DitObB5GBxnMRFyPsAslanrmPp8f7ioKkTfVpm twNoD5NYfz9w3Jpu2pVk1FcAez9HenEy2PCgBIyd0cY9vEzcmNCChdaLUvBS1XGB0oPHH+ PyeOz5FJqI3NkfEentpShZT/A4OXEZXHPGLBYTUPXzMnMVkj7cT0GnJY66bduOJpIRgqwv Uig3dIEZjBCP7Hamxb3hw92tS16twpNuuFnF/QQHXpkhm8Mb2bJPkuYqctBfOM3QWbvrxa eQxbHs5JoEqpvTzivgN1a6r5UyfKyemZ6GjTo2sJDjjUzfyMAkSBDEQvljVRYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730250141; a=rsa-sha256; cv=none; b=k/2PG6a4UKbX3YiAc1FTbU6DtUI4VceTZfo8rbd6nBViVNRq+gcupDJ2XSniNNbstKLQ+K joW3rVnXaXaxmoZmP/4y5S1kY30Hq8uoS0MmHTLyPCAJ9To2VoOe9VdIesOCI4uoxYbjhk VgfHGYsoZELZk44KVQrC6E7gi2bk7AH775U+Kr0XJOpuh/tQ3r6IE80TrGDA8JuaLjupHd u0zcaDzbwi92OTG4B3jN935BsNNPaRUp+fIJ0KiYnXSgH43xxz5V7HVgZxodR+7KcglsCB IAXVfGElVuVKoea+qVW8TU69kDkMpk15v8GuYDeVm0NJeCoa16EiaT/Mpzqa9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdTP964gyzm2j; Wed, 30 Oct 2024 01:02:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U12LRl023258; Wed, 30 Oct 2024 01:02:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U12LqX023255; Wed, 30 Oct 2024 01:02:21 GMT (envelope-from git) Date: Wed, 30 Oct 2024 01:02:21 GMT Message-Id: <202410300102.49U12LqX023255@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 68dc2d295b64 - stable/14 - ix.4: update crossreferences to ixgbe.4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 68dc2d295b64526ef0df008c458501b8add876da Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=68dc2d295b64526ef0df008c458501b8add876da commit 68dc2d295b64526ef0df008c458501b8add876da Author: Alexander Ziaee AuthorDate: 2024-10-27 01:54:00 +0000 Commit: Kevin Bowling CommitDate: 2024-10-30 01:01:54 +0000 ix.4: update crossreferences to ixgbe.4 Pull Request: https://github.com/freebsd/freebsd-src/pull/1494 (cherry picked from commit cadb71e4b013925c145dd5e0726a3594111410cb) --- share/man/man4/altq.4 | 2 +- share/man/man4/ixl.4 | 2 +- share/man/man4/netmap.4 | 2 +- share/man/man4/vlan.4 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/share/man/man4/altq.4 b/share/man/man4/altq.4 index 4761daa8d37e..d81d2dfe5de2 100644 --- a/share/man/man4/altq.4 +++ b/share/man/man4/altq.4 @@ -143,7 +143,7 @@ They have been applied to the following hardware drivers: .Xr fxp 4 , .Xr gem 4 , .Xr igb 4 , -.Xr ixgbe 4 , +.Xr ix 4 , .Xr jme 4 , .Xr le 4 , .Xr liquidio 4 , diff --git a/share/man/man4/ixl.4 b/share/man/man4/ixl.4 index 8397bd99a5e7..bd183be48cd2 100644 --- a/share/man/man4/ixl.4 +++ b/share/man/man4/ixl.4 @@ -209,7 +209,7 @@ When the driver is finding the last TX descriptor processed by the hardware, use a value written to memory by the hardware instead of scanning the descriptor ring for completed descriptors. Enabled by default; disable to mimic the TX behavior found in -.Xr ixgbe 4 . +.Xr ix 4 . .El .Sh SYSCTL PROCEDURES .Bl -tag -width indent diff --git a/share/man/man4/netmap.4 b/share/man/man4/netmap.4 index e258b60e11f6..5a12f8f32465 100644 --- a/share/man/man4/netmap.4 +++ b/share/man/man4/netmap.4 @@ -827,7 +827,7 @@ On .Xr em 4 , .Xr iflib 4 .Pq providing Xr igb 4 and Xr em 4 , -.Xr ixgbe 4 , +.Xr ix 4 , .Xr ixl 4 , .Xr re 4 , .Xr vtnet 4 . diff --git a/share/man/man4/vlan.4 b/share/man/man4/vlan.4 index 775eb3235c07..25405172ed62 100644 --- a/share/man/man4/vlan.4 +++ b/share/man/man4/vlan.4 @@ -130,7 +130,7 @@ in hardware: .Xr cxgbe 4 , .Xr em 4 , .Xr igb 4 , -.Xr ixgbe 4 , +.Xr ix 4 , .Xr jme 4 , .Xr liquidio 4 , .Xr msk 4 , From nobody Wed Oct 30 01:03:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdTQk5zDnz5bHHh; Wed, 30 Oct 2024 01:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdTQk5DJHz4LZr; Wed, 30 Oct 2024 01:03:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=32PXllp2KO8kAZozepnpcc1Gb8aWRCYhT1IIlOxdoNY=; b=muNhk5CSvMVXM20qZRFtIlCl8LLwiYr/Ni2MJg64ZCFRaRIxF510SAPb25DBBqJqj3W/5A eJpJSmUXLoDAdJK5uuf8Fgr5tYT9uOG8lkWRCMoJ9Reb8lqUVFLWpBkD1dEbEeux2HIgQ1 AwgfKsxfma8RfHYdgOp1fNXLNBeDZwMzTR9Ad5RX8GWAFjNMcMSckIKrCLP50TTmgpaU9+ JAU5Lahb53wHbtH99jFPc+2PFqEa3EaGtlDd4fDPLBrNbLrhYHl4g62aOiF6dCEv5itOUv 75NY3YckamARk9bdCTh6ZX42IGlN+kSbWHPtpxbkK4MXqsT0gxio+CUIY+PRgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=32PXllp2KO8kAZozepnpcc1Gb8aWRCYhT1IIlOxdoNY=; b=Jmd6LV4ZV65zjEh7T+NzYSrm4pCWcg/vgTlgLOSmTT0AZIiirV54dRzevVDbZD9FmDRE1S IhZmuJsjpQYsSCZ4cEhl1nEmBN2UV9zgo7T8KBjzpeenS9aObrkvvZGDgx+Xj5LeCOgGzp bsFVn0Hz9wBIKNty0IXtQasLqFUvg+Y8eBLwA28iUh8+YP727bDgoQq8H8o2fkBYvZc5mk w+Ch10YsX3n+AI2YuH/h0mqzf3f0wfPy/YFvEBxqDoENhwojdxAOTp+35AuWmYVB4Pfpf4 SrNcT2JvzqJCGYbLN7JmIej6BDp3AHvxuFJrnylMdTPI60n+dOnfoEcRzkPJbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730250222; a=rsa-sha256; cv=none; b=eYgOoqhgU88QfmBdsk7e42IM/fft+2DQDz36O3OoMA+nt1eNcNxGM0uJeitNBdpEpKPKHB lm+2Xl0PbClFIEM3EWgb9iQ/YLD3T3+GlbSEj7ztpgt50GZx/hRcmQ15uz0woA1W6tNkzO JXqoybjiSEci9IbKQisuY3XLKdOid019sumHOCGhJ99jbC6/ncLIYQQQCUHmSNlGDAw0BQ UpjlHbEJZz6YBEmEaxdK7MZWwg38849FK/Ck9DZFQy4xX/7O/V7SehxNFuriw3m+gyitWr if1PJB8QGWhfOYLuMncNftjtgzteGSrCqsf7MfJvIfSw38bLDSs+Fl9o8ZMjig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdTQk4qWFzmpx; Wed, 30 Oct 2024 01:03:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U13gxp023830; Wed, 30 Oct 2024 01:03:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U13gWM023827; Wed, 30 Oct 2024 01:03:42 GMT (envelope-from git) Date: Wed, 30 Oct 2024 01:03:42 GMT Message-Id: <202410300103.49U13gWM023827@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 453f85caa93a - stable/13 - ixv: Check cap return before MSI-X enable write List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 453f85caa93a431911b66b2cd781595e4ebd59ec Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=453f85caa93a431911b66b2cd781595e4ebd59ec commit 453f85caa93a431911b66b2cd781595e4ebd59ec Author: Jeremiah Lott AuthorDate: 2024-10-27 07:18:54 +0000 Commit: Kevin Bowling CommitDate: 2024-10-30 01:02:46 +0000 ixv: Check cap return before MSI-X enable write In the QEMU workaround code in if_ixv.c, the ixv driver calls pci_find_cap(dev, PCIY_MSIX, &rid). It is not checking the return code from that function and the function appears to always be failing. This then causes the driver to use the rid variable uninitialized, which will mean setting a bit at an arbitrary offset in pci config space. For now, this seems to have no adverse impact, but it could easily cause very subtle problems. PR: 207037 Sponsored by: BBOX.io (cherry picked from commit b87b3696c973ef0a9df70143cd89f6b488531e93) --- sys/dev/ixgbe/if_ixv.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sys/dev/ixgbe/if_ixv.c b/sys/dev/ixgbe/if_ixv.c index 91ed47df429d..1a9514dc5b07 100644 --- a/sys/dev/ixgbe/if_ixv.c +++ b/sys/dev/ixgbe/if_ixv.c @@ -1073,11 +1073,14 @@ ixv_if_msix_intr_assign(if_ctx_t ctx, int msix) */ if (sc->hw.mac.type == ixgbe_mac_82599_vf) { int msix_ctrl; - pci_find_cap(dev, PCIY_MSIX, &rid); - rid += PCIR_MSIX_CTRL; - msix_ctrl = pci_read_config(dev, rid, 2); - msix_ctrl |= PCIM_MSIXCTRL_MSIX_ENABLE; - pci_write_config(dev, rid, msix_ctrl, 2); + if (pci_find_cap(dev, PCIY_MSIX, &rid)) { + device_printf(dev, "Finding MSIX capability failed\n"); + } else { + rid += PCIR_MSIX_CTRL; + msix_ctrl = pci_read_config(dev, rid, 2); + msix_ctrl |= PCIM_MSIXCTRL_MSIX_ENABLE; + pci_write_config(dev, rid, msix_ctrl, 2); + } } return (0); From nobody Wed Oct 30 01:03:43 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdTQm1Lgsz5bGsk; Wed, 30 Oct 2024 01:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdTQl6Sppz4LVZ; Wed, 30 Oct 2024 01:03:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rda/RlSsiQ44aG3L0yPmF2qGznTxDZjwuOBjzgIhS5o=; b=D9ttvBc9uxV5Y2WQw3Q1l7XZPbOrUQt5JzVwWnlYJ9JLKRgzcCDaP4NfxZJi5lEBhScVKN Ab2Uk6YApgWDQ832uSTTcp8KWZUk10H/8LDJFJVnSrcIYCSWytLdsXPDZdkrD9P00an/S0 7keso1eirUPbuT7wXu91e5Fg3jXjhhKSDvZGIHnMhYtCtx2JOfeQ6y6Cl+mt6pzJZfalPi rmeoELe4zPrj87wX5M4y4hjB4qBVjs7Gob6Ujx2i4n+/F4X0yEPAz97gqG5j2PMg0hoqMz yvei3wdpNO6OrIzL5vxHVt/o5Xrv+HkElgragKHZT6wsw5YTke8DIirIW2vIHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rda/RlSsiQ44aG3L0yPmF2qGznTxDZjwuOBjzgIhS5o=; b=LGSy5sYey7PI0ONKfJZmTc9ssrw2WT31m66zvcXg+geKKuz5ofZOkJ8eTFoF+SxcgVnBhC VZ9ODFDr6nXn0pxUn5B93yzsQW4bJ9DBBh7mmEVtnVKfZj7OVX+W8DouUzJrNtz5eY9S9C VIYdsiWj5a/jquktx9dgc28t58/5j6FLdp5kBvApVBmoadLB239SbAPY5leKMcTRxVfdb1 d1Daw6VHP8wy0kib8u6WmjN1WunGc34PGF9aKpbwOAKQ5r6e1/cTOFGTFjPiaGbFY7KYLw 3ovoe4cSPMYVk6BILAHzmY1yh8F35EDFoZnB2UWgvQTk/Lw8ICvpjk+zfN+IpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730250223; a=rsa-sha256; cv=none; b=b4awfIFVBjqjWZnKabEQckKhwJakZba8iu738aFIj9X3CVw17C/7yWMOie8zAORTJHGwNZ pp69yPhkdmZCZH81yRbWHUHF7A5ApKm4kwMRmd/vuZ6WtiAJYLoz/bMiWb+atpaYqKkbKV PBsPWvRLNmVrh8cCDNJWVynfPOa6Btm+cbQ2W3gFepm86J+4HKqIf37dGlYkiuz1Ve4eAi 7Et1Bj69qgH8kQ8IHtKJ2aOfSMK08t0pAGdNzhKJSAfY27OYv+hYSVR3Mts0+ebYDtfLWv kIDIhRL0IbHgjPllMoQtAUbTsmwP4JyT2cFtmv1BJyenm0vsv5KLdCKPc2BbtQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdTQl64HhzmqT; Wed, 30 Oct 2024 01:03:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U13htn023874; Wed, 30 Oct 2024 01:03:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U13h10023871; Wed, 30 Oct 2024 01:03:43 GMT (envelope-from git) Date: Wed, 30 Oct 2024 01:03:43 GMT Message-Id: <202410300103.49U13h10023871@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: c07626eaa21a - stable/13 - ixgbe.4: rename to ix.4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c07626eaa21aadf07592f3d261151ad6c36e4360 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=c07626eaa21aadf07592f3d261151ad6c36e4360 commit c07626eaa21aadf07592f3d261151ad6c36e4360 Author: Felix Johnson AuthorDate: 2024-10-27 00:26:34 +0000 Commit: Kevin Bowling CommitDate: 2024-10-30 01:02:57 +0000 ixgbe.4: rename to ix.4 PR: 213026 Reported by: Sergey Akhmatov Co-authored-by: Alexander Ziaee (cherry picked from commit d8b48a267fc0f737a13cb52dc1071981ecb1e003) --- share/man/man4/Makefile | 8 ++++---- share/man/man4/{ixgbe.4 => ix.4} | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 727768ae5bea..d961e7f17879 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -260,7 +260,7 @@ MAN= aac.4 \ iwnfw.4 \ iwlwifi.4 \ iwlwififw.4 \ - ixgbe.4 \ + ix.4 \ ixl.4 \ jedec_dimm.4 \ jme.4 \ @@ -716,9 +716,9 @@ MLINKS+=iwi.4 if_iwi.4 MLINKS+=iwlwifi.4 if_iwlwifi.4 MLINKS+=iwm.4 if_iwm.4 MLINKS+=iwn.4 if_iwn.4 -MLINKS+=ixgbe.4 ix.4 -MLINKS+=ixgbe.4 if_ix.4 -MLINKS+=ixgbe.4 if_ixgbe.4 +MLINKS+=ix.4 if_ix.4 +MLINKS+=ix.4 if_ixgbe.4 +MLINKS+=ix.4 ixgbe.4 MLINKS+=ixl.4 if_ixl.4 MLINKS+=iavf.4 if_iavf.4 MLINKS+=jme.4 if_jme.4 diff --git a/share/man/man4/ixgbe.4 b/share/man/man4/ix.4 similarity index 95% rename from share/man/man4/ixgbe.4 rename to share/man/man4/ix.4 index ccdf50cf9674..32b5386ea7d4 100644 --- a/share/man/man4/ixgbe.4 +++ b/share/man/man4/ix.4 @@ -30,10 +30,10 @@ .\" * Other names and brands may be claimed as the property of others. .\" .Dd May 17, 2023 -.Dt IXGBE 4 +.Dt IX 4 .Os .Sh NAME -.Nm ixgbe +.Nm ix .Nd "Intel(R) 10Gb Ethernet driver for the FreeBSD operating system" .Sh SYNOPSIS To compile this driver into the kernel, @@ -41,14 +41,14 @@ place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device iflib" -.Cd "device ixgbe" +.Cd "device ix" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent -if_ixgbe_load="YES" +if_ix_load="YES" .Ed .Sh DESCRIPTION The @@ -88,11 +88,11 @@ Intel(R) 82598EB 10 Gigabit AT CX4 Network Connection .El .Sh DIAGNOSTICS .Bl -diag -.It "ixgbe%d: Unable to allocate bus resource: memory" +.It "ix%d: Unable to allocate bus resource: memory" A fatal initialization error has occurred. -.It "ixgbe%d: Unable to allocate bus resource: interrupt" +.It "ix%d: Unable to allocate bus resource: interrupt" A fatal initialization error has occurred. -.It "ixgbe%d: watchdog timeout -- resetting" +.It "ix%d: watchdog timeout -- resetting" The device has stopped responding to the network, or there is a problem with the network connection (cable). .El From nobody Wed Oct 30 01:03:44 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdTQn31zlz5bH7f; Wed, 30 Oct 2024 01:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdTQn0CC9z4LXx; Wed, 30 Oct 2024 01:03:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XZnvk3ZYeuGyl9QQuyY6J8noiEVq95n2fFBnICkxPHU=; b=lOmtR+Y26EVbAyrHQ7jIpEyxrB/SLKKmszyIn2DSbHiC4Y6IbS1P8j7jdedGgEpdf/KfS2 C0fTds9GCX3xpD9X6HmhPoPl0siu5vu3eDRhAeO/JEoKu8WkoOcX1oO/7C5SxZLc2eTMVy I4+jPqBp3BMQWByxvhlppnYJlEIHun3W8zWj8EXukeuwuF+zmbiWK+JoLGvZDVG34nHdXW 89aAi6imdtmNcca3vRxg0f7AeV1IQfLK9KsPV1AjIU4ke4ynpQAZg6rCya2CX9HOHk9Oos DdkMXWJ3AVlXEkku1GKFXtdHc67A8dTjEGR6xJDAwN2enxiVAC1o0Z6bN6Gc/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XZnvk3ZYeuGyl9QQuyY6J8noiEVq95n2fFBnICkxPHU=; b=KUsIGd7+h+SiW1oH4TS9BRC4LePWb+vGuvIfZmaIEAx4HHamxmm19bi5pnvu5JGz4Kgqxk E8cVPbF8t2oTr7yWOhwlWrGICf+BZAsXdUvC0XCBFOKAMCWIk4NZjpcMzzwAt594MyYJL7 9VAe1jqJplHu1Clk0aoDwnuzM1d4tlja4iMREtdk8HNzg6OiwsryaJgH5Jm61OxhZ4hJjX ebcFM1w1SKtsk2Mnze8sQWC7W6WEkDq4Y3FUfGjzBNqRr9CowhOegU9EuMojHsV/Cc54hJ +EehBL4yEpdzq+wN5/aZZbbxSVb2Kwb+X/ntt4Mi0jXt9s7n3RKw6s4ffPWNfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730250225; a=rsa-sha256; cv=none; b=luaVbFsNh200WHytdbN4/KAph3gQIbxImoYNfXFkTyj5g8VfFvL1JqNY5Q67wiVQeL+4iI EuNBi6DFvja2u49zDMm2hHLQlK7otC3tfTjFs75cX3D7EDTaPoj6qtx8/7N2Ol0lpuyBiJ Gn9++PBW4hCcFX1rO9FjpiU1U3O9Af3FWiKT75i1ePV1um6T9KdEr3GcZhOpAtxWmuQZza SiaQnyeoSlvj97dMrY/zs74CPQqJf0KIEgVfZoZeODfZsOAKblAHwmDqEjPswWMJbe9kLO uyzDjwEH9T4Bi8if40LSme//p2nkMoFv43PNzU+BtcRpOOXVOCk0q5QkHo/NRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdTQm6wx7zmpy; Wed, 30 Oct 2024 01:03:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U13irE023925; Wed, 30 Oct 2024 01:03:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U13itO023921; Wed, 30 Oct 2024 01:03:44 GMT (envelope-from git) Date: Wed, 30 Oct 2024 01:03:44 GMT Message-Id: <202410300103.49U13itO023921@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 923e8f418cb8 - stable/13 - ix.4: document LOADER TUNABLES List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 923e8f418cb804385e0bdc3ce102abb534fdf948 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=923e8f418cb804385e0bdc3ce102abb534fdf948 commit 923e8f418cb804385e0bdc3ce102abb534fdf948 Author: Felix Johnson AuthorDate: 2024-10-27 00:46:41 +0000 Commit: Kevin Bowling CommitDate: 2024-10-30 01:03:09 +0000 ix.4: document LOADER TUNABLES PR: 213026 Co-authored-by: Alexander Ziaee (cherry picked from commit a340b4649621f0dbc0607115217889909ce33bd1) --- share/man/man4/ix.4 | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/share/man/man4/ix.4 b/share/man/man4/ix.4 index 32b5386ea7d4..4f90ded1e3ee 100644 --- a/share/man/man4/ix.4 +++ b/share/man/man4/ix.4 @@ -86,6 +86,42 @@ Intel(R) 82598EB 10 Gigabit AF Network Connection .It Intel(R) 82598EB 10 Gigabit AT CX4 Network Connection .El +.Sh LOADER TUNABLES +The +.Nm +driver supports the following loader tunables: +.Bl -tag -width "hw.ix.allow_unsupported_sfp" +.It Va hw.ix.max_interrupt_rate +Maximum interrupts per second. +.It Va hw.ix.flow_control +Default flow control used for all adapters. +.It Va hw.ix.advertise_speed +Default advertised speed for all adapters. +.It Va hw.ix.enable_msix +Enable Message Signalled Interrupts (MSI-X). +.It Va hw.ix.allow_unsupported_sfp +Allow unsupported small form-factor pluggable +.Pq SFP +modules. +Use at your own risk. +.It Va hw.ix.enable_fdir +Enable Flow Director. +Flow Director directs Ethernet packets to the core where the +packet consuming process, application, container, +or microservice is running. +.It Va hw.ix.enable_rss +Enable Receive-Side Scaling (RSS). +When RSS is enabled, all of the receive data processing for +a particular TCP connection is shared across multiple processors +or processor cores. +Without RSS, all of the processing is performed by a single +processor, resulting in inefficient system cache utilization. +This has no effect if your system has only one processing unit. +.It Va hw.ix.enable_aim +Enable Adaptive Interrupt Moderation (AIM). +Vary the interrupt rate over time based on the traffic for +that interrupt vector. +.El .Sh DIAGNOSTICS .Bl -diag .It "ix%d: Unable to allocate bus resource: memory" @@ -113,7 +149,8 @@ issue to .Xr ng_ether 4 , .Xr polling 4 , .Xr vlan 4 , -.Xr ifconfig 8 +.Xr ifconfig 8 , +.Xr sysctl 8 .Sh HISTORY The .Nm From nobody Wed Oct 30 01:03:46 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdTQp4sHMz5bHFT; Wed, 30 Oct 2024 01:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdTQp1bJkz4LMZ; Wed, 30 Oct 2024 01:03:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wcnVXRYKcgGBbo3F4oLluxZprcTpgCQ9aey8DsgmpQc=; b=xykx0f4njLR33lAseqifTEB7QdyBPR7dJ1zxCwuyv46nub9nAg14kipAFVgbz5OrIbF7OM 3V+Gp4GTcBnqwVCReCn9ApPClxudSvSt1vy5oE+DFB7Ot78Z4ifl7pABLf0jFZ0eIK8BB3 GcVxpPOS/Zty2gQkztAi+FHNdbxpppwY52UOw0ManoFzotMadYmTiQLPna5uG1sUge1Qt9 g0tKZMLvuaO6LeE6om9aMrj0fQ8EImGW9Jj2+ennS57wnkBbRv5CX9zI25Z1bf6JpDgLo3 t4IYVH01ZtO/bAS6z/ekK2+Qx+tSSzCQdV9Tl6uj5SDGhJtn3MYgUvQ+igla9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wcnVXRYKcgGBbo3F4oLluxZprcTpgCQ9aey8DsgmpQc=; b=HAfj/+ETwWljbhQnacxeJdyqP/WxwGLdpEmWJeqfMLZtQ4Ms/PYJv49pZa9p3LiBq+nVG0 lryUU/qYxxMhwz6yGDePGOurcdvkBc8XKcZw4e5s4vnO3Lg/Qi3zStn2qLwZ7JYPZcR6/z lAGLFoMFjMkkk31fWTDvuG0glI9tPGWXsl+dJTSA2UfvmWwYj1TeV9i6O1DUl62XTa/kB8 WYr6hgoAbJUOkEwy49NcULI+V+h+se9Bnvx6MPmDA3asEfafM+k8zlbcrf6lc9OO0P2slz dIbQFULME4WNuvrRC2zTSC1of0MfmYUsTnz6TCGgkDXEN+PCL3id2DwT3qu9tw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730250226; a=rsa-sha256; cv=none; b=H+UNrA6VIrZB3rQR1gqoktLlRG4sCeUlQ5Bh/T3eA9hTKXr2GtIoAKNR8We/mnOJ0rn+cp 95s1Eb97CK9UgFG1Gut81mONPv2ANE2KAgKWnum/amKPRB6GjyWwF8t175hfAFGtpbgU6J HhsFlF3QTc/qnbtGVuSmReS1cFL/V/krhYgJbHArHIIKHoy9ZRxuGtgI4h0zOhAWiWlXPm W7dxDw31+r9h1hjHsiavKj8YXqzhTd+i0+Nc9+q1q8A3rstXgv9/1tjJRiZnoh97ZmOztC kmtjXIZJJS0j18F3q0URfX5vtt5k8KrjSVI9IECd/NWzrh/UFUoGPKmWunhiGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdTQp0n23zmqV; Wed, 30 Oct 2024 01:03:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U13kSO023968; Wed, 30 Oct 2024 01:03:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U13kcF023965; Wed, 30 Oct 2024 01:03:46 GMT (envelope-from git) Date: Wed, 30 Oct 2024 01:03:46 GMT Message-Id: <202410300103.49U13kcF023965@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 7b518a4b647e - stable/13 - ix.4: describe better List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7b518a4b647ed675949d51bbb889eb2e176e672a Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=7b518a4b647ed675949d51bbb889eb2e176e672a commit 7b518a4b647ed675949d51bbb889eb2e176e672a Author: Alexander Ziaee AuthorDate: 2024-10-27 00:55:59 +0000 Commit: Kevin Bowling CommitDate: 2024-10-30 01:03:21 +0000 ix.4: describe better + add controller name to title for search keywords - remove "for the freebsd operating system" from title/search keywords - remove `(R)` from the page title for consistency with other drivers - increase specificity of HARDWARE for inclusion in Release HW Notes - order HARDWARE in reverse chronological so non-eol appear first - s/PCI/PCIe/ Reported by: kbowling (additional hardware supported) Pull Request: https://github.com/freebsd/freebsd-src/pull/1494 (cherry picked from commit 2d28fd51e5b9d8ef184445dfa204f6ba22d460a5) --- share/man/man4/ix.4 | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/share/man/man4/ix.4 b/share/man/man4/ix.4 index 4f90ded1e3ee..418b6e1188ab 100644 --- a/share/man/man4/ix.4 +++ b/share/man/man4/ix.4 @@ -29,12 +29,12 @@ .\" .\" * Other names and brands may be claimed as the property of others. .\" -.Dd May 17, 2023 +.Dd October 26, 2024 .Dt IX 4 .Os .Sh NAME .Nm ix -.Nd "Intel(R) 10Gb Ethernet driver for the FreeBSD operating system" +.Nd Intel 10Gb Ethernet driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -53,8 +53,7 @@ if_ix_load="YES" .Sh DESCRIPTION The .Nm -driver provides support for PCI 10Gb Ethernet adapters based on -the Intel 82598EB Intel(R) Network Connections. +driver provides support for Intel(R) 10Gb Ethernet PCIe adapters. The driver supports Jumbo Frames, MSIX, TSO, and RSS. .Pp For questions related to hardware requirements, @@ -74,17 +73,26 @@ For information on enabling VLANs, see .Sh HARDWARE The .Nm -driver supports the following cards: +driver supports Intel 10Gb Ethernet PCIe adapters, +including: .Pp .Bl -bullet -compact .It -Intel(R) 10 Gigabit XF SR/AF Dual Port Server Adapter +Intel(R) Ethernet X553 .It -Intel(R) 10 Gigabit XF SR/LR Server Adapter +Intel(R) Ethernet X552 .It -Intel(R) 82598EB 10 Gigabit AF Network Connection +Intel(R) Ethernet X550 .It -Intel(R) 82598EB 10 Gigabit AT CX4 Network Connection +Intel(R) Ethernet X540 Bypass +.It +Intel(R) Ethernet X540 +.It +Intel(R) Ethernet X520 Bypass (82599) +.It +Intel(R) Ethernet X520 (82599) +.It +Intel(R) 10 Gigabit Server Adapter (82598EB) .El .Sh LOADER TUNABLES The From nobody Wed Oct 30 01:03:47 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdTQq32Rfz5bH8Y; Wed, 30 Oct 2024 01:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdTQq2Bh6z4LW7; Wed, 30 Oct 2024 01:03:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BO4MSkEfHxMEinVKWcFXWkbLmMgNu36TPrsDV5Dd9ZI=; b=u+RIFxDT2nnP2xJStUybHXcF1FzCg40IUlxOJFKM9FUIPJebs814GryKMCp4BQ95v170+9 dsi0WJuawKDOqxSlQQhjHV+S/UqQ4OCjg81iL1h9i2CNPF/wJX302xcLVSENp53lm2B6Zr JKXpPcJtxlVpwz05uodT35OdhtbNIRPr+tqblSoxL4CBO+h0jEZoG3P1SX0mOFHx2v6g0D +iWcCWU1+a0uTleyRCvd4XQKoHd6ZpGsRUxgAJBi7czWe5g+YHKAvLjAjNRFxnSj5El7qA 9X98ak6ngoRXbqidRsfz2R9t3Pk1o7SAgTHgSzyD18CLW/6idDEXmh9lGgof5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BO4MSkEfHxMEinVKWcFXWkbLmMgNu36TPrsDV5Dd9ZI=; b=Px96thP488cWDUEmosDhlQBoG+PUD2tlnjOv1PjHvEyZHHA6mi1ivE0U00l+UVi2AqrDId Rt0o6Xwrm2LSmSb3iNxAGDKwLw7feMCKd8cWgcMiJfhOz3lsPRiL/9uPgfOLN/Q66mtgdr SApFuRBTF2ed1y6pwMyRlSDPmZ2jZgtEFioDZ94c5C6zL06qR0JNZgWTwX1g0rhBPjQyb9 EVDdy8rwseXT4WHNfwdppNx6ZAhaybzti440mQVGEw3EpgeOvS79eGyOzybxfg2Ea9gBg9 Hw2n8P8VRuYpp7R7iBmFkRTljnbw2Oi+xYmOMITVdiK0DZKiaqlkgKGm1Nlvcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730250227; a=rsa-sha256; cv=none; b=Br9pOJeKrt8UT++v5My2u5vBPLubDDepghMfs6SdSVZmOzaTn+1sXH94xk6COl2IvOu2rl lTHC1pSpJDrc6ch9DaHYinu6af6GCto4DJEIDgeev84wydCoj41FQpz2f9s1hmVLUKdQYY zkj/t7GOfXvs69W9f1BgG8fAeN4UM3BME+FtDbuiJgdZDKupTsV/NO4kK/RylsWeLUDUmy M/skStNITTjBt10Gzsja8U+WWtH9SzhZDt6xDULrYpPE3fgPZqzxp25x8gT7OcP1o2RccK jaS4LZBz2QSiUafFledW5jOKlTVXqQ/v7VNXXWoia18Xu6FDWgpcNuvN9ri1Bw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdTQq1n5gzmqW; Wed, 30 Oct 2024 01:03:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U13lH8024011; Wed, 30 Oct 2024 01:03:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U13lKT024008; Wed, 30 Oct 2024 01:03:47 GMT (envelope-from git) Date: Wed, 30 Oct 2024 01:03:47 GMT Message-Id: <202410300103.49U13lKT024008@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 68b28407b67f - stable/13 - ix.4: update crossreferences to ixgbe.4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 68b28407b67f52d0dbd3e7c095fa5329c1453de3 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=68b28407b67f52d0dbd3e7c095fa5329c1453de3 commit 68b28407b67f52d0dbd3e7c095fa5329c1453de3 Author: Alexander Ziaee AuthorDate: 2024-10-27 01:54:00 +0000 Commit: Kevin Bowling CommitDate: 2024-10-30 01:03:33 +0000 ix.4: update crossreferences to ixgbe.4 Pull Request: https://github.com/freebsd/freebsd-src/pull/1494 (cherry picked from commit cadb71e4b013925c145dd5e0726a3594111410cb) --- share/man/man4/altq.4 | 2 +- share/man/man4/ixl.4 | 2 +- share/man/man4/netmap.4 | 2 +- share/man/man4/vlan.4 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/share/man/man4/altq.4 b/share/man/man4/altq.4 index fc51b88e88b5..b1d6f556dd48 100644 --- a/share/man/man4/altq.4 +++ b/share/man/man4/altq.4 @@ -144,7 +144,7 @@ They have been applied to the following hardware drivers: .Xr fxp 4 , .Xr gem 4 , .Xr igb 4 , -.Xr ixgbe 4 , +.Xr ix 4 , .Xr jme 4 , .Xr le 4 , .Xr liquidio 4 , diff --git a/share/man/man4/ixl.4 b/share/man/man4/ixl.4 index 8397bd99a5e7..bd183be48cd2 100644 --- a/share/man/man4/ixl.4 +++ b/share/man/man4/ixl.4 @@ -209,7 +209,7 @@ When the driver is finding the last TX descriptor processed by the hardware, use a value written to memory by the hardware instead of scanning the descriptor ring for completed descriptors. Enabled by default; disable to mimic the TX behavior found in -.Xr ixgbe 4 . +.Xr ix 4 . .El .Sh SYSCTL PROCEDURES .Bl -tag -width indent diff --git a/share/man/man4/netmap.4 b/share/man/man4/netmap.4 index 3c286a0958e6..08949493a632 100644 --- a/share/man/man4/netmap.4 +++ b/share/man/man4/netmap.4 @@ -827,7 +827,7 @@ On .Xr em 4 , .Xr iflib 4 .Pq providing Xr igb 4 and Xr em 4 , -.Xr ixgbe 4 , +.Xr ix 4 , .Xr ixl 4 , .Xr re 4 , .Xr vtnet 4 . diff --git a/share/man/man4/vlan.4 b/share/man/man4/vlan.4 index 775eb3235c07..25405172ed62 100644 --- a/share/man/man4/vlan.4 +++ b/share/man/man4/vlan.4 @@ -130,7 +130,7 @@ in hardware: .Xr cxgbe 4 , .Xr em 4 , .Xr igb 4 , -.Xr ixgbe 4 , +.Xr ix 4 , .Xr jme 4 , .Xr liquidio 4 , .Xr msk 4 , From nobody Wed Oct 30 03:09:02 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdXCL4S0Lz5bST8; Wed, 30 Oct 2024 03:09: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdXCL3zP4z4XXK; Wed, 30 Oct 2024 03:09:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HIgsot0eHzW0luyjUdPXM43JBHcQl91Y38BABIkCktk=; b=esLAod1sLDXziIua83TOkYicBFkQ2RX63tLMwIA52iTlaykvntrtsbjGQsYEq79S2es5t1 ZlQDmr6c/HRmryTjD/xREuKOTmJs66q6QLbLKP3VwT/PgGutdVdTH4mhbm35xqKVi37afq fSrfKLo2EgoF2KwO0V1MXPIDSxifFALqFtRo8fx2eayGXSl6HDiGdWUnyrR+Iq+bj6xyxa IA96LMtrRXrImEAkUFVeBXWkt5scdYkj/fYIN8rJa9wgYZjZmHTEUZ9lmtfj/cc6NMuIcf EEIi+yNNsNtTmg9nxt8E627ms/yt1erEOX721nlcygN1DHi/5rKOSiuDFi2wvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HIgsot0eHzW0luyjUdPXM43JBHcQl91Y38BABIkCktk=; b=OUUBFirzbLiwECN8YgMlix7nOgkRRjE5dz9HRZL+X/DmcL27FZvIuX2a6HorIjMfIMkV1f 3I5ZVHZwfbbhbfpaRivkHU9JyEn8W6sdJPLf+3nBlGYERibX7OaHz6e5ehHqEpcV60EyTt JRkCxe5x04t863bp1hXLKpG+eEwqi9bQK8gwUf4iibUAu4nRjzmLz04+/yYXUprIFehaeU AtRqt2CVlTkFblIv4Ib7n7b7ML48lb1i0tiGZBhtLw8jaRtlRXBmrod+m023m1SMTCTxjX QABSucLGFcHmNRn+2G1hMOIBrjmvmBV1p9YTCvOhzQAzDfh5o5r4VIUBHkMBkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730257742; a=rsa-sha256; cv=none; b=j/oRgjwC2ItEM4YglFu54TP3PEe6Z5Q8sHuMs9rsdU0UBXb/PlMXAB7wNjBgyR8KTLVdGn ce5gSdpnT9hBZJqfm8bLUgXxWVMo67eqpSa+O1IbdXU93AVXTay/IJo2POWd29O7HiHAvv 9tUH3E63QMgM9tjdgbmE59aC53OSAsu1Yhz1jE/m2napnhVqEbAAvHWXp0kESg2hKB4EH7 m5+PxNchC8wCW1WCXvfS3VGlb+DitjvN1B/pu4Sq/2OdZfrRXUGbndd49d909i6Q0XQrYO 6jf5oltoHqIbpQgGQVKwRiGrdKrnerMU81XmPrsDWUhSM3pLY9sfZOiTqdAVKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdXCL3ZfmzqDc; Wed, 30 Oct 2024 03:09:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U392cS048538; Wed, 30 Oct 2024 03:09:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U392Qi048535; Wed, 30 Oct 2024 03:09:02 GMT (envelope-from git) Date: Wed, 30 Oct 2024 03:09:02 GMT Message-Id: <202410300309.49U392Qi048535@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: 358908d6a337 - stable/14 - DMAR: handle affinity for in-memory data structures List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 358908d6a337ab63d71f03ffce167a1e41036197 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=358908d6a337ab63d71f03ffce167a1e41036197 commit 358908d6a337ab63d71f03ffce167a1e41036197 Author: Konstantin Belousov AuthorDate: 2024-10-22 01:03:25 +0000 Commit: Konstantin Belousov CommitDate: 2024-10-30 02:40:30 +0000 DMAR: handle affinity for in-memory data structures (cherry picked from commit 705090cba428525507fd0e8597cbf1cf8a68ae35) --- sys/x86/iommu/intel_dmar.h | 1 + sys/x86/iommu/intel_drv.c | 33 +++++++++++++++++++++++++++++++++ sys/x86/iommu/intel_idpgtbl.c | 17 ++++++++++++++--- sys/x86/iommu/intel_intrmap.c | 19 +++++++++++++++---- 4 files changed, 63 insertions(+), 7 deletions(-) diff --git a/sys/x86/iommu/intel_dmar.h b/sys/x86/iommu/intel_dmar.h index c3163abf6f92..1a9b5041975c 100644 --- a/sys/x86/iommu/intel_dmar.h +++ b/sys/x86/iommu/intel_dmar.h @@ -109,6 +109,7 @@ struct dmar_unit { struct x86_unit_common x86c; uint16_t segment; uint64_t base; + int memdomain; /* Resources */ int reg_rid; diff --git a/sys/x86/iommu/intel_drv.c b/sys/x86/iommu/intel_drv.c index f4a1ec06b721..22d04029f9ae 100644 --- a/sys/x86/iommu/intel_drv.c +++ b/sys/x86/iommu/intel_drv.c @@ -38,6 +38,7 @@ #include #include +#include #include #include #include @@ -325,12 +326,34 @@ dmar_print_caps(device_t dev, struct dmar_unit *unit, DMAR_ECAP_IRO(unit->hw_ecap)); } +/* Remapping Hardware Static Affinity Structure lookup */ +struct rhsa_iter_arg { + uint64_t base; + u_int proxim_dom; +}; + +static int +dmar_rhsa_iter(ACPI_DMAR_HEADER *dmarh, void *arg) +{ + struct rhsa_iter_arg *ria; + ACPI_DMAR_RHSA *adr; + + if (dmarh->Type == ACPI_DMAR_TYPE_HARDWARE_AFFINITY) { + ria = arg; + adr = (ACPI_DMAR_RHSA *)dmarh; + if (adr->BaseAddress == ria->base) + ria->proxim_dom = adr->ProximityDomain; + } + return (1); +} + static int dmar_attach(device_t dev) { struct dmar_unit *unit; ACPI_DMAR_HARDWARE_UNIT *dmaru; struct iommu_msi_data *dmd; + struct rhsa_iter_arg ria; uint64_t timeout; int disable_pmr; int i, error; @@ -358,6 +381,12 @@ dmar_attach(device_t dev) if (bootverbose) dmar_print_caps(dev, unit, dmaru); dmar_quirks_post_ident(unit); + unit->memdomain = -1; + ria.base = unit->base; + ria.proxim_dom = -1; + dmar_iterate_tbl(dmar_rhsa_iter, &ria); + if (ria.proxim_dom != -1) + unit->memdomain = acpi_map_pxm_to_vm_domainid(ria.proxim_dom); timeout = dmar_get_timeout(); TUNABLE_UINT64_FETCH("hw.iommu.dmar.timeout", &timeout); @@ -424,6 +453,10 @@ dmar_attach(device_t dev) unit->ctx_obj = vm_pager_allocate(OBJT_PHYS, NULL, IDX_TO_OFF(1 + DMAR_CTX_CNT), 0, 0, NULL); + if (unit->memdomain != -1) { + unit->ctx_obj->domain.dr_policy = DOMAINSET_PREF( + unit->memdomain); + } /* * Allocate and load the root entry table pointer. Enable the diff --git a/sys/x86/iommu/intel_idpgtbl.c b/sys/x86/iommu/intel_idpgtbl.c index e1b89571971b..11e71fa864a2 100644 --- a/sys/x86/iommu/intel_idpgtbl.c +++ b/sys/x86/iommu/intel_idpgtbl.c @@ -31,12 +31,13 @@ #include #include #include -#include +#include #include #include #include #include #include +#include #include #include #include @@ -232,6 +233,10 @@ dmar_get_idmap_pgtbl(struct dmar_domain *domain, iommu_gaddr_t maxaddr) tbl->maxaddr = maxaddr; tbl->pgtbl_obj = vm_pager_allocate(OBJT_PHYS, NULL, IDX_TO_OFF(pglvl_max_pages(tbl->pglvl)), 0, 0, NULL); + /* + * Do not set NUMA policy, the identity table might be used + * by more than one unit. + */ VM_OBJECT_WLOCK(tbl->pgtbl_obj); dmar_idmap_nextlvl(tbl, 0, 0, 0); VM_OBJECT_WUNLOCK(tbl->pgtbl_obj); @@ -676,21 +681,27 @@ int dmar_domain_alloc_pgtbl(struct dmar_domain *domain) { vm_page_t m; + struct dmar_unit *unit; KASSERT(domain->pgtbl_obj == NULL, ("already initialized %p", domain)); + unit = domain->dmar; domain->pgtbl_obj = vm_pager_allocate(OBJT_PHYS, NULL, IDX_TO_OFF(pglvl_max_pages(domain->pglvl)), 0, 0, NULL); + if (unit->memdomain != -1) { + domain->pgtbl_obj->domain.dr_policy = DOMAINSET_PREF( + unit->memdomain); + } DMAR_DOMAIN_PGLOCK(domain); m = iommu_pgalloc(domain->pgtbl_obj, 0, IOMMU_PGF_WAITOK | IOMMU_PGF_ZERO | IOMMU_PGF_OBJL); /* No implicit free of the top level page table page. */ vm_page_wire(m); DMAR_DOMAIN_PGUNLOCK(domain); - DMAR_LOCK(domain->dmar); + DMAR_LOCK(unit); domain->iodom.flags |= IOMMU_DOMAIN_PGTBL_INITED; - DMAR_UNLOCK(domain->dmar); + DMAR_UNLOCK(unit); return (0); } diff --git a/sys/x86/iommu/intel_intrmap.c b/sys/x86/iommu/intel_intrmap.c index 122b92827b77..4f69e2d44996 100644 --- a/sys/x86/iommu/intel_intrmap.c +++ b/sys/x86/iommu/intel_intrmap.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -345,10 +346,20 @@ dmar_init_irt(struct dmar_unit *unit) return (0); } unit->irte_cnt = clp2(num_io_irqs); - unit->irt = kmem_alloc_contig(unit->irte_cnt * sizeof(dmar_irte_t), - M_ZERO | M_WAITOK, 0, iommu_high, PAGE_SIZE, 0, - DMAR_IS_COHERENT(unit) ? - VM_MEMATTR_DEFAULT : VM_MEMATTR_UNCACHEABLE); + if (unit->memdomain == -1) { + unit->irt = kmem_alloc_contig( + unit->irte_cnt * sizeof(dmar_irte_t), + M_ZERO | M_WAITOK, 0, iommu_high, PAGE_SIZE, 0, + DMAR_IS_COHERENT(unit) ? + VM_MEMATTR_DEFAULT : VM_MEMATTR_UNCACHEABLE); + } else { + unit->irt = kmem_alloc_contig_domainset( + DOMAINSET_PREF(unit->memdomain), + unit->irte_cnt * sizeof(dmar_irte_t), + M_ZERO | M_WAITOK, 0, iommu_high, PAGE_SIZE, 0, + DMAR_IS_COHERENT(unit) ? + VM_MEMATTR_DEFAULT : VM_MEMATTR_UNCACHEABLE); + } if (unit->irt == NULL) return (ENOMEM); unit->irt_phys = pmap_kextract((vm_offset_t)unit->irt); From nobody Wed Oct 30 03:09:03 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdXCM5nMTz5bSWk; Wed, 30 Oct 2024 03:09: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdXCM5Gmmz4XNm; Wed, 30 Oct 2024 03:09:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HRiH5D1I5GyRM5BQiOW8Fuu0Jbmz0wNgZkG/4f+IPg8=; b=oVdEy+/7K0KxHeSWo4I1BjeFpDsQCmqRFVtscciOvnJGhcFKY3yIx8XcyPFbY3K7pUd8Pw HVp8qM/Dw3ErmiEN1+wIqUZfHOtcoB2o485VNbDf9KTwWuo/YiYEDDPkalEXyR0bd+iRHd vOzAUSjLFByiVTizSfpXaSOtEHVDLiDKgxTuPn+LvMW9dxwFLEdVAZicMKORUYm2ec3h/e DY9MoewAMYfi8Jo/zZNpdHA0xTuCz8X1Z6M5k0YRUB2930P8yGJEUlSeLRqDplIsnOwpFu Atzyb5nAENIUuoBuiRrtMFGg5A765UExE/4HzxQR59s0GYhW08gquUVT0qfBRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HRiH5D1I5GyRM5BQiOW8Fuu0Jbmz0wNgZkG/4f+IPg8=; b=oT2NKEKJwwoCQhoT/aPH2K1QVd7Zz/m8THq7peLK6ZKSzLiL/aaic8Otw7yGpTuwunIS/N 0ZuobpdYQjAUnHWHxkThqRzKTEpzIXZcU3bmEeJCwzHf5hyMkXXvW3nadZN+mlCT8JkFvN E4p6gO1Pr4aFqD1bgoUEWdc/wjoH99kd/GrMOZFfXDaVgE7ZpJ6qxn5xD+sxM9L4v6QRGU 4mSPGms9bcYmFy3BUSFHjDclayZqL8QSJG8KRnnYhY16x6SOF95PaHjG00VSoN2kzWtWNs kNtHnzIXMhYlqX5Yx9Ol9fkDfr0rxsyAjsccTSJohs3HO5cEMj4Z/DfkkhshPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730257743; a=rsa-sha256; cv=none; b=HhQ1AQyCwZluo81IQTB78F9ut2alS22Cm9tseGu07odtFWplQBn94yaagpAKB0DOReJI0J be833UUDep8kPrbi4Hh6Y83fTqnivsOOhCu3fxkzIf0PGpZYWr7ZZCN4y+tOOlzmWtll7h QwUuqwOot1DMSIi+8G8EDJ201zq3k5XRWV5/S57coqNmPK+nLs9wLPcbpJyyEXRDVMx1S4 ufhAg8eXZ8Rs2tfd+TfA2NG9coS55ZLudJBCvoEL69I+WxhFRf+2Vewa9Kpsv/DVfPcBxD q5rueM0/CJixsh+K6XEShfz+XIek6V8HQQwg0WLigm8acbv1j1gtkn3fOjszPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdXCM4tfjzqVq; Wed, 30 Oct 2024 03:09:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U393Va048597; Wed, 30 Oct 2024 03:09:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U393fV048594; Wed, 30 Oct 2024 03:09:03 GMT (envelope-from git) Date: Wed, 30 Oct 2024 03:09:03 GMT Message-Id: <202410300309.49U393fV048594@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: 0066c70cd853 - stable/14 - x86 specialreg.h: visually align %cr4 and MSR_EFER bit mask definitions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0066c70cd8536e7cd73a4beff36845f0ff18169c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0066c70cd8536e7cd73a4beff36845f0ff18169c commit 0066c70cd8536e7cd73a4beff36845f0ff18169c Author: Konstantin Belousov AuthorDate: 2024-10-23 23:02:22 +0000 Commit: Konstantin Belousov CommitDate: 2024-10-30 02:40:30 +0000 x86 specialreg.h: visually align %cr4 and MSR_EFER bit mask definitions (cherry picked from commit 2ac21f2c98edf50e22f06a63f3528a99f4f963a0) --- sys/x86/include/specialreg.h | 64 ++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/sys/x86/include/specialreg.h b/sys/x86/include/specialreg.h index 16aa07c05e65..c39cfa432d2f 100644 --- a/sys/x86/include/specialreg.h +++ b/sys/x86/include/specialreg.h @@ -59,39 +59,45 @@ /* * Bits in PPro special registers */ -#define CR4_VME 0x00000001 /* Virtual 8086 mode extensions */ -#define CR4_PVI 0x00000002 /* Protected-mode virtual interrupts */ -#define CR4_TSD 0x00000004 /* Time stamp disable */ -#define CR4_DE 0x00000008 /* Debugging extensions */ -#define CR4_PSE 0x00000010 /* Page size extensions */ -#define CR4_PAE 0x00000020 /* Physical address extension */ -#define CR4_MCE 0x00000040 /* Machine check enable */ -#define CR4_PGE 0x00000080 /* Page global enable */ -#define CR4_PCE 0x00000100 /* Performance monitoring counter enable */ -#define CR4_FXSR 0x00000200 /* Fast FPU save/restore used by OS */ -#define CR4_XMM 0x00000400 /* enable SIMD/MMX2 to use except 16 */ -#define CR4_UMIP 0x00000800 /* User Mode Instruction Prevention */ -#define CR4_LA57 0x00001000 /* Enable 5-level paging */ -#define CR4_VMXE 0x00002000 /* enable VMX operation (Intel-specific) */ -#define CR4_FSGSBASE 0x00010000 /* Enable FS/GS BASE accessing instructions */ -#define CR4_PCIDE 0x00020000 /* Enable Context ID */ -#define CR4_XSAVE 0x00040000 /* XSETBV/XGETBV */ -#define CR4_SMEP 0x00100000 /* Supervisor-Mode Execution Prevention */ -#define CR4_SMAP 0x00200000 /* Supervisor-Mode Access Prevention */ -#define CR4_PKE 0x00400000 /* Protection Keys Enable */ +#define CR4_VME 0x00000001 /* Virtual 8086 mode extensions */ +#define CR4_PVI 0x00000002 /* Protected-mode virtual interrupts */ +#define CR4_TSD 0x00000004 /* Time stamp disable */ +#define CR4_DE 0x00000008 /* Debugging extensions */ +#define CR4_PSE 0x00000010 /* Page size extensions */ +#define CR4_PAE 0x00000020 /* Physical address extension */ +#define CR4_MCE 0x00000040 /* Machine check enable */ +#define CR4_PGE 0x00000080 /* Page global enable */ +#define CR4_PCE 0x00000100 /* Performance monitoring counter + enable */ +#define CR4_FXSR 0x00000200 /* Fast FPU save/restore used by OS */ +#define CR4_XMM 0x00000400 /* enable SIMD/MMX2 to use except 16 */ +#define CR4_UMIP 0x00000800 /* User Mode Instruction Prevention */ +#define CR4_LA57 0x00001000 /* Enable 5-level paging */ +#define CR4_VMXE 0x00002000 /* enable VMX operation + (Intel-specific) */ +#define CR4_FSGSBASE 0x00010000 /* Enable FS/GS BASE access + instructions */ +#define CR4_PCIDE 0x00020000 /* Enable Context ID */ +#define CR4_XSAVE 0x00040000 /* XSETBV/XGETBV */ +#define CR4_SMEP 0x00100000 /* Supervisor-Mode Execution + Prevention */ +#define CR4_SMAP 0x00200000 /* Supervisor-Mode Access + Prevention */ +#define CR4_PKE 0x00400000 /* Protection Keys Enable */ /* * Bits in AMD64 special registers. EFER is 64 bits wide. */ -#define EFER_SCE 0x000000001 /* System Call Extensions (R/W) */ -#define EFER_LME 0x000000100 /* Long mode enable (R/W) */ -#define EFER_LMA 0x000000400 /* Long mode active (R) */ -#define EFER_NXE 0x000000800 /* PTE No-Execute bit enable (R/W) */ -#define EFER_SVM 0x000001000 /* SVM enable bit for AMD, reserved for Intel */ -#define EFER_LMSLE 0x000002000 /* Long Mode Segment Limit Enable */ -#define EFER_FFXSR 0x000004000 /* Fast FXSAVE/FSRSTOR */ -#define EFER_TCE 0x000008000 /* Translation Cache Extension */ -#define EFER_MCOMMIT 0x00020000 /* Enable MCOMMIT (AMD) */ +#define EFER_SCE 0x000000001 /* System Call Extensions (R/W) */ +#define EFER_LME 0x000000100 /* Long mode enable (R/W) */ +#define EFER_LMA 0x000000400 /* Long mode active (R) */ +#define EFER_NXE 0x000000800 /* PTE No-Execute bit enable (R/W) */ +#define EFER_SVM 0x000001000 /* SVM enable bit for AMD, reserved + for Intel */ +#define EFER_LMSLE 0x000002000 /* Long Mode Segment Limit Enable */ +#define EFER_FFXSR 0x000004000 /* Fast FXSAVE/FSRSTOR */ +#define EFER_TCE 0x000008000 /* Translation Cache Extension */ +#define EFER_MCOMMIT 0x000020000 /* Enable MCOMMIT (AMD) */ /* * Intel Extended Features registers From nobody Wed Oct 30 03:09:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdXCP0Wxvz5bSd6; Wed, 30 Oct 2024 03:09:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdXCN65fvz4XRj; Wed, 30 Oct 2024 03:09:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bXw624RpiDulHWotygwKAo+XQYcDnQwCmAcTI2IshHw=; b=Iez4aQquHWMtgR4shu9DjgvgzNVfmSmqCZmoj2tH/uqjliBpzDiLOu1egwWE+/+QYaUw7q Yw2yFKM8BbYpS/PMyOHfp/KAoVyjohm7WZkXyPHDjnepJw3k5S6a9ZaE05Q1ltOWUvzUpZ 9CKVCNhfE60CczVAakwpm5bDNgkOXxXzbPWUovPQ476VPxSeU0/pOfJW3pue2E9k6kETrv QDCfLG14ASQIpN6v0ndwHuXpUmKgWJMhyPunT05M4ZcXT4htux8vxSKxQoeQeXP1lS9nxR 7VqOrmiJyWd7NTF6u/A9sdPhvyEM40yHayE2JnfM1rYk8Amy02zSiD3L4VCwKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bXw624RpiDulHWotygwKAo+XQYcDnQwCmAcTI2IshHw=; b=tEhmCnN43lX6lY1k+EtiMLOtRfTsBFueKjvsVk62EcrpLFLZycfNfmFwYHejpzW39JWRLR WXZPxlA4MRNr5M2IiL83zFkOsZRQLeLVjTswipk98mN8alHeaZgSP6qyudbGAKXjOI4al1 8PCUx7RB6tzEe6P6u1H5pIQP7nzLGTLxDQGLfLKbUtDnVbaAXfLqBvgbjPjFPhzpgmButy wCWfFIo7Y0gT93PEYyJsDIJYjpF2Ji7wax8W4jYVD+npy9AB2bLFf79ZadpwbayVJuLLav 7YgUEUwbFdw7MK6ax0cQwtkSD8nr9G9uFy/eJX+FvQo+NaC5kWUtVu/tK5diog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730257744; a=rsa-sha256; cv=none; b=Eun5zLx07e3PqsRFl1xSZIU+YHUYK2Ta/BSZ7vjCpIrRQZSXRHZI4vjHLLJNH3YwEDQk/8 vuC2xAkTIDXAOfROezVGpu1bnEMZwK12B7Mufln12clX0j+e4q2ozHAdHLAVT/h3G4n5Z7 qi8HfMXK57i5hxOAJ5KjJzPsFQb20l5r+Ptd2apKiD6n6wDCdZjbuTrRxCqJLiCtvoZDDS Wad6VHDinkvj0m0GxmIvJpiBFKy5yTFEgsPK8UAQ96Nm6MH5A6rlRStrQ5L+ABNB4iDWJK 3Yt3Jd8C+PpL/MThKQQh6NquV5D1aKeC5yqJ5R0wDRIRyq7FpVQ/pRkPjcebUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdXCN5g15zqwH; Wed, 30 Oct 2024 03:09:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U394YO048664; Wed, 30 Oct 2024 03:09:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U394ue048661; Wed, 30 Oct 2024 03:09:04 GMT (envelope-from git) Date: Wed, 30 Oct 2024 03:09:04 GMT Message-Id: <202410300309.49U394ue048661@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: 03005c9195c7 - stable/14 - x86 specialreg.h: add all defined bits for %cr4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 03005c9195c79ddbdba5c90019883d196fca1330 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=03005c9195c79ddbdba5c90019883d196fca1330 commit 03005c9195c79ddbdba5c90019883d196fca1330 Author: Konstantin Belousov AuthorDate: 2024-10-23 23:11:50 +0000 Commit: Konstantin Belousov CommitDate: 2024-10-30 02:40:30 +0000 x86 specialreg.h: add all defined bits for %cr4 (cherry picked from commit cc11bc1150d59c3da5c7319c9a23b3e48b069f1f) --- sys/x86/include/specialreg.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/x86/include/specialreg.h b/sys/x86/include/specialreg.h index c39cfa432d2f..d67112a3758b 100644 --- a/sys/x86/include/specialreg.h +++ b/sys/x86/include/specialreg.h @@ -84,6 +84,13 @@ #define CR4_SMAP 0x00200000 /* Supervisor-Mode Access Prevention */ #define CR4_PKE 0x00400000 /* Protection Keys Enable */ +#define CR4_CET 0x00800000 /* Control-flow Enforcement + Technology */ +#define CR4_PKS 0x01000000 /* Protection Keys for Supervisor */ +#define CR4_UINTR 0x02000000 /* User Interrupts Enable */ +#define CR4_LASS 0x08000000 /* Linear Address Space Separation */ +#define CR4_LAM_SUP 0x10000000 /* Linear-Address Masking for + Supervisor */ /* * Bits in AMD64 special registers. EFER is 64 bits wide. From nobody Wed Oct 30 03:09:05 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdXCQ259Vz5bSWn; Wed, 30 Oct 2024 03:09: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdXCQ0C6Vz4Xhv; Wed, 30 Oct 2024 03:09:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qAPMZNSrtmoRU2llmjeOK/pexXZCoBUSKEnPZG7bjnM=; b=OHRgMQ9BiMCS9khKOktHTxjrz1/v/xb9Jvb/4K3u8jB00Qmw4ga66L+lFC7Bu4B00HRP2s R2pozs7ojTQ+E7rYKtvwD0taD+/DdO8zRRuCE8rO9xoTQTAy2C0rcm3iJb1OEAXCOwsgxU vJSdd3CUzus+omNTwG1BUk+7g42fViOYuwHgoEkUhM34ERbbWP1KfpayVbTW7zNy48sHtz jAybbI4z1tt21J0giy8ZG7hYc29yDSpj9XpDFDBz/KbXghYe/ZDfuQL/Mw3oUTDNU8fUOz czYfGFqnOJteic82HpgzklY3V2FhBMZAP9TnZXnyNlVRuKcS7milPt5B/uFDKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qAPMZNSrtmoRU2llmjeOK/pexXZCoBUSKEnPZG7bjnM=; b=LPVyh6pKq8KP0ePnJzDL29fglnaS6R6mL6+FhtmJBEiOWK0QEw7tXwgXjkPRx8Rdtl3MBn PUuacPV4zmdV4JuUaUBXM9Grjh2e43j8TmhvO4WlUgcb3xUaPJGCnwZmU9bXOz4A1Ckk3M gh1dvtXvuHqyXJgOGw1oFg+FsGHwjiqWC7VynBGlKMHybJQlp7bRuz8GzjVbItsFaFdpSD ysE8FMS67B8nXDhxqhAvDYcV7DdQ++5G209kZDn8mxDdJFcB4I0RycdHs0lWmJfvazwYbM tc+HdSOwu5OgBjJ8zK5+g6xiq3jhNl33JZHtiQLhuoBxOSX5XT2TMIAiASaGRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730257746; a=rsa-sha256; cv=none; b=H3+A25FrUwecoK8uAQ3oEtZNec21+4Om+lqFyC6AUvhPX62cYABfUVpkRf7jNp6Wc3bXod bkw3q6+HlMvnpNmL2LafyooXew1AKisjKSnrv6edTGn81WHi1477g5NbItSVIGnpothQ9I PgP/JVEoP12AtWVUBU0WUKTi0WPYePZehAKb7XZzLc8qw+ICxLhnShj0wGgyE2ZOuf6/KC sC6dAx1GRKt5axR94bNmDJBqFA/EeycqU7AFskWhV9CtNl46Wxi2E1dHCP7KelWDCQxUWD 3YD6uQbfLuDWjIf6oJ7VotssaFoPOPOGZIF9ZqxZ8umNX2kSVbvfli4JPVUZlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdXCP6fx5zqPr; Wed, 30 Oct 2024 03:09:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U3959x048742; Wed, 30 Oct 2024 03:09:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U395rP048739; Wed, 30 Oct 2024 03:09:05 GMT (envelope-from git) Date: Wed, 30 Oct 2024 03:09:05 GMT Message-Id: <202410300309.49U395rP048739@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: 5a0da3fb3827 - stable/14 - x86 specialreg: reorder %cr3 bits masks definitions by value List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5a0da3fb3827315b37fb5d9a88be505e0e5fd2b1 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5a0da3fb3827315b37fb5d9a88be505e0e5fd2b1 commit 5a0da3fb3827315b37fb5d9a88be505e0e5fd2b1 Author: Konstantin Belousov AuthorDate: 2024-10-23 23:13:45 +0000 Commit: Konstantin Belousov CommitDate: 2024-10-30 02:40:30 +0000 x86 specialreg: reorder %cr3 bits masks definitions by value (cherry picked from commit cc4b25f10211fdd5a347a5a9fc26b2c86476db7f) --- sys/x86/include/specialreg.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/x86/include/specialreg.h b/sys/x86/include/specialreg.h index d67112a3758b..a8ff7aa2b30d 100644 --- a/sys/x86/include/specialreg.h +++ b/sys/x86/include/specialreg.h @@ -53,8 +53,8 @@ #define CR0_NW 0x20000000 /* Not Write-through */ #define CR0_CD 0x40000000 /* Cache Disable */ -#define CR3_PCID_SAVE 0x8000000000000000 -#define CR3_PCID_MASK 0xfff +#define CR3_PCID_MASK 0x0000000000000fff +#define CR3_PCID_SAVE 0x8000000000000000 /* * Bits in PPro special registers From nobody Wed Oct 30 03:09:06 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdXCR3F8jz5bSZd; Wed, 30 Oct 2024 03:09: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdXCR0frbz4XcZ; Wed, 30 Oct 2024 03:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FMBzZfx9DZ9nUbqk+QYk6Gy2JSsB4sNOnzQmJrMlB8o=; b=SpMPQnRqvcpiEjYxWasA/IEmp0YYTIblxQmvlJ5FW6Rp24LI8t40Py5f+sxkUtlHm+hSz0 zKo/m8HRnK4WhvHSDVCmp9us/qupEqiqJqGjtlwg2sZiVzKIAts6v+16LkpYERYWoyDSUF /gNqN+Du4FduxYjtsQUYDKtYP7dT66wIUHX5vElMBO4TPoXNj+N6LYQFhMqg5wvfD/9eYq 8mEq8AqdxNHvdDF1O0337XXQ1BHcVN1ZT75VdiSZLl3G2ciMyW77cH/lrCQfrLQ8qNcXnE i+a6Hjl/3B7rmt1s47fvd89mF0KU2hD0sch5nbbnICszd4pArTigBEPvaSVAnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FMBzZfx9DZ9nUbqk+QYk6Gy2JSsB4sNOnzQmJrMlB8o=; b=fTOzBM8X5MDrkxXH7y1rbHI03dyhBT0F9jX6sh89wllTUhujkGuXzKPN6JcDyp7F/owsU6 p0QBa+53YMFf3yiBg39v/TMRUVdN3rK39t5xokwvLPuwym8H4oX0HAVdFI0BnPYjmu6NRB gN0ps41GvYDoBanDL1mVg1JuKjP6nVfhCJ0AeFBgaHduynSlR2x3EUfzdmn9RmaAHWdQb0 O2ddncHPOMA7omIKYy4BfDRP/G1vx0rUeBqEXAK2od+PiB29U+UA8e+KmIzmTNZ3VxLXsL GB9iVEJs+Y02kIhe2LqPkmUTvSJ2xZWAeoRRoNPpwgDsbEFQ09h2nsyWj6+RWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730257747; a=rsa-sha256; cv=none; b=mgsnTwvw5ujZbwHtxFUl8NaHlHoStizqgsCFP9l73Cq1IA8yd+/L/XhCw8gcCLYvV1i7MX axTjfcZNpW91HKN0C8eXoW+iA0xW7tRPFFFV+ES0FKRrqBqUvyhSvNg26pnyqHclg9ZpN/ +zd8MiCFtUx2FoXLTVTu1h0ixcAg41LXkxz9D2Vf64Rg6si+B0HBByht8ZPy6dgMEQlKwW FDPRehwdKtpySgl/wYv9ak6vVMX49M6ZfzNLCWN7TxV0JXmycL2raaC9invZMQqtQI9C+N NJuM9ey0Xp8YRVH4I+LRjkqdYjy+qJWJu6GywBmDfXAz+vbqHwzNptItvDIBnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdXCR0H0MzqVr; Wed, 30 Oct 2024 03:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U396El048823; Wed, 30 Oct 2024 03:09:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U396Vg048820; Wed, 30 Oct 2024 03:09:06 GMT (envelope-from git) Date: Wed, 30 Oct 2024 03:09:06 GMT Message-Id: <202410300309.49U396Vg048820@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: 6f26bce4680e - stable/14 - x86 specialreg: add bit masks definitions for LAM in %cr3 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6f26bce4680e3497b2a4cf3640cdaaa85fed5b3b Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6f26bce4680e3497b2a4cf3640cdaaa85fed5b3b commit 6f26bce4680e3497b2a4cf3640cdaaa85fed5b3b Author: Konstantin Belousov AuthorDate: 2024-10-23 23:16:47 +0000 Commit: Konstantin Belousov CommitDate: 2024-10-30 02:40:30 +0000 x86 specialreg: add bit masks definitions for LAM in %cr3 (cherry picked from commit 5999b74e963769cbd12eadbe1cebcd34fb312f01) --- sys/x86/include/specialreg.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/x86/include/specialreg.h b/sys/x86/include/specialreg.h index a8ff7aa2b30d..87461bdeafea 100644 --- a/sys/x86/include/specialreg.h +++ b/sys/x86/include/specialreg.h @@ -54,6 +54,8 @@ #define CR0_CD 0x40000000 /* Cache Disable */ #define CR3_PCID_MASK 0x0000000000000fff +#define CR3_LAM_U57 0x2000000000000000 +#define CR3_LAM_U48 0x4000000000000000 #define CR3_PCID_SAVE 0x8000000000000000 /* From nobody Wed Oct 30 03:09:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdXCS4yCwz5bSwW; Wed, 30 Oct 2024 03:09: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdXCS270sz4XPL; Wed, 30 Oct 2024 03:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gLAUpJ5qAT8mhq0Mnojqd6s4tJQ5Gpjx42Se2IQlwCw=; b=HStzUDBG6m/fJV4sKlp/CKov5u5eG719iql9I2+yAO0RSVoc4RqZEjFy8xErpLL9UCd57x IBc/Li1zBzsFO5qhfAZN+moVowZ2EuDRCLQuiv9wsfecW0BkzNOaXfMv74I5qVQJP0QUcu pXHFcarmFhakQCgpspCpjW3qxrFma4Do+6uhvho7gFZJg16eGjLnn80SCPiIQMl80Hlb2A G9w+qBNm8pIuAZOVlDfjcJYVTa5Rhj+6S8FKaAq7IH2mYmXx+wBrGgBORId0TByy/8VEQn 0N4fGmi+hnY2rStZ9WIe5g/IfEqsnksb5Qq2Be52ZAsvFq4RwsU8kXihvo/4dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gLAUpJ5qAT8mhq0Mnojqd6s4tJQ5Gpjx42Se2IQlwCw=; b=pUSGxauAMQYwX+p3h3DiDE+RxGHFFYQJ2KH/deWmua/YwDc9luFFOC0cYUJKT3BXQ24gOi qdl2B+zm9Aahukn4E4XIaTQMqUpL9ybpSg/oqzKY1BAXXbY6eyiA+7bioKUVWKx8BjHQEA rETZ1CFG6nOPeD6o5kj3d+GDHSqz1YfSKy5DnjHKpPgealdjBXwOASFmyqOCZQ6m8jRj5I MFmRDreWyzkNgkU8yN02uxVHM/P20ku5rvwJt1MbS07dR/S/+jI3YBQ2Y9aBuWCKru5m1y SojjHafGR2ysYqykFjjBJLR776BZYQn8BeSCKzUfJYk+hDlTP1fqkGIzNPso5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730257748; a=rsa-sha256; cv=none; b=bfXgqXLcKjBZ+kWPtxV2WMzxPtRaCHYFaePckpNwyIFmBaw2RU7N96THfENhIu2YqEitc+ X1y/9UZoGZ7TcUs/Njt5c29IWqD+CG38iCFT9DpAoy1zwXLvjUJGJj35u5L68zJsYlFKIE hvlkAIe5Xm2R5xqV3P775/lsYQEgnTQWWHngyI4MOuAKqaWsaI3XThWLNDW8xEvT5zAx6q ouDCTyXa7GrroLB7z8AHLL40KgGWtsQSFIbFxpLxBW0sZOPf80Tkow+lEkrYvBBMTnC3+k zxsnPWddPu++9435duvjypEfzM//HmXaevowWGnOSiYj5RtUcJ0t8L0tIJj7Qw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdXCS1ZwXzql3; Wed, 30 Oct 2024 03:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U398v4048887; Wed, 30 Oct 2024 03:09:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U398PL048884; Wed, 30 Oct 2024 03:09:08 GMT (envelope-from git) Date: Wed, 30 Oct 2024 03:09:08 GMT Message-Id: <202410300309.49U398PL048884@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: a00d2dd06189 - stable/14 - x86 specialreg: add bit masks definitions for EFER features List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a00d2dd06189b894ef7b7175a2fe98afbc5486c2 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a00d2dd06189b894ef7b7175a2fe98afbc5486c2 commit a00d2dd06189b894ef7b7175a2fe98afbc5486c2 Author: Konstantin Belousov AuthorDate: 2024-10-23 23:21:11 +0000 Commit: Konstantin Belousov CommitDate: 2024-10-30 02:40:30 +0000 x86 specialreg: add bit masks definitions for EFER features (cherry picked from commit 6308db659f2ad45b30bbf1d9c47abdc97d14ebb0) --- sys/x86/include/specialreg.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/x86/include/specialreg.h b/sys/x86/include/specialreg.h index 87461bdeafea..1f9069e3c1e1 100644 --- a/sys/x86/include/specialreg.h +++ b/sys/x86/include/specialreg.h @@ -107,6 +107,9 @@ #define EFER_FFXSR 0x000004000 /* Fast FXSAVE/FSRSTOR */ #define EFER_TCE 0x000008000 /* Translation Cache Extension */ #define EFER_MCOMMIT 0x000020000 /* Enable MCOMMIT (AMD) */ +#define EFER_INTWB 0x000040000 /* Interruptible WBINVD */ +#define EFER_UAIE 0x000100000 /* Upper Address Ignore */ +#define EFER_AIBRSE 0x000200000 /* Automatic IBRS */ /* * Intel Extended Features registers From nobody Wed Oct 30 03:09:09 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdXCT4nwJz5bSyy; Wed, 30 Oct 2024 03:09: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdXCT37gcz4XZl; Wed, 30 Oct 2024 03:09:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pOnlMK5A4UNVT8sbhMKkV7f2QrZo0rF7o1FHpEpgMng=; b=P00FpDPyPtJ77ngWjIlTrcpSwMDgD7AmJbmNE4Tjqe1wBmEGP+kXj7Rxz69uuA3nxMwFh1 DrfU2UXtnbxCdLp9+KgMu9dtMDM8HaMeAijRyuM482jPUVzfe0FG1tXui3l5XJnjbutyoE dfu+Ff7MdodzKgMz2yP7Bcv9BH+/9mjmj3JOSuEccaf9ZfKncQE6thnM54sZrCnEa8A3zy cMolYzm0ZtRvXhIMpzkWt/yNtUoqv/BEJo6rmkgjR8WT57LAx1v1GKJ89QfmL5Gl9v3G6m 7VlyCVBqaNJjaO5shm/Leuk9pzpsriYL6lkK/MP9AAOoLMkUppEDO7Wl0aKOZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730257749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pOnlMK5A4UNVT8sbhMKkV7f2QrZo0rF7o1FHpEpgMng=; b=fwYCekya4bOhtQatahuDZYqS/qOxcvMeF7dIFlF1+QEAbB3eHB/eEcTax7e4yH++jqQ6cy 45Aqe5VvE1EKqFWc9l7ZSW3ZxR/zucb5N9r1Rs1d1NkPqg+qKGSkgwVwMEfHEEhxQb06dE GYLRmmpvy59OPD8iaxbSUt+WcaiesIwBKLoD3pxihSKWJNn8fhWxwdiDyQmrNQvabGdM4l G8uNG05s+NUbD+diyzX5GVWfv0ggcck8Pr1u4f+8WMa3wfcfm9FM+prduHzjOlxfH9e+2g 973SgOFaiLhKHmyf8o/i6nf5j0ujt6Z0OT0SbWQnn0jg8lC7YKKPpEZWriazHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730257749; a=rsa-sha256; cv=none; b=DpBEJ2kbOtqDxO/Xy4kgHB+xmD96FAMfJ72Xu1OTUUH5GVrq+419F3OTjuv95tXtRaLGBL 0MsnnNelGRpbldNVjOvfvGo1BEN1S/rVIZMYR0fQdiC2ebtozOTEGYdLbHzRSoWkxIOuZ4 /ZyKBjSq8ZvWKvlC/au6lXmv+hU+C3VpGoRplcKu2ok1ealhh+y44befR/GzEGvlGEXdee MTFkmV2ZfnRe6PdM3y1/3PWLqJCYQNj1m5cvL+ZbcB3YITk5ORsOh6OiEwhlIv0LgDCafg RnOcsBkxJq17tZelYxdMsQA1xr3wcp9S4toNtPYDfTEnuPgjuKyERIjfiskurg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdXCT2hYHzqVs; Wed, 30 Oct 2024 03:09:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U3999o048947; Wed, 30 Oct 2024 03:09:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U399VZ048944; Wed, 30 Oct 2024 03:09:09 GMT (envelope-from git) Date: Wed, 30 Oct 2024 03:09:09 GMT Message-Id: <202410300309.49U399VZ048944@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: 90d8c39d22e0 - stable/14 - x86 specialreg: add bit masks definitions for LASS and LAM features List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 90d8c39d22e0e939b48a062cad27859e951aede0 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=90d8c39d22e0e939b48a062cad27859e951aede0 commit 90d8c39d22e0e939b48a062cad27859e951aede0 Author: Konstantin Belousov AuthorDate: 2024-10-23 23:40:01 +0000 Commit: Konstantin Belousov CommitDate: 2024-10-30 02:40:30 +0000 x86 specialreg: add bit masks definitions for LASS and LAM features (cherry picked from commit 9f718b57b846b8e1fa562584747fdae42ffed8f4) --- sys/x86/include/specialreg.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/x86/include/specialreg.h b/sys/x86/include/specialreg.h index 1f9069e3c1e1..bd98aa31c9a8 100644 --- a/sys/x86/include/specialreg.h +++ b/sys/x86/include/specialreg.h @@ -536,6 +536,12 @@ #define CPUID_STDEXT3_CORE_CAP 0x40000000 #define CPUID_STDEXT3_SSBD 0x80000000 +/* + * CPUID instruction 7 Structured Extended Features, leaf 1 eax info + */ +#define CPUID_STDEXT4_LASS 0x00000040 +#define CPUID_STDEXT4_LAM 0x04000000 + /* CPUID_HYBRID_ID leaf 0x1a */ #define CPUID_HYBRID_CORE_MASK 0xff000000 #define CPUID_HYBRID_SMALL_CORE 0x20000000 From nobody Wed Oct 30 13:21:11 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xdnng5Z2Lz5bMH3; Wed, 30 Oct 2024 13: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xdnng56lnz4hwT; Wed, 30 Oct 2024 13: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=1730294471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HhrabnpZmQ93ZJ+q8aZKKazYDZNSwvzPZznrWGy3AOs=; b=BZmykwCpWpCxSgXMX9qQ8CRZePohLvZwYFN/28uBhsN/DobUi+wYANrFel7BpmtGyrruWK WOA/V4QKrtr3L9jkDI5TAIexp+94h/kR2IXrCNuczyFKb0VY2DbKYgvVGrHQhzUhecXVSV vRBH31dvML2iKpYMVrBxnE3NV9mTDS15ajwAmMZw2mV2fiZkgrkZma1r3lNuGiBeW8S/K9 SE/NYJ4yt4p4aLQW2keZL6bUvIa0X9zPKPahHeXQg+o+WzuO4oiF+yJNtHE7mU23RqwveZ tUPTK9dFuXcxQdR5oyxB3xw9XMfS+rgaLs63i0++nVwaieivLdVYK/K2/a6/xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730294471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HhrabnpZmQ93ZJ+q8aZKKazYDZNSwvzPZznrWGy3AOs=; b=EH8T6K6dtVjfOuocurNtjN6vvJU/R9ViRZ0Xbo4PwsEf3tcERLUuGqFhlfXoR1pldvKNdr 7WftfgTvRBDZv9amu7J5LXKG8mXSXpJT3kR7Y43ABwwBqbRWWXr9vJIl6PkTVvQY/NY+xX fXJmuT/bn/2n+p4EV93/A62TyCjA3Kc6c31yhkWAYZKQdlmUTn8d64TLXVD8m6fpL7RpuR 2iHAgo+xvUiS+FtmyPDGFH/+RyhBTm5tpOs15P1J9ygapQXGrA+QXBsjxh7ccxT4W5OT7E aECxJkgiK2wm59mFYq31Dal5PIyIoac47DB6XE2y8/BTd1qQE6+Cm9RhZ9H7fg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730294471; a=rsa-sha256; cv=none; b=SWUYEQlmvzkI3QgqVxnoYF9CvNgLECjeLApV1n8yw4eo/D90MliF/ebD2O+/8nUE2w0TRU Bp2WSir29dWR5iCDSioLyhZ+aNNHNSKWp9Jg2ObYhFWn4Cj+DxxiZLVkkjKs17poTDyM4E as06DFWqbP90jiYpODvzPohm3zXpNKxxS8qgjpEUqv2FWUHIZQUUlY0UC6C3mAQqZHg0DM nVtj/nDzdSK0dyy06Dk7p3aCuTOqKjpDtOLf3SerfqwSXT7EhTmADsvseIU9zLuhSvgfsz 4LsJQ/DvrgyZdFtsg/Lb4BnmqKP/9trbIYIi8J10f9sXF7RgzACszhOC+y7O8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xdnng4kbjz18PP; Wed, 30 Oct 2024 13:21:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49UDLB2h087492; Wed, 30 Oct 2024 13:21:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49UDLB2f087489; Wed, 30 Oct 2024 13:21:11 GMT (envelope-from git) Date: Wed, 30 Oct 2024 13:21:11 GMT Message-Id: <202410301321.49UDLB2f087489@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: bf2145f361b8 - stable/14 - mixer: Fix a bogus free() call in the main loop List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bf2145f361b8b19573648add42817fae57f4be53 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=bf2145f361b8b19573648add42817fae57f4be53 commit bf2145f361b8b19573648add42817fae57f4be53 Author: Mark Johnston AuthorDate: 2024-10-23 16:55:39 +0000 Commit: Mark Johnston CommitDate: 2024-10-30 13:21:06 +0000 mixer: Fix a bogus free() call in the main loop After a strsep() call, p might not point at the original allocation anymore. Reported by: CHERI Reviewed by: christos MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47266 (cherry picked from commit c22be0b181e954a4cc00ed4f5c7df974f3061c3c) --- usr.sbin/mixer/mixer.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr.sbin/mixer/mixer.c b/usr.sbin/mixer/mixer.c index 468130ddaa88..70a35f71b25f 100644 --- a/usr.sbin/mixer/mixer.c +++ b/usr.sbin/mixer/mixer.c @@ -147,7 +147,9 @@ main(int argc, char *argv[]) parse: while (argc > 0) { - if ((p = strdup(*argv)) == NULL) + char *orig; + + if ((orig = p = strdup(*argv)) == NULL) err(1, "strdup(%s)", *argv); /* Check if we're using the shorthand syntax for volume setting. */ @@ -200,7 +202,7 @@ parse: /* Input: `dev.control=val`. */ cp->mod(cp->parent_dev, valstr); next: - free(p); + free(orig); argc--; argv++; } From nobody Wed Oct 30 13:21:12 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xdnnh6h0Yz5bMDJ; Wed, 30 Oct 2024 13:21: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xdnnh664Pz4j2F; Wed, 30 Oct 2024 13:21:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730294472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fvA0vyOXld+qR4/bxIz8DqA9Ki2Bt7ijaVlcFq0l3vw=; b=NN7Irbv/V4m0LyqQRX7gZtp2p5q6UjOjY/w7pHtVgNujbRteUiuxmaG573VcOHDmWSsckp UHGlzqlO4M4pmwCjnqF7ZAaQgrLABnS+CDQvzEcv9EctkYWYCO7V17zZ3GqUFBRTzXgTeW 8ak4fV/89ZrC/HKVxp47xw384uiM6HublHFHKjrJiHdGVTfccfWxD6VdIHSdH+TqamM/Ow wBN274RGfuWdyzaS3NJVAnUOU3zTXNAughIGtugDA+/xzuVCPNQ2RgQ5wkw/QwRhmrjNFu dbytiw8gILz5LV/Mt5eT4zUR3hzSUv5OH2mIlWMnrP9yOEpXDHcmLxgg6zZJkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730294472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fvA0vyOXld+qR4/bxIz8DqA9Ki2Bt7ijaVlcFq0l3vw=; b=AgUY5s+YYuJ6OOHIeoQkqrMgLp+v6rXK11c0JzabJiRw9NxKcqLlGiKXZPdR9CQg773vGD aZoeKaSoZiUEDoAZRlP9LUQ7KSwyrYxPFeKxQJmbyItE0JA567AD9lfBw9JZmyf3vu7tzG fYV4QRTi0gy93ma9IQXpHKKA3VDNCNQZENEwZ6Gl1Y2U/GEdv5Fkqn54t8vOi4Xs/e6wPi 0V8muPFwn4ibl0sqtQNIpD0PRomsTJcqvalrD2jneBXtxmoPYGs3z241+ooeS5eCi7GA5t DtT84hsjGY5yDiGf5OIJ1tewi6GtfqLdUYooxEY+xosrdFKQl4QXoNcmD/oSZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730294472; a=rsa-sha256; cv=none; b=WXyHS+TcwUca2azkX8VpMnjT99BSDgnRWAUaZgWweUa6rjrN4kKRhefbb1RgPsLJlZUUDe dg1qUuhKzcS/dq23poyQ3aLkHuzKKRs4cs1V6V8+HQIvzHJ6tOFZVRs25msbvup3oryIcS ZnEcFhw+Hze6Mpuz9G1JU2BuId6dPO/BYEUrfOO7jmdPvreMRUcATuR8nzGmecckrWipxU NfcEDYElw8Ic0hbB9YhGs6Zm0yjjxf8XNYWR33O/splYC4t0sZo7UTG88+eRtrDjDCwDAI VVbZ+ic6a3d9VUj2h1YHFQZzaVWKdmb/ddIYlLo2abplK2zaOuKqZpmkyFZsvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xdnnh5jYSz17sJ; Wed, 30 Oct 2024 13:21:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49UDLCPl087546; Wed, 30 Oct 2024 13:21:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49UDLCRX087543; Wed, 30 Oct 2024 13:21:12 GMT (envelope-from git) Date: Wed, 30 Oct 2024 13:21:12 GMT Message-Id: <202410301321.49UDLCRX087543@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 4990a7d344d9 - stable/14 - devmatch: Catch truncated linker hints files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4990a7d344d985668917d00cde0675c042cd5649 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4990a7d344d985668917d00cde0675c042cd5649 commit 4990a7d344d985668917d00cde0675c042cd5649 Author: Mark Johnston AuthorDate: 2024-10-23 16:55:16 +0000 Commit: Mark Johnston CommitDate: 2024-10-30 13:21:06 +0000 devmatch: Catch truncated linker hints files PR: 282268 Reviewed by: christos, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47243 (cherry picked from commit 9b2f2fbfcbc51f77e96a41e62b1c06a8ccd4ca15) --- sbin/devmatch/devmatch.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sbin/devmatch/devmatch.c b/sbin/devmatch/devmatch.c index 2485120c57b6..d961a1e92daa 100644 --- a/sbin/devmatch/devmatch.c +++ b/sbin/devmatch/devmatch.c @@ -127,6 +127,12 @@ read_linker_hints(void) err(1, "Can't open %s for reading", fn); } + if (len < sizeof(int)) { + warnx("Linker hints file too short."); + free(hints); + hints = NULL; + return; + } if (*(int *)(intptr_t)hints != LINKER_HINTS_VERSION) { warnx("Linker hints version %d doesn't match expected %d.", *(int *)(intptr_t)hints, LINKER_HINTS_VERSION); From nobody Wed Oct 30 13:21:13 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xdnnk2WyZz5bM36; Wed, 30 Oct 2024 13:21:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xdnnj75dsz4hnx; Wed, 30 Oct 2024 13:21:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730294474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8gixq0nqwtGBb9VYfaFqsozZDTCIAxHP3eAtemc1Yyw=; b=whby/L4OwdJbBp2h+KwcCMbO+Nf+Ia89tl5zHjDldUbfBAcWd+C/UQ83gTzzaByTnwwGl+ xl2Pl2eTPSSLc66APV0UXCdOoRZv+DcJykWw325eSA9v1hzABmSdTZCg7XQpG9MTkJocug fFz9odbxCFtsE5SqZUUydiYxvRBTfujdaaqiiZOrlB/23KDwDBWAYq+m9N1cVcoqzB23ek c7FKkVSP4hokKnUNeNGCvzg9XhUl571X64J/iJKaO2eNmXt/EAq5vY3zA9TmWz8dvCUS2X 1pg23ZAKIOmSHl9Krjw7giv5iAPFByqkvE3iR4xsY9y+gWkwfAejtRi7jz1JHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730294474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8gixq0nqwtGBb9VYfaFqsozZDTCIAxHP3eAtemc1Yyw=; b=fTPXnT57uSaEAjR7UJtIwH6Qf0PyMU/4ZZUzqrCi3laiBIrMucw+tSLcW8OYXb+IMBFgYn nr6/pQyASLqu8qw3NpXpuLpIH4/nPQfBuY15NTeyrmnK7g93NxvLsv2OIzAhj6mNEM4t0O U6Q1hbzMbgjFonzP76OqXBVmvS4Ra6Ry8H/37F937idF7Lm7iZlsdxNA4BTdl8eyG2mN+s hriSrTRw5Dyr5PqWoaNl4YZCyMgj3NRD1KpsP5RvEf5ovsGjqZ0P1kIH657XuSlf5YEYtI iJ+Ccp5L+zXv07BAZLGRBElES4vmrAHKPqBdIlAf3TMVD5bNo6+eLCkgWz16GA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730294474; a=rsa-sha256; cv=none; b=vN86Uifk6NleBGu1/ftlh5lzmUQ2RXb2XKR6YlqK/rZThlzqOyrlk2hSCp5mz/FIcS/KTQ cXcXW8t/rdHPpgU5hXwrZ7g9QRUaHTMt6Scyyys65xrMaB/B2AvBPib4RrcevDeUYi/3RE OUIhaobVh1HpOGlIgwHdktUYPD96BmKQSvp7U0/+8dDhiEmHl+0ELeCptPUnBwkrUWPNpf Ivvbh22kCwIrckAuvP28Nnb8ZDJmAx5if6haI9vfrFwdZYnVUzXe6pXtzSiwNqkTl8x7RY YktsAs6QL0FPzycnt3yJjX1fF71m/mE4a50cFE23wdX9lF4OLLbmIEDLYKqYRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xdnnj6k2zz17sK; Wed, 30 Oct 2024 13:21:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49UDLDq0087594; Wed, 30 Oct 2024 13:21:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49UDLDvB087591; Wed, 30 Oct 2024 13:21:13 GMT (envelope-from git) Date: Wed, 30 Oct 2024 13:21:13 GMT Message-Id: <202410301321.49UDLDvB087591@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 9e3e111d749a - stable/14 - linker: Handle a truncated hints file properly List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9e3e111d749ac83f213a36254fd0717265534e05 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9e3e111d749ac83f213a36254fd0717265534e05 commit 9e3e111d749ac83f213a36254fd0717265534e05 Author: Mark Johnston AuthorDate: 2024-10-23 16:54:56 +0000 Commit: Mark Johnston CommitDate: 2024-10-30 13:21:06 +0000 linker: Handle a truncated hints file properly If vattr.va_size is 0, we will end up accessing invalid memory. This is mostly harmless (because malloc(0) still allocates some memory), but it triggers a KASAN report. PR: 282268 Reviewed by: christos, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47240 (cherry picked from commit b5149b265346c55994c7ebaab2a6a6fd1bd6fe5e) --- sys/kern/kern_linker.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index 15fd7e8c30fb..53a743f29459 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -1947,6 +1947,10 @@ linker_hints_lookup(const char *path, int pathlen, const char *modname, printf("linker.hints file too large %ld\n", (long)vattr.va_size); goto bad; } + if (vattr.va_size < sizeof(ival)) { + printf("linker.hints file truncated\n"); + goto bad; + } hints = malloc(vattr.va_size, M_TEMP, M_WAITOK); error = vn_rdwr(UIO_READ, nd.ni_vp, (caddr_t)hints, vattr.va_size, 0, UIO_SYSSPACE, IO_NODELOCKED, cred, NOCRED, &reclen, td); From nobody Wed Oct 30 13:21:46 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdnpM0QnBz5bM0r; Wed, 30 Oct 2024 13:21: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdnpL5LV2z4jdw; Wed, 30 Oct 2024 13:21:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730294506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7a0tARKwQ6lyLgqeeY6g7Q/RTarAmakJdRqe6lAVYsY=; b=gSEtH69kcmdzsgxd3/NTQU71pCjgxqB2BMd4sSDjzOJs+V2fZmFfcbx7feTiXbXhJ8FEcx sBLJYLjbp79S1QiZWg/dgkiBAMwsrP5idccJwEeou2CLcWKaznEEFcQqD2BnBX/zRZbOeV nIrnjSnd44AZBftGHhkQKLx0L4jB9grzdlxJYPIXldFP2QBnlpd0G68DbL0ty0gt1hNAr+ UCSKYToLKzKlI0icfAzdaj7ilEQcLNyd91PgTiYyb3D88bol1mhZj/E0OZD89t0d9ljcu9 v4MAsQoQ3WEZYH2yGMl2bwhG9Lo09peONN4+LgBfjN5uCJb8241RY08YGfhP2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730294506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7a0tARKwQ6lyLgqeeY6g7Q/RTarAmakJdRqe6lAVYsY=; b=J/yCmbLxJ9ocYlXusTwmC2bjqg64nhh4k0y+paO2lU4SS+oPKZnIyBxFOiUJkcM2f7wdOb jLB3yG8O82F48++hhnbMMdDlrbvE4uiM3HnJMv1Rr+CIkrsa8D2kNEuLprS3DI/S8urRuD Wo3ZBE8kH19tqZGVLMhqblvvX36Srcq3I/ShXQXv2Xyr4PWCMP8d5ULca7rO50Iy4YkU6x gGjevYnFmUVKKb+ITJyBvIpAQH051YrMvzdAp/Vmlt4z5iqNYrHGD2GgmWRy3GrHx3PPBs FXAIRWUmobA4v7rul8P58RrrD7o8aqfQAHIO1o4H9iO8i3LNkHqu0WlPNg8WaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730294506; a=rsa-sha256; cv=none; b=CyQjzbof3e/GKdshVecXDyh9N8BxCGInHN7ibYmp5BMAdeTqu2yjZNVkYR/IL8lvK40X96 lTdbFVNYMGxDX9clk1RYA+nwY2dR++Y+fcQ6JWILcDGO+svfM6ns2IjAHyIOrf8FO7lWSA Cj8z6xtlrd/LDTcbYGhLAk4LNj0sHhFu40O0IYRtCo8vrBO5GjJWcX1o2gXRp5h3RXakzf H6Et6Xwg1rzlYug8DKpjqS+4ZZG9fMMG6As9gCC3dosovjhb5NxLurqQQUC8qojIiLlPN/ eBlDrNRgtFtMYzMwkmDVHxChfPNyQ7p2z3km5vyME8nCZjdB2ef4Cgn4jS0DrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdnpL4yKHz17yg; Wed, 30 Oct 2024 13:21:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49UDLkoq088812; Wed, 30 Oct 2024 13:21:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49UDLkbp088809; Wed, 30 Oct 2024 13:21:46 GMT (envelope-from git) Date: Wed, 30 Oct 2024 13:21:46 GMT Message-Id: <202410301321.49UDLkbp088809@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 390486cb25f9 - stable/13 - devmatch: Catch truncated linker hints files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 390486cb25f9e4a2a3f592695bbdbffe5019e898 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=390486cb25f9e4a2a3f592695bbdbffe5019e898 commit 390486cb25f9e4a2a3f592695bbdbffe5019e898 Author: Mark Johnston AuthorDate: 2024-10-23 16:55:16 +0000 Commit: Mark Johnston CommitDate: 2024-10-30 13:21:31 +0000 devmatch: Catch truncated linker hints files PR: 282268 Reviewed by: christos, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47243 (cherry picked from commit 9b2f2fbfcbc51f77e96a41e62b1c06a8ccd4ca15) --- sbin/devmatch/devmatch.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sbin/devmatch/devmatch.c b/sbin/devmatch/devmatch.c index 490398bf4a2e..cdd8d92ffefa 100644 --- a/sbin/devmatch/devmatch.c +++ b/sbin/devmatch/devmatch.c @@ -120,6 +120,12 @@ read_linker_hints(void) err(1, "Can't open %s for reading", fn); } + if (len < sizeof(int)) { + warnx("Linker hints file too short."); + free(hints); + hints = NULL; + return; + } if (*(int *)(intptr_t)hints != LINKER_HINTS_VERSION) { warnx("Linker hints version %d doesn't match expected %d.", *(int *)(intptr_t)hints, LINKER_HINTS_VERSION); From nobody Wed Oct 30 13:21:47 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdnpN0Ddkz5bMB4; Wed, 30 Oct 2024 13:21: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdnpM62lsz4jhw; Wed, 30 Oct 2024 13:21:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730294507; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gIgD1dmmDliW+2ItvwZsEN7t9kdU9TZ7KBL0CdMr3Eo=; b=x2TWxGeJUpaNliXl7FnBfRaCwcsQpt/8R1+dQ6pfLTU5OmAD+fuTUwe67fVraEVODGOs6R nuxkpO7CTMcEx1gJ/6gowq0xIRrfgkw+UNv7cORsvDTIE8FiCvzsa6h/jQlH4MCAxj89JH T9EhN+gnnzlHzoW1e8IolkVcRAc3yzePZ1ADEZaTTbBIKmg6D0dhpJSRKbf2BO20jngkvt Y1p8Y3E6SZRAjpvmqiMy1Qag4NTYVlLAGiFu0z04H+55/EBof9s+8tbqTbwMMMltAf3sD9 kcesC9C9k+h4r5RnX2kxeZWc+pBq9YBkfjqREDHw7aYweE3c57EBkDwQVr2Zvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730294507; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gIgD1dmmDliW+2ItvwZsEN7t9kdU9TZ7KBL0CdMr3Eo=; b=EyNLrukAAFRUkqQUTqrT6lmIyoHYtVsFoanz9VdSepEzpft48cLDfcQBmJL5vSOkHHFXBX e+EeNg8rk3uKMdYm6wa5uLfNbxs8MyGtptuvM7QvuAuZaSK7g5WpOVmCZ0jFPV4ucxe/BD 2WrtHe6XQMLXkiOEmr28WJgAWMmEETh4ZiF5aCWBC+aXctOxw7CKWxbJ1EnRfMgnf0LS1r F/BkYceogAMDXNQor/uzpPMt/9yDwRy5/wVfyWUlVcrXI1hdsWHO97gZ/NstUdrmEvguUW A2EYnv1pG72cHr/diCqFMW2tYHiqv/paR9z8we1OaGDooyjan17/WI3lIi0avg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730294507; a=rsa-sha256; cv=none; b=rbuk2bhkDNJUYsrXJ3oWZhiDW8thq6SWPqfSKIlY/6kielRkMNH+LOdjbIYey7I6h9TYLd USrQHFbQ0zIcU01HUoAshzfDyQPwxOPKEdOdEs2ts3jU5+XSG4eifTtJlIybpfJ6lGN1hC pZbQ3/8mBbzS+HnaNYPhe/J0ko85fWOmAkORezEZ9nlf+PpNRcX3JxHr6k81Gao+7mvZXa CUZorJUG3wRcIRhGlgOiE1IGqwhxXWh9vhPbquBF36QjzId6wsMC1q34YMAxDUInCjrgrN Pm9y+tWDtvkfykAJlEgyk2G9Ze3HnyFIEkwZaR5YCqBL3+NrJb8gFudCa9BWWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdnpM5fCDz186J; Wed, 30 Oct 2024 13:21:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49UDLliD088861; Wed, 30 Oct 2024 13:21:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49UDLlea088858; Wed, 30 Oct 2024 13:21:47 GMT (envelope-from git) Date: Wed, 30 Oct 2024 13:21:47 GMT Message-Id: <202410301321.49UDLlea088858@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: d57d71423847 - stable/13 - linker: Handle a truncated hints file properly List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d57d714238471eaa44c20538df1488fae378665e Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d57d714238471eaa44c20538df1488fae378665e commit d57d714238471eaa44c20538df1488fae378665e Author: Mark Johnston AuthorDate: 2024-10-23 16:54:56 +0000 Commit: Mark Johnston CommitDate: 2024-10-30 13:21:39 +0000 linker: Handle a truncated hints file properly If vattr.va_size is 0, we will end up accessing invalid memory. This is mostly harmless (because malloc(0) still allocates some memory), but it triggers a KASAN report. PR: 282268 Reviewed by: christos, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47240 (cherry picked from commit b5149b265346c55994c7ebaab2a6a6fd1bd6fe5e) --- sys/kern/kern_linker.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index 5271d002fba4..caee3aaedcd7 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -1931,6 +1931,10 @@ linker_hints_lookup(const char *path, int pathlen, const char *modname, printf("linker.hints file too large %ld\n", (long)vattr.va_size); goto bad; } + if (vattr.va_size < sizeof(ival)) { + printf("linker.hints file truncated\n"); + goto bad; + } hints = malloc(vattr.va_size, M_TEMP, M_WAITOK); error = vn_rdwr(UIO_READ, nd.ni_vp, (caddr_t)hints, vattr.va_size, 0, UIO_SYSSPACE, IO_NODELOCKED, cred, NOCRED, &reclen, td); From nobody Wed Oct 30 20:57:22 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xdzw320k2z5c1yx; Wed, 30 Oct 2024 20: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xdzw31Mypz4pkh; Wed, 30 Oct 2024 20:57:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730321843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KzGoQT6GdsJsfxHhTrj1RsNhO823dMUCxhGpdCzSR5Y=; b=TRrS9LKdu5P3Z3RcG1xN8Ybd7TmptBTcLjXloG+xbISTc36hGDqll84p53tm/mWm0M4bx8 Ok3T8xW76CUuwwUYx+mCUfM1ZuZd0fD9AbobB4oLmehIdRxgSvyFxaZYtDjX5+eB3p6cVm Pwkp6qEKfPPB6QTyRlZjn/EUgyw9ifF1o11kYqtQHvSJgzdBn3J9ByNY8LR3cavbe0XVPT v17TNRGvoPLGnX+lBjoISfYsI8UtP6PUwe/fNpuwZH7jM7xyOT8Ub2Rhb1XhdVAzp9si7U 2cJ2sAfFr+bFAvPLVW2m5yZAMwhTWucOk4g92C1BfDck0PDO6edEhRW480R30Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730321843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KzGoQT6GdsJsfxHhTrj1RsNhO823dMUCxhGpdCzSR5Y=; b=XsSvvAkvMBFfqQ8fpFvBJBaCCUGO69Cba/feBipaZjgoSmY9OS11zMgfhUJvUC8u7PkQvR JN9w8BX8NRksY7HKisD/sYoa0Sr7qpyvui81mKFGB9klHkkqyJheGuaiJGEi77pofuNKxz B5Z+YpJT3M4qe1NUTIupBidQf3lAjEe4+8b4OPhPsmyituzqRdZjCNQKhCft0M8H5KIf4E NFgNA5AgILeu4+c3J62lgj35iF4ZkurIPTdr0emq3rx5mR+eNo/dIsNMjDVqDxDSnorUNX vtAS8rnMazx48UjzkgEGNpjrp/GhOPiDEqq8nMteMhyYN/RvVtBo3kiUdBUROQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730321843; a=rsa-sha256; cv=none; b=eeJOvaIdaNU/agnys+/P/EBfsySdizx4nRTW2xeHuBl5gy0v7+4PdxAUbGMB3PE8rqecGP 60HarMzbBrsZs9rSkv4EX1TPZOoaAMJWGSeX3iPHpUGkNeD0eg2+YBcB/9aKS2l/6cQPVT k4Wm8um7vx9VfaOHRFzcdx5vTE/cc3bnNfbVLpcpmFRT8Js1Zc6SKEWNSiZ52RlNQT+JXl dYOOL2fDX4tEwVDNRqqBkjVoYhkh9hpP4A2IJAnHGO1AJ/x8wLm0yi6AuWk6YPzfR9YXnb NQOczqtLQCU9k0XjX8wKvzqu1KRzWmp0QDvuuaTs3Xj+Dw4BWy8/gmJgZzrkMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xdzw30nmXz1Md9; Wed, 30 Oct 2024 20:57:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49UKvN2C033404; Wed, 30 Oct 2024 20:57:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49UKvM3h033401; Wed, 30 Oct 2024 20:57:22 GMT (envelope-from git) Date: Wed, 30 Oct 2024 20:57:22 GMT Message-Id: <202410302057.49UKvM3h033401@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eric Joyner Subject: git: cfcf4ea70de9 - stable/14 - Address module reproducibility issues List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: erj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cfcf4ea70de9637f8498cd4590bc9100e4deb323 Auto-Submitted: auto-generated The branch stable/14 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=cfcf4ea70de9637f8498cd4590bc9100e4deb323 commit cfcf4ea70de9637f8498cd4590bc9100e4deb323 Author: Dan McGregor AuthorDate: 2024-05-09 23:37:52 +0000 Commit: Eric Joyner CommitDate: 2024-10-30 20:51:34 +0000 Address module reproducibility issues Use .PATH & bare filename. This prevents the real source path from being included in the built object, which improves reproducibility. Signed-off-by: Dan McGregor Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1211 (cherry picked from commit 8c2f6c3be0125142d3c1782e4b0ee0634c584b9e) --- sys/modules/ice_ddp/Makefile | 4 +++- sys/modules/qatfw/qat_200xx/Makefile | 2 +- sys/modules/qatfw/qat_4xxx/Makefile | 2 +- sys/modules/qatfw/qat_c3xxx/Makefile | 2 +- sys/modules/qatfw/qat_c4xxx/Makefile | 2 +- sys/modules/qatfw/qat_c62x/Makefile | 2 +- sys/modules/qatfw/qat_dh895xcc/Makefile | 2 +- 7 files changed, 9 insertions(+), 7 deletions(-) diff --git a/sys/modules/ice_ddp/Makefile b/sys/modules/ice_ddp/Makefile index 7329f0897325..e0ef344a8283 100644 --- a/sys/modules/ice_ddp/Makefile +++ b/sys/modules/ice_ddp/Makefile @@ -1,5 +1,7 @@ +.PATH: ${SRCTOP}/sys/contrib/dev/ice + KMOD= ice_ddp -FIRMWS= ${SRCTOP}/sys/contrib/dev/ice/ice-1.3.36.0.pkg:ice_ddp:0x01032400 +FIRMWS= ice-1.3.36.0.pkg:ice_ddp:0x01032400 .include diff --git a/sys/modules/qatfw/qat_200xx/Makefile b/sys/modules/qatfw/qat_200xx/Makefile index ce80b75f78fd..97ec5080f1c8 100644 --- a/sys/modules/qatfw/qat_200xx/Makefile +++ b/sys/modules/qatfw/qat_200xx/Makefile @@ -4,6 +4,6 @@ KMOD= qat_200xx_fw -FIRMWS= ${SRCTOP}/sys/contrib/dev/qat/qat_200xx.bin:qat_200xx_fw:111 ${SRCTOP}/sys/contrib/dev/qat/qat_200xx_mmp.bin:qat_200xx_mmp_fw:111 +FIRMWS= qat_200xx.bin:qat_200xx_fw:111 qat_200xx_mmp.bin:qat_200xx_mmp_fw:111 .include diff --git a/sys/modules/qatfw/qat_4xxx/Makefile b/sys/modules/qatfw/qat_4xxx/Makefile index e4d3ed495f8a..fb7171bcaf45 100644 --- a/sys/modules/qatfw/qat_4xxx/Makefile +++ b/sys/modules/qatfw/qat_4xxx/Makefile @@ -4,6 +4,6 @@ KMOD= qat_4xxx_fw -FIRMWS= ${SRCTOP}/sys/contrib/dev/qat/qat_4xxx.bin:qat_4xxx_fw:111 ${SRCTOP}/sys/contrib/dev/qat/qat_4xxx_mmp.bin:qat_4xxx_mmp_fw:111 +FIRMWS= qat_4xxx.bin:qat_4xxx_fw:111 qat_4xxx_mmp.bin:qat_4xxx_mmp_fw:111 .include diff --git a/sys/modules/qatfw/qat_c3xxx/Makefile b/sys/modules/qatfw/qat_c3xxx/Makefile index e0759fe3a99b..e5c8c0741fa2 100644 --- a/sys/modules/qatfw/qat_c3xxx/Makefile +++ b/sys/modules/qatfw/qat_c3xxx/Makefile @@ -4,6 +4,6 @@ KMOD= qat_c3xxx_fw -FIRMWS= ${SRCTOP}/sys/contrib/dev/qat/qat_c3xxx.bin:qat_c3xxx_fw:111 ${SRCTOP}/sys/contrib/dev/qat/qat_c3xxx_mmp.bin:qat_c3xxx_mmp_fw:111 +FIRMWS= qat_c3xxx.bin:qat_c3xxx_fw:111 qat_c3xxx_mmp.bin:qat_c3xxx_mmp_fw:111 .include diff --git a/sys/modules/qatfw/qat_c4xxx/Makefile b/sys/modules/qatfw/qat_c4xxx/Makefile index 7e859dcbd989..8b4e0cda6746 100644 --- a/sys/modules/qatfw/qat_c4xxx/Makefile +++ b/sys/modules/qatfw/qat_c4xxx/Makefile @@ -4,6 +4,6 @@ KMOD= qat_c4xxx_fw -FIRMWS= ${SRCTOP}/sys/contrib/dev/qat/qat_c4xxx.bin:qat_c4xxx_fw:111 ${SRCTOP}/sys/contrib/dev/qat/qat_c4xxx_mmp.bin:qat_c4xxx_mmp_fw:111 +FIRMWS= qat_c4xxx.bin:qat_c4xxx_fw:111 qat_c4xxx_mmp.bin:qat_c4xxx_mmp_fw:111 .include diff --git a/sys/modules/qatfw/qat_c62x/Makefile b/sys/modules/qatfw/qat_c62x/Makefile index ac1636b81e56..0385653bc7ff 100644 --- a/sys/modules/qatfw/qat_c62x/Makefile +++ b/sys/modules/qatfw/qat_c62x/Makefile @@ -4,6 +4,6 @@ KMOD= qat_c62x_fw -FIRMWS= ${SRCTOP}/sys/contrib/dev/qat/qat_c62x.bin:qat_c62x_fw:111 ${SRCTOP}/sys/contrib/dev/qat/qat_c62x_mmp.bin:qat_c62x_mmp_fw:111 +FIRMWS= qat_c62x.bin:qat_c62x_fw:111 qat_c62x_mmp.bin:qat_c62x_mmp_fw:111 .include diff --git a/sys/modules/qatfw/qat_dh895xcc/Makefile b/sys/modules/qatfw/qat_dh895xcc/Makefile index 7a377c088081..d277e3dc02f7 100644 --- a/sys/modules/qatfw/qat_dh895xcc/Makefile +++ b/sys/modules/qatfw/qat_dh895xcc/Makefile @@ -4,6 +4,6 @@ KMOD= qat_dh895xcc_fw -FIRMWS= ${SRCTOP}/sys/contrib/dev/qat/qat_895xcc.bin:qat_dh895xcc_fw:111 ${SRCTOP}/sys/contrib/dev/qat/qat_895xcc_mmp.bin:qat_dh895xcc_mmp_fw:111 +FIRMWS= qat_895xcc.bin:qat_dh895xcc_fw:111 qat_895xcc_mmp.bin:qat_dh895xcc_mmp_fw:111 .include From nobody Wed Oct 30 20:57:24 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xdzw42JMrz5c1sL; Wed, 30 Oct 2024 20:57: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xdzw422pzz4pkl; Wed, 30 Oct 2024 20:57:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730321844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hl0TQTgr73/l8sr15xJX0WrEoIp68BFpjBST8IvrcyI=; b=kFppSJ1FCryG8zJER/DifSQgvZZ3AioStyabfEVKYAV9fFCfRYICF1H+hmhOZwyXjeh6/x 2t4qqDPMca45EkOmo7IjepFbtliqsA1ZinmrdHdmBiGTHuSC6yI9bDj2RFOmCNnvfSkw86 5gU1OOg/R+a5P81ko+Gmm8WssSghmnCSI+buMx3hQX5MAFK2OOrF6J90wOjNKUViRHSpyo O1/cAl6sG5+jiwtZoKAhK5A/GzA+fddoh5nGPscqwD8kcSmAaQQxYEhipqbutocXRPVO/r UxGQUbIOKZiX6RNogilasHLuCYnUxhJTTKyjr57EueWeAQ9S10cY3KLhWEifEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730321844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hl0TQTgr73/l8sr15xJX0WrEoIp68BFpjBST8IvrcyI=; b=e9r5dc8uSXPnQGhMWqYvZEGXkH8z4AA0v6HnEaTNcWHpRVRM9KgEqXla4jb0QmBWFuCKhZ iTfZh4JwAQFLV51N+x1uZW/Ud78A5n1BI/QOf48LbY55YPehEX40iuub3/HRJImD4eqWLx bI5wyOlL8ay/elzjbr7gtpn7E84XWQxgOmBcqAKRMHeHgoIBQi+e/R6aG4CnaOJf/Svrr/ iJQKtMKHWpQcY+CaM/bwau9VZilt9h2665sv8hnH9bSUPRViuJ7OfgrTKx/LcEx18pxXqK aWA94KKTdX2AV2uz2eTOu7YZ6GlJMX40/SmtE0Qs4FCWm0+YkOQKJfBSvwWa2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730321844; a=rsa-sha256; cv=none; b=Bo3eJ5ZVfGeVEbBpp9Pl8oM+5lRdpecP7mfQlwD9KQdHquUP2m+cBqCCN6tKGVJdzWthul G9cDA9uL0CmNoxbrcsh1pzw8yX9lukPazvTa55MT1ZHqs0quFC4xu72KGl8jVIaR/00K+a A9Upje86p4EWUKs8CPJbJEaV4IkibpDPNNUi51GqLmuHWe6tWNa6aMzjli7f6a/zNDISbH YC0dStHloXocXbst4mKXYEpYAv/ZHGUBVLovqiHLiBsHtNOGwtBMWHa3uV1b2F8jpSEA9p 7wshJDODnJbR5URTQ22Q5SD38lpCzaCtgNoYmRrkHv8cTmJ1dGp43ezv9wKoMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xdzw41T4Pz1MNr; Wed, 30 Oct 2024 20:57:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49UKvOfE033450; Wed, 30 Oct 2024 20:57:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49UKvODb033447; Wed, 30 Oct 2024 20:57:24 GMT (envelope-from git) Date: Wed, 30 Oct 2024 20:57:24 GMT Message-Id: <202410302057.49UKvODb033447@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eric Joyner Subject: git: a9d78bb714e3 - stable/14 - ice_ddp: Update to 1.3.41.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: erj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a9d78bb714e37f950ad0ce1e82e8b456bb72325a Auto-Submitted: auto-generated The branch stable/14 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=a9d78bb714e37f950ad0ce1e82e8b456bb72325a commit a9d78bb714e37f950ad0ce1e82e8b456bb72325a Author: Eric Joyner AuthorDate: 2024-10-28 22:48:47 +0000 Commit: Eric Joyner CommitDate: 2024-10-30 20:51:47 +0000 ice_ddp: Update to 1.3.41.0 Primarily adds support for E830 devices, unlocking all of their functionality. As well, update the README and remove the non-FreeBSD sections from it. Signed-off-by: Eric Joyner Sponsored by: Intel Corporation (cherry picked from commit f9a039060e834e89e0b2de1e8a442d78bd5c083d) --- sys/conf/files.amd64 | 6 +- sys/conf/files.arm64 | 6 +- sys/conf/files.powerpc | 6 +- sys/contrib/dev/ice/README | 330 ++++++++------------- .../dev/ice/{ice-1.3.36.0.pkg => ice-1.3.41.0.pkg} | Bin 692776 -> 1352580 bytes sys/modules/ice_ddp/Makefile | 2 +- 6 files changed, 133 insertions(+), 217 deletions(-) diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index 58946eb3c663..80ebc2ab6768 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -193,7 +193,7 @@ dev/ice/irdma_di_if.m optional ice pci \ dev/ice/ice_ddp_common.c optional ice pci \ compile-with "${NORMAL_C} -I$S/dev/ice" ice_ddp.c optional ice_ddp \ - compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032400 -mice_ddp -c${.TARGET}" \ + compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032900 -mice_ddp -c${.TARGET}" \ no-ctfconvert no-implicit-rule before-depend local \ clean "ice_ddp.c" ice_ddp.fwo optional ice_ddp \ @@ -202,8 +202,8 @@ ice_ddp.fwo optional ice_ddp \ no-implicit-rule \ clean "ice_ddp.fwo" ice_ddp.fw optional ice_ddp \ - dependency "$S/contrib/dev/ice/ice-1.3.36.0.pkg" \ - compile-with "${CP} $S/contrib/dev/ice/ice-1.3.36.0.pkg ice_ddp.fw" \ + dependency "$S/contrib/dev/ice/ice-1.3.41.0.pkg" \ + compile-with "${CP} $S/contrib/dev/ice/ice-1.3.41.0.pkg ice_ddp.fw" \ no-obj no-implicit-rule \ clean "ice_ddp.fw" dev/ioat/ioat.c optional ioat pci diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 0fefcca97c6c..563a8e93c3ad 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -322,7 +322,7 @@ dev/ice/irdma_di_if.m optional ice pci \ dev/ice/ice_ddp_common.c optional ice pci \ compile-with "${NORMAL_C} -I$S/dev/ice" ice_ddp.c optional ice_ddp \ - compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032400 -mice_ddp -c${.TARGET}" \ + compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032900 -mice_ddp -c${.TARGET}" \ no-ctfconvert no-implicit-rule before-depend local \ clean "ice_ddp.c" ice_ddp.fwo optional ice_ddp \ @@ -331,8 +331,8 @@ ice_ddp.fwo optional ice_ddp \ no-implicit-rule \ clean "ice_ddp.fwo" ice_ddp.fw optional ice_ddp \ - dependency "$S/contrib/dev/ice/ice-1.3.36.0.pkg" \ - compile-with "${CP} $S/contrib/dev/ice/ice-1.3.36.0.pkg ice_ddp.fw" \ + dependency "$S/contrib/dev/ice/ice-1.3.41.0.pkg" \ + compile-with "${CP} $S/contrib/dev/ice/ice-1.3.41.0.pkg ice_ddp.fw" \ no-obj no-implicit-rule \ clean "ice_ddp.fw" diff --git a/sys/conf/files.powerpc b/sys/conf/files.powerpc index 1a0388884ee8..6d44d9114e25 100644 --- a/sys/conf/files.powerpc +++ b/sys/conf/files.powerpc @@ -95,7 +95,7 @@ dev/ice/irdma_di_if.m optional ice pci powerpc64 | ice pci powerpc64le \ dev/ice/ice_ddp_common.c optional ice pci powerpc64 | ice pci powerpc64le \ compile-with "${NORMAL_C} -I$S/dev/ice" ice_ddp.c optional ice_ddp powerpc64 | ice pci powerpc64le \ - compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032400 -mice_ddp -c${.TARGET}" \ + compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032900 -mice_ddp -c${.TARGET}" \ no-ctfconvert no-implicit-rule before-depend local \ clean "ice_ddp.c" ice_ddp.fwo optional ice_ddp powerpc64 | ice pci powerpc64le \ @@ -104,8 +104,8 @@ ice_ddp.fwo optional ice_ddp powerpc64 | ice pci powerpc64le \ no-implicit-rule \ clean "ice_ddp.fwo" ice_ddp.fw optional ice_ddp powerpc64 | ice pci powerpc64le \ - dependency "$S/contrib/dev/ice/ice-1.3.36.0.pkg" \ - compile-with "${CP} $S/contrib/dev/ice/ice-1.3.36.0.pkg ice_ddp.fw" \ + dependency "$S/contrib/dev/ice/ice-1.3.41.0.pkg" \ + compile-with "${CP} $S/contrib/dev/ice/ice-1.3.41.0.pkg ice_ddp.fw" \ no-obj no-implicit-rule \ clean "ice_ddp.fw" dev/ixl/if_ixl.c optional ixl pci powerpc64 \ diff --git a/sys/contrib/dev/ice/README b/sys/contrib/dev/ice/README index e2ce84d72e71..c0840ecb499f 100644 --- a/sys/contrib/dev/ice/README +++ b/sys/contrib/dev/ice/README @@ -1,285 +1,201 @@ OS Default Dynamic Device Personalization (DDP) Package -====================================================================== -May 12, 2022 +******************************************************* +August 09, 2024 -Contents -======== -- Overview -- Supported Operating Systems -- Safe Mode -- Notes -- Installation -- Troubleshooting -- Legal +Contents +^^^^^^^^ -Overview -======== -Devices based on the Intel(R) Ethernet 800 Series require a Dynamic Device -Personalization (DDP) package file to enable advanced features (such as dynamic -tunneling, Intel(R) Ethernet Flow Director, RSS, and ADQ). - -DDP allows you to change the packet processing pipeline of a device by applying -a profile package to the device at runtime. Profiles can be used to, for -example, add support for new protocols, change existing protocols, or change -default settings. DDP profiles can also be rolled back without rebooting the -system. - -The DDP package loads during device initialization or driver runtime, depending -on the operating system. The driver checks to see if the DDP package is present -and compatible. If this file exists, the driver will load it into the device. -If the DDP package file is missing or incompatible with the driver, the driver -will go into Safe Mode where it will use the configuration contained in the -device's NVM. Refer to the Intel(R) Ethernet Adapters and Devices User Guide -for more information on Safe Mode. - -A general-purpose, default DDP package is automatically installed with all -supported Intel Ethernet 800 Series drivers on supported operating systems. -Additional DDP packages are available to address needs for specific market -segments or targeted solutions. - -The default DDP package supports the following: -- MAC -- EtherType -- VLAN -- IPv4 -- IPv6 -- TCP -- ARP -- UDP -- SCTP -- ICMP -- ICMPv6 -- CTRL -- LLDP -- VXLAN-GPE -- VXLAN (non-GPE) -- Geneve -- GRE -- NVGRE -- RoCEv2 -- MPLS (up to 5 consecutive MPLS labels in the outermost Layer 2 header group) +* OS Default Dynamic Device Personalization (DDP) Package + * Overview -Supported Operating Systems -=========================== -This DDP package is supported on the following operating systems: -- Microsoft* Windows Server* -- Linux* -- FreeBSD* -- VMware* ESXi* + * Supported Operating Systems -Refer to the Intel(R) Ethernet Adapters and Devices User Guide for currently -supported versions of these operating systems. + * Contents of This Package + * Related Documentation -Safe Mode -========= -Safe Mode disables advanced and performance features, and supports only basic -traffic and minimal functionality, such as updating the NVM or downloading a -new driver or DDP package. + * Notes -Refer to the Intel(R) Ethernet Adapters and Devices User Guide for more details -on DDP and Safe Mode. + * Installation + * Troubleshooting -Notes -===== -- In Linux, FreeBSD, and Windows, you cannot update the DDP package if any PF -drivers are already loaded. To overwrite a package, unload all PFs and then -reload the driver with the new package. + * Legal / Disclaimers -- In ESXi, use esxcli to load and unload DDP packages for specific market -segments during driver runtime. - -- In FreeBSD and Windows, you can only use one DDP package per driver, even if -you have more than one device installed that uses the driver. -- In Linux, FreeBSD, and Windows, only the first loaded PF per device can -download a package for that device. In ESXi, you can load different DDP -packages for different PFs associated with a device. +Overview +======== -- If you are using DPDK, see the DPDK documentation at https://www.dpdk.org/ -for installation instructions and more information. +Devices based on the Intel(R) Ethernet 800 Series require a Dynamic +Device Personalization (DDP) package file to enable advanced features +(such as dynamic tunneling, Intel(R) Ethernet Flow Director, RSS, and +ADQ). +DDP allows you to change the packet processing pipeline of a device by +applying a profile package to the device at runtime. Profiles can be +used to, for example, add support for new protocols, change existing +protocols, or change default settings. DDP profiles can also be rolled +back without rebooting the system. -Installation -============ +The DDP package loads during device initialization or driver runtime, +depending on the operating system. The driver checks to see if the DDP +package is present and compatible. If this file exists, the driver +will load it into the device. If the DDP package file is missing or +incompatible with the driver, the driver will go into Safe Mode where +it will use the configuration contained in the device's NVM. -Microsoft Windows ------------------ -TO INSTALL THE OS DEFAULT DDP PACKAGE: +Safe Mode disables advanced and performance features, and supports +only basic traffic and minimal functionality, such as updating the NVM +or downloading a new driver or DDP package. -The default DDP package is installed as part of the driver binary. You don't -need to take additional steps to install the DDP package file. +Refer to the Intel(R) Ethernet Adapters and Devices User Guide for +more details on DDP and Safe Mode. +A general-purpose, default DDP package is automatically installed with +all supported Intel Ethernet 800 Series drivers on supported operating +systems. Additional DDP packages are available to address needs for +specific market segments or targeted solutions. -FreeBSD -------- -TO INSTALL THE OS DEFAULT DDP PACKAGE: - -The FreeBSD driver automatically installs the default DDP package file during -driver installation. See the base driver README for general installation and -building instructions. - -The DDP package loads during device initialization. The driver looks for the -ice_ddp module and checks that it contains a valid DDP package file. +The default DDP package supports the following: -NOTE: It's important to do 'make install' during initial ice driver -installation so that the driver loads the DDP package automatically. +* MAC +* EtherType -Linux ------ -TO INSTALL THE OS DEFAULT DDP PACKAGE: +* VLAN -The Linux driver automatically installs the default DDP package file during -driver installation. Read the base driver README for general installation and -building instructions. +* IPv4 -The DDP package loads during device initialization. The driver looks for -intel/ice/ddp/ice.pkg in your firmware root (typically /lib/firmware/ or -/lib/firmware/updates/) and checks that it contains a valid DDP package file. -The ice.pkg file is a symbolic link to the default DDP package file installed -by the linux-firmware software package or the out-of-tree driver installation. +* IPv6 +* TCP -TO INSTALL A DDP PACKAGE FOR SPECIFIC MARKET SEGMENTS: +* ARP -You can install specific DDP package files for different physical devices in -the same system. To install a specific DDP package: +* UDP -1. Download the DDP package file (ice-x.x.x.x.zip) you want for your device. In -addition to licensing information and this README, this zip file contains the -following files: - ice-x.x.x.x.pkg - ice.pkg +* SCTP -NOTE: The ice.pkg file is a Linux symbolic link file pointing to -ice-x.x.x.x.pkg (in the same path). +* ICMP -2. Rename the ice-x.x.x.x.pkg file as ice-xxxxxxxxxxxxxxxx.pkg, where -'xxxxxxxxxxxxxxxx' is the unique 64-bit PCI Express device serial number (in -hex) of the device you want the package downloaded on. The filename must -include the complete serial number (including leading zeros) and be all -lowercase. For example, if the 64-bit serial number is b887a3ffffca0568, then -the file name would be ice-b887a3ffffca0568.pkg. +* ICMPv6 -To find the serial number from the PCI bus address, you can use the following -command: +* CTRL -# lspci -vv -s af:00.0 | grep -i Serial -Capabilities: [150 v1] Device Serial Number b8-87-a3-ff-ff-ca-05-68 +* LLDP -You can use the following command to format the serial number without the -dashes: +* VXLAN-GPE -# lspci -vv -s af:00.0 | grep -i Serial | awk '{print $7}' | sed s/-//g -b887a3ffffca0568 +* VXLAN (non-GPE) -3. Copy the renamed DDP package file to /lib/firmware/updates/intel/ice/ddp/. -If the directory does not yet exist, create it before copying the file. +* Geneve -4. Unload all of the PFs on the device. +* GRE -5. Reload the driver with the new package. +* NVGRE -NOTE: The presence of a device-specific DDP package file overrides the loading -of the default DDP package file. +* RoCEv2 +* MPLS (up to 5 consecutive MPLS labels in the outermost Layer 2 + header group) -ESX ---- -TO INSTALL THE OS DEFAULT DDP PACKAGE: -The default DDP package is installed as part of the driver binary. You don't -need to take additional steps to install the DDP package file. +Supported Operating Systems +=========================== -TO INSTALL A DDP PACKAGE FOR SPECIFIC MARKET SEGMENTS: +This DDP package is supported on the following operating systems: -You must first install the Intel(R) ESXCLI Plug-In for Managing Intel(R) -Ethernet Network Adapters to be able to install and load market-specific DDP -packages. Download it from: -https://www.intel.com/content/www/us/en/download/19380/intel-esxcli-plug-in-for- -managing-intel-ethernet-network-adapters.html +* Microsoft* Windows Server* -NOTE: ESXi support for DDP packages for specific market segments requires the -following: -- OS: ESXi 6.7 or higher -- Driver: icen 1.9.1.x or higher -- Tool: intnet 1.8.3.x or higher +* Linux* -To install and load this DDP package: +* FreeBSD* -1. Download and install the esxcli plug-in from the URL above. +* VMware* ESXi* -2. Download the DDP package. +Refer to the Intel(R) Ethernet Adapters and Devices User Guide for +currently supported versions of these operating systems. -3. Copy the DDP package file to the following location: /store/intel/icen/ddp/. - If the directory does not yet exist, create it before copying the file. -4. From the command prompt, run the following command to load the DDP package: +Related Documentation +===================== - # esxcli intnet ddp load -n -p -f +See the "Intel(R) Ethernet Adapters and Devices User Guide" for +additional information on features: - Where: - = the name of the NIC - = the name of the DDP package to load - -f = forces the package to load +* https://cdrdv2.intel.com/v1/dl/getContent/705831/ - NOTE: This operation will cause the driver to reset. +Additionally, a detailed technology guide is available for this DDP +package: -5. Wait for the load result status. +* https://cdrdv2.intel.com/v1/dl/getContent/617015 -To list all active DDP packages for all virtual NICs, run the following: +Notes +===== -# esxcli intnet ddp list +* In Linux, FreeBSD, and Windows, you cannot update the DDP package if + any PF drivers are already loaded. To overwrite a package, unload + all PFs and then reload the driver with the new package. -To unload (roll back) a DDP package, run the following: +* In FreeBSD and Windows, you can only use one DDP package per driver, + even if you have more than one device installed that uses the + driver. -# esxcli intnet ddp rollback -n -f +* In Linux, FreeBSD, and Windows, only the first loaded PF per device + can download a package for that device. In ESXi, you can load + different DDP packages for different PFs associated with a device. -NOTE: This operation will cause the driver to reset. +* If you are using DPDK, see the DPDK documentation at + https://www.dpdk.org/ for installation instructions and more + information. Troubleshooting =============== -Microsoft Windows ------------------ -If you encounter issues with the DDP package file, download the latest driver. FreeBSD ------- -If you encounter issues with the DDP package file, you may need to download an -updated driver or ice_ddp module. See the log messages for more information. -Linux ------ -If you encounter issues with the DDP package file, you may need to download an -updated driver or DDP package file. Refer to the log messages for more -information. - -ESX ---- -If you encounter issues with the DDP package file, download the latest driver. +If you encounter issues with the DDP package file, you may need to +download an updated driver or ice_ddp module. See the log messages for +more information. Legal / Disclaimers =================== -Copyright (c) 2019 - 2022, Intel Corporation. -Intel and the Intel logo are trademarks of Intel Corporation or its -subsidiaries in the U.S. and/or other countries. +Copyright (c) 2019 - 2024, Intel Corporation. + +Intel technologies may require enabled hardware, software or service +activation. + +No product or component can be absolutely secure. + +Your costs and results may vary. + +Intel, the Intel logo, and other Intel marks are trademarks of Intel +Corporation or its subsidiaries. Other names and brands may be +claimed as the property of others. + +Performance varies by use, configuration, and other factors. Learn +more at https://www.Intel.com/PerformanceIndex. + +The products described may contain design defects or errors known as +errata which may cause the product to deviate from published +specifications. Current characterized errata are available on request. -*Other names and brands may be claimed as the property of others. +This software and the related documents are Intel copyrighted +materials, and your use of them is governed by the express license +under which they were provided to you ("License"). Unless the License +provides otherwise, you may not use, modify, copy, publish, +distribute, disclose or transmit this software or the related +documents without Intel's prior written permission. -This software and the related documents are Intel copyrighted materials, and -your use of them is governed by the express license under which they were -provided to you ("License"). Unless the License provides otherwise, you may not -use, modify, copy, publish, distribute, disclose or transmit this software or -the related documents without Intel's prior written permission. -This software and the related documents are provided as is, with no express or -implied warranties, other than those that are expressly stated in the License. +This software and the related documents are provided as is, with no +express or implied warranties, other than those that are expressly +stated in the License. diff --git a/sys/contrib/dev/ice/ice-1.3.36.0.pkg b/sys/contrib/dev/ice/ice-1.3.41.0.pkg similarity index 50% rename from sys/contrib/dev/ice/ice-1.3.36.0.pkg rename to sys/contrib/dev/ice/ice-1.3.41.0.pkg index ce5dbf41f557..71e75a5d7836 100644 Binary files a/sys/contrib/dev/ice/ice-1.3.36.0.pkg and b/sys/contrib/dev/ice/ice-1.3.41.0.pkg differ diff --git a/sys/modules/ice_ddp/Makefile b/sys/modules/ice_ddp/Makefile index e0ef344a8283..cb5653911d5c 100644 --- a/sys/modules/ice_ddp/Makefile +++ b/sys/modules/ice_ddp/Makefile @@ -2,6 +2,6 @@ .PATH: ${SRCTOP}/sys/contrib/dev/ice KMOD= ice_ddp -FIRMWS= ice-1.3.36.0.pkg:ice_ddp:0x01032400 +FIRMWS= ice-1.3.41.0.pkg:ice_ddp:0x01032900 .include From nobody Wed Oct 30 20:57:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xdzw562b6z5c1x7; Wed, 30 Oct 2024 20:57: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xdzw53X51z4pnN; Wed, 30 Oct 2024 20:57:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730321845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KDw+ltTFaaNxpgVZbhMyjKS3yvkJk6auXdWBUFAVAmE=; b=SVRPHb0stID4jx1T84c/Dwk6aXSz5plcympIYkdBg77/yf1fabJlbMOGL/lZTTUcaoNNgT BJ0mckTLdFAh/FiaEv00fu59+2fEko6GV2c8QT9sql+ssDKNRkD1tWFq1t586ruArI8ovc coIjCRg6PPbqudjdNRTmGxcc3mqBP9NpkAYJrOY9+Np++WfmXhZ5FgmZDjRusbVtu8NIu6 3m/0kZiH26S9Rkd/kH7HYOYmnfoaLDx5OXKCO117sxjq7WN2hVz45vynHtrIRI5ycf5xqL h6WPL9WNYNVcY18UNz/9/7CksKQGMO5iXwDTOuVo4soqI14irX1D3LUxWGb8dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730321845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KDw+ltTFaaNxpgVZbhMyjKS3yvkJk6auXdWBUFAVAmE=; b=WzrgOWLDGLD9RJ8DquMHDxHMKRNQoX9SVx9ZVzkWRbZRy4n1MUPsX0rE52F6EmEqG0JNSk FlFfXCtJE4zB/m5zkCmhLF3xMwbUdamgmREHLsrw4FL0ZZq0UNcSLZsNRB6ITm1tQnkcP5 pr0Q65yEatppjrj59VElT5eBvIYqvj/2kcn4VHE8D/q/m1v/qQLoMLFg01tG+EM9YNXGgq j59I81zMo/md05XEKI9va9jVdH0CE6Jv+oJxlN1+pf5QYOm+BbrXLFFX8CnCnXxoTkMTB2 Yw+BOsWgLotYr5VZSUqFm6JRApkdajYY+4b3e4uC3k5aIoVi4MmYpwUrTFFVKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730321845; a=rsa-sha256; cv=none; b=G9tJl6KpP4Qq43gcNqSoLlqol4YzuNppJiSwx7y53cdqr2zrLpmNGedrpbgHr2Yqb5uF60 P4JMKOL263GsIbJ4Ey002FxPgGEbbxP3GUwcFJBlegD9qvokBGE+6BlAzP44Ie+0nsUCEu Kklw8UZG3Kd8bBSP+MRRFIaJdJbOwPgxu/0sx9x54DPal2SnDswnp68ayhInaURcYgnjJC I5HiUU8X3/DSU+cfKrYZhpBs5sck11sc3eQgSFT+ZqOqC7WVtEIQFphroAfUaZ8uF26smK 6v0Z80ZJFh1CZiU6O1jOOXhT1PrD083PQTUFzbYcTETlRoMzsIUYn/c6Egzofg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xdzw52p98z1MdB; Wed, 30 Oct 2024 20:57:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49UKvP86033489; Wed, 30 Oct 2024 20:57:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49UKvPKR033486; Wed, 30 Oct 2024 20:57:25 GMT (envelope-from git) Date: Wed, 30 Oct 2024 20:57:25 GMT Message-Id: <202410302057.49UKvPKR033486@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eric Joyner Subject: git: 5cf8640220e7 - stable/14 - ice: Update to 1.42.1-k List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: erj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5cf8640220e7fa84cd5f1368bad648d037a20e44 Auto-Submitted: auto-generated The branch stable/14 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=5cf8640220e7fa84cd5f1368bad648d037a20e44 commit 5cf8640220e7fa84cd5f1368bad648d037a20e44 Author: Eric Joyner AuthorDate: 2024-08-29 22:41:20 +0000 Commit: Eric Joyner CommitDate: 2024-10-30 20:52:07 +0000 ice: Update to 1.42.1-k Summary: - Adds E830 device support - Adds pre-release E825C support (for the Ethernet device included in an upcoming Xeon D platform) - Add sysctl for E810 devices to print out PHY debug statistics (mostly for FEC debugging) - Adds per-TX-queue tso counter sysctl to count how many times a TSO offload was requested for a packet, matching other Intel drivers - Various bug fixes Signed-off-by: Eric Joyner Tested by: Jeffrey Pieper Relnotes: yes Sponsored by: Intel Corporation Differential Revisison: https://reviews.freebsd.org/D46949 (cherry picked from commit f2635e844dd138ac9dfba676f27d41750049af26) --- sys/dev/ice/ice_adminq_cmd.h | 191 ++- sys/dev/ice/ice_bitops.h | 4 +- sys/dev/ice/ice_common.c | 967 ++++++++++------ sys/dev/ice/ice_common.h | 189 +-- sys/dev/ice/ice_common_txrx.h | 2 +- sys/dev/ice/ice_controlq.c | 143 ++- sys/dev/ice/ice_controlq.h | 24 +- sys/dev/ice/ice_dcb.c | 90 +- sys/dev/ice/ice_dcb.h | 42 +- sys/dev/ice/ice_ddp_common.c | 123 +- sys/dev/ice/ice_ddp_common.h | 19 +- sys/dev/ice/ice_devids.h | 38 +- sys/dev/ice/ice_drv_info.h | 49 +- sys/dev/ice/ice_features.h | 3 + sys/dev/ice/ice_flex_pipe.c | 266 ++--- sys/dev/ice/ice_flex_pipe.h | 38 +- sys/dev/ice/ice_flow.c | 100 +- sys/dev/ice/ice_flow.h | 14 +- sys/dev/ice/ice_fw_logging.c | 4 +- sys/dev/ice/ice_fwlog.c | 39 +- sys/dev/ice/ice_fwlog.h | 12 +- sys/dev/ice/ice_hw_autogen.h | 2557 +++++++++++++++++++++++++++++++++++------ sys/dev/ice/ice_iflib.h | 1 - sys/dev/ice/ice_lan_tx_rx.h | 8 +- sys/dev/ice/ice_lib.c | 1113 +++++++++++++++--- sys/dev/ice/ice_lib.h | 109 +- sys/dev/ice/ice_nvm.c | 374 +++--- sys/dev/ice/ice_nvm.h | 56 +- sys/dev/ice/ice_rdma.c | 2 +- sys/dev/ice/ice_sbq_cmd.h | 120 ++ sys/dev/ice/ice_sched.c | 487 ++++---- sys/dev/ice/ice_sched.h | 102 +- sys/dev/ice/ice_strings.c | 4 +- sys/dev/ice/ice_switch.c | 304 ++--- sys/dev/ice/ice_switch.h | 93 +- sys/dev/ice/ice_type.h | 36 +- sys/dev/ice/ice_vlan_mode.c | 22 +- sys/dev/ice/ice_vlan_mode.h | 2 +- sys/dev/ice/if_ice_iflib.c | 59 +- sys/dev/ice/virtchnl.h | 28 + 40 files changed, 5678 insertions(+), 2156 deletions(-) diff --git a/sys/dev/ice/ice_adminq_cmd.h b/sys/dev/ice/ice_adminq_cmd.h index 70b56144faf2..6225abc0f38b 100644 --- a/sys/dev/ice/ice_adminq_cmd.h +++ b/sys/dev/ice/ice_adminq_cmd.h @@ -187,7 +187,7 @@ struct ice_aqc_list_caps_elem { #define ICE_AQC_CAPS_ROCEV2_LAG 0x0092 #define ICE_AQC_BIT_ROCEV2_LAG 0x01 #define ICE_AQC_BIT_SRIOV_LAG 0x02 - +#define ICE_AQC_CAPS_NEXT_CLUSTER_ID 0x0096 u8 major_ver; u8 minor_ver; /* Number of resources described by this capability */ @@ -320,7 +320,12 @@ struct ice_aqc_set_port_params { (0x3F << ICE_AQC_SET_P_PARAMS_LOGI_PORT_ID_S) #define ICE_AQC_SET_P_PARAMS_IS_LOGI_PORT BIT(14) #define ICE_AQC_SET_P_PARAMS_SWID_VALID BIT(15) - u8 reserved[10]; + u8 lb_mode; +#define ICE_AQC_SET_P_PARAMS_LOOPBACK_MODE_VALID BIT(2) +#define ICE_AQC_SET_P_PARAMS_LOOPBACK_MODE_NORMAL 0x00 +#define ICE_AQC_SET_P_PARAMS_LOOPBACK_MODE_NO 0x01 +#define ICE_AQC_SET_P_PARAMS_LOOPBACK_MODE_HIGH 0x02 + u8 reserved[9]; }; /* These resource type defines are used for all switch resource @@ -1389,7 +1394,18 @@ struct ice_aqc_get_phy_caps { #define ICE_PHY_TYPE_HIGH_100G_CAUI2 BIT_ULL(2) #define ICE_PHY_TYPE_HIGH_100G_AUI2_AOC_ACC BIT_ULL(3) #define ICE_PHY_TYPE_HIGH_100G_AUI2 BIT_ULL(4) -#define ICE_PHY_TYPE_HIGH_MAX_INDEX 4 +#define ICE_PHY_TYPE_HIGH_200G_CR4_PAM4 BIT_ULL(5) +#define ICE_PHY_TYPE_HIGH_200G_SR4 BIT_ULL(6) +#define ICE_PHY_TYPE_HIGH_200G_FR4 BIT_ULL(7) +#define ICE_PHY_TYPE_HIGH_200G_LR4 BIT_ULL(8) +#define ICE_PHY_TYPE_HIGH_200G_DR4 BIT_ULL(9) +#define ICE_PHY_TYPE_HIGH_200G_KR4_PAM4 BIT_ULL(10) +#define ICE_PHY_TYPE_HIGH_200G_AUI4_AOC_ACC BIT_ULL(11) +#define ICE_PHY_TYPE_HIGH_200G_AUI4 BIT_ULL(12) +#define ICE_PHY_TYPE_HIGH_200G_AUI8_AOC_ACC BIT_ULL(13) +#define ICE_PHY_TYPE_HIGH_200G_AUI8 BIT_ULL(14) +#define ICE_PHY_TYPE_HIGH_400GBASE_FR8 BIT_ULL(15) +#define ICE_PHY_TYPE_HIGH_MAX_INDEX 15 struct ice_aqc_get_phy_caps_data { __le64 phy_type_low; /* Use values from ICE_PHY_TYPE_LOW_* */ @@ -1541,11 +1557,14 @@ struct ice_aqc_get_link_status { enum ice_get_link_status_data_version { ICE_GET_LINK_STATUS_DATA_V1 = 1, + ICE_GET_LINK_STATUS_DATA_V2 = 2, }; #define ICE_GET_LINK_STATUS_DATALEN_V1 32 +#define ICE_GET_LINK_STATUS_DATALEN_V2 56 /* Get link status response data structure, also used for Link Status Event */ +#pragma pack(1) struct ice_aqc_get_link_status_data { u8 topo_media_conflict; #define ICE_AQ_LINK_TOPO_CONFLICT BIT(0) @@ -1618,7 +1637,7 @@ struct ice_aqc_get_link_status_data { #define ICE_AQ_LINK_PWR_QSFP_CLASS_3 2 #define ICE_AQ_LINK_PWR_QSFP_CLASS_4 3 __le16 link_speed; -#define ICE_AQ_LINK_SPEED_M 0x7FF +#define ICE_AQ_LINK_SPEED_M 0xFFF #define ICE_AQ_LINK_SPEED_10MB BIT(0) #define ICE_AQ_LINK_SPEED_100MB BIT(1) #define ICE_AQ_LINK_SPEED_1000MB BIT(2) @@ -1630,12 +1649,37 @@ struct ice_aqc_get_link_status_data { #define ICE_AQ_LINK_SPEED_40GB BIT(8) #define ICE_AQ_LINK_SPEED_50GB BIT(9) #define ICE_AQ_LINK_SPEED_100GB BIT(10) +#define ICE_AQ_LINK_SPEED_200GB BIT(11) #define ICE_AQ_LINK_SPEED_UNKNOWN BIT(15) - __le32 reserved3; /* Aligns next field to 8-byte boundary */ + __le16 reserved3; /* Aligns next field to 8-byte boundary */ + u8 ext_fec_status; +#define ICE_AQ_LINK_RS_272_FEC_EN BIT(0) /* RS 272 FEC enabled */ + u8 reserved4; __le64 phy_type_low; /* Use values from ICE_PHY_TYPE_LOW_* */ __le64 phy_type_high; /* Use values from ICE_PHY_TYPE_HIGH_* */ + /* Get link status version 2 link partner data */ + __le64 lp_phy_type_low; /* Use values from ICE_PHY_TYPE_LOW_* */ + __le64 lp_phy_type_high; /* Use values from ICE_PHY_TYPE_HIGH_* */ + u8 lp_fec_adv; +#define ICE_AQ_LINK_LP_10G_KR_FEC_CAP BIT(0) +#define ICE_AQ_LINK_LP_25G_KR_FEC_CAP BIT(1) +#define ICE_AQ_LINK_LP_RS_528_FEC_CAP BIT(2) +#define ICE_AQ_LINK_LP_50G_KR_272_FEC_CAP BIT(3) +#define ICE_AQ_LINK_LP_100G_KR_272_FEC_CAP BIT(4) +#define ICE_AQ_LINK_LP_200G_KR_272_FEC_CAP BIT(5) + u8 lp_fec_req; +#define ICE_AQ_LINK_LP_10G_KR_FEC_REQ BIT(0) +#define ICE_AQ_LINK_LP_25G_KR_FEC_REQ BIT(1) +#define ICE_AQ_LINK_LP_RS_528_FEC_REQ BIT(2) +#define ICE_AQ_LINK_LP_KR_272_FEC_REQ BIT(3) + u8 lp_flowcontrol; +#define ICE_AQ_LINK_LP_PAUSE_ADV BIT(0) +#define ICE_AQ_LINK_LP_ASM_DIR_ADV BIT(1) + u8 reserved[5]; }; +#pragma pack() + /* Set event mask command (direct 0x0613) */ struct ice_aqc_set_event_mask { u8 lport_num; @@ -1793,14 +1837,46 @@ struct ice_aqc_dnl_call_command { u8 ctx; /* Used in command, reserved in response */ u8 reserved; __le16 activity_id; +#define ICE_AQC_ACT_ID_DNL 0x1129 __le32 reserved1; __le32 addr_high; __le32 addr_low; }; +struct ice_aqc_dnl_equa_param { + __le16 data_in; +#define ICE_AQC_RX_EQU_SHIFT 8 +#define ICE_AQC_RX_EQU_PRE2 (0x10 << ICE_AQC_RX_EQU_SHIFT) +#define ICE_AQC_RX_EQU_PRE1 (0x11 << ICE_AQC_RX_EQU_SHIFT) +#define ICE_AQC_RX_EQU_POST1 (0x12 << ICE_AQC_RX_EQU_SHIFT) +#define ICE_AQC_RX_EQU_BFLF (0x13 << ICE_AQC_RX_EQU_SHIFT) +#define ICE_AQC_RX_EQU_BFHF (0x14 << ICE_AQC_RX_EQU_SHIFT) +#define ICE_AQC_RX_EQU_DRATE (0x15 << ICE_AQC_RX_EQU_SHIFT) +#define ICE_AQC_TX_EQU_PRE1 0x0 +#define ICE_AQC_TX_EQU_PRE3 0x3 +#define ICE_AQC_TX_EQU_ATTEN 0x4 +#define ICE_AQC_TX_EQU_POST1 0x8 +#define ICE_AQC_TX_EQU_PRE2 0xC + __le16 op_code_serdes_sel; +#define ICE_AQC_OP_CODE_SHIFT 4 +#define ICE_AQC_OP_CODE_RX_EQU (0x9 << ICE_AQC_OP_CODE_SHIFT) +#define ICE_AQC_OP_CODE_TX_EQU (0x10 << ICE_AQC_OP_CODE_SHIFT) + __le32 reserved[3]; +}; + +struct ice_aqc_dnl_equa_resp { + /* Equalization value can be -ve */ + int val; + __le32 reserved[3]; +}; + /* DNL call command/response buffer (indirect 0x0682) */ struct ice_aqc_dnl_call { - __le32 stores[4]; + union { + struct ice_aqc_dnl_equa_param txrx_equa_reqs; + __le32 stores[4]; + struct ice_aqc_dnl_equa_resp txrx_equa_resp; + } sto; }; /* Used for both commands: @@ -1902,8 +1978,8 @@ struct ice_aqc_link_topo_addr { #define ICE_AQC_LINK_TOPO_HANDLE_M (0x3FF << ICE_AQC_LINK_TOPO_HANDLE_S) /* Used to decode the handle field */ #define ICE_AQC_LINK_TOPO_HANDLE_BRD_TYPE_M BIT(9) -#define ICE_AQC_LINK_TOPO_HANDLE_BRD_TYPE_LOM BIT(9) -#define ICE_AQC_LINK_TOPO_HANDLE_BRD_TYPE_MEZZ 0 +#define ICE_AQC_LINK_TOPO_HANDLE_BRD_TYPE_LOM 0 +#define ICE_AQC_LINK_TOPO_HANDLE_BRD_TYPE_MEZZ BIT(9) #define ICE_AQC_LINK_TOPO_HANDLE_NODE_S 0 /* In case of a Mezzanine type */ #define ICE_AQC_LINK_TOPO_HANDLE_MEZZ_NODE_M \ @@ -1919,7 +1995,7 @@ struct ice_aqc_link_topo_addr { struct ice_aqc_get_link_topo { struct ice_aqc_link_topo_addr addr; u8 node_part_num; -#define ICE_ACQ_GET_LINK_TOPO_NODE_NR_PCA9575 0x21 +#define ICE_AQC_GET_LINK_TOPO_NODE_NR_PCA9575 0x21 u8 rsvd[9]; }; @@ -2054,6 +2130,7 @@ struct ice_aqc_get_port_options_elem { #define ICE_AQC_PORT_OPT_MAX_LANE_25G 5 #define ICE_AQC_PORT_OPT_MAX_LANE_50G 6 #define ICE_AQC_PORT_OPT_MAX_LANE_100G 7 +#define ICE_AQC_PORT_OPT_MAX_LANE_200G 8 u8 global_scid[2]; u8 phy_scid[2]; u8 pf2port_cid[2]; @@ -2201,6 +2278,29 @@ struct ice_aqc_nvm { #define ICE_AQC_NVM_LLDP_STATUS_M_LEN 4 /* In Bits */ #define ICE_AQC_NVM_LLDP_STATUS_RD_LEN 4 /* In Bytes */ +#define ICE_AQC_NVM_SDP_CFG_PTR_OFFSET 0xD8 +#define ICE_AQC_NVM_SDP_CFG_PTR_RD_LEN 2 /* In Bytes */ +#define ICE_AQC_NVM_SDP_CFG_PTR_M MAKEMASK(0x7FFF, 0) +#define ICE_AQC_NVM_SDP_CFG_PTR_TYPE_M BIT(15) +#define ICE_AQC_NVM_SDP_CFG_HEADER_LEN 2 /* In Bytes */ +#define ICE_AQC_NVM_SDP_CFG_SEC_LEN_LEN 2 /* In Bytes */ +#define ICE_AQC_NVM_SDP_CFG_DATA_LEN 14 /* In Bytes */ +#define ICE_AQC_NVM_SDP_CFG_MAX_SECTION_SIZE 7 +#define ICE_AQC_NVM_SDP_CFG_PIN_SIZE 10 +#define ICE_AQC_NVM_SDP_CFG_PIN_OFFSET 6 +#define ICE_AQC_NVM_SDP_CFG_PIN_MASK MAKEMASK(0x3FF, \ + ICE_AQC_NVM_SDP_CFG_PIN_OFFSET) +#define ICE_AQC_NVM_SDP_CFG_CHAN_OFFSET 4 +#define ICE_AQC_NVM_SDP_CFG_CHAN_MASK MAKEMASK(0x3, \ + ICE_AQC_NVM_SDP_CFG_CHAN_OFFSET) +#define ICE_AQC_NVM_SDP_CFG_DIR_OFFSET 3 +#define ICE_AQC_NVM_SDP_CFG_DIR_MASK MAKEMASK(0x1, \ + ICE_AQC_NVM_SDP_CFG_DIR_OFFSET) +#define ICE_AQC_NVM_SDP_CFG_SDP_NUM_OFFSET 0 +#define ICE_AQC_NVM_SDP_CFG_SDP_NUM_MASK MAKEMASK(0x7, \ + ICE_AQC_NVM_SDP_CFG_SDP_NUM_OFFSET) +#define ICE_AQC_NVM_SDP_CFG_NA_PIN_MASK MAKEMASK(0x1, 15) + #define ICE_AQC_NVM_MINSREV_MOD_ID 0x130 #define ICE_AQC_NVM_TX_TOPO_MOD_ID 0x14B #define ICE_AQC_NVM_CMPO_MOD_ID 0x153 @@ -2265,6 +2365,29 @@ struct ice_aqc_nvm_checksum { u8 rsvd2[12]; }; +/* Used for NVM Sanitization command - 0x070C */ +struct ice_aqc_nvm_sanitization { + u8 cmd_flags; +#define ICE_AQ_NVM_SANITIZE_REQ_READ 0 +#define ICE_AQ_NVM_SANITIZE_REQ_OPERATE BIT(0) + +#define ICE_AQ_NVM_SANITIZE_READ_SUBJECT_NVM_BITS 0 +#define ICE_AQ_NVM_SANITIZE_READ_SUBJECT_NVM_STATE BIT(1) +#define ICE_AQ_NVM_SANITIZE_OPERATE_SUBJECT_CLEAR 0 + u8 values; +#define ICE_AQ_NVM_SANITIZE_NVM_BITS_HOST_CLEAN_SUPPORT BIT(0) +#define ICE_AQ_NVM_SANITIZE_NVM_BITS_BMC_CLEAN_SUPPORT BIT(2) +#define ICE_AQ_NVM_SANITIZE_NVM_STATE_HOST_CLEAN_DONE BIT(0) +#define ICE_AQ_NVM_SANITIZE_NVM_STATE_HOST_CLEAN_SUCCESS BIT(1) +#define ICE_AQ_NVM_SANITIZE_NVM_STATE_BMC_CLEAN_DONE BIT(2) +#define ICE_AQ_NVM_SANITIZE_NVM_STATE_BMC_CLEAN_SUCCESS BIT(3) +#define ICE_AQ_NVM_SANITIZE_OPERATE_HOST_CLEAN_DONE BIT(0) +#define ICE_AQ_NVM_SANITIZE_OPERATE_HOST_CLEAN_SUCCESS BIT(1) +#define ICE_AQ_NVM_SANITIZE_OPERATE_BMC_CLEAN_DONE BIT(2) +#define ICE_AQ_NVM_SANITIZE_OPERATE_BMC_CLEAN_SUCCESS BIT(3) + u8 reserved[14]; +}; + /* * Send to PF command (indirect 0x0801) ID is only used by PF * @@ -2560,6 +2683,15 @@ struct ice_aqc_get_set_rss_lut { __le32 addr_low; }; +/* Sideband Control Interface Commands */ +/* Neighbor Device Request (indirect 0x0C00); also used for the response. */ +struct ice_aqc_neigh_dev_req { + __le16 sb_data_len; + u8 reserved[6]; + __le32 addr_high; + __le32 addr_low; +}; + /* Add Tx LAN Queues (indirect 0x0C30) */ struct ice_aqc_add_txqs { u8 num_qgrps; @@ -2812,19 +2944,33 @@ struct ice_aqc_event_lan_overflow { /* Debug Dump Internal Data (indirect 0xFF08) */ struct ice_aqc_debug_dump_internals { __le16 cluster_id; /* Expresses next cluster ID in response */ -#define ICE_AQC_DBG_DUMP_CLUSTER_ID_SW 0 -#define ICE_AQC_DBG_DUMP_CLUSTER_ID_TXSCHED 2 -#define ICE_AQC_DBG_DUMP_CLUSTER_ID_PROFILES 3 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_SW_E810 0 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_ACL_E810 1 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_TXSCHED_E810 2 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_PROFILES_E810 3 /* EMP_DRAM only dumpable in device debug mode */ -#define ICE_AQC_DBG_DUMP_CLUSTER_ID_EMP_DRAM 4 -#define ICE_AQC_DBG_DUMP_CLUSTER_ID_LINK 5 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_EMP_DRAM_E810 4 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_LINK_E810 5 /* AUX_REGS only dumpable in device debug mode */ -#define ICE_AQC_DBG_DUMP_CLUSTER_ID_AUX_REGS 6 -#define ICE_AQC_DBG_DUMP_CLUSTER_ID_DCB 7 -#define ICE_AQC_DBG_DUMP_CLUSTER_ID_L2P 8 -#define ICE_AQC_DBG_DUMP_CLUSTER_ID_QUEUE_MNG 9 -#define ICE_AQC_DBG_DUMP_CLUSTER_ID_FULL_CSR_SPACE 21 -#define ICE_AQC_DBG_DUMP_CLUSTER_ID_MNG_TRANSACTIONS 22 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_AUX_REGS_E810 6 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_DCB_E810 7 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_L2P_E810 8 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_QUEUE_MNG_E810 9 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_FULL_CSR_SPACE_E810 21 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_MNG_TRANSACTIONS_E810 22 + +/* Start cluster to discover first available cluster */ +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_START_ALL 0 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_SW_E830 100 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_ACL_E830 101 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_TXSCHED_E830 102 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_PROFILES_E830 103 +/* EMP_DRAM only dumpable in device debug mode */ +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_LINK_E830 105 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_DCB_E830 107 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_L2P_E830 108 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_QUEUE_MNG_E830 109 +#define ICE_AQC_DBG_DUMP_CLUSTER_ID_FULL_CSR_SPACE_E830 121 __le16 table_id; /* Used only for non-memory clusters */ __le32 idx; /* In table entries for tables, in bytes for memory */ __le32 addr_high; @@ -3076,6 +3222,7 @@ struct ice_aq_desc { struct ice_aqc_nvm nvm; struct ice_aqc_nvm_cfg nvm_cfg; struct ice_aqc_nvm_checksum nvm_checksum; + struct ice_aqc_nvm_sanitization sanitization; struct ice_aqc_pf_vf_msg virt; struct ice_aqc_read_write_alt_direct read_write_alt_direct; struct ice_aqc_read_write_alt_indirect read_write_alt_indirect; @@ -3095,6 +3242,7 @@ struct ice_aq_desc { struct ice_aqc_lldp_filter_ctrl lldp_filter_ctrl; struct ice_aqc_get_set_rss_lut get_set_rss_lut; struct ice_aqc_get_set_rss_key get_set_rss_key; + struct ice_aqc_neigh_dev_req neigh_dev; struct ice_aqc_add_txqs add_txqs; struct ice_aqc_dis_txqs dis_txqs; struct ice_aqc_move_txqs move_txqs; @@ -3330,6 +3478,7 @@ enum ice_adminq_opc { ice_aqc_opc_nvm_update_empr = 0x0709, ice_aqc_opc_nvm_pkg_data = 0x070A, ice_aqc_opc_nvm_pass_component_tbl = 0x070B, + ice_aqc_opc_nvm_sanitization = 0x070C, /* PF/VF mailbox commands */ ice_mbx_opc_send_msg_to_pf = 0x0801, @@ -3360,6 +3509,8 @@ enum ice_adminq_opc { ice_aqc_opc_set_rss_lut = 0x0B03, ice_aqc_opc_get_rss_key = 0x0B04, ice_aqc_opc_get_rss_lut = 0x0B05, + /* Sideband Control Interface commands */ + ice_aqc_opc_neighbour_device_request = 0x0C00, /* Tx queue handling commands/events */ ice_aqc_opc_add_txqs = 0x0C30, diff --git a/sys/dev/ice/ice_bitops.h b/sys/dev/ice/ice_bitops.h index 499ee41228c3..c480900596f4 100644 --- a/sys/dev/ice/ice_bitops.h +++ b/sys/dev/ice/ice_bitops.h @@ -445,10 +445,10 @@ ice_bitmap_set(ice_bitmap_t *dst, u16 pos, u16 num_bits) * Note that this function assumes it is operating on a bitmap declared using * ice_declare_bitmap. */ -static inline int +static inline u16 ice_bitmap_hweight(ice_bitmap_t *bm, u16 size) { - int count = 0; + u16 count = 0; u16 bit = 0; while (size > (bit = ice_find_next_bit(bm, size, bit))) { diff --git a/sys/dev/ice/ice_common.c b/sys/dev/ice/ice_common.c index ef487bcfd0f4..ad4ea4c8e7a1 100644 --- a/sys/dev/ice/ice_common.c +++ b/sys/dev/ice/ice_common.c @@ -32,7 +32,6 @@ #include "ice_common.h" #include "ice_sched.h" #include "ice_adminq_cmd.h" - #include "ice_flow.h" #include "ice_switch.h" @@ -111,6 +110,17 @@ static const char * const ice_link_mode_str_high[] = { ice_arr_elem_idx(2, "100G_CAUI2"), ice_arr_elem_idx(3, "100G_AUI2_AOC_ACC"), ice_arr_elem_idx(4, "100G_AUI2"), + ice_arr_elem_idx(5, "200G_CR4_PAM4"), + ice_arr_elem_idx(6, "200G_SR4"), + ice_arr_elem_idx(7, "200G_FR4"), + ice_arr_elem_idx(8, "200G_LR4"), + ice_arr_elem_idx(9, "200G_DR4"), + ice_arr_elem_idx(10, "200G_KR4_PAM4"), + ice_arr_elem_idx(11, "200G_AUI4_AOC_ACC"), + ice_arr_elem_idx(12, "200G_AUI4"), + ice_arr_elem_idx(13, "200G_AUI8_AOC_ACC"), + ice_arr_elem_idx(14, "200G_AUI8"), + ice_arr_elem_idx(15, "400GBASE_FR8"), }; /** @@ -151,7 +161,7 @@ ice_dump_phy_type(struct ice_hw *hw, u64 low, u64 high, const char *prefix) * This function sets the MAC type of the adapter based on the * vendor ID and device ID stored in the HW structure. */ -enum ice_status ice_set_mac_type(struct ice_hw *hw) +int ice_set_mac_type(struct ice_hw *hw) { ice_debug(hw, ICE_DBG_TRACE, "%s\n", __func__); @@ -188,13 +198,43 @@ enum ice_status ice_set_mac_type(struct ice_hw *hw) case ICE_DEV_ID_E823C_SGMII: hw->mac_type = ICE_MAC_GENERIC; break; + case ICE_DEV_ID_E825C_BACKPLANE: + case ICE_DEV_ID_E825C_QSFP: + case ICE_DEV_ID_E825C_SFP: + case ICE_DEV_ID_E825C_SGMII: + hw->mac_type = ICE_MAC_GENERIC_3K_E825; + break; + case ICE_DEV_ID_E830_BACKPLANE: + case ICE_DEV_ID_E830_QSFP56: + case ICE_DEV_ID_E830_SFP: + case ICE_DEV_ID_E830C_BACKPLANE: + case ICE_DEV_ID_E830_L_BACKPLANE: + case ICE_DEV_ID_E830C_QSFP: + case ICE_DEV_ID_E830_L_QSFP: + case ICE_DEV_ID_E830C_SFP: + case ICE_DEV_ID_E830_L_SFP: + hw->mac_type = ICE_MAC_E830; + break; default: hw->mac_type = ICE_MAC_UNKNOWN; break; } ice_debug(hw, ICE_DBG_INIT, "mac_type: %d\n", hw->mac_type); - return ICE_SUCCESS; + return 0; +} + +/** + * ice_is_generic_mac + * @hw: pointer to the hardware structure + * + * returns true if mac_type is ICE_MAC_GENERIC, false if not + */ +bool ice_is_generic_mac(struct ice_hw *hw) +{ + return (hw->mac_type == ICE_MAC_GENERIC || + hw->mac_type == ICE_MAC_GENERIC_3K || + hw->mac_type == ICE_MAC_GENERIC_3K_E825); } /** @@ -223,7 +263,7 @@ bool ice_is_e810t(struct ice_hw *hw) case ICE_SUBDEV_ID_E810T2: case ICE_SUBDEV_ID_E810T3: case ICE_SUBDEV_ID_E810T4: - case ICE_SUBDEV_ID_E810T5: + case ICE_SUBDEV_ID_E810T6: case ICE_SUBDEV_ID_E810T7: return true; } @@ -231,8 +271,8 @@ bool ice_is_e810t(struct ice_hw *hw) case ICE_DEV_ID_E810C_QSFP: switch (hw->subsystem_device_id) { case ICE_SUBDEV_ID_E810T2: + case ICE_SUBDEV_ID_E810T3: case ICE_SUBDEV_ID_E810T5: - case ICE_SUBDEV_ID_E810T6: return true; } break; @@ -243,6 +283,17 @@ bool ice_is_e810t(struct ice_hw *hw) return false; } +/** + * ice_is_e830 + * @hw: pointer to the hardware structure + * + * returns true if the device is E830 based, false if not. + */ +bool ice_is_e830(struct ice_hw *hw) +{ + return hw->mac_type == ICE_MAC_E830; +} + /** * ice_is_e823 * @hw: pointer to the hardware structure @@ -268,6 +319,25 @@ bool ice_is_e823(struct ice_hw *hw) } } +/** + * ice_is_e825c + * @hw: pointer to the hardware structure + * + * returns true if the device is E825-C based, false if not. + */ +bool ice_is_e825c(struct ice_hw *hw) +{ + switch (hw->device_id) { + case ICE_DEV_ID_E825C_BACKPLANE: + case ICE_DEV_ID_E825C_QSFP: + case ICE_DEV_ID_E825C_SFP: + case ICE_DEV_ID_E825C_SGMII: + return true; + default: + return false; + } +} + /** * ice_clear_pf_cfg - Clear PF configuration * @hw: pointer to the hardware structure @@ -275,7 +345,7 @@ bool ice_is_e823(struct ice_hw *hw) * Clears any existing PF configuration (VSIs, VSI lists, switch rules, port * configuration, flow director filters, etc.). */ -enum ice_status ice_clear_pf_cfg(struct ice_hw *hw) +int ice_clear_pf_cfg(struct ice_hw *hw) { struct ice_aq_desc desc; @@ -299,14 +369,14 @@ enum ice_status ice_clear_pf_cfg(struct ice_hw *hw) * ice_discover_dev_caps is expected to be called before this function is * called. */ -enum ice_status +int ice_aq_manage_mac_read(struct ice_hw *hw, void *buf, u16 buf_size, struct ice_sq_cd *cd) { struct ice_aqc_manage_mac_read_resp *resp; struct ice_aqc_manage_mac_read *cmd; struct ice_aq_desc desc; - enum ice_status status; + int status; u16 flags; u8 i; @@ -340,7 +410,7 @@ ice_aq_manage_mac_read(struct ice_hw *hw, void *buf, u16 buf_size, ETH_ALEN, ICE_NONDMA_TO_NONDMA); break; } - return ICE_SUCCESS; + return 0; } /** @@ -401,16 +471,21 @@ static void ice_set_media_type(struct ice_port_info *pi) * type is FIBER */ else if (ice_phy_maps_to_media(phy_type_low, phy_type_high, - ICE_MEDIA_OPT_PHY_TYPE_LOW_M, 0) || - (phy_type_low & ICE_MEDIA_OPT_PHY_TYPE_LOW_M && - phy_type_low & ICE_MEDIA_C2M_PHY_TYPE_LOW_M)) + ICE_MEDIA_OPT_PHY_TYPE_LOW_M, + ICE_MEDIA_OPT_PHY_TYPE_HIGH_M) || + ((phy_type_low & ICE_MEDIA_OPT_PHY_TYPE_LOW_M || + phy_type_high & ICE_MEDIA_OPT_PHY_TYPE_HIGH_M) && + (phy_type_low & ICE_MEDIA_C2M_PHY_TYPE_LOW_M || + phy_type_high & ICE_MEDIA_C2C_PHY_TYPE_HIGH_M))) *media_type = ICE_MEDIA_FIBER; /* else if PHY types are only DA, or DA and C2C, then media type DA */ else if (ice_phy_maps_to_media(phy_type_low, phy_type_high, - ICE_MEDIA_DAC_PHY_TYPE_LOW_M, 0) || - (phy_type_low & ICE_MEDIA_DAC_PHY_TYPE_LOW_M && - (phy_type_low & ICE_MEDIA_C2C_PHY_TYPE_LOW_M || - phy_type_high & ICE_MEDIA_C2C_PHY_TYPE_HIGH_M))) + ICE_MEDIA_DAC_PHY_TYPE_LOW_M, + ICE_MEDIA_DAC_PHY_TYPE_HIGH_M) || + ((phy_type_low & ICE_MEDIA_DAC_PHY_TYPE_LOW_M || + phy_type_high & ICE_MEDIA_DAC_PHY_TYPE_HIGH_M) && + (phy_type_low & ICE_MEDIA_C2C_PHY_TYPE_LOW_M || + phy_type_high & ICE_MEDIA_C2C_PHY_TYPE_HIGH_M))) *media_type = ICE_MEDIA_DA; /* else if PHY types are only C2M or only C2C, then media is AUI */ else if (ice_phy_maps_to_media(phy_type_low, phy_type_high, @@ -435,7 +510,7 @@ static void ice_set_media_type(struct ice_port_info *pi) * * Returns the various PHY capabilities supported on the Port (0x0600) */ -enum ice_status +int ice_aq_get_phy_caps(struct ice_port_info *pi, bool qual_mods, u8 report_mode, struct ice_aqc_get_phy_caps_data *pcaps, struct ice_sq_cd *cd) @@ -443,9 +518,9 @@ ice_aq_get_phy_caps(struct ice_port_info *pi, bool qual_mods, u8 report_mode, struct ice_aqc_get_phy_caps *cmd; u16 pcaps_size = sizeof(*pcaps); struct ice_aq_desc desc; - enum ice_status status; const char *prefix; struct ice_hw *hw; + int status; cmd = &desc.params.get_phy; @@ -510,7 +585,7 @@ ice_aq_get_phy_caps(struct ice_port_info *pi, bool qual_mods, u8 report_mode, ice_debug(hw, ICE_DBG_LINK, "%s: module_type[2] = 0x%x\n", prefix, pcaps->module_type[2]); - if (status == ICE_SUCCESS && report_mode == ICE_AQC_REPORT_TOPO_CAP_MEDIA) { + if (!status && report_mode == ICE_AQC_REPORT_TOPO_CAP_MEDIA) { pi->phy.phy_type_low = LE64_TO_CPU(pcaps->phy_type_low); pi->phy.phy_type_high = LE64_TO_CPU(pcaps->phy_type_high); ice_memcpy(pi->phy.link_info.module_type, &pcaps->module_type, @@ -525,81 +600,65 @@ ice_aq_get_phy_caps(struct ice_port_info *pi, bool qual_mods, u8 report_mode, } /** - * ice_aq_get_netlist_node - * @hw: pointer to the hw struct - * @cmd: get_link_topo AQ structure - * @node_part_number: output node part number if node found - * @node_handle: output node handle parameter if node found + * ice_aq_get_phy_equalization - function to read serdes equalizer value from + * firmware using admin queue command. + * @hw: pointer to the HW struct + * @data_in: represents the serdes equalization parameter requested + * @op_code: represents the serdes number and flag to represent tx or rx + * @serdes_num: represents the serdes number + * @output: pointer to the caller-supplied buffer to return serdes equalizer + * + * Returns 0 on success, + * non-zero status on error */ -enum ice_status -ice_aq_get_netlist_node(struct ice_hw *hw, struct ice_aqc_get_link_topo *cmd, - u8 *node_part_number, u16 *node_handle) +int ice_aq_get_phy_equalization(struct ice_hw *hw, u16 data_in, u16 op_code, + u8 serdes_num, int *output) { + struct ice_aqc_dnl_call_command *cmd; + struct ice_aqc_dnl_call buf; struct ice_aq_desc desc; + int err = 0; - ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_get_link_topo); - desc.params.get_link_topo = *cmd; + if (!hw || !output) + return (ICE_ERR_PARAM); - if (ice_aq_send_cmd(hw, &desc, NULL, 0, NULL)) - return ICE_ERR_NOT_SUPPORTED; + memset(&buf, 0, sizeof(buf)); + buf.sto.txrx_equa_reqs.data_in = CPU_TO_LE16(data_in); + buf.sto.txrx_equa_reqs.op_code_serdes_sel = + CPU_TO_LE16(op_code | (serdes_num & 0xF)); - if (node_handle) - *node_handle = - LE16_TO_CPU(desc.params.get_link_topo.addr.handle); - if (node_part_number) - *node_part_number = desc.params.get_link_topo.node_part_num; + cmd = &desc.params.dnl_call; + ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_dnl_call); + desc.flags |= CPU_TO_LE16(ICE_AQ_FLAG_BUF | ICE_AQ_FLAG_RD | + ICE_AQ_FLAG_SI); + desc.datalen = CPU_TO_LE16(sizeof(struct ice_aqc_dnl_call)); + cmd->activity_id = CPU_TO_LE16(ICE_AQC_ACT_ID_DNL); + cmd->ctx = 0; - return ICE_SUCCESS; + err = ice_aq_send_cmd(hw, &desc, &buf, + sizeof(struct ice_aqc_dnl_call), NULL); + if (!err) + *output = buf.sto.txrx_equa_resp.val; + + return err; } -#define MAX_NETLIST_SIZE 10 +#define ice_get_link_status_data_ver(hw) ((hw)->mac_type == ICE_MAC_E830 ? \ + ICE_GET_LINK_STATUS_DATA_V2 : ICE_GET_LINK_STATUS_DATA_V1) + /** - * ice_find_netlist_node - * @hw: pointer to the hw struct - * @node_type_ctx: type of netlist node to look for - * @node_part_number: node part number to look for - * @node_handle: output parameter if node found - optional + * ice_get_link_status_datalen + * @hw: pointer to the HW struct * - * Find and return the node handle for a given node type and part number in the - * netlist. When found ICE_SUCCESS is returned, ICE_ERR_DOES_NOT_EXIST - * otherwise. If node_handle provided, it would be set to found node handle. + * return Get Link Status datalen */ -enum ice_status -ice_find_netlist_node(struct ice_hw *hw, u8 node_type_ctx, u8 node_part_number, - u16 *node_handle) +static u16 ice_get_link_status_datalen(struct ice_hw *hw) { - struct ice_aqc_get_link_topo cmd; - u8 rec_node_part_number; - u16 rec_node_handle; - u8 idx; - - for (idx = 0; idx < MAX_NETLIST_SIZE; idx++) { - enum ice_status status; - - memset(&cmd, 0, sizeof(cmd)); - - cmd.addr.topo_params.node_type_ctx = - (node_type_ctx << ICE_AQC_LINK_TOPO_NODE_TYPE_S); - cmd.addr.topo_params.index = idx; - - status = ice_aq_get_netlist_node(hw, &cmd, - &rec_node_part_number, - &rec_node_handle); - if (status) - return status; - - if (rec_node_part_number == node_part_number) { - if (node_handle) - *node_handle = rec_node_handle; - return ICE_SUCCESS; - } - } - - return ICE_ERR_DOES_NOT_EXIST; + return (ice_get_link_status_data_ver(hw) == + ICE_GET_LINK_STATUS_DATA_V1) ? ICE_GET_LINK_STATUS_DATALEN_V1 : + ICE_GET_LINK_STATUS_DATALEN_V2; } -#define ice_get_link_status_datalen(hw) ICE_GET_LINK_STATUS_DATALEN_V1 - /** * ice_aq_get_link_info * @pi: port information structure @@ -609,7 +668,7 @@ ice_find_netlist_node(struct ice_hw *hw, u8 node_type_ctx, u8 node_part_number, * * Get Link Status (0x607). Returns the link status of the adapter. */ -enum ice_status +int ice_aq_get_link_info(struct ice_port_info *pi, bool ena_lse, struct ice_link_status *link, struct ice_sq_cd *cd) { @@ -619,9 +678,9 @@ ice_aq_get_link_info(struct ice_port_info *pi, bool ena_lse, struct ice_fc_info *hw_fc_info; bool tx_pause, rx_pause; struct ice_aq_desc desc; - enum ice_status status; struct ice_hw *hw; u16 cmd_flags; + int status; if (!pi) return ICE_ERR_PARAM; @@ -639,7 +698,7 @@ ice_aq_get_link_info(struct ice_port_info *pi, bool ena_lse, status = ice_aq_send_cmd(hw, &desc, &link_data, ice_get_link_status_datalen(hw), cd); - if (status != ICE_SUCCESS) + if (status) return status; /* save off old link status information */ @@ -696,7 +755,7 @@ ice_aq_get_link_info(struct ice_port_info *pi, bool ena_lse, /* flag cleared so calling functions don't call AQ again */ pi->phy.get_link_info = false; - return ICE_SUCCESS; + return 0; } /** @@ -721,17 +780,28 @@ ice_fill_tx_timer_and_fc_thresh(struct ice_hw *hw, * Also, because we are operating on transmit timer and fc * threshold of LFC, we don't turn on any bit in tx_tmr_priority */ -#define IDX_OF_LFC PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_MAX_INDEX +#define E800_IDX_OF_LFC E800_PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_MAX_INDEX - /* Retrieve the transmit timer */ - val = rd32(hw, PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA(IDX_OF_LFC)); - tx_timer_val = val & - PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_HSEC_CTL_TX_PAUSE_QUANTA_M; - cmd->tx_tmr_value = CPU_TO_LE16(tx_timer_val); + if ((hw)->mac_type == ICE_MAC_E830) { + /* Retrieve the transmit timer */ + val = rd32(hw, E830_PRTMAC_CL01_PAUSE_QUANTA); + tx_timer_val = val & E830_PRTMAC_CL01_PAUSE_QUANTA_CL0_PAUSE_QUANTA_M; + cmd->tx_tmr_value = CPU_TO_LE16(tx_timer_val); - /* Retrieve the fc threshold */ - val = rd32(hw, PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER(IDX_OF_LFC)); - fc_thres_val = val & PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER_M; + /* Retrieve the fc threshold */ + val = rd32(hw, E830_PRTMAC_CL01_QUANTA_THRESH); + fc_thres_val = val & E830_PRTMAC_CL01_QUANTA_THRESH_CL0_QUANTA_THRESH_M; + } else { + /* Retrieve the transmit timer */ + val = rd32(hw, E800_PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA(E800_IDX_OF_LFC)); + tx_timer_val = val & + E800_PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_HSEC_CTL_TX_PAUSE_QUANTA_M; + cmd->tx_tmr_value = CPU_TO_LE16(tx_timer_val); + + /* Retrieve the fc threshold */ + val = rd32(hw, E800_PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER(E800_IDX_OF_LFC)); + fc_thres_val = val & E800_PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER_M; + } cmd->fc_refresh_threshold = CPU_TO_LE16(fc_thres_val); } @@ -745,7 +815,7 @@ ice_fill_tx_timer_and_fc_thresh(struct ice_hw *hw, * * Set MAC configuration (0x0603) */ -enum ice_status +int ice_aq_set_mac_cfg(struct ice_hw *hw, u16 max_frame_size, bool auto_drop, struct ice_sq_cd *cd) { @@ -772,10 +842,10 @@ ice_aq_set_mac_cfg(struct ice_hw *hw, u16 max_frame_size, bool auto_drop, * ice_init_fltr_mgmt_struct - initializes filter management list and locks * @hw: pointer to the HW struct */ -static enum ice_status ice_init_fltr_mgmt_struct(struct ice_hw *hw) +int ice_init_fltr_mgmt_struct(struct ice_hw *hw) { struct ice_switch_info *sw; - enum ice_status status; + int status; hw->switch_info = (struct ice_switch_info *) ice_malloc(hw, sizeof(*hw->switch_info)); @@ -793,7 +863,7 @@ static enum ice_status ice_init_fltr_mgmt_struct(struct ice_hw *hw) ice_free(hw, hw->switch_info); return status; } - return ICE_SUCCESS; + return 0; } /** @@ -866,7 +936,7 @@ ice_cleanup_fltr_mgmt_single(struct ice_hw *hw, struct ice_switch_info *sw) * ice_cleanup_fltr_mgmt_struct - cleanup filter management list and locks * @hw: pointer to the HW struct */ -static void ice_cleanup_fltr_mgmt_struct(struct ice_hw *hw) +void ice_cleanup_fltr_mgmt_struct(struct ice_hw *hw) { ice_cleanup_fltr_mgmt_single(hw, hw->switch_info); } @@ -911,7 +981,7 @@ void ice_print_rollback_msg(struct ice_hw *hw) orom = &hw->flash.orom; nvm = &hw->flash.nvm; - SNPRINTF(nvm_str, sizeof(nvm_str), "%x.%02x 0x%x %d.%d.%d", + (void)SNPRINTF(nvm_str, sizeof(nvm_str), "%x.%02x 0x%x %d.%d.%d", nvm->major, nvm->minor, nvm->eetrack, orom->major, orom->build, orom->patch); ice_warn(hw, @@ -934,12 +1004,12 @@ void ice_set_umac_shared(struct ice_hw *hw) * ice_init_hw - main hardware initialization routine * @hw: pointer to the hardware structure */ -enum ice_status ice_init_hw(struct ice_hw *hw) +int ice_init_hw(struct ice_hw *hw) { struct ice_aqc_get_phy_caps_data *pcaps; - enum ice_status status; u16 mac_buf_len; void *mac_buf; + int status; ice_debug(hw, ICE_DBG_TRACE, "%s\n", __func__); @@ -957,6 +1027,8 @@ enum ice_status ice_init_hw(struct ice_hw *hw) return status; ice_get_itr_intrl_gran(hw); + hw->fw_vsi_num = ICE_DFLT_VSI_INVAL; + status = ice_create_all_ctrlq(hw); if (status) goto err_unroll_cqinit; @@ -987,9 +1059,11 @@ enum ice_status ice_init_hw(struct ice_hw *hw) if (ice_get_fw_mode(hw) == ICE_FW_MODE_ROLLBACK) ice_print_rollback_msg(hw); - status = ice_clear_pf_cfg(hw); - if (status) - goto err_unroll_cqinit; + if (!hw->skip_clear_pf) { + status = ice_clear_pf_cfg(hw); + if (status) + goto err_unroll_cqinit; + } ice_clear_pxe_mode(hw); @@ -1005,6 +1079,8 @@ enum ice_status ice_init_hw(struct ice_hw *hw) goto err_unroll_cqinit; } + hw->port_info->loopback_mode = ICE_AQC_SET_P_PARAMS_LOOPBACK_MODE_NORMAL; + /* set the back pointer to HW */ hw->port_info->hw = hw; @@ -1088,7 +1164,7 @@ enum ice_status ice_init_hw(struct ice_hw *hw) goto err_unroll_fltr_mgmt_struct; ice_init_lock(&hw->tnl_lock); - return ICE_SUCCESS; + return 0; err_unroll_fltr_mgmt_struct: ice_cleanup_fltr_mgmt_struct(hw); @@ -1135,7 +1211,7 @@ void ice_deinit_hw(struct ice_hw *hw) * ice_check_reset - Check to see if a global reset is complete * @hw: pointer to the hardware structure */ -enum ice_status ice_check_reset(struct ice_hw *hw) +int ice_check_reset(struct ice_hw *hw) { u32 cnt, reg = 0, grst_timeout, uld_mask, reset_wait_cnt; *** 16783 LINES SKIPPED *** From nobody Wed Oct 30 20:57:26 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xdzw71Qs2z5c1tt; Wed, 30 Oct 2024 20:57:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xdzw64MGnz4pl9; Wed, 30 Oct 2024 20:57:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730321846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JU0aWhFbgaui4rG4y7rEye1mYi2bJJp4VCCzc2TNAe8=; b=CpUWcjzqn+kaM+T1xbXepx8hBIV57jkFHW8L9TBnR81zxAP8IrLrMJPvBgzFj4t2RkAAaq v5OSsX6BhgYOcfxOLjBlKyqYETFoCQ+k6WF55ZWFlI2K2dVc0MIM6zt+VqL5rzQXyVZdCB dHyLwi5jYKUBrf/SHo7OwhBdmsfdZZkiqDf4He7NNgHbF5h8S2aoSezmpeUi9ryy4dzBy4 9czv8zsDA51hhPDQaYcM49IkBc4Kom3+g0eqLPlcMtcRI+194/owskkDy72yFie3PtEI9d StACHlQEOr+Ez/MtcWWc0zHrdqxNG76cTvOAxSjW2n9aOghPZMVhufpF2nOmiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730321846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JU0aWhFbgaui4rG4y7rEye1mYi2bJJp4VCCzc2TNAe8=; b=D/TsN73D4aaokFR5NZCnlfjwa+poEaKLkOcWAPl4jiJezytyoXSVaMMTRJS1T4EyBQOgfJ FjLlFOoCeZzMcT1RzVyR73JQO3kpcGEy1HuT/9ccubobIPhpuwWJXWNxaxSOQ3COPBGXk9 AbMUR8vUi3C8w+crHAAcskmlLL+NTCTW3uNbZMdGXOavL6JAjXaVMWWMLMJpd0/w2damu1 +myXTjk+cOlZYdUBBujmt7fJBJ73wpl5rdsHU6DW9/MhEWtqd/i7f7nDhHzGZ0A/yOHZRd f/oDnQUdEd5h3nq5qAVMEftELJC4Y0WLtTxgH5Nhhe+mhQkKngppiG09nFoB7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730321846; a=rsa-sha256; cv=none; b=cCAyga+uG8sgU0Q6BYKMm1zuNBLr5k92QH58AA0LRfOj0vhfGXCOu9Bk1nwTsPrE14eWbd GbV34u9JdFXP3JGIy7DxI2Cw3kMzzKesIxPNubSRu8eD6lDajn1+FljdixNWU6YVk5VRZL C+ML32XiRtk2hLYtSduunhfRBuBdJwb2UGcTYLfe/I6i2c6x163lg8JG9kMYKWdjqtE6Kz X8bogwL3w4n4qlPDKzqMXV8UlTxRWARDDQxtsQ5PRJbQBi2hyGYL3oqJx2lWvJYYMlH7in 1aVfv55uxeoSsOv9keKmH6XBX21aTR8bZ9PyyL1MsLrqvwbwQMNhTY8CSTtJGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xdzw63vdBz1Llm; Wed, 30 Oct 2024 20:57:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49UKvQHQ033543; Wed, 30 Oct 2024 20:57:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49UKvQSR033540; Wed, 30 Oct 2024 20:57:26 GMT (envelope-from git) Date: Wed, 30 Oct 2024 20:57:26 GMT Message-Id: <202410302057.49UKvQSR033540@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eric Joyner Subject: git: 5f92347a9bc8 - stable/14 - ice: Update to 1.42.5-k List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: erj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5f92347a9bc8f372eef46555e2ba3de65259f97d Auto-Submitted: auto-generated The branch stable/14 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=5f92347a9bc8f372eef46555e2ba3de65259f97d commit 5f92347a9bc8f372eef46555e2ba3de65259f97d Author: Eric Joyner AuthorDate: 2024-08-30 00:28:59 +0000 Commit: Eric Joyner CommitDate: 2024-10-30 20:52:25 +0000 ice: Update to 1.42.5-k - Removes duplicate E825C printout - Fixes a package download issue with E830 - Updates mentions of E830-XXV to E830-L - Fix FW logging on load issue by limiting the setting of FW log masks and other global configuration to just the first PF of the controller - Update ice_hw_autogen.h with timesync registers (unused in this driver) - Fix possible overflow condition in NVM access function - Blocks RDMA load on E830 devices Signed-off-by: Eric Joyner Tested by: Jeffrey Pieper Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D46950 (cherry picked from commit 440addc642496f8d04fe17af9eb905ac4a5bdbd8) --- sys/dev/ice/ice_ddp_common.c | 31 +++++++++++++++++--- sys/dev/ice/ice_ddp_common.h | 5 +++- sys/dev/ice/ice_devids.h | 12 ++++---- sys/dev/ice/ice_drv_info.h | 20 ++++++------- sys/dev/ice/ice_fw_logging.c | 69 +++++++++++++++++++++++--------------------- sys/dev/ice/ice_hw_autogen.h | 14 +++++++++ sys/dev/ice/ice_lib.c | 38 ------------------------ sys/dev/ice/ice_lib.h | 1 - sys/dev/ice/ice_nvm.c | 36 +++++++++++++++-------- sys/dev/ice/if_ice_iflib.c | 9 +++--- 10 files changed, 126 insertions(+), 109 deletions(-) diff --git a/sys/dev/ice/ice_ddp_common.c b/sys/dev/ice/ice_ddp_common.c index 87ecdad5e7bf..dfc50cc1f966 100644 --- a/sys/dev/ice/ice_ddp_common.c +++ b/sys/dev/ice/ice_ddp_common.c @@ -526,12 +526,13 @@ ice_download_pkg_sig_seg(struct ice_hw *hw, struct ice_sign_seg *seg) * @idx: segment index * @start: starting buffer * @count: buffer count + * @last_seg: last segment being downloaded * * Note: idx must reference a ICE segment */ static enum ice_ddp_state ice_download_pkg_config_seg(struct ice_hw *hw, struct ice_pkg_hdr *pkg_hdr, - u32 idx, u32 start, u32 count) + u32 idx, u32 start, u32 count, bool last_seg) { struct ice_buf_table *bufs; enum ice_ddp_state state; @@ -549,7 +550,7 @@ ice_download_pkg_config_seg(struct ice_hw *hw, struct ice_pkg_hdr *pkg_hdr, return ICE_DDP_PKG_ERR; state = ice_dwnld_cfg_bufs_no_lock(hw, bufs->buf_array, start, count, - true); + last_seg); return state; } @@ -568,9 +569,11 @@ ice_dwnld_sign_and_cfg_segs(struct ice_hw *hw, struct ice_pkg_hdr *pkg_hdr, { enum ice_ddp_state state; struct ice_sign_seg *seg; + bool last_seg = true; u32 conf_idx; u32 start; u32 count; + u32 flags; seg = (struct ice_sign_seg *)ice_get_pkg_seg_by_idx(pkg_hdr, idx); if (!seg) { @@ -581,6 +584,10 @@ ice_dwnld_sign_and_cfg_segs(struct ice_hw *hw, struct ice_pkg_hdr *pkg_hdr, conf_idx = LE32_TO_CPU(seg->signed_seg_idx); start = LE32_TO_CPU(seg->signed_buf_start); count = LE32_TO_CPU(seg->signed_buf_count); + flags = LE32_TO_CPU(seg->flags); + + if (flags & ICE_SIGN_SEG_FLAGS_VALID) + last_seg = !!(flags & ICE_SIGN_SEG_FLAGS_LAST); state = ice_download_pkg_sig_seg(hw, seg); if (state) @@ -595,7 +602,7 @@ ice_dwnld_sign_and_cfg_segs(struct ice_hw *hw, struct ice_pkg_hdr *pkg_hdr, } state = ice_download_pkg_config_seg(hw, pkg_hdr, conf_idx, start, - count); + count, last_seg); exit: return state; @@ -2321,6 +2328,22 @@ void ice_release_change_lock(struct ice_hw *hw) ice_release_res(hw, ICE_CHANGE_LOCK_RES_ID); } +/** + * ice_is_get_tx_sched_new_format + * @hw: pointer to the HW struct + * + * Determines if the new format for the Tx scheduler get api is supported + */ +static bool +ice_is_get_tx_sched_new_format(struct ice_hw *hw) +{ + if (ice_is_e830(hw)) + return true; + if (ice_is_e825c(hw)) + return true; + return false; +} + /** * ice_get_set_tx_topo - get or set tx topology * @hw: pointer to the HW struct @@ -2354,7 +2377,7 @@ ice_get_set_tx_topo(struct ice_hw *hw, u8 *buf, u16 buf_size, ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_get_tx_topo); cmd->get_flags = ICE_AQC_TX_TOPO_GET_RAM; - if (!ice_is_e830(hw)) + if (!ice_is_get_tx_sched_new_format(hw)) desc.flags |= CPU_TO_LE16(ICE_AQ_FLAG_RD); } diff --git a/sys/dev/ice/ice_ddp_common.h b/sys/dev/ice/ice_ddp_common.h index b7dae1f526f0..a7b717c3e15e 100644 --- a/sys/dev/ice/ice_ddp_common.h +++ b/sys/dev/ice/ice_ddp_common.h @@ -204,7 +204,10 @@ struct ice_sign_seg { __le32 signed_seg_idx; __le32 signed_buf_start; __le32 signed_buf_count; -#define ICE_SIGN_SEG_RESERVED_COUNT 44 +#define ICE_SIGN_SEG_FLAGS_VALID 0x80000000 +#define ICE_SIGN_SEG_FLAGS_LAST 0x00000001 + __le32 flags; +#define ICE_SIGN_SEG_RESERVED_COUNT 40 u8 reserved[ICE_SIGN_SEG_RESERVED_COUNT]; struct ice_buf_table buf_tbl; }; diff --git a/sys/dev/ice/ice_devids.h b/sys/dev/ice/ice_devids.h index 396f59b9d6d9..9b142a1110b2 100644 --- a/sys/dev/ice/ice_devids.h +++ b/sys/dev/ice/ice_devids.h @@ -52,16 +52,16 @@ #define ICE_DEV_ID_E830_SFP 0x12D3 /* Intel(R) Ethernet Controller E830-C for backplane */ #define ICE_DEV_ID_E830C_BACKPLANE 0x12D5 -/* Intel(R) Ethernet Controller E830-XXV for backplane */ -#define ICE_DEV_ID_E830_XXV_BACKPLANE 0x12DC +/* Intel(R) Ethernet Controller E830-L for backplane */ +#define ICE_DEV_ID_E830_L_BACKPLANE 0x12DC /* Intel(R) Ethernet Controller E830-C for QSFP */ #define ICE_DEV_ID_E830C_QSFP 0x12D8 -/* Intel(R) Ethernet Controller E830-XXV for QSFP */ -#define ICE_DEV_ID_E830_XXV_QSFP 0x12DD +/* Intel(R) Ethernet Controller E830-L for QSFP */ +#define ICE_DEV_ID_E830_L_QSFP 0x12DD /* Intel(R) Ethernet Controller E830-C for SFP */ #define ICE_DEV_ID_E830C_SFP 0x12DA -/* Intel(R) Ethernet Controller E830-XXV for SFP */ -#define ICE_DEV_ID_E830_XXV_SFP 0x12DE +/* Intel(R) Ethernet Controller E830-L for SFP */ +#define ICE_DEV_ID_E830_L_SFP 0x12DE /* Intel(R) Ethernet Controller E810-C for backplane */ #define ICE_DEV_ID_E810C_BACKPLANE 0x1591 /* Intel(R) Ethernet Controller E810-C for QSFP */ diff --git a/sys/dev/ice/ice_drv_info.h b/sys/dev/ice/ice_drv_info.h index 6f4d5f05edd0..22e23ee53491 100644 --- a/sys/dev/ice/ice_drv_info.h +++ b/sys/dev/ice/ice_drv_info.h @@ -62,16 +62,16 @@ * @var ice_rc_version * @brief driver release candidate version number */ -const char ice_driver_version[] = "1.42.1-k"; +const char ice_driver_version[] = "1.42.5-k"; const uint8_t ice_major_version = 1; const uint8_t ice_minor_version = 42; -const uint8_t ice_patch_version = 1; +const uint8_t ice_patch_version = 5; const uint8_t ice_rc_version = 0; #define PVIDV(vendor, devid, name) \ - PVID(vendor, devid, name " - 1.42.1-k") + PVID(vendor, devid, name " - 1.42.5-k") #define PVIDV_OEM(vendor, devid, svid, sdevid, revid, name) \ - PVID_OEM(vendor, devid, svid, sdevid, revid, name " - 1.42.1-k") + PVID_OEM(vendor, devid, svid, sdevid, revid, name " - 1.42.5-k") /** * @var ice_vendor_info_array @@ -217,12 +217,12 @@ static const pci_vendor_info_t ice_vendor_info_array[] = { "Intel(R) Ethernet Connection E830-C for QSFP"), PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830C_SFP, "Intel(R) Ethernet Connection E830-C for SFP"), - PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_XXV_BACKPLANE, - "Intel(R) Ethernet Connection E830-XXV for backplane"), - PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_XXV_QSFP, - "Intel(R) Ethernet Connection E830-XXV for QSFP"), - PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_XXV_SFP, - "Intel(R) Ethernet Connection E830-XXV for SFP"), + PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_L_BACKPLANE, + "Intel(R) Ethernet Connection E830-L for backplane"), + PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_L_QSFP, + "Intel(R) Ethernet Connection E830-L for QSFP"), + PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_L_SFP, + "Intel(R) Ethernet Connection E830-L for SFP"), PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E825C_BACKPLANE, "Intel(R) Ethernet Connection E825-C for backplane"), PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E825C_QSFP, diff --git a/sys/dev/ice/ice_fw_logging.c b/sys/dev/ice/ice_fw_logging.c index 8e52e34b2752..0025a65d73fc 100644 --- a/sys/dev/ice/ice_fw_logging.c +++ b/sys/dev/ice/ice_fw_logging.c @@ -359,23 +359,6 @@ ice_add_fw_logging_tunables(struct ice_softc *sc, struct sysctl_oid *parent) "Firmware Logging"); fwlog_list = SYSCTL_CHILDREN(fwlog_node); - cfg->log_resolution = 10; - SYSCTL_ADD_PROC(ctx, fwlog_list, OID_AUTO, "log_resolution", - ICE_CTLFLAG_DEBUG | CTLTYPE_U8 | CTLFLAG_RWTUN, sc, - 0, ice_sysctl_fwlog_log_resolution, - "CU", ICE_SYSCTL_HELP_FWLOG_LOG_RESOLUTION); - - cfg->options |= ICE_FWLOG_OPTION_ARQ_ENA; - SYSCTL_ADD_PROC(ctx, fwlog_list, OID_AUTO, "arq_en", - ICE_CTLFLAG_DEBUG | CTLTYPE_U8 | CTLFLAG_RWTUN, sc, - ICE_FWLOG_OPTION_ARQ_ENA, ice_sysctl_fwlog_set_cfg_options, - "CU", ICE_SYSCTL_HELP_FWLOG_ARQ_ENA); - - SYSCTL_ADD_PROC(ctx, fwlog_list, OID_AUTO, "uart_en", - ICE_CTLFLAG_DEBUG | CTLTYPE_U8 | CTLFLAG_RWTUN, sc, - ICE_FWLOG_OPTION_UART_ENA, ice_sysctl_fwlog_set_cfg_options, - "CU", ICE_SYSCTL_HELP_FWLOG_UART_ENA); - SYSCTL_ADD_PROC(ctx, fwlog_list, OID_AUTO, "on_load", ICE_CTLFLAG_DEBUG | CTLTYPE_U8 | CTLFLAG_RWTUN, sc, ICE_FWLOG_OPTION_REGISTER_ON_INIT, ice_sysctl_fwlog_set_cfg_options, @@ -386,23 +369,43 @@ ice_add_fw_logging_tunables(struct ice_softc *sc, struct sysctl_oid *parent) 0, ice_sysctl_fwlog_register, "CU", ICE_SYSCTL_HELP_FWLOG_REGISTER); - module_node = SYSCTL_ADD_NODE(ctx, fwlog_list, OID_AUTO, "severity", - ICE_CTLFLAG_DEBUG | CTLFLAG_RD, NULL, - "Level of log output"); - - module_list = SYSCTL_CHILDREN(module_node); - - for (i = 0; i < ICE_AQC_FW_LOG_ID_MAX; i++) { - /* Setup some defaults */ - cfg->module_entries[i].module_id = i; - cfg->module_entries[i].log_level = ICE_FWLOG_LEVEL_NONE; - module = (enum ice_aqc_fw_logging_mod)i; + hw->pf_id = ice_get_pf_id(hw); + if (hw->pf_id == 0) { + module_node = SYSCTL_ADD_NODE(ctx, fwlog_list, OID_AUTO, "severity", + ICE_CTLFLAG_DEBUG | CTLFLAG_RD, NULL, + "Level of log output"); + + module_list = SYSCTL_CHILDREN(module_node); + + for (i = 0; i < ICE_AQC_FW_LOG_ID_MAX; i++) { + /* Setup some defaults */ + cfg->module_entries[i].module_id = i; + cfg->module_entries[i].log_level = ICE_FWLOG_LEVEL_NONE; + module = (enum ice_aqc_fw_logging_mod)i; + + SYSCTL_ADD_PROC(ctx, module_list, + OID_AUTO, ice_fw_module_str(module), + ICE_CTLFLAG_DEBUG | CTLTYPE_STRING | CTLFLAG_RWTUN, sc, + module, ice_sysctl_fwlog_module_log_severity, + "A", ICE_SYSCTL_HELP_FWLOG_MODULE_SEVERITY); + } - SYSCTL_ADD_PROC(ctx, module_list, - OID_AUTO, ice_fw_module_str(module), - ICE_CTLFLAG_DEBUG | CTLTYPE_STRING | CTLFLAG_RWTUN, sc, - module, ice_sysctl_fwlog_module_log_severity, - "A", ICE_SYSCTL_HELP_FWLOG_MODULE_SEVERITY); + cfg->log_resolution = 10; + SYSCTL_ADD_PROC(ctx, fwlog_list, OID_AUTO, "log_resolution", + ICE_CTLFLAG_DEBUG | CTLTYPE_U8 | CTLFLAG_RWTUN, sc, + 0, ice_sysctl_fwlog_log_resolution, + "CU", ICE_SYSCTL_HELP_FWLOG_LOG_RESOLUTION); + + cfg->options |= ICE_FWLOG_OPTION_ARQ_ENA; + SYSCTL_ADD_PROC(ctx, fwlog_list, OID_AUTO, "arq_en", + ICE_CTLFLAG_DEBUG | CTLTYPE_U8 | CTLFLAG_RWTUN, sc, + ICE_FWLOG_OPTION_ARQ_ENA, ice_sysctl_fwlog_set_cfg_options, + "CU", ICE_SYSCTL_HELP_FWLOG_ARQ_ENA); + + SYSCTL_ADD_PROC(ctx, fwlog_list, OID_AUTO, "uart_en", + ICE_CTLFLAG_DEBUG | CTLTYPE_U8 | CTLFLAG_RWTUN, sc, + ICE_FWLOG_OPTION_UART_ENA, ice_sysctl_fwlog_set_cfg_options, + "CU", ICE_SYSCTL_HELP_FWLOG_UART_ENA); } } diff --git a/sys/dev/ice/ice_hw_autogen.h b/sys/dev/ice/ice_hw_autogen.h index 47256263d66c..3f2778d91a4b 100644 --- a/sys/dev/ice/ice_hw_autogen.h +++ b/sys/dev/ice/ice_hw_autogen.h @@ -40,6 +40,20 @@ #define PRTMAC_CTL_RX_PAUSE_ENABLE_BY_MAC(hw) ((hw)->mac_type == ICE_MAC_E830 ? E830_PRTMAC_CTL_RX_PAUSE_ENABLE : E800_PRTMAC_HSEC_CTL_RX_PAUSE_ENABLE) #define PRTMAC_CTL_RX_PAUSE_ENABLE_RX_PAUSE_ENABLE_S_BY_MAC(hw) ((hw)->mac_type == ICE_MAC_E830 ? E830_PRTMAC_CTL_RX_PAUSE_ENABLE_RX_PAUSE_ENABLE_S : E800_PRTMAC_HSEC_CTL_RX_PAUSE_ENABLE_HSEC_CTL_RX_PAUSE_ENABLE_S) #define PRTMAC_CTL_RX_PAUSE_ENABLE_RX_PAUSE_ENABLE_M_BY_MAC(hw) ((hw)->mac_type == ICE_MAC_E830 ? E830_PRTMAC_CTL_RX_PAUSE_ENABLE_RX_PAUSE_ENABLE_M : E800_PRTMAC_HSEC_CTL_RX_PAUSE_ENABLE_HSEC_CTL_RX_PAUSE_ENABLE_M) +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE(_i) (0x000FD000 + ((_i) * 64)) /* _i=0...7 */ /* Reset Source: CORER */ +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_MAX_INDEX 7 +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_START_S 0 +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_START_M MAKEMASK(0x3F, 0) +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_END_S 6 +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_END_M MAKEMASK(0x3F, 6) +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_VM_VF_TYPE_S 12 +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_VM_VF_TYPE_M MAKEMASK(0x3, 12) +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_VM_VF_NUM_S 14 +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_VM_VF_NUM_M MAKEMASK(0x3FF, 14) +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_PF_NUM_S 24 +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_PF_NUM_M MAKEMASK(0x7, 24) +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_ENABLE_S 31 +#define E830_GLTCLAN_TSYN_REG_RANGE_ENFORCE_ENABLE_M BIT(31) #define GL_HIDA(_i) (0x00082000 + ((_i) * 4)) #define GL_HIBA(_i) (0x00081000 + ((_i) * 4)) #define GL_HICR 0x00082040 diff --git a/sys/dev/ice/ice_lib.c b/sys/dev/ice/ice_lib.c index ef55df061f3c..d2d13cd2db60 100644 --- a/sys/dev/ice/ice_lib.c +++ b/sys/dev/ice/ice_lib.c @@ -11875,44 +11875,6 @@ ice_sysctl_allow_no_fec_mod_in_auto(SYSCTL_HANDLER_ARGS) return (0); } -/** - * ice_print_dual_nac_info - Print NAC status/ID information - * @sc: device softc structure - * - * Prints out information about the NAC mode if the device is capable of - * being part of a system with multiple NACs. - * - * @pre Must be called after ice_init_hw() and ice_init_device_features() - * sometime during driver load. - */ -void -ice_print_dual_nac_info(struct ice_softc *sc) -{ - struct ice_hw *hw = &sc->hw; - device_t dev = sc->dev; - bool is_dual_nac, is_primary_nac; - u8 cpk_id; - - is_dual_nac = (hw->dev_caps.nac_topo.mode & ICE_NAC_TOPO_DUAL_M); - is_primary_nac = (hw->dev_caps.nac_topo.mode & ICE_NAC_TOPO_PRIMARY_M); - cpk_id = hw->dev_caps.nac_topo.id; - - if (ice_is_bit_set(sc->feat_cap, ICE_FEATURE_DUAL_NAC)) { - log(LOG_INFO, "%s: In %s NAC mode\n", - device_get_nameunit(dev), - is_dual_nac ? "Dual" : "Single"); - - if (is_dual_nac) { - ice_set_bit(ICE_FEATURE_DUAL_NAC, sc->feat_en); - log(LOG_INFO, - "%s: PF is configured in %s mode with IP instance ID %u\n", - device_get_nameunit(dev), - is_primary_nac ? "primary" : "secondary", - cpk_id); - } - } -} - /** * ice_sysctl_temperature - Retrieve NIC temp via AQ command * @oidp: sysctl oid structure diff --git a/sys/dev/ice/ice_lib.h b/sys/dev/ice/ice_lib.h index b524db61403c..afc03ebd3b51 100644 --- a/sys/dev/ice/ice_lib.h +++ b/sys/dev/ice/ice_lib.h @@ -1010,7 +1010,6 @@ void ice_init_health_events(struct ice_softc *sc); void ice_cfg_pba_num(struct ice_softc *sc); int ice_handle_debug_dump_ioctl(struct ice_softc *sc, struct ifdrv *ifd); u8 ice_dcb_get_tc_map(const struct ice_dcbx_cfg *dcbcfg); -void ice_print_dual_nac_info(struct ice_softc *sc); void ice_do_dcb_reconfig(struct ice_softc *sc, bool pending_mib); int ice_setup_vsi_mirroring(struct ice_vsi *vsi); diff --git a/sys/dev/ice/ice_nvm.c b/sys/dev/ice/ice_nvm.c index 9a41f30386c0..ff30adfe8fa7 100644 --- a/sys/dev/ice/ice_nvm.c +++ b/sys/dev/ice/ice_nvm.c @@ -711,6 +711,8 @@ int ice_read_sr_word(struct ice_hw *hw, u16 offset, u16 *data) return status; } +#define check_add_overflow __builtin_add_overflow + /** * ice_get_pfa_module_tlv - Reads sub module TLV from NVM PFA * @hw: pointer to hardware structure @@ -726,8 +728,7 @@ int ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len, u16 module_type) { - u16 pfa_len, pfa_ptr; - u32 next_tlv; + u16 pfa_len, pfa_ptr, next_tlv, max_tlv; int status; status = ice_read_sr_word(hw, ICE_SR_PFA_PTR, &pfa_ptr); @@ -740,11 +741,23 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len, ice_debug(hw, ICE_DBG_INIT, "Failed to read PFA length.\n"); return status; } - /* Starting with first TLV after PFA length, iterate through the list + + if (check_add_overflow(pfa_ptr, (u16)(pfa_len - 1), &max_tlv)) { + ice_debug(hw, ICE_DBG_INIT, "PFA starts at offset %u. PFA length of %u caused 16-bit arithmetic overflow.\n", + pfa_ptr, pfa_len); + return ICE_ERR_INVAL_SIZE; + } + + /* The Preserved Fields Area contains a sequence of TLVs which define + * its contents. The PFA length includes all of the TLVs, plus its + * initial length word itself, *and* one final word at the end of all + * of the TLVs. + * + * Starting with first TLV after PFA length, iterate through the list * of TLVs to find the requested one. */ next_tlv = pfa_ptr + 1; - while (next_tlv < ((u32)pfa_ptr + pfa_len)) { + while (next_tlv < max_tlv) { u16 tlv_sub_module_type; u16 tlv_len; @@ -761,10 +774,6 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len, ice_debug(hw, ICE_DBG_INIT, "Failed to read TLV length.\n"); break; } - if (tlv_len > pfa_len) { - ice_debug(hw, ICE_DBG_INIT, "Invalid TLV length.\n"); - return ICE_ERR_INVAL_SIZE; - } if (tlv_sub_module_type == module_type) { if (tlv_len) { *module_tlv = (u16)next_tlv; @@ -773,10 +782,13 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len, } return ICE_ERR_INVAL_SIZE; } - /* Check next TLV, i.e. current TLV pointer + length + 2 words - * (for current TLV's type and length) - */ - next_tlv = next_tlv + tlv_len + 2; + + if (check_add_overflow(next_tlv, (u16)2, &next_tlv) || + check_add_overflow(next_tlv, tlv_len, &next_tlv)) { + ice_debug(hw, ICE_DBG_INIT, "TLV of type %u and length 0x%04x caused 16-bit arithmetic overflow. The PFA starts at 0x%04x and has length of 0x%04x\n", + tlv_sub_module_type, tlv_len, pfa_ptr, pfa_len); + return ICE_ERR_INVAL_SIZE; + } } /* Module does not exist */ return ICE_ERR_DOES_NOT_EXIST; diff --git a/sys/dev/ice/if_ice_iflib.c b/sys/dev/ice/if_ice_iflib.c index 65690ea7e429..0fb7faecb2d7 100644 --- a/sys/dev/ice/if_ice_iflib.c +++ b/sys/dev/ice/if_ice_iflib.c @@ -539,8 +539,6 @@ reinit_hw: ice_init_device_features(sc); - ice_print_dual_nac_info(sc); - /* Keep flag set by default */ ice_set_state(&sc->state, ICE_STATE_LINK_ACTIVE_ON_DOWN); @@ -2605,7 +2603,9 @@ ice_rebuild(struct ice_softc *sc) } /* Re-enable FW logging. Keep going even if this fails */ - status = ice_fwlog_set(hw, &hw->fwlog_cfg); + status = ICE_SUCCESS; + if (hw->pf_id == 0) + status = ice_fwlog_set(hw, &hw->fwlog_cfg); if (!status) { /* * We should have the most updated cached copy of the @@ -2901,7 +2901,8 @@ ice_init_device_features(struct ice_softc *sc) /* Disable features due to hardware limitations... */ if (!hw->func_caps.common_cap.rss_table_size) ice_clear_bit(ICE_FEATURE_RSS, sc->feat_cap); - if (!hw->func_caps.common_cap.iwarp || !ice_enable_irdma) + if (!hw->func_caps.common_cap.iwarp || !ice_enable_irdma || + ice_is_e830(hw)) ice_clear_bit(ICE_FEATURE_RDMA, sc->feat_cap); if (!hw->func_caps.common_cap.dcb) ice_clear_bit(ICE_FEATURE_DCB, sc->feat_cap); From nobody Wed Oct 30 20:57:27 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xdzw80hlmz5c22N; Wed, 30 Oct 2024 20:57: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xdzw75PHtz4pd5; Wed, 30 Oct 2024 20:57:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730321847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H6iqFnlg11WtAsXu/FBDQMN3Hf8Iftu9qw+wIJWpKa8=; b=aqZ2oyUdV82hd+lOOXYrniDVXg955IKIGEeEqHnBBwRdBud+FKuZWWO+TyzEj3jivCbwrY UfLKxQE2w43sPVrbmfoIojBb9GZEzPr3PgbsORMswjXMEjiw2502PA66SPFdzmFwkGRw1D PY8+sPoJ+14+x5MazDUxle8qlhuiV1Ci48QBkUoFMmPfxFcPGhhfCjmCrwy0GA05U4zR9p 6Qb6yctFTKYeSuA9J/LOEn6TJtCjHAzc9U6LteSHUpjYMI/sHDYWeaEOMsGfTnA2cf4m3g wVby271eRH7twKwkeTWsN0863+i5BBV4RA8xWMM9OtutGs8L4WGEo8jGVLtEuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730321847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H6iqFnlg11WtAsXu/FBDQMN3Hf8Iftu9qw+wIJWpKa8=; b=LbmdoYuaIF7ypvdg/c/kb/MNy7lwNEEWGKmAzH+k83f4PhJ4yPWm2nXrZBKOA44VsVHyi7 8eHQLgOe6CwJJQTNS+lwXZGmk0WTYKGcwjdIic2CN4ajfssWt8x10vxNXSRqeSjXDMTGYg CmUTNnrmWeBtBp8JRDAu84gxzg34weR0G5i0hkoDCkiG39RwkiM3TmwX+H9NP+2puN2eGH 5gNOxG7c6psy6RPQdZUYDiExPcgEYrA0ifpMHR9/nHsx750ihr+xf070TVYpK9Q8Wmtv4W JrKuw18L6SYNUgTi/o6OABARE2ZTbjA6T0BzDhDfUh3D2k7gwEJV3MBVf5LNUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730321847; a=rsa-sha256; cv=none; b=LeRqCJ8p6Ezc7W3avZbJh1RKg4voXTvOKIzGDKRSI9dRlx20c66wfsWOIMWY2IqBIXPD5v /tDouE6Ah19syUNtWTDyFr/uuZJCX31g/PUeffJpZBD++r/can6h6hWEGQFkBBi6LsMWkX uUOKhsqDQQVhdTwaznX9zc2ge9JtjIbLlswGcqoBerSwpAtWyDJwJX2IC+S+r/rwskYrXY BpVooi7YKxxZfNRZixyiy6qpBhAZeIgWahXt5DX21Vc5h76kUvF+NuB9DmpNMORc8Ksdg/ mXANE5KPjUwZuHsTbKsqVXRFVXIvJJWYr7bcZUgiL46r3rXVmbDSVe0si3JdpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xdzw74xfxz1Lln; Wed, 30 Oct 2024 20:57:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49UKvRZM033583; Wed, 30 Oct 2024 20:57:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49UKvRnw033580; Wed, 30 Oct 2024 20:57:27 GMT (envelope-from git) Date: Wed, 30 Oct 2024 20:57:27 GMT Message-Id: <202410302057.49UKvRnw033580@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eric Joyner Subject: git: 38a1655adcb3 - stable/14 - ice: Update to 1.43.2-k List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: erj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 38a1655adcb32635283f0ab54df75639432cdb1f Auto-Submitted: auto-generated The branch stable/14 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=38a1655adcb32635283f0ab54df75639432cdb1f commit 38a1655adcb32635283f0ab54df75639432cdb1f Author: Eric Joyner AuthorDate: 2024-09-19 22:58:40 +0000 Commit: Eric Joyner CommitDate: 2024-10-30 20:52:47 +0000 ice: Update to 1.43.2-k - Add extra time while waiting for an EMPR to finish on E830 and E825C devices - Fix debug mask sysctl help message - Handle EAGAIN error messages from the Get Link Status AQ command by retrying them several times - Handle the condition where E830 extended temperature SKUs can have the chip initialize without the PHY subsystem being ready due to very low temperatures; the driver will print out a message when this happens - Fix inability to set link speed using the advertise_speed sysctl when link is down and the link_active_on_if_down sysctl is set to 0 - Fix issue where VLANs would not properly be set back up after a hardware reset (e.g. PF reset) (Thanks jacob.e.keller@intel.com) Signed-off-by: Eric Joyner Tested by: Jeffrey Pieper Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D46951 (cherry picked from commit f377a0c7dfa97035844e58c2aec810001bebce17) --- sys/dev/ice/ice_controlq.c | 23 ++++++++++++-- sys/dev/ice/ice_drv_info.h | 10 +++--- sys/dev/ice/ice_lib.c | 37 +++++++++++++++------- sys/dev/ice/ice_lib.h | 11 +++++++ sys/dev/ice/ice_strings.c | 2 ++ sys/dev/ice/ice_switch.c | 2 -- sys/dev/ice/if_ice_iflib.c | 79 ++++++++++++++++++++++++++++++++++++---------- 7 files changed, 128 insertions(+), 36 deletions(-) diff --git a/sys/dev/ice/ice_controlq.c b/sys/dev/ice/ice_controlq.c index e96c7e230310..e1a6b0fb5662 100644 --- a/sys/dev/ice/ice_controlq.c +++ b/sys/dev/ice/ice_controlq.c @@ -879,16 +879,35 @@ static u16 ice_clean_sq(struct ice_hw *hw, struct ice_ctl_q_info *cq) struct ice_ctl_q_ring *sq = &cq->sq; u16 ntc = sq->next_to_clean; struct ice_aq_desc *desc; + u32 head; desc = ICE_CTL_Q_DESC(*sq, ntc); - while (rd32(hw, cq->sq.head) != ntc) { - ice_debug(hw, ICE_DBG_AQ_MSG, "ntc %d head %d.\n", ntc, rd32(hw, cq->sq.head)); + head = rd32(hw, sq->head); + if (head >= sq->count) { + ice_debug(hw, ICE_DBG_AQ_MSG, + "Read head value (%d) exceeds allowed range.\n", + head); + return 0; + } + + while (head != ntc) { + ice_debug(hw, ICE_DBG_AQ_MSG, + "ntc %d head %d.\n", + ntc, head); ice_memset(desc, 0, sizeof(*desc), ICE_DMA_MEM); ntc++; if (ntc == sq->count) ntc = 0; desc = ICE_CTL_Q_DESC(*sq, ntc); + + head = rd32(hw, sq->head); + if (head >= sq->count) { + ice_debug(hw, ICE_DBG_AQ_MSG, + "Read head value (%d) exceeds allowed range.\n", + head); + return 0; + } } sq->next_to_clean = ntc; diff --git a/sys/dev/ice/ice_drv_info.h b/sys/dev/ice/ice_drv_info.h index 22e23ee53491..80b517bb5b08 100644 --- a/sys/dev/ice/ice_drv_info.h +++ b/sys/dev/ice/ice_drv_info.h @@ -62,16 +62,16 @@ * @var ice_rc_version * @brief driver release candidate version number */ -const char ice_driver_version[] = "1.42.5-k"; +const char ice_driver_version[] = "1.43.2-k"; const uint8_t ice_major_version = 1; -const uint8_t ice_minor_version = 42; -const uint8_t ice_patch_version = 5; +const uint8_t ice_minor_version = 43; +const uint8_t ice_patch_version = 2; const uint8_t ice_rc_version = 0; #define PVIDV(vendor, devid, name) \ - PVID(vendor, devid, name " - 1.42.5-k") + PVID(vendor, devid, name " - 1.43.2-k") #define PVIDV_OEM(vendor, devid, svid, sdevid, revid, name) \ - PVID_OEM(vendor, devid, svid, sdevid, revid, name " - 1.42.5-k") + PVID_OEM(vendor, devid, svid, sdevid, revid, name " - 1.43.2-k") /** * @var ice_vendor_info_array diff --git a/sys/dev/ice/ice_lib.c b/sys/dev/ice/ice_lib.c index d2d13cd2db60..d44ae5f37750 100644 --- a/sys/dev/ice/ice_lib.c +++ b/sys/dev/ice/ice_lib.c @@ -3308,7 +3308,8 @@ ice_sysctl_advertise_speed(SYSCTL_HANDLER_ARGS) pi->phy.curr_user_speed_req = sysctl_speeds; - if (!ice_test_state(&sc->state, ICE_STATE_LINK_ACTIVE_ON_DOWN) && !sc->link_up) + if (!ice_test_state(&sc->state, ICE_STATE_LINK_ACTIVE_ON_DOWN) && + !sc->link_up && !(if_getflags(sc->ifp) & IFF_UP)) return 0; /* Apply settings requested by user */ @@ -6246,11 +6247,12 @@ ice_sysctl_dump_state_flags(SYSCTL_HANDLER_ARGS) "\n\t 0x20000 - Resources" \ "\n\t 0x40000 - ACL" \ "\n\t 0x80000 - PTP" \ -"\n\t 0x100000 - Admin Queue messages" \ -"\n\t 0x200000 - Admin Queue descriptors" \ -"\n\t 0x400000 - Admin Queue descriptor buffers" \ -"\n\t 0x800000 - Admin Queue commands" \ -"\n\t 0x1000000 - Parser" \ +"\n\t ..." \ +"\n\t 0x1000000 - Admin Queue messages" \ +"\n\t 0x2000000 - Admin Queue descriptors" \ +"\n\t 0x4000000 - Admin Queue descriptor buffers" \ +"\n\t 0x8000000 - Admin Queue commands" \ +"\n\t 0x10000000 - Parser" \ "\n\t ..." \ "\n\t 0x80000000 - (Reserved for user)" \ "\n\t" \ @@ -9493,15 +9495,28 @@ ice_init_link_configuration(struct ice_softc *sc) struct ice_port_info *pi = sc->hw.port_info; struct ice_hw *hw = &sc->hw; device_t dev = sc->dev; - int status; + int status, retry_count = 0; +retry: pi->phy.get_link_info = true; status = ice_get_link_status(pi, &sc->link_up); + if (status) { - device_printf(dev, - "%s: ice_get_link_status failed; status %s, aq_err %s\n", - __func__, ice_status_str(status), - ice_aq_str(hw->adminq.sq_last_status)); + if (hw->adminq.sq_last_status == ICE_AQ_RC_EAGAIN) { + retry_count++; + ice_debug(hw, ICE_DBG_LINK, + "%s: ice_get_link_status failed with EAGAIN, attempt %d\n", + __func__, retry_count); + if (retry_count < ICE_LINK_AQ_MAX_RETRIES) { + ice_msec_pause(ICE_LINK_RETRY_DELAY); + goto retry; + } + } else { + device_printf(dev, + "%s: ice_get_link_status failed; status %s, aq_err %s\n", + __func__, ice_status_str(status), + ice_aq_str(hw->adminq.sq_last_status)); + } return; } diff --git a/sys/dev/ice/ice_lib.h b/sys/dev/ice/ice_lib.h index afc03ebd3b51..466cb8701b79 100644 --- a/sys/dev/ice/ice_lib.h +++ b/sys/dev/ice/ice_lib.h @@ -395,6 +395,16 @@ enum ice_rx_dtype { */ #define ICE_I2C_MAX_RETRIES 10 +/* + * The Get Link Status AQ command and other link commands can return + * EAGAIN, indicating that the FW Link Management engine is busy. + * Define the number of times that the driver should retry sending these + * commands and the amount of time it should wait between those retries + * (in milliseconds) here. + */ +#define ICE_LINK_AQ_MAX_RETRIES 10 +#define ICE_LINK_RETRY_DELAY 17 + /* * The Start LLDP Agent AQ command will fail if it's sent too soon after * the LLDP agent is stopped. The period between the stop and start @@ -698,6 +708,7 @@ enum ice_state { ICE_STATE_FIRST_INIT_LINK, ICE_STATE_DO_CREATE_MIRR_INTFC, ICE_STATE_DO_DESTROY_MIRR_INTFC, + ICE_STATE_PHY_FW_INIT_PENDING, /* This entry must be last */ ICE_STATE_LAST, }; diff --git a/sys/dev/ice/ice_strings.c b/sys/dev/ice/ice_strings.c index 5b5da737cadb..1b377a1bf518 100644 --- a/sys/dev/ice/ice_strings.c +++ b/sys/dev/ice/ice_strings.c @@ -1052,6 +1052,8 @@ ice_state_to_str(enum ice_state state) return "DO_CREATE_MIRR_INTFC"; case ICE_STATE_DO_DESTROY_MIRR_INTFC: return "DO_DESTROY_MIRR_INTFC"; + case ICE_STATE_PHY_FW_INIT_PENDING: + return "PHY_FW_INIT_PENDING"; case ICE_STATE_LAST: return NULL; } diff --git a/sys/dev/ice/ice_switch.c b/sys/dev/ice/ice_switch.c index 1edd39497ab5..1880d6abdd26 100644 --- a/sys/dev/ice/ice_switch.c +++ b/sys/dev/ice/ice_switch.c @@ -4292,8 +4292,6 @@ ice_replay_vsi_fltr(struct ice_hw *hw, struct ice_port_info *pi, if (!itr->vsi_list_info || !ice_is_bit_set(itr->vsi_list_info->vsi_map, vsi_handle)) continue; - /* Clearing it so that the logic can add it back */ - ice_clear_bit(vsi_handle, itr->vsi_list_info->vsi_map); f_entry.fltr_info.vsi_handle = vsi_handle; f_entry.fltr_info.fltr_act = ICE_FWD_TO_VSI; /* update the src in case it is VSI num */ diff --git a/sys/dev/ice/if_ice_iflib.c b/sys/dev/ice/if_ice_iflib.c index 0fb7faecb2d7..9b3f38f885b9 100644 --- a/sys/dev/ice/if_ice_iflib.c +++ b/sys/dev/ice/if_ice_iflib.c @@ -84,6 +84,7 @@ static int ice_if_i2c_req(if_ctx_t ctx, struct ifi2creq *req); static int ice_if_suspend(if_ctx_t ctx); static int ice_if_resume(if_ctx_t ctx); static bool ice_if_needs_restart(if_ctx_t ctx, enum iflib_restart_event event); +static void ice_init_link(struct ice_softc *sc); static int ice_setup_mirror_vsi(struct ice_mirr_if *mif); static int ice_wire_mirror_intrs(struct ice_mirr_if *mif); static void ice_free_irqvs_subif(struct ice_mirr_if *mif); @@ -833,9 +834,8 @@ ice_if_attach_post(if_ctx_t ctx) /* Get DCBX/LLDP state and start DCBX agent */ ice_init_dcb_setup(sc); - /* Setup link configuration parameters */ - ice_init_link_configuration(sc); - ice_update_link_status(sc, true); + /* Setup link, if PHY FW is ready */ + ice_init_link(sc); /* Configure interrupt causes for the administrative interrupt */ ice_configure_misc_interrupts(sc); @@ -2136,6 +2136,18 @@ ice_poll_for_media_avail(struct ice_softc *sc) struct ice_hw *hw = &sc->hw; struct ice_port_info *pi = hw->port_info; + /* E830 only: There's no interrupt for when the PHY FW has finished loading, + * so poll for the status in the media task here if it's previously + * been detected that it's still loading. + */ + if (ice_is_e830(hw) && + ice_test_state(&sc->state, ICE_STATE_PHY_FW_INIT_PENDING)) { + if (rd32(hw, GL_MNG_FWSM) & GL_MNG_FWSM_FW_LOADING_M) + ice_clear_state(&sc->state, ICE_STATE_PHY_FW_INIT_PENDING); + else + return; + } + if (ice_test_state(&sc->state, ICE_STATE_NO_MEDIA)) { pi->phy.get_link_info = true; ice_get_link_status(pi, &sc->link_up); @@ -2705,11 +2717,11 @@ ice_rebuild(struct ice_softc *sc) if (hw->port_info->qos_cfg.is_sw_lldp) ice_add_rx_lldp_filter(sc); - /* Refresh link status */ + /* Apply previous link settings and refresh link status, if PHY + * FW is ready. + */ ice_clear_state(&sc->state, ICE_STATE_LINK_STATUS_REPORTED); - sc->hw.port_info->phy.get_link_info = true; - ice_get_link_status(sc->hw.port_info, &sc->link_up); - ice_update_link_status(sc, true); + ice_init_link(sc); /* RDMA interface will be restarted by the stack re-init */ @@ -2795,12 +2807,23 @@ ice_handle_reset_event(struct ice_softc *sc) * resetting. */ IFLIB_CTX_UNLOCK(sc); + +#define ICE_EMPR_ADDL_WAIT_MSEC_SLOW 20000 + if ((ice_is_e830(hw) || ice_is_e825c(hw)) && + (((rd32(hw, GLGEN_RSTAT) & GLGEN_RSTAT_RESET_TYPE_M) >> + GLGEN_RSTAT_RESET_TYPE_S) == ICE_RESET_EMPR)) + ice_msec_pause(ICE_EMPR_ADDL_WAIT_MSEC_SLOW); + status = ice_check_reset(hw); IFLIB_CTX_LOCK(sc); if (status) { device_printf(dev, "Device never came out of reset, err %s\n", ice_status_str(status)); + ice_set_state(&sc->state, ICE_STATE_RESET_FAILED); + ice_clear_state(&sc->state, ICE_STATE_RESET_PFR_REQ); + ice_clear_state(&sc->state, ICE_STATE_PREPARED_FOR_RESET); + device_printf(dev, "Reset failed; please reload the device driver\n"); return; } @@ -2888,16 +2911,8 @@ ice_init_device_features(struct ice_softc *sc) if (ice_is_e810(hw)) ice_set_bit(ICE_FEATURE_PHY_STATISTICS, sc->feat_en); - /* Set capabilities based on device */ - switch (hw->device_id) { - case ICE_DEV_ID_E825C_BACKPLANE: - case ICE_DEV_ID_E825C_QSFP: - case ICE_DEV_ID_E825C_SFP: + if (ice_is_e825c(hw)) ice_set_bit(ICE_FEATURE_DUAL_NAC, sc->feat_cap); - break; - default: - break; - } /* Disable features due to hardware limitations... */ if (!hw->func_caps.common_cap.rss_table_size) ice_clear_bit(ICE_FEATURE_RSS, sc->feat_cap); @@ -3303,6 +3318,38 @@ ice_if_needs_restart(if_ctx_t ctx, enum iflib_restart_event event) } } +/** + * ice_init_link - Do link configuration and link status reporting + * @sc: driver private structure + * + * Contains an extra check that skips link config when an E830 device + * does not have the "FW_LOADING"/"PHYBUSY" bit set in GL_MNG_FWSM set. + */ +static void +ice_init_link(struct ice_softc *sc) +{ + struct ice_hw *hw = &sc->hw; + device_t dev = sc->dev; + + /* Check if FW is ready before setting up link; defer setup to the + * admin task if it isn't. + */ + if (ice_is_e830(hw) && + (rd32(hw, GL_MNG_FWSM) & GL_MNG_FWSM_FW_LOADING_M)) { + ice_set_state(&sc->state, ICE_STATE_PHY_FW_INIT_PENDING); + device_printf(dev, + "Link initialization is blocked by PHY FW initialization.\n"); + device_printf(dev, + "Link initialization will continue after PHY FW initialization completes.\n"); + /* Do not access PHY config while PHY FW is busy initializing */ + } else { + ice_clear_state(&sc->state, ICE_STATE_PHY_FW_INIT_PENDING); + ice_init_link_configuration(sc); + ice_update_link_status(sc, true); + } + +} + extern struct if_txrx ice_subif_txrx; /** From nobody Wed Oct 30 20:57:28 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xdzw911l1z5c1tv; Wed, 30 Oct 2024 20:57: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xdzw86Mqtz4pp6; Wed, 30 Oct 2024 20:57:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730321848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Zkp8ZUlq0FN2ZgcrnVdvlID4UOSuv4GDyVH/HIYOM0=; b=BnBywAQqkujd49Obv6gE9/a9rvwPFQO3JsaJXpMNuQGhnH//8fJ/TgcMTsvJUb/MRYj2au DOp3ucB8NLX4UCaXn3+/B4xWv4Q3w+rfxJNisw+DAaUtObYyK1blqMQ6KIe8Ij+ur2fqZJ GQ2VO+Ly0E5e9WK6Caxd88tDH+/RIygYNfLF54jqxs+g251mGNj7ZQd9FS3GiqNmHgcEMG W9tzHoWlSzXT/xekFdwoqNfZyfIbaxHmoZ6yeqYS0fMWWgnkUQ4NXqe8GdE+3A8hFAxbVE iCaa9mIoxgsZeZKgSi+78ZYXDTVyzhkZQGndr1H0BDTEExjtO0Vb9dOgdDGkjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730321848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Zkp8ZUlq0FN2ZgcrnVdvlID4UOSuv4GDyVH/HIYOM0=; b=eT524FLJiYIy4NAHk3CAXw+ygd2i8nlqOFcWh2QJb6JRFhNVTAlW2n2DdaMBNZH/I2M3nM stAl2QUbyZWINt4UOmKkVJudD5wTPLzxMXzVPJiMWEyCM6Y8ASD3f5ZswOd5MkHLvyylgq /QKvCqhrzjSBHZAVUIcmG6VojAETFia0oNnAqMKOCQyO1BooWviEcpBSGCKuuF2vV6lKRM C65bKyLigS077l/aOKvg7GNUhB8OjkJ8hdtxz2uJKD6md1RQj8r45O8iTn1hwyX96uimgw d1ca+rr18KSxD4Njj7Y3wjSDGg3+Yv5E04MPlbkve/5iT2ZWgOMgEPIBwwv1lQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730321848; a=rsa-sha256; cv=none; b=tyKjGNt1O3F9XwEgOdnyru+LV8FwGigfWf1WjOu+T0whE7K4sk5FJz4sxSa9eb+XjpX5od x7wwyb2Yj/5C7aFB7BkxSiC/s0xVfR5a9jzyrQfgCbuvVlBO03jvwHSAEnX+wMWdSZaMwG dlk7WmNI4c9RYYDppDv9hhIOpnDiyWdS7Lsct5Iv/VI3szyZ6vVx44mz6ZjbE8SBbpDIkz oym24VxARdC5bJiYiWo+Lvw082ous6p0f3ChLhKGB8XMuYqBDDNWQjglY9ynEo/X9QcDUf bfIkgmvIYUAl9ZLO3C63bUkqsMzUjn8knY5y8B3xSTtgMLo7OgrLWq/J8FitLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xdzw85xrDz1MdC; Wed, 30 Oct 2024 20:57:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49UKvSKQ033644; Wed, 30 Oct 2024 20:57:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49UKvSTj033641; Wed, 30 Oct 2024 20:57:28 GMT (envelope-from git) Date: Wed, 30 Oct 2024 20:57:28 GMT Message-Id: <202410302057.49UKvSTj033641@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eric Joyner Subject: git: 25ad37c9532b - stable/14 - ice: Remove RDMA feature block on E830 devices List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: erj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 25ad37c9532b8c0d753c55347e7e150b40b4929a Auto-Submitted: auto-generated The branch stable/14 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=25ad37c9532b8c0d753c55347e7e150b40b4929a commit 25ad37c9532b8c0d753c55347e7e150b40b4929a Author: Eric Joyner AuthorDate: 2024-10-30 20:35:40 +0000 Commit: Eric Joyner CommitDate: 2024-10-30 20:53:03 +0000 ice: Remove RDMA feature block on E830 devices The decision to disable RDMA on E830 devices has been reversed; some SKUs will officially launch with RDMA support. This reverts a change introduced in "ice: Update to 1.42.5-k". Signed-off-by: Eric Joyner Sponsored by: Intel Corporation (cherry picked from commit 03e1f25dcb200edbd6553ffc2748e7410b9ff264) --- sys/dev/ice/if_ice_iflib.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/dev/ice/if_ice_iflib.c b/sys/dev/ice/if_ice_iflib.c index 9b3f38f885b9..e60ee0f1c5c3 100644 --- a/sys/dev/ice/if_ice_iflib.c +++ b/sys/dev/ice/if_ice_iflib.c @@ -2916,8 +2916,7 @@ ice_init_device_features(struct ice_softc *sc) /* Disable features due to hardware limitations... */ if (!hw->func_caps.common_cap.rss_table_size) ice_clear_bit(ICE_FEATURE_RSS, sc->feat_cap); - if (!hw->func_caps.common_cap.iwarp || !ice_enable_irdma || - ice_is_e830(hw)) + if (!hw->func_caps.common_cap.iwarp || !ice_enable_irdma) ice_clear_bit(ICE_FEATURE_RDMA, sc->feat_cap); if (!hw->func_caps.common_cap.dcb) ice_clear_bit(ICE_FEATURE_DCB, sc->feat_cap); From nobody Thu Oct 31 00:50:15 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf54m0Qwcz5Zdgn; Thu, 31 Oct 2024 00:50: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf54l5jpTz4bZT; Thu, 31 Oct 2024 00:50:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730335815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LFP5e4RsdSauDhsjghHnaNQPYXw4m/qAWUTgTFhBepY=; b=ykbsfRQP6gLAiI0gs++/aYHlL9bUYlc/LgrOEEupN8geuS5TZ3uVVW8pOLVClKWy4vkSQH MIgEyyT/GFoA+vC/TWDNk9JSictU830AUwuP/iNhZXqzxIQCoN8qsbAEFfO4NQPmuSiRSI 1XEZkh3F+jPhcV4mQyz97p3EqQ4CNMImTYDZY80JKQFPmGDigm4JzJdycGsE845dQ06Qzb Hd4C7Rq7uicwTJmpkNgzjLyAp+R3fVqxuSOEU0fBW625NFcnsSl5qrAhzAfyPhbyojqvMO t3ttrOw+Ll2rAZIJwx7ty3aIzI1kdECYS6rB/Reue2TflNWZ/FlMlcmRQ7I6ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730335815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LFP5e4RsdSauDhsjghHnaNQPYXw4m/qAWUTgTFhBepY=; b=Kt1mw2TjD4a1rgX6Np7INEsVFA/VcKwBkKs4OK0yVPvBfsFKV6Mb+qAnQt3VxGSw0d/TpJ 4OHaDgb4wGz5uRMAtlMxRVgXTzH5sTSG2XVFfezeetuUBc6bhfxeYB31TKRP7mwOfog1j6 XOATa+dwkK7rUXaixvb+8mhNUV/66w3+jycBA9a3mJUpooqL+zYPXATJLGE8NvgPIqvpLz +/CGcukcyNPsHUQWARDEsa1nOMwkaJMBJ8BZm0cMqc4Mm401EmHUun4LiIPAgS0yyI523g I9qh5S2yEdr3BUTOW/w1BRPNpPGeYreZ2N/QgmtZLfxL2Hwmsx5kgIx09P5iWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730335815; a=rsa-sha256; cv=none; b=wJLhK4ZRZeJ8pbbYTf64OQKb+xz+IvNqf+yj7ESjR+I8pRwk6KJ/DQsMGc+5Ehe6Sua1M4 XH2dcVS1CiFs23cBt3JVmELzIXa7HZhPbkkBjUKYaCX93Y+67isDxtSyrj/mO+vrfTccHz KFrKHWAXmU4ghJaY2wFEcaAl49NCQ8PeK3nCh/ZQVh4anzCnllGZmJjn3oyEzneLOhal/u vPFe4jN5RsiFgXLXJVTEbKnSkCO7XqT/R6IGkSE5lR6mnJWma+CvxOVorfbxU7yQeTC8gt GvwyrTdp/5hIrc6fUxQsGduVSaBaeg615pHdJu4pkiLX8GbV+Tr/xxtnH5NCzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf54l5GjjzFQP; Thu, 31 Oct 2024 00:50:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V0oFGD067788; Thu, 31 Oct 2024 00:50:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V0oFDM067783; Thu, 31 Oct 2024 00:50:15 GMT (envelope-from git) Date: Thu, 31 Oct 2024 00:50:15 GMT Message-Id: <202410310050.49V0oFDM067783@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: b488667a1072 - stable/14 - liquidio.4: remove extra search keywords List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b488667a107283807edef3598c3c9efa9fd78c20 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=b488667a107283807edef3598c3c9efa9fd78c20 commit b488667a107283807edef3598c3c9efa9fd78c20 Author: Alexander Ziaee AuthorDate: 2024-10-27 17:26:02 +0000 Commit: Kevin Bowling CommitDate: 2024-10-31 00:49:03 +0000 liquidio.4: remove extra search keywords Approved by: emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/1500 (cherry picked from commit a1d1b9049bcbe02a49f0f143ca9ecdc54ea31d3b) --- share/man/man4/liquidio.4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man4/liquidio.4 b/share/man/man4/liquidio.4 index 4713863c398f..27372e606212 100644 --- a/share/man/man4/liquidio.4 +++ b/share/man/man4/liquidio.4 @@ -34,7 +34,7 @@ .Os .Sh NAME .Nm liquidio -.Nd "Cavium 10Gb/25Gb Ethernet driver for the FreeBSD operating system" +.Nd Cavium 10Gb/25Gb Ethernet driver .Sh SYNOPSIS To compile this driver into the kernel, place the following line in your From nobody Thu Oct 31 00:50:16 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf54n1yqmz5Zds5; Thu, 31 Oct 2024 00:50: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf54m6Thkz4bVT; Thu, 31 Oct 2024 00:50:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730335816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a9DwGQNcv6suPFh224PYtjHuhYS5Qk+Jmcono9jOjpo=; b=Exc3nsQkk51jhE30xpDvM2kYKHp2sEWb+uCdT0j3dbmz+nHrRsHd5f/gPOLpexgDXKeBjh 0lt+zMKj0G3hNq3Xr4jhkS7tzDouHqfTAlhLNcG7RfbX99DDgHnbKIQvx+Zksb/jWiuzY0 Y7hNTVf3/0k3izDz7UYf02Ubr5661gxNDyFT4XSJNnFfCukle3OglA7oqzngxJ8ZN7K4aM jz5lFIwQk91aQ8msFoErr/LZOubBg16tIlb4oOI+eTSU4Dbwbw3SYoGf6qHiB7bsELv1QW PopA8696cAqSY1DRaZwjF6xearw/iUFNwCDPY8ovbr97lyQFdt0uekBdfxYzZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730335816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a9DwGQNcv6suPFh224PYtjHuhYS5Qk+Jmcono9jOjpo=; b=vRUF2EvhLsVfPeQQxy3l8AiC0hBtRCwBW3HKdao4AXIAfdsfwNMgYvsiRg9cUkoJV9yNoV NORi0Zqs00X5owqBk3qIlgBB6qX6hFsIgbPQIbi6jLnukttY4JUAwdLEZSBd8EztEySMLV VXe/RIvaXeshuc00LwtwMYOeIyDJu383VfXDNnV4peribY4fAk+jFmS5B2uTZ+HVhtnW3+ iSX4LS3C7QeeoXKW/UIXOvVd49sceC7KZ4z4dxj2yExukgAqP8knBiHJu++hLFk43/KlKJ JMh8KuEAOgy31j+UN/KOBC4knHSL2QU19mLBv6Hc9hDMrQdInW77OQwMF77K7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730335816; a=rsa-sha256; cv=none; b=bAn7RmtHX5re8j9Ohn1sJc1dwVUDl6UuEjES92xuhf/lQTDAxNZcouEQJgMekX1/3YaFIb FgFxa38srn4Qk+6rlsZ6cn8MHyex0Exd2h2bUG0RTu29BEzP0O2O0pRbAspd/WTBCZOz0Q HSGzVhtyetLzJ1VOCQ7qtdoeprORgGxSdB/sg67urfdjsymRp+uj5ECeFf+PsM4vN+gdTg p46573VUsC4oqLvcFPYrSrC6zFYSFbDAfevOK99uizLbFW/DDUzneoecPY3UYk/d76l0FY Yze8zuUNC+AbrxAqsVzws1JfkW/vNx3hdjW6+BDbPLrZ14mKk1cc7oI/f2YhXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf54m5nfFzFSt; Thu, 31 Oct 2024 00:50:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V0oGna068468; Thu, 31 Oct 2024 00:50:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V0oG72068460; Thu, 31 Oct 2024 00:50:16 GMT (envelope-from git) Date: Thu, 31 Oct 2024 00:50:16 GMT Message-Id: <202410310050.49V0oG72068460@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 0658879d03d1 - stable/14 - ixl.4 + ice.4: intro sentence for HARDWARE notes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0658879d03d1cfb05da7f1bc497b2120a997cb0f Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=0658879d03d1cfb05da7f1bc497b2120a997cb0f commit 0658879d03d1cfb05da7f1bc497b2120a997cb0f Author: Alexander Ziaee AuthorDate: 2024-10-27 07:16:19 +0000 Commit: Kevin Bowling CommitDate: 2024-10-31 00:49:16 +0000 ixl.4 + ice.4: intro sentence for HARDWARE notes Pull Request: https://github.com/freebsd/freebsd-src/pull/1495 (cherry picked from commit f4bd011a382269965a4f75aa01b6e6b1ce2a3eba) --- share/man/man4/ice.4 | 5 ++++- share/man/man4/ixl.4 | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/share/man/man4/ice.4 b/share/man/man4/ice.4 index da46c758479c..63fdb244f3ed 100644 --- a/share/man/man4/ice.4 +++ b/share/man/man4/ice.4 @@ -114,7 +114,10 @@ Update Utility for Intel Network Adapter 800 series; installed by the package. .El .Sh HARDWARE -Most adapters in the Intel Ethernet 800 Series with SFP28/QSFP28 cages +The +.Nm +driver supports the Intel Ethernet 800 series. +Most adapters in this series with SFP28/QSFP28 cages have firmware that requires that Intel qualified modules are used; these qualified modules are listed below. This qualification check cannot be disabled by the driver. diff --git a/share/man/man4/ixl.4 b/share/man/man4/ixl.4 index bd183be48cd2..fb9d519b22a8 100644 --- a/share/man/man4/ixl.4 +++ b/share/man/man4/ixl.4 @@ -116,7 +116,10 @@ kernel; install the package for the latest driver. .El .Sh HARDWARE -Most adapters in the Intel Ethernet 700 Series with SFP+/SFP28/QSFP+ cages +The +.Nm +driver supports the Intel Ethernet 700 series. +Most adapters in this series with SFP+/SFP28/QSFP+ cages have firmware that requires that Intel qualified modules are used; these qualified modules are listed below. This qualification check cannot be disabled by the driver. From nobody Thu Oct 31 00:50:17 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf54p3PBFz5Zdpc; Thu, 31 Oct 2024 00:50: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf54p04HKz4bjF; Thu, 31 Oct 2024 00:50:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730335818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JwKuSv4P30ouGuJq4z1pcxDY4YZhKfsDWJSxzOFJJjU=; b=P27W1c1hqvo8dGBblgYHaM5RISZ0KB07Kp0NqZlxbX75VeupTuqdmUytxfkD6PJCtORtd9 bShIkq1kHwOkbv92oBnlUdyaTjI2ETTbdUguiVKpOZo/a7RZQp+tiNDkontK1KJtOo9cj7 4+tUotXLK/5lHKHmP+E7fiaiVvcu31EqC3yfFKJr6aQfTAJ0nRPTU1knHKbQb4MVUqimKo 1jrMOVHZXtwmWkeoVZNaaLjlrgZRUpO93a/Axqr3g41O5ZJsil3vo77QZ6OB6+fvnYecfW gdCA2C3GaqLiyskt3xFRci+73MzAv4pKhn3XVvGLjBXwwMyp7UFzQmQpeAYS6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730335818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JwKuSv4P30ouGuJq4z1pcxDY4YZhKfsDWJSxzOFJJjU=; b=xUqzkk/NaEAioQLZfUrc7ptB9cKdo2QS6p2yH25V3j3zOSW5uqQLEmx3WaljhQruFNNb6z T0A/V3j192WB8ZZAwo5nTfogtxiU9qkZqmPMKam06B0ok6me84QsO657rFx5H0CxlpmOgG ybaRMm5bLRt7yA0SAbG/ajsEtLZmtdEzdBlDTIfwkooUuhmYtjUsjVw0SmX6525BO0B+fi xpm1nFrhGzw9+C/Lc3mvfvqMFTNMB0PfubUK1LDJZphEn5iLVmRgsDb1OADE7RBQTiA1xu +zdQDSC9UIqfEPBNJBjr8zMSrVNdzLF3FUhF0Nk+pZHXdD1wPoAr9BFXRmMd+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730335818; a=rsa-sha256; cv=none; b=EWhhcH7X4jeQqjwH9OXNv3eKEztXsqnETn/QmWH+mWmS9schG/UWxvnEts7m/2g8AOZlDo faEFEhM6uxXX7sRSiSSPGT5QfSYVWEVhnaSi5q7Z+XZ05ZJ3sK1Eeyht2zllpQergr2xF/ zlFvxJULnH1i91RH2C1Vmmp70ky3ptV5tz4c84sK/vEItkgVEpPiK1DWm04Asn8lDvVHzT 6IRb9TPBxYMDSXvoUH3DirRTE0tKA8p1PMAtl+DM+e4AsC8FbM43Fp/HNgcyRW/jL1PLlC /XwucXFU/PKh5+UnXXL8LRqdMt0juXcayZVcV9E5KX6g7QPUgfulp1zuh5BgOg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf54n6mfzzDvP; Thu, 31 Oct 2024 00:50:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V0oHLj069082; Thu, 31 Oct 2024 00:50:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V0oHT3069079; Thu, 31 Oct 2024 00:50:17 GMT (envelope-from git) Date: Thu, 31 Oct 2024 00:50:17 GMT Message-Id: <202410310050.49V0oHT3069079@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: bba78206c51d - stable/14 - if_ffec: fix imx6sx compatible flags List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bba78206c51d474825edd1ee9417757c0a6af290 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=bba78206c51d474825edd1ee9417757c0a6af290 commit bba78206c51d474825edd1ee9417757c0a6af290 Author: Gary Bisson AuthorDate: 2024-10-17 09:55:54 +0000 Commit: Kevin Bowling CommitDate: 2024-10-31 00:49:30 +0000 if_ffec: fix imx6sx compatible flags The i.MX 6 SoloX does support Gigabit and AVB features as can be seen in its technical reference manual [1] or even Linux kernel [2]. Fixes: 94bc2117b4a ("Add i.MX 8M Quad support") [1] https://www.nxp.com/webapp/Download?colCode=IMX6SXRM [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/net/ethernet/freescale/fec_main.c?h=linux-6.6.y#n206 Pull Request: https://github.com/freebsd/freebsd-src/pull/1479 Signed-off-by: Gary Bisson (cherry picked from commit c222619cd4807e9e0274e6fadcbe259cf5cabc26) --- sys/dev/ffec/if_ffec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/ffec/if_ffec.c b/sys/dev/ffec/if_ffec.c index 1a1993c22be7..1a562b149f61 100644 --- a/sys/dev/ffec/if_ffec.c +++ b/sys/dev/ffec/if_ffec.c @@ -121,7 +121,8 @@ static struct ofw_compat_data compat_data[] = { {"fsl,imx53-fec", FECTYPE_IMX53}, {"fsl,imx6q-fec", FECTYPE_IMX6 | FECFLAG_RACC | FECFLAG_GBE }, {"fsl,imx6ul-fec", FECTYPE_IMX6 | FECFLAG_RACC }, - {"fsl,imx6sx-fec", FECTYPE_IMX6 | FECFLAG_RACC }, + {"fsl,imx6sx-fec", FECTYPE_IMX6 | FECFLAG_RACC | FECFLAG_GBE | + FECFLAG_AVB }, {"fsl,imx7d-fec", FECTYPE_IMX6 | FECFLAG_RACC | FECFLAG_GBE | FECFLAG_AVB }, {"fsl,mvf600-fec", FECTYPE_MVF | FECFLAG_RACC }, From nobody Thu Oct 31 00:50:18 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf54q3P1rz5Zdm9; Thu, 31 Oct 2024 00:50: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf54q0WvTz4bXM; Thu, 31 Oct 2024 00:50:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730335819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q7sD6s6OOdDPe1itSDm9elwQQAbzDnmhYIDyCeA+Onw=; b=ywRKtmo8YEREyH+8DrwKeP7cyx5zZ4+z0a/4VK8QTWjnDiv7KGVQwpp+mxh8xwzHTl0ZhK IRqsLnNHoxIotm1m4i38byLjIm137rVyHqbuPHQQTAdHcHal0WyEYK0kEabpKeAAvRyq2B FPF4iTIzncRXSVJAI9HJz8QPZjOCnE+uZ8OcogkbXI5dQZgFMI+tZKjCLaicdIjSZ1CcTq FuyrQeWw2l19G9e0b1YxNn3LZflXM9mtLks1tdqL32fntBeBWS0UXwkcvgrp785bpy5E84 rOQo4QQScNFyE5L09ZDl1iRL39n3urGe2oADcKqtWbC1LdXmnHBiI20MizY9xQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730335819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q7sD6s6OOdDPe1itSDm9elwQQAbzDnmhYIDyCeA+Onw=; b=XS0mGg5fPai3tpfm8tPaTlGzapy5Tnv4yikxrWomoazKkwnTj4Kf5LX1TOG/bFUoXIeKUf LpTSiAbz6ly1pJDfUTUjgwyQge5qzyV4ZgSvkY0jiX+BVrjAD5BdhE3TC+eoGGOs4YaaaU EZqOrGfi60Kltner0GqVGNJd4vEJkrOgPKz6SUYVJcwofjZy5rwfLR9SuvvNcQPy5vPE/f qbVNQLdcYipOUhRYrxlCMEgbnORJ5DpIZZt0tg7Ci0WmdBZnbF9iFxcjqa3E68uyU9LlPA MC7IGNR/v/Jbuj91/aH7UZ8aEQTAF89ItXeSSYyqzNA2wrJX2/TNjTLB2P5Lxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730335819; a=rsa-sha256; cv=none; b=Y9Qc6Dx+JEPMFTRS35EtllqiPlhSwfuE98SZaYOsKyXBm/Y131yBcN3gbl4BeZVz+zoRW1 PhQ/x22lGKigSLRygSloxOPvPgrOKtA0GQbdfmhXVUjEO1jdhcSmBKI1S4nBxaPn7Dzyy2 UImEPvXwmjJgwtr0iH7RlnJqkd0wcIIe/S9FUCQZNX2bhYuVyBreMPRviRnK81B0ZkMl8G pyp8eL1mko0HmxtXvtFngiq362gfc6vttUEJFyH1EtMe8Jr3RlHMAyBMsJyeB1gi3eMBXq Yh9IZ3Bcnd4CUqCKdvTuyTto2SXlXBJ6qlDUfjnwR1gXu6m7XjFucBEGoKqvDw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf54q075XzFSv; Thu, 31 Oct 2024 00:50:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V0oImM069129; Thu, 31 Oct 2024 00:50:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V0oIrC069126; Thu, 31 Oct 2024 00:50:18 GMT (envelope-from git) Date: Thu, 31 Oct 2024 00:50:18 GMT Message-Id: <202410310050.49V0oIrC069126@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: b99bb1c7adbe - stable/14 - if_ffec: fix MAC address bootverbose print List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b99bb1c7adbe569c4b6bc454bb2d5a80ecc65773 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=b99bb1c7adbe569c4b6bc454bb2d5a80ecc65773 commit b99bb1c7adbe569c4b6bc454bb2d5a80ecc65773 Author: Gary Bisson AuthorDate: 2024-10-17 10:02:48 +0000 Commit: Kevin Bowling CommitDate: 2024-10-31 00:49:45 +0000 if_ffec: fix MAC address bootverbose print Remove extraneous colon at the end. Pull Request: https://github.com/freebsd/freebsd-src/pull/1479 Signed-off-by: Gary Bisson (cherry picked from commit 6a7aa5530c0d860c98c982968ac27728daaac7aa) --- sys/dev/ffec/if_ffec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ffec/if_ffec.c b/sys/dev/ffec/if_ffec.c index 1a562b149f61..17fab283fc81 100644 --- a/sys/dev/ffec/if_ffec.c +++ b/sys/dev/ffec/if_ffec.c @@ -968,7 +968,7 @@ ffec_get_hwaddr(struct ffec_softc *sc, uint8_t *hwaddr) if (bootverbose) { device_printf(sc->dev, - "MAC address %02x:%02x:%02x:%02x:%02x:%02x:\n", + "MAC address %02x:%02x:%02x:%02x:%02x:%02x\n", hwaddr[0], hwaddr[1], hwaddr[2], hwaddr[3], hwaddr[4], hwaddr[5]); } From nobody Thu Oct 31 00:50:20 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf54r3Cn4z5Zddf; Thu, 31 Oct 2024 00:50: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf54r1jNfz4bVl; Thu, 31 Oct 2024 00:50:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730335820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nV3yFVniWevhNiQhMbWvyhh2pm+QGDwe7wgFwj3/Dwo=; b=uYzejBjvhYBCQQQ+yTIezyMrt4sEcpmOgvbMcGnHudVMiIp39pV1EShLsO0YhVURjPvrnU mN+TNKP2QqucJpMHVCBwGLy62j35D10/f3PnRxUMVQUJVoQzGiliTV9XQIr47RSkIBTCOC cPRUfFl0bHcOQ0SKE8PnG3YtFdV+XxOyAtvPPcJ1axVQCR2Us8zZZFASYwO+W7lhgLmj7J psjODmKXPiz2cpqn5iRArjxV3Qy8JtsY0TFqkxv3h8kDW5a/4Ffxpv6DWQt4p4xyRMb+gU UB+WAaFsPuQIvTsUYY8+yd28b9+Drdok7H4FNFU/vO8d+Qb7KEsehYtW+GagoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730335820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nV3yFVniWevhNiQhMbWvyhh2pm+QGDwe7wgFwj3/Dwo=; b=cwdGh/9WYPMofxpwzYLZ9iH83UTzqP5GWzxBJPVmfkqzy5yZdy9Z8QCf8qLN63xG8LafDz cAonB4yxeXadQQ1e3IsotmLrlK/8M2egJpqVltCJJqP/P7sojq6j5sbwoGRoHMH95Pbi76 6AR6bG6B/zmwMlekGjDs9WT3JfmgGzcAi9558eJD5Bm1MteDKYdsF1Xj4SPGBHM6sWas7R zrFW0PL8rwz09yB0LQhE5YgaU/TfJd4zhnaJJlcmvymsOn36F+fBPC7xtT7mOK2ozhMdGa veIyCBmLGS3/TPFx+qwPVOfveK8sTzhU6iA69v9IK/2Vi3L7sF+A19mEzhvfVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730335820; a=rsa-sha256; cv=none; b=yCJxF0N9U/wvOpjfGA04VrODY/LBDflqZdanwyxJfS4QHYl44DKE0Ip1Z2bhD//OLO6R/e ANFYNxTB/r4lxEkKn5kme4zIO+7a1ZfRwkNcTbczpCFRY3XvY2iGNuVz0zQ9JpDkJz0IF/ flrZf8rY0q5OYojdt1CXomCGxwAluKj/tGsIwPAQa7+fBnwTJ8BzDZjubjf6u+HxSqjxqo n0FQtPLUfZYP3jInG7KvQAa7necO5l2SWeZtxUBtd/+iFta5LqYfpSeCfd70mXNfre4YXn YJ6tPl/b2+xjYviivlSEK7JWO3QmvetlxwCzsbPhUP2815aBqYLp5WghW/MeNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf54r1K6RzDvQ; Thu, 31 Oct 2024 00:50:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V0oKNH069169; Thu, 31 Oct 2024 00:50:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V0oKfX069166; Thu, 31 Oct 2024 00:50:20 GMT (envelope-from git) Date: Thu, 31 Oct 2024 00:50:20 GMT Message-Id: <202410310050.49V0oKfX069166@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 6fb03ddbce07 - stable/14 - libexec/rc/rc.d/netif: Typo fix List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6fb03ddbce076a24808f95846ddfcf0f2b7508bb Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=6fb03ddbce076a24808f95846ddfcf0f2b7508bb commit 6fb03ddbce076a24808f95846ddfcf0f2b7508bb Author: Robert William Vesterman AuthorDate: 2024-10-18 02:54:39 +0000 Commit: Kevin Bowling CommitDate: 2024-10-31 00:49:57 +0000 libexec/rc/rc.d/netif: Typo fix Just fixing a typo ("configuriing" => "configuring"). Pull Request: https://github.com/freebsd/freebsd-src/pull/1484 (cherry picked from commit 65691b2dafda23691c3989749def755a98e731ec) --- libexec/rc/rc.d/netif | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/netif b/libexec/rc/rc.d/netif index 3da296e97384..f9858ac8d865 100755 --- a/libexec/rc/rc.d/netif +++ b/libexec/rc/rc.d/netif @@ -151,7 +151,7 @@ vnet_down() # netif_common routine # Common configuration subroutine for network interfaces. This -# routine takes all the preparatory steps needed for configuriing +# routine takes all the preparatory steps needed for configuring # an interface and then calls $routine. netif_common() { From nobody Thu Oct 31 00:58:45 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf5GZ1dwcz5ZfhX; Thu, 31 Oct 2024 00:58: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf5GZ10pbz4f21; Thu, 31 Oct 2024 00:58:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730336326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WWwlQv3/rnuajrHBtf4lZb9YXoaZpP4H0G5OHuGVpTo=; b=uTLt2qqLm/lUSOrUORB4W6QkNFKXvE9GGij2p6wPT5sTK7KZLcygFd4gO6BjpL6HjMViOt JdEcdc5kR5fdtmPQ9mjd6EaH/QIwMmGJD+3j0mxs8QVql5MRofK/HiBYIp97jbx3nupvXq SvqsmrYs+/MGKouArJEX00CIi+CK/WOt7ZTm7bAzEHizaz7RLmuI5DUof/dEYpjL+C5Dyd RZ0TJfNHIXzgBWDnLAqrrzCDBqu0k2sTc7WqU43+OB+akb+43Jg7Q27bzUR0agVNbb1yN/ NpWtQ5S1U49TopTH/n1ZVZrhmucJpLdpsM4dixapAUfoWDmLxjsohx20V41Zpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730336326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WWwlQv3/rnuajrHBtf4lZb9YXoaZpP4H0G5OHuGVpTo=; b=QI21hvGgFOV45EcRng1Fm3vxoNLuLki1/4AsVV+K0NOvP/TCYBoad9x3lmUAj5ILSFc0U/ tvmN22cnl4kOLPQNZ3Ov0jtexzJD0YQItJJ2WMCLvBDdQ2IOhYWVEbM6G0de6oBEaH+CwG YLjcj2M6vDyzrdc8iS/xg6aBd/SGd0LBM8rz3r7GPpuHpqBURiIs5vUSFeXiQbf/SsecEj r6Yi0owN/8ztYQ1AFWh9OyuAJ3TSrOFMRQQ76067BdMuLgSg5JSBgKlst04Ge+AvA4kOZs q+HVECuuTAj6V5p0z1240h0/OdAnxO7U7swj2uZGVWgkmWonZZzkLjmAN+f8fg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730336326; a=rsa-sha256; cv=none; b=U48TPUUGGnLA1vBr9pM8/uFrixMvws2AfOrTTK/rAGKC5dvLUXk3WQEURx3WuK0wwoe7hP sFWQnEf+dgKhJSXMgHd5NLIzENvGmjDgFk9YaCv4fn0/bW7rMXBKU0PeXKaI3hB1s15bMe XspZoAV/Z2BXrlhcfCbrK9dlpxerfT8P/J5ShsPd5zOrmtB3hFsLcRRZNSgdxcT492xmvl zq/nx89QvngX7Br/LwoLv7y6LpHyS4YMU+Gw3HTh5/FZDbaySuBuN/rtse1NkRSb5D6pID 3yUyBovbDb2upih4nrz0DBZrGL1hkMI4zgn/Cv1yEaQzixksEg6Su9UEYCDkXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf5GZ0TpWzFTm; Thu, 31 Oct 2024 00:58:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V0wjUI079008; Thu, 31 Oct 2024 00:58:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V0wj5N079005; Thu, 31 Oct 2024 00:58:45 GMT (envelope-from git) Date: Thu, 31 Oct 2024 00:58:45 GMT Message-Id: <202410310058.49V0wj5N079005@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: ef0908fd91a0 - stable/13 - liquidio.4: remove extra search keywords List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ef0908fd91a0a4885e075f20c3c923c5ba86229a Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=ef0908fd91a0a4885e075f20c3c923c5ba86229a commit ef0908fd91a0a4885e075f20c3c923c5ba86229a Author: Alexander Ziaee AuthorDate: 2024-10-27 17:26:02 +0000 Commit: Kevin Bowling CommitDate: 2024-10-31 00:57:29 +0000 liquidio.4: remove extra search keywords Approved by: emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/1500 (cherry picked from commit a1d1b9049bcbe02a49f0f143ca9ecdc54ea31d3b) --- share/man/man4/liquidio.4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man4/liquidio.4 b/share/man/man4/liquidio.4 index 8cbe3620f0ad..6b5436f836e7 100644 --- a/share/man/man4/liquidio.4 +++ b/share/man/man4/liquidio.4 @@ -34,7 +34,7 @@ .Os .Sh NAME .Nm liquidio -.Nd "Cavium 10Gb/25Gb Ethernet driver for the FreeBSD operating system" +.Nd Cavium 10Gb/25Gb Ethernet driver .Sh SYNOPSIS To compile this driver into the kernel, place the following line in your From nobody Thu Oct 31 00:58:47 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf5Gb34wcz5ZfhY; Thu, 31 Oct 2024 00:58: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf5Gb1VdZz4dtJ; Thu, 31 Oct 2024 00:58:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730336327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LQ9w5TLSyZMUXlLPS6nHj+BlUeoGXXCx4ChQphRNSto=; b=RASD7jkYFcSW7yBciwvA+KD81TilwU1qpmtzGO20bDfhPZjO4SiKZbSm2xxU6pVOWwd7ky w4d7GiHSQNu52VpMy6JgyGivPJxqfhJmt6G+QfIJjDxmiCQ/qJ1cx8eYPZ6p3pbzB6DDx2 WYxft0R2tUVhVzRTOfacRfk09HoZR5FRZENWv009g2WquqQ8/P9WAD5zRNH7F0u5Y3kfdm BIHq/tj97BuQ0owHe2lo/L3AUMOe5Dog5+HhhHU32YxZTvxaTD/OwP9b9IGJjnRmwxDbc+ zm6oGEKTiP51n186fTZO12DFaPwGY6SMWAeBOP7J/wUe1llzri9C2xtcW/Stbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730336327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LQ9w5TLSyZMUXlLPS6nHj+BlUeoGXXCx4ChQphRNSto=; b=p74JlPKqr1pS3E4/zIToT3N3S3K4BbyvcuMQ9VSNpdpO+YfqFseJU6IKh+an0ZR7Xxsj+x NWDq61jghlJETzms1Gdwwagb6W6uM+eBA0bxumY1rMxlxc1ea+cFAEdLkDaFbMLQAQ1tAS 2R2ZpDaErF3Repa6Zc5+SnLRca2qmRpk0AHvCaN7UF7M9ei6rbqyOgEpgNiFaes1kxzSbM +afbu2wwWDRytejEg2gmFSHPgEgO5FOaMf4o1DN2Ha6VAqC7hzxOKhVskMIboaTlR/1HBA mPvxlSEsQPzvQiy7AprvVFMdMnFSN3gdGiQ+S5M6CzfNXPHBPv0F26xiWjERyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730336327; a=rsa-sha256; cv=none; b=u2HtMxg7ozWooMAfqyAXHbRHZ0DLwLCnHECP0BvfnAXJTOO0nX6f1acyPW4qB37s/Z07ln scFpgL2WTPwNOf4gtLJitGQM+b6EcRvynSEEIXQx2vNCrGHDdubCvbDiIsXnvOu9iwIMP1 S0MDNzAJEnYzHuPcXs8rRlZrjZQk/LvJKpA+YjIwWXEROeubpMUD4axy9HOZTmBqVDtJaE +CqavRkZ8JMksJWW0UIFkT8dbH1aH7A83GW56i0/4IfeZ59R2HE7MQX6Qqumzfv7DTVrmr uNhG1OncJnjzzSG/5P76JH+4D5yhQVj5Z+8+J+ONQkVFBoVA+xKwHTeV5D2jKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf5Gb16RtzFTn; Thu, 31 Oct 2024 00:58:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V0wlUe079066; Thu, 31 Oct 2024 00:58:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V0wlgI079063; Thu, 31 Oct 2024 00:58:47 GMT (envelope-from git) Date: Thu, 31 Oct 2024 00:58:47 GMT Message-Id: <202410310058.49V0wlgI079063@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 1fc87bcb827f - stable/13 - ixl.4 + ice.4: intro sentence for HARDWARE notes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1fc87bcb827fcb6c1e4000bcfe4a25306cbc5cb3 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=1fc87bcb827fcb6c1e4000bcfe4a25306cbc5cb3 commit 1fc87bcb827fcb6c1e4000bcfe4a25306cbc5cb3 Author: Alexander Ziaee AuthorDate: 2024-10-27 07:16:19 +0000 Commit: Kevin Bowling CommitDate: 2024-10-31 00:57:41 +0000 ixl.4 + ice.4: intro sentence for HARDWARE notes Pull Request: https://github.com/freebsd/freebsd-src/pull/1495 (cherry picked from commit f4bd011a382269965a4f75aa01b6e6b1ce2a3eba) --- share/man/man4/ice.4 | 5 ++++- share/man/man4/ixl.4 | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/share/man/man4/ice.4 b/share/man/man4/ice.4 index da46c758479c..63fdb244f3ed 100644 --- a/share/man/man4/ice.4 +++ b/share/man/man4/ice.4 @@ -114,7 +114,10 @@ Update Utility for Intel Network Adapter 800 series; installed by the package. .El .Sh HARDWARE -Most adapters in the Intel Ethernet 800 Series with SFP28/QSFP28 cages +The +.Nm +driver supports the Intel Ethernet 800 series. +Most adapters in this series with SFP28/QSFP28 cages have firmware that requires that Intel qualified modules are used; these qualified modules are listed below. This qualification check cannot be disabled by the driver. diff --git a/share/man/man4/ixl.4 b/share/man/man4/ixl.4 index bd183be48cd2..fb9d519b22a8 100644 --- a/share/man/man4/ixl.4 +++ b/share/man/man4/ixl.4 @@ -116,7 +116,10 @@ kernel; install the package for the latest driver. .El .Sh HARDWARE -Most adapters in the Intel Ethernet 700 Series with SFP+/SFP28/QSFP+ cages +The +.Nm +driver supports the Intel Ethernet 700 series. +Most adapters in this series with SFP+/SFP28/QSFP+ cages have firmware that requires that Intel qualified modules are used; these qualified modules are listed below. This qualification check cannot be disabled by the driver. From nobody Thu Oct 31 00:58:48 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf5Gc4qPhz5Zfhd; Thu, 31 Oct 2024 00:58: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf5Gc2Tm7z4dpY; Thu, 31 Oct 2024 00:58:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730336328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oICU//wJvmPYEZ3oFN23FShVvps2jY7WwDmxZwBcs9U=; b=ggyU8JmBa+aNUfoNxwhc48wm6Eus2+jaNvraz2em4GZHI4VgUxJPu2WxhxiLCOTy/q9im2 ZuUpf1CtZAB5hLhKuve216O5j9lQxxO3oUGZcHtrowC9d7+tNhvDOENq5HUQ+73ahvvua1 YwpOnym2RY7qSlqIRA4zZkJITpNSRdcO7rFZk3+0C+6g51vmz+w5vlLOurlwlu+XTQuIQb Xvfunco9nCFTTY2leoPKfIlishkBfG/Kbkr8jyr9hjiIqQoWgGZMXg430dZLAzpSx3EdMK 4QLbRWf/XnyihZPssaI9sA+JG3x9IpfTCq6Ai5+v4XPLkHGbJNXEMLXIAC/2Ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730336328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oICU//wJvmPYEZ3oFN23FShVvps2jY7WwDmxZwBcs9U=; b=MQpQD3UqOAXka3iHPUio+RVrdaJUuof8gUh3f0OOVRgQVdmk3nLWCqR5vdNPQh+b2nHvby J5G4LRq22z0V22I/BiHLx4WbNxmhbRGYy+Jt79ydjDJzbXeB6zaZXZlFcsVIR26ZXH+EN4 706ITxNSVMxdFu0q5KvEzFQss0bcaHJxBEaSFFFb4bjuXCQbe1ETbjfhfzAiYEjeKUBumq oH2bWZmUbgHw1Veq596vlcohjQ2+VvhlDYWqXxq3Dx//EzGQAKhIi6tYdrfa4pIxGIBL36 UkJQUD551Trh+7ghlVSBTFo76Ypbt8IW2/qPy7pws27TF53M1SIVSqT5BcsMBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730336328; a=rsa-sha256; cv=none; b=JQUJwoa4kG0L8ZJEfSmF06ylW1RzzuEPwgkJic6DzIXQ4sPmNE1dk490AOTiFDuanCw4Pq NDAvIaY/+q45ApI4IuMmweqIXLJ7bx9+x9PUdtCAQePvuuPoEXHGMRCYAVGn4JO9lEo9Ki pwdxULh26QrOe71zyAPjM1M7XovQ87FIPOBrAiw7VpJZZ096pYb1lgd5/YE/y38GAoTz4T MHokai6sRU4aYsIPAqjM0rCX6T2SiDBMg6r54S3YEdPbmlEHCEYOcVPlM2pGJNS6Z0SGyj xkXH0RMps6Q0M9IjNaBgvWgQaZ0PqCYzutL/VoLbI8vCPu3Uc7tA2n+mbUxRTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf5Gc26KKzFWs; Thu, 31 Oct 2024 00:58:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V0wmYk079126; Thu, 31 Oct 2024 00:58:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V0wmli079123; Thu, 31 Oct 2024 00:58:48 GMT (envelope-from git) Date: Thu, 31 Oct 2024 00:58:48 GMT Message-Id: <202410310058.49V0wmli079123@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: a83b4361b363 - stable/13 - if_ffec: fix imx6sx compatible flags List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a83b4361b363b521447a9425da98fbed69362def Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=a83b4361b363b521447a9425da98fbed69362def commit a83b4361b363b521447a9425da98fbed69362def Author: Gary Bisson AuthorDate: 2024-10-17 09:55:54 +0000 Commit: Kevin Bowling CommitDate: 2024-10-31 00:57:52 +0000 if_ffec: fix imx6sx compatible flags The i.MX 6 SoloX does support Gigabit and AVB features as can be seen in its technical reference manual [1] or even Linux kernel [2]. Fixes: 94bc2117b4a ("Add i.MX 8M Quad support") [1] https://www.nxp.com/webapp/Download?colCode=IMX6SXRM [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/net/ethernet/freescale/fec_main.c?h=linux-6.6.y#n206 Pull Request: https://github.com/freebsd/freebsd-src/pull/1479 Signed-off-by: Gary Bisson (cherry picked from commit c222619cd4807e9e0274e6fadcbe259cf5cabc26) --- sys/dev/ffec/if_ffec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/ffec/if_ffec.c b/sys/dev/ffec/if_ffec.c index d494e832124a..288590a71dcd 100644 --- a/sys/dev/ffec/if_ffec.c +++ b/sys/dev/ffec/if_ffec.c @@ -121,7 +121,8 @@ static struct ofw_compat_data compat_data[] = { {"fsl,imx53-fec", FECTYPE_IMX53}, {"fsl,imx6q-fec", FECTYPE_IMX6 | FECFLAG_RACC | FECFLAG_GBE }, {"fsl,imx6ul-fec", FECTYPE_IMX6 | FECFLAG_RACC }, - {"fsl,imx6sx-fec", FECTYPE_IMX6 | FECFLAG_RACC }, + {"fsl,imx6sx-fec", FECTYPE_IMX6 | FECFLAG_RACC | FECFLAG_GBE | + FECFLAG_AVB }, {"fsl,imx7d-fec", FECTYPE_IMX6 | FECFLAG_RACC | FECFLAG_GBE | FECFLAG_AVB }, {"fsl,mvf600-fec", FECTYPE_MVF | FECFLAG_RACC }, From nobody Thu Oct 31 00:58:49 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf5Gd4WMGz5ZffG; Thu, 31 Oct 2024 00:58: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf5Gd3951z4f2Y; Thu, 31 Oct 2024 00:58:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730336329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TIkYUQh7YumwEytZqOeAdeweEAjJo3T2X/e2QzKZsiw=; b=oi8zngip7iEkbfPaZ7ULmjjHEKBjoYrMlunEHL/XfTk364/6gjb1ZtSjxWZiDt7l5diFW7 mBHcKmI4NWZEcNsoUkkt7Ze3av0xfa3/mPHrbBjndqo5GlLfxw7vWydsFFpHYq9YJeyrb4 zuOYStBA3/Afkf70zLPT/RHQImZz3vkaxS5KaDpmQSiEh4053NGh6UOYSUufdGj50zYOwl E/hBVtkEeORU/zl0qRwgboMBR9y4mOFFrvi0KZIlwQb1pKnbAoDstr2EsfcFhmsS4m9vZx utg+VWJgqrsbwZou1EesD6xzOa+cpA7PcmumGdWDJkOR3CS23Zz3ZTGmvSy+aA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730336329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TIkYUQh7YumwEytZqOeAdeweEAjJo3T2X/e2QzKZsiw=; b=u/gDHzy40CXO7Tbf/vsxUWcq1OiBufRntSEXXFJUCsBW1w+ylLi5+Wye7s85WHG7RyFFKB Jxg+VSR62jUg4wJYmDJHVMxLPbeklEy5E5h1RwCJO2NBQJoMZgrGXPwoz1VNFMo6H/Nsb7 VzRoMd5jZdR5gRtRdTnlenjKVhBZkJE9RVVzLYkO6GH5KFPiCV7rw6HtSjCPZjXekwbX6l RCvRSEE3bDJiUHmaILcMrP5rmzJuzu6Bkp0ztwuFl9DP5tdBp7ecnNNf98B3mdxGA7cRyj hYyMbIhSw56pkG6zoLhdj23heYiYKubs76cnrDKN85ymr9NpXLMd+KJidq16dQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730336329; a=rsa-sha256; cv=none; b=NqGJsq4vyfm0eI+tAaYShTKT45vhmsp3ebxNyozhM5TJ/nTFQaTj44bGdw9wzji9Q4BBc7 B823a7WVA7drwLeRVfS/511w5sQFtec6Ipk7LQLUr/jp6Rf9A/gwgYlDCSRGzAV7x00k7m rngRGmjWtG4LRDsaF45JpDvhgkNc9AVH5RJRvD7JBlPsyznjJC9Ds3UrV4sO4b7UXvTDQI FeArtDvgGdzVqlHgGERAoWcARCthp4vOd5stteK3qzpB7RQvNMOdXijKu6YIkMk5cDXE/s Htyb3MCw6mdKupQDnkLTd1T0iE5JeRtBCfEa6nyA2zH68W2dHGnULmLuMMIj7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf5Gd2nbTzFWt; Thu, 31 Oct 2024 00:58:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V0wnwa079171; Thu, 31 Oct 2024 00:58:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V0wn7q079168; Thu, 31 Oct 2024 00:58:49 GMT (envelope-from git) Date: Thu, 31 Oct 2024 00:58:49 GMT Message-Id: <202410310058.49V0wn7q079168@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 2dfe93f8bcd3 - stable/13 - if_ffec: fix MAC address bootverbose print List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2dfe93f8bcd347d16899d9048bcaa0194fcf5d11 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=2dfe93f8bcd347d16899d9048bcaa0194fcf5d11 commit 2dfe93f8bcd347d16899d9048bcaa0194fcf5d11 Author: Gary Bisson AuthorDate: 2024-10-17 10:02:48 +0000 Commit: Kevin Bowling CommitDate: 2024-10-31 00:58:07 +0000 if_ffec: fix MAC address bootverbose print Remove extraneous colon at the end. Pull Request: https://github.com/freebsd/freebsd-src/pull/1479 Signed-off-by: Gary Bisson (cherry picked from commit 6a7aa5530c0d860c98c982968ac27728daaac7aa) --- sys/dev/ffec/if_ffec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ffec/if_ffec.c b/sys/dev/ffec/if_ffec.c index 288590a71dcd..e1eb9d1abe6b 100644 --- a/sys/dev/ffec/if_ffec.c +++ b/sys/dev/ffec/if_ffec.c @@ -968,7 +968,7 @@ ffec_get_hwaddr(struct ffec_softc *sc, uint8_t *hwaddr) if (bootverbose) { device_printf(sc->dev, - "MAC address %02x:%02x:%02x:%02x:%02x:%02x:\n", + "MAC address %02x:%02x:%02x:%02x:%02x:%02x\n", hwaddr[0], hwaddr[1], hwaddr[2], hwaddr[3], hwaddr[4], hwaddr[5]); } From nobody Thu Oct 31 00:58:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf5Gf5Q6Wz5ZfYp; Thu, 31 Oct 2024 00:58: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf5Gf4CYvz4drq; Thu, 31 Oct 2024 00:58:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730336330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9ssNU3QKULAlsv85Fg6kdkfkbSpC/SaxwbdKtOKYeYU=; b=LA3kzkw2AsNx5mmc6Lk5qBfAQoyyUch12eaDt8IatMbO3sY8X54VVAPS3N6kPy2+jIYrpA Sy1aXJ3qzWsroUUzTcpmnV2TfvaHfJ8i6nVfR+ft/eHCImbcQwDWfzMKZr4fleYYvvHfGK Pj8EOVcVtNsuxCvUp/yijDDfSdtkAFlHGsYf5z9LJIAVzPraDsOopND7dsr37xDTMyPQLi 5G3ZPNOunM83I2VvqOOLcfU6je4TfGPWV4OGG5IN6gu9xcs6aezJHuF3SUqgnBi1njKGE2 pX+Wgsr3BeYAvXO66K7LLaaunEY/LwI5Hh8f69Ibrbg3+rs8Tx/soOFSidVn7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730336330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9ssNU3QKULAlsv85Fg6kdkfkbSpC/SaxwbdKtOKYeYU=; b=Fcj6GgqgJrWR+gybBLboBQQ7D347H/OSRRTo5LL1aNTyrP5mwJXNbO3uNx2ixktdj7SGj7 OH4PT+1Wl3dLuNM5B8AhFcPK0gos4AGMaRVddKhG6bRkYIyyGSpsCSSwQHpXEe+xiUw3Wv JvOw8Jon2lfQRlw2r1sMihUiIUBuGJ/CVFkUyL0Oo9CUYzA3QoOFnTyv12GrUAmWwMXs83 GV+rT1RgrK1aUSGeBNE9P31asf8zgqg0+VNw2VDIN+s7HwRn9tZvz3mIf2Ic0y5h1yTI/w 9y78nCBjqDj9yJZNhaQK7XnhlgKUmKBaHAaA78/064nBy4qaatUcQzdJZc1Wug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730336330; a=rsa-sha256; cv=none; b=ol0qghEAya3kftptwXFAlDEnffkvwIrypkkWjclIvFNrbgknOvFmYyhVqyCUP8DN6TR2+J WOK1Y7Y0MTJQ7lBL2RgOfgKqayVkkP9kvjq8UF6Xc+PBf1KjyKJnsYTYO9s242bIkvx3au EdKRzKiIyhZ8DQJLpazlRpPEVt0CweBSyEuCAY+igZC4s3IuIuFGysK3PEVaOSnc5c3AZt lbF4YFBtwoNPyaUN99IE4lmNv2Fp+IjELcSbEoy1earYtR5A9P+iYyDpH4vFuj7X7im3Np WNk+Uztq8y57xs1+8qOz5U3QHS+k+EBlrwV/5Tf/LH/8BorVfzOgRiQIzplUWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf5Gf3n7mzFjH; Thu, 31 Oct 2024 00:58:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V0wo8f079230; Thu, 31 Oct 2024 00:58:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V0wocb079227; Thu, 31 Oct 2024 00:58:50 GMT (envelope-from git) Date: Thu, 31 Oct 2024 00:58:50 GMT Message-Id: <202410310058.49V0wocb079227@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: a151fecbd52d - stable/13 - libexec/rc/rc.d/netif: Typo fix List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a151fecbd52d5b2a517286082e66ddbbcb020d20 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=a151fecbd52d5b2a517286082e66ddbbcb020d20 commit a151fecbd52d5b2a517286082e66ddbbcb020d20 Author: Robert William Vesterman AuthorDate: 2024-10-18 02:54:39 +0000 Commit: Kevin Bowling CommitDate: 2024-10-31 00:58:21 +0000 libexec/rc/rc.d/netif: Typo fix Just fixing a typo ("configuriing" => "configuring"). Pull Request: https://github.com/freebsd/freebsd-src/pull/1484 (cherry picked from commit 65691b2dafda23691c3989749def755a98e731ec) --- libexec/rc/rc.d/netif | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/netif b/libexec/rc/rc.d/netif index 6a979c246790..0d441e003713 100755 --- a/libexec/rc/rc.d/netif +++ b/libexec/rc/rc.d/netif @@ -151,7 +151,7 @@ vnet_down() # netif_common routine # Common configuration subroutine for network interfaces. This -# routine takes all the preparatory steps needed for configuriing +# routine takes all the preparatory steps needed for configuring # an interface and then calls $routine. netif_common() { From nobody Thu Oct 31 01:53:48 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf6V47359z5Zl3K; Thu, 31 Oct 2024 01:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf6V46P9gz4kPM; Thu, 31 Oct 2024 01:53:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730339628; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fLWfth6yiO9vfx07m6yhPRha/NNxQaKfp18G9BnR78I=; b=DAvYiflUr+1jEsHLOggK5FUwPurBixykxLRh9RpYgYPmjhoOjFu1L5LAVbbWT9tChPo3ko K1BCSvBQjVOJtRIQqwmsA12mzayd/iO1fgRhBBHIV1TuPYyeHRVRXu8ullRC3JcWts4TrQ /3EnRj/lQoMB3Nqs7veC60GRNdWW9bmueUsHPWAF5u9/bNM6/WkpncWmCI6B7NbAYT7svl K8LkwddRvXpr9639VYUhpgrgXYPxh5AldQtho3aySrIFcF5q1F6njvj36SC6NKuibEmiOU Hhp3c2MiiMba77n/Odqfyq2fPZHAYQk/5SihPx/fwfxoe5t30RR0G4Tlucrayw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730339628; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fLWfth6yiO9vfx07m6yhPRha/NNxQaKfp18G9BnR78I=; b=raQ0Kqu/mDGH8VsHy8wVU0wrf3Us78PJ4b2McRy+9sQQUnYA0wH0wU6ChKeh+UXiTjRVj9 lTYe1+x3xIvRoM1j61+l9uV4TaFOnVZrSp464Oy7rTIF1bPJfdinjnLSIWrHaMNjkt9yk+ 8jPCX7ThDNf9gOeY22vhaVNBt2/og07rB7YR0iFAjIaH4tdr5iSizOiIg8QVS55gnmAawW jM2ExEqlEVgvurtw5rPMMMBzfsADERo994fu9XxK02DUTcVyQOaeb6Y+g5UbHo8w/CJU0/ oP1gwajtZ83px0yP6sgEjQYTlQPTLFHjEkK7DIrTNzw5l2wzovxTjJr8qL2Dgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730339628; a=rsa-sha256; cv=none; b=bt5l7ZAqK0j59+PbJqKMl3c1KilthocEYlKXA3jUBlQtymTiA3ZBG32hir+9quH6wlg7E4 Z98tcO9rN8YHFMm1Wut9OYaiR1Bd5hKTzyF7nmnM5clfc8Qq+MFAp53qlPVw5gtdwe8kDl gCtgZs1Rj0tlqNuvJw/1eRhmBUVowKUrClsuXAnfcH6YD1zIUp7O+RimBbG7pLkGms+EKW XdlJqEq3oa3MZ3TJo4R5zQ5HtIHIDtQE/sEUjn/2IDxuq+GUWlUmXgpmJHjZKw0eigVRse es6aF69R4t06dbOJijw9aHKRxG2FU2lHfTZ94QMsDv+ddGC1kMqjz8UsHjoG+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 4Xf6V460KnzH1F; Thu, 31 Oct 2024 01:53:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V1rmQ5088568; Thu, 31 Oct 2024 01:53:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V1rmDs088565; Thu, 31 Oct 2024 01:53:48 GMT (envelope-from git) Date: Thu, 31 Oct 2024 01:53:48 GMT Message-Id: <202410310153.49V1rmDs088565@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: 843c1b516019 - stable/14 - cxgb(4): Register ifmedia callbacks before ether_ifattach. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 843c1b516019efec22295234bdda26b838b1e6b7 Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=843c1b516019efec22295234bdda26b838b1e6b7 commit 843c1b516019efec22295234bdda26b838b1e6b7 Author: ScottD AuthorDate: 2024-10-28 20:48:16 +0000 Commit: Navdeep Parhar CommitDate: 2024-10-31 01:09:06 +0000 cxgb(4): Register ifmedia callbacks before ether_ifattach. This prevents a panic that occurs if netlink tries to invoke the driver's media callbacks during ifattach. PR: 282374 Reported by: ScottD (cherry picked from commit f2daf89954a45c7eed22990dd4cf2cf879763dc0) --- sys/dev/cxgb/cxgb_main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/dev/cxgb/cxgb_main.c b/sys/dev/cxgb/cxgb_main.c index 4d754aa8b1b7..c159849076c5 100644 --- a/sys/dev/cxgb/cxgb_main.c +++ b/sys/dev/cxgb/cxgb_main.c @@ -1041,6 +1041,11 @@ cxgb_port_attach(device_t dev) if_sethwassistbits(ifp, 0, CSUM_TSO); } + /* Create a list of media supported by this port */ + ifmedia_init(&p->media, IFM_IMASK, cxgb_media_change, + cxgb_media_status); + cxgb_build_medialist(p); + ether_ifattach(ifp, p->hw_addr); /* Attach driver debugnet methods. */ @@ -1055,11 +1060,6 @@ cxgb_port_attach(device_t dev) return (err); } - /* Create a list of media supported by this port */ - ifmedia_init(&p->media, IFM_IMASK, cxgb_media_change, - cxgb_media_status); - cxgb_build_medialist(p); - t3_sge_init_port(p); return (err); From nobody Thu Oct 31 04:18:33 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf9j54pWcz5b0Yt; Thu, 31 Oct 2024 04:18: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf9j548nGz50FT; Thu, 31 Oct 2024 04:18:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730348313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6xTOXWCna7Th2NCIhpCYLY9GsU3km3T7L5sf0jpf5OM=; b=YqfU4MKd3xr96P3lg5YonQDfH/bMpTe2VGIn0X1h2qYcm5kQAHUw8kUiHqRP+r59pSdXYT VL26ZVqM3DKBQPOngYRnG+eVsEmfZeDMNbEaq+Spw+gRsNUm13+ZSE4CgB72ohwnS4TmzJ uEai4aXvgkvihAjLnzX+MOFaqX3W2nScWCGECBICn/eZ7S3jCDELfYyC1eG4Zh7LV5h73L peBGp7FqVloSUgzudKr5uXAv6Kd72nFT/wIesFKdjFDdDHNqXoNDwjoRWzEVOP018nqmh2 ZVlgTvJA6BiKJrZEbJJV0/4fe+QGBpacewC9j+wgqJvxx9iBQ10NYm0T5Jy3wQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730348313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6xTOXWCna7Th2NCIhpCYLY9GsU3km3T7L5sf0jpf5OM=; b=fNhrHJmSn0SXSak9Mv01piSQwt2Y1uU7YvJlogL7NsvoT0BRGPNe83OarnQ6Ex8rq9N6Qi 4qXvt51RWJVd61I+ID4+utx1QU6kBV5oRSlBATFnG2P5klW2vp5vOVD0IrujkOWYv8TGLy C8QBF47FKlRetOR6/w/cTWuSCLkLDMR4eteK3am0Ojqz4AzYZrtLiZfJRdXuORHV/qCoD9 d1bKgO6UWX6esv04JDbRoESocH59rvhQXoPSeAa/z5iUbnByEpjRg3U7QpICvgFFFuOTm/ XiHS9NKUhTN9fvI/3iTSA1+dtDd+3ZFP22VcJmjz+BtOwEgZppKfuHUsXBpxsA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730348313; a=rsa-sha256; cv=none; b=HrH9d1gvnaBk2c9xvVh3uJET2BseP9vbRiG76Mm/aJRRBp05pGG9Dk+4swpLKtLu6mg9iT vd/2Ll5jA+mPkGTUsJdeSKeStcOjSKm3MORt8GSyjuJxjuPzev+Bmjygs54Mg5GhxzyYSc omgBzTwWPFyoxmKkTy+1tFSHkQGsvtrGCBC1+yfkjgSOZBjpwGEIa8MFsho+N1xmvntozI rDlZIJcWRgF1smR6zSmXOjVIGjhl/ALh9LGaLFjDdS/hjmBTO+opQ5ySD9PuGVdoRRqf44 IpglTgZbuCcSl3aSvTleolNsXsciHKzRqoY+dwsL0gVRUHaorVlyu+lrCaqceg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf9j53dsxzLQW; Thu, 31 Oct 2024 04:18:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4IXWu052390; Thu, 31 Oct 2024 04:18:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4IXNJ052387; Thu, 31 Oct 2024 04:18:33 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:18:33 GMT Message-Id: <202410310418.49V4IXNJ052387@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 4d3b05a8530e - stable/14 - loader: Change this BIOS tradeoff: Add back zip and use text only List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4d3b05a8530e42f7494dd3fbab8d017adb433b14 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4d3b05a8530e42f7494dd3fbab8d017adb433b14 commit 4d3b05a8530e42f7494dd3fbab8d017adb433b14 Author: Warner Losh AuthorDate: 2024-10-25 02:22:25 +0000 Commit: Warner Losh CommitDate: 2024-10-31 04:05:56 +0000 loader: Change this BIOS tradeoff: Add back zip and use text only After talking with a number of people about the removal of some things to make the loader fit, readjust things a little. Add back GZIP and BZIP2 compression support. Many of the downstream MFC packaging systems depend on this. This adds back 20k to the size of the loader. Make the boot loader text-only by default. This saves 40k in size. Net, we're 20k smaller. The graphics loader for BIOS is less useful than the zip functionality: You can still boot w/a text only one it and you can build a custom one if you really want it. It's also the default we use for dual console. This should be merged back into stable/14 and stable/13 so it's in the next release for each of these. That way we have only one release (13.4) with the other defaults. MFC After: 3 days Sponsored by: Netflix Reviewed by: olce, rgrimes, emaste Differential Revision: https://reviews.freebsd.org/D47203 (cherry picked from commit 23dee252daf2ff60e521c9c019e64134b63ce90f) --- share/mk/src.opts.mk | 2 +- stand/i386/loader/Makefile | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 774b6fffd3df..22373f8c7af1 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -129,6 +129,7 @@ __DEFAULT_YES_OPTIONS = \ LLD_IS_LD \ LLVM_COV \ LLVM_CXXFILT \ + LOADER_BIOS_TEXTONLY \ LOADER_GELI \ LOADER_KBOOT \ LOADER_LUA \ @@ -206,7 +207,6 @@ __DEFAULT_NO_OPTIONS = \ DTRACE_TESTS \ EXPERIMENTAL \ HESIOD \ - LOADER_BIOS_TEXTONLY \ LOADER_VERBOSE \ LOADER_VERIEXEC_PASS_MANIFEST \ LLVM_ASSERTIONS \ diff --git a/stand/i386/loader/Makefile b/stand/i386/loader/Makefile index a4aa3a3c4d45..c2037772fc76 100644 --- a/stand/i386/loader/Makefile +++ b/stand/i386/loader/Makefile @@ -7,8 +7,8 @@ LOADER_CD9660_SUPPORT?= yes LOADER_EXT2FS_SUPPORT?= no LOADER_MSDOS_SUPPORT?= no LOADER_UFS_SUPPORT?= yes -LOADER_GZIP_SUPPORT?= no -LOADER_BZIP2_SUPPORT?= no +LOADER_GZIP_SUPPORT?= yes +LOADER_BZIP2_SUPPORT?= yes .include From nobody Thu Oct 31 04:18:34 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf9j66pk8z5b0mj; Thu, 31 Oct 2024 04:18: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf9j64jS9z506L; Thu, 31 Oct 2024 04:18:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730348314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LgcMe+JHNyav7iX8yrYTOW4ftf2LuV5cIoIH+vziE7A=; b=k8NvRzvCpTC7T8q5BK6oCWCTiF9IsKQkC7hcAvDrp3iCGaXaZ9ahpcfHmPONzF0pYIozxi /Y6n4NBGqtRcZkQxBv318CM0Yk+hQG2PGFKmPP0PWRMf1bkAUyFlaRrgAlU3dF73csp0G/ B5H0aobow+Tf6OAIbkCX6pya5//Mib/cGdvX925gLTmlHJi0eomCxl9+xRIhrj6N4bW/ZH 1i9hB6tv2uO3cPsbtGz0zP/LbmLhzAgY5AQbtkSFyOwp2sGjwNzhTBTZjgNN6Tkf2/mMU1 ZiXeJrSichgZfRv77JELP5hwbrGlePKJc8ckUvrOqU+ZXweZKOsHAfYgWYte+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730348314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LgcMe+JHNyav7iX8yrYTOW4ftf2LuV5cIoIH+vziE7A=; b=qyE/wpE9wFsGk48ujhn9BrBgW+MMkUkHiFfX5iqqkGsYt0KLxgFOpCpv/8AtCgV+HKNL/r F50UMGT0HraUSNFY0ak+EjLGNK8mOMPUZRI2qB73C/L4PTAh0D14tF5ALSxliepASRsEwW Klt1OQYgBtH7UraMFbn4+UvLlUT9I123v7VzDjZXZVnRs1NePq33t4QRpiO0y7j48J32lk iHHBNYXQ6BAOMqErvyId+ippttJ63aaaDnrBKqbJoMtxZNVqq8ER0e9eULwBkG7Iw7r896 serhSdiE+oWfZYjVJkC6N4iCyF7SkWrPvnCWOmtETIgQW3fxRvI3/n5CJcU6IQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730348314; a=rsa-sha256; cv=none; b=s+Etf2aNRQjpWFxDvPrXA3gySP5BLwnjvcVCRQDoPncQ760MHqIYNF/lFrm563opM+drhh 5fnl/2hvptnLpzq8ZJHKtMkSqe2DNzfZFcm5TN6JgjUXJCbaibSVhVOX4jbhZheSTbTVzH rSM2UqN6Phzd7JwJnBg2MymEbeVNb6DCg+gcgeAnpnZRXP3eBTjtAC+AcYLq6GyaRHq//s AtnEd4j3ZhaGHmimmlGuO+J6hhh/PmgqRanCiGRK/CTfMMYqgV9hRUz1iyPtInCSnfu9SD yPS4eHO4Rgut6VH4rfVP5NdcHDSA5mzzZIj1eDGsVnxzveXfJ4FwrAb2tRDtjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf9j64K7mzLpC; Thu, 31 Oct 2024 04:18:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4IYCp052445; Thu, 31 Oct 2024 04:18:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4IYGA052442; Thu, 31 Oct 2024 04:18:34 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:18:34 GMT Message-Id: <202410310418.49V4IYGA052442@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 1a37c4e533cb - stable/14 - stand: Ugly hack due to default change List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1a37c4e533cb1348ce5a85cbd596fc8a744737d9 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1a37c4e533cb1348ce5a85cbd596fc8a744737d9 commit 1a37c4e533cb1348ce5a85cbd596fc8a744737d9 Author: Warner Losh AuthorDate: 2024-10-28 16:50:29 +0000 Commit: Warner Losh CommitDate: 2024-10-31 04:07:11 +0000 stand: Ugly hack due to default change So this is a gross hack to fix the 'noclean' build since we changed to text-only loader. We have to fix it in a better way, but for the moment, this will fix non-meta no-clean builds. A better hack is to fix this so we build either vidconsole.c or textvidc.c, but some minor refactoring and variable renaming is needed. Fixes: 23dee252daf2 Sponsored by: Netflix (cherry picked from commit 10c429016a3c5adf2e04cfd1ac97eb24c0e7074c) --- stand/i386/loader/conf.c | 2 +- stand/i386/loader/gfx_bios.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/stand/i386/loader/conf.c b/stand/i386/loader/conf.c index 622812efbb51..bba33a2707d5 100644 --- a/stand/i386/loader/conf.c +++ b/stand/i386/loader/conf.c @@ -134,7 +134,7 @@ extern struct console nullconsole; extern struct console spinconsole; struct console *consoles[] = { -#ifdef BIOS_TEXT_ONLY +#ifdef BIOS_TEXT_ONLY /* Note: We need a forced commit for this */ &textvidc, #else &vidconsole, diff --git a/stand/i386/loader/gfx_bios.c b/stand/i386/loader/gfx_bios.c index a0b08a7cbcde..1581325a81e0 100644 --- a/stand/i386/loader/gfx_bios.c +++ b/stand/i386/loader/gfx_bios.c @@ -22,7 +22,7 @@ #include #endif -#ifdef BIOS_TEXT_ONLY +#ifdef BIOS_TEXT_ONLY /* Note: likely need a forced commits when this changes */ void autoload_font(bool bios); void From nobody Thu Oct 31 04:18:35 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xf9j76vl8z5b0W1; Thu, 31 Oct 2024 04:18: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xf9j75sqVz50C8; Thu, 31 Oct 2024 04:18:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730348315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FqlFG4jyF1uSqvV9aWBNBa7qzFFgpJPyMEldR9GRiRM=; b=tSBusWbaG5LedC4/+4SxBRRDkZGEY/ZL+Tcq7r53CFHBbniNBeV7Kg7UO7dqXn8sbcLNnd xt8TyIbxmZllVAGN4IWN6o7c3/N81uxJN+kOchbnAuZD/pQoT9Oc1edW7IaA8Ry1k55Tjw 9IzipbOswshbL12qrDe6CBSawSTAHovOCat4LJbjymsnp2uJPJznVat40E1Gq1Yqf3s99r oYkOsCBl87t+9gI/dxTAhNSHVj8cFDeLZDjyfts2qeVFNHNAVsx09V+5qkn8pMjN3UI04T IevCFt4WZq962280/5CB0cDC7HcO+MgtgKtUrEZwx4ha2MfIF2xMbXGrg2UOlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730348315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FqlFG4jyF1uSqvV9aWBNBa7qzFFgpJPyMEldR9GRiRM=; b=GSJpovelMgkMTDNstg4e/Bx7j09RnEH9izqC38fK5n0hdfO+Hvv/6qr6cYCTf16DDDch+6 1lJb9Hp7BATRzdcnUJT9uPKN11/OOPVKNVCg8nCYGZxoSurCkrLeGyhjX3QZjSMfbSj4Mj DegPZh3QrEldFhWM6bVeH6rn1HvWDy7pz7knNKm8a5WTIIum9HBUUiO9KEeTRCY1xVu0y0 xhUeANNYvHRRJO7kQRUaCDEigKFx0KAf5a/KQZhZe1A1JLD9+s63XgGIx+gT4iyWueJCWR Pzd34wJ+Wl/s7SHShc2tKJHrIeSAwPRx1qP+teL0sFQgnADErWEZf7B72aSoBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730348315; a=rsa-sha256; cv=none; b=BLaJAzlquenbaJFkHbfUU86XYQv9XW2RjG5aeDkfALeP1SYrOS/GXjI1Z6NUEbLZBEYYKA fnm6XxYTl3921ebXe/rq4JXEbT9JYXCIznbebFW0lr0ITMJEqZ1z3QOL32V7HBAV6F+sLu R34rLN2NHIOWQ+st9xGEDsHjyzzI+9Mi1ejWgQ1rkhhoTn+6H9soUYLG2S7O0uCs3qlr8S Lfu0u34QVnSkYPe6Jpmy09/XJsDbTyIn6J1V/z0EbMGb2Eat5pkl7RqyRwCcxXGgYHXWh7 wBoY1arP0Oq/OBO1km5gdPpkyraEgcjwVRgAbZHQaNke6tgCMha91EqWSPxq4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xf9j74wGFzLqV; Thu, 31 Oct 2024 04:18:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4IZWm052494; Thu, 31 Oct 2024 04:18:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4IZWK052490; Thu, 31 Oct 2024 04:18:35 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:18:35 GMT Message-Id: <202410310418.49V4IZWK052490@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 22aed646a5cf - stable/14 - src.conf.5: LOADER_BIOS_TEXTONLY default change List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 22aed646a5cf1746b7196297208d7de32cd5c612 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=22aed646a5cf1746b7196297208d7de32cd5c612 commit 22aed646a5cf1746b7196297208d7de32cd5c612 Author: Brooks Davis AuthorDate: 2024-10-30 19:33:51 +0000 Commit: Warner Losh CommitDate: 2024-10-31 04:16:59 +0000 src.conf.5: LOADER_BIOS_TEXTONLY default change WITH_LOADER_BIOS_TEXTONLY is now the default so document WITHOUT_LOADER_BIOS_TEXTONLY. Fixes: 23dee252daf2 loader: Change this BIOS tradeoff... (cherry picked from commit 50b5a37a12d032085276b1f0ebb5f92c0cabed32) --- share/man/man5/src.conf.5 | 9 ++++----- tools/build/options/WITHOUT_LOADER_BIOS_TEXTONLY | 2 ++ tools/build/options/WITH_LOADER_BIOS_TEXTONLY | 3 --- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 303854813166..5dd61a50329d 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 September 26, 2024 +.Dd October 30, 2024 .Dt SRC.CONF 5 .Os .Sh NAME @@ -1028,10 +1028,9 @@ Do not build LLVM target support for X86. The .Va LLVM_TARGET_ALL option should be used rather than this in most cases. -.It Va WITH_LOADER_BIOS_TEXTONLY -Use the old, FreeBSD 12 vidconsole.c. -This only supports text mode without teken, without any graphics, font or video mode support. -This setting only affects the i386 and amd64 BIOS boot loader. +.It Va WITHOUT_LOADER_BIOS_TEXTONLY +Include graphics, font and video mode support in the i386 and amd64 BIOS +boot loader. .It Va WITH_LOADER_EFI_SECUREBOOT Enable building .Xr loader 8 diff --git a/tools/build/options/WITHOUT_LOADER_BIOS_TEXTONLY b/tools/build/options/WITHOUT_LOADER_BIOS_TEXTONLY new file mode 100644 index 000000000000..0b243b4276c4 --- /dev/null +++ b/tools/build/options/WITHOUT_LOADER_BIOS_TEXTONLY @@ -0,0 +1,2 @@ +Include graphics, font and video mode support in the i386 and amd64 BIOS +boot loader. diff --git a/tools/build/options/WITH_LOADER_BIOS_TEXTONLY b/tools/build/options/WITH_LOADER_BIOS_TEXTONLY deleted file mode 100644 index 08804c19c691..000000000000 --- a/tools/build/options/WITH_LOADER_BIOS_TEXTONLY +++ /dev/null @@ -1,3 +0,0 @@ -Use the old, FreeBSD 12 vidconsole.c. -This only supports text mode without teken, without any graphics, font or video mode support. -This setting only affects the i386 and amd64 BIOS boot loader. From nobody Thu Oct 31 04:43:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfBGJ41gdz5b41l; Thu, 31 Oct 2024 04:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfBGJ2w1pz537R; Thu, 31 Oct 2024 04:43:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=giJFVXAlTJPpIspOthT4mN6QLu+wmxCktEApAdMEsWE=; b=DUPBvkmVv28ifBvG2YnYNlWRHVcAK64ZPJ0T1vvXPQWrGpoTVYvDPj/AjoXxOEmOiwLP6e PhrsOsrFgqXwMkMXd0ApVLqDX1IcCfXW0ixKxqJdfLFkQGo7g0GulGpKVCu3zWtvW9LY3s 67+oPaHphyMrEXNIO0JBLrenu+OrEdzBh1hjIW/8bPvYgVC4h1MLymXRK+mj/9h6DR1MPe 6XoVdNu4RympzmSC0r3c1PPhH9VoDwrp5dgzXzlvXduVclxQla5HGvaZ01aK3n9DF5RpZa v+2Me8kVnDyIHljwtZtWQQfBOBIKxnP9O4q5bd117f/3KBRlPnXwIqxkU0+3Sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=giJFVXAlTJPpIspOthT4mN6QLu+wmxCktEApAdMEsWE=; b=Zm3PtAUlKTWROGwNvExTsZYXipso1sLumHrNgPXavHbue5U48mC9zMJKKakEQeXvQMvgv7 /H0YbiOJ9VLV/AKrWrZqu9RRkxZc8HlVYVVNBmMMFLM2Y/btn3LYOTNxmfRxLfIpMf+jPn uwbIHnpzDWXIqlSQ58l0khuvt7le0oJFpgoar8MnhbHcTd+tiyxJ3Loy97UGNPXSXsDZGx QrWoFzjTC1TMVGQF5L2meVmV8kR05Up9EbFZbNBk5e+Fepa2Tp9LA1o968hTY/3AGhaqcl juUii6z/8arDpy7autP3kWo49IuxdLOsaYem8KiYJE9i0/dS9s3avEsxKup8Yw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730349832; a=rsa-sha256; cv=none; b=VOVhA9vartcU5R+EeVRYP7FG6cqPF3llr7Jh4fS2X/px2o5xysGvq+JKiyulGKmzNuj5Fy Xsa9WLj5FI9R1j+T5XyuA7fpq9r1Qmc6U+QJKpTE82oIGUzRv2LU5qN8y3O2XOM58hM7EZ AgwCfGYaf6BZDZCko4VgrRUkf9CHvb7D0d7vOdXTy8ZMO09uG/8qUi0OXtyxDWuSY8gJtD S6PxnqLXihNgVVO15vBzlJcSZdrWnrrxWVl5PCUmQWrOL03KGFOdav2soomBP+aYXgC3jQ AKJHwwYZxFCQgxqr2YEwAAa6ZoE6sPfPU0+fwpk2BD6tMcogrv5IfwBmUP3BqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfBGJ2WMVzM4F; Thu, 31 Oct 2024 04:43:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4hqs1006510; Thu, 31 Oct 2024 04:43:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4hq5v006507; Thu, 31 Oct 2024 04:43:52 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:43:52 GMT Message-Id: <202410310443.49V4hq5v006507@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 2f3c87296cc7 - stable/14 - ifnet: Assert that we are assigning network stack correctly List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2f3c87296cc727fc21fbb4d549deaed7dfa2fef1 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=2f3c87296cc727fc21fbb4d549deaed7dfa2fef1 commit 2f3c87296cc727fc21fbb4d549deaed7dfa2fef1 Author: Zhenlei Huang AuthorDate: 2024-10-22 04:32:24 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-31 04:40:16 +0000 ifnet: Assert that we are assigning network stack correctly It makes no sense to assign NULL vnet to an interface when the kernel option VIMAGE is enabled. Add an assertion to catch that. This will also help diagnosing problem report [1] and [2]. 1. https://bugs.freebsd.org/275381 2. https://bugs.freebsd.org/282168 Reviewed by: kp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D46982 (cherry picked from commit d1d839d0b593541174ca48c675c9eff4ddb4715e) --- sys/net/if.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/net/if.c b/sys/net/if.c index fe51ba5a0b60..edc7d8376bbf 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -834,6 +834,7 @@ if_attach_internal(struct ifnet *ifp, bool vmove) MPASS(ifindex_table[ifp->if_index].ife_ifnet == ifp); #ifdef VIMAGE + CURVNET_ASSERT_SET(); ifp->if_vnet = curvnet; if (ifp->if_home_vnet == NULL) ifp->if_home_vnet = curvnet; From nobody Thu Oct 31 04:43:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfBGH3Vhfz5b3Yx; Thu, 31 Oct 2024 04:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfBGH2VcKz53dr; Thu, 31 Oct 2024 04:43:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=03159X6m+JfGXhYfbbGxMNgn+qfBMAgAkFOqaBE5Ios=; b=RPBW0/iCp2qBiZQbL4QH7H/vfy9tzFXfDuOl0MHs3fEnUKOYsDbPZYZ7MP8h0Ly/JWcF84 ujHFQWcJSC5G1XQcawOz2LF5pA9N26PmIkvMpEWrzJJh/5Ml551Q3DozDKKXZvroVb0Nkp XkXZeurAKCIU/+Z3cFzCJxcHZtzJVhhIT7d2q6Dd26R1VSU7wWbyvfhmZm24gnB/IQfojp 1g21NpLVRhRD5ko1NoUw7ugQ6U6qkrUTh1bBh7YmlTcH/ySJt9JkwCAKp+Ov5LsE1Z0t/z DhXPobWHUi3RdhPHpLkabPbjYUdBc5xI/GADSRWd/BXVZE5a7RiIcrKKPMZbgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=03159X6m+JfGXhYfbbGxMNgn+qfBMAgAkFOqaBE5Ios=; b=V903cD8NbqnIs7R0LdAdoLdlIGH4xhrw96s9+NxODlcG1DjZNN/sDlaGhdTkC3l0WXREqw Hg6UW5Oq5iQ3gEGxBXJ9mRQbrfgKNkvnYLpVY94JLz1Tx7fRIfMfTxaj3wjXNLGxpIwT1N 3yKKLpi7EVsweWwJqwKYT272G1Qj9zkMQ++o+c23/Sp//13EJH1V/cHYySIIho7cQbKPr6 iNU43zPnBbKweAbijqBVoZ1AybGhY0Xdud5vyOsYj9KylBw1vWbGnPY6ADtSMk2JtaTyO+ IviR/z0wtqEre2Xt9JZPkWUBSpSvhmYO83FsygqICLxjFdUzw+cPIn7qmMQB0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730349831; a=rsa-sha256; cv=none; b=xEJPm28OiFJ1v7d3Ab9GTOViWkD32DUXqFYU0dXx773g1DdkW94ElWyELoIHw08ySaLDlG OrJ4ml7PTd8KGYjiYjA1PhXakoiyrRrWAUnlgDtaxUPfikYPcQ5C5SD7A65cT0++Zrci+s aVFtMQYE0QLR8f6lkumvqtE5h/xCPz0Mb2RqDST3e+G+vosVFkhkwu11CjLSR0XhxXEQA8 KuR37txdy1zsw59ZntAlW/grKTBYMIPlNr6QENIMNZomP+eA5Qo2+Bp/58LUrQg5f1USPH YsIRic+NZYcJapIIY9xyRfHmP+d8RJ0fbuV8aDIinYL2ToLWf4CjZBJKNMM2Wg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfBGH1xD6zM1W; Thu, 31 Oct 2024 04:43:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4hpB4006449; Thu, 31 Oct 2024 04:43:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4hpfj006446; Thu, 31 Oct 2024 04:43:51 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:43:51 GMT Message-Id: <202410310443.49V4hpfj006446@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 01f4a503eb0f - stable/14 - ifconfig: Fix wrong indentation for the status of pfsync(4) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 01f4a503eb0feaacc4cb9bd189dea66344365352 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=01f4a503eb0feaacc4cb9bd189dea66344365352 commit 01f4a503eb0feaacc4cb9bd189dea66344365352 Author: Zhenlei Huang AuthorDate: 2024-10-20 14:06:33 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-31 04:40:16 +0000 ifconfig: Fix wrong indentation for the status of pfsync(4) The leading tab is always required, regardless of the configuration of `syncdev` or `syncpeer`, as `maxupd`, `defer` and `version` all require it. Reviewed by: kp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47112 (cherry picked from commit 1c95ec17cae22fb76d4e93c9eada78e03ca1bca6) --- sbin/ifconfig/ifpfsync.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sbin/ifconfig/ifpfsync.c b/sbin/ifconfig/ifpfsync.c index 33e4e5ac8cd3..264b1ecd5b56 100644 --- a/sbin/ifconfig/ifpfsync.c +++ b/sbin/ifconfig/ifpfsync.c @@ -374,8 +374,7 @@ pfsync_status(if_ctx *ctx) nvlist_destroy(nvl); - if (syncdev[0] != '\0' || syncpeer.ss_family != AF_UNSPEC) - printf("\t"); + printf("\t"); if (syncdev[0] != '\0') printf("syncdev: %s ", syncdev); From nobody Thu Oct 31 04:43:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfBGK5tPFz5b3s2; Thu, 31 Oct 2024 04:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfBGK4KJHz53RQ; Thu, 31 Oct 2024 04:43:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rYo4tlc4sor+C1CLSnwmv6YXhMp1v0WgPWbUVjFJpOk=; b=nVDn7a5yJ15VU/Vp99x73AaKL76adnQQ1FUiBMp1ox+5Ri8NXvRTmmZtR5PHqfGA0sxD/9 2Nm9xqDwv6gPvCzVh4vasLwl2eFHnf5Fo4fBlFpJDcWGvQke72mQ6WjWOdA8iV8xhMkMUC 6Vfbrc0LPikTGCZMm6UsmUUOwppioWCQRf6sYE1+2BsYG95qu8FwIqP3qQVz68sFL15fS2 XEuB2p/KjjeCVtLCMv1DxdKdXnzaM5P/clHdwOF4oJubDq4Ee9+nIR8JVqNNEAEi1ys/Rw Y3NN1lrQ4PDktES3pmj+NyQrzT2mbs0wfsyqBvqHVA6hUEqySDkW+QOazqJowA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rYo4tlc4sor+C1CLSnwmv6YXhMp1v0WgPWbUVjFJpOk=; b=ZkfCFDISMEJ7IB5u17m55aPfqzmYhtVDMfZI9KzkV6nioiURvmfUxEi19VG8Lq5QOwck/G 2x2FKMEUawgRgVCdc5nINGy6ssEdwBXeVRW9kLYUqPOTvw4aCfym7hdE9syHH4dui29uKS rgRfnz6nTcBQLPcKKUxqZ8z8ROTn6JRID1h0+POhxExwp788agrKxf5+iSsK7YzkAcmBRP 7sVvn9x4UFe6gGLvn3WCPJibF/Mgv1wDKFU8VKy0Qtn8z2zMvtfFBUPiPXOCKiHvr+oFAK rpNpxP3wZuZlkfU0BdWzSSzmhje0kl5FR3MCfdURuSnjVsUNqJ8klqZSrnui7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730349833; a=rsa-sha256; cv=none; b=OX1UYvcP2qxgT5nVl/IFeABnEy9wXQF6LvesBNNlK1gYbNnI4b55xZAuSVvPVmhpA5DgNm Nl9CZ2WH/NQCp5sDotNih1+ioJES+5ode/SqiNen4kurSXgGQQNkVdSXtqMD1RmBFHB/8q 8v9Vq9GAx3VnYWzFotagCwr1+BE/SuM4irV029J+B37WPN7yn+kxx5T93zXq3yfVoF8iqj 2ZeGAWc0zgzeWwzPhJQtJktsRB3uHtnQuwkCtt8fCAfrvXJCSov91GE6wHcx1XrVLpx77z GH/xgZLVb4DUkXF2fDLS+37XMnWFBv9lp4vTy1yXBnY6RkBzbufFcUzMro2odA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfBGK3pxhzMcc; Thu, 31 Oct 2024 04:43:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4hrv8006552; Thu, 31 Oct 2024 04:43:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4hrBV006549; Thu, 31 Oct 2024 04:43:53 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:43:53 GMT Message-Id: <202410310443.49V4hrBV006549@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 00fa80275f34 - stable/14 - ndp: Remove a stray semicolon List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 00fa80275f34586775e744d83ff94f8f42eaa696 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=00fa80275f34586775e744d83ff94f8f42eaa696 commit 00fa80275f34586775e744d83ff94f8f42eaa696 Author: Zhenlei Huang AuthorDate: 2024-10-17 13:05:29 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-31 04:40:16 +0000 ndp: Remove a stray semicolon MFC after: 1 week (cherry picked from commit 17120e4bc3e61557816ca0558a60ab969b3df404) --- usr.sbin/ndp/ndp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c index a6f30911ddb4..e98e506ee482 100644 --- a/usr.sbin/ndp/ndp.c +++ b/usr.sbin/ndp/ndp.c @@ -639,7 +639,7 @@ dump_rtsock(struct sockaddr_in6 *addr, int cflag) xo_emit(xobuf, "Neighbor", "Linklayer Address", "Netif", "Expire", "S", "Flags"); } xo_open_list("neighbor-cache"); -again:; +again: mib[0] = CTL_NET; mib[1] = PF_ROUTE; mib[2] = 0; From nobody Thu Oct 31 04:43:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfBGM3Bgxz5b3t3; Thu, 31 Oct 2024 04:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfBGM0F2Fz537f; Thu, 31 Oct 2024 04:43:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OXFqR6iPWE2U8jQGS7IRP2wlRx/BhqbiQ7JIJunpyC8=; b=vsNY3P2nGu43ybKhmM3rXxKeCl8oUGzAA/6Yig/hclCG6sJGTbJ5ZkMWvjXsU0i8ZiqnlB 20OYncWPg5kQ3CT7LLo8HT1PyG/h6BgLqGt/8Tj2b2RnkiO99Lnk/zWR735lSw9R48t61a Ad0kiRctsIIv+6ez++XhnaYBUiP/y86xixjjJVkJzwARVgG3CJBXOhYikPfRMs9IWbzpL2 img7v2Mwox1Aro5EjkxWW0dRrRV+5aPMrIY1Esuo/O2CxT/fbLq8URPcQd9u2mk07p1xlf cGeVIYZUS+KRwvsPzeXnqCr6/bft5p/UETHk0BuTJqC3eRUl2QL+dzUcX3fdnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OXFqR6iPWE2U8jQGS7IRP2wlRx/BhqbiQ7JIJunpyC8=; b=H9JDiQBK6eTKeJjWdcjfHKdJmGdQOyrsqwL3RKouZjsiQ/ltyjlZuV3A3T2Il9m3A/v0Mf FXymQM0Z1NVNHhZND0GUlQXXMPi/BZQjoJTbwErH/hofrvPgkzhD+FW+MUwho6XTU6JC3u pKmge0n583jYBWe+Yi+sSqnoj+oTp0oPS8xHbW3w1yLhihKYYwExJD+r5HJCOTu5RSkDo7 wrC6EUdBKxuxu78PsrrUaR7UiyF9IFKsD8F5MOkwE0WDTX9pQGET9tbUSc7E7mRSHhBz7e jBsZ04MpylzN4TG3/3Dp0pHSIJfUFgvNGhaRnFpfDASt2WrHIvU6t7ZFJQS/Fg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730349835; a=rsa-sha256; cv=none; b=SSVSmfSI5dwC2Vyz6mZJ73pj3W9AGEBUsdCb6UEFNEcYZBqKe/7v2F/rQyjH83sh58Nlpo niy51mDdrWk8WRpCTNq4xCFLneVrZH757HViuVcb1v4azoVORt4YEskJDEEGXkLG7lp5e5 Q04aVyOXDxkQXmYuIR1wjq3Dj0tHgGVGO5wo+zDuTG4OFioZSUpDMF/CmzWtOqmrI8Yw9b OHK1mDU/Az0wtrXECKxRAUjXhSnAdrDfQPQJRKggN+SV+ezJ+8ePTDvtJhaZQwRtfNFu9L HsXvamn2BMtn8zN8uQLA+eaIqrmMtSx4N6jVHdsOgSj82/g1bS5bJlpoErF6Gw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfBGL4TpMzMQc; Thu, 31 Oct 2024 04:43:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4hs4D006600; Thu, 31 Oct 2024 04:43:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4hsl0006597; Thu, 31 Oct 2024 04:43:54 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:43:54 GMT Message-Id: <202410310443.49V4hsl0006597@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 57af3009cb29 - stable/14 - config: Remove a stray semicolon List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 57af3009cb2911de5c8b3e09425d764d61c80792 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=57af3009cb2911de5c8b3e09425d764d61c80792 commit 57af3009cb2911de5c8b3e09425d764d61c80792 Author: Zhenlei Huang AuthorDate: 2024-10-24 15:04:48 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-31 04:40:16 +0000 config: Remove a stray semicolon MFC after: 1 week (cherry picked from commit d96ba5a6236566afba05ce542296c589503a8b17) --- usr.sbin/config/mkmakefile.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/config/mkmakefile.cc b/usr.sbin/config/mkmakefile.cc index 49990c4a250c..0ee8c8ed9357 100644 --- a/usr.sbin/config/mkmakefile.cc +++ b/usr.sbin/config/mkmakefile.cc @@ -571,7 +571,7 @@ next: goto nextparam; } match &= negate; -nextparam:; +nextparam: negate = 0; } compile += match; From nobody Thu Oct 31 04:43:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfBGN0FFyz5b49Q; Thu, 31 Oct 2024 04:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfBGM6H8kz53fC; Thu, 31 Oct 2024 04:43:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PBsrTF1wJCDXM3xOSDZVUOGmKvDP/yz/uCJ1x37BWIs=; b=v4EfjnJTFoiOWUyxZT92tUpkbqwNUjIT7A8Ab4WsXDxUFryq1qh5liqKIi+1TdbfZBbsGS HatT90Mp5muWfldPJmGFNjuA57rYEs98ylpKW4UIAnZBbdF5Dw4OhKBaYRIALsSD2YO6gU BjYIWyBuPQqQzC7Q6E/I6VzUi1oHY9g9IgvzLRchx9PfgTNFKVpOeWXMzY/UJWgpnEJKN5 1bCZ0ARPVMtdUesInLcw0RgRjDfI4WV18vIfjTTcEOD87YLeqOOOZG6d6LSbDKvD3Qv6eB bBEUZi6tGYwQG8qadCi3sJt6Z6fC+Xa4pNCSQ/MoBErH+qh27N15LpW0fELfQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PBsrTF1wJCDXM3xOSDZVUOGmKvDP/yz/uCJ1x37BWIs=; b=ryrqhhdFLSE7OtEbQulTSpVwrRZfFxFAfSAEJEDc/wkj5CD7lWP0wo5NwFe0TrUn1tgwiE McNXUIphAZD3CD9o3n9G5D9DBa5Ko6tR7iIyn5AB0CsWPXcWxkEBMLMwYB1yQHSMs8BtRL vp29ZO6TAFzME3xkYb3anH1++3N0Jgguavw6N1vWS9yUM71XIsuyT3ywidz9YGQ7n3KCMS NwIbQy/6w8qNKEHLPv8Ku4E1AOF4c+9DHKKGzCBM4LWADqn4P8MYENLasyRBbHrrURjZpj go2LHdfoL9wR+b9IsR4HjY1p9KrKaN12KsPBvteKr+47oZ/xzd/XmI28ap+cZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730349835; a=rsa-sha256; cv=none; b=GDltAHpR8WRA78RvoJAxIiLla/tN6yUuv7GvfA7z1XEzSuNwUpqdKPHAOxsgVNmrveHrOE V1D32SQVAAyAMfeQHJe4P2U6FN0xJ+n+2YtAD1Yk/hIOkse07EC/KY6OT39bw+KIERgySt 432VFIat1bxGgRSWyIs9l5gL8AU2s4+FoYu/G4wSuEv4+k017BQ8CnP9P7XaewtXJffzWA 6wXhW/2RIQQRVHubZAr1uu8r3oHLiGUUr04pg/NWd3wuwMPBOppDQghBOpBRzasFZcX81K rkg6eR4cS5iFxPlwrdNjRSubrVvUS6NjJQVuYjUVVercLA4Kx2FLTBjblCXx8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfBGM5njfzMBs; Thu, 31 Oct 2024 04:43:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4hthG006643; Thu, 31 Oct 2024 04:43:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4htxZ006640; Thu, 31 Oct 2024 04:43:55 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:43:55 GMT Message-Id: <202410310443.49V4htxZ006640@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 30e256e1faf4 - stable/14 - makefs: Remove a stray semicolon List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 30e256e1faf4da7b89399340520d175fb6f2371d Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=30e256e1faf4da7b89399340520d175fb6f2371d commit 30e256e1faf4da7b89399340520d175fb6f2371d Author: Zhenlei Huang AuthorDate: 2024-10-24 15:04:48 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-31 04:40:17 +0000 makefs: Remove a stray semicolon MFC after: 1 week (cherry picked from commit 56b17de1e8360fe131d425de20b5e75ff3ea897c) --- usr.sbin/makefs/msdos/msdosfs_fat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/makefs/msdos/msdosfs_fat.c b/usr.sbin/makefs/msdos/msdosfs_fat.c index e00ce9ef7b97..16e2ce44084d 100644 --- a/usr.sbin/makefs/msdos/msdosfs_fat.c +++ b/usr.sbin/makefs/msdos/msdosfs_fat.c @@ -245,7 +245,7 @@ pcbmap(struct denode *dep, u_long findcn, daddr_t *bnp, u_long *cnp, int *sp) return (0); } -hiteof:; +hiteof: if (cnp) *cnp = i; if (bp) From nobody Thu Oct 31 04:43:57 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfBGQ1fYjz5b47D; Thu, 31 Oct 2024 04:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfBGQ0dMhz53br; Thu, 31 Oct 2024 04:43:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ULqorc8AcPOUHOt7U0TgMJ7W5x/OFA7JovbAdm3SwQk=; b=IsjhxQVzhnvgoR3e1FBMo1AS2KoLhL7s1SsDgRmBO5aqOXxk96Cp2YwfRlhMDFmzW9G7hx n3GT1C2W/v17BOZTyo6BudRxG2SaoB2q+oG+Tm/zugGOgecPUB2xmdmw07agzA6EkAGeOq d6n5wQD1t9lmWH4J0ac1D0kovyzh00sTC8VCs1JTE1osmuVwpD2dXPvUbrMOPEbDiN1mVi ecKhIfKaY87V9ITebcTn9d1bdjLjlnGclWUlnrfvj4Ir3aqv0sbDu4UCOSCL4cBT6ojyuc Cj/o6B4VgYbeFfRRJMaLN1ypXZhwVfFVQ4QOXR23jOg5aJEykL1Yb6sICEiTOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ULqorc8AcPOUHOt7U0TgMJ7W5x/OFA7JovbAdm3SwQk=; b=dPCpSC3COmZAAA52mr5XaIxABDp0mKNJt67fy89VItSu9IBMh3iDoHX+Sj9nXhMAU5Ww3n LaHgJbVbT4KKz9bVQoweaO0av5LJIwXMYdCr3SyoFYoYW2dJzr+uEHFWquSv9zmdiJTIK9 ROmOho0C6yLogIAbN1gXt++jGgo26iIh00HAjaRiGUqoq/MfcLkl4oFyt/+oSMhmbuTUwJ oK5JYK7WNaLv9c6QDMGNUkC2YCVHc87xO2N5UzbYVRi4q7LjaxH/ldSjw/RsDEBj/xNq6Z b7OVfIZW4PCkHzglHGlwxcCg42g5uK5zSQEKzwcN7O45vwSRya0tZpu35N3zZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730349838; a=rsa-sha256; cv=none; b=ItHc3YOp0C4LVXonKGtLoSsQkffW3ZH1r+z5Ay9zyZiJMT0EMmYITr7BUmRjJNuMYm11kl j4+XiR8fDkp+56QNBhecrHQuE4aChMYyByLk5hlDA3e8hf/VqvptCeirIc9bRZfEsY8PqN 915RzNye60dbP/pt3iPKLaO/MJp/LaMdFlm6QqVJjoG4R1yliT9avIGrERreC4qmt679we eUODkK2sdp1tENNZti+WpvCXB1Jkh66Zt0ju0sYj2q51KOJWMZ1uW38QxEm4otTgoiNp/U M2I46MqDyB1TC6BNciXcedISkHTh1oBTkIJB3JRUtMtuqb0CH7b8mvZVUPi4DQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfBGQ0DtjzM4G; Thu, 31 Oct 2024 04:43:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4hvUg006727; Thu, 31 Oct 2024 04:43:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4hvZt006724; Thu, 31 Oct 2024 04:43:57 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:43:57 GMT Message-Id: <202410310443.49V4hvZt006724@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 5942658cf357 - stable/14 - LinuxKPI: Remove stray semicolons List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5942658cf3573bc3df9c378b688beb7549754773 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=5942658cf3573bc3df9c378b688beb7549754773 commit 5942658cf3573bc3df9c378b688beb7549754773 Author: Zhenlei Huang AuthorDate: 2024-10-24 15:04:48 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-31 04:40:17 +0000 LinuxKPI: Remove stray semicolons MFC after: 1 week (cherry picked from commit b4856b8e9d872ca6ee0c4ef43e7047693ef7645b) --- sys/compat/linuxkpi/common/include/linux/kernel.h | 2 +- sys/compat/linuxkpi/common/include/linux/skbuff.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/kernel.h b/sys/compat/linuxkpi/common/include/linux/kernel.h index 0786151c4ca8..7086cdb3ff03 100644 --- a/sys/compat/linuxkpi/common/include/linux/kernel.h +++ b/sys/compat/linuxkpi/common/include/linux/kernel.h @@ -342,7 +342,7 @@ static inline bool mac_pton(const char *macin, uint8_t *macout) { const char *s, *d; - uint8_t mac[6], hx, lx;; + uint8_t mac[6], hx, lx; int i; if (strlen(macin) < (3 * 6 - 1)) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index d3839820d3d5..341ed33ddfcd 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -614,7 +614,7 @@ static inline void __skb_unlink(struct sk_buff *skb, struct sk_buff_head *head) { SKB_TRACE2(skb, head); - struct sk_buff *p, *n;; + struct sk_buff *p, *n; head->qlen--; p = skb->prev; From nobody Thu Oct 31 04:43:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfBGP2nN1z5b47C; Thu, 31 Oct 2024 04:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfBGP0SMlz53fV; Thu, 31 Oct 2024 04:43:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ARzkSpetf/3q8bE4JXqJaVyzXWlmIcH+f3p3AJ+DEhc=; b=ph7Vtr6Pr+J6Vmf1yjZr/0FA1lDcMT4IA+Jgl7G0LjifNGCrRronuMN+Oq2aruQbeTt1jc Nr6WMQjhFEf/oGnim4o95mLZvvec9dqkA1630iSYE9XYmF+EwqRZuWadGBKLJ5DzkMppkb BPqMHH/OQkFYLl5c39lzIdgrR3cIWMtJORAn+BiVoPQvzTYrakKPAX+XetVmnRSacUq0Vp 0AjqbvQqH+DgiglDb8HiMFim1WFD7iBA+ha9pPJb2qsf4C9ed10FrjgLXsmIJ5LfWQXk7D OebfQQhYNsFGtb8Syc4qYfaZZgckziANarDzAksq9c49Fe2iQJ7se4WVhKvc5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ARzkSpetf/3q8bE4JXqJaVyzXWlmIcH+f3p3AJ+DEhc=; b=bxx5DhuAkq7ALwGhpnOzGs/DuxkO89QOPNBdOTbD7OA8mR4ddTY7IKsWSSFD/Zs/X9yl9b 3fzcVq+As5Yldba0pvRxGHeWE+nT7V1dm01/p+eDBfne9WQnyBLhLaL39fqnTVLF3zHvZc mbWp9d4thwU0EMmO40EnycOnWxKBceA5ddw9K6DDyanKsxe3HqhQYaLkHHND0jW9hK/c+9 K1flgY8huo+A0G00O0i+FKJZ9Bg4cCyjRRD42/3hlSHt7Ch2Y0hRNA0pk7vZR/y/xWzrsN ue1VMvujfHAVeHwLuBdjCAQ2U8FzfvI8lxmr0JB/9cSZNre5XlXAzK8wVBQyKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730349837; a=rsa-sha256; cv=none; b=nL2ms2PfPtnfDsd2jQuir0A5y31tb1bnQVc1YbgundbYw+TVDo3Ysr12tPo+nbdVjPkvNf w+JbI0Vi5n2EExQaUPTUE+aRoj30gIW826dT0hp+aKGwSOlJpMRnewn39BIOKgEvigeX8Y 1zgeFwR1hiYswF1y0b4JtU/x/W/r0xwMZiALYkFmAqtWw3xPtseAVLB3JyEzgZSiFydNmS D7iRYb9XPtzrhYAIeY9rK5ZtO4rqp5O0kGS3kMI5G/AexuoPCf+CIjJ+I7wxMLv/4nr5Ep 2S0mRIRcYggReZlBXHiAq1RcylLpCVH1P+qPNxXEoqXV5ViYLePdEX/qegNFpg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfBGN6TjPzMQd; Thu, 31 Oct 2024 04:43:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4huCr006688; Thu, 31 Oct 2024 04:43:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4huGl006685; Thu, 31 Oct 2024 04:43:56 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:43:56 GMT Message-Id: <202410310443.49V4huGl006685@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 4d2d1e824bc5 - stable/14 - arm64: rockchip: Remove a stray semicolon List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4d2d1e824bc5f8bf5e950ae42110e708a0cb5b19 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=4d2d1e824bc5f8bf5e950ae42110e708a0cb5b19 commit 4d2d1e824bc5f8bf5e950ae42110e708a0cb5b19 Author: Zhenlei Huang AuthorDate: 2024-10-24 15:04:48 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-31 04:40:17 +0000 arm64: rockchip: Remove a stray semicolon MFC after: 1 week (cherry picked from commit 88b71d1fe054f9baace237494d22288256a7fca1) --- sys/arm64/rockchip/rk_pinctrl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/rockchip/rk_pinctrl.c b/sys/arm64/rockchip/rk_pinctrl.c index 02017258dbe2..0d2130b6ed83 100644 --- a/sys/arm64/rockchip/rk_pinctrl.c +++ b/sys/arm64/rockchip/rk_pinctrl.c @@ -1192,7 +1192,7 @@ rk_pinctrl_configure_pin(struct rk_pinctrl_softc *sc, uint32_t *pindata) drive = ((1 << (value + 1)) - 1) << (pin % 2); - mask = 0x3f << (pin % 2);; + mask = 0x3f << (pin % 2); SYSCON_WRITE_4(syscon, reg, drive | (mask << 16)); } From nobody Thu Oct 31 04:43:59 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfBGR3d6cz5b432; Thu, 31 Oct 2024 04:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfBGR1lgwz53Wx; Thu, 31 Oct 2024 04:43:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FS96TR8dSQIizr2DGdhgTudz8ngyRg60GpZiTpsw8L4=; b=E2q2891ObEyFpZPngfvPg8RDyS4Adt/YAO6aX47YR58WVjTYGMZnDInQwKHHqUOOET03Ae Bi9zOVOpeYL/LItacjy9nIJNfSbOVlDG0hiXFipJbYTDIJHbOcrcEMiCUEgR0d2kp5TVs/ kIUckjRZp6Eb0gnUPKp1jfB+YbwATQBV66CfKK7W9FN/cYUEIf9f1B0hkhulI4iAYjchr0 PSTvBc2jKJJt/buBBOyVTyjjNpnCGRP/pQ2yhLptrSFZdbgPni+uKslrXEapTX+s6vtiNL rIxyRxV7sYfCJ9VcFM4CbzarVvgQWbenLqiAFhGnTo7KtCYtDMqfK4uME2aL0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FS96TR8dSQIizr2DGdhgTudz8ngyRg60GpZiTpsw8L4=; b=PUOkjG+HlrubxkDhPSHAK+rnsz78sZU0t86X90x9WmWOG+iRJ1XPxlJ59hoVICoG/b4BPw ldCUCvhpnpIUX0fZWk18e/bDlchgJYr8Sd7R1ko72TkuD3QFJzcm6EQJAAhEA7X1zFbAy/ IdpFs6WfH7ONa36Th96iUtn2eFAY3xzds4Mb7lxmyO5k8BcxeR44iZ1mmYDEx8f9x6fuPT Vf6uE/DMuK947r8NlUpqkAsNZYeEkcVv13Zlijr7iS6inDovchTJ5cPWXmi3oXh85xjFOq og8sMlRGSS8J3clwe97B8giRxF2uhXJzVCRmR9VBjDZn275dehuIwE6Y1PPJ3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730349839; a=rsa-sha256; cv=none; b=I1U86N4o40ADJ7S+A2DgqfBqAHAmrH1Y7nUkFzcwQyCqPEsfCf83PFeZ2tuqY487jt2fmu PrOqruURAxy6ns4DT5Q4fxu/0P05kA77DgJC4D4OlFeQ8M4G7tuaxK9FF/QJeES2p9AmRo hGojGXQ7Mq5RlLEnn8EEATxuwcBFgwjwuEYVhCVEUnMwdtzG0tczJB4HJrZlfCJ9anTGvz 5FbYi3mlnwG0dK6xRG/paYQ7KLtrAdUL14TFwBW2a1CiH+/tNvRMNh9Qev9S22fCEWdRRQ xnFa1Grb752FgQtMDtVTBiNdytPPyLiVzRk6QUaEsb6jNLECxCz38UzBe+t0hw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfBGR0g7tzMQf; Thu, 31 Oct 2024 04:43:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4hx4g006772; Thu, 31 Oct 2024 04:43:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4hxBg006769; Thu, 31 Oct 2024 04:43:59 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:43:59 GMT Message-Id: <202410310443.49V4hxBg006769@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 88971439fbe0 - stable/14 - enic: Remove a stray semicolon List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 88971439fbe02b8ffd129c1cc78094d2278b95a8 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=88971439fbe02b8ffd129c1cc78094d2278b95a8 commit 88971439fbe02b8ffd129c1cc78094d2278b95a8 Author: Zhenlei Huang AuthorDate: 2024-10-24 15:04:49 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-31 04:40:17 +0000 enic: Remove a stray semicolon MFC after: 1 week (cherry picked from commit 75ff90814aec7a68e719d326f8dd0a7e1d0fc66d) --- sys/dev/enic/enic.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/enic/enic.h b/sys/dev/enic/enic.h index 6d0eb8563efd..8c2212726548 100644 --- a/sys/dev/enic/enic.h +++ b/sys/dev/enic/enic.h @@ -228,7 +228,7 @@ struct enic { /* interrupt vectors (len = conf_intr_count) */ struct vnic_intr *intr; - struct intr_queue *intr_queues;; + struct intr_queue *intr_queues; unsigned int intr_count; /* equals enabled interrupts (lsc + rxqs) */ From nobody Thu Oct 31 04:44:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfBGV0ZDDz5b43K; Thu, 31 Oct 2024 04:44: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfBGT35sVz53cf; Thu, 31 Oct 2024 04:44:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HFPd7W8HvN0isYIxTZHRXa4O8WrxKyPWt3N7l6LQoQI=; b=ASk1p7mB2neGulLhWi59j8CEyWTn5jIwW698pNMYRRrIbqcH7BGUm9YKZpVbq78+/2D4tV d3UF6ZLLetxS7IQMaIymcejK+S9CFCTsg+yMxxJJ1RYcLyqSLhoVISNoX+DJsUZLANTpez MYEju/dOdA06xYLRSBbAl1ILzl7PQ4zVbMdY6peJhZNoIqEkkjjHYEZX66l+hRQfl9eduL kjFd8CCXofHUiWtoDJIcfPtiVNL7Iq6qMU1Mmpk+NkMyA8mfxvS9rqh3Dxj9g6lFX+HC1+ V1FrN6ZIuMrfAY9Z3BLMDKmBuUzpzEVkM4uge+DBbn7XxHgHq6NlnHgAs5Orhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HFPd7W8HvN0isYIxTZHRXa4O8WrxKyPWt3N7l6LQoQI=; b=cE6hGyvtEQCEKXnrGpjU4CbANU8cwJI/RwNoHoaHm4L1Sp9HNfEcaEfk6+kDq8oGRpdo7a DiXG1wkMzBN2Mgqpa3GpAb/NR7CkgkcIi9YWvWNyZssbHAoSPKI6hyhcy7o5ynlBMUClb+ 3iahMKW0VIMBRySF9DWe3VRajkKUUlkQk/AFwzqBW5cikfz7ZyWyLHHkP7GAB6lLUhSLAP fXtW6MWnM/9Wbr/WaAccRfGIq93/WCY36Fq4AerTWxqtlbhhLTZ/uJo34VdEBSwZDibJhz Y7eMbI53PPcl+maLTpxkNPZSScnxw/FtpArKaiIUWDLabYFiiE5xeLbBP0gsJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730349841; a=rsa-sha256; cv=none; b=qFVvtHd7ykwwyXH3CaAjmcd3C5UhcixUUGGuG6x2CajhHbLyrWZQb5F0p1+sHKvLxGO5Ph e2eNu7TunTSM7AGpZuoaMPF1dGf3+P4EYGcjJbUw3NCUaPsYLZqb/OR/IK2Ig0ljMpkgqE yX9Q1tYP8LnhznYUbZkEF0dAd+BTBt+4y9MFzW5I1h82xEej133kIGxdA8/uPdmnM4cneS lItUlWdV2H8R6/kAZeDuREVtAS6eulwHSP8n0mAHrZYkbY7Rzq5BEAdhUs33WCDUyXYYrI CDM7+VXAbScrmWVS6ARW/0GVzLwT2E60OmFVvvdYQt9cBoDwtjfVu2U7YbFWqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfBGT2jHFzM6j; Thu, 31 Oct 2024 04:44:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4i1ka006891; Thu, 31 Oct 2024 04:44:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4i1Ru006888; Thu, 31 Oct 2024 04:44:01 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:44:01 GMT Message-Id: <202410310444.49V4i1Ru006888@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 1d8eda2e3255 - stable/14 - mpi3mr: Remove a stray semicolon List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1d8eda2e325502bd0a6b3020cf55bb233d52b301 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=1d8eda2e325502bd0a6b3020cf55bb233d52b301 commit 1d8eda2e325502bd0a6b3020cf55bb233d52b301 Author: Zhenlei Huang AuthorDate: 2024-10-24 15:04:50 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-31 04:40:18 +0000 mpi3mr: Remove a stray semicolon MFC after: 1 week (cherry picked from commit 86a2c910c05c65d1318aef81ddbde8ac7eab79b9) --- sys/dev/mpi3mr/mpi3mr_app.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mpi3mr/mpi3mr_app.c b/sys/dev/mpi3mr/mpi3mr_app.c index 384d0d6fe178..f0dee22518a8 100644 --- a/sys/dev/mpi3mr/mpi3mr_app.c +++ b/sys/dev/mpi3mr/mpi3mr_app.c @@ -2068,7 +2068,7 @@ mpi3mr_get_adpinfo(struct mpi3mr_softc *sc, adpinfo.pci_dev_hw_rev = pci_read_config(sc->mpi3mr_dev, PCIR_REVID, 1); adpinfo.pci_subsys_dev_id = pci_get_subdevice(sc->mpi3mr_dev); adpinfo.pci_subsys_ven_id = pci_get_subvendor(sc->mpi3mr_dev); - adpinfo.pci_bus = pci_get_bus(sc->mpi3mr_dev);; + adpinfo.pci_bus = pci_get_bus(sc->mpi3mr_dev); adpinfo.pci_dev = pci_get_slot(sc->mpi3mr_dev); adpinfo.pci_func = pci_get_function(sc->mpi3mr_dev); adpinfo.pci_seg_id = pci_get_domain(sc->mpi3mr_dev); From nobody Thu Oct 31 04:44:00 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfBGS5yCNz5b436; Thu, 31 Oct 2024 04:44: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfBGS3y87z53cK; Thu, 31 Oct 2024 04:44:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qnHRrPSEKBr3KvVESdfCY5t7br2u8hrVT+HlSbuPJ80=; b=n/4/pmlGhkvNYHgTLI4IXiMa5gzLjzVSNV5i70vhDO4FH8TTRos7wTgZoTvgreyTbVMvCx tEWZLRk6rm71JBJ6/TiHSWqiHAOCRS77vIC15TNDUO4MC/fxMudUcamhYGpsJcBvQDghcP fK7a9aQhSIxhbQaL7v8U7ciGm/N+dhr0tm2ks3NEKbl+/d7lXoNze9I5Z56dupDZ2BIv/O heaCQLngtL/UvAjMI3Mu9EGVFpW2winTaJ9DlzcOPamiLHs0Lb4pgq7am4oSnHTyQKILSX P/rBEZmjIEfVtZt2ueSehBiVW/2kyc3p8/8Zee5MwJo8QnXBc285xRbuJv9o8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qnHRrPSEKBr3KvVESdfCY5t7br2u8hrVT+HlSbuPJ80=; b=uPRQI8eW0H7l0eiULCejlBlLYS52aAOOTSIjsftsA54bWW1nKm6Tw/y8u0azhR1k5EPr5r eflyC8xFsO8NeqZ1eOHVK46wg2HWCKruf+9putrW8jzbbf5gcR5Vli8mWi9ocNrfHu7d8B bwIHEU6zqUxiNHocI4bwbgb9sAnNbXjTzafahKcwcyKBXEX1aw7+B2IchyoTdz4QH62eyV 6y33IOJ/xlMiWmNlTLylIzpYGo0pCtasEZT7mVzH1rQ/zrqeuJSZHH2U7Tp5GcKdzR1u0n Y9yhDCBamQkDjiZyJpgXheo0X9xFN9wyJNKd6kxpQH6NqwjV6VhOsTAjhaGkSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730349840; a=rsa-sha256; cv=none; b=SaUEE3c2lTQFFy6bnez3tcRqjH+GfWfIiWcnNxx8KB7EjQj62sn1dlv2PDeqCSSA9X0zqs B2SvfbgmwSR91mx/UCmvVSHMOLe2AsMeRSWjUAXTvXl3J7RflWxNk2tVIK3W7ztFqLnai8 dvjC2UlTDq4G8n13VY1MWPs7GEU1/E+5Qhv4JBP+E2pgcBzCu4jESjd7gTyD1s9PodmAdF wjIF+VHQdFrCp9+qFujGi/UNinz5kJdFujTShHBo3gCxCP0EXZPCS+N/FlrmiUreL8xSyL UqplvdDJyXkUavUnv4RL6RQ9veZBj/S1QWaxtVcEeA5C0O5st01Td7Bhg8Sxvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfBGS1hCFzM4H; Thu, 31 Oct 2024 04:44:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4i05D006844; Thu, 31 Oct 2024 04:44:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4i0n9006840; Thu, 31 Oct 2024 04:44:00 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:44:00 GMT Message-Id: <202410310444.49V4i0n9006840@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: e96a62ea658e - stable/14 - mana: Remove stray semicolons List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e96a62ea658ef65f820c9e0b6f6e3ff514dc667d Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=e96a62ea658ef65f820c9e0b6f6e3ff514dc667d commit e96a62ea658ef65f820c9e0b6f6e3ff514dc667d Author: Zhenlei Huang AuthorDate: 2024-10-24 15:04:49 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-31 04:40:17 +0000 mana: Remove stray semicolons MFC after: 1 week (cherry picked from commit 6ccf4f4071c5bf85a9aad593e92d1623e949c039) --- sys/dev/mana/mana_en.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/mana/mana_en.c b/sys/dev/mana/mana_en.c index d5efb071a07e..90730bcd70fa 100644 --- a/sys/dev/mana/mana_en.c +++ b/sys/dev/mana/mana_en.c @@ -1426,7 +1426,7 @@ mana_poll_tx_cq(struct mana_cq *cq) uint16_t next_to_complete; if_t ndev; int comp_read; - int txq_idx = txq->idx;; + int txq_idx = txq->idx; int i; int sa_drop = 0; @@ -2114,7 +2114,7 @@ mana_create_txq(struct mana_port_context *apc, if_t net) mana_dbg(NULL, "txq %d, txq gdma id %d, txq cq gdma id %d\n", - i, txq->gdma_txq_id, cq->gdma_id);; + i, txq->gdma_txq_id, cq->gdma_id); if (cq->gdma_id >= gc->max_num_cqs) { if_printf(net, "CQ id %u too large.\n", cq->gdma_id); From nobody Thu Oct 31 04:44:02 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfBGV6qpTz5b49p; Thu, 31 Oct 2024 04:44: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfBGV44ZXz53lH; Thu, 31 Oct 2024 04:44:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sirrAJCF/MwM/XGeLf80ozT9iZRHm5AcCoJkprs2FmA=; b=leH8PBuQ3LmLwbtB5toIkdS60+cD0/JKa8EADBvabVRRtt+Xl2QENktHYbDwA2fh2IpMjv Z9cJxMcoLCAAXI4vXauHSY7ksShEkMctjPiPIT9cTp3NTVzbvTJrhUZYlHBr38ncGfiYIb xoa8fT5z73XarpqXLzy8DZgHq2f+8f/yhkUd+6ftdE4LMkdga9Be2r0TSB9RCzHtAjvlqK uNZGoxzm67VRl08xHU+egsu7hIsRgBLDfeziUakA5i9evTYpg8eEbUY5WeR1ICH0nzlIZw G5TzvY0sMGVad8mnYJugWjD1Ba5IB+hu4iu2Uw4fCQsQefLFT7PVKY9LKwLwkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sirrAJCF/MwM/XGeLf80ozT9iZRHm5AcCoJkprs2FmA=; b=xpQjOy595BIiDWBBRzaYux+gqjw86quHf7kHbnjM4qh4SrXymegzrHR9G6FBCO3u+pQU6c 9sxV8eLRgXevv/+0B+koQcOh7qrA2CacdterZIEa77PsSruK36m/CHDIW3Zjie6RWqY3Ma pLvpYGVTJQJ+/i/gHJErZfWLdOni2wpyajZVh3rlEVYcALA6VoCBXN9e1l0Z2ASIBHVnRE feB0eaj4Xw7O4PP6kbqKf6HkZ1EvkQa/174wOxFkpB7VOeEvnOFbL7SBeS/hRTDajGxpps AfZLVqQqVzz3vgsdhjJD+aTBkfJSry226rpJcMidh+KMJFt3dPmdWmik/jzmLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730349842; a=rsa-sha256; cv=none; b=geaEU+GG9u2DSo8DNtD/Wld8xa/sJx7UNPbR3NkS+MuL0BzHgXRclIITbw3U+ptEx1x498 QuNvS7ffSSpDVaDivNqmub0Von2yQqqvBfEAZklytW6UnH8ep9G1bjn2HvroQPHwfQI8ct 7U5a62m2PHgFPg5/qJ5/ChcelaaN+jgRLh9tEln3kSH3UDMB+C3MHNjyXshYODk9kJJFcy 1pcbgUUth/CKGTdseQctw1uhC0A44x8+BCP05URSc7aDO66rXnfJcbeAH5fakQxg23HV9X CdJS75lnzBRLedwM+G75MZG0K9vmubtD6XtPxXlvn1FMr+sEWNebAkt8ScNRBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfBGV3gVPzMP3; Thu, 31 Oct 2024 04:44:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4i22c006933; Thu, 31 Oct 2024 04:44:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4i2PY006930; Thu, 31 Oct 2024 04:44:02 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:44:02 GMT Message-Id: <202410310444.49V4i2PY006930@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 02e61e1d9e02 - stable/14 - ocs_fc: Remove a stray semicolon List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 02e61e1d9e02cb76706d4e82b5f56df20f9802aa Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=02e61e1d9e02cb76706d4e82b5f56df20f9802aa commit 02e61e1d9e02cb76706d4e82b5f56df20f9802aa Author: Zhenlei Huang AuthorDate: 2024-10-24 15:04:50 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-31 04:40:18 +0000 ocs_fc: Remove a stray semicolon MFC after: 1 week (cherry picked from commit 36756195a342dbfb8fcfc7561b1d656fc6310d05) --- sys/dev/ocs_fc/ocs_hw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ocs_fc/ocs_hw.c b/sys/dev/ocs_fc/ocs_hw.c index c368e09aef8c..62ef3cd49be3 100644 --- a/sys/dev/ocs_fc/ocs_hw.c +++ b/sys/dev/ocs_fc/ocs_hw.c @@ -12192,7 +12192,7 @@ ocs_hw_set_persistent_topology(ocs_hw_t *hw, uint32_t topology, uint32_t opts) param.persistent_topo = SLI4_INIT_LINK_F_P2P_FAIL_OVER; param.topo_failover = 1; } else { - param.persistent_topo = SLI4_INIT_LINK_F_P2P_ONLY;; + param.persistent_topo = SLI4_INIT_LINK_F_P2P_ONLY; param.topo_failover = 0; } break; From nobody Thu Oct 31 04:44:03 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfBGX08bcz5b454; Thu, 31 Oct 2024 04: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfBGW5Qcwz53ld; Thu, 31 Oct 2024 04:44:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p1L4UflnNKb3XL0BuJ6/IM6AJO9YDXWX6vMx0tfAYQw=; b=kXv4hHbNyMXTumwThN/WJFrlBI+yziuLIwNPMKmqUoPmGjDpG+czFxVpNuij7v84mTH060 +KrYY5QUBximEGeYDhA8S8gEl36TyTNEi1bRB8fFQshPILSlRZ65j3LtP200BjzENQ9L6J nFVBKuwTt8UHOhOO9ED/i8DiUIk/jtpEIlsbAepeyf9ZGPDCc2QmUTvTitGEK5zKiQYPvq JxPXzJbOFGDsreyNDe6I0KWnosa5GBzCHChzowDsF8HCqJVD3nU4EJxxer4uElwCQdvNtT 2xAyhjTWJWrjLR9+MGxYkFQb0gjaz4ci8/wAl4VI9+1D+mjUS4ngYx9m1mCxtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730349843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p1L4UflnNKb3XL0BuJ6/IM6AJO9YDXWX6vMx0tfAYQw=; b=JklkV/46G4jea0Zf2Nu33paiL1Dwkeg8UwtH12SuQDI3T50Noz7yyGfiav5O4vx+hNEyow NbFGs4QIYzmOOOgkYpudOxE21ojyc+2wdPeaTf0zLPPuUwX+pI3Q1ZOqyNNYX5l551kwGL 5zxLxWYZS4mIiH//i2PVjfbTUi8HtztBTnRp1M36dxl6AVHsBixUVoCdNLvTjz4TumDNob dJTQODUatzOT9uT+OrPmMIF8SQb/IrAyDbKziUKZhiQcANZvlj2+8bL/yPuOwy0O6eVCyK jthip1iov/dmv7Y2fidzCjDjtqQWahLzPLHgSPPavYktBe5X2esNOL68XmWOnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730349843; a=rsa-sha256; cv=none; b=nObrXaoS+ILghKSojnT6YbHyUepNukzHRFRVVjQ6wlIkc1Z25xNfIYsAJqvoaKzgIMA+sC BB6d7NKAyvYHoFfLoZN5tFHK2GdRvg04LoEMUqpa4a8IvQF8+sQ+8H62sPMXtXQRR9e3/p S7XQT8zmDOalmsHcWEMnUCvyU4ToeReHo7jhem16T0UYPlVu0M4NWCYL+j+Qi7FqjsezBJ gATDtb02S3ts/9OWPW6aVM/N5tY29EghdQP26D8B74ppYxkDhAPK6H6yo22Hn8xbhsHetX ol88liD7l3FqrngeaEiLJq98BRC89ZdPn+Pec3gdR9TtgYlsUSZRFOw2fLwskw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfBGW4rNRzM1X; Thu, 31 Oct 2024 04:44:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49V4i3Rq006979; Thu, 31 Oct 2024 04:44:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49V4i30r006976; Thu, 31 Oct 2024 04:44:03 GMT (envelope-from git) Date: Thu, 31 Oct 2024 04:44:03 GMT Message-Id: <202410310444.49V4i30r006976@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 1821145f28e9 - stable/14 - tcp cc: Remove a stray semicolon List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1821145f28e954c82654ba8cf67c9939fb136d39 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=1821145f28e954c82654ba8cf67c9939fb136d39 commit 1821145f28e954c82654ba8cf67c9939fb136d39 Author: Zhenlei Huang AuthorDate: 2024-10-24 15:04:50 +0000 Commit: Zhenlei Huang CommitDate: 2024-10-31 04:40:18 +0000 tcp cc: Remove a stray semicolon MFC after: 1 week (cherry picked from commit 2f395cfda8b5c1dc267e9cd4d99d7d0862fb4fca) --- sys/netinet/cc/cc_newreno.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/cc/cc_newreno.c b/sys/netinet/cc/cc_newreno.c index 903f0b7761c2..08c0d2dc1b7b 100644 --- a/sys/netinet/cc/cc_newreno.c +++ b/sys/netinet/cc/cc_newreno.c @@ -373,7 +373,7 @@ newreno_cong_signal(struct cc_var *ccv, uint32_t type) cwin = CCV(ccv, snd_cwnd); mss = tcp_fixed_maxseg(ccv->ccvc.tcp); nreno = ccv->cc_data; - beta = (nreno == NULL) ? V_newreno_beta : nreno->beta;; + beta = (nreno == NULL) ? V_newreno_beta : nreno->beta; beta_ecn = (nreno == NULL) ? V_newreno_beta_ecn : nreno->beta_ecn; /* * Note that we only change the backoff for ECN if the From nobody Thu Oct 31 13:38:26 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQ7648jbz5bjNr; Thu, 31 Oct 2024 13:38: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQ763gH7z4rV4; Thu, 31 Oct 2024 13:38:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730381906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dIumlZj5gi2uIf0uGKyUryGUpjhWJSWEWCcslvSUcNk=; b=cVRmBJrM32+tsaWuqg1yCToc8IkbXq5zecrRfOJH9vFT41d0jxk/QIWPnD70u+EtYm/Uq/ M07asxIZAWj/GSw3O9P4bupU7g0YCk7uxy8BFbq0KZjjaESW6pbKW267zJw/UNhKe4NtOU 1AdbJgPTWdkhamPdmoUJ5dAIpwMgnGv80XeK+xjREn12oUtjdv5g5/pwqNLYr7hR4zw1sV PgnI/mUmMHr2BBN97iLwQ2xA2bbShAazYyVLJj1QUEo2GBRNtuiIATRTfJZes2C3ZdFBUR uFUT1qNGX1HcelKKlvwMENM6lKTVgmSiNXc9jmNUq5jTXI3YS2rceVaR6C/6hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730381906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dIumlZj5gi2uIf0uGKyUryGUpjhWJSWEWCcslvSUcNk=; b=G1/knfNLSfKdT8HkW6FmTSlFJ+R8jCO5rfm/rNZ/xaZ8kVh00oyKJ2VaLtxE8JV1iIpQA8 VOU8XMQJtGCHrPVnbVMbas5jbcWOAv9g5uneBpiU+Nww2Jenlfod+iTXMRG4/2/9MjUNZO am9eC2UQ8HKb3N0qmJYXL1EgV3ldHLOm6H2ifJ6CyNS4OZq+eHHV4IKhNgsPVHv0QVmuvF JOCYiAknqI2VQ8nP1fruIaTJkJlrSrFwPeaGSaRpExGbWvHRWxgxmHa8b+Lq2iA/kB1TRV 9WMhin6p2i5LS0/Z8xwynTanD5gjxoJyj2fS9bJKVBB2XWPppf6JDzxxy2JY0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730381906; a=rsa-sha256; cv=none; b=Psx2pamhjTr989kzaqJ7qPZ2RE+T6QehYPg75BoQceKO3QprrJf54wWq/e/T5Icj6m6FW1 TLTKG6ShOHd9E4ef/GgaX1BVM7knPk+wWZIjz0x8dtzaWXVQZsf+gFkyMUOgPk8rDbMGlJ 5i41u9eWCHlgPzDW5ki18WPAEp+RP2hAeBNvjZ5arrvfhib3bisQXzsuUzun34vdhwTa/X StO3db6/ILpNF8jcypGiGvD4suUvdEcb6cx/m/lNtZNg1uUf04X0hR8ykZHNAJPYffArX9 457f9LAuCYM3y50zHvxbNYuQmU+ipHB8mw0qj0BMzB6oZNawWz/gqq36lKc7Ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQ7638R9zdfg; Thu, 31 Oct 2024 13:38:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDcQds092352; Thu, 31 Oct 2024 13:38:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDcQFk092349; Thu, 31 Oct 2024 13:38:26 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:38:26 GMT Message-Id: <202410311338.49VDcQFk092349@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 2e45166856e2 - stable/14 - tcp rack, bbr: improve handling of soft errors List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 2e45166856e271f8a981a2c6c35f4738321851fb Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=2e45166856e271f8a981a2c6c35f4738321851fb commit 2e45166856e271f8a981a2c6c35f4738321851fb Author: Michael Tuexen AuthorDate: 2024-08-30 07:26:41 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:16:29 +0000 tcp rack, bbr: improve handling of soft errors Do not report an error, if it is stored as a soft error. This avoids, for example, the dropping of TCP connections using an interface, while enabling or disabling LRO on that interface. Reviewed by: cc Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46427 (cherry picked from commit b2044c4557443bbce974101f04e2b465d1bbe769) --- sys/netinet/tcp_stacks/bbr.c | 1 + sys/netinet/tcp_stacks/rack.c | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c index c1bbec3800fd..2c737360cbe4 100644 --- a/sys/netinet/tcp_stacks/bbr.c +++ b/sys/netinet/tcp_stacks/bbr.c @@ -13837,6 +13837,7 @@ nomore: case ENETUNREACH: if (TCPS_HAVERCVDSYN(tp->t_state)) { tp->t_softerror = error; + error = 0; } /* FALLTHROUGH */ default: diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index 35ae371a082e..8cdb6e1f9efe 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -22473,6 +22473,7 @@ nomore: case ENETDOWN: if (TCPS_HAVERCVDSYN(tp->t_state)) { tp->t_softerror = error; + error = 0; } /* FALLTHROUGH */ default: From nobody Thu Oct 31 13:39:35 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQ8R5qvvz5bjFp; Thu, 31 Oct 2024 13:39: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQ8R5KH1z4s8L; Thu, 31 Oct 2024 13:39:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730381975; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uCSRSDgYoWVdsUTM9QvM2Lug43i94hdURfjS13RxwvU=; b=m95eVMLCLmHltDc5oTj6xKUMLkTiH9l/DUdROPixHWA7NRvZqO7/J79szsbr0Zx8Nbc2UQ KqVRZNNAujoGjvnjRsOitReGmhOtCAG9Ng8mGnuhkVHHXIhGVpWorrggkF4Q6Xtq2jQBp7 hC7lTUwdKxdyDZFd2E1TCCUoiwYyeawg46TJqsogNXJfSm6bazfhmgb3N/5BBczT1ieK8V hdPOMfn2mDS7P2vrcJKVvL80Ze9t+e9DtpiU1czicHFbdin3m/Q6WtBb0UmmYC1dSQU1lh kyfOv1P8qVpmD98TTE6LMu1XQLAua6v8Ds44bB169uvi0QrbbA/ltsWOH7HdQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730381975; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uCSRSDgYoWVdsUTM9QvM2Lug43i94hdURfjS13RxwvU=; b=A0z2DslryY9CjB9Cg7R9LdzFmKthpbd7qqbAGryzaoVhbYkEGhYu+rG2UQlBLeSz9fzyIV lsz/qkTu72FWSfCxigoW1eyqPjYvqtCAoxWuutnkLYpL4ntqP6wQoYJnGn/qIGNpNtnV4Y pjQ5YIwza3JTT4HZ/p5RA8LEZ2ricXlID4vADk1liAf//aO8OHrgXxJDfEp+yJENf14D4E 0HI4GwWoK0VFJDKypKNzuoJbw+NOQWMlXEtjjarbMZTmuahBo0G2JFCGEPI0TlAPTmxXkg +hy2VJFexeXgvV5/m29Ob5j2Wqrxe5Xkc2LvuxBBnQptuPiBz9REXl+AfeMK6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730381975; a=rsa-sha256; cv=none; b=ImPmZjBM3gr/cScJxt0DYH8gzZZv8e0OfFdS7xlwp63hLqZ5WRUyBgKAkL9nM7XYnHYfE4 j5dSwD2OOrj76kbUwRL5pyoqjDlwv2MORR8qbZe/n1m//XNzW9PlVPvCmrSWGjklDoGE28 PxmThS8EbXEyVIf1qMmAm/Ia0rtecXWJPbvRSBNwv5k6V04wHZoknnpcVDC5+NlGg0IN6A ALPimd6mAENApXVFnP/6mGPOPR18ypJphqgXsbG2eu4YY5x8CSnoStTBccQKU1tk5A7VO5 c92mnR85W6lbpOZPd8IeCUvIEC9/3oMbGN2ieipDF9KzMey1VNFIaUfTpnSioQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQ8R4cwjzf3V; Thu, 31 Oct 2024 13:39:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDdZ3R092804; Thu, 31 Oct 2024 13:39:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDdZxI092801; Thu, 31 Oct 2024 13:39:35 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:39:35 GMT Message-Id: <202410311339.49VDdZxI092801@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 003f1ebcbce1 - stable/14 - tcp: improve consistency of syncache_respond() failure handling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 003f1ebcbce10775ae7d4dd631946f9bfec983ab Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=003f1ebcbce10775ae7d4dd631946f9bfec983ab commit 003f1ebcbce10775ae7d4dd631946f9bfec983ab Author: Michael Tuexen AuthorDate: 2024-09-05 01:33:13 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:17:53 +0000 tcp: improve consistency of syncache_respond() failure handling When the initial sending of the SYN ACK segment using syncache_respond() fails, it is handled as a permanent error. To improve consistency, apply this policy in all cases, where syncache_respond() is called. These include * timer based retransmissions of the SYN ACK * retransmitting a SYN ACK in response to a SYN retransmission * sending of challenge ACKs in response to received RST segments In these cases, fall back to SYN cookies, if enabled. While there, also improve consistency of the TCP stats counters. Reviewed by: cc, glebius (earlier version) Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46428 (cherry picked from commit ef438f7706be48f1cf7fd4c8a60329e1619cfe30) --- sys/netinet/tcp_syncache.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 6e71d14196f5..b6318ec23556 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -535,10 +535,16 @@ syncache_timer(void *xsch) } NET_EPOCH_ENTER(et); - syncache_respond(sc, NULL, TH_SYN|TH_ACK); + if (syncache_respond(sc, NULL, TH_SYN|TH_ACK) == 0) { + syncache_timeout(sc, sch, 0); + TCPSTAT_INC(tcps_sndacks); + TCPSTAT_INC(tcps_sndtotal); + TCPSTAT_INC(tcps_sc_retransmitted); + } else { + syncache_drop(sc, sch); + TCPSTAT_INC(tcps_sc_dropped); + } NET_EPOCH_EXIT(et); - TCPSTAT_INC(tcps_sc_retransmitted); - syncache_timeout(sc, sch, 0); } if (!TAILQ_EMPTY(&(sch)->sch_bucket)) callout_reset(&(sch)->sch_timer, (sch)->sch_nextc - tick, @@ -696,7 +702,13 @@ syncache_chkrst(struct in_conninfo *inc, struct tcphdr *th, struct mbuf *m, "sending challenge ACK\n", s, __func__, th->th_seq, sc->sc_irs + 1, sc->sc_wnd); - syncache_respond(sc, m, TH_ACK); + if (syncache_respond(sc, m, TH_ACK) == 0) { + TCPSTAT_INC(tcps_sndacks); + TCPSTAT_INC(tcps_sndtotal); + } else { + syncache_drop(sc, sch); + TCPSTAT_INC(tcps_sc_dropped); + } } } else { if ((s = tcp_log_addrs(inc, th, NULL, NULL))) @@ -1559,6 +1571,9 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, syncache_timeout(sc, sch, 1); TCPSTAT_INC(tcps_sndacks); TCPSTAT_INC(tcps_sndtotal); + } else { + syncache_drop(sc, sch); + TCPSTAT_INC(tcps_sc_dropped); } SCH_UNLOCK(sch); goto donenoprobe; From nobody Thu Oct 31 13:40:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQ9P5Hb5z5bjFt; Thu, 31 Oct 2024 13: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQ9P4kSqz4s7M; Thu, 31 Oct 2024 13: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=1730382025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oIxoG9nLUC3unN+GGMEZY6w0QVuFqNMYZ/4/kwybXu0=; b=Fp4OysvN7jzEZHoGivLE4Fw69id1wWhStyET0HBUHYqZ7nhjAckjiD8GVmRaRd9TRbc6If wOJqYdfWeKQhlilWngxq8j+MMhRygoVVeW5cto3aBNAvF4KY2RAg3yUSsCvY3g5x1f6+kb goFPwtyR5kZtIXeNOdXXZHx1Vzt4T/PVjlaFmHa8mkluGsmTjaRfA1GwzggI4bC+sncELl 7uxWLO+/qAg1dABl++cFAPBrP/CGY6h04qRLFIA5aC72X9+uV33XUOdK+ZJ7gYe7YtCojr x0ZuehI2dIqk4HLDG979Jz3d+KU06VO3VpWDefXTa5kg4vadmu8QIaSFub7v9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oIxoG9nLUC3unN+GGMEZY6w0QVuFqNMYZ/4/kwybXu0=; b=N3gl2yGp5TyzuQU/eO+sGTGMuWLn2td2Q358cLz5mELR+J7PgVCNFyS/A0ILOEqQzzib4R C5c7oHPNKUzTot+3JdMyhNWSecBYWolcJqPcpx34fMkcW9JJFyxfY5ZWNuut+7HjYYcYyr esAWddDOHlhrmEQW0KhTbhq9FOV0flN8ELPmLZ7gL+6PlITQduQo7/dht30F7j/D1Guk0H SIAqbeJvbI9dDxjkeTYVMLL1LrCtEfrFRhgjemR7XjMcDExKZ+4jBAMlmos8WkESv84pQ6 WmWwG74cn2fhT2+RPRqsmOZMlIyS19eauHKWycKmw3k5dF3KFvWbWBjPSDrz3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730382025; a=rsa-sha256; cv=none; b=TndFptNhIlvPdggkAKJp+4MerRrOL/TvBijh7oHWlmSctjUtwzY8DuFPe4GXIRtTUTDS6J 3GVcbeKYN6JS0FXkEdCFJNWKr0WyMiEktgcf14KR1PE4/m10Q3MB8fqkW6rqYAJmlH9xwj 4WrHL3c/tb0bzc4ahMVpPT37inMihHWgBnn0X20Budf4zM9tu03Zd+3YuY/DYpV/dTYBWh JMxT/uwcOesGFIOBl4pq8CsJ/PhBNQ7t6F+mJBnrMyDqlfuLkLOwPjbyVYmjQEM3lrxLDR NEzG1jVszhAG/diAboElwk8n8FiZwzPp9RUqC0e6qd/7ENXEyefS5er+kEdssw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQ9P4Bl7zddH; Thu, 31 Oct 2024 13:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDeP9O001766; Thu, 31 Oct 2024 13:40:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDePxm001763; Thu, 31 Oct 2024 13:40:25 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:40:25 GMT Message-Id: <202410311340.49VDePxm001763@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: c87c8fda44ba - stable/14 - neta: improve TCP LRO List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: c87c8fda44ba507a4ac373bf2998e755ab2dd8c9 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=c87c8fda44ba507a4ac373bf2998e755ab2dd8c9 commit c87c8fda44ba507a4ac373bf2998e755ab2dd8c9 Author: Michael Tuexen AuthorDate: 2024-09-05 15:31:31 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:18:52 +0000 neta: improve TCP LRO Use the appropriate function to flush correctly all entries. The old code does not remove the element from the hash table, only from the active queue. Reviewed by: Peter Lei, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46433 (cherry picked from commit 5203dcce2527fd235648e2b855a13f62247eb2de) --- sys/dev/neta/if_mvneta.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/sys/dev/neta/if_mvneta.c b/sys/dev/neta/if_mvneta.c index fdd6467edde1..0bdcdf0db5da 100644 --- a/sys/dev/neta/if_mvneta.c +++ b/sys/dev/neta/if_mvneta.c @@ -3000,8 +3000,6 @@ mvneta_rx_queue(struct mvneta_softc *sc, int q, int npkt) struct mvneta_rx_desc *r; struct mvneta_buf *rxbuf; struct mbuf *m; - struct lro_ctrl *lro; - struct lro_entry *queued; void *pktbuf; int i, pktlen, processed, ndma; @@ -3115,11 +3113,7 @@ rx_lro: /* * Flush any outstanding LRO work */ - lro = &rx->lro; - while (__predict_false((queued = LIST_FIRST(&lro->lro_active)) != NULL)) { - LIST_REMOVE(LIST_FIRST((&lro->lro_active)), next); - tcp_lro_flush(lro, queued); - } + tcp_lro_flush_all(&rx->lro); } STATIC void From nobody Thu Oct 31 13:41:12 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQBJ5YJbz5bjWs; Thu, 31 Oct 2024 13:41: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQBJ3zq2z4sTY; Thu, 31 Oct 2024 13:41:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hbp9UpiI9iMbo1vjRbT+7i89Aqn1NtcWuZlZSDX7npw=; b=hCfvc0Zt0rJNC5P6ZJS6RL3RYm6ouSnfA85mL/qn/vNP6A6BCjLr4gWV4VieL96zlkgrbK yqH8JVfIL5KshJrACEpODMe2Rd+z4S6OHhnX6nPMvh0qOxqpijL7HV5S7wo7jmc95RYkiJ jW8K4DeV+y1wS05paHyx2qS1tqYnxBbBVv6YuDQDqcQ1kYYKY3znWwzvQNYw/iBPnnci5x YCgQ3px3fQXIlB7hnXe3M/GAb2VhXdrm9CpkLZ3Vw0+wQXykNywPJ7gRI/82ZYWHNWFPMc Mju3ksdW9+5AsHyStBVFgPavQlXCSMO+jQhqb8eL/UIekhKcDmOZqaIGgOJ8Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hbp9UpiI9iMbo1vjRbT+7i89Aqn1NtcWuZlZSDX7npw=; b=UHQH6C7JtEpwx5NuIkJY15Gk0TBTeLYk9ao+BiG2VTnPvqAsSSa2Mq/1u0KhJWMQum/uE7 BA79SzImpOu+s+LPy6MxCUsqENTuM+462eWGSQQrStloZJktUdnztdV/GWrNiwrquw2Vpd 0SDrecNPBF2nq8lD25xC3il1a89X+gXKPn4RYH0n0yWOSggu9mppO5BMShxZ6/YFEWZ1rA sePl4XkLMwFc/tqLBtj/iaeEn4zFP7QysS8mho033cyaIbCMqjx4ZwBU7lfHhi1VcqPx30 ysZqo36X/M6IcTeQ/0DtI2aw6Tc4qLlpwghu7+mpJHT3xoxNMmOztgKkIOYwUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730382072; a=rsa-sha256; cv=none; b=OaO703fZXjLEZr7sHACMnoH1VKgllF1iXZbCMjVOxIDOlcD9+//+4TA9tOgTIXq2kUOzHZ QwCYzDauVHtChHH9z23l3LpyeGhNW5cOnGusgySdDTX87IiVolJurIOaxi7UYlRN3yYiWa ixVmAhWoNUaJYZQCkpvMDa42irLXivDGUxqJuftDqfA6Ei5xWEJU3Xw5ScgTNk80BQHQgj UzQT9fZ3GiTnHjobpYE9mdmEfIBKEmi9KRzPzT0T41nkblyegPzFlJhD9w7Nt2T3lwZ/AU RI6UiDX7BEpLfKSa7EqAY+6bbefBHm2eMqxKyyK8db3SsvTCTqWICXfEwRhx/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 4XfQBJ3Ng9zf5j; Thu, 31 Oct 2024 13:41:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDfCEQ002121; Thu, 31 Oct 2024 13:41:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDfCmm002118; Thu, 31 Oct 2024 13:41:12 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:41:12 GMT Message-Id: <202410311341.49VDfCmm002118@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: f84956ab3781 - stable/14 - al_eth: improve TCP LRO List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: f84956ab37819227f488adde81d4cdbba34ce47a Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=f84956ab37819227f488adde81d4cdbba34ce47a commit f84956ab37819227f488adde81d4cdbba34ce47a Author: Michael Tuexen AuthorDate: 2024-09-05 15:35:40 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:19:40 +0000 al_eth: improve TCP LRO Use the appropriate function to flush correctly all entries. The old code does not remove the element from the hash table, only from the active queue. Reviewed by: Peter Lei, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46434 (cherry picked from commit 0b45d36510d8c629fcc49805bc64e5893f4ba63c) --- sys/dev/al_eth/al_eth.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/sys/dev/al_eth/al_eth.c b/sys/dev/al_eth/al_eth.c index b4fbf041660b..1b976e7a724c 100644 --- a/sys/dev/al_eth/al_eth.c +++ b/sys/dev/al_eth/al_eth.c @@ -1581,7 +1581,6 @@ al_eth_rx_recv_work(void *arg, int pending) { struct al_eth_ring *rx_ring = arg; struct mbuf *mbuf; - struct lro_entry *queued; unsigned int qid = rx_ring->ring_id; struct al_eth_pkt *hal_pkt = &rx_ring->hal_pkt; uint16_t next_to_clean = rx_ring->next_to_clean; @@ -1672,10 +1671,7 @@ al_eth_rx_recv_work(void *arg, int pending) "%s: not filling rx queue %d\n", __func__, qid); } - while (((queued = LIST_FIRST(&rx_ring->lro.lro_active)) != NULL)) { - LIST_REMOVE(queued, next); - tcp_lro_flush(&rx_ring->lro, queued); - } + tcp_lro_flush_all(&rx_ring->lro); if (napi != 0) { rx_ring->enqueue_is_running = 0; From nobody Thu Oct 31 13:43:00 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQDN417vz5bjby; Thu, 31 Oct 2024 13:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQDN3VYyz4vDt; Thu, 31 Oct 2024 13:43:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NMVCX2Y2Oau58E75QRckYMSsQVW8VuuZftM4Em3AMQc=; b=v6FDV5MkXtShcgNt8qqOnBk1hhhMnMbAmACnBe8UOxGQlGxdgn9DyNignZCdS1fPjV7nJ0 s6M9q/GOKTz9kuQYk1SGRihEOiMLcApTeBKeH/49XHHiZyucIMH6tagpHQF/uKoXGKtLtB 67e4XEcHVEf69erhQMBKhCtOiQSa1AQa0JYxzs6G0ymWCpp45+LnhPK0+Rw8wlTnsjGtv4 MFJrmtWepdB2gXRq4T+MOHHMjpZQm8DYmSdmT5qnyFW4xiHMnvERKi5LbsjNkN3tlwpEVo 2FK+/zm3PAWl4/GKQ0UwTrDCE4+cFCFxce1sFjIC/m8EFkcoiyZnVS359hrFaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NMVCX2Y2Oau58E75QRckYMSsQVW8VuuZftM4Em3AMQc=; b=V5XPcoFcBXn9FvtM/aSOK6gn8kjU1h5pJuMeBpWGqWxqMUfmIsf6r4A+a5sXVTTyCgK8mL vPrX7M1Juihw+TLHU4zgY6kdBRk+loS0hCGeKf0JD0BtKVSJKgP8FqBLWxKr8vO1N3Nsfj 0VW92+TK51jehAwk5PG8O3YSJamM17L/NNk+RjmNSelTWEcdWzMKC8BGa+6+9iiopg6EY0 e0A30p800NICsjKqPZesP4hSRGgDwaO8aBluo6CYGn2h1Q9aDEocU19cwXOXKEyqYmpczu I3zxQ4kYT46Tx/JAB1HIpypXgeAKR5AbwQHsyD8XasICcDgB9XC2beAvDYxorQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730382180; a=rsa-sha256; cv=none; b=Nnph1tsHgxFESONlTKFT4ttVYllPW2lCwnJ9kIx2M89oFQJWBr2GdRya9vD7eD+5TB8spm BjM8euFeOWES38sxAYYp+kcnunS75wgAMcea2qHV+HaJfeKKkwoVWoyBnxNgKrl9GSw8zh ckO0lr4F2uyGTK0koXf/uLBudx+WfT2ZVVCN6A1jxeh2R/kVOyu96n9pZPZGptoXWMQLoD ZO4uxJ1QshYmXGYmCs1ilBv2qKNJdfHoCNRkWe7sdCTDXuT4jOytkGhYMEOQP8TC8IYWQ6 qH6oTdwKtr+oTlcNcA1kH9BJPGInQvOZ2IM1KIVn8CjQjorTHkYzFfYOanYXIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQDN35q4zdgS; Thu, 31 Oct 2024 13:43:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDh0EG009552; Thu, 31 Oct 2024 13:43:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDh0fs009549; Thu, 31 Oct 2024 13:43:00 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:43:00 GMT Message-Id: <202410311343.49VDh0fs009549@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 8df12a277f09 - stable/14 - tcp: make tcp_lro_flush() static List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 8df12a277f0912805c5f54a96a94e29c30a0efa6 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=8df12a277f0912805c5f54a96a94e29c30a0efa6 commit 8df12a277f0912805c5f54a96a94e29c30a0efa6 Author: Michael Tuexen AuthorDate: 2024-09-05 15:44:33 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:20:35 +0000 tcp: make tcp_lro_flush() static tcp_lro_flush() is not used anymore outside of tcp_lro.c. Therefore make it static. Reviewed by: rscheff, glebius, Peter Lei Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46435 (cherry picked from commit e06cf0fc5dd626c34acdef308b696b4995371a4b) --- sys/netinet/tcp_lro.c | 3 ++- sys/netinet/tcp_lro.h | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/tcp_lro.c b/sys/netinet/tcp_lro.c index 906e01257a04..10afed17bf3b 100644 --- a/sys/netinet/tcp_lro.c +++ b/sys/netinet/tcp_lro.c @@ -83,6 +83,7 @@ static MALLOC_DEFINE(M_LRO, "LRO", "LRO control structures"); static void tcp_lro_rx_done(struct lro_ctrl *lc); static int tcp_lro_rx_common(struct lro_ctrl *lc, struct mbuf *m, uint32_t csum, bool use_hash); +static void tcp_lro_flush(struct lro_ctrl *lc, struct lro_entry *le); SYSCTL_NODE(_net_inet_tcp, OID_AUTO, lro, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TCP LRO"); @@ -1104,7 +1105,7 @@ again: } } -void +static void tcp_lro_flush(struct lro_ctrl *lc, struct lro_entry *le) { diff --git a/sys/netinet/tcp_lro.h b/sys/netinet/tcp_lro.h index b4b5e3f811e4..a94eca665eb5 100644 --- a/sys/netinet/tcp_lro.h +++ b/sys/netinet/tcp_lro.h @@ -216,7 +216,6 @@ int tcp_lro_init(struct lro_ctrl *); int tcp_lro_init_args(struct lro_ctrl *, struct ifnet *, unsigned, unsigned); void tcp_lro_free(struct lro_ctrl *); void tcp_lro_flush_inactive(struct lro_ctrl *, const struct timeval *); -void tcp_lro_flush(struct lro_ctrl *, struct lro_entry *); void tcp_lro_flush_all(struct lro_ctrl *); extern int (*tcp_lro_flush_tcphpts)(struct lro_ctrl *, struct lro_entry *); int tcp_lro_rx(struct lro_ctrl *, struct mbuf *, uint32_t); From nobody Thu Oct 31 13:46:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQJr3DtDz5bk6D; Thu, 31 Oct 2024 13:46: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQJr2l1dz4vcM; Thu, 31 Oct 2024 13:46:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nvMOXogRGE3PuIYLdCHxc/n0PvTL/1PG0tlDbYjatvg=; b=sbglna9SVdV2cdXYPZg7cVx+Xy6tJrQvNkgclZQOrKk+/fVEUbtIfbFMuufp1lNACBk9YB LZu52iC4JBgKJOVXsSwf0yWIC3o80OYm00WRt2Syf3dPQ9E9Sn63oNmgANIDcO9VgvocKp CT0sOijlqE6hnSGN2pYsRkXUNEMcmkrY2jg89hmdfzHthTsZ3C3Zvgyy2iirBIagzGKbvE qYsi1aQHA2arHvO1WwJRUpQH/6s+dMtnNTEXc2J+CTmgxyIPEh5hC/36dgv32NL5GFdp6O RjRljOxusZ2a2HI0ErTkpGRD+LvBRErMsSGYMnraGI95LYJbrOwzVjy9blUJAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nvMOXogRGE3PuIYLdCHxc/n0PvTL/1PG0tlDbYjatvg=; b=DWEyVQAV0AfO9gcTi2YSv2bcdBspN7sD3kfwYVM0bp++RNpJvlkFqFU33MsXbLgxibVwrT 0owC7sI8/EMUM80zFMkjzYJvAbTJCZEb7M/Sr4UDWG4V2QWzMKFQ5g8aVQnUeXRudqAYHf uLCOLr3R5gKgv7j8hptd2ABY0B+I0uWW4UC6BvCgNS0HdRoU2lkgcyhMbaPoun2w7+uV5+ 29IRktMQZX4rrC1lVMbg4L+Hx53hqP+jgupIEphYtb73SllXCr1sLKa3MMvWV/ZETT3FjH fx3Uo9fNapn6QSxzy0q277JjgqU1yCEtlD+QVRpe2V0oP0XelFdA42I7eA7waA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730382412; a=rsa-sha256; cv=none; b=Rk2mibIm7AvjYz623sD4F+2DbkWhpN1jZjXgJwb21j9eTwrs0NreQEEQa6BHhygL3EI/Iw 0o44onWKmmPbJv7hSOlQtzVZ+Hb5bMNwhO1aE9JSrVmYzgpWTCzp0dZ+tFQbUhTB5y00xd fvMgCkQachoFcg5hHfr2i4YuI3kOljZR/tFaHQMUD7CF84m+f2exqUVqfS1cYzwL916iFi Ik6rh+xYsaYEdDoH3++0LQgmwyOHDYOZ9GiUYooZ+41ZDlO5fAEBu6vSHNjO5Y7rmIsV7X D15lH+GkSXFFLkDhidqzwHM57iTW2tP0bkTQ5i84PJBwqnLhT7C4KEnOpjWJ2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQJr2Cymzf49; Thu, 31 Oct 2024 13:46:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDkqoQ010797; Thu, 31 Oct 2024 13:46:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDkqgG010794; Thu, 31 Oct 2024 13:46:52 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:46:52 GMT Message-Id: <202410311346.49VDkqgG010794@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 406d75a5816e - stable/14 - MAC: improve consistency in error handling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 406d75a5816eb45bc16197b0eff9360461541ad7 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=406d75a5816eb45bc16197b0eff9360461541ad7 commit 406d75a5816eb45bc16197b0eff9360461541ad7 Author: Michael Tuexen AuthorDate: 2024-09-26 06:02:06 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:24:34 +0000 MAC: improve consistency in error handling Whenever mac_syncache_init() returns an error, ensure that *label = NULL. This simplifies the error handling by the caller. Reviewed by: rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46701 (cherry picked from commit 3f2792166aeed4baf07d351bcb12a9d196c443eb) --- sys/security/mac/mac_inet.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/security/mac/mac_inet.c b/sys/security/mac/mac_inet.c index 29a355071065..9770fa840f95 100644 --- a/sys/security/mac/mac_inet.c +++ b/sys/security/mac/mac_inet.c @@ -485,6 +485,7 @@ mac_syncache_init(struct label **label) MAC_POLICY_PERFORM_NOSLEEP(syncache_destroy_label, *label); mac_labelzone_free(*label); + *label = NULL; } return (error); } else From nobody Thu Oct 31 13:54:16 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQTN3CQlz5bl4R; Thu, 31 Oct 2024 13:54: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQTN2h8Bz3xCP; Thu, 31 Oct 2024 13:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382856; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QZZZkkRpN9rlhpsTORExFyqPcNNWEtJX2HJkIjA+ltE=; b=HCLMFrhPyoch/ogRgnBW7peSt+n3xvd2DYjL2PLG2R0jJRwCqgkJklkuvmdcH5w/2a8xNp +42wclC+lXAH4np63PmTobkfl4LWnAkkACgFocDIrTZsxS5t8WiNBOAiDWftL1JwKGD+Gc gtnb2LlUCgdE1JkPBH8WPZ9EDxDkl5U7fa4qFCLTy7IDYGfP5JFLQfpYhAKAExh3kcS68J yZXREmt4pjmKaRJJQk7YVcwV7AKu7GvWKy1n05B6VdLGK78jpq2RBJ2/JCZtGVsI37xjzC e9CFrG/fGGRlgJk1A7Ja6GTKAgNZcPeqwDrOI2WmFfM+ov9g2Xfik/fd7kqSJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382856; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QZZZkkRpN9rlhpsTORExFyqPcNNWEtJX2HJkIjA+ltE=; b=aIEpwFqsPWWnI+pi+PHEdiqTs4sZoNWJtt8tuZlhFG6eYwK0o9ZkJeE+UwjV4S5Awo9PsQ 84KZqlc6RaNvRor5yNrDdebR+3bIggu8OGOJxcSgnVz/Cy/zAIz7KGBViwCsZj55fV1eRS jXn4Z04RT5eLbE2SGSYIyX+zeSZTle4EqsTNKkEipWXrPjmHbpXPtVTupHwFHDK1INXCFh T2OZhx8xD9Z+103TOBszFfn5VYa6n+UHiNMQIe+F8D0PfVxgwZCbJdkwZdpIvfkdUZvPBG DAPSoYzrzSDZSGxktbc4rE97w2kUw7rLDNgwn1t4REb7tSo+uUP3qRQvyNVMcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730382856; a=rsa-sha256; cv=none; b=KQ9bGDuXnO5Oi2MJm41IxwzI3qDynPLjTQt3OU/wg0bAv9CVm9TrbUw8Eju570hGD/9Lsb 5oHhltykURfjzwu+wHxGNCuTzPdZxX9/6q4M/0wqWqTdU0J8leOZ0zXd4fWIWPdf13dSYs YKDNkPCerDrwnaNIIoRdRytzv1wO6a1MSWLTm3gp/DaTInkjcxPkb1rWCxmUXDMswFNe5F NXDivFkc6xvytLtVocwhH6HvcRE8xvLuRpl3FF7Js2NVA2X3zz3J2rj9ctSWRJ6kfEEkeG iS6XTuQid3AIn5r2xdknfVzHnVP02CBiwUEh9Ay66Zwp+tT+iFoh6hmnJQ0PVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQTN2HP9zfLL; Thu, 31 Oct 2024 13:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDsGWA027897; Thu, 31 Oct 2024 13:54:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDsGfT027893; Thu, 31 Oct 2024 13:54:16 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:54:16 GMT Message-Id: <202410311354.49VDsGfT027893@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 66c7d5365a78 - stable/14 - MAC: improve handling of listening sockets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 66c7d5365a7812f530d15962fd3640db5a2d4b15 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=66c7d5365a7812f530d15962fd3640db5a2d4b15 commit 66c7d5365a7812f530d15962fd3640db5a2d4b15 Author: Michael Tuexen AuthorDate: 2024-09-26 06:06:24 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:32:36 +0000 MAC: improve handling of listening sockets so_peerlabel can only be used when the socket is not listening. Reviewed by: markj Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46755 (cherry picked from commit 2fb778fab893b4a8a86ecfa20acf2e23bb2cdae8) --- sys/kern/uipc_socket.c | 5 +++++ sys/security/mac/mac_internal.h | 1 + sys/security/mac/mac_socket.c | 19 +++++++++++++------ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index a038939399e3..4621339c4429 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -155,6 +155,7 @@ #include #include +#include #include @@ -1466,6 +1467,10 @@ solisten_proto(struct socket *so, int backlog) sbrcv_timeo = so->so_rcv.sb_timeo; sbsnd_timeo = so->so_snd.sb_timeo; +#ifdef MAC + mac_socketpeer_label_free(so->so_peerlabel); +#endif + sbdestroy(so, SO_SND); sbdestroy(so, SO_RCV); diff --git a/sys/security/mac/mac_internal.h b/sys/security/mac/mac_internal.h index d1ee1af09c0b..4b2be98b4e03 100644 --- a/sys/security/mac/mac_internal.h +++ b/sys/security/mac/mac_internal.h @@ -242,6 +242,7 @@ struct label *mac_pipe_label_alloc(void); void mac_pipe_label_free(struct label *label); struct label *mac_socket_label_alloc(int flag); void mac_socket_label_free(struct label *label); +void mac_socketpeer_label_free(struct label *label); struct label *mac_vnode_label_alloc(void); void mac_vnode_label_free(struct label *label); diff --git a/sys/security/mac/mac_socket.c b/sys/security/mac/mac_socket.c index be1363024657..910cab493d6b 100644 --- a/sys/security/mac/mac_socket.c +++ b/sys/security/mac/mac_socket.c @@ -170,7 +170,7 @@ mac_socket_label_free(struct label *label) mac_labelzone_free(label); } -static void +void mac_socketpeer_label_free(struct label *label) { @@ -185,8 +185,10 @@ mac_socket_destroy(struct socket *so) if (so->so_label != NULL) { mac_socket_label_free(so->so_label); so->so_label = NULL; - mac_socketpeer_label_free(so->so_peerlabel); - so->so_peerlabel = NULL; + if (!SOLISTENING(so)) { + mac_socketpeer_label_free(so->so_peerlabel); + so->so_peerlabel = NULL; + } } } @@ -616,10 +618,15 @@ mac_getsockopt_peerlabel(struct ucred *cred, struct socket *so, buffer = malloc(mac->m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); intlabel = mac_socket_label_alloc(M_WAITOK); SOCK_LOCK(so); - mac_socket_copy_label(so->so_peerlabel, intlabel); + if (SOLISTENING(so)) + error = EINVAL; + else + mac_socket_copy_label(so->so_peerlabel, intlabel); SOCK_UNLOCK(so); - error = mac_socketpeer_externalize_label(intlabel, elements, buffer, - mac->m_buflen); + if (error == 0) { + error = mac_socketpeer_externalize_label(intlabel, elements, buffer, + mac->m_buflen); + } mac_socket_label_free(intlabel); if (error == 0) error = copyout(buffer, mac->m_string, strlen(buffer)+1); From nobody Thu Oct 31 13:55:26 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQVk3rLBz5bknD; Thu, 31 Oct 2024 13:55: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQVk3PJqz3xgJ; Thu, 31 Oct 2024 13:55:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g1dCY1ZEZEJtEKNKPtD8oZ1oSOG9M+DjL3P0lxcRXS8=; b=OwfJSiyApcOsZRvor/mM7FfbApjItwWTI//q39zHTuEYdOwesAjbjzuyDTtv+CLUTTql6u rFRUWUN/3ZS/JjxP7dGt9N5rBq4QdYIbYh7ybrdwbw5FscoQtxo4qz2oO3eg3vX+pKB9fp cEtC8obA21K2iHJ+QmDdw8DmBuayFNq+kKBQvdd4pLdPNQ74OTZF5eDaWZrtEOA79UfLyy GoiYSHTMXP9ZKW0JqYGphNICfk28ZdykJnaHDwCHVwtivn8vvZ4W6uOOjALLnnkrYynRtX obaMCwUTi18a3m6F7sJxps1E1U1D6VgLFTrHdbCFwPEHjb8NG1PjL9J9XOSKfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g1dCY1ZEZEJtEKNKPtD8oZ1oSOG9M+DjL3P0lxcRXS8=; b=jq+U6DpeRZPZhnO80rSlYMNGgf2gFNo2qqAUNWAhtBChqiP1/4A+dBGb47wi1dGU4Q7EXA ddy9+BxvRD7L1ASL6y4xozqwREpYd9QoOO6bRRHlsBiFt4TMORTBBA6lmI3ojlCrCp/PUN 4rrI0OH4fExkqEdklPkmxj1qeFuqMls3tkrVqb+33mWUNKqp2oYTAn/2bv7JXhrRlD3Bjy 7DiKbismVXhTfd/CmFR+XZdRf5XPsAVRwYhRHqRapWWl+6z19V+h9xucTGlRq+8g2mheDg vV0juiRqazlbxSUdAqNQ1CpvSxIh7MNXTe/GRqolSctDAoyAiA95/ee7T0sKQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730382926; a=rsa-sha256; cv=none; b=ydARtVSHuRMYDfeykEwgkds1s6MBlZH0zjkK3PyHKy3lOafZveR6oFaKvKMwVQqz91Jk78 n//VxqWEEx06aMkeqom3CaafUHUduSbYv7B3iCqCwZILkKRgNfmqJPyN6fYQunyAis9xM9 5rpj0S+JSOyEbFUn5DFEKbLx8xwRZ4lJ2XxGBl0rE0aPTuT+S4AGm6oDwowZs7QNAKWOX3 +RFmf2jUdZblGzPXRkxx0aPgiHXYk4K7xAj2l8xL/M2EXhFDBms/bxIhc5lrSsFK2vjPyp xby0pF/nYxt4VLs3I8repBhVo88ZUbTHi0k/pjeR5FRAf9vRrH+XGtbk+bu3aQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQVk30nlzdh2; Thu, 31 Oct 2024 13:55:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDtQJP028408; Thu, 31 Oct 2024 13:55:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDtQxf028405; Thu, 31 Oct 2024 13:55:26 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:55:26 GMT Message-Id: <202410311355.49VDtQxf028405@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 2f5ac48d9b6d - stable/14 - tcp: improve MAC error handling for SYN segments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 2f5ac48d9b6d7bd8928604f8259c48ad4246e7ae Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=2f5ac48d9b6d7bd8928604f8259c48ad4246e7ae commit 2f5ac48d9b6d7bd8928604f8259c48ad4246e7ae Author: Michael Tuexen AuthorDate: 2024-09-26 06:10:01 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:33:35 +0000 tcp: improve MAC error handling for SYN segments Don't leak a maclabel when SYN segments are processed which results in an error due to MD5 signature handling. Tweak the #idef MAC to allow additional upcoming changes. Reviewed by: markj Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46766 (cherry picked from commit 78e1b031d2e8ef0e1cbc8874891f5476dc7868bc) --- sys/netinet/tcp_syncache.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index b6318ec23556..fa64d2d79c3b 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1382,7 +1382,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, int autoflowlabel = 0; #endif #ifdef MAC - struct label *maclabel; + struct label *maclabel = NULL; #endif struct syncache scs; struct ucred *cred; @@ -1773,10 +1773,11 @@ donenoprobe: tfo_expanded: if (cred != NULL) crfree(cred); + if (sc == NULL || sc == &scs) { #ifdef MAC - if (sc == &scs) mac_syncache_destroy(&maclabel); #endif + } return (rv); } From nobody Thu Oct 31 13:56:13 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQWd2cZmz5bl6y; Thu, 31 Oct 2024 13:56: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQWd23xpz3xyH; Thu, 31 Oct 2024 13:56:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tR9jt5U6I7vSkHokU85APh1Y3qyinpi+Y6oL9/+pnkY=; b=jARC9VV7Mp02WddmwfgwxF5zB34hUtiYd1pUiRHBSpWuyeoSRrNH9Oa5xJSgTLr5QKeQQK YcODY7UVXCYZKboZB3hx0yRyfEqsjDUWO6C6jypGFhBb9OAcE7OH5O7wVvraBx0CpfQIBS Fa9tIfJGPiXOkams6cGgS7ATxpgG8FbuQTbHlZqaEtQxZ0PSUwGEhRUHgUFv6U82W6zlh3 R5EZQ+CuwilWN+VQZJdJ9tPpvkLdPrxOAST8gfhRRlR0GfC+UKZ/+zD9PZjCMDNEx1R9zm 4SibtQI1GZ66obGEfTAUZ8LzfyvqEVeuDhqxsraL1kX2GNPADOdWpttjnewoOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730382973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tR9jt5U6I7vSkHokU85APh1Y3qyinpi+Y6oL9/+pnkY=; b=Qy5pBzN/5fZ3YDGzeZFor1LYdGccmIuyi2L6OixxSttTDxf95vJ3iBE/HFmyJdSGGj33ks MHXmyHMrSZk9kCCDkUPhtordR+koha/XL9kHmam2SUzlBJSXiQ1cn7MlerNRFzwUQh18Jj DQkA0UlGvpFef5cB1x37MpArT8q6nhaPADLgZ1sxVjKIpOHwTWlxRRC8npvWtAg8iA2ZKe RlIPLhM04MHdsEbG1A6vFuCpdADH8bJmqeM0ENk3pA9z26qtusaoC5lZUG1ELEboCBBoKC 64B/9tnxqiIUctUMeUIFCsn29kG2mHg7KYZEK2y8AnEHdmY6P3GbpA5uGdiIyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730382973; a=rsa-sha256; cv=none; b=f0dtbt6JnWm9zJZqoLxYRCrTKP9Fn4IvSewxlOGcD0MpQIgZ3nBRuN1KUyqe9BtekA8dmv l67PjSxFpPRUOUJ+liFpVVeULApIH7062k1p44+3O+AedBAeRNF2QOtOAyfRQbbsC7LhL1 p8s6Yk/6vF67iTywyu/dUcud/+iUeE/CYLnasA3/EWseehMjCoD8tpXDfdKId4XHLQ3j9G n6uK/HXjjlg2Z+29bJ4URKJz0ueVYjQ5ZZbMb/pI2g1QjyyABdbcgujKS7VpJbrHJ8QOzd aZIUb0e7vnAwNwM7caP8pa8j4B0Nf/i5/PvhOZIJDKcV6p5RYX5SWVL1bxal9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQWd1MQ1zfGg; Thu, 31 Oct 2024 13:56:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDuDFx028800; Thu, 31 Oct 2024 13:56:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDuDGX028797; Thu, 31 Oct 2024 13:56:13 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:56:13 GMT Message-Id: <202410311356.49VDuDGX028797@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 00c3c39fcc4c - stable/14 - tcp: improve ref count handling when processing SYN List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 00c3c39fcc4ccdbc2b83ed0f0f2838863856b795 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=00c3c39fcc4ccdbc2b83ed0f0f2838863856b795 commit 00c3c39fcc4ccdbc2b83ed0f0f2838863856b795 Author: Michael Tuexen AuthorDate: 2024-09-28 20:06:41 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:34:33 +0000 tcp: improve ref count handling when processing SYN Don't leak a reference count for so->so_cred when processing an incoming SYN segment with an on-stack syncache entry and the sysctl variable net.inet.tcp.syncache.see_other is false. Reviewed by: cc, markj, rscheff Sponsored by: Netflix, Inc. Pull Request: https://reviews.freebsd.org/D46793 (cherry picked from commit cbc9438f0505bd971e9eba635afdae38a267d76e) --- sys/netinet/tcp_syncache.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index fa64d2d79c3b..0f7e7359679f 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1385,7 +1385,6 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, struct label *maclabel = NULL; #endif struct syncache scs; - struct ucred *cred; uint64_t tfo_response_cookie; unsigned int *tfo_pending = NULL; int tfo_cookie_valid = 0; @@ -1402,7 +1401,6 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, */ KASSERT(SOLISTENING(so), ("%s: %p not listening", __func__, so)); tp = sototcpcb(so); - cred = V_tcp_syncache.see_other ? NULL : crhold(so->so_cred); #ifdef INET6 if (inc->inc_flags & INC_ISIPV6) { @@ -1633,9 +1631,21 @@ skip_alloc: #ifdef MAC sc->sc_label = maclabel; #endif - sc->sc_cred = cred; + /* + * sc_cred is only used in syncache_pcblist() to list TCP endpoints in + * TCPS_SYN_RECEIVED state when V_tcp_syncache.see_other is false. + * Therefore, store the credentials and take a reference count only + * when needed: + * - sc is allocated from the zone and not using the on stack instance. + * - the sysctl variable net.inet.tcp.syncache.see_other is false. + * The reference count is decremented when a zone allocated sc is + * freed in syncache_free(). + */ + if (sc != &scs && !V_tcp_syncache.see_other) + sc->sc_cred = crhold(so->so_cred); + else + sc->sc_cred = NULL; sc->sc_port = port; - cred = NULL; sc->sc_ipopts = ipopts; bcopy(inc, &sc->sc_inc, sizeof(struct in_conninfo)); sc->sc_ip_tos = ip_tos; @@ -1771,8 +1781,6 @@ donenoprobe: tcp_fastopen_decrement_counter(tfo_pending); tfo_expanded: - if (cred != NULL) - crfree(cred); if (sc == NULL || sc == &scs) { #ifdef MAC mac_syncache_destroy(&maclabel); From nobody Thu Oct 31 13:57:02 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQXb2SNXz5blXj; Thu, 31 Oct 2024 13:57: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQXb14fPz40GG; Thu, 31 Oct 2024 13:57:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mgXfg86HtGjfEVQZKuqTPBPi+eXJ3IGv4jtwvN39XzU=; b=H36skgjj9Andg6/IMs8ukmknGvqI6Q/CBgxIqyHRz4Iu4/c4+tC2nShcaRDhpb0RqXchUm p+fAz4On6ljWZfdPDXz7yC1Zn3z2w5KX0b2mDFdJMmNGYHxFlDjAkVVdrK/aFbD6csEqSD Pd4JEJGmdH42PmUNqG5IGy8SjISK3g1qnDnlodidoAHEGirzbb2V1Ynfecr8jSFWsJ+2W7 TSWr0J8D75g5xf4U4ZDxNZd1lgJGX9vesqCUnAm3suCqxMNfKFzBCcVs0OYVUyyrTqvjqY hwiFrmSWG1d337dh8AdkLHuutwbjshBrQNJQkNUMDWfi7Hcw9lYUoeOWC+JC+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mgXfg86HtGjfEVQZKuqTPBPi+eXJ3IGv4jtwvN39XzU=; b=KfSw+lXM58W2Wiv0+IHcILcb4iiBHbvAnviZmYQAGCSF0/1WL3gcT2hMiliNTptL1LBLZC w/5PKU39mH+RWH2l+iFoiz8A8Z/EwSd2aDdZDAYflHRM1lJZA9TcIqhVcHWOIOK6FKD/g4 GY5j79y84adTtGWcqdWDBrvpgxB3av5XFTxY3ogjrrQZ3J7ylP6rhgke/R+SqlyVr0K3vx M0IVWItBZlLAYZieo6SLpz9r3Rf+t/o+Ku6Bq6oG/r+57zKV7/4SIKtTh6k3eI+sWr/7L6 51jrRL7Zoyo6fc+0sc06a0R7xA+G14nz/Ypefk9Zw3VpreY/3w9zjmX+gvJmWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383023; a=rsa-sha256; cv=none; b=Jw3Jc81R12fL2jUR+vGC1GpWb2xVoOYYf9uwiK2qeD4ZD8Deux4Y7kExFowABgW/mzUWin d8G71laMeQXgyBGMFigOJTbzoCSOE6sOm8uDFzPycBejKFd45wn+cB99nipiR++Po2kkP5 36IuFUEMBgkAAV1bZ6Q7r3NtpDgg4BvgvT3MxsoMSnYYOw0/IZdRTIZucD9atTSsLaY5Rx Lj+jHzhwqQeo4jIvuc6NlMDEsHZHyMM/GqzogTEWFMHMXIhMjj1zvsh85goXP3NAtNM3zb qCgoi74VQErWhhpjfEHerLVnB7AXQUYsfiEAD8tFkxLtJEW+V7P5lCvgqqiPxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQXb0hw5zf4t; Thu, 31 Oct 2024 13:57:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDv291029222; Thu, 31 Oct 2024 13:57:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDv2d3029219; Thu, 31 Oct 2024 13:57:02 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:57:02 GMT Message-Id: <202410311357.49VDv2d3029219@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 9a3bb25babfe - stable/14 - tcp: whitespace cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 9a3bb25babfef234940e31bbee26082548c67614 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=9a3bb25babfef234940e31bbee26082548c67614 commit 9a3bb25babfef234940e31bbee26082548c67614 Author: Michael Tuexen AuthorDate: 2024-09-30 17:53:57 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:35:24 +0000 tcp: whitespace cleanup No functional change intended. Reported by: markj Sponsored by: Netflix, Inc. (cherry picked from commit a2e4f45480c248036b002904ddbceef20ba7c523) --- sys/netinet/tcp_syncache.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 0f7e7359679f..c0c571fb76c2 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -237,7 +237,7 @@ syncache_free(struct syncache *sc) { if (sc->sc_ipopts) - (void) m_free(sc->sc_ipopts); + (void)m_free(sc->sc_ipopts); if (sc->sc_cred) crfree(sc->sc_cred); #ifdef MAC @@ -1530,7 +1530,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, * forget it and use the new one we've been given. */ if (sc->sc_ipopts) - (void) m_free(sc->sc_ipopts); + (void)m_free(sc->sc_ipopts); sc->sc_ipopts = ipopts; } /* @@ -1615,7 +1615,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, __func__)); SCH_UNLOCK(sch); if (ipopts) - (void) m_free(ipopts); + (void)m_free(ipopts); goto done; } } From nobody Thu Oct 31 13:57:43 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQYM3kpBz5blQM; Thu, 31 Oct 2024 13:57: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQYM3Bz1z40M1; Thu, 31 Oct 2024 13:57:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YuwsCDnJZSl6+5NoyHOxwdzdA1RyDfEBVI7gCBLM1Q0=; b=XK6r9pcAKKC21zDX27cCPR65CgwMcBH9IosY/dpcXHsWHULVQDlzqSCuY1NOArxGTrzoN2 gGT0m+OvXGU7lLrC36ZFiV/K026ercRBSJsBYKd3jo5gUEbOk9hRx0chOgNnqnJ1BJAX5L Yaz6tSS16Svh6rl7iYbR7QLsjj6PbQOGzjnvAUWRKvRlX1kfSafVJWT05gnf4D6mY7WcT8 CxyQG9/uZV2PqvwWO356nko6NJLibbvMq2K5rmyvrRPRt1YBxObev1qCEgDoD1cUGhFaGA arV1OYN84U5PyviAzbgEL0gESQivOIbSy8Mqx1HqAeUf/iUTbITXq5TQelOufQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YuwsCDnJZSl6+5NoyHOxwdzdA1RyDfEBVI7gCBLM1Q0=; b=es6iRI5QQ/rjyePr2K5W7zor2eiteF56ebTUvyhopVS5f0jiuXmpvPzKJxycYVRgo4K+mp FR62VJbojxUnFrPM6iL21XMO6iGDY4vBpdFIOkkd5nsF0S0L0tVeEPtOkqsp4zNO1RHaVt 1TLQIop/LYAJadTGG0zB/C/gJIhSeQyiVPRkxTIKCjN/Rdfmcbd5yWoXH/4EdgSxM9MCMy MKObBDhCdWZGeliBOdwMBJ/ivv2vpaaHBEoFUnxr5KzF4I7BUf8DLq7sdP4TzU70NUQKnu LGlvZa23ZhKBMLLP6jJ8mtpViNJzuQsAs2q6XN7sFYQz9vvZZAZdqcpqfr2COA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383063; a=rsa-sha256; cv=none; b=xORZtZmle0xfnErvOrMcK/+YGNj31moJoR9WqJ1/B4D6sUaRkQ7w4bET92uLi4ew3zgEmc jod8lvBC5i71scVcxKyeyIxYdAAyOUSBd8a8/gD/eupxVFf0/ZzFQ0mGpqv7MD988tjsGw c9xdbIDjQIi+E17G300CxBLEEyGzs/z4ej24pGjetOK4EIyGgzEhw9Bhl329M44LNqtc9l mb4YBTNCLa/uPUfD1k8DVvjHlXPCdn5QzwFHdyova5y143UIBl5/ZKW5B/k2DSzN11RHbo yDFNoaQsJE/Td2zd69GnLKqRC8NM+mwGfYAOXfUSlTTWs0Z6kj1EYTfeAA2Qww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQYM2pM5zfJr; Thu, 31 Oct 2024 13:57:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDvhJJ029532; Thu, 31 Oct 2024 13:57:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDvhVx029529; Thu, 31 Oct 2024 13:57:43 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:57:43 GMT Message-Id: <202410311357.49VDvhVx029529@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 67e469299821 - stable/14 - tcp: improve mbuf handling when processing SYN segments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 67e469299821c9b02b26e1b379f2b1754fee536c Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=67e469299821c9b02b26e1b379f2b1754fee536c commit 67e469299821c9b02b26e1b379f2b1754fee536c Author: Michael Tuexen AuthorDate: 2024-09-30 18:00:04 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:36:12 +0000 tcp: improve mbuf handling when processing SYN segments When the sysctl-variable net.inet.ip.accept_sourceroute is non-zero, an mbuf would be leaked when processing a SYN-segment containing an IPv4 strict or loose source routing option, when the on-stack syncache entry is used or there is an error related to processing TCP MD5 options. Fix this by freeing the mbuf whenever an error occurred or the on-stack syncache entry is used. Reviewed by: markj, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46839 (cherry picked from commit 01eb635d12953e24ee5fae69692c28e4aab4f0f6) --- sys/netinet/tcp_syncache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index c0c571fb76c2..6d171b2b7ea6 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1614,8 +1614,6 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, ("%s: bucket unexpectedly unlocked", __func__)); SCH_UNLOCK(sch); - if (ipopts) - (void)m_free(ipopts); goto done; } } @@ -1785,6 +1783,8 @@ tfo_expanded: #ifdef MAC mac_syncache_destroy(&maclabel); #endif + if (ipopts) + (void)m_free(ipopts); } return (rv); } From nobody Thu Oct 31 13:58:46 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQZZ3Fhfz5blXy; Thu, 31 Oct 2024 13:58: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQZZ2kdCz40ph; Thu, 31 Oct 2024 13:58:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7z1O+aPEaBbMXiDJnUpOb8XKLgSzzMV3s+MAmQiJ1Ns=; b=G0PsJ8DbONjdK/HrDOgcYVd6U3JZL4UZmlOquOP8mmLCMckG+ympLVztYTh0CE6xgfT5sO Ysl4s+x1xMTjyq7czZnj+GfvjkvdVQcPBBnOqO3Oa32dSw2pq18HjhSM2Brrns4/zPnARf +jAuapAy3CWYs9QCoCdGBHPqwhWB3fw5wiA0OuWeNvYKCnwnjn6sUM4rC+tr9A9p0i40ht ciYta1o+/0LBpLtMlnvXyzTfpVi8Xvh7BCgOdUzLLSAPQ1ls4qo2mKn4hE9s1U5ypou1ET /+L+5NAt9jVfNOxk9yyEC78oTA2rem2e+GWeLdtb8xq4Ix8NLqQG18pWUe3v8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7z1O+aPEaBbMXiDJnUpOb8XKLgSzzMV3s+MAmQiJ1Ns=; b=izNoeBWj+j7EVvoJ0YToVK8OPOW2VPyDF84TEFyZzFewjnk+61c6Rv94Y6aXC9bKXget/b yuYM7LV7LVLQMgZX7BCvpcjsdcWUcsgH7OEZTwBiNyXmPcE+EAHtUcnzXKT1zRvn2l4BPs mBiDXYJ7xoICU/Nj2narBUYFceUEtU94DvRy8fSIy7WaRwozCU0vlrKW79t9pcCdsk0fQM KWFeUG1G/rHHinrNXqEjfXq8BoFykaJDKBk8XwMO5hdV6GeTXp3Jsu/2IDFLhVm7lerFFQ 5jPC1fHJ6KICiCQn7CILVKIDov192rmFsz32lyHY1DgO4Hj1Fm+e7Pmv7QAGUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383126; a=rsa-sha256; cv=none; b=livC3/EmKoLgfu5+qFLiYH4SluJO2cacAKuG/e1EOpkNCiEnaOP4ll4y4GOcMhPx0+105Y ivwW1enG2Q9R5jmvEbvHjyjn8Lla1o14FTASnhkLr0k8Mj2Qybdj6cHhHC6/qBOcTTY7Oz uTdqpoaqXzIX2GgPWWSo5WbLip7Y3qFDe97/QrEz7Msh8kNiEeEUDiLl5OZFBP/LpdyONK tQEVcCxKwwMBq2jU6CWJtMnYRGG0LzapY++u4m48cYhSWvNcx6xl8ZmweahPlnDPTBsV+T e2nxSqcVaLR4rHvmX4PiwyoAWqr2reONG3AE4uyDpdRPOhu/RnbTdipnnkWQpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQZZ2L9xzfLN; Thu, 31 Oct 2024 13:58:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDwks7029951; Thu, 31 Oct 2024 13:58:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDwkVn029948; Thu, 31 Oct 2024 13:58:46 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:58:46 GMT Message-Id: <202410311358.49VDwkVn029948@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: b785f83e987d - stable/14 - tcp: small cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: b785f83e987dd59d4a2812fc2e300436c47e08c0 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=b785f83e987dd59d4a2812fc2e300436c47e08c0 commit b785f83e987dd59d4a2812fc2e300436c47e08c0 Author: Michael Tuexen AuthorDate: 2024-10-01 15:32:18 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:37:05 +0000 tcp: small cleanup No functional change intended. Reviewed by: cc, glebius, markj, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46850 (cherry picked from commit 2eacb0841c7dfc92030abc433e53cd31383a0648) --- sys/netinet/tcp_syncache.c | 59 ++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 6d171b2b7ea6..15244a61d8da 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1577,49 +1577,46 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, goto donenoprobe; } - if (tfo_cookie_valid) { - bzero(&scs, sizeof(scs)); - sc = &scs; - goto skip_alloc; - } - + KASSERT(sc == NULL, ("sc(%p) != NULL", sc)); /* * Skip allocating a syncache entry if we are just going to discard * it later. */ - if (!locked) { + if (!locked || tfo_cookie_valid) { bzero(&scs, sizeof(scs)); sc = &scs; - } else - sc = uma_zalloc(V_tcp_syncache.zone, M_NOWAIT | M_ZERO); - if (sc == NULL) { - /* - * The zone allocator couldn't provide more entries. - * Treat this as if the cache was full; drop the oldest - * entry and insert the new one. - */ - TCPSTAT_INC(tcps_sc_zonefail); - if ((sc = TAILQ_LAST(&sch->sch_bucket, sch_head)) != NULL) { - sch->sch_last_overflow = time_uptime; - syncache_drop(sc, sch); - syncache_pause(inc); - } + } else { sc = uma_zalloc(V_tcp_syncache.zone, M_NOWAIT | M_ZERO); if (sc == NULL) { - if (V_tcp_syncookies) { - bzero(&scs, sizeof(scs)); - sc = &scs; - } else { - KASSERT(locked, - ("%s: bucket unexpectedly unlocked", - __func__)); - SCH_UNLOCK(sch); - goto done; + /* + * The zone allocator couldn't provide more entries. + * Treat this as if the cache was full; drop the oldest + * entry and insert the new one. + */ + TCPSTAT_INC(tcps_sc_zonefail); + sc = TAILQ_LAST(&sch->sch_bucket, sch_head); + if (sc != NULL) { + sch->sch_last_overflow = time_uptime; + syncache_drop(sc, sch); + syncache_pause(inc); + } + sc = uma_zalloc(V_tcp_syncache.zone, M_NOWAIT | M_ZERO); + if (sc == NULL) { + if (V_tcp_syncookies) { + bzero(&scs, sizeof(scs)); + sc = &scs; + } else { + KASSERT(locked, + ("%s: bucket unexpectedly unlocked", + __func__)); + SCH_UNLOCK(sch); + goto done; + } } } } -skip_alloc: + KASSERT(sc != NULL, ("sc == NULL")); if (!tfo_cookie_valid && tfo_response_cookie_valid) sc->sc_tfo_cookie = &tfo_response_cookie; From nobody Thu Oct 31 13:59:23 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQbH4hJnz5blT7; Thu, 31 Oct 2024 13:59: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQbH49P9z4162; Thu, 31 Oct 2024 13:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WY81bY1TNl3KUaYBaRdXwwD7XOgRPXE7q8W2UzEyTTE=; b=X7sGCxhMOT1VRq1o6lF574r6azcvEY6k53YM9LFLGKh3vJ+U0kDgvN2supoN6Ui/ViHD4E kFytnUobDgI1Q9VQ5CrdEJjQtDCR5FEFXN3YB5KQiovoUYKAVl7U8KoNoW0zfzGtOuETIP IyPfNPnCZY/ZAkRaz6IIRnNHf784n5YtHdSp17UYyL0vHtSLnld1fE59SWaMj+Ie0bMLBp t5rMpOdj341Tr0pavYHBq/TxJn9FF70x/j92JZpAgfUHzlXNHFadidV9hbke9wC00F7Flt tufYtbI1bftTmBU/H38KfP4Oj8Xv2z3WPDcDOCnP5NzwBq9RbmltnO5jHvnsoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WY81bY1TNl3KUaYBaRdXwwD7XOgRPXE7q8W2UzEyTTE=; b=mKSO+e56JA8JXK9sA+qnt+FGioBB05uEbG7nSeJiqeMGBcu1InHvCKPcTfP3LpSyP7H4dc g0Dl+Y9Vzt8hH6DGob9eCvLKFkIVQ+r6IQ57jlTOYy5Ea5HXdciPNGJj59PLrXtXoUKg9A gUd19/9bY253SkWs41YCe+PP35qUdg0ThEcpjvXAcN8h8Xytb0asK4IJsGV3QrXkCI8fb+ /swCs2WY50Q0bISRFrjcGGtcXIt8dc/HRiAnDychTSQNZX/ibBKAHxeXuLyucRJITQ7bZQ /IOLhEySs+pM0WoD3RWRs3N+serPcz/VCC2r4Kz0CataUa2W/hH7ZFNbRtI5mA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383163; a=rsa-sha256; cv=none; b=KHTwNsWgQddoidizu8dvkiMTCzTSLY8sqZsUI3HbT03gXdyXP7bBzr9FV+jcOGMZmCem8Q bXVaNWpqEvnaAyLM9XLCqKHE+QJqZD3edxlZlCmVIOS5jYv6MUacW1Rr8FQemjGTPg7nGG +7ELoGyJHAIuTTkTQbYM/0FpXDtyV6yoXP2gmYfDYALAITTdP7ZC4Klmi/vz99zz7O0x7B uavw6+guthPMYxLLLPlKyt1ia64npcdXis1O5fW4fX3s+2vmdlj1Er7h6fkg3qAb3Q+RZy bepVAzkzOLzp222gZ6gCR8S/qizDX+QpG7kFTJm4r1OFcFRxyfneJ94ZHtqIxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQbH3f9Gzf4v; Thu, 31 Oct 2024 13:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VDxNKV030281; Thu, 31 Oct 2024 13:59:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VDxNt1030278; Thu, 31 Oct 2024 13:59:23 GMT (envelope-from git) Date: Thu, 31 Oct 2024 13:59:23 GMT Message-Id: <202410311359.49VDxNt1030278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 1e980fdf7ade - stable/14 - getsockopt: improve locking for SOL_SOCKET level socket options List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1e980fdf7adee2d3ad53b29e192d134bb46d3e6c Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=1e980fdf7adee2d3ad53b29e192d134bb46d3e6c commit 1e980fdf7adee2d3ad53b29e192d134bb46d3e6c Author: Michael Tuexen AuthorDate: 2024-10-07 14:46:41 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:37:55 +0000 getsockopt: improve locking for SOL_SOCKET level socket options Ensure SOLISTENING() is done inside SOCK_LOCK()/SOCK_UNLOCK() for getsockopt() handling of SOL_SOCKET-level socket options. Reviewed by: markj, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46881 (cherry picked from commit 3326ab87cc22cb70a41e13aefd8684ff0feed01f) --- sys/kern/uipc_socket.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 4621339c4429..84d817c9ada1 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -4112,23 +4112,31 @@ integer: goto integer; case SO_SNDBUF: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_sbsnd_hiwat : so->so_snd.sb_hiwat; + SOCK_UNLOCK(so); goto integer; case SO_RCVBUF: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_sbrcv_hiwat : so->so_rcv.sb_hiwat; + SOCK_UNLOCK(so); goto integer; case SO_SNDLOWAT: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_sbsnd_lowat : so->so_snd.sb_lowat; + SOCK_UNLOCK(so); goto integer; case SO_RCVLOWAT: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_sbrcv_lowat : so->so_rcv.sb_lowat; + SOCK_UNLOCK(so); goto integer; case SO_SNDTIMEO: @@ -4185,15 +4193,21 @@ integer: break; case SO_LISTENQLIMIT: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_qlimit : 0; + SOCK_UNLOCK(so); goto integer; case SO_LISTENQLEN: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_qlen : 0; + SOCK_UNLOCK(so); goto integer; case SO_LISTENINCQLEN: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_incqlen : 0; + SOCK_UNLOCK(so); goto integer; case SO_TS_CLOCK: From nobody Thu Oct 31 14:00:06 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQc649Ymz5blX0; Thu, 31 Oct 2024 14:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQc61Y1Wz41Db; Thu, 31 Oct 2024 14:00:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T7Ude7hwCotXvUhTCihw7H64hyZQktBSlICJd+RSmnE=; b=kwqEVl7AS9jObCMjjUesSgR/mz2yohgwsyEyeuDqoGHkI5C18LU2atyqeRkZaJhbOkeyuu f7ApSIHGXfiDTpsKm8BWyJnYCRWbAKYcIvdbmUhV2MXALDOta+bsS22S6nJb5CcZ2MW4pd hy5BEHjoK8MbbJyVum9vGE6aoYJ0BxMjm8kzoAWG4Y6GP+hN1zwXQNvzT1+oFCADQ+Y5gN PvYlvgRiQCPEGRpmDz7X1ruh/GaKX+9V2+Fu4vYPVgVhWtJCBxh0oohq2TxdRyQHsu3R4J WxUCiBw4i+nIVcKnBsiTXkH4SePWkTB+hDKthqiU9VuRNiKWovkRhx1yNNCu4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T7Ude7hwCotXvUhTCihw7H64hyZQktBSlICJd+RSmnE=; b=Slh6V1C4MsS0NzP2ssw/krCrbCW/AWZyz/VG64fSeoWUk3TscbPeqB+sJxySLa3jIGsEvl 1Ty5C3ZX+2BN4pJpkuXsXFaXpF9N+MHVrdkk0oG7eUk0EZ5sdoRbjo/uhR7v2WnhzBNZxc E1dufx7Qg5ynn7bsLNqO9x3W3nzRzA2PJ6Cjo6qPGVVXB3p39WQMoS30sJ4NI8Za/cIx5T LyPfBe55SU+yHdAwwU3hcMVqHyREwt7YZTudCDMuczbpM1mnF3wSW9ETXxPrylx0HIXyxw Pw30S8WSaJTEo2uQrafcVOR7eBcpfxVCSf/187CNCKkMWAd9BA1iTNWvqsqYbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383206; a=rsa-sha256; cv=none; b=eaWhDPN/H5+kv2p/vX3TnOh4HmuXgcOz6b3SsTCF8dPfxXhW4hDrSOhoqpDHQZAlab8X6D 7KX1kl9ellO6u+G7RiZD+w9/9n/wYMdKoRRt9URYUTm1/uyB5pozKNftCIBGfvNsrH584v Trzp+r3lPazHhMQ1uPAonCtIoAAWjrqbxX7NjnqF6b34Jbg7xzb7N8RQ9584bRl0Le/jhc W6IfaVHHf1eifoRkOIbFgfu2CQrfoc0Z+mN0yFRJybU/34X6jJggT8obDD9Z9wdDwUtMSO vlR2DaRrBXEI/dKwILmORKk3db5yg+O8eYOwMn2uLCwzj4GFyHRf7XoSMlFI0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQc6193Yzdh4; Thu, 31 Oct 2024 14:00:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VE062N034549; Thu, 31 Oct 2024 14:00:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VE06xt034544; Thu, 31 Oct 2024 14:00:06 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:00:06 GMT Message-Id: <202410311400.49VE06xt034544@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: efcaa63aca0c - stable/14 - sctp: cleanup sctp_delete_ifn List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: efcaa63aca0c7b1c0baacd333725f137e3fea678 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=efcaa63aca0c7b1c0baacd333725f137e3fea678 commit efcaa63aca0c7b1c0baacd333725f137e3fea678 Author: Michael Tuexen AuthorDate: 2024-10-10 08:36:00 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:38:39 +0000 sctp: cleanup sctp_delete_ifn The address lock is always held, so no need for the second parameter. No functional change intended. (cherry picked from commit 2e9761eb80f3e58c116efc10c739ed0d8497c1d6) --- sys/netinet/sctp_pcb.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index b2cafdc2f81e..2972b0a925d6 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -277,25 +277,16 @@ sctp_free_ifa(struct sctp_ifa *sctp_ifap) } static void -sctp_delete_ifn(struct sctp_ifn *sctp_ifnp, int hold_addr_lock) +sctp_delete_ifn(struct sctp_ifn *sctp_ifnp) { - struct sctp_ifn *found; - found = sctp_find_ifn(sctp_ifnp->ifn_p, sctp_ifnp->ifn_index); - if (found == NULL) { + SCTP_IPI_ADDR_WLOCK_ASSERT(); + if (sctp_find_ifn(sctp_ifnp->ifn_p, sctp_ifnp->ifn_index) == NULL) { /* Not in the list.. sorry */ return; } - if (hold_addr_lock == 0) { - SCTP_IPI_ADDR_WLOCK(); - } else { - SCTP_IPI_ADDR_WLOCK_ASSERT(); - } LIST_REMOVE(sctp_ifnp, next_bucket); LIST_REMOVE(sctp_ifnp, next_ifn); - if (hold_addr_lock == 0) { - SCTP_IPI_ADDR_WUNLOCK(); - } /* Take away the reference, and possibly free it */ sctp_free_ifn(sctp_ifnp); } @@ -450,7 +441,7 @@ sctp_remove_ifa_from_ifn(struct sctp_ifa *sctp_ifap) if (LIST_EMPTY(&sctp_ifap->ifn_p->ifalist)) { /* remove the ifn, possibly freeing it */ - sctp_delete_ifn(sctp_ifap->ifn_p, SCTP_ADDR_LOCKED); + sctp_delete_ifn(sctp_ifap->ifn_p); } else { /* re-register address family type, if needed */ if ((sctp_ifap->ifn_p->num_v6 == 0) && @@ -555,7 +546,7 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, (void *)sctp_ifap); if (new_ifn_af) { /* Remove the created one that we don't want */ - sctp_delete_ifn(sctp_ifnp, SCTP_ADDR_LOCKED); + sctp_delete_ifn(sctp_ifnp); } if (sctp_ifap->localifa_flags & SCTP_BEING_DELETED) { /* easy to solve, just switch back to active */ From nobody Thu Oct 31 14:00:44 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQcr6nZPz5blR0; Thu, 31 Oct 2024 14:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQcr6GR8z41ds; Thu, 31 Oct 2024 14:00:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i21Y1+ZJpP8T3nASTox9bSOX6kVTEgaalBPBNm9Eg90=; b=dK2bW5rqgqObemlf7s4pBgg5gV3EovoOvE/F4lPvHjSH9imLHShZ8VU1Atmy4U8YJNqKK0 KLRgudhAIKGTRAM6Y/KtWsqLlUbn8i5vnSHVzSLBsb0YBTz5fy7eKQaxe1ePJ8btvgrFPR azLAPhXsLT6KCmWgg41C6jvKR5G22cEJ9tfDf4GyIlp+Pw3enr/rLj37buBRdFDGawgxUb jpCYyMCA6G31c0yZtg36bqpXApefg79PBPtNznYbgda37EMvDs06zSqc6l++MC35uNROdN LW840+1bLCc0qsLkVzHHP2OmrODg3MGuhX2al1AooR3kC3zVcCE1kI91kd/1eQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i21Y1+ZJpP8T3nASTox9bSOX6kVTEgaalBPBNm9Eg90=; b=szR/CjNH5pEMqIY3w+PJ/rsyggL7pQ9tPm0QTKp2dWIklxtHGcUOPUGgI/+FvL7VckrlfL VXu+GQUryB8I92s0pi7AFlcyKoqPQTCt4uGzAdKwoCmPaGZNGbwHEO/30yOH0hGsRfhcwN VXlB8o0w+VN/sFhi8UWIKy1kVe5wg+f+9K4UTi5fd7zqPpvzKzTh987qnJmv3DlpO4tPuU jKBbf1rBV+/zYX4khIJ/SJvMbtqjvTb0b0Fr+aMUD6YjQuBnxC/9rf8cVKBTcX7wU8d9NZ iAupoSBudPi2B8cEMdiGoitKh/TOVwxMsnJvYEA4HyY8t4Qmke5DpD8sdsUrhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383244; a=rsa-sha256; cv=none; b=uERw0i0hWjb8m4tZ8YpKoNjldvtsXoYxVgaX4DNpckWQxwez5BH4CuTw9hU95IX4G+52FT WQAtmtLijuNJWHaSiHGw1tVgM8CammJcYz7JF8Ymg9kTe5nN0OzaG+aRGRzq0+K3oHBKKt 62yb49hAQS5ByZxzGIWYpTBt0E5DTejRd3rzQtY/qIp1hEq7Odb6H5ZrqGPalpraA6ofnc n+IjWTpdPMpG7u3AJw1DW+ub6BkrtNUJCBY/DR5MXK2n+VSfFfv1yl9AjuwKLfoUbh1CVn puE18S/eWPyiEbugRL2rc69IrUjMNquumdNygPhGw3l4bYqn3EPpnwhdK7ajQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQcr5ssqzf6y; Thu, 31 Oct 2024 14:00:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VE0iN9040584; Thu, 31 Oct 2024 14:00:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VE0ij5040581; Thu, 31 Oct 2024 14:00:44 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:00:44 GMT Message-Id: <202410311400.49VE0ij5040581@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: d3459fe7f737 - stable/14 - zfsd: replace vdevs with the AUX faulted state List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d3459fe7f737f7168992e833fdad7d3aa1f01bc9 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=d3459fe7f737f7168992e833fdad7d3aa1f01bc9 commit d3459fe7f737f7168992e833fdad7d3aa1f01bc9 Author: Alan Somers AuthorDate: 2024-10-03 21:54:28 +0000 Commit: Alan Somers CommitDate: 2024-10-31 14:00:32 +0000 zfsd: replace vdevs with the AUX faulted state Without this patch, vdevs faulted via AUX state would not be replaced once the appropriate drive is replaced. ZFS does not internally use that state, but a drive can be manually forced into such a state with a command like zinject. Submitted by: Goran Mekić Sponsored by: ConnectWise Differential Revision: https://reviews.freebsd.org/D46866 (cherry picked from commit 618ae939b7f95a197a0518cbb390a572bb90c6d0) --- cddl/usr.sbin/zfsd/case_file.cc | 2 +- tests/sys/cddl/zfs/tests/zfsd/zfsd.kshlib | 2 +- .../zfs/tests/zfsd/zfsd_autoreplace_003_pos.ksh | 26 +++++++++++++--------- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/cddl/usr.sbin/zfsd/case_file.cc b/cddl/usr.sbin/zfsd/case_file.cc index f9fd84da7277..7adfb08b75c6 100644 --- a/cddl/usr.sbin/zfsd/case_file.cc +++ b/cddl/usr.sbin/zfsd/case_file.cc @@ -288,7 +288,7 @@ CaseFile::ReEvaluate(const string &devPath, const string &physPath, Vdev *vdev) return (/*consumed*/false); } - if (VdevState() > VDEV_STATE_CANT_OPEN) { + if (VdevState() > VDEV_STATE_FAULTED) { /* * For now, newly discovered devices only help for * devices that are missing. In the future, we might diff --git a/tests/sys/cddl/zfs/tests/zfsd/zfsd.kshlib b/tests/sys/cddl/zfs/tests/zfsd/zfsd.kshlib index a4a7ef80ed9f..6369387ba069 100644 --- a/tests/sys/cddl/zfs/tests/zfsd/zfsd.kshlib +++ b/tests/sys/cddl/zfs/tests/zfsd/zfsd.kshlib @@ -52,7 +52,7 @@ function wait_for_pool_dev_state_change function wait_for_pool_removal { typeset -i timeout=$1 - wait_for_pool_dev_state_change $timeout $REMOVAL_DISK "REMOVED|UNAVAIL" + wait_for_pool_dev_state_change $timeout $REMOVAL_DISK "REMOVED|UNAVAIL|FAULTED" } function wait_until_scrubbed diff --git a/tests/sys/cddl/zfs/tests/zfsd/zfsd_autoreplace_003_pos.ksh b/tests/sys/cddl/zfs/tests/zfsd/zfsd_autoreplace_003_pos.ksh index 4eb04d60809e..7ad7a9113402 100644 --- a/tests/sys/cddl/zfs/tests/zfsd/zfsd_autoreplace_003_pos.ksh +++ b/tests/sys/cddl/zfs/tests/zfsd/zfsd_autoreplace_003_pos.ksh @@ -83,19 +83,25 @@ typeset SPARE_NOP=${DISK4}.nop typeset OTHER_DISKS="${DISK1} ${DISK2}" typeset OTHER_NOPS=${OTHER_DISKS//~(E)([[:space:]]+|$)/.nop\1} set -A MY_KEYWORDS "mirror" "raidz1" "raidz2" +set -A MY_FAILURES "FAULTED" "REMOVED" ensure_zfsd_running log_must create_gnops $OTHER_DISKS $SPARE_DISK -for keyword in "${MY_KEYWORDS[@]}" ; do - log_must create_gnop $REMOVAL_DISK $PHYSPATH - log_must create_pool $TESTPOOL $keyword $REMOVAL_NOP $OTHER_NOPS spare $SPARE_NOP - log_must $ZPOOL set autoreplace=on $TESTPOOL +for failure in "${MY_FAILURES[@]}" ; do + for keyword in "${MY_KEYWORDS[@]}" ; do + log_must create_gnop $REMOVAL_DISK $PHYSPATH + log_must create_pool $TESTPOOL $keyword $REMOVAL_NOP $OTHER_NOPS spare $SPARE_NOP + log_must $ZPOOL set autoreplace=on $TESTPOOL - log_must destroy_gnop $REMOVAL_DISK - log_must wait_for_pool_removal 20 - log_must create_gnop $NEW_DISK $PHYSPATH - verify_assertion - destroy_pool "$TESTPOOL" - log_must destroy_gnop $NEW_DISK + if [ $failure = "FAULTED" ]; then + log_must zinject -d $REMOVAL_NOP -A fault $TESTPOOL + fi + log_must destroy_gnop $REMOVAL_DISK + log_must wait_for_pool_removal 20 + log_must create_gnop $NEW_DISK $PHYSPATH + verify_assertion + destroy_pool "$TESTPOOL" + log_must destroy_gnop $NEW_DISK + done done log_pass From nobody Thu Oct 31 14:01:14 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQdQ40Q7z5blHc; Thu, 31 Oct 2024 14:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQdQ3SJlz41m9; Thu, 31 Oct 2024 14:01:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=olTce2iF7OlJMv/4ma1uPFmlc6CLvZO9shFqyHKWdB8=; b=QKEpmBWasujMtR0hvpv70iqRf2nEh45G0DBYfM2NR1bjQN4hQnzLxrmlVzHxA0yzsLj2rB lGrFXOGIl495EeN3ZzHZPdpQrz65o2VMPWaDV27PoE/Dz3d6GjhXTn7dqMFCk8I2xvQdlI tDBZ0B7Si09W81EzvOV0/pzDfw/N+pg2f4fqQuwlI9VqeTWLCcyQdUPNbbPUDKPukVevbR Mjf2C8n7wKGwNkf4ilWyv+GLGpyIGnV14yDwKvw8dN+vOFy9EzSwowx3LTfp/0W+POSYfh FCdSO4zWCrs+aYmuru7M6qeirJwXf4gZyU9roZHBw39Vuiipgmeln2KQG5GJag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=olTce2iF7OlJMv/4ma1uPFmlc6CLvZO9shFqyHKWdB8=; b=Iz/PTzgGFgxRqISvb2IMlF71ymnYOgcoYqeG5AlnmbT+LEb9WXRNpbMzC8+gE2RQAGKWAv F+pBKW9LYuIidrmfZgUP1G//rM3q8lkWtmdeR53kSXV3NOeq/I6ra4bJntHm4ekmLSCtUY DEEfK4L68c6Udm6oYnTLIfVCGIm6oUpEY15eyJECxbyYlyy4E/LKFjgsk7//zY09nqIO0w EzhkrUV2WjjguRca4Xsd0AoLRATLWZ2sqHv7EIF+iyqEUs1S2yJAstshXRd95Gc4f4MoiM wgbJm3c/89DcnZihZotFc+/zqPTxevKe9QY0yMR7dgbUd0vCVBSudhYrPLxxgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383274; a=rsa-sha256; cv=none; b=eTxO50pKdp4cjOdtmDUnIUylE5uNlOST1SJ0hge61TV+r5pM5N8CMBwQQyGFNNWhyCzn0F Gs8S6mz8n7d6On+yxQpJr6NluMgV2eIQ3bLE/fbZXRvIlW5dRKThPpFirSWu1q1joxZExV yv5L5TTQgEAE+zAR+ZzwwQ2KREl4/HWHfEP8f4OSkmN1Fz9dqXDSaj/wYl8TYiuvp2BSnc SXsaydbFDl2npea2yD9kS/ujpqgyNqakMIpj1akhwyQ8huoPjXU3OAh4dcDIlMxM8XU1eF KS2Y4pZPkx3wJHrWUnwG05uzsFQKOl70K0xlG5VU92cIBQIllKKyQO8NbeCg3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQdQ33gMzfGn; Thu, 31 Oct 2024 14:01:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VE1EHs040874; Thu, 31 Oct 2024 14:01:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VE1EmZ040871; Thu, 31 Oct 2024 14:01:14 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:01:14 GMT Message-Id: <202410311401.49VE1EmZ040871@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: ebdee305b160 - stable/14 - sctp: make sctp_free_ifn() static List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: ebdee305b160223fd3f7f5357f649dedb8805fa7 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=ebdee305b160223fd3f7f5357f649dedb8805fa7 commit ebdee305b160223fd3f7f5357f649dedb8805fa7 Author: Michael Tuexen AuthorDate: 2024-10-10 08:42:35 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:40:03 +0000 sctp: make sctp_free_ifn() static It is not used outside of the file. No functional change intended. (cherry picked from commit e1a09d1e9df30347c279604191a04ce2ef20bf0c) --- sys/netinet/sctp_pcb.c | 2 +- sys/netinet/sctp_pcb.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 2972b0a925d6..f89865456274 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -239,7 +239,7 @@ sctp_free_vrf(struct sctp_vrf *vrf) } } -void +static void sctp_free_ifn(struct sctp_ifn *sctp_ifnp) { if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&sctp_ifnp->refcount)) { diff --git a/sys/netinet/sctp_pcb.h b/sys/netinet/sctp_pcb.h index ade29fb3544d..ed6a1c34ccf7 100644 --- a/sys/netinet/sctp_pcb.h +++ b/sys/netinet/sctp_pcb.h @@ -508,7 +508,6 @@ sctp_add_addr_to_vrf(uint32_t vrfid, void sctp_update_ifn_mtu(uint32_t ifn_index, uint32_t mtu); -void sctp_free_ifn(struct sctp_ifn *sctp_ifnp); void sctp_free_ifa(struct sctp_ifa *sctp_ifap); void From nobody Thu Oct 31 14:01:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQf91vTyz5bldJ; Thu, 31 Oct 2024 14:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQf90zlDz42Cw; Thu, 31 Oct 2024 14:01:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LrdMZ8y+6jobTm9mPdymTfF0XSSPk7Z7ZBm5m/zzu3w=; b=SuKlOsWE3yG123bRE97AZZGCrA2sGbwTa/QME3w+HvbOaqFyWmzJpBcezqQATNc+LrI3tK vTUgvFXqQiy1A3G3EUZeqgot32vfu+9bJKLOMCGCJWsHYaw375xBVjmhotgDpo2fx7MaeA g9oAqWR6DI1FLQwEbZ1TlliK6nrCKMYRNE+EVJfd92su5zu/rLxasdik+rG5kKFN3DJvED Mec7TuCSYQAZWOvD/yR+pcz+CZZZHZdtDGJjFNf/RSfHR5uIcryXRGho5wNUn5JtMH0vsP W+8J68SpLryN6adccyXl7Q3EeAGMgln9hPVomeDkyeruamntmi2oDFmQth0AKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LrdMZ8y+6jobTm9mPdymTfF0XSSPk7Z7ZBm5m/zzu3w=; b=ZyivYml6EJW5qlbDXuYmyMBtfrAWrsNDg4cnRh2MLdxX3Wp2K2jKktxeHafd8n4YA3rv3Z cYqGdRF0Ty3i5vE9TDLVqUs3Ux0JGdYo/z83qzRw/dnLDElTtgNE+aE9IymWoJV/TEdegw FX3kTO/uZIUO28ZHX0bWkgBBmRkIYPuOTFtGc+v0DJPJEOqwr0Rf62SqxB3NKUBGA4Z9b1 O9BHyCwLxbBti5c2tc/4wzhobjzHk86n/m2yfPeQtCdgBUBWB4usfUVmGH6104AwoTpkDu UjSgCXM1nmwanw6Fw4Pz/Vzf2JfxLJNshA6qCipZSYo+1jrsf1ZnZ8AnmvzIqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383313; a=rsa-sha256; cv=none; b=GLgtL/udzn0HX7ltm+0l+cuflawy9ygszTJPpoIA7JBB0jZJ8ZovuEWh371ewP1lTQLmdY UxY6MEbedTqOD3KT+p7RBSb6CnzOjZs5EjOTfrYLOyfUUcKqEPV7ZDYXj7Hsb0tDBvsM7b nztO8jdRGyzVa8j1DwQFZwatEMnkQ0/jqFKE3klFWL0WZ3b0pAmCCNH5YsArwR6DgIvU+j odmaq0O4w+t461BshODQTL1PppLW9boLWIjRZiDiRMfdkB0A8SMgM/eNWKY0UqdWIwbA8n 9gqayvOoFAD2VRk0ULtF1R3NDLbf5LNL9PW2ocP2xdOOwj3LNCOwZzllqoKQHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQf90bjhzfdB; Thu, 31 Oct 2024 14:01:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VE1q3O044443; Thu, 31 Oct 2024 14:01:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VE1qMo044440; Thu, 31 Oct 2024 14:01:52 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:01:52 GMT Message-Id: <202410311401.49VE1qMo044440@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: bbb73d8941d4 - stable/14 - sctp: check locking requirements List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: bbb73d8941d4ccbbf8b97677556f6485a8e3845b Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=bbb73d8941d4ccbbf8b97677556f6485a8e3845b commit bbb73d8941d4ccbbf8b97677556f6485a8e3845b Author: Michael Tuexen AuthorDate: 2024-10-10 13:50:41 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:40:21 +0000 sctp: check locking requirements Actually assert the locking instead of describing it in a comment. No functional change intended. (cherry picked from commit 4466a97e83fd9484cb22dd2867b6972f6b185e8b) --- sys/netinet/sctp_pcb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index f89865456274..a0f323043d9b 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -378,13 +378,13 @@ out: /*- * Add an ifa to an ifn. * Register the interface as necessary. - * NOTE: ADDR write lock MUST be held. */ static void sctp_add_ifa_to_ifn(struct sctp_ifn *sctp_ifnp, struct sctp_ifa *sctp_ifap) { int ifa_af; + SCTP_IPI_ADDR_WLOCK_ASSERT(); LIST_INSERT_HEAD(&sctp_ifnp->ifalist, sctp_ifap, next_ifa); sctp_ifap->ifn_p = sctp_ifnp; atomic_add_int(&sctp_ifap->ifn_p->refcount, 1); @@ -415,11 +415,11 @@ sctp_add_ifa_to_ifn(struct sctp_ifn *sctp_ifnp, struct sctp_ifa *sctp_ifap) * Remove an ifa from its ifn. * If no more addresses exist, remove the ifn too. Otherwise, re-register * the interface based on the remaining address families left. - * NOTE: ADDR write lock MUST be held. */ static void sctp_remove_ifa_from_ifn(struct sctp_ifa *sctp_ifap) { + SCTP_IPI_ADDR_WLOCK_ASSERT(); LIST_REMOVE(sctp_ifap, next_ifa); if (sctp_ifap->ifn_p) { /* update address counts */ From nobody Thu Oct 31 14:02:30 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQft5hVbz5blpt; Thu, 31 Oct 2024 14:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQft5Cfzz42Q8; Thu, 31 Oct 2024 14:02:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0BXctueyxXKI/Szsr4W53oK3wNhJ5g2rEsTY9KT6QXU=; b=OSx44c8rhToT9ABThx12XVivQzH1q2aO12P+uFLvyHjwCNDB3wUEjdEM7fDusSMU+EX1T3 3pXYMi9A1AkNkvbVf4aGhyIYo4DxjzC2NL5I8GQiusN1VNiIqXZrfkNfhmKvIm5YJetCFW ur3CHIsnApsL6ZzVXPHqPCKyr1yZgFKqBnRC+7y9HxOlgAHvkTCktPkqH3rKjSTHZGx2Q6 DqnlDjrUH+227xbfICxQPyjyCC/ond+5aAE2cucLddLDAhpNsw1PINyLT8qhIgO5eA4Omp lyEoEbVyjAelszmFapNSaGDMsHKC7iQ4eY14YCgnqag1xp/x1WdTcnJWgjXPpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0BXctueyxXKI/Szsr4W53oK3wNhJ5g2rEsTY9KT6QXU=; b=GlWMQRphztoGjvpafY91a5Rkzi8wjhcOFolhaUWA50sWRIn6ZPP3UvlB3ZZPUPHvLhwCGc N9ZSnBw55RM4oKD23Exu+Kl3/FCmPSGS1qU/nDD60cRcWSpa8/RsW8W+X9UEMtG7FZ6/Vc u4QfvsBoVy+A8gTU+OmyMOb+05BvJr0qNTDUb568UUz3JEzLXV+GaS93+vPEv/pNkK+dHp EK5zExGeFUbeWBpV5Bl0IjiGDovAeOH1/vadJBilcGc/pB13NUjOHqcOeZzgj2QwsiiL9Z AQck7B3qnpkcVB8hcTiv4wM/sWj9sy53+29ed4zjtD59JAb3e9+5+AmW7IVsYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383350; a=rsa-sha256; cv=none; b=xHCz3fv/netu+n1DvU7v5pzdl8rDjysBjLHCVO5UiVwJ3LEPdkQ8nfyfPwoRP0YQvhLSB8 64pnwSOK/XbxxfT+yD4q4fDeidMJWEkUY+I6W5oUBaOUkwDB1TURv/6RPIxRy2UYAffRLq uTcoeOtmtP/TRfvbaJaWJIxfJFFC74qmVCdAbNbCom1ntJfx5SNBHebnO6P7+HWCCw5Slv nI7ldGJnZhC/vwFen60y+qb2mEENZgdHo4ljNMz5bxSLDbS9VXQ6ZbhF5yCGyxtsKdAM2Y bNgqpbHAw8KEmUiZFyZJuibPcjQOajhij2e4Ll9AIEZVTJFNrVAK4np7rzAFcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQft4q00zfY0; Thu, 31 Oct 2024 14:02:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VE2U3e048901; Thu, 31 Oct 2024 14:02:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VE2UjT048898; Thu, 31 Oct 2024 14:02:30 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:02:30 GMT Message-Id: <202410311402.49VE2UjT048898@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 8689398f0921 - stable/14 - sctp: improve debug output List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 8689398f0921fd2f26240608e6866fe78feff672 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=8689398f0921fd2f26240608e6866fe78feff672 commit 8689398f0921fd2f26240608e6866fe78feff672 Author: Michael Tuexen AuthorDate: 2024-10-24 11:18:22 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:41:06 +0000 sctp: improve debug output (cherry picked from commit ce20b48a60fbae275085237dd48075d426f00d37) --- sys/netinet/sctp_asconf.c | 6 +++--- sys/netinet/sctp_output.c | 8 ++++---- sys/netinet/sctp_pcb.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/netinet/sctp_asconf.c b/sys/netinet/sctp_asconf.c index 3a30b0ba3740..6b98557c45a6 100644 --- a/sys/netinet/sctp_asconf.c +++ b/sys/netinet/sctp_asconf.c @@ -1313,13 +1313,13 @@ sctp_asconf_queue_mgmt(struct sctp_tcb *stcb, struct sctp_ifa *ifa, #ifdef SCTP_DEBUG if (SCTP_BASE_SYSCTL(sctp_debug_on) & SCTP_DEBUG_ASCONF2) { if (type == SCTP_ADD_IP_ADDRESS) { - SCTP_PRINTF("asconf_queue_mgmt: inserted asconf ADD_IP_ADDRESS: "); + SCTPDBG(SCTP_DEBUG_ASCONF2, "asconf_queue_mgmt: inserted asconf ADD_IP_ADDRESS: "); SCTPDBG_ADDR(SCTP_DEBUG_ASCONF2, &ifa->address.sa); } else if (type == SCTP_DEL_IP_ADDRESS) { - SCTP_PRINTF("asconf_queue_mgmt: appended asconf DEL_IP_ADDRESS: "); + SCTPDBG(SCTP_DEBUG_ASCONF2, "asconf_queue_mgmt: appended asconf DEL_IP_ADDRESS: "); SCTPDBG_ADDR(SCTP_DEBUG_ASCONF2, &ifa->address.sa); } else { - SCTP_PRINTF("asconf_queue_mgmt: appended asconf SET_PRIM_ADDR: "); + SCTPDBG(SCTP_DEBUG_ASCONF2, "asconf_queue_mgmt: appended asconf SET_PRIM_ADDR: "); SCTPDBG_ADDR(SCTP_DEBUG_ASCONF2, &ifa->address.sa); } } diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index cc8d017aba16..2a3c0248be60 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -13913,15 +13913,15 @@ sctp_v4src_match_nexthop(struct sctp_ifa *sifa, sctp_route_t *ro) mask = (struct sockaddr_in *)(ifa->ifa_netmask); sin = &sifa->address.sin; srcnetaddr.s_addr = (sin->sin_addr.s_addr & mask->sin_addr.s_addr); - SCTPDBG(SCTP_DEBUG_OUTPUT1, "match_nexthop4: src address is "); + SCTPDBG(SCTP_DEBUG_OUTPUT2, "match_nexthop4: src address is "); SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, &sifa->address.sa); - SCTPDBG(SCTP_DEBUG_OUTPUT1, "network address is %x\n", srcnetaddr.s_addr); + SCTPDBG(SCTP_DEBUG_OUTPUT2, "network address is %x\n", srcnetaddr.s_addr); sin = &ro->ro_nh->gw4_sa; gwnetaddr.s_addr = (sin->sin_addr.s_addr & mask->sin_addr.s_addr); - SCTPDBG(SCTP_DEBUG_OUTPUT1, "match_nexthop4: nexthop is "); + SCTPDBG(SCTP_DEBUG_OUTPUT2, "match_nexthop4: nexthop is "); SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, &ro->ro_nh->gw_sa); - SCTPDBG(SCTP_DEBUG_OUTPUT1, "network address is %x\n", gwnetaddr.s_addr); + SCTPDBG(SCTP_DEBUG_OUTPUT2, "network address is %x\n", gwnetaddr.s_addr); if (srcnetaddr.s_addr == gwnetaddr.s_addr) { return (1); } diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index a0f323043d9b..d09b5062a512 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -769,7 +769,7 @@ sctp_del_addr_from_vrf(uint32_t vrf_id, struct sockaddr *addr, else { SCTPDBG(SCTP_DEBUG_PCB4, "Del Addr-ifn:%d Could not find address:", ifn_index); - SCTPDBG_ADDR(SCTP_DEBUG_PCB1, addr); + SCTPDBG_ADDR(SCTP_DEBUG_PCB4, addr); } #endif From nobody Thu Oct 31 14:03:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQgY0Phsz5bm2s; Thu, 31 Oct 2024 14:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQgX6fBmz42v0; Thu, 31 Oct 2024 14:03:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/+15qieJRqhv83gQdQ5pY4qY1bDazi0O9WImaF12enc=; b=vr12LxBQzWLKVTIK8jcZUNV+OK8chV+9mGpqYZTMCn5a1JXwQUx8HmIwI3dAGa3zBAonbo aPPET9fRFwqT4Q4gt0IKJsTpwCpQBm1yrzn0wvoKJ4Oh/w008EuELN7pz95opTJkb4uFxl JX4p+xXlmPJs5j3v+ytnf+gJfgTs7kVZwERSEjWhxgBYoWrYqnf7Zv5DHvzamO+jcqcMao 2bCVQVi8gAHIBgEc6Jbpab/P28Tg1U/iAGIhfb+1IW8mHVcB/1yFBKI2C1p0QulugiSmu1 zP2fXDRtzWXrg08JoPeMlr9iAZppLM7fBCnH23gk/chO5zEMSiXIRofHyCF3Ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/+15qieJRqhv83gQdQ5pY4qY1bDazi0O9WImaF12enc=; b=j9fqSsfOnDWPjhDEvbqKZ7BXZQ0YRY8pi41kHwIfwjE6h4vkREQYyfUXt0QxpcdbtMbEwA f8fkqSQehiDFjqY5tC4DrELu8UabeYlAIDnt4qmaiL++PxVqM/1DM+bPUCLP4sO3O+luZP OjCUKRZT85MyGHCm93Lb8VgqzArDNfOESnqmLoo5LYFf3sb86GDLQdjdOxTnfNb3eUQRin YhiUn2XvJ2+uudZIpvm/7nixWvhnldNGmr311h9ZnkGr4kCG8J8XaWFdXf1S6/yD8LHxST rn8DizR0foR4YYNuAmUlolu73S3nlIfhO7Q0JOhB1yxy1yKmSQgsCtPmLuORfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383384; a=rsa-sha256; cv=none; b=yF3hci1W0NOFhiP5GiqneMy1QkfjIMEtTZrlbQFDST7eL2Q0vAXftL1TMxIyS5PwnLp2LD dmu3JWDSp0u6uArzp+QQh4QJ2GIoolkhlIe9EHYoF6QZpX4ODBkFdyYtcqwO4v1EjsIJ/W YMC7ikueL9+qW+s0TgEPJWIVEvGlQYdfrExp8r1n52g0Fhl6IB9QBEDo4WvrZu/SNIzXsK 2r8iZRQUMKHBDTB/bomlVY/HcPDmhjGhzDNL/vvo4hqCBvWBDo+n0FLK8YuomTyF95iB1/ TbR8QVfCtKcFjgDPNqZHTY1GJbx74f8qW6OFQSk3PDuzCqHdzZdaqwiZ2vDTLA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQgX6FD3zfhF; Thu, 31 Oct 2024 14:03:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VE348R049206; Thu, 31 Oct 2024 14:03:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VE34EC049203; Thu, 31 Oct 2024 14:03:04 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:03:04 GMT Message-Id: <202410311403.49VE34EC049203@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 18a20a430691 - stable/14 - sctp: cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 18a20a43069193171c175c36077a1aae125f117c Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=18a20a43069193171c175c36077a1aae125f117c commit 18a20a43069193171c175c36077a1aae125f117c Author: Michael Tuexen AuthorDate: 2024-10-24 11:24:49 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:41:41 +0000 sctp: cleanup No functional change intended. (cherry picked from commit e4ac0183a1a846ef6556c9876dab76c06f5fea9c) --- sys/netinet/sctp_pcb.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index d09b5062a512..f3d477e2a9a8 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -192,21 +192,17 @@ sctp_find_ifn(void *ifn, uint32_t ifn_index) struct sctp_ifn *sctp_ifnp; struct sctp_ifnlist *hash_ifn_head; - /* - * We assume the lock is held for the addresses if that's wrong - * problems could occur :-) - */ SCTP_IPI_ADDR_LOCK_ASSERT(); hash_ifn_head = &SCTP_BASE_INFO(vrf_ifn_hash)[(ifn_index & SCTP_BASE_INFO(vrf_ifn_hashmark))]; LIST_FOREACH(sctp_ifnp, hash_ifn_head, next_bucket) { if (sctp_ifnp->ifn_index == ifn_index) { - return (sctp_ifnp); + break; } - if (sctp_ifnp->ifn_p && ifn && (sctp_ifnp->ifn_p == ifn)) { - return (sctp_ifnp); + if (ifn != NULL && sctp_ifnp->ifn_p == ifn) { + break; } } - return (NULL); + return (sctp_ifnp); } struct sctp_vrf * From nobody Thu Oct 31 14:03:41 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQhG1T19z5blsC; Thu, 31 Oct 2024 14:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQhG11MVz433h; Thu, 31 Oct 2024 14:03:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KaKUL6VwAaCUWD2bP/7QMZ6nzRPxkPrnT3bQXabGIGQ=; b=um9ZZwRRQAHxhGXsYWLVyiiHFxj8cUxkYOWoaObyM89wXSK1HSy/RT+7IPxsXtMxaLjmT7 2vS+hAAuLTP8eZZ7EDyysTxyra0d+Ks4Q6jXy2h16GvoBM5dOa76YGgvvzfuOdRf5p3gfE kfKUdv76/wqiUuvHmS4LTTsh0wqN9hBLxg2tCGkRZ2+iYA+miNxlUpJl+MAidlj7wzqcHh UqvPaLNtADBWF/pqGe5L0xjJaPV6r63bByPBV/2A48Bz/arHYKBU/6btdCrxF4Xb0xn7kf 6y1KB4eBJ3zdig3WEyPDtpvJTETKIft4tD43gDyzlonzlp9de3K3Z+/wQ6mEfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KaKUL6VwAaCUWD2bP/7QMZ6nzRPxkPrnT3bQXabGIGQ=; b=T4M4N6O4k1SmuGRpPKbUksd/5GSfvpUYEAx4eRFvjy5vICTOsayO5wfS+qJ0NdyrlDLcro 84hVTfAHKj0PhXNvZqD9oOZRiWVo4ms+o3+MwjK/fOkEn2NB6fTDNeWGIbQp3GO8B4WnZK YF/rZnDa+Lsus+Izo8r47mw/9k6/sFKfTh76Jn66joM/zQtjQIARAGBuIidmOt42R5js+P S0K7rruKR3HiwK4wKMrR/WYqPpKWCqgUQOyv1ZOPrte40n1z4dfif6WBPQh6ToQc4ZLRbC MUyb5eG5XEU3M1iWqw0eNHcYUlzs1cjDE1G+585KqbI8hTH8g/lLWxcp7UKh8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383422; a=rsa-sha256; cv=none; b=GP2kPZLMKTlDFIkmK5TbWPOPrQt43cN1Pg0X3p+kExpdwLmw4/6Y3zkij1+GsxmvIDqi8V W0xAZLN3Dv48/SznQVrcnI8KH36LdglimmQ6WVuz8FA7nZdM/4OXdYISzG6ygAaluQ0LIi HRvdghaAYy/HhtuBbY9sqwBUm7k5VYIGGdl8id4RZIIl9OzBWqGrpjmuNCxBKfv9fyAbWY xrlRY+glc78omtRdTXaCDuBfDrhZbGalXtLgSkHAFRJg1x6uVlZvWODTAy57BapXujaiB/ Iyz/dUJarH7azLyGRQ1kFtvVTecE5DHZ77puZ8Sbqrxk8Ml4LflCtk/PVi/dTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQhG0Y8SzfY1; Thu, 31 Oct 2024 14:03:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VE3feW049459; Thu, 31 Oct 2024 14:03:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VE3f9T049456; Thu, 31 Oct 2024 14:03:41 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:03:41 GMT Message-Id: <202410311403.49VE3f9T049456@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 129057d5fadd - stable/14 - sctp garbage collect sctp_update_ifn_mtu List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 129057d5fadd06e2c3644b60a8f9bc76868d2e51 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=129057d5fadd06e2c3644b60a8f9bc76868d2e51 commit 129057d5fadd06e2c3644b60a8f9bc76868d2e51 Author: Michael Tuexen AuthorDate: 2024-10-24 20:00:59 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:42:13 +0000 sctp garbage collect sctp_update_ifn_mtu (cherry picked from commit ce5b5361d4d1b3868631baa6870ba6e1e6ec8330) --- sys/netinet/sctp_pcb.c | 11 ----------- sys/netinet/sctp_pcb.h | 2 -- 2 files changed, 13 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index f3d477e2a9a8..3665b8e2f211 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -248,17 +248,6 @@ sctp_free_ifn(struct sctp_ifn *sctp_ifnp) } } -void -sctp_update_ifn_mtu(uint32_t ifn_index, uint32_t mtu) -{ - struct sctp_ifn *sctp_ifnp; - - sctp_ifnp = sctp_find_ifn((void *)NULL, ifn_index); - if (sctp_ifnp != NULL) { - sctp_ifnp->ifn_mtu = mtu; - } -} - void sctp_free_ifa(struct sctp_ifa *sctp_ifap) { diff --git a/sys/netinet/sctp_pcb.h b/sys/netinet/sctp_pcb.h index ed6a1c34ccf7..86c244c71544 100644 --- a/sys/netinet/sctp_pcb.h +++ b/sys/netinet/sctp_pcb.h @@ -506,8 +506,6 @@ sctp_add_addr_to_vrf(uint32_t vrfid, void *ifa, struct sockaddr *addr, uint32_t ifa_flags, int dynamic_add); -void sctp_update_ifn_mtu(uint32_t ifn_index, uint32_t mtu); - void sctp_free_ifa(struct sctp_ifa *sctp_ifap); void From nobody Thu Oct 31 14:04:15 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQhv3z5mz5bm2x; Thu, 31 Oct 2024 14:04: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQhv3FCSz43cC; Thu, 31 Oct 2024 14:04:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GQD33K6ou5cpbXswexT5T8MJIMs6lv9Mh4YTtEIkMlk=; b=JrrBxhKN3SCxydFqfgMIntO/QoG+Gvv0QtaEGLihQ7btcy7etzbJmp9/6YoAj9ZCageh5+ nzlcaqj4txL5DIe+HZC3yLtCQowJTqB6YBLoFG3lNBzNFrqY6ARxmgVK48okoGewsov8J7 qeWgSGTQF0dSkLAWqLoIo6PuURAmBaaxka+7Nw32QNEfofFA80u3ffJHe48Bi3L36qXo2z XgjE0jdUaZmCFEFWz2gedVBrT32Lo67pOl1jb7i5WMJd///cYlv4kctCpSfm+ZRlqfPy5f xuij/EnD+aAQuN8HNcQdLaa2dYbb9D8cVaydQThYqUaxRyhAprYVDJbkZhp3Lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GQD33K6ou5cpbXswexT5T8MJIMs6lv9Mh4YTtEIkMlk=; b=mjwevqRJXOcmTfjwVPZzus0SOc/gTdoAAoqmvW/ef5zrkAVCjEF1ppCGsICChpgkk5dmFJ /TPpPyoxzYCAPs7/QZEm0hW9k3d+O/NZesZLEjtLB/fS9wYc8EmhAfffNt1xoj9ss7VhFB Zy2Fgn6QNy7jM19/zoB3jhaI13byDLOtKfkEwm1Lz8m7MlxlsuYVsHnPa0sdfMeCHSwY87 XfP9kzXdfursCpDUqROXX9FuFcHuCpVQkuoR55tX20RqJ2i4IIKWo/1LVqFQI+YqVhLfxr u4IgXKNdE6SsIXXAJ6xM5YgXyHDM1Oj8svKa55ezvdXoiMs3RnvOWnM76nHPKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383455; a=rsa-sha256; cv=none; b=RNtajjEIvtViSpUhRz9YIa/ePQMv/NEbCcmhZZGXiAQ/FlSEvPC6vFMwnvDK1hKFq4d8jD eq57Avoq9YmFAv00G+xbDPGPCyGpAF5V2OxbjcRr4kRZv/RidqgeplBGyF4MV1KI8e9YiA Qcv3xwx62YDpJMGWwZkaAMv22WcI8h7sQFxJeNaWZld/Eu32U9TS7qZTEkS3m5x/hQ3htu 010EwMPTyclCkJ5rOw+ptW6G1X3rlt6rPkEtbTm7ecMD5IbMFm44AEHQISLLdVjRFkiMmB W/o+BXe4eOqsTqbY6LtN7ETOKf3W4+hQbllW8PqDSHvMe1OcrDn0Ga2kAcaVdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQhv2Y34zfY2; Thu, 31 Oct 2024 14:04:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VE4FTm049768; Thu, 31 Oct 2024 14:04:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VE4Fcg049765; Thu, 31 Oct 2024 14:04:15 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:04:15 GMT Message-Id: <202410311404.49VE4Fcg049765@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 676b45d04b60 - stable/14 - sctp: further cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 676b45d04b60c59f813d5bd385954c4a820c5840 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=676b45d04b60c59f813d5bd385954c4a820c5840 commit 676b45d04b60c59f813d5bd385954c4a820c5840 Author: Michael Tuexen AuthorDate: 2024-10-25 11:47:43 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:42:52 +0000 sctp: further cleanup (cherry picked from commit 02478e65910ab1ef53511ebb2271cdcf0e9a14cf) --- sys/netinet/sctp_pcb.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 3665b8e2f211..d32be9c791a9 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -455,7 +455,6 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, struct sctp_ifalist *hash_addr_head; struct sctp_ifnlist *hash_ifn_head; uint32_t hash_of_addr; - int new_ifn_af = 0; #ifdef SCTP_DEBUG SCTPDBG(SCTP_DEBUG_PCB4, "vrf_id 0x%x: adding address: ", vrf_id); @@ -519,7 +518,6 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, LIST_INSERT_HEAD(hash_ifn_head, sctp_ifnp, next_bucket); LIST_INSERT_HEAD(&vrf->ifnlist, sctp_ifnp, next_ifn); atomic_add_int(&SCTP_BASE_INFO(ipi_count_ifns), 1); - new_ifn_af = 1; } sctp_ifap = sctp_find_ifa_by_addr(addr, vrf->vrf_id, SCTP_ADDR_LOCKED); if (sctp_ifap) { @@ -529,7 +527,7 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, SCTPDBG(SCTP_DEBUG_PCB4, "Using existing ifn %s (0x%x) for ifa %p\n", sctp_ifap->ifn_p->ifn_name, ifn_index, (void *)sctp_ifap); - if (new_ifn_af) { + if (new_sctp_ifnp == NULL) { /* Remove the created one that we don't want */ sctp_delete_ifn(sctp_ifnp); } @@ -597,8 +595,8 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, sctp_ifap->src_is_priv = 1; } sctp_ifnp->num_v4++; - if (new_ifn_af) - new_ifn_af = AF_INET; + if (new_sctp_ifnp == NULL) + sctp_ifnp->registered_af = AF_INET; break; } #endif @@ -617,13 +615,12 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, sctp_ifap->src_is_priv = 1; } sctp_ifnp->num_v6++; - if (new_ifn_af) - new_ifn_af = AF_INET6; + if (new_sctp_ifnp == NULL) + sctp_ifnp->registered_af = AF_INET6; break; } #endif default: - new_ifn_af = 0; break; } hash_of_addr = sctp_get_ifa_hash_val(&sctp_ifap->address.sa); @@ -639,9 +636,6 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, sctp_ifnp->ifa_count++; vrf->total_ifa_count++; atomic_add_int(&SCTP_BASE_INFO(ipi_count_ifas), 1); - if (new_ifn_af) { - sctp_ifnp->registered_af = new_ifn_af; - } SCTP_IPI_ADDR_WUNLOCK(); if (new_sctp_ifnp != NULL) { SCTP_FREE(new_sctp_ifnp, SCTP_M_IFN); From nobody Thu Oct 31 14:04:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQjd22cMz5blyT; Thu, 31 Oct 2024 14:04: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQjd1VRsz43gs; Thu, 31 Oct 2024 14:04:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RP3Y+SpXZC56VBuosBmXCb/fMMx4L6bdBvJlW/fE6FA=; b=dJ/LnwDrspWk5lqQft4nHQppTN7xa058S7z17FXzgMbX7UvOpYeYnCYcHm4yztFqXsGpvM 8SkytSktuvIWmHapYlJCnq7imTncgpRYZiSRHj7l21Li3XcXXyZK2SSMsTIG9cd6PZ+jCx yWoJDs0eK19XDquy2W2gFZsgIumD/bOFUWAfqbnG3kBzeYrBL6Q1r+/+Oty3BGktBznL04 iX6Guer4Ziku4nrI1DaEgSHo8eGvp7xn+7mC8f1JF9EJitj/Lu8KjPf6+8uegbB+/fa6qR wRc9QP/RnUoKnfIPBmfaDiVa9LdQpSdmfs26AE5EDUKS4OhQj1r2T1DVRqauOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RP3Y+SpXZC56VBuosBmXCb/fMMx4L6bdBvJlW/fE6FA=; b=HPxW8WRj6rEf6bZsAAd2ju4Yve5EoTLKRAIvJEJOqJzT/LXJoj9CT6vZa/ILQhm85/NHDa a3iTms5c2PWrOKOaNTn1A+Uf3AYyAd9robcEGWSTzQG7eXpbCUtIHgaxh8UY2EdpEMU59+ EkvCgEkakVIJtQ4TcyrsAa100SY68mJUONJfCqfwTqn4GDz58KAkGIMb/93+IPWDbISIf5 3SLsdqZyIZWgOc8HK1747zw7wEHN5Ut+H9onppaDPh4YS/PULwDx7M2scR7OYKEQYG+xZ3 qfo1AS65aR+4+VUTipyxwIp2CTTV1MjRJbVtxBvNrWdyN0OgM9CKAMN3Qda5RA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383493; a=rsa-sha256; cv=none; b=No6cTvMO18zPwP/mWtEnF5dLdu4qg4G15wveG6nMdDzunaDH0PQEvlWqBv3+8MhMk0eb86 b4CP9v8TvDp8XdH6O6aedbDK5q4KI/CKMfMo+thWgTn5MEVxmfIcqYBvHzZqo8yg0dMdFB nUdmCfpXdHuYbIdQEp2AYpG+IbMlj+lwyASuYqAkaBwa9o4hYBPKrNoDTnFACFGTE2pcpT rETr2I3iu5DVlL4b//TXlsl6Usb8N3poD+FNUAojBwMfZo4YcLQnvUwbwPeC81Kjp7e9Eu u9MrAKStxdgD5OLKreTzCqKbcYVJLw9W3mKDGuEKAwvrd+2BIIU+VjKRFPbLyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQjd16fvzfY3; Thu, 31 Oct 2024 14:04:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VE4rlT050116; Thu, 31 Oct 2024 14:04:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VE4rse050111; Thu, 31 Oct 2024 14:04:53 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:04:53 GMT Message-Id: <202410311404.49VE4rse050111@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: abbfa0cb48b3 - stable/14 - sctp: cleanup the addition of addresses which are already known List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: abbfa0cb48b36ecc8c1acf6bd61f7c9364919b2b Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=abbfa0cb48b36ecc8c1acf6bd61f7c9364919b2b commit abbfa0cb48b36ecc8c1acf6bd61f7c9364919b2b Author: Michael Tuexen AuthorDate: 2024-10-25 12:11:09 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:43:29 +0000 sctp: cleanup the addition of addresses which are already known No functional change intended. (cherry picked from commit a05620b0f67fe526350bf386882262ca8005533f) --- sys/netinet/sctp_pcb.c | 83 ++++++++++++++++++++++++++------------------------ 1 file changed, 44 insertions(+), 39 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index d32be9c791a9..90eb5822cbb7 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -520,56 +520,61 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, atomic_add_int(&SCTP_BASE_INFO(ipi_count_ifns), 1); } sctp_ifap = sctp_find_ifa_by_addr(addr, vrf->vrf_id, SCTP_ADDR_LOCKED); - if (sctp_ifap) { - /* Hmm, it already exists? */ - if ((sctp_ifap->ifn_p) && - (sctp_ifap->ifn_p->ifn_index == ifn_index)) { - SCTPDBG(SCTP_DEBUG_PCB4, "Using existing ifn %s (0x%x) for ifa %p\n", - sctp_ifap->ifn_p->ifn_name, ifn_index, - (void *)sctp_ifap); - if (new_sctp_ifnp == NULL) { - /* Remove the created one that we don't want */ - sctp_delete_ifn(sctp_ifnp); - } - if (sctp_ifap->localifa_flags & SCTP_BEING_DELETED) { - /* easy to solve, just switch back to active */ - SCTPDBG(SCTP_DEBUG_PCB4, "Clearing deleted ifa flag\n"); - sctp_ifap->localifa_flags = SCTP_ADDR_VALID; - sctp_ifap->ifn_p = sctp_ifnp; - atomic_add_int(&sctp_ifap->ifn_p->refcount, 1); - } - exit_stage_left: - SCTP_IPI_ADDR_WUNLOCK(); - if (new_sctp_ifnp != NULL) { - SCTP_FREE(new_sctp_ifnp, SCTP_M_IFN); - } - SCTP_FREE(new_sctp_ifap, SCTP_M_IFA); - return (sctp_ifap); - } else { - if (sctp_ifap->ifn_p) { + if (sctp_ifap != NULL) { + /* The address being added is already or still known. */ + if (sctp_ifap->ifn_p != NULL) { + if (sctp_ifap->ifn_p->ifn_index == ifn_index) { + SCTPDBG(SCTP_DEBUG_PCB4, + "Using existing ifn %s (0x%x) for ifa %p\n", + sctp_ifap->ifn_p->ifn_name, ifn_index, + (void *)sctp_ifap); + if (new_sctp_ifnp == NULL) { + /* Remove the created one not used. */ + sctp_delete_ifn(sctp_ifnp); + } + if (sctp_ifap->localifa_flags & SCTP_BEING_DELETED) { + /* Switch back to active. */ + SCTPDBG(SCTP_DEBUG_PCB4, + "Clearing deleted ifa flag\n"); + sctp_ifap->localifa_flags = SCTP_ADDR_VALID; + sctp_ifap->ifn_p = sctp_ifnp; + atomic_add_int(&sctp_ifap->ifn_p->refcount, 1); + } + } else { /* * The last IFN gets the address, remove the * old one */ - SCTPDBG(SCTP_DEBUG_PCB4, "Moving ifa %p from %s (0x%x) to %s (0x%x)\n", - (void *)sctp_ifap, sctp_ifap->ifn_p->ifn_name, + SCTPDBG(SCTP_DEBUG_PCB4, + "Moving ifa %p from %s (0x%x) to %s (0x%x)\n", + (void *)sctp_ifap, + sctp_ifap->ifn_p->ifn_name, sctp_ifap->ifn_p->ifn_index, if_name, ifn_index); /* remove the address from the old ifn */ sctp_remove_ifa_from_ifn(sctp_ifap); /* move the address over to the new ifn */ sctp_add_ifa_to_ifn(sctp_ifnp, sctp_ifap); - goto exit_stage_left; - } else { - /* repair ifnp which was NULL ? */ - sctp_ifap->localifa_flags = SCTP_ADDR_VALID; - SCTPDBG(SCTP_DEBUG_PCB4, "Repairing ifn %p for ifa %p\n", - (void *)sctp_ifnp, (void *)sctp_ifap); - sctp_add_ifa_to_ifn(sctp_ifnp, sctp_ifap); } - goto exit_stage_left; - } - } + } else { + /* Repair ifn_p, which was NULL... */ + sctp_ifap->localifa_flags = SCTP_ADDR_VALID; + SCTPDBG(SCTP_DEBUG_PCB4, + "Repairing ifn %p for ifa %p\n", + (void *)sctp_ifnp, (void *)sctp_ifap); + sctp_add_ifa_to_ifn(sctp_ifnp, sctp_ifap); + } + SCTP_IPI_ADDR_WUNLOCK(); + if (new_sctp_ifnp != NULL) { + SCTP_FREE(new_sctp_ifnp, SCTP_M_IFN); + } + SCTP_FREE(new_sctp_ifap, SCTP_M_IFA); + return (sctp_ifap); + } + KASSERT(sctp_ifnp != NULL, + ("sctp_add_addr_to_vrf: sctp_ifnp == NULL")); + KASSERT(sctp_ifap == NULL, + ("sctp_add_addr_to_vrf: sctp_ifap (%p) != NULL", sctp_ifap)); sctp_ifap = new_sctp_ifap; memset(sctp_ifap, 0, sizeof(struct sctp_ifa)); sctp_ifap->ifn_p = sctp_ifnp; From nobody Thu Oct 31 14:05:28 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfQkJ40Tsz5blP2; Thu, 31 Oct 2024 14:05: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfQkJ3C1Gz43xL; Thu, 31 Oct 2024 14:05:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383528; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kqj91ZiYgZClxFp6pdxp5KEDWB7WLQ5KFBeAIt2VysE=; b=FZ44Zs1Xx9bRknNrzWPoUrD6w81hEJfcQPiO5XrW2jz4bjM1rKS0gAbxNCGpAlmfT18Q6r wz+z551RCPt1ZeFoG9ATt+5WKkd3v8px30syXJz0vsi/Y1nLzmeVOdhv5YPl8sw93oNzlJ RP5nieqL0fJJgzWcc2PSzVHeFNMjLTFYeN9ggUHNeIODGx2vAspBFl3LlDBqKtCiN2YfvI VickmXriBM/YtF6P+KU5/swrON3XexlPED10dFgKzWmGVsC78k6q904mrblt4cXo/YLyxc CiA1eIo1dAbkC7FsCQAcfhJjmD34UfdaGAlOsobZOdKuA+i4GThzcpZN4fe26g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730383528; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kqj91ZiYgZClxFp6pdxp5KEDWB7WLQ5KFBeAIt2VysE=; b=wrQM6zcVoPxEN06yNrbctUsB/lyjFp2YIkT3oEBBwV4ILwHHFNCMd0sPPL04UbLGWxL48H BbY4eHZAxjisg/FbaeWcb6XgElSKMNn9f+RnZXWY5m14rcLGzt2Vs71Bu4VzuNKR0zurbb 30Q7Kzrub8IuC1XDzVJO/V9IXDsL/gOOUpaP+Js/glNg5//UQ36xv+YkLTryZ679coH19w cjsn7TKMj0UcQVnBrmzEwdQsplmStlphiPYjyquX+yeKgOR5R1Fu4jGpbetr0V85w/FuVH g1NmEyfD3nZYWOVugpwm4vAqHzIOoWmKY8vrPoRiu5On+giFCxGJiNAPxyEmBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730383528; a=rsa-sha256; cv=none; b=KLzTVfNej4Stm2lfgLC7yaXEe7oOXtnQzfJEDLIMQVhMhm12P/V9F1Nsxmc6/EmI+lsIef c5R0wNiGdLLbsAV+UxzoLr1Jlt8gUvW97N2jGV7fqkzihfORQa+98k+qtqOoriVjELlZnh hZfGUa9U2OJS07dgddpdfgEw7k+GGv3UmcRT/KXyJsQfpr2sTjUCo2tY5pOp3y3wFBJYaW SW3l4yIofrRr0zw82QnBLUDAGzUPIklYhTN41xwWlxfumOa8DCmgYqMPONBhNz3dxFE1tZ ozmEl2HUZa08bifs6E2MALhjfslGR7buayNEhvNao/VPEIaWUG/YGq35Qb4hEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfQkJ2WLwzfM5; Thu, 31 Oct 2024 14:05:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VE5Scl050392; Thu, 31 Oct 2024 14:05:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VE5SYV050389; Thu, 31 Oct 2024 14:05:28 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:05:28 GMT Message-Id: <202410311405.49VE5SYV050389@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: d27f63fa8cbf - stable/14 - sctp: another cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: d27f63fa8cbfe4ea576c39233a602d96953dc444 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=d27f63fa8cbfe4ea576c39233a602d96953dc444 commit d27f63fa8cbfe4ea576c39233a602d96953dc444 Author: Michael Tuexen AuthorDate: 2024-10-27 14:01:45 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 11:44:02 +0000 sctp: another cleanup No functional change intended. (cherry picked from commit d08713dcdb158b2f55a885e7cfbbe410272c55a2) --- sys/netinet/sctp_pcb.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 90eb5822cbb7..0030c5385390 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -543,7 +543,7 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, } else { /* * The last IFN gets the address, remove the - * old one + * old one. */ SCTPDBG(SCTP_DEBUG_PCB4, "Moving ifa %p from %s (0x%x) to %s (0x%x)\n", @@ -691,13 +691,14 @@ sctp_del_addr_from_vrf(uint32_t vrf_id, struct sockaddr *addr, uint32_t ifn_index, const char *if_name) { struct sctp_vrf *vrf; - struct sctp_ifa *sctp_ifap = NULL; + struct sctp_ifa *sctp_ifap; SCTP_IPI_ADDR_WLOCK(); vrf = sctp_find_vrf(vrf_id); if (vrf == NULL) { SCTPDBG(SCTP_DEBUG_PCB4, "Can't find vrf_id 0x%x\n", vrf_id); - goto out_now; + SCTP_IPI_ADDR_WUNLOCK(); + return; } #ifdef SCTP_DEBUG @@ -705,10 +706,10 @@ sctp_del_addr_from_vrf(uint32_t vrf_id, struct sockaddr *addr, SCTPDBG_ADDR(SCTP_DEBUG_PCB4, addr); #endif sctp_ifap = sctp_find_ifa_by_addr(addr, vrf->vrf_id, SCTP_ADDR_LOCKED); - if (sctp_ifap) { + if (sctp_ifap != NULL) { /* Validate the delete */ if (sctp_ifap->ifn_p) { - int valid = 0; + bool valid = false; /*- * The name has priority over the ifn_index @@ -717,13 +718,13 @@ sctp_del_addr_from_vrf(uint32_t vrf_id, struct sockaddr *addr, if (if_name) { if (strncmp(if_name, sctp_ifap->ifn_p->ifn_name, SCTP_IFNAMSIZ) == 0) { /* They match its a correct delete */ - valid = 1; + valid = true; } } if (!valid) { /* last ditch check ifn_index */ if (ifn_index == sctp_ifap->ifn_p->ifn_index) { - valid = 1; + valid = true; } } if (!valid) { @@ -757,9 +758,8 @@ sctp_del_addr_from_vrf(uint32_t vrf_id, struct sockaddr *addr, } #endif -out_now: SCTP_IPI_ADDR_WUNLOCK(); - if (sctp_ifap) { + if (sctp_ifap != NULL) { struct sctp_laddr *wi; wi = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_laddr), struct sctp_laddr); From nobody Thu Oct 31 14:34:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfRNB1k7fz5bpK8; Thu, 31 Oct 2024 14:34: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfRNB1FR5z47f0; Thu, 31 Oct 2024 14:34:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UB/L6CLB7QW6OOhg9EUsc8TnVA+pSzQf4B/dwP1taU4=; b=xiqjvgYhfMdL/woPanFtMYmjzjNRfxjr68m4NdgMRqr1Jedad1BMcurkLFXZqaqqRM23wn 4zEE2pwWJA19uU3tD+mbvzh5N/8h1kkFUBxu7aHO10OYA6eCwYsBAKGuDsE81u/3upoDIF +ZSXQeLi/iQz3EQ0tSXsJ2OYZ/xwIGqJx+wnb02Vpy5tTvcAxiDM5B0vHe66W4m94fSuXM 0Z7WMx5wVi+8ZjiVu2vBBgjqopWlx0uFuqE753hkc8djILqQx9PhQ79WM6/DiIyr+LJ2bq DdcZ19JJwLclL+14y8rDB9Vd+SzpERv13uCnVCLU96aVi+IrZUt2X+LufX0+Ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UB/L6CLB7QW6OOhg9EUsc8TnVA+pSzQf4B/dwP1taU4=; b=tnPq28uXqwqPjAJmSIMNCdbVUz9qxzip8qY6QhzNbxiaCzbNVQIRXk09Ru5CigDiA/lVkw /vgmAR9DwwRNziSTC3tWbXf7Cte4MbtvT4QmS3rBJwYIsZclqaj8rc6CaeRNJJYUmdGXl2 SILIt80iBGJ5WbmODUSg8+x4YHUjB4t1ZaP5MSOg+KubGlfA1Bd/IFnYujXobBTzYwNn4i paxX9kLRvW/gOolLzH7wIf+jW17fgHmQJ/OqxAIvE6cDSV6e+QYKQfrsSogxS/7qEbIxNW eWvG9zQTaGaMZJsC+cvzcFvzRMGxxlVR/XANv/qZG+ncVRJUxLxPgU4+NfHcYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730385290; a=rsa-sha256; cv=none; b=TgsnQsbkhZJJGPyRZsTxcv3sZZCcUCuRxWi0XJmkO/Fv+32Ww7LjzI6LHKNmDEfQy8OxBo BjXHoyxVsalUu4w/360xZqoXobZBiD/hJtuLam4jLcXlpAAZlQo6GlBDhaeDxXIZgPh663 skR+01kXGs3zGGdafv+EPE8cTdcra23uTV34EBacvVAWWyZlThhQTUI415vZACuNvWsF0D Yr7iLFkGbn1tj1Pbvuqk3Trx+pGYR1He2pOapGrQf6/kTSM6+X1DfCjHG3bTgzbxmgkJz0 1Ss/KLoNqrd0lLskRRODPVrOraNY6E8/DUqnAKKtoWjfdWnD6tYq0AC/RCFyfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfRNB0sfPzgMx; Thu, 31 Oct 2024 14:34:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VEYoLn004966; Thu, 31 Oct 2024 14:34:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VEYoeC004963; Thu, 31 Oct 2024 14:34:50 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:34:50 GMT Message-Id: <202410311434.49VEYoeC004963@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 0dee359c0942 - stable/14 - LinuxKPI: netdevice: add alloc_netdev_dummy() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 0dee359c094209a56ae96546c1c4b03551e3b305 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=0dee359c094209a56ae96546c1c4b03551e3b305 commit 0dee359c094209a56ae96546c1c4b03551e3b305 Author: Bjoern A. Zeeb AuthorDate: 2024-09-26 21:06:52 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-10-31 14:33:56 +0000 LinuxKPI: netdevice: add alloc_netdev_dummy() Add alloc_netdev_dummy() which is needed by an updated rtw88 driver. Given we already call linuxkpi_init_dummy_netdev() ourselves allow the setup function to be NULL to not initialize and start a tasq td twice. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46802 (cherry picked from commit 105331f658e2f14fb4daa64dcd076c7369505295) --- sys/compat/linuxkpi/common/include/linux/netdevice.h | 2 ++ sys/compat/linuxkpi/common/src/linux_netdev.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/netdevice.h b/sys/compat/linuxkpi/common/include/linux/netdevice.h index dde3ad07dec2..cd7d23077a62 100644 --- a/sys/compat/linuxkpi/common/include/linux/netdevice.h +++ b/sys/compat/linuxkpi/common/include/linux/netdevice.h @@ -466,6 +466,8 @@ void linuxkpi_free_netdev(struct net_device *); #define alloc_netdev(_l, _n, _f, _func) \ linuxkpi_alloc_netdev(_l, _n, _f, _func) +#define alloc_netdev_dummy(_l) \ + linuxkpi_alloc_netdev(_l, "dummy", NET_NAME_UNKNOWN, NULL) #define free_netdev(_n) \ linuxkpi_free_netdev(_n) diff --git a/sys/compat/linuxkpi/common/src/linux_netdev.c b/sys/compat/linuxkpi/common/src/linux_netdev.c index 61342395f03c..2ca1784896de 100644 --- a/sys/compat/linuxkpi/common/src/linux_netdev.c +++ b/sys/compat/linuxkpi/common/src/linux_netdev.c @@ -410,7 +410,8 @@ linuxkpi_alloc_netdev(size_t len, const char *name, uint32_t flags, /* This needs extending as we support more. */ - setup_func(ndev); + if (setup_func != NULL) + setup_func(ndev); return (ndev); } From nobody Thu Oct 31 14:34:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfRNC327hz5bpF1; Thu, 31 Oct 2024 14:34: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfRNC2c2Cz47Wx; Thu, 31 Oct 2024 14:34:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=immiBpJuEiPCndur+J6S6yPyXK0pbJEATwjiTl72AVM=; b=Q8Qp0MCNjDoW2Ih6/QOWePnJhFVKAxKH8r4FXNtH5lk0YS3ctEbyQnXcgyvLFBModXN/48 EBmnnIRsXAl8NSZ5Pk+wt0vmz9Bap/NyGiXHqyk/6AAE1L/R5GYOo9gpH8qdMR2cvGypBT M/nN1/n8gnO2kH7cXSXL2ZUeliYu/+l//2lLjFXxJT5tVo4YOnJW0KZpX54zpSBz4FAtKn 1HuT49SaCsopho1cpiXgWj4cxSypcrxUHXpFH0XMqCs8qZPTfGs4T6lZex8Fy72osHu55R mt7VCd4BFkDLeTsGqnbA1Nt5nj13pe2RMq/ouekBCya/DUPp9dQ38uUXJjAJ9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=immiBpJuEiPCndur+J6S6yPyXK0pbJEATwjiTl72AVM=; b=r3QBOb8OXeKrGaVj+kWTgWAW+Fv63NBeNPhOAzlmKNMmlhJHY3UQ3lJhtbKq7acnXTYdUE zayYdAq7LRUWKboQ5QelZ9lUM/M5DXx0gPdN/afaBJaRvvWJp9K7nNcRfm3YvSsqz/Dg3Q p6OnTFGi9j0u4iKY3ydFk08L4X3+RiyB8NVgY6wlwBsyOWX2QKg7PbJYgRTNMXaOaoTxo7 yaDIgkRHm81VPf/IB3zwWz3qLM/mHaooMmKaYQZjpLKuBGE7qiGsdWLEMQ8RO+8iBF88Lc bY6ryYKKpihukleGwJq0hjJHAMJb76f3gJyHgReFPKl1g3gznnPWhk46YdED+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730385291; a=rsa-sha256; cv=none; b=WwOBM7dkAqUs+lfSQ20UXQ6aHPhrd24d0Wg8S4uxL+j2ilOMbQh+9KFeG3uC6tfZ4k4UKA Cdj0TLeMDN8I7negopa5bDSwflTegXNlVPTfoEQAiDDcds7I894zHVWl8NNBmhVDqqDBtt NF9ON/4hyK+i3ahAMPDgy4gMvOziZbijlmjc8xDRC3uBc6F2BpGr6Dr5iFQJmBn+YYX43l FqODT6A4g7ppV4eiMjt1DnAG2GeM3se3p8KCJeCH6M1OryyjeSyVsh2dGKw/8K9juyjOnP 7PkChVXY719/wAOz2683JCFmWbXQOMsWIZuJEgN6bi1f1qcJUEgeG5xUhTtOQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfRNC2BRYzgcM; Thu, 31 Oct 2024 14:34:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VEYpkK005014; Thu, 31 Oct 2024 14:34:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VEYp7A005011; Thu, 31 Oct 2024 14:34:51 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:34:51 GMT Message-Id: <202410311434.49VEYp7A005011@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 1579a25f0a1b - stable/14 - LinuxKPI: pci: rename PCI_IRQ_LEGACY to PCI_IRQ_INTX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1579a25f0a1be6ea4679adb0d03b6a0c048211ac Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1579a25f0a1be6ea4679adb0d03b6a0c048211ac commit 1579a25f0a1be6ea4679adb0d03b6a0c048211ac Author: Bjoern A. Zeeb AuthorDate: 2024-09-26 21:13:35 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-10-31 14:33:56 +0000 LinuxKPI: pci: rename PCI_IRQ_LEGACY to PCI_IRQ_INTX PCI_IRQ_LEGACY was added in 366d68f28379 (likely) for rtw88 only. The define now got renamed and I cannot find any other use but rtw88 and rtw89. We keep the old name as comapt while driver updates are in progress enabling it defining LINUXKPI_VERSION for the two drivers. Sponsored by; The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46822 (cherry picked from commit 157e93e0e8138fbaa6ab5d5b20b0c23f903667a6) --- sys/compat/linuxkpi/common/include/linux/pci.h | 8 ++++++-- sys/compat/linuxkpi/common/src/linux_pci.c | 2 +- sys/modules/rtw88/Makefile | 1 + sys/modules/rtw89/Makefile | 1 + 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index aa756c6e5b09..c91521ae6df4 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -233,10 +233,14 @@ extern const char *pci_power_names[6]; #define PCI_L1SS_CTL1 0x8 #define PCI_L1SS_CTL1_L1SS_MASK 0xf -#define PCI_IRQ_LEGACY 0x01 +#define PCI_IRQ_INTX 0x01 #define PCI_IRQ_MSI 0x02 #define PCI_IRQ_MSIX 0x04 -#define PCI_IRQ_ALL_TYPES (PCI_IRQ_MSIX|PCI_IRQ_MSI|PCI_IRQ_LEGACY) +#define PCI_IRQ_ALL_TYPES (PCI_IRQ_MSIX|PCI_IRQ_MSI|PCI_IRQ_INTX) + +#if defined(LINUXKPI_VERSION) && (LINUXKPI_VERSION >= 60800) +#define PCI_IRQ_LEGACY PCI_IRQ_INTX +#endif struct pci_dev; diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 59775629e247..ce7f91cd15ac 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -1305,7 +1305,7 @@ out: if (error == 0 && pdev->msi_enabled) return (pdev->dev.irq_end - pdev->dev.irq_start); } - if (flags & PCI_IRQ_LEGACY) { + if (flags & PCI_IRQ_INTX) { if (pdev->irq) return (1); } diff --git a/sys/modules/rtw88/Makefile b/sys/modules/rtw88/Makefile index da4233b7c79e..db42192233a7 100644 --- a/sys/modules/rtw88/Makefile +++ b/sys/modules/rtw88/Makefile @@ -33,6 +33,7 @@ SRCS+= opt_wlan.h opt_inet6.h opt_inet.h #CFLAGS+= -ferror-limit=0 CFLAGS+= -DKBUILD_MODNAME='"rtw88"' +CFLAGS+= -DLINUXKPI_VERSION=60800 CFLAGS+= -I${DEVRTW88DIR} CFLAGS+= ${LINUXKPI_INCLUDES} diff --git a/sys/modules/rtw89/Makefile b/sys/modules/rtw89/Makefile index 9f81912a762d..eb2d9cddb413 100644 --- a/sys/modules/rtw89/Makefile +++ b/sys/modules/rtw89/Makefile @@ -33,6 +33,7 @@ SRCS+= ${LINUXKPI_GENSRCS} SRCS+= opt_wlan.h opt_inet6.h opt_inet.h opt_acpi.h CFLAGS+= -DKBUILD_MODNAME='"rtw89"' +CFLAGS+= -DLINUXKPI_VERSION=60800 CFLAGS+= -I${DEVRTW89DIR} CFLAGS+= ${LINUXKPI_INCLUDES} From nobody Thu Oct 31 14:34:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfRND5P1bz5bnrY; Thu, 31 Oct 2024 14:34: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfRND3r1Yz47hc; Thu, 31 Oct 2024 14:34:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1I23FqcBnCes6ElZYG1mZyRRkPVKT5f0kIM5GKMP+/4=; b=wYaOn97xun9a1JARaUcc/2N52XXhPzNxkPMUJs1JMC826ZXo0gHCZYdWsoaJHg2IFt+FsC k1aHQmfurol3lE0jXYHFCrUstZBfGgoTnGBOsSPVdknLzFbEGBXlg8aQCOdk0a1IHG88cb XqpIZg03M/QtD7ACxPpfOmbkTft80eXo/lqQLBGxqEsK7vnDXWw7ByAqXYFANXtLXP6G94 n7uXqyhgG3ImgV8YfDQCYH6uQrx/eCA+75Yn7Q4du+TIgpkpzsFrtxSxDXQxZltNWaSCLN 9EEZz3SnVD5B4AwVBJsldOjU89KRenlQQA8PRYeGf5feRzhjmETHRKvK+706hQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1I23FqcBnCes6ElZYG1mZyRRkPVKT5f0kIM5GKMP+/4=; b=RjTmY7ihtU/zu2QaDCef5T1lik9mvrGjbxlkMD5tPsEBA5+RKL6kHLyUXhCXitk6aIoISO ITHvfnCNOVe7crPYzm/OEM+9dnsMMa7YSK3BtlkEm7mY6HpK6RSr3Ry90mfx4rAdNP78MF jrKUasWYT0JG1JXEfqpFeT7EmaAuU1xNNx9NDKeW5VBS30uL6i8LHPAhTEK8qxtS5iwgho fsc2Z8H6peGwNRljFq34fmaJKyz8xyswepDIe0uVP3NmSvT8pZNymcp+Fl0DKukT9KNPre 5kY22LbNOIDv3vzI1ACmT/Vus11Q8AkLtKIP5GaTNUGr0J6AOmEUwOTrFpoK4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730385292; a=rsa-sha256; cv=none; b=g0CNpwMxfxRgEEhpc7e+ylmtXLsKeTKJWa3QDl3/ZxSukC6ljfcf8ynJwJVRBalDr/P+uM CaQqQeikBnUKJ73ocPY/ZBAhBLtA2GtPt2vT8aXLGLM28XkA/bzony+DvAsoXrM7E1e3PF VTt9PcIwYPO/sjKCvI7EmB+/US/iYjI3rWfjm+ZLUqr2Lc/FQrmHKdIvOBsfGiI6M82fcV MK2LEAhNASaA7xxOzreuSZWzagEWhuTTC2uja6LooytSAZziXcus5oGSPH1B9qxWbObbc+ M4S3IeMKiLLi3ygXQq2XAeaBKJcjwBZ24xOJE6y58AMyNP5z3qo2KOYiUpY/Rw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfRND3D4Wzg6b; Thu, 31 Oct 2024 14:34:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VEYqdZ005073; Thu, 31 Oct 2024 14:34:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VEYqUt005070; Thu, 31 Oct 2024 14:34:52 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:34:52 GMT Message-Id: <202410311434.49VEYqUt005070@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 64517ad54a91 - stable/14 - iwlwifi: FreeBSD specific sysctl export update List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 64517ad54a914f5676af4a11484002deb1df5322 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=64517ad54a914f5676af4a11484002deb1df5322 commit 64517ad54a914f5676af4a11484002deb1df5322 Author: Bjoern A. Zeeb AuthorDate: 2024-05-16 21:48:41 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-10-31 14:33:56 +0000 iwlwifi: FreeBSD specific sysctl export update Update the sysctl export (also adding a mapping function) to also print (1) for all lines the "flavor" (device_family) name and (2) also print lines where we only have the trans cfg and not iwl cfg as with the flavor we can match PCI IDs to firmware package and so we can have an increased number of matches. A side effect is that we can also have fwget(8) PCI ID matches for firmware (flavors) not yet (publicly) existing. That will allow us to add them at a later point while a previous release already supports the chipsets and knows how to get the firmware for them. Sponsored by: The FreeBSD Foundation (cherry picked from commit b4c8f251d65fa99601da000e586933a6df662839) --- sys/contrib/dev/iwlwifi/iwl-config.h | 36 ++++++++++++++++++++++++++++++++++++ sys/contrib/dev/iwlwifi/pcie/drv.c | 22 ++++++++++++++++------ 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/sys/contrib/dev/iwlwifi/iwl-config.h b/sys/contrib/dev/iwlwifi/iwl-config.h index 241a9e3f2a1a..4ea322595925 100644 --- a/sys/contrib/dev/iwlwifi/iwl-config.h +++ b/sys/contrib/dev/iwlwifi/iwl-config.h @@ -38,6 +38,42 @@ enum iwl_device_family { IWL_DEVICE_FAMILY_SC, }; +#if defined(__FreeBSD__) +static const char *iwl_device_family_str[] = { + [IWL_DEVICE_FAMILY_UNDEFINED] = "undefined", + [IWL_DEVICE_FAMILY_1000] = "1000", + [IWL_DEVICE_FAMILY_100] = "100", + [IWL_DEVICE_FAMILY_2000] = "2000", + [IWL_DEVICE_FAMILY_2030] = "2030", + [IWL_DEVICE_FAMILY_105] = "105", + [IWL_DEVICE_FAMILY_135] = "135", + [IWL_DEVICE_FAMILY_5000] = "5000", + [IWL_DEVICE_FAMILY_5150] = "5150", + [IWL_DEVICE_FAMILY_6000] = "6000", + [IWL_DEVICE_FAMILY_6000i] = "6000i", + [IWL_DEVICE_FAMILY_6005] = "6005", + [IWL_DEVICE_FAMILY_6030] = "6030", + [IWL_DEVICE_FAMILY_6050] = "6050", + [IWL_DEVICE_FAMILY_6150] = "6150", + [IWL_DEVICE_FAMILY_7000] = "7000", + [IWL_DEVICE_FAMILY_8000] = "8000", + [IWL_DEVICE_FAMILY_9000] = "9000", + [IWL_DEVICE_FAMILY_22000] = "22000", + [IWL_DEVICE_FAMILY_AX210] = "AX210", + [IWL_DEVICE_FAMILY_BZ] = "BZ", + [IWL_DEVICE_FAMILY_SC] = "SC", +}; + +static inline const char * +iwl_device_family_name(enum iwl_device_family devive_family) +{ + if (devive_family < 0 || + devive_family >= ARRAY_SIZE(iwl_device_family_str)) + return "unknown"; + return (iwl_device_family_str[devive_family]); +} +#endif + /* * LED mode * IWL_LED_DEFAULT: use device default diff --git a/sys/contrib/dev/iwlwifi/pcie/drv.c b/sys/contrib/dev/iwlwifi/pcie/drv.c index 0aab7a1fdc8e..8780d77b704b 100644 --- a/sys/contrib/dev/iwlwifi/pcie/drv.c +++ b/sys/contrib/dev/iwlwifi/pcie/drv.c @@ -1628,18 +1628,27 @@ sysctl_iwlwifi_pci_ids_name(SYSCTL_HANDLER_ARGS) if ((id->driver_data & TRANS_CFG_MARKER) != 0) { /* Skip and print them below. */ + struct iwl_cfg_trans_params *trans; + + trans = (void *)(id->driver_data & ~TRANS_CFG_MARKER); + sbuf_printf(sb, "%#06x/%#06x/%#06x/%#06x\t%s\t%s\t%d\t%s\n", + id->vendor, id->device, id->subvendor, id->subdevice, + "", "", trans->device_family, + iwl_device_family_name(trans->device_family)); } else if (id->driver_data != 0) { const struct iwl_cfg *cfg; cfg = (void *)(id->driver_data & ~TRANS_CFG_MARKER); - sbuf_printf(sb, "%#06x/%#06x/%#06x/%#06x\t%s\t%s\n", + sbuf_printf(sb, "%#06x/%#06x/%#06x/%#06x\t%s\t%s\t%d\t%s\n", id->vendor, id->device, id->subvendor, id->subdevice, - cfg->name, cfg->fw_name_pre); + cfg->name, cfg->fw_name_pre, cfg->trans.device_family, + iwl_device_family_name(cfg->trans.device_family)); } else { - sbuf_printf(sb, "%#06x/%#06x/%#06x/%#06x\t%s\t%s\n", + sbuf_printf(sb, "%#06x/%#06x/%#06x/%#06x\t%s\t%s\t%d\t%s\n", id->vendor, id->device, id->subvendor, id->subdevice, - "",""); + "","", IWL_DEVICE_FAMILY_UNDEFINED, + iwl_device_family_name(IWL_DEVICE_FAMILY_UNDEFINED)); } id++; } @@ -1655,9 +1664,10 @@ sysctl_iwlwifi_pci_ids_name(SYSCTL_HANDLER_ARGS) else name = ""; - sbuf_printf(sb, "%#06x/%#06x/%#06x/%#06x\t%s\t%s\n", + sbuf_printf(sb, "%#06x/%#06x/%#06x/%#06x\t%s\t%s\t%d\t%s\n", PCI_VENDOR_ID_INTEL, dev_info->device, PCI_ANY_ID, dev_info->subdevice, - name, dev_info->cfg->fw_name_pre); + name, dev_info->cfg->fw_name_pre, dev_info->cfg->trans.device_family, + iwl_device_family_name(dev_info->cfg->trans.device_family)); } error = sbuf_finish(sb); From nobody Thu Oct 31 14:34:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfRNF6GQXz5bpBY; Thu, 31 Oct 2024 14:34: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfRNF4FD0z47fZ; Thu, 31 Oct 2024 14:34:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v7ap/nHU4P9qPxJkmqm10ajmPQsi1ztlz2zh6yoK+dE=; b=SDJigXE/4eokj9CNlsXaUEQjLJqTBITQBtEu1N+VCnAEZOcQ3ddpjayi+nFwoltqDEeBMj g/FOntP3akHsvv8KtNgTMVjfQdYM8POvUt/DAz8lzGASWw2G73OKvwY4FHmq2slaXkXRBq M55vCn7bFgn1yKHMGBm59TmRQHmF4L25iypis+Ad0SQLk8poCw058V8wcIErm2WrNrw1PH DU9gqjjjzn5VeAxm9uuhkq+lSLzz887zScm1/QgftWqJxA7MncwJmwCUOOxJIXueWvAdCU snIhGfqjgPxzv5Mdzd8stZhHaaKFcBN3IEOA1A5xJUyHQBHD4SBO10Fgnmnxdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v7ap/nHU4P9qPxJkmqm10ajmPQsi1ztlz2zh6yoK+dE=; b=n1zI3U0ijPmSpg3IKgIHkx773jQSotNPFtHVmoed17D/dVRlkV3vjD7sw5uMYeXpKGqm4S s5M07BLpeoqgBegdUzqM1BmHMjE2HjA30SCTTEtGMPq9VgntBjuIkgRY5UXXMZjdf3UZQC gAxyYyvJdhr+YROFL12oIDcm+YSEkaevDGlT+YKEldb7eF/r7oLOnvl5cl5W2VVVoC7GPU qNhf5ap9/2p+3SgV0zKZl5hzUWIKrcwC6MlpH21zKjhV+uSaJHRxknXNepKJk+k9hlXic3 Cb///LOmiImwYkelShar/3Rh5B62lW0+538k6tk7m7Ux/nSK51VF3Vj/GmxqyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730385293; a=rsa-sha256; cv=none; b=RwHQ+0OLf2jx5gEBvcQbK8Gu/GNiFToffU2jksmRBZpXbzcMNo+M3k+PTw10JoPKNvcaQ2 Wu7QZKth4jMl+OJTs6IFWPJWX6yyVlrG5Wve0E3AGYVS44x4qrRu0+UbNHE2NPB8i1eT/M WN+c8zrjkcmRwxhH0GgA6953XYhXMZsnbY5zrzXO6wqkz2SbnmHZPHlf2KMXf1lJkjv4BJ lET8ekVtEMoa9mHYa0lImbUFqpvcxNJRS4OC0LdvPYZ/Vos50iHNa1hVmYgyDFgUtSAcyL 1WpIfP727DhUZ16qMuAyayL9vhdLyMaL/W4eVKYJ+UwB8Ey5GuTx4Cd/M+LmHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfRNF3cY9zgWT; Thu, 31 Oct 2024 14:34:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VEYrLv005150; Thu, 31 Oct 2024 14:34:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VEYrnh005142; Thu, 31 Oct 2024 14:34:53 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:34:53 GMT Message-Id: <202410311434.49VEYrnh005142@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 3ed00f392098 - stable/14 - LinuxKPI based WiFi drivers: scripts to extract fwget(8) and port details List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 3ed00f392098a324f34ea5f25a3859d224f72c73 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3ed00f392098a324f34ea5f25a3859d224f72c73 commit 3ed00f392098a324f34ea5f25a3859d224f72c73 Author: Bjoern A. Zeeb AuthorDate: 2024-04-28 20:50:12 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-10-31 14:33:56 +0000 LinuxKPI based WiFi drivers: scripts to extract fwget(8) and port details Add a "zzz_fw_ports_fwget.sh" script to each LinuxKPI based wireless driver which in essential are all the same and in detail all different. They extract information for fwget(8), wifi-firmware-* ports, man pages and for iwlwififw also for the wiki. Sponsored by: The FreeBSD Foundation Suggested by: imp (to have automation in D44918) (cherry picked from commit 96190b4fef3b4a0cc3ca0606b0c4e3e69a5e6717) --- sys/contrib/dev/athk/ath10k/zzz_fw_ports_fwget.sh | 286 ++++++++++++++++ sys/contrib/dev/athk/ath11k/zzz_fw_ports_fwget.sh | 317 +++++++++++++++++ sys/contrib/dev/athk/ath12k/zzz_fw_ports_fwget.sh | 310 +++++++++++++++++ sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh | 374 +++++++++++++++++++++ .../dev/mediatek/mt76/zzz_fw_ports_fwget.sh | 292 ++++++++++++++++ sys/contrib/dev/rtw88/zzz_fw_ports_fwget.sh | 145 ++++++++ sys/contrib/dev/rtw89/zzz_fw_ports_fwget.sh | 152 +++++++++ 7 files changed, 1876 insertions(+) diff --git a/sys/contrib/dev/athk/ath10k/zzz_fw_ports_fwget.sh b/sys/contrib/dev/athk/ath10k/zzz_fw_ports_fwget.sh new file mode 100644 index 000000000000..71a11a890a48 --- /dev/null +++ b/sys/contrib/dev/athk/ath10k/zzz_fw_ports_fwget.sh @@ -0,0 +1,286 @@ +#!/bin/sh +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 The FreeBSD Foundation +# +# This software was developed by Björn Zeeb +# under sponsorship from the FreeBSD Foundation. +# +# This is neither efficient nor elegant but we need it few times +# a year and it does the job. +# +# +# USAGE: please check out the correct tag/hash for ports in the +# linux-firmware.git repository you point this script to. +# + +set -e + +DRIVER=ath10k +CHECKFILE=qmi_wlfw_v01.c + +################################################################################ +# +# Check pre-reqs +# +if [ $# -ne 1 ]; then + printf "USAGE: %s /path/to/linux-firmware.git\n" $0 >&2 + exit 1 +fi + +if [ ! -e ${CHECKFILE} ]; then + printf "ERROR: run from %s driver directory; no %s.c here\n" ${DRIVER} ${CHECKFILE} >&2 + exit 1 +fi + +LFWDIR=${1} +if test ! -d ${LFWDIR} -o ! -e ${LFWDIR}/WHENCE; then + printf "ERROR: cannot find linux-firmware.git at '%s'\n" ${LFWDIR} >&2 + exit 1 +fi + +################################################################################ +# +# Helper functions. +# +# This uses a hack (cpp) to expand some macros for us and parses out the result +# which is the PCI device ID or the firmware directory for that. +# Checking MODULE_FIRMWARE was pointless as it had too many "dead" entries: +# NOTICE: no firmware file found for 'ath10k/QCA6174/hw2.1/firmware-4.bin' +# NOTICE: no firmware file found for 'ath10k/QCA6174/hw3.0/firmware-5.bin' +# NOTICE: no firmware file found for 'ath10k/QCA9887/hw1.0/board-2.bin' +# NOTICE: no firmware file found for 'ath10k/QCA988X/hw2.0/board-2.bin' +# NOTICE: no firmware file found for 'ath10k/QCA988X/hw2.0/firmware-2.bin' +# NOTICE: no firmware file found for 'ath10k/QCA988X/hw2.0/firmware-3.bin' +# +list_fw() +{ + # List of already seen flavor (firmware directory). + sfwl="" + + # List of "supported" device IDs (ignoring Ubiquity). + devidl=$(cpp pci.c 2> /dev/null | awk '/PCI_VDEVICE\(ATHEROS,/ { gsub("^.*, \\(", ""); gsub("\\)\\) },$", ""); print tolower($0); }') + + # List of (device ID) -> (firware directory) mappings. + cpp core.c 2> /dev/null | egrep -E '\.(dev_id|dir) = ' | awk '{ if (/dev_id/) { printf "%s", $0; } else { print; } }' | grep -v 'dev_id = 0,' | sort | uniq | \ + awk '{ + gsub("^.*\\(", ""); + gsub("),.* = ", "\t"); + gsub(",$", ""); + gsub(/"/, ""); + gsub(" ", ""); + print; + }' | \ + while read did fwd; do + + x="" + for d in ${devidl}; do + if test "${did}" == "${d}"; then + x="${d}" + break + fi + done + if test "${x}" == ""; then + # Device ID not in the list of PCI IDs we support. + # At least the Ubiquity one we hit here. + #printf "Device ID %s (%s) not in PCI ID list; skipping\n" ${did} ${fwd} >&2 + continue + fi + + if test ! -d ${LFWDIR}/${fwd}; then + # Leave this on as it MUST not happen. + printf "Firmware dir %s (for %s) does not exist; skipping\n" ${fwd} ${did} >&2 + continue + fi + + flav=$(echo "${fwd}" | awk -v drv=${DRIVER} '{ + # Ports FLAVOR names are [a-z0-9_]. If needed add more mangling magic here. + gsub("^" drv "/", ""); + gsub("/", "_"); + gsub("\\.", ""); + print tolower($0); + }') + + # Print this first or otherwise if two device IDs have the same firmware + # we may not see that. + echo "FWGET ${did} ${flav}" + + x="" + for zf in ${sfwl}; do + if test "${zf}" == "${flav}"; then + x="${zf}" + break + fi + done + if test "${x}" != ""; then + #printf "Flavor %s (firmware directory %s) already seen; skipping\n" ${flav} ${fwd} >&2 + continue + fi + sfwl="${sfwl} ${flav}" + + #echo "==> ${did} -> ${fwd} -> ${flav}" + + lx=$(cd ${LFWDIR} && find ${fwd} -type f \! -name "*sdio*" -a \! -name "*.txt" -print) + + # Get a count so we can automatically add \\ apart from the last line. + fn=$(echo "${lx}" | wc -w | awk '{ print $1 }') + + #echo "==> ${flav} :: ${fn} :: ${lx}" >&2 + + if test ${fn} -gt 0; then + + echo "FWS ${flav}" + echo "DISTFILES_${flav}= \\" + for fz in ${lx}; do echo "${fz}"; done | \ + awk -v fn=$fn -v fwg=${flav} -v drv=${DRIVER} '{ + if (FNR == fn) { x="" } else { x=" \\" }; + gsub("^" drv "/", "${FWSUBDIR}/"); + printf "\t%s${DISTURL_SUFFIX}%s\n", $0, x; + }' + + # Check for "lic" files. + lx=$(cd ${LFWDIR} && find ${fwd} -type f \! -name "*sdio*" -a -name "*.txt" -print) + + # Get a count so we can automatically add \\ apart from the last line. + fn=$(echo "${lx}" | wc -w | awk '{ print $1 }') + + if test ${fn} -gt 0; then + echo "FWL ${flav}" + echo "DISTFILES_${flav}_lic= \\" + for fz in ${lx}; do echo "${fz}"; done | \ + awk -v fn=$fn -v fwg=${flav} -v drv=${DRIVER} '{ + if (FNR == fn) { x="" } else { x=" \\" }; + gsub("^" drv "/", "${FWSUBDIR}/"); + printf "\t%s${DISTURL_SUFFIX}%s\n", $0, x; + }' + fi + fi + done +} + +################################################################################ +# +# Generate the PORTS file template. +# + +fwsl=$(list_fw | grep ^FWS | awk '{ print $2 }') +# Get a count so we can automatically add \\ apart from the last line. +fn=$(echo "${fwsl}" | wc -w | awk '{ print $1 }') + +if test ${fn} -gt 0; then + + portsfile=$(mktemp -p /tmp ${DRIVER}-fwport.XXXXXX) + + :> ${portsfile} + ( + echo "FWSUBS= \\" + for sz in ${fwsl}; do echo "${sz}"; done | \ + awk -v fn=$fn '{ + if (FNR == fn) { x="" } else { x=" \\" }; + printf "\t%s%s\n", $0, x; + }' + + echo + list_fw | grep -v ^FWS | grep -v ^FWL | grep -v ^FWGET + + echo + echo "DISTFILES_\${FWDRV}= \\" + for sz in ${fwsl}; do echo "${sz}"; done | \ + awk -v fn=$fn '{ + if (FNR == fn) { x="" } else { x=" \\" }; + printf "\t${DISTFILES_%s}%s\n", $0, x; + }' + + fwsl=$(list_fw | grep ^FWL | awk '{ print $2 }') + # Get a count so we can automatically add \\ apart from the last line. + fn=$(echo "${fwsl}" | wc -w | awk '{ print $1 }') + if test ${fn} -gt 0; then + echo "DISTFILES_\${FWDRV}_lic= \\" + for sz in ${fwsl}; do echo "${sz}"; done | \ + awk -v fn=$fn '{ + if (FNR == fn) { x="" } else { x=" \\" }; + printf "\t${DISTFILES_%s_lic}%s\n", $0, x; + }' + else + echo "DISTFILES_\${FWDRV}_lic=" + fi + + ) >> ${portsfile} + + printf "INFO: wifi-firmware-%s-kmod template at %s\n" ${DRIVER} ${portsfile} >&2 +fi + +################################################################################ +# +# Generate the fwget(8) case pattern table (PCI device ID -> fw port flavor). +# + +fwgetfile=$(mktemp -p /tmp ${DRIVER}-fwget.XXXXXX) +:> ${fwgetfile} + +fwsl=$(list_fw | grep ^FWGET | sort) +# Get a count so we can automatically add \\ apart from the last line. +fn=$(echo "${fwsl}" | grep -c FWGET | awk '{ print $1 }') + +if test ${fn} -gt 0; then + + # We need to check for same ID with multiple firmware. + # The list ist sorted by ID so duplicates are next to each other. + cs=$(echo "${fwsl}" | awk '{ print $2 }' | uniq -c | awk '{ print $1 }') + + #echo "==> cs=${cs}" >&2 + + for n in ${cs}; do + + # Skip FWGET + fwsl=${fwsl#*[[:space:]]} + # get device ID + did=${fwsl%%[[:space:]]*} + fwsl=${fwsl#*[[:space:]]} + # get flavor + flav=${fwsl%%[[:space:]]*} + fwsl=${fwsl#*[[:space:]]} + + # printf "===> did %s flav %s\n" ${did} ${flav} >&2 + + if test ${n} -eq 1; then + echo "${did} ${flav}" | awk -v drv=${DRIVER} '{ + printf "\t%s)\taddpkg \"wifi-firmware-%s-kmod-%s\"; return 1 ;;\n", + tolower($1), drv, tolower($2); + }' >> ${fwgetfile} + else + echo "${did} ${flav}" | awk -v drv=${DRIVER} '{ + printf "\t%s)\taddpkg \"wifi-firmware-%s-kmod-%s\"\n", + tolower($1), drv, tolower($2); + }' >> ${fwgetfile} + + i=1 + while test ${i} -lt ${n}; do + # Skip FWGET + fwsl=${fwsl#*[[:space:]]} + # get device ID + did=${fwsl%%[[:space:]]*} + fwsl=${fwsl#*[[:space:]]} + # get flavor + flav=${fwsl%%[[:space:]]*} + fwsl=${fwsl#*[[:space:]]} + + #printf "===> did %s flav %s\n" ${did} ${flav} >&2 + + echo "${did} ${flav}" | awk -v drv=${DRIVER} '{ + printf "\t\taddpkg \"wifi-firmware-%s-kmod-%s\"\n", + drv, tolower($2); + }' >> ${fwgetfile} + + i=$((i + 1)) + done + + printf "\t\treturn 1 ;;\n" >> ${fwgetfile} + fi + done +fi + +printf "INFO: fwget pci_network_qca %s template at %s\n" ${DRIVER} ${fwgetfile} >&2 + +# end diff --git a/sys/contrib/dev/athk/ath11k/zzz_fw_ports_fwget.sh b/sys/contrib/dev/athk/ath11k/zzz_fw_ports_fwget.sh new file mode 100644 index 000000000000..9de14ed45442 --- /dev/null +++ b/sys/contrib/dev/athk/ath11k/zzz_fw_ports_fwget.sh @@ -0,0 +1,317 @@ +#!/bin/sh +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 The FreeBSD Foundation +# +# This software was developed by Björn Zeeb +# under sponsorship from the FreeBSD Foundation. +# +# This is neither efficient nor elegant but we need it few times +# a year and it does the job. +# +# +# USAGE: please check out the correct tag/hash for ports in the +# linux-firmware.git repository you point this script to. +# + +set -e + +DRIVER=ath11k +CHECKFILE=debugfs_htt_stats.c + +################################################################################ +# +# Check pre-reqs +# +if [ $# -ne 1 ]; then + printf "USAGE: %s /path/to/linux-firmware.git\n" $0 >&2 + exit 1 +fi + +if [ ! -e ${CHECKFILE} ]; then + printf "ERROR: run from %s driver directory; no %s.c here\n" ${DRIVER} ${CHECKFILE} >&2 + exit 1 +fi + +LFWDIR=${1} +if test ! -d ${LFWDIR} -o ! -e ${LFWDIR}/WHENCE; then + printf "ERROR: cannot find linux-firmware.git at '%s'\n" ${LFWDIR} >&2 + exit 1 +fi +LFWDIR=${LFWDIR}/${DRIVER} + +################################################################################ +# +# Helper functions. +# +# This uses a hack (cpp) to expand some macros for us and parses out the result +# which is the PCI device ID or the firmware directory for that. +# +# Driver is there, the firmware not yet...? +# ==> 0x1101 -> ATH11K_HW_QCA6390_HW20 -> QCA6390/hw2.0 +# ==> 0x1104 -> ATH11K_HW_QCN9074_HW10 -> QCN9074/hw1.0 +# ==> 0x1103 -> ATH11K_HW_WCN6855_HW20 -> WCN6855/hw2.0 +# ==> 0x1103 -> ATH11K_HW_WCN6855_HW21 -> WCN6855/hw2.1 +# Firmware dir WCN6855/hw2.1 (for 0x1103) does not exist; skipping +# +list_fw() +{ + # List of already seen flavor (firmware directory). + sfwl="" + + # List of "supported" device IDs. + devidl=$(cpp pci.c 2> /dev/null | awk '/PCI_VDEVICE\(QCOM,/ { gsub("^.*, ", ""); gsub("\\) },$", ""); print tolower($0); }') + # Turn them into a regex. + didreg=$(echo "${devidl}" | xargs -J % echo -n % | sed -e 's, ,|,g') + # List the device ID cases along with their hw_rev which we can go and take to lookup fw. + hwrevs=$(cpp pci.c 2> /dev/null | egrep -E "(case (${didreg})|ab->hw_rev = )" | awk '{ + if (FNR > 1 && /case/) { + printf "\n"; + } + gsub("^.*case[[:space:]]*", ""); + gsub("[[:space:]]*ab->hw_rev = ", " "); + gsub("[:;]", ""); + printf "%s", $0; + }') + + # hwrevs is a list of (device IDs) -> (1..n hardware revisions) mappings. + #echo "==> ${devidl} :: ${didreg} :: ${hwrevs}" >&2 + + # List of (hardware revision) -> (firware directory) mappings. + l=$(cpp core.c 2> /dev/null | egrep -E '\.(hw_rev|dir) = ' | awk '{ if (/hw_rev/) { printf "%s", $0; } else { print; } }' | sort | uniq | \ + awk '{ + gsub("^.*hw_rev = ", ""); + gsub(",.* = ", "\t"); + gsub(",$", ""); + gsub(/"/, ""); + gsub(" ", ""); + gsub("\t", " "); + print; + }') + #echo "===> ${l}" >&2 + + ll=$(echo "${l}" | wc -w | awk '{ print $1 }') + while test "${ll}" -gt 1; do + hwr=${l%%[[:space:]]*} + l=${l#*[[:space:]]} + fwd=${l%%[[:space:]]*} + l=${l#*[[:space:]]} + + #echo "=+=> ${hwr} -> ${fwd}" >&2 + eval fwd_${hwr}=${fwd} + ll=$(echo "${l}" | wc -w | awk '{ print $1 }') + done + + echo "${hwrevs}" | \ + while read did hwrl; do + hwrn=$(echo "${hwrl}" | wc -w | awk '{ print $1 }') + if test ${hwrn} -lt 1; then + printf "Device ID %s has no hardware revisions (%s); skipping\n" "${did}" ${hwrn} >&2 + continue + fi + + for hwrx in ${hwrl}; do + + eval fwd=\${fwd_${hwrx}} + #echo "===> ${did} -> ${hwrx} -> ${fwd}" >&2 + + if test ! -d ${LFWDIR}/${fwd}; then + #printf "Firmware dir %s (for %s) does not exist; skipping\n" ${fwd} ${did} >&2 + continue + fi + + flav=$(echo "${fwd}" | awk -v drv=${DRIVER} '{ + # Ports FLAVOR names are [a-z0-9_]. If needed add more mangling magic here. + gsub("^" drv "/", ""); + gsub("/", "_"); + gsub("\\.", ""); + print tolower($0); + }') + + # Print this first or otherwise if two device IDs have the same firmware + # we may not see that. + echo "FWGET ${did} ${flav}" + + x="" + for zf in ${sfwl}; do + if test "${zf}" == "${flav}"; then + x="${zf}" + break + fi + done + if test "${x}" != ""; then + #printf "Flavor %s (firmware directory %s) already seen; skipping\n" ${flav} ${fwd} >&2 + continue + fi + sfwl="${sfwl} ${flav}" + + #echo "==> ${did} -> ${fwd} -> ${flav}" + + lx=$(cd ${LFWDIR} && find ${fwd} -type f \! -name "*sdio*" -a \! -name "*.txt" -print) + + # Get a count so we can automatically add \\ apart from the last line. + fn=$(echo "${lx}" | wc -w | awk '{ print $1 }') + + #echo "==> ${flav} :: ${fn} :: ${lx}" >&2 + + if test ${fn} -gt 0; then + + echo "FWS ${flav}" + echo "DISTFILES_${flav}= \\" + for fz in ${lx}; do echo "${fz}"; done | \ + awk -v fn=$fn -v fwg=${flav} -v drv=${DRIVER} '{ + if (FNR == fn) { x="" } else { x=" \\" }; + #gsub("^" drv "/", "${FWSUBDIR}/"); + gsub("^", "${FWSUBDIR}/"); + printf "\t%s${DISTURL_SUFFIX}%s\n", $0, x; + }' + + # Check for "lic" files. + lx=$(cd ${LFWDIR} && find ${fwd} -type f \! -name "*sdio*" -a -name "*.txt" -print) + + # Get a count so we can automatically add \\ apart from the last line. + fn=$(echo "${lx}" | wc -w | awk '{ print $1 }') + + if test ${fn} -gt 0; then + echo "FWL ${flav}" + echo "DISTFILES_${flav}_lic= \\" + for fz in ${lx}; do echo "${fz}"; done | \ + awk -v fn=$fn -v fwg=${flav} -v drv=${DRIVER} '{ + if (FNR == fn) { x="" } else { x=" \\" }; + #gsub("^" drv "/", "${FWSUBDIR}/"); + gsub("^", "${FWSUBDIR}/"); + printf "\t%s${DISTURL_SUFFIX}%s\n", $0, x; + }' + fi + fi + done + + done +} + +################################################################################ +# +# Generate the PORTS file template. +# + +fwsl=$(list_fw | grep ^FWS | awk '{ print $2 }') +# Get a count so we can automatically add \\ apart from the last line. +fn=$(echo "${fwsl}" | wc -w | awk '{ print $1 }') + +if test ${fn} -gt 0; then + + portsfile=$(mktemp -p /tmp ${DRIVER}-fwport.XXXXXX) + + :> ${portsfile} + ( + echo "FWSUBS= \\" + for sz in ${fwsl}; do echo "${sz}"; done | \ + awk -v fn=$fn '{ + if (FNR == fn) { x="" } else { x=" \\" }; + printf "\t%s%s\n", $0, x; + }' + + echo + list_fw | grep -v ^FWS | grep -v ^FWL | grep -v ^FWGET + + echo + echo "DISTFILES_\${FWDRV}= \\" + for sz in ${fwsl}; do echo "${sz}"; done | \ + awk -v fn=$fn '{ + if (FNR == fn) { x="" } else { x=" \\" }; + printf "\t${DISTFILES_%s}%s\n", $0, x; + }' + + fwsl=$(list_fw | grep ^FWL | awk '{ print $2 }') + # Get a count so we can automatically add \\ apart from the last line. + fn=$(echo "${fwsl}" | wc -w | awk '{ print $1 }') + if test ${fn} -gt 0; then + echo "DISTFILES_\${FWDRV}_lic= \\" + for sz in ${fwsl}; do echo "${sz}"; done | \ + awk -v fn=$fn '{ + if (FNR == fn) { x="" } else { x=" \\" }; + printf "\t${DISTFILES_%s_lic}%s\n", $0, x; + }' + else + echo "DISTFILES_\${FWDRV}_lic=" + fi + + ) >> ${portsfile} + + printf "INFO: wifi-firmware-%s-kmod template at %s\n" ${DRIVER} ${portsfile} >&2 +fi + +################################################################################ +# +# Generate the fwget(8) case pattern table (PCI device ID -> fw port flavor). +# + +fwgetfile=$(mktemp -p /tmp ${DRIVER}-fwget.XXXXXX) +:> ${fwgetfile} + +fwsl=$(list_fw | grep ^FWGET | sort) +# Get a count so we can automatically add \\ apart from the last line. +fn=$(echo "${fwsl}" | grep -c FWGET | awk '{ print $1 }') + +if test ${fn} -gt 0; then + + # We need to check for same ID with multiple firmware. + # The list ist sorted by ID so duplicates are next to each other. + cs=$(echo "${fwsl}" | awk '{ print $2 }' | uniq -c | awk '{ print $1 }') + + #echo "==> cs=${cs}" >&2 + + for n in ${cs}; do + + # Skip FWGET + fwsl=${fwsl#*[[:space:]]} + # get device ID + did=${fwsl%%[[:space:]]*} + fwsl=${fwsl#*[[:space:]]} + # get flavor + flav=${fwsl%%[[:space:]]*} + fwsl=${fwsl#*[[:space:]]} + + # printf "===> did %s flav %s\n" ${did} ${flav} >&2 + + if test ${n} -eq 1; then + echo "${did} ${flav}" | awk -v drv=${DRIVER} '{ + printf "\t%s)\taddpkg \"wifi-firmware-%s-kmod-%s\"; return 1 ;;\n", + tolower($1), drv, tolower($2); + }' >> ${fwgetfile} + else + echo "${did} ${flav}" | awk -v drv=${DRIVER} '{ + printf "\t%s)\taddpkg \"wifi-firmware-%s-kmod-%s\"\n", + tolower($1), drv, tolower($2); + }' >> ${fwgetfile} + + i=1 + while test ${i} -lt ${n}; do + # Skip FWGET + fwsl=${fwsl#*[[:space:]]} + # get device ID + did=${fwsl%%[[:space:]]*} + fwsl=${fwsl#*[[:space:]]} + # get flavor + flav=${fwsl%%[[:space:]]*} + fwsl=${fwsl#*[[:space:]]} + + #printf "===> did %s flav %s\n" ${did} ${flav} >&2 + + echo "${did} ${flav}" | awk -v drv=${DRIVER} '{ + printf "\t\taddpkg \"wifi-firmware-%s-kmod-%s\"\n", + drv, tolower($2); + }' >> ${fwgetfile} + + i=$((i + 1)) + done + + printf "\t\treturn 1 ;;\n" >> ${fwgetfile} + fi + done +fi + +printf "INFO: fwget pci_network_qca %s template at %s\n" ${DRIVER} ${fwgetfile} >&2 + +# end diff --git a/sys/contrib/dev/athk/ath12k/zzz_fw_ports_fwget.sh b/sys/contrib/dev/athk/ath12k/zzz_fw_ports_fwget.sh new file mode 100644 index 000000000000..500f5de05cc4 --- /dev/null +++ b/sys/contrib/dev/athk/ath12k/zzz_fw_ports_fwget.sh @@ -0,0 +1,310 @@ +#!/bin/sh +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 The FreeBSD Foundation +# +# This software was developed by Björn Zeeb +# under sponsorship from the FreeBSD Foundation. +# +# This is neither efficient nor elegant but we need it few times +# a year and it does the job. +# +# +# USAGE: please check out the correct tag/hash for ports in the +# linux-firmware.git repository you point this script to. +# + +set -e + +DRIVER=ath12k +CHECKFILE=dp_mon.c + +################################################################################ +# +# Check pre-reqs +# +if [ $# -ne 1 ]; then + printf "USAGE: %s /path/to/linux-firmware.git\n" $0 >&2 + exit 1 +fi + +if [ ! -e ${CHECKFILE} ]; then + printf "ERROR: run from %s driver directory; no %s.c here\n" ${DRIVER} ${CHECKFILE} >&2 + exit 1 +fi + +LFWDIR=${1} +if test ! -d ${LFWDIR} -o ! -e ${LFWDIR}/WHENCE; then + printf "ERROR: cannot find linux-firmware.git at '%s'\n" ${LFWDIR} >&2 + exit 1 +fi +LFWDIR=${LFWDIR}/${DRIVER} + +################################################################################ +# +# Helper functions. +# +# This uses a hack (cpp) to expand some macros for us and parses out the result +# which is the PCI device ID or the firmware directory for that. +# +list_fw() +{ + # List of already seen flavor (firmware directory). + sfwl="" + + # List of "supported" device IDs. + devidl=$(cpp pci.c 2> /dev/null | awk '/PCI_VDEVICE\(QCOM,/ { gsub("^.*, ", ""); gsub("\\) },$", ""); print tolower($0); }') + # Turn them into a regex. + didreg=$(echo "${devidl}" | xargs -J % echo -n % | sed -e 's, ,|,g') + # List the device ID cases along with their hw_rev which we can go and take to lookup fw. + hwrevs=$(cpp pci.c 2> /dev/null | egrep -E "(case (${didreg})|ab->hw_rev = )" | awk '{ + if (FNR > 1 && /case/) { + printf "\n"; + } + gsub("^.*case[[:space:]]*", ""); + gsub("[[:space:]]*ab->hw_rev = ", " "); + gsub("[:;]", ""); + printf "%s", $0; + }') + + # hwrevs is a list of (device IDs) -> (1..n hardware revisions) mappings. + #echo "==> ${devidl} :: ${didreg} :: ${hwrevs}" >&2 + + # List of (hardware revision) -> (firware directory) mappings. + l=$(cpp hw.c 2> /dev/null | egrep -E '\.(hw_rev|dir) = ' | awk '{ if (/hw_rev/) { printf "%s", $0; } else { print; } }' | sort | uniq | \ + awk '{ + gsub("^.*hw_rev = ", ""); + gsub(",.* = ", "\t"); + gsub(",$", ""); + gsub(/"/, ""); + gsub(" ", ""); + gsub("\t", " "); + print; + }') + #echo "===> ${l}" >&2 + + ll=$(echo "${l}" | wc -w | awk '{ print $1 }') + while test "${ll}" -gt 1; do + hwr=${l%%[[:space:]]*} + l=${l#*[[:space:]]} + fwd=${l%%[[:space:]]*} + l=${l#*[[:space:]]} + + #echo "=+=> ${hwr} -> ${fwd}" >&2 + eval fwd_${hwr}=${fwd} + ll=$(echo "${l}" | wc -w | awk '{ print $1 }') + done + + echo "${hwrevs}" | \ + while read did hwrl; do + hwrn=$(echo "${hwrl}" | wc -w | awk '{ print $1 }') + if test ${hwrn} -lt 1; then + printf "Device ID %s has no hardware revisions (%s); skipping\n" "${did}" ${hwrn} >&2 + continue + fi + + for hwrx in ${hwrl}; do + + eval fwd=\${fwd_${hwrx}} + #echo "===> ${did} -> ${hwrx} -> ${fwd}" >&2 + + if test ! -d ${LFWDIR}/${fwd}; then + #printf "Firmware dir %s (for %s) does not exist; skipping\n" ${fwd} ${did} >&2 + continue + fi + + flav=$(echo "${fwd}" | awk -v drv=${DRIVER} '{ + # Ports FLAVOR names are [a-z0-9_]. If needed add more mangling magic here. + gsub("^" drv "/", ""); + gsub("/", "_"); + gsub("\\.", ""); + print tolower($0); + }') + + # Print this first or otherwise if two device IDs have the same firmware + # we may not see that. + echo "FWGET ${did} ${flav}" + + x="" + for zf in ${sfwl}; do + if test "${zf}" == "${flav}"; then + x="${zf}" + break + fi + done + if test "${x}" != ""; then + #printf "Flavor %s (firmware directory %s) already seen; skipping\n" ${flav} ${fwd} >&2 + continue + fi + sfwl="${sfwl} ${flav}" + + #echo "==> ${did} -> ${fwd} -> ${flav}" + + lx=$(cd ${LFWDIR} && find ${fwd} -type f \! -name "*sdio*" -a \! -name "*.txt" -print) + + # Get a count so we can automatically add \\ apart from the last line. + fn=$(echo "${lx}" | wc -w | awk '{ print $1 }') + + #echo "==> ${flav} :: ${fn} :: ${lx}" >&2 + + if test ${fn} -gt 0; then + + echo "FWS ${flav}" + echo "DISTFILES_${flav}= \\" + for fz in ${lx}; do echo "${fz}"; done | \ + awk -v fn=$fn -v fwg=${flav} -v drv=${DRIVER} '{ + if (FNR == fn) { x="" } else { x=" \\" }; + #gsub("^" drv "/", "${FWSUBDIR}/"); + gsub("^", "${FWSUBDIR}/"); + printf "\t%s${DISTURL_SUFFIX}%s\n", $0, x; + }' + + # Check for "lic" files. + lx=$(cd ${LFWDIR} && find ${fwd} -type f \! -name "*sdio*" -a -name "*.txt" -print) + + # Get a count so we can automatically add \\ apart from the last line. + fn=$(echo "${lx}" | wc -w | awk '{ print $1 }') + + if test ${fn} -gt 0; then + echo "FWL ${flav}" + echo "DISTFILES_${flav}_lic= \\" + for fz in ${lx}; do echo "${fz}"; done | \ + awk -v fn=$fn -v fwg=${flav} -v drv=${DRIVER} '{ + if (FNR == fn) { x="" } else { x=" \\" }; + #gsub("^" drv "/", "${FWSUBDIR}/"); + gsub("^", "${FWSUBDIR}/"); + printf "\t%s${DISTURL_SUFFIX}%s\n", $0, x; + }' + fi + fi + done + + done +} + +################################################################################ +# +# Generate the PORTS file template. +# + +fwsl=$(list_fw | grep ^FWS | awk '{ print $2 }') +# Get a count so we can automatically add \\ apart from the last line. +fn=$(echo "${fwsl}" | wc -w | awk '{ print $1 }') + +if test ${fn} -gt 0; then + + portsfile=$(mktemp -p /tmp ${DRIVER}-fwport.XXXXXX) + + :> ${portsfile} + ( + echo "FWSUBS= \\" + for sz in ${fwsl}; do echo "${sz}"; done | \ + awk -v fn=$fn '{ + if (FNR == fn) { x="" } else { x=" \\" }; + printf "\t%s%s\n", $0, x; + }' + + echo + list_fw | grep -v ^FWS | grep -v ^FWL | grep -v ^FWGET + + echo + echo "DISTFILES_\${FWDRV}= \\" + for sz in ${fwsl}; do echo "${sz}"; done | \ + awk -v fn=$fn '{ + if (FNR == fn) { x="" } else { x=" \\" }; + printf "\t${DISTFILES_%s}%s\n", $0, x; + }' + + fwsl=$(list_fw | grep ^FWL | awk '{ print $2 }') + # Get a count so we can automatically add \\ apart from the last line. + fn=$(echo "${fwsl}" | wc -w | awk '{ print $1 }') + if test ${fn} -gt 0; then + echo "DISTFILES_\${FWDRV}_lic= \\" + for sz in ${fwsl}; do echo "${sz}"; done | \ + awk -v fn=$fn '{ + if (FNR == fn) { x="" } else { x=" \\" }; + printf "\t${DISTFILES_%s_lic}%s\n", $0, x; + }' + else + echo "DISTFILES_\${FWDRV}_lic=" + fi + + ) >> ${portsfile} + + printf "INFO: wifi-firmware-%s-kmod template at %s\n" ${DRIVER} ${portsfile} >&2 +fi + +################################################################################ +# +# Generate the fwget(8) case pattern table (PCI device ID -> fw port flavor). +# + +fwgetfile=$(mktemp -p /tmp ${DRIVER}-fwget.XXXXXX) +:> ${fwgetfile} + +fwsl=$(list_fw | grep ^FWGET | sort) +# Get a count so we can automatically add \\ apart from the last line. +fn=$(echo "${fwsl}" | grep -c FWGET | awk '{ print $1 }') + +if test ${fn} -gt 0; then + + # We need to check for same ID with multiple firmware. + # The list ist sorted by ID so duplicates are next to each other. + cs=$(echo "${fwsl}" | awk '{ print $2 }' | uniq -c | awk '{ print $1 }') + + #echo "==> cs=${cs}" >&2 + + for n in ${cs}; do + + # Skip FWGET + fwsl=${fwsl#*[[:space:]]} + # get device ID + did=${fwsl%%[[:space:]]*} + fwsl=${fwsl#*[[:space:]]} + # get flavor + flav=${fwsl%%[[:space:]]*} + fwsl=${fwsl#*[[:space:]]} + + # printf "===> did %s flav %s\n" ${did} ${flav} >&2 + + if test ${n} -eq 1; then + echo "${did} ${flav}" | awk -v drv=${DRIVER} '{ + printf "\t%s)\taddpkg \"wifi-firmware-%s-kmod-%s\"; return 1 ;;\n", + tolower($1), drv, tolower($2); + }' >> ${fwgetfile} + else + echo "${did} ${flav}" | awk -v drv=${DRIVER} '{ + printf "\t%s)\taddpkg \"wifi-firmware-%s-kmod-%s\"\n", + tolower($1), drv, tolower($2); + }' >> ${fwgetfile} + + i=1 + while test ${i} -lt ${n}; do + # Skip FWGET + fwsl=${fwsl#*[[:space:]]} + # get device ID + did=${fwsl%%[[:space:]]*} + fwsl=${fwsl#*[[:space:]]} + # get flavor + flav=${fwsl%%[[:space:]]*} + fwsl=${fwsl#*[[:space:]]} + + #printf "===> did %s flav %s\n" ${did} ${flav} >&2 + + echo "${did} ${flav}" | awk -v drv=${DRIVER} '{ + printf "\t\taddpkg \"wifi-firmware-%s-kmod-%s\"\n", + drv, tolower($2); + }' >> ${fwgetfile} + + i=$((i + 1)) + done + + printf "\t\treturn 1 ;;\n" >> ${fwgetfile} + fi + done +fi + +printf "INFO: fwget pci_network_qca %s template at %s\n" ${DRIVER} ${fwgetfile} >&2 + +# end diff --git a/sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh b/sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh new file mode 100644 index 000000000000..60c75c00cbc7 --- /dev/null +++ b/sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh @@ -0,0 +1,374 @@ +#!/bin/sh +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 The FreeBSD Foundation +# +# This software was developed by Björn Zeeb +# under sponsorship from the FreeBSD Foundation. +# +# This is neither efficient nor elegant but we need it few times +# a year and it does the job. +# +# +# USAGE: please check out the correct tag/hash for ports in the +# linux-firmware.git repository you point this script to. +# +# USAGE: please make sure to pre-load if_iwlwifi.ko so that we +# have access to the sysctl. You do not need to have a supported *** 963 LINES SKIPPED *** From nobody Thu Oct 31 14:34:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfRNG6bDzz5bnrZ; Thu, 31 Oct 2024 14:34: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfRNG515Cz47b2; Thu, 31 Oct 2024 14:34:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385294; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YmbNnPxHwSuLlpLHZi6vKnr5gyGwHBCGtLMN/Ckv9K0=; b=nL+bb3ImIKX3LBMnmxFRH6ATCCIhm5Cev6NF2F55UKQi5GmdVvCn/uZxj9NNCuAquqT3xT Fb8cMkxRgiwIZ+GV1NZdwa1tYGKJDUJETpnRIg1ndMinl+Czlpmn5sdzN9xxdSbz2QLH08 RpvfEb1jqtQ7KfRVeGhzLcfNL6uFplsFXSNcij1Z0U0PwKZ0B4S/V60dAzL/DA3CahExlx H07Au7S451dIr/AS8aWN6r3roxcEZi00i4h6SrJkEu0qwiJg8DuEbByyywgvY+1qIkk1W+ MOMB+xyfe6VegCUynSLRuYb6k8Q468PBm1Nf2vi3go76o6OfP61adFcGBz1RHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385294; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YmbNnPxHwSuLlpLHZi6vKnr5gyGwHBCGtLMN/Ckv9K0=; b=oCpcHjftEtkUOWBasdW6AEiHNGqetWbetjArAtZEbDq7+pqit/3AGrIRObs2OzTcOXEYAl 1gQXA09KmV1cy5GLfnM8hZUhJ5fprvJVW2ShaxyVmFTO+g8jbfOUr9hFWJkcFpspMkJmz1 3iKLEJFm+XUQzQ026XtMTo+FXryI637c7jwq5biyDLboWfxfwQQp+uPvo6WH0708Cem7lW dyVEWzeheKEidijNBbtSurASJTFe+MEWXdI0k4ncQW2qmwE0hgHWL+hYWj9u+Wi7lPRsI9 LzAZ2IFlJDJBL6Me5jQL/ARFFllvdvxIzy7onu+wsrmB599W23XcGolsERcmcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730385294; a=rsa-sha256; cv=none; b=o1pcniP8p6g88jGA4grxkZzVYvLhkeWfzZDWtRGFQoJ1e3AJ/c0fkw5a2GmcY0qwlR/BrH BrdtALAWRZfNv3VborqTJHn6G9AtGrxdKsANhbKEAsRtcN4BjP2go1wLYLjQUj/bd/qLcz Eh597TDj9q62u0zcsEDWYyW3FJ+/X9HpmHYRn8L6TWASgVOUWoZmMRahCdKKbcouqey1cb zsikBzLs4ni5aVXu6nHOePvrr8CumNbJmqm/ZirR+yjW3JZ+wWTccs1S0PnL/C/DyrlzWm EaU3RyRgl/N179l1/TaJc53kdcTxO/y1154LkAxQpCITp7i1hq2NwisdrFppBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfRNG4cybzgH8; Thu, 31 Oct 2024 14:34:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VEYsMc005212; Thu, 31 Oct 2024 14:34:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VEYs3Z005209; Thu, 31 Oct 2024 14:34:54 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:34:54 GMT Message-Id: <202410311434.49VEYs3Z005209@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: bc56cb293966 - stable/14 - iwn.4: move hardware to HARDWARE + minor cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: bc56cb293966b00376e86a9e49192e20a3744aa5 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=bc56cb293966b00376e86a9e49192e20a3744aa5 commit bc56cb293966b00376e86a9e49192e20a3744aa5 Author: Alexander Ziaee AuthorDate: 2024-10-17 19:29:34 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-10-31 14:33:56 +0000 iwn.4: move hardware to HARDWARE + minor cleanup Add devices supported by this driver to a HARDWARE section for inclusion in the release Hardware Compatibility Notes. While here: - add SPDX tag - add networking(7) cross-ref quick start guide - tweak examples for consistency Differential Revision: https://reviews.freebsd.org/D47168 (cherry picked from commit 545dbf9d5fadfab591350c7c504b8e4bd113ba7b) --- share/man/man4/iwn.4 | 106 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 68 insertions(+), 38 deletions(-) diff --git a/share/man/man4/iwn.4 b/share/man/man4/iwn.4 index 1d9f50c38fee..55692a5386a5 100644 --- a/share/man/man4/iwn.4 +++ b/share/man/man4/iwn.4 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2004-2006 .\" Damien Bergamini . All rights reserved. .\" @@ -23,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 30, 2021 +.Dd October 17, 2024 .Dt IWN 4 .Os .Sh NAME @@ -87,38 +90,7 @@ iwn6050fw_load="YES" .Sh DESCRIPTION The .Nm -driver provides support for: -.Pp -.Bl -tag -width Ds -offset indent -compact -.It Intel Centrino Advanced-N 6200 -.It Intel Centrino Advanced-N 6205 -.It Intel Centrino Advanced-N 6230 -.It Intel Centrino Advanced-N 6235 -.It Intel Centrino Advanced-N + WiMAX 6250 -.It Intel Centrino Ultimate-N 6300 -.It Intel Centrino Wireless-N 100 -.It Intel Centrino Wireless-N 105 -.It Intel Centrino Wireless-N 130 -.It Intel Centrino Wireless-N 135 -.It Intel Centrino Wireless-N 1000 -.It Intel Centrino Wireless-N 1030 -.It Intel Centrino Wireless-N 2200 -.It Intel Centrino Wireless-N 2230 -.It Intel Centrino Wireless-N 4965 -.It Intel Centrino Wireless-N 5100 -.It Intel Centrino Wireless-N 6150 -.It Intel Centrino Wireless-N 6200 -.It Intel Centrino Wireless-N 6250 -.It Intel Centrino Wireless-N + WiMAX 6150 -.It Intel Ultimate N WiFi Link 5300 -.It Intel Wireless WiFi Link 4965 -.It Intel WiFi Link 5100 -.It Intel WiMAX/WiFi Link 5150 -.It Intel WiMAX/WiFi Link 5350 -.El -.Pp -.Nm -supports +driver supports .Cm station and .Cm monitor @@ -130,27 +102,84 @@ For more information on configuring this device, see This driver requires the firmware built with the .Nm iwnfw module to work. +.Sh HARDWARE +The +.Nm +driver provides support for: +.Pp +.Bl -bullet -compact +.It +Intel Centrino Advanced-N 6200 +.It +Intel Centrino Advanced-N 6205 +.It +Intel Centrino Advanced-N 6230 +.It +Intel Centrino Advanced-N 6235 +.It +Intel Centrino Advanced-N + WiMAX 6250 +.It +Intel Centrino Ultimate-N 6300 +.It +Intel Centrino Wireless-N 100 +.It +Intel Centrino Wireless-N 105 +.It +Intel Centrino Wireless-N 130 +.It +Intel Centrino Wireless-N 135 +.It +Intel Centrino Wireless-N 1000 +.It +Intel Centrino Wireless-N 1030 +.It +Intel Centrino Wireless-N 2200 +.It +Intel Centrino Wireless-N 2230 +.It +Intel Centrino Wireless-N 4965 +.It +Intel Centrino Wireless-N 5100 +.It +Intel Centrino Wireless-N 6150 +.It +Intel Centrino Wireless-N 6200 +.It +Intel Centrino Wireless-N 6250 +.It +Intel Centrino Wireless-N + WiMAX 6150 +.It +Intel Ultimate N WiFi Link 5300 +.It +Intel Wireless WiFi Link 4965 +.It +Intel WiFi Link 5100 +.It +Intel WiMAX/WiFi Link 5150 +.It +Intel WiMAX/WiFi Link 5350 +.El .Sh EXAMPLES Join an existing BSS network (i.e., connect to an access point): .Bd -literal -offset indent -ifconfig wlan create wlandev iwn0 inet 192.168.0.20 \e +# ifconfig wlan create wlandev iwn0 inet 192.168.0.20 \e netmask 0xffffff00 .Ed .Pp Join a specific BSS network with network name -.Dq Li my_net : +.Ql my_net : .Pp -.Dl "ifconfig wlan create wlandev iwn0 ssid my_net up" +.Dl # ifconfig wlan create wlandev iwn0 ssid my_net up .Pp Join a specific BSS network with 64-bit WEP encryption: .Bd -literal -offset indent -ifconfig wlan create wlandev iwn0 ssid my_net \e +# ifconfig wlan create wlandev iwn0 ssid my_net \e wepmode on wepkey 0x1234567890 weptxkey 1 up .Ed .Pp Join a specific BSS network with 128-bit WEP encryption: .Bd -literal -offset indent -ifconfig wlan create wlandev iwn0 wlanmode adhoc ssid my_net \e +# ifconfig wlan create wlandev iwn0 wlanmode adhoc ssid my_net \e wepmode on wepkey 0x01020304050607080910111213 weptxkey 1 .Ed .Sh DIAGNOSTICS @@ -191,6 +220,7 @@ This should not happen. .Xr wlan_ccmp 4 , .Xr wlan_tkip 4 , .Xr wlan_wep 4 , +.Xr networking 7 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 .Sh AUTHORS From nobody Thu Oct 31 14:34:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfRNJ260qz5bnwq; Thu, 31 Oct 2024 14:34: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfRNJ0lynz47nj; Thu, 31 Oct 2024 14:34:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2FKlqhLCPjcRFElQpWySY3LFgbkzMsPNU05D/180iqA=; b=UC3/2kbNbNGMYdKQ/XMg1nJroIBom5UIE2JKFXtBwho5EoEHuc0XC3Nkj14LlqdL0gg7cW AF/jq0ubx0G1IjZrdD4qKRFa9gKogtM3SUiWDM0flIi1MSfsPhNx47DPAFcddMQ7DmJtnm +kcC+nNKEV7ba6lUqMbpDBzNjtn32YuplRAAoo3TRhIrE0Df7YHqssg5Z3tB72styJeDMV 9vem+cVeKz/vtH803lOOZrZkfMTn2tS3EB7QUN68klVcX9m8Z+sVTZXrz03LUCJgg1Jxha F+KJf1/b/Vhght1PA5ZrYXwdusIfBKTDMJXKv5th1iFgDjB7uaOM2uMjmBdJJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2FKlqhLCPjcRFElQpWySY3LFgbkzMsPNU05D/180iqA=; b=eVpnCgqs93fb3mQOw+BTBwHTJrTmuFAuA5UBZhPOlykvfe7xTE+j3GQXZ+KzwFstCgijHn 4UtTAzwyDEZNximMkaHLDjDgK3fbwwEXMAkZFgeVCn4ZL3ScY9SF8GoJ0Hx9eZ8YzmhHB0 aK7WW/UVtm9XjFRr0yTlNkuzKMNIHGyB47Y7pMhvW8GeU7KMwu8TzHU6rYSSdJ4weMhm70 4e7A2f8oXDMUw1Gja8BDuCEjRAGeHlYN9COsLVwv9uWfLd9UFQaloOXpHn/DTlzwtL22vA 49bR3fCpHGDifKBZ9+XK8lIqVPSQtgt72KSaPTZvqYBH8pAHqqrifodt5yli+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730385296; a=rsa-sha256; cv=none; b=rA6TN5iamcaf6xabQFuGx3c3XjEHKXMS0cT0GgDyTs1lSn4AJ7rfRogo44fRBXTCBdqSpX 2WYgyVM3rU+QB17a5OhNGLG5fluOHhLiuSfyWmDfT+qzUnx7/b8YKgugFFk/U1y785damX CNGgxxc6lwW+tPGi3eTKSICUOYSopjcto82vKOSP9/ByWqMcKUIEERyW5gROPgLcF9Lb8i 43SD1dSSsfqlGvS0J4Y3mf7wLE/0lj+NrRqwQWwBwRTWbvLVAKxIDGYTps06dLXZPnAmj+ oczkePC68UpC3cL+KDVJ/4YAQe92/YM6Zrtemyf1USADYK9PDBMaD4bt0Qu0sQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfRNH5CLWzg6c; Thu, 31 Oct 2024 14:34:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VEYtju005277; Thu, 31 Oct 2024 14:34:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VEYtbj005274; Thu, 31 Oct 2024 14:34:55 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:34:55 GMT Message-Id: <202410311434.49VEYtbj005274@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 231e279ca99b - stable/14 - wpi.4: move hardware to HARDWARE + minor cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 231e279ca99bad95c42090fb4ef329cbaa69ec3d Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=231e279ca99bad95c42090fb4ef329cbaa69ec3d commit 231e279ca99bad95c42090fb4ef329cbaa69ec3d Author: Alexander Ziaee AuthorDate: 2024-10-17 19:38:05 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-10-31 14:33:57 +0000 wpi.4: move hardware to HARDWARE + minor cleanup Add devices supported by this driver to a HARDWARE section for generation in the Hardware Compatibility Notes. While here: - describe more consistently with product doc and rest of manual - consolidate basics in first paragraph of description - mention boot time configuration - cross-ref networking(7) quick start guide - zap deprecated Tn, macro in list width, and "Dq Li" => "Ql" - markup some unmarked elements - add SPDX tag Differential Revision: https://reviews.freebsd.org/D47170 (cherry picked from commit fa573868f187956b384722a90392866769f4965a) --- share/man/man4/wpi.4 | 54 ++++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/share/man/man4/wpi.4 b/share/man/man4/wpi.4 index 8fe52cdc58eb..9d8d5fb1bd65 100644 --- a/share/man/man4/wpi.4 +++ b/share/man/man4/wpi.4 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2004-2007 .\" Damien Bergamini . All rights reserved. .\" Benjamin Close . All rights reserved. @@ -26,12 +29,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 31, 2016 +.Dd October 17, 2024 .Dt WPI 4 .Os .Sh NAME .Nm wpi -.Nd "Intel 3945ABG Wireless LAN IEEE 802.11 driver" +.Nd Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g network driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -48,16 +51,13 @@ kernel configuration file: Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : -.Bd -literal -offset indent -if_wpi_load="YES" -.Ed +.Pp +.Dl if_wpi_load="YES" .Sh DESCRIPTION The .Nm -driver provides support for the -.Tn Intel -3945ABG Wireless network adapter. -The driver supports +driver supports running the +Intel PRO/Wireless 3945ABG network adapter in .Cm station , .Cm adhoc , .Cm adhoc-demo , @@ -65,6 +65,11 @@ The driver supports and .Cm monitor mode operation. +This driver requires the wpifw firmware module +and can be configured at runtime with +.Xr ifconfig 8 +or at boot in +.Xr rc.conf 5 . Only one virtual interface may be configured at any time. .Pp The @@ -81,17 +86,13 @@ The .Nm driver offloads both encryption and decryption of data frames to the hardware for the CCMP cipher. -.Pp -This driver requires the firmware built with the -.Nm wpifw 4 -module to work. -.Pp +.Sh HARDWARE The .Nm -driver can be configured at runtime with -.Xr ifconfig 8 . +driver provides support for the +Intel PRO/Wireless 3945ABG Mini PCIe network adapter. .Sh FILES -.Bl -tag -width ".Pa /usr/share/doc/legal/intel_wpi.LICENSE" -compact +.Bl -tag -width "/usr/share/doc/legal/intel_wpi.LICENSE" -compact .It Pa /usr/share/doc/legal/intel_wpi.LICENSE .Nm firmware license @@ -104,7 +105,7 @@ ifconfig wlan0 create wlandev wpi0 inet 192.168.0.20 \e .Ed .Pp Join a specific BSS network with network name -.Dq Li my_net : +.Ar my_net : .Pp .Dl "ifconfig wlan0 create wlandev wpi0 ssid my_net up" .Pp @@ -122,7 +123,7 @@ ifconfig wlan0 create wlandev wpi0 wlanmode adhoc ssid my_net \e .Ed .Pp Join/create an 802.11b IBSS network with network name -.Dq Li my_net : +.Ar my_net : .Bd -literal -offset indent ifconfig wlan0 create wlandev wpi0 wlanmode adhoc ifconfig wlan0 inet 192.168.0.22 netmask 0xffffff00 ssid my_net \e @@ -141,9 +142,7 @@ ifconfig wlan0 inet 192.168.0.10 netmask 0xffffff00 ssid my_ap \e The driver failed to load the firmware image using the .Xr firmware 9 subsystem. -Verify the -.Xr wpifw 4 -firmware module is installed. +Verify the wpifw firmware module is installed. .It "wpi%d: %s: timeout waiting for adapter to initialize, error %d" The onboard microcontroller failed to initialize in time. This should not happen. @@ -189,7 +188,7 @@ This should not happen. .Xr wlan_tkip 4 , .Xr wlan_wep 4 , .Xr wlan_xauth 4 , -.Xr wpifw 4 , +.Xr networking 7 , .Xr hostapd 8 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 @@ -207,10 +206,11 @@ ported to .Fx . .Sh CAVEATS -Hostap mode is not directly supported by the device; +.Cm Hostap +mode is not directly supported by the device; it is implemented through IBSS mode (as a result, DFS/passive channels are not available in this mode). .Pp -Powersave may be unstable on some networks (results in -occasional 'wpi%d: device timeout' messages); you can try -to disable it to improve device stability. +Powersave may be unstable on some networks +.Po results in occasional Sy 'wpi%d: device timeout' No messages Pc ; +you can try to disable it to improve device stability. From nobody Thu Oct 31 14:34:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfRNK3r63z5bpBg; Thu, 31 Oct 2024 14:34: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfRNJ6GN6z47g8; Thu, 31 Oct 2024 14:34:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Oa5ohhqgLh51UoxGN86YRNE0ibgfV59sY4if3KRlKZQ=; b=PwFBTSXmLstVvqNOS8ZzmmE0rRhmNDMI948LohpR6wVNqcDjUkoTnoFAp+Gya9kjOoTgpE GjQzaAwOz9WfPulekGytg8pQfj+gxkbOeX+m5ooXr15V8ESfJxdS9QHnKxO77/vt5B4WlJ 5dxTF2otblvgfaVrhbisELRXnx9GO53zwlaxPNfwNe5YzhGh6GHs3NwtbjEWjNfVTAGi7M 0eKpJoi2QbL0lRVRuuIfjXZqqxXk3CJJp8X3rCeYaLYQWglSVrhmfPgBVSxpGQGi19ZNsf /pAsPs+umFslfTM2egz1EN8xX5lvLAR16SDOdir5HlxJHQSASL/1brzU/jE6+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Oa5ohhqgLh51UoxGN86YRNE0ibgfV59sY4if3KRlKZQ=; b=bwLtWjn06Nd7Y272yKhOdEqA0YUUUpuAkz3xAY1eOMecpWtCe9TwjyB40ce5xjf8RMOtaB VWdCiE52/WFestkyOX6ctnQpD1Rx3dvg0edmY2oixJuTthvYF39GLRVrkLNOsnpIVSpouM GmjJRqBYaloW1FOGhnl43RKAQnZYzfoTh6UcAVVJ7UF8mTURKaQxjFjiP5gyu2+I0BUy2X OleGsNPWP9+NuXaHKIHFDmg0qUwZfhVb/YUCnnYTPUNYSl9soRf5zOFlvjsHjE5+k1ouXu DuIUcmooXFsxrLxMzy6rfv9TWmmxBRoiwkw0HY5wn6NqBxMH0aXH2jqiYzB05A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730385296; a=rsa-sha256; cv=none; b=odOm33S6k/Dj+OfVCwyHCpHRiF3MBwYuhMB7TBogoVQrYiuWZLzotdIhw0UXox/Ga5Ubiv xFpfYQf60ThPGP89Pm95+RSBaI4osOHkueT9AdXogHrtxlg9Px7IEfsi6NTT1Pey6HupVA s9l80id+yRKnTG76aRoDu47Y3zt9oXF2RxoMHWA91MmubQQHvKmsnQeEbQUcWDjBi2DNL8 1tRQxDBiSqCGgqqkOL97npTXhmDNiuO3VfZZRxT+jqvxOncqzkcuTuS71hvhGfDFvZiUwm AAYN2i/2s7hZmSrpxLYr2Oe1xYDgdBggt1lU1KINSiEgiH+cUmp4eexlR5yIkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfRNJ5s0TzgYk; Thu, 31 Oct 2024 14:34:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VEYuh1005330; Thu, 31 Oct 2024 14:34:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VEYuV8005326; Thu, 31 Oct 2024 14:34:56 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:34:56 GMT Message-Id: <202410311434.49VEYuV8005326@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 83412843682b - stable/14 - LinuxKPI: update rcu_dereference_*() and lockdep_is_held() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 83412843682beccc5306cca836160e6e509c563e Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=83412843682beccc5306cca836160e6e509c563e commit 83412843682beccc5306cca836160e6e509c563e Author: Bjoern A. Zeeb AuthorDate: 2024-09-29 00:35:04 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-10-31 14:33:57 +0000 LinuxKPI: update rcu_dereference_*() and lockdep_is_held() Update rcu_dereference_{check,protected}() to call the check and log once if it fails and if the RCU debug sysctl is turned on. Also add proper checks for conditions passed in to these functions. For that implement linux_rcu_read_lock_held() (lots of help from wulf). (While here also remove extraneous extern for function prototypes). Update lockdep_is_held() to always be an inline function with argument annotation so that we do no longer have unused variables in callers which only call lockdep_is_held(). Sponsored by: The FreeBSD Foundation Reviewed by: wulf Differential Revision: https://reviews.freebsd.org/D46842 (cherry picked from commit 5c92f84bb607c692ce4fa762a7a3c4b86a2fa281) --- sys/compat/linuxkpi/common/include/linux/lockdep.h | 28 ++++++----- .../linuxkpi/common/include/linux/rcupdate.h | 57 ++++++++++++++++++---- sys/compat/linuxkpi/common/src/linux_compat.c | 4 ++ sys/compat/linuxkpi/common/src/linux_rcu.c | 31 ++++++++++++ 4 files changed, 97 insertions(+), 23 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/lockdep.h b/sys/compat/linuxkpi/common/include/linux/lockdep.h index 5291be79218e..70a4e45867fe 100644 --- a/sys/compat/linuxkpi/common/include/linux/lockdep.h +++ b/sys/compat/linuxkpi/common/include/linux/lockdep.h @@ -70,17 +70,6 @@ struct pin_cookie { #define lockdep_assert_none_held_once() do { } while (0) -static __inline bool -lockdep_is_held(void *__m) -{ - struct lock_object *__lock; - struct thread *__td; - - __lock = __m; - return (LOCK_CLASS(__lock)->lc_owner(__lock, &__td) != 0); -} -#define lockdep_is_held_type(_m, _t) lockdep_is_held(_m) - #else #define lockdep_assert(cond) do { } while (0) #define lockdep_assert_once(cond) do { } while (0) @@ -91,10 +80,23 @@ lockdep_is_held(void *__m) #define lockdep_assert_held_once(m) do { (void)(m); } while (0) -#define lockdep_is_held(m) 1 -#define lockdep_is_held_type(_m, _t) 1 #endif +static __inline bool +lockdep_is_held(void *__m __diagused) +{ +#ifdef INVARIANTS + struct lock_object *__lock; + struct thread *__td; + + __lock = __m; + return (LOCK_CLASS(__lock)->lc_owner(__lock, &__td) != 0); +#else + return (true); +#endif +} +#define lockdep_is_held_type(_m, _t) lockdep_is_held(_m) + #define might_lock(m) do { } while (0) #define might_lock_read(m) do { } while (0) #define might_lock_nested(m, n) do { } while (0) diff --git a/sys/compat/linuxkpi/common/include/linux/rcupdate.h b/sys/compat/linuxkpi/common/include/linux/rcupdate.h index 95332217f8f5..85d766c8dbc9 100644 --- a/sys/compat/linuxkpi/common/include/linux/rcupdate.h +++ b/sys/compat/linuxkpi/common/include/linux/rcupdate.h @@ -1,6 +1,10 @@ /*- * Copyright (c) 2016-2017 Mellanox Technologies, Ltd. * All rights reserved. + * Copyright (c) 2024 The FreeBSD Foundation + * + * Portions of this software were developed by Björn Zeeb + * 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 @@ -26,11 +30,20 @@ #ifndef _LINUXKPI_LINUX_RCUPDATE_H_ #define _LINUXKPI_LINUX_RCUPDATE_H_ +#include + #include #include +#include #include +extern int linuxkpi_rcu_debug; +#define RCU_WARN_ONCE(c, ...) do { \ + if (unlikely(linuxkpi_rcu_debug > 0)) \ + WARN_ONCE((c), ##__VA_ARGS__); \ +} while(0) + #define LINUX_KFREE_RCU_OFFSET_MAX 4096 /* exclusive */ /* BSD specific defines */ @@ -61,6 +74,9 @@ linux_rcu_read_unlock(RCU_TYPE_REGULAR);\ } while (0) +#define rcu_read_lock_held(void) \ + linux_rcu_read_lock_held(RCU_TYPE_REGULAR) + #define synchronize_rcu(void) do { \ linux_synchronize_rcu(RCU_TYPE_REGULAR); \ } while (0) @@ -79,14 +95,34 @@ #define rcu_access_pointer(p) \ ((__typeof(*p) *)READ_ONCE(p)) -#define rcu_dereference_protected(p, c) \ +#define rcu_dereference(p) \ ((__typeof(*p) *)READ_ONCE(p)) -#define rcu_dereference(p) \ - rcu_dereference_protected(p, 0) +#define __rcu_var_name(n, f, l) \ + __CONCAT(__CONCAT(__CONCAT(rcu_, n), _), __COUNTER__) + +#define __rcu_dereference_protected(p, c, n) \ +({ \ + RCU_WARN_ONCE(!(c), "%s:%d: condition for %s failed\n", \ + __func__, __LINE__, __XSTRING(n)); \ + rcu_dereference(p); \ +}) + +#define rcu_dereference_protected(p, c) \ + __rcu_dereference_protected((p), (c), \ + __rcu_var_name(protected, __func__, __LINE__)) + +#define __rcu_dereference_check(p, c, n) \ +({ \ + __typeof(*p) *n = rcu_dereference(p); \ + RCU_WARN_ONCE(!(c), "%s:%d: condition for %s failed\n", \ + __func__, __LINE__, __XSTRING(n)); \ + n; \ +}) -#define rcu_dereference_check(p, c) \ - rcu_dereference_protected(p, c) +#define rcu_dereference_check(p, c) \ + __rcu_dereference_check((p), (c) || rcu_read_lock_held(), \ + __rcu_var_name(check, __func__, __LINE__)) #define rcu_dereference_raw(p) \ ((__typeof(*p) *)READ_ONCE(p)) @@ -113,11 +149,12 @@ /* prototypes */ -extern void linux_call_rcu(unsigned type, struct rcu_head *ptr, rcu_callback_t func); -extern void linux_rcu_barrier(unsigned type); -extern void linux_rcu_read_lock(unsigned type); -extern void linux_rcu_read_unlock(unsigned type); -extern void linux_synchronize_rcu(unsigned type); +void linux_call_rcu(unsigned type, struct rcu_head *ptr, rcu_callback_t func); +void linux_rcu_barrier(unsigned type); +void linux_rcu_read_lock(unsigned type); +void linux_rcu_read_unlock(unsigned type); +bool linux_rcu_read_lock_held(unsigned); +void linux_synchronize_rcu(unsigned type); /* Empty implementation for !DEBUG */ #define init_rcu_head(...) diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index ec4e59f66e7f..fe1a545c6a3a 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -117,6 +117,10 @@ int linuxkpi_debug; SYSCTL_INT(_compat_linuxkpi, OID_AUTO, debug, CTLFLAG_RWTUN, &linuxkpi_debug, 0, "Set to enable pr_debug() prints. Clear to disable."); +int linuxkpi_rcu_debug; +SYSCTL_INT(_compat_linuxkpi, OID_AUTO, rcu_debug, CTLFLAG_RWTUN, + &linuxkpi_rcu_debug, 0, "Set to enable RCU warning. Clear to disable."); + int linuxkpi_warn_dump_stack = 0; SYSCTL_INT(_compat_linuxkpi, OID_AUTO, warn_dump_stack, CTLFLAG_RWTUN, &linuxkpi_warn_dump_stack, 0, diff --git a/sys/compat/linuxkpi/common/src/linux_rcu.c b/sys/compat/linuxkpi/common/src/linux_rcu.c index 4515684aabc7..8151d7fd15e1 100644 --- a/sys/compat/linuxkpi/common/src/linux_rcu.c +++ b/sys/compat/linuxkpi/common/src/linux_rcu.c @@ -2,6 +2,10 @@ * Copyright (c) 2016 Matthew Macy (mmacy@mattmacy.io) * Copyright (c) 2017-2021 Hans Petter Selasky (hselasky@freebsd.org) * All rights reserved. + * Copyright (c) 2024 The FreeBSD Foundation + * + * Portions of this software were developed by Björn Zeeb + * 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 @@ -246,6 +250,33 @@ linux_rcu_read_unlock(unsigned type) sched_unpin(); } +bool +linux_rcu_read_lock_held(unsigned type) +{ +#ifdef INVARINATS + struct linux_epoch_record *record __diagused; + struct task_struct *ts; + + MPASS(type < RCU_TYPE_MAX); + + if (RCU_SKIP()) + return (false); + + if (__current_unallocated(curthread)) + return (false); + + ts = current; + if (ts->rcu_recurse[type] == 0) + return (false); + + MPASS(curthread->td_pinned != 0); + MPASS((record = &DPCPU_GET(linux_epoch_record[type])) && + record->epoch_record.active != 0); +#endif + + return (true); +} + static void linux_synchronize_rcu_cb(ck_epoch_t *epoch __unused, ck_epoch_record_t *epoch_record, void *arg __unused) { From nobody Thu Oct 31 14:34:57 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfRNL1TVhz5bpBh; Thu, 31 Oct 2024 14:34: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfRNK6XG3z47td; Thu, 31 Oct 2024 14:34:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mp6V6CcnbMZECyYLXlS/LWBwUE+xox4zYeW/420FS3I=; b=nKzMqzO1wg7Ld+sYmws2U73rImvT5qHwlsqv7RBX6F9KG13Z9w53EnlMR5m6PTDL222/y7 6qZPShPjqZfyvJ/QT0bdItkqIA2NPO5INXyADN6QDO1t1scARcWAOIe5ZBQjoC12Taldfj Yd7ky1lBG3Fbkf3mPcWpLL3NUoWqdTzyuklRBbIhh5a+plZ9URuQUeCz2RmFk65dmKL07z 96aJ6Qohi25bDwOBBuQ4JrCaLi3ENJL75iO3zZ7rtWW8A94vR8V8hdnyFZ0htLxbPr1+H+ QE+tjSgVfpzP6gYRxTJ8xRbxdc3y0ZDjdU56AbJ7JNWR83pLOT+a0ETWoD2nqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mp6V6CcnbMZECyYLXlS/LWBwUE+xox4zYeW/420FS3I=; b=tTRJFfX9Vh0eiYoMDRVr1EvnaR2ZnjfFjZjN0Ac1wkTbaIXEVJtT/yeJ2KYsqZmsNunyyx j1gsewa5ooSF6UKNv+4+EbXNKQOYA0ZbhpF8UXSnjy9mZllcl3G3uemnve4vHnJlvpG5Nb bNvRPuMSO2f72BzL2EfltNBf3rxvFnjxxCfsozZcAYtmj6RGSpXQppIusXOjAousgCFQ+y yITLwDx5o32wgGe83LFzPDjQflAoqyUwYiaOrdRI43Qwz8OLIxwqH5/IvcaOwopnushkVa BVYnTfPPhZQU515qQ8BY4ir3NO9h2a7twW/yV1791AguQByQwSORcxvct6WFzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730385297; a=rsa-sha256; cv=none; b=mQtUurc9gLDwMztq/fOiy1yeMaVj0qIC1PGOydoNkvbYscxzivMgoqKHqFTPD9oUh/pvAS x8pdCiEatjNJ6gOhBRWv95SkUU3Lm3z7wGTSmYrFFN9ytAzJum3Xs3kOdnF0VE0JsmZ8ZC Sz4MQmW34tme4CKv129S+diAQfPqNr3OW7SpmZL64YBuzF7Ru1rk6/Zlhr2hY0HiGM51Jl ideEX/l6P4A09dsHa5FJqptQsFHy57s68+u9znapUzYtO1pE9PDgmd7CkmNprzZ1fwJzHn iYn6cEnQY/DwcrliYPSxAJLwcwXrnp3Ybr/slUCV3v4vigIjhRLnrcvBV4sKXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfRNK65wmzgYl; Thu, 31 Oct 2024 14:34:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VEYvee005398; Thu, 31 Oct 2024 14:34:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VEYv4n005391; Thu, 31 Oct 2024 14:34:57 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:34:57 GMT Message-Id: <202410311434.49VEYv4n005391@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: d964b9d8ed8a - stable/14 - LinuxKPI: 802.11: adjustments for v6.11 iwlwifi, rtw88 and rtw89 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: d964b9d8ed8ade2731b5ef3bd3fbbf47d3002a35 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d964b9d8ed8ade2731b5ef3bd3fbbf47d3002a35 commit d964b9d8ed8ade2731b5ef3bd3fbbf47d3002a35 Author: Bjoern A. Zeeb AuthorDate: 2024-10-28 12:02:56 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-10-31 14:33:57 +0000 LinuxKPI: 802.11: adjustments for v6.11 iwlwifi, rtw88 and rtw89 Bring ing the LinuxKPI 802.11 compat bits which are not altering the mac80211 ops KPI. * Add various functions for driver updates. * Add functions (some compat code to I assume cleanup some mac80211 ops) emulating chanctx changes doing (*config) updates. * Adjust structs and defines. * Deal with an enum growing more than 32 bits in printf. * Add a mtx to struct wiphy which is exposed to the drivers. Handle initialization and destruction for now. * Implementation of wiphy_work and wiphy_delayed_work. * Set was_assoc for deassoc/deauth in prep_tx_info. Sponsored by: The FreeBSD Foundation (cherry picked from commit ac1d519c01ca8beb59f27962c7052d09a03f72c8) --- .../linuxkpi/common/include/linux/ieee80211.h | 43 +++- sys/compat/linuxkpi/common/include/linux/nl80211.h | 1 + sys/compat/linuxkpi/common/include/net/cfg80211.h | 250 +++++++++++++++++++-- sys/compat/linuxkpi/common/include/net/mac80211.h | 173 +++++++++++++- sys/compat/linuxkpi/common/src/linux_80211.c | 202 ++++++++++++++++- sys/compat/linuxkpi/common/src/linux_80211.h | 19 +- 6 files changed, 635 insertions(+), 53 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index ce6a18f798d1..865d85c6f7b7 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -42,8 +42,8 @@ extern int linuxkpi_debug_80211; #ifndef D80211_TODO #define D80211_TODO 0x1 #endif -#define TODO(...) if (linuxkpi_debug_80211 & D80211_TODO) \ - printf("%s:%d: XXX LKPI80211 TODO\n", __func__, __LINE__) +#define TODO(fmt, ...) if (linuxkpi_debug_80211 & D80211_TODO) \ + printf("%s:%d: XXX LKPI80211 TODO " fmt "\n", __func__, __LINE__, ##__VA_ARGS__) /* 9.4.2.55 Management MIC element (CMAC-256, GMAC-128, and GMAC-256). */ @@ -138,16 +138,18 @@ enum wlan_ht_cap_sm_ps { #define WLAN_PMKID_LEN 16 #define WLAN_PMK_LEN_SUITE_B_192 48 -#define WLAN_KEY_LEN_WEP40 5 -#define WLAN_KEY_LEN_WEP104 13 -#define WLAN_KEY_LEN_TKIP 32 -#define WLAN_KEY_LEN_CCMP 16 -#define WLAN_KEY_LEN_GCMP 16 -#define WLAN_KEY_LEN_AES_CMAC 16 -#define WLAN_KEY_LEN_GCMP_256 32 -#define WLAN_KEY_LEN_BIP_CMAC_256 32 -#define WLAN_KEY_LEN_BIP_GMAC_128 16 -#define WLAN_KEY_LEN_BIP_GMAC_256 32 +enum ieee80211_key_len { + WLAN_KEY_LEN_WEP40 = 5, + WLAN_KEY_LEN_WEP104 = 13, + WLAN_KEY_LEN_TKIP = 32, + WLAN_KEY_LEN_CCMP = 16, + WLAN_KEY_LEN_GCMP = 16, + WLAN_KEY_LEN_AES_CMAC = 16, + WLAN_KEY_LEN_GCMP_256 = 32, + WLAN_KEY_LEN_BIP_CMAC_256 = 32, + WLAN_KEY_LEN_BIP_GMAC_128 = 16, + WLAN_KEY_LEN_BIP_GMAC_256 = 32, +}; /* 802.11-2020, 9.4.2.55.3, Table 9-185 Subfields of the A-MPDU Parameters field */ enum ieee80211_min_mpdu_start_spacing { @@ -483,9 +485,14 @@ enum ieee80211_back { WLAN_ACTION_ADDBA_REQ = 0, }; +enum ieee80211_sa_query { + WLAN_ACTION_SA_QUERY_RESPONSE = 1, +}; + /* 802.11-2020, Table 9-51-Category values */ enum ieee80211_category { WLAN_CATEGORY_BACK = 3, + WLAN_CATEGORY_SA_QUERY = 8, /* net80211::IEEE80211_ACTION_CAT_SA_QUERY */ }; /* 80211-2020 9.3.3.2 Format of Management frames */ @@ -601,6 +608,7 @@ enum ieee80211_eid { WLAN_EID_TIM = 5, WLAN_EID_COUNTRY = 7, /* IEEE80211_ELEMID_COUNTRY */ WLAN_EID_REQUEST = 10, + WLAN_EID_QBSS_LOAD = 11, /* IEEE80211_ELEMID_BSSLOAD */ WLAN_EID_CHANNEL_SWITCH = 37, WLAN_EID_MEASURE_REPORT = 39, WLAN_EID_HT_CAPABILITY = 45, /* IEEE80211_ELEMID_HTCAP */ @@ -612,6 +620,7 @@ enum ieee80211_eid { WLAN_EID_MULTI_BSSID_IDX = 85, WLAN_EID_EXT_CAPABILITY = 127, WLAN_EID_VHT_CAPABILITY = 191, /* IEEE80211_ELEMID_VHT_CAP */ + WLAN_EID_S1G_TWT = 216, WLAN_EID_VENDOR_SPECIFIC = 221, /* IEEE80211_ELEMID_VENDOR */ }; @@ -760,6 +769,16 @@ enum ieee80211_tx_pwr_interpretation_subfield_enc { IEEE80211_TPE_REG_CLIENT_EIRP_PSD, }; +enum ieee80211_tx_pwr_category_6ghz { + IEEE80211_TPE_CAT_6GHZ_DEFAULT, +}; + +/* 802.11-2020, 9.4.2.27 BSS Load element */ +struct ieee80211_bss_load_elem { + uint16_t sta_count; + uint8_t channel_util; + uint16_t avail_adm_capa; +}; /* net80211: IEEE80211_IS_CTL() */ static __inline bool diff --git a/sys/compat/linuxkpi/common/include/linux/nl80211.h b/sys/compat/linuxkpi/common/include/linux/nl80211.h index 6916957731e2..254ed6e13f5c 100644 --- a/sys/compat/linuxkpi/common/include/linux/nl80211.h +++ b/sys/compat/linuxkpi/common/include/linux/nl80211.h @@ -84,6 +84,7 @@ enum nl80211_reg_rule_flags { NL80211_RRF_NO_6GHZ_VLP_CLIENT = BIT(14), NL80211_RRF_NO_6GHZ_AFC_CLIENT = BIT(15), NL80211_RRF_PSD = BIT(16), + NL80211_RRF_ALLOW_6GHZ_VLP_AP = BIT(17), }; #define NL80211_RRF_NO_HT40 (NL80211_RRF_NO_HT40MINUS|NL80211_RRF_NO_HT40PLUS) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 7e57ce67cc26..f489e7a7da11 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2020-2023 The FreeBSD Foundation + * Copyright (c) 2020-2024 The FreeBSD Foundation * Copyright (c) 2021-2022 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from @@ -39,6 +39,8 @@ #include #include #include +#include +#include #include /* linux_80211.c */ @@ -49,8 +51,8 @@ extern int linuxkpi_debug_80211; #ifndef D80211_IMPROVE #define D80211_IMPROVE 0x2 #endif -#define TODO(...) if (linuxkpi_debug_80211 & D80211_TODO) \ - printf("%s:%d: XXX LKPI80211 TODO\n", __func__, __LINE__) +#define TODO(fmt, ...) if (linuxkpi_debug_80211 & D80211_TODO) \ + printf("%s:%d: XXX LKPI80211 TODO " fmt "\n", __func__, __LINE__, ##__VA_ARGS__) #define IMPROVE(...) if (linuxkpi_debug_80211 & D80211_IMPROVE) \ printf("%s:%d: XXX LKPI80211 IMPROVE\n", __func__, __LINE__) @@ -106,6 +108,11 @@ enum ieee80211_channel_flags { IEEE80211_CHAN_NO_80MHZ = BIT(7), IEEE80211_CHAN_NO_160MHZ = BIT(8), IEEE80211_CHAN_NO_OFDM = BIT(9), + IEEE80211_CHAN_NO_6GHZ_VLP_CLIENT = BIT(10), + IEEE80211_CHAN_NO_6GHZ_AFC_CLIENT = BIT(11), + IEEE80211_CHAN_PSD = BIT(12), + IEEE80211_CHAN_ALLOW_6GHZ_VLP_AP = BIT(13), + IEEE80211_CHAN_CAN_MONITOR = BIT(14), }; #define IEEE80211_CHAN_NO_HT40 (IEEE80211_CHAN_NO_HT40MINUS|IEEE80211_CHAN_NO_HT40PLUS) @@ -275,6 +282,9 @@ struct cfg80211_bss_ies { struct cfg80211_bss { /* XXX TODO */ struct cfg80211_bss_ies *ies; + struct cfg80211_bss_ies *beacon_ies; + + int32_t signal; }; struct cfg80211_chan_def { @@ -283,6 +293,7 @@ struct cfg80211_chan_def { enum nl80211_chan_width width; uint32_t center_freq1; uint32_t center_freq2; + uint16_t punctured; }; struct cfg80211_ftm_responder_stats { @@ -378,11 +389,16 @@ struct cfg80211_match_set { struct cfg80211_scan_request { /* XXX TODO */ - int duration, duration_mandatory, flags; bool no_cck; bool scan_6ghz; + bool duration_mandatory; + int8_t tsf_report_link_id; + uint16_t duration; + uint32_t flags; struct wireless_dev *wdev; struct wiphy *wiphy; + uint64_t scan_start; + uint32_t rates[NUM_NL80211_BANDS]; int ie_len; uint8_t *ie; uint8_t mac_addr[ETH_ALEN], mac_addr_mask[ETH_ALEN]; @@ -774,6 +790,7 @@ struct linuxkpi_ieee80211_regdomain { #define IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE1 0x05 #define IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE2 0x06 #define IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_7991 0x07 +#define IEEE80211_EHT_MAC_CAP0_SCS_TRAFFIC_DESC 0x08 #define IEEE80211_EHT_MAC_CAP1_MAX_AMPDU_LEN_MASK 0x01 @@ -895,16 +912,26 @@ struct ieee80211_sta_he_6ghz_capa { }; struct ieee80211_eht_mcs_nss_supp_20mhz_only { - uint8_t rx_tx_mcs7_max_nss; - uint8_t rx_tx_mcs9_max_nss; - uint8_t rx_tx_mcs11_max_nss; - uint8_t rx_tx_mcs13_max_nss; + union { + struct { + uint8_t rx_tx_mcs7_max_nss; + uint8_t rx_tx_mcs9_max_nss; + uint8_t rx_tx_mcs11_max_nss; + uint8_t rx_tx_mcs13_max_nss; + }; + uint8_t rx_tx_max_nss[4]; + }; }; struct ieee80211_eht_mcs_nss_supp_bw { - uint8_t rx_tx_mcs9_max_nss; - uint8_t rx_tx_mcs11_max_nss; - uint8_t rx_tx_mcs13_max_nss; + union { + struct { + uint8_t rx_tx_mcs9_max_nss; + uint8_t rx_tx_mcs11_max_nss; + uint8_t rx_tx_mcs13_max_nss; + }; + uint8_t rx_tx_max_nss[3]; + }; }; struct ieee80211_eht_cap_elem_fixed { @@ -1096,7 +1123,7 @@ struct wiphy_iftype_ext_capab { const uint8_t *extended_capabilities_mask; uint8_t extended_capabilities_len; uint16_t eml_capabilities; - + uint16_t mld_capa_and_ops; }; struct tid_config_support { @@ -1133,10 +1160,23 @@ enum wiphy_flags { WIPHY_FLAG_4ADDR_AP = BIT(14), WIPHY_FLAG_4ADDR_STATION = BIT(15), WIPHY_FLAG_SUPPORTS_MLO = BIT(16), + WIPHY_FLAG_DISABLE_WEXT = BIT(17), }; -struct wiphy { +struct wiphy_work; +typedef void (*wiphy_work_fn)(struct wiphy *, struct wiphy_work *); +struct wiphy_work { + struct list_head entry; + wiphy_work_fn fn; +}; +struct wiphy_delayed_work { + struct wiphy_work work; + struct wiphy *wiphy; + struct timer_list timer; +}; +struct wiphy { + struct mutex mtx; struct device *dev; struct mac_address *addresses; int n_addresses; @@ -1185,6 +1225,9 @@ struct wiphy { uint8_t priv[0] __aligned(CACHE_LINE_SIZE); }; +#define lockdep_assert_wiphy(wiphy) \ + lockdep_assert_held(&(wiphy)->mtx) + struct wireless_dev { /* XXX TODO, like ic? */ int iftype; @@ -1249,6 +1292,15 @@ struct cfg80211_ops { struct wiphy *linuxkpi_wiphy_new(const struct cfg80211_ops *, size_t); void linuxkpi_wiphy_free(struct wiphy *wiphy); +void linuxkpi_wiphy_work_queue(struct wiphy *, struct wiphy_work *); +void linuxkpi_wiphy_work_cancel(struct wiphy *, struct wiphy_work *); +void linuxkpi_wiphy_work_flush(struct wiphy *, struct wiphy_work *); +void lkpi_wiphy_delayed_work_timer(struct timer_list *); +void linuxkpi_wiphy_delayed_work_queue(struct wiphy *, + struct wiphy_delayed_work *, unsigned long); +void linuxkpi_wiphy_delayed_work_cancel(struct wiphy *, + struct wiphy_delayed_work *); + int linuxkpi_regulatory_set_wiphy_regd_sync(struct wiphy *wiphy, struct linuxkpi_ieee80211_regdomain *regd); uint32_t linuxkpi_ieee80211_channel_to_frequency(uint32_t, enum nl80211_band); @@ -1300,16 +1352,8 @@ wiphy_dev(struct wiphy *wiphy) return (wiphy->dev); } -#define wiphy_err(_wiphy, _fmt, ...) \ - dev_err((_wiphy)->dev, _fmt, __VA_ARGS__) - -static __inline const struct linuxkpi_ieee80211_regdomain * -wiphy_dereference(struct wiphy *wiphy, - const struct linuxkpi_ieee80211_regdomain *regd) -{ - TODO(); - return (NULL); -} +#define wiphy_dereference(wiphy, p) \ + rcu_dereference_check(p, lockdep_is_held(&(wiphy)->mtx)) static __inline void wiphy_lock(struct wiphy *wiphy) @@ -1661,6 +1705,12 @@ wiphy_ext_feature_set(struct wiphy *wiphy, enum nl80211_ext_feature ef) set_bit(ef, wiphy->ext_features); } +static inline bool +wiphy_ext_feature_isset(struct wiphy *wiphy, enum nl80211_ext_feature ef) +{ + return (test_bit(ef, wiphy->ext_features)); +} + static __inline void * wiphy_net(struct wiphy *wiphy) { @@ -1984,6 +2034,44 @@ cfg80211_chandef_valid(const struct cfg80211_chan_def *chandef) return (false); } +static __inline bool +cfg80211_chandef_dfs_usable(struct wiphy *wiphy, const struct cfg80211_chan_def *chandef) +{ + TODO(); + return (false); +} + +static __inline unsigned int +cfg80211_chandef_dfs_cac_time(struct wiphy *wiphy, const struct cfg80211_chan_def *chandef) +{ + TODO(); + return (0); +} + +static inline void +_ieee80211_set_sband_iftype_data(struct ieee80211_supported_band *band, + struct ieee80211_sband_iftype_data *iftype_data, size_t nitems) +{ + band->iftype_data = iftype_data; + band->n_iftype_data = nitems; +} + +static inline const struct ieee80211_sband_iftype_data * +ieee80211_get_sband_iftype_data(const struct ieee80211_supported_band *band, + enum nl80211_iftype iftype) +{ + const struct ieee80211_sband_iftype_data *iftype_data; + int i; + + for (i = 0; i < band->n_iftype_data; i++) { + iftype_data = (const void *)&band->iftype_data[i]; + if (iftype_data->types_mask & BIT(iftype)) + return (iftype_data); + } + + return (NULL); +} + static __inline const struct ieee80211_sta_eht_cap * ieee80211_get_eht_iftype_cap(const struct ieee80211_supported_band *band, enum nl80211_iftype iftype) @@ -1992,8 +2080,122 @@ ieee80211_get_eht_iftype_cap(const struct ieee80211_supported_band *band, return (NULL); } +static inline bool +cfg80211_ssid_eq(struct cfg80211_ssid *ssid1, struct cfg80211_ssid *ssid2) +{ + int error; + + if (ssid1 == NULL || ssid2 == NULL) /* Can we KASSERT this? */ + return (false); + + if (ssid1->ssid_len != ssid2->ssid_len) + return (false); + error = memcmp(ssid1->ssid, ssid2->ssid, ssid2->ssid_len); + if (error != 0) + return (false); + return (true); +} + +static inline void +cfg80211_rx_unprot_mlme_mgmt(struct net_device *ndev, const uint8_t *hdr, + uint32_t len) +{ + TODO(); +} + +static inline const struct wiphy_iftype_ext_capab * +cfg80211_get_iftype_ext_capa(struct wiphy *wiphy, enum nl80211_iftype iftype) +{ + + TODO(); + return (NULL); +} + +static inline int +nl80211_chan_width_to_mhz(enum nl80211_chan_width width) +{ + switch (width) { + case NL80211_CHAN_WIDTH_5: + return (5); + break; + case NL80211_CHAN_WIDTH_10: + return (10); + break; + case NL80211_CHAN_WIDTH_20_NOHT: + case NL80211_CHAN_WIDTH_20: + return (20); + break; + case NL80211_CHAN_WIDTH_40: + return (40); + break; + case NL80211_CHAN_WIDTH_80: + case NL80211_CHAN_WIDTH_80P80: + return (80); + break; + case NL80211_CHAN_WIDTH_160: + return (160); + break; + case NL80211_CHAN_WIDTH_320: + return (320); + break; + } +} + +/* -------------------------------------------------------------------------- */ + +static inline void +wiphy_work_init(struct wiphy_work *wwk, wiphy_work_fn fn) +{ + INIT_LIST_HEAD(&wwk->entry); + wwk->fn = fn; +} + +static inline void +wiphy_work_queue(struct wiphy *wiphy, struct wiphy_work *wwk) +{ + linuxkpi_wiphy_work_queue(wiphy, wwk); +} + +static inline void +wiphy_work_cancel(struct wiphy *wiphy, struct wiphy_work *wwk) +{ + linuxkpi_wiphy_work_cancel(wiphy, wwk); +} + +static inline void +wiphy_work_flush(struct wiphy *wiphy, struct wiphy_work *wwk) +{ + linuxkpi_wiphy_work_flush(wiphy, wwk); +} + +static inline void +wiphy_delayed_work_init(struct wiphy_delayed_work *wdwk, wiphy_work_fn fn) +{ + wiphy_work_init(&wdwk->work, fn); + timer_setup(&wdwk->timer, lkpi_wiphy_delayed_work_timer, 0); +} + +static inline void +wiphy_delayed_work_queue(struct wiphy *wiphy, struct wiphy_delayed_work *wdwk, + unsigned long delay) +{ + linuxkpi_wiphy_delayed_work_queue(wiphy, wdwk, delay); +} + +static inline void +wiphy_delayed_work_cancel(struct wiphy *wiphy, struct wiphy_delayed_work *wdwk) +{ + linuxkpi_wiphy_delayed_work_cancel(wiphy, wdwk); +} + +/* -------------------------------------------------------------------------- */ + +#define wiphy_err(_wiphy, _fmt, ...) \ + dev_err((_wiphy)->dev, _fmt, __VA_ARGS__) #define wiphy_info(wiphy, fmt, ...) \ - printf("%s:%d XXX TODO " fmt, __func__, __LINE__, __VA_ARGS__) + dev_info(&(wiphy)->dev, fmt, ##__VA_ARGS__) +#define wiphy_info_once(wiphy, fmt, ...) \ + dev_info_once(&(wiphy)->dev, fmt, ##__VA_ARGS__) #ifndef LINUXKPI_NET80211 #define ieee80211_channel linuxkpi_ieee80211_channel diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index c3b07b68090a..6dbf07c85bb8 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2020-2023 The FreeBSD Foundation + * Copyright (c) 2020-2024 The FreeBSD Foundation * Copyright (c) 2020-2022 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from @@ -83,6 +83,7 @@ enum mcast_filter_flags { FIF_OTHER_BSS = BIT(4), FIF_PSPOLL = BIT(5), FIF_CONTROL = BIT(6), + FIF_MCAST_ACTION = BIT(7), }; enum ieee80211_bss_changed { @@ -117,6 +118,9 @@ enum ieee80211_bss_changed { BSS_CHANGED_TWT = BIT(28), BSS_CHANGED_UNSOL_BCAST_PROBE_RESP = BIT(30), BSS_CHANGED_EHT_PUNCTURING = BIT(31), + BSS_CHANGED_MLD_VALID_LINKS = BIT_ULL(32), + BSS_CHANGED_MLD_TTLM = BIT_ULL(33), + BSS_CHANGED_TPE = BIT_ULL(34), }; /* 802.11 Figure 9-256 Suite selector format. [OUI(3), SUITE TYPE(1)] */ @@ -167,13 +171,24 @@ enum ieee80211_bss_changed { #define TKIP_PN_TO_IV16(_x) ((uint16_t)(_x & 0xffff)) #define TKIP_PN_TO_IV32(_x) ((uint32_t)((_x >> 16) & 0xffffffff)) -struct ieee80211_sta; +enum ieee80211_neg_ttlm_res { + NEG_TTLM_RES_ACCEPT, + NEG_TTLM_RES_REJECT, +}; + +#define IEEE80211_TTLM_NUM_TIDS 8 +struct ieee80211_neg_ttlm { + uint16_t downlink[IEEE80211_TTLM_NUM_TIDS]; + uint16_t uplink[IEEE80211_TTLM_NUM_TIDS]; +}; /* 802.11-2020 9.4.2.55.3 A-MPDU Parameters field */ #define IEEE80211_HT_AMPDU_PARM_FACTOR 0x3 #define IEEE80211_HT_AMPDU_PARM_DENSITY_SHIFT 2 #define IEEE80211_HT_AMPDU_PARM_DENSITY (0x7 << IEEE80211_HT_AMPDU_PARM_DENSITY_SHIFT) +struct ieee80211_sta; + struct ieee80211_ampdu_params { struct ieee80211_sta *sta; enum ieee80211_ampdu_mlme_action action; @@ -217,11 +232,13 @@ struct mac80211_fils_discovery { }; struct ieee80211_chanctx_conf { - /* TODO FIXME */ - int rx_chains_dynamic, rx_chains_static; - bool radar_enabled; struct cfg80211_chan_def def; struct cfg80211_chan_def min_def; + struct cfg80211_chan_def ap; + + uint8_t rx_chains_dynamic; + uint8_t rx_chains_static; + bool radar_enabled; /* Must stay last. */ uint8_t drv_priv[0] __aligned(CACHE_LINE_SIZE); @@ -240,12 +257,39 @@ struct ieee80211_ema_beacons { } bcn[0]; }; +struct ieee80211_chanreq { + struct cfg80211_chan_def oper; +}; + #define WLAN_MEMBERSHIP_LEN (8) #define WLAN_USER_POSITION_LEN (16) +/* + * 802.11ac-2013, 8.4.2.164 VHT Transmit Power Envelope element + * 802.11-???? ? + */ +struct ieee80211_parsed_tpe_eirp { + int8_t power[5]; + uint8_t count; + bool valid; +}; +struct ieee80211_parsed_tpe_psd { + int8_t power[16]; + uint8_t count; + bool valid; +}; +struct ieee80211_parsed_tpe { + /* We see access to [0] so assume at least 2. */ + struct ieee80211_parsed_tpe_eirp max_local[2]; + struct ieee80211_parsed_tpe_eirp max_reg_client[2]; + struct ieee80211_parsed_tpe_psd psd_local[2]; + struct ieee80211_parsed_tpe_psd psd_reg_client[2]; +}; + struct ieee80211_bss_conf { /* TODO FIXME */ struct ieee80211_vif *vif; + struct cfg80211_bss *bss; const uint8_t *bssid; uint8_t addr[ETH_ALEN]; uint8_t link_id; @@ -308,6 +352,7 @@ struct ieee80211_bss_conf { struct mac80211_fils_discovery fils_discovery; struct ieee80211_chanctx_conf *chanctx_conf; struct ieee80211_vif *mbssid_tx_vif; + struct ieee80211_parsed_tpe tpe; int ack_enabled, bssid_index, bssid_indicator, cqm_rssi_hyst, cqm_rssi_thold, ema_ap, frame_time_rts_th, ftm_responder; int htc_trig_based_pkt_ext; @@ -322,6 +367,7 @@ struct ieee80211_bss_conf { struct ieee80211_channel_switch { /* TODO FIXME */ int block_tx, count, delay, device_timestamp, timestamp; + uint8_t link_id; struct cfg80211_chan_def chandef; }; @@ -444,6 +490,10 @@ enum ieee80211_hw_flags { IEEE80211_HW_SUPPORTS_TX_ENCAP_OFFLOAD, IEEE80211_HW_SUPPORTS_RC_TABLE, IEEE80211_HW_DETECTS_COLOR_COLLISION, + IEEE80211_HW_DISALLOW_PUNCTURING, + IEEE80211_HW_DISALLOW_PUNCTURING_5GHZ, + IEEE80211_HW_TX_STATUS_NO_AMPDU_LEN, + IEEE80211_HW_HANDLES_QUIET_CSA, /* Keep last. */ NUM_IEEE80211_HW_FLAGS @@ -500,6 +550,7 @@ enum ieee802111_key_flag { IEEE80211_KEY_FLAG_GENERATE_IV_MGMT = BIT(6), IEEE80211_KEY_FLAG_GENERATE_MMIE = BIT(7), IEEE80211_KEY_FLAG_RESERVE_TAILROOM = BIT(8), + IEEE80211_KEY_FLAG_SPP_AMSDU = BIT(9), }; struct ieee80211_key_conf { @@ -569,6 +620,9 @@ enum ieee80211_rx_status_flags { RX_FLAG_SKIP_MONITOR = BIT(26), RX_FLAG_8023 = BIT(27), RX_FLAG_RADIOTAP_TLV_AT_END = BIT(28), + RX_FLAG_MACTIME = BIT(29), + RX_FLAG_MACTIME_IS_RTAP_TS64 = BIT(30), + RX_FLAG_FAILED_PLCP_CRC = BIT(31), }; enum mac80211_rx_encoding { @@ -742,7 +796,9 @@ enum ieee80211_vif_driver_flags { IEEE80211_VIF_BEACON_FILTER = BIT(0), IEEE80211_VIF_SUPPORTS_CQM_RSSI = BIT(1), IEEE80211_VIF_SUPPORTS_UAPSD = BIT(2), - IEEE80211_VIF_DISABLE_SMPS_OVERRIDE = BIT(3), + IEEE80211_VIF_DISABLE_SMPS_OVERRIDE = BIT(3), /* Renamed to IEEE80211_VIF_EML_ACTIVE. */ + IEEE80211_VIF_EML_ACTIVE = BIT(4), + IEEE80211_VIF_IGNORE_OFDMA_WIDER_BW = BIT(5), }; #define IEEE80211_BSS_ARP_ADDR_LIST_LEN 4 @@ -799,6 +855,8 @@ struct ieee80211_vif_chanctx_switch { struct ieee80211_prep_tx_info { u16 duration; bool success; + bool was_assoc; + int link_id; }; /* XXX-BZ too big, over-reduce size to u8, and array sizes to minuimum to fit in skb->cb. */ @@ -813,6 +871,7 @@ struct ieee80211_tx_info { struct { struct ieee80211_tx_rate rates[4]; bool use_rts; + uint8_t antennas:2; struct ieee80211_vif *vif; struct ieee80211_key_conf *hw_key; enum ieee80211_tx_control_flags flags; @@ -1044,6 +1103,8 @@ struct ieee80211_ops { int (*change_vif_links)(struct ieee80211_hw *, struct ieee80211_vif *, u16, u16, struct ieee80211_bss_conf *[IEEE80211_MLD_MAX_NUM_LINKS]); int (*change_sta_links)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, u16, u16); + bool (*can_activate_links)(struct ieee80211_hw *, struct ieee80211_vif *, u16); + enum ieee80211_neg_ttlm_res (*can_neg_ttlm)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_neg_ttlm *); /* #ifdef CONFIG_MAC80211_DEBUGFS */ /* Do not change depending on compile-time option. */ void (*sta_add_debugfs)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, struct dentry *); @@ -2052,7 +2113,6 @@ ieee80211_queue_work(struct ieee80211_hw *hw, struct work_struct *w) static __inline void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) { - linuxkpi_ieee80211_tx_status(hw, skb); } @@ -2060,14 +2120,14 @@ static __inline void ieee80211_tx_status_irqsafe(struct ieee80211_hw *hw, struct sk_buff *skb) { IMPROVE(); - ieee80211_tx_status(hw, skb); + linuxkpi_ieee80211_tx_status(hw, skb); } static __inline void ieee80211_tx_status_ni(struct ieee80211_hw *hw, struct sk_buff *skb) { IMPROVE(); - ieee80211_tx_status(hw, skb); + linuxkpi_ieee80211_tx_status(hw, skb); } static __inline void @@ -2370,7 +2430,102 @@ ieee80211_get_eht_iftype_cap_vif(const struct ieee80211_supported_band *band, return (NULL); } +static inline uint32_t +ieee80211_vif_usable_links(const struct ieee80211_vif *vif) +{ + TODO(); + return (1); +} + +static inline bool +ieee80211_vif_link_active(const struct ieee80211_vif *vif, uint8_t link_id) +{ + if (ieee80211_vif_is_mld(vif)) + return (vif->active_links & BIT(link_id)); + return (link_id == 0); +} + +static inline void +ieee80211_set_active_links_async(struct ieee80211_vif *vif, + uint32_t new_active_links) +{ + TODO(); +} + +static inline int +ieee80211_set_active_links(struct ieee80211_vif *vif, + uint32_t active_links) +{ + TODO(); + return (-ENXIO); +} + +static inline void +ieee80211_cqm_beacon_loss_notify(struct ieee80211_vif *vif, gfp_t gfp __unused) +{ + IMPROVE("we notify user space by a vap state change eventually"); + linuxkpi_ieee80211_beacon_loss(vif); +} + #define ieee80211_send_bar(_v, _r, _t, _s) \ linuxkpi_ieee80211_send_bar(_v, _r, _t, _s) +/* -------------------------------------------------------------------------- */ + +int lkpi_80211_update_chandef(struct ieee80211_hw *, + struct ieee80211_chanctx_conf *); + +static inline int +ieee80211_emulate_add_chanctx(struct ieee80211_hw *hw, + struct ieee80211_chanctx_conf *chanctx_conf) +{ + int error; + + hw->conf.radar_enabled = chanctx_conf->radar_enabled; + error = lkpi_80211_update_chandef(hw, chanctx_conf); + return (error); +} + +static inline void +ieee80211_emulate_remove_chanctx(struct ieee80211_hw *hw, + struct ieee80211_chanctx_conf *chanctx_conf __unused) +{ + hw->conf.radar_enabled = false; + lkpi_80211_update_chandef(hw, NULL); +} + +static inline void +ieee80211_emulate_change_chanctx(struct ieee80211_hw *hw, + struct ieee80211_chanctx_conf *chanctx_conf, uint32_t changed __unused) +{ + hw->conf.radar_enabled = chanctx_conf->radar_enabled; + lkpi_80211_update_chandef(hw, chanctx_conf); +} + +static inline int +ieee80211_emulate_switch_vif_chanctx(struct ieee80211_hw *hw, + struct ieee80211_vif_chanctx_switch *vifs, int n_vifs, + enum ieee80211_chanctx_switch_mode mode __unused) +{ + struct ieee80211_chanctx_conf *chanctx_conf; + int error; + + /* Sanity check. */ + if (n_vifs <= 0) + return (-EINVAL); + if (vifs == NULL || vifs[0].new_ctx == NULL) + return (-EINVAL); + + /* + * What to do if n_vifs > 1? + * Does that make sense for drivers not supporting chanctx? + */ + hw->conf.radar_enabled = vifs[0].new_ctx->radar_enabled; + chanctx_conf = vifs[0].new_ctx; + error = lkpi_80211_update_chandef(hw, chanctx_conf); + return (error); +} + +/* -------------------------------------------------------------------------- */ + #endif /* _LINUXKPI_NET_MAC80211_H */ diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index ff257bf32766..c26eb8740c77 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2020-2023 The FreeBSD Foundation + * Copyright (c) 2020-2024 The FreeBSD Foundation * Copyright (c) 2020-2022 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from @@ -896,14 +896,14 @@ lkpi_update_dtim_tsf(struct ieee80211_vif *vif, struct ieee80211_node *ni, if (linuxkpi_debug_80211 & D80211_TRACE) printf("%s:%d [%s:%d] assoc %d aid %d beacon_int %u " "dtim_period %u sync_dtim_count %u sync_tsf %ju " - "sync_device_ts %u bss_changed %#08x\n", + "sync_device_ts %u bss_changed %#010jx\n", __func__, __LINE__, _f, _l, vif->cfg.assoc, vif->cfg.aid, vif->bss_conf.beacon_int, vif->bss_conf.dtim_period, vif->bss_conf.sync_dtim_count, (uintmax_t)vif->bss_conf.sync_tsf, vif->bss_conf.sync_device_ts, - bss_changed); + (uintmax_t)bss_changed); #endif if (vif->bss_conf.beacon_int != ni->ni_intval) { @@ -927,14 +927,14 @@ lkpi_update_dtim_tsf(struct ieee80211_vif *vif, struct ieee80211_node *ni, if (linuxkpi_debug_80211 & D80211_TRACE) printf("%s:%d [%s:%d] assoc %d aid %d beacon_int %u " "dtim_period %u sync_dtim_count %u sync_tsf %ju " - "sync_device_ts %u bss_changed %#08x\n", + "sync_device_ts %u bss_changed %#010jx\n", __func__, __LINE__, _f, _l, vif->cfg.assoc, vif->cfg.aid, vif->bss_conf.beacon_int, vif->bss_conf.dtim_period, vif->bss_conf.sync_dtim_count, (uintmax_t)vif->bss_conf.sync_tsf, vif->bss_conf.sync_device_ts, - bss_changed); + (uintmax_t)bss_changed); #endif return (bss_changed); @@ -1776,6 +1776,7 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i !lsta->in_mgd) { memset(&prep_tx_info, 0, sizeof(prep_tx_info)); prep_tx_info.duration = PREP_TX_INFO_DURATION; + prep_tx_info.was_assoc = true; lkpi_80211_mo_mgd_prepare_tx(hw, vif, &prep_tx_info); lsta->in_mgd = true; } @@ -1810,6 +1811,7 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i if (lsta->in_mgd) { memset(&prep_tx_info, 0, sizeof(prep_tx_info)); prep_tx_info.success = false; + prep_tx_info.was_assoc = true; lkpi_80211_mo_mgd_complete_tx(hw, vif, &prep_tx_info); lsta->in_mgd = false; } @@ -2163,6 +2165,7 @@ lkpi_sta_run_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, int !lsta->in_mgd) { memset(&prep_tx_info, 0, sizeof(prep_tx_info)); prep_tx_info.duration = PREP_TX_INFO_DURATION; + prep_tx_info.was_assoc = true; lkpi_80211_mo_mgd_prepare_tx(hw, vif, &prep_tx_info); lsta->in_mgd = true; } @@ -2197,6 +2200,7 @@ lkpi_sta_run_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, int if (lsta->in_mgd) { memset(&prep_tx_info, 0, sizeof(prep_tx_info)); prep_tx_info.success = false; + prep_tx_info.was_assoc = true; lkpi_80211_mo_mgd_complete_tx(hw, vif, &prep_tx_info); lsta->in_mgd = false; } @@ -2301,6 +2305,7 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int !lsta->in_mgd) { memset(&prep_tx_info, 0, sizeof(prep_tx_info)); prep_tx_info.duration = PREP_TX_INFO_DURATION; + prep_tx_info.was_assoc = true; lkpi_80211_mo_mgd_prepare_tx(hw, vif, &prep_tx_info); lsta->in_mgd = true; } @@ -2335,6 +2340,7 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int if (lsta->in_mgd) { memset(&prep_tx_info, 0, sizeof(prep_tx_info)); prep_tx_info.success = false; + prep_tx_info.was_assoc = true; lkpi_80211_mo_mgd_complete_tx(hw, vif, &prep_tx_info); lsta->in_mgd = false; } @@ -5332,18 +5338,158 @@ linuxkpi_ieee80211_get_tid(struct ieee80211_hdr *hdr, bool nonqos_ok) return (tid); } +/* -------------------------------------------------------------------------- */ + +static void +lkpi_wiphy_work(struct work_struct *work) +{ + struct lkpi_wiphy *lwiphy; + struct wiphy *wiphy; + struct wiphy_work *wk; + + lwiphy = container_of(work, struct lkpi_wiphy, wwk); + wiphy = LWIPHY_TO_WIPHY(lwiphy); + + wiphy_lock(wiphy); + + LKPI_80211_LWIPHY_WORK_LOCK(lwiphy); + wk = list_first_entry_or_null(&lwiphy->wwk_list, struct wiphy_work, entry); + /* If there is nothing we do nothing. */ + if (wk == NULL) { + LKPI_80211_LWIPHY_WORK_UNLOCK(lwiphy); + wiphy_unlock(wiphy); + return; + } + list_del_init(&wk->entry); + + /* More work to do? */ + if (!list_empty(&lwiphy->wwk_list)) + schedule_work(work); + LKPI_80211_LWIPHY_WORK_UNLOCK(lwiphy); + + /* Finally call the (*wiphy_work_fn)() function. */ + wk->fn(wiphy, wk); + + wiphy_unlock(wiphy); +} + +void +linuxkpi_wiphy_work_queue(struct wiphy *wiphy, struct wiphy_work *wwk) +{ + struct lkpi_wiphy *lwiphy; + + lwiphy = WIPHY_TO_LWIPHY(wiphy); + + LKPI_80211_LWIPHY_WORK_LOCK(lwiphy); + /* Do not double-queue. */ *** 213 LINES SKIPPED *** From nobody Thu Oct 31 14:42:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfRYG5wC5z5bq2C; Thu, 31 Oct 2024 14:42: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfRYG4ly0z4DMF; Thu, 31 Oct 2024 14:42:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M3jF6ZwOosjcb/zPWgznaiyMCBV4z3ih+LWe2DJkcGo=; b=NtAaY+yUlVsTzKX4tN55q0ARqiVLcLB6p83co5whpsA80w/txjIb4oEtnsS5Bi6HNx3NVy t0Qb0/JW2AQ5qeMZ3Zmc83IYegM0FAEVBXpYPkTUuwxPaoD/StJs9gB2bE2CjDYb5zXclx y7hgQEE6XX3qD/9pn1wCYPd/KO1YkRKCEcqfNUedeDndWy/DB5ECLOK/fmt2uUpPOlX0kH skdABnI0gD1i5hUEV6OBsDPaAc9YnoX4PRdymkY6FHjBl1jsMSyGGNZhQfQXbWT3B13aPZ 572E6t+bk9aQsdn644AhAQbsuvEfZYWhkYccrP01GSBhOGib3kstA1SOszfXXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730385762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M3jF6ZwOosjcb/zPWgznaiyMCBV4z3ih+LWe2DJkcGo=; b=gfmYumZyn267b1zQR/5k3Le5z8PmI+PCvmncFtq94CGAcNn+osoNOlKhjM3o89kItkJVUg y4uq8PWtnAwkvCGa9sNqIZE4U/tJdRYq/COlkwll6HALY28Fnxmg8lB6pOABElwor/9UWA z+rvYhbKKIlmr864RLrwhnp2MqUsKHkp/8SPw4gm2oVDO5wsSQNhya2hkf0UjjW77r/ok9 kHHR30TTFyFwuJCMDdA19PsLMwRqyvC4wQO9lGgLmnRLq+jORln6MbeFLyN2b0cD7+RTAX NK9zOU7LEnloqCvGw1dLgl2r2zIevWDpsTHdPOMYQkRCennEyDHqaGjksL3eLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730385762; a=rsa-sha256; cv=none; b=baCjkNf1AaSPFZ/QfkXFEDwTeQcAoJxP0ACtyPPuhAWg56PZYLnUjAuRQWaF1JbYArcR6U i23rXQcletcyF0qmgjkyZeIM2bDPN9F2k4kmxik9yPb9c54HQGuf3hxsz/r9C6uZoX8ZKE Em3oBKNMB/t1AHddawNfGrGkizB5qFHk1l+7+5crmrLd9QRxBwqMwk9B5zIL5BsH4zUhjl Z3gq7tkWzjWf1E4T6kM0GFDbtSt7q9PRUXZKHVZo6VDTpv51pwaf7a7I0HoWFfPVTznLyu Phrce54mmOiAHWO7mVjhe2UjDN4Z+onwwbj4l/jjicfe15XyyU9ol67js6tO8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfRYG4N36zgqC; Thu, 31 Oct 2024 14:42:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VEggx0023595; Thu, 31 Oct 2024 14:42:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VEggPB023592; Thu, 31 Oct 2024 14:42:42 GMT (envelope-from git) Date: Thu, 31 Oct 2024 14:42:42 GMT Message-Id: <202410311442.49VEggPB023592@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Peek Subject: git: f9e09dc5b1d5 - stable/14 - bhyve: support noVNC SetPixelFormat request List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f9e09dc5b1d593a239d170a975ff60114030b471 Auto-Submitted: auto-generated The branch stable/14 has been updated by mp: URL: https://cgit.FreeBSD.org/src/commit/?id=f9e09dc5b1d593a239d170a975ff60114030b471 commit f9e09dc5b1d593a239d170a975ff60114030b471 Author: Mark Peek AuthorDate: 2024-09-09 17:21:17 +0000 Commit: Mark Peek CommitDate: 2024-10-31 14:41:17 +0000 bhyve: support noVNC SetPixelFormat request The bhyve VNC server would ignore the SetPixelFormat message from the VNC client. This change supports a limited implementation to detect and reorder the colors such as requested from the noVNC client. PR: 280984 Reviewed by: corvink Differential Revision: https://reviews.freebsd.org/D46402 MFC after: 3 weeks (cherry picked from commit dda0f9837b1c4049079aeaefb35076aef5f06a6c) --- usr.sbin/bhyve/rfb.c | 143 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 136 insertions(+), 7 deletions(-) diff --git a/usr.sbin/bhyve/rfb.c b/usr.sbin/bhyve/rfb.c index db2924fee453..4e9f52ed4700 100644 --- a/usr.sbin/bhyve/rfb.c +++ b/usr.sbin/bhyve/rfb.c @@ -104,6 +104,13 @@ static int rfb_debug = 0; #define AUTH_FAILED_UNAUTH 1 #define AUTH_FAILED_ERROR 2 +struct pixfmt { + bool adjust_pixels; + uint8_t red_shift; + uint8_t green_shift; + uint8_t blue_shift; +}; + struct rfb_softc { int sfd; pthread_t tid; @@ -132,14 +139,20 @@ struct rfb_softc { atomic_bool pending; atomic_bool update_all; atomic_bool input_detected; + atomic_bool update_pixfmt; pthread_mutex_t mtx; + pthread_mutex_t pixfmt_mtx; pthread_cond_t cond; int hw_crc; uint32_t *crc; /* WxH crc cells */ uint32_t *crc_tmp; /* buffer to store single crc row */ int crc_width, crc_height; + + struct pixfmt pixfmt; /* owned by the write thread */ + struct pixfmt new_pixfmt; /* managed with pixfmt_mtx */ + uint32_t *pixrow; }; struct rfb_pixfmt { @@ -180,6 +193,10 @@ struct rfb_pixfmt_msg { #define RFB_MAX_HEIGHT 1200 #define RFB_ZLIB_BUFSZ RFB_MAX_WIDTH*RFB_MAX_HEIGHT*4 +#define PIXEL_RED_SHIFT 16 +#define PIXEL_GREEN_SHIFT 8 +#define PIXEL_BLUE_SHIFT 0 + /* percentage changes to screen before sending the entire screen */ #define RFB_SEND_ALL_THRESH 25 @@ -262,9 +279,9 @@ rfb_send_server_init_msg(int cfd) sinfo.pixfmt.red_max = htons(255); sinfo.pixfmt.green_max = htons(255); sinfo.pixfmt.blue_max = htons(255); - sinfo.pixfmt.red_shift = 16; - sinfo.pixfmt.green_shift = 8; - sinfo.pixfmt.blue_shift = 0; + sinfo.pixfmt.red_shift = PIXEL_RED_SHIFT; + sinfo.pixfmt.green_shift = PIXEL_GREEN_SHIFT; + sinfo.pixfmt.blue_shift = PIXEL_BLUE_SHIFT; sinfo.pixfmt.pad[0] = 0; sinfo.pixfmt.pad[1] = 0; sinfo.pixfmt.pad[2] = 0; @@ -319,9 +336,67 @@ static void rfb_recv_set_pixfmt_msg(struct rfb_softc *rc __unused, int cfd) { struct rfb_pixfmt_msg pixfmt_msg; + uint8_t red_shift, green_shift, blue_shift; + uint16_t red_max, green_max, blue_max; + bool adjust_pixels = true; (void)stream_read(cfd, (uint8_t *)&pixfmt_msg + 1, sizeof(pixfmt_msg) - 1); + + /* + * The framebuffer is fixed at 32 bit and orders the colors + * as RGB bytes. However, some VNC clients request a different + * ordering. We will still require the same bit depth and size + * but allow the colors to be shifted when sent to the client. + */ + if (pixfmt_msg.pixfmt.bpp != 32 || pixfmt_msg.pixfmt.truecolor != 1) { + WPRINTF(("rfb: pixfmt unsupported bitdepth bpp: %d " + "truecolor: %d", + pixfmt_msg.pixfmt.bpp, pixfmt_msg.pixfmt.truecolor)); + return; + } + + red_max = ntohs(pixfmt_msg.pixfmt.red_max); + green_max = ntohs(pixfmt_msg.pixfmt.green_max); + blue_max = ntohs(pixfmt_msg.pixfmt.blue_max); + + /* Check for valid max values */ + if (red_max != 255 || green_max != 255 || blue_max != 255) { + WPRINTF(("rfb: pixfmt unsupported max values " + "r: %d g: %d b: %d", + red_max, green_max, blue_max)); + return; + } + + red_shift = pixfmt_msg.pixfmt.red_shift; + green_shift = pixfmt_msg.pixfmt.green_shift; + blue_shift = pixfmt_msg.pixfmt.blue_shift; + + /* Check shifts are 8 bit aligned */ + if ((red_shift & 0x7) != 0 || + (green_shift & 0x7) != 0 || + (blue_shift & 0x7) != 0) { + WPRINTF(("rfb: pixfmt unsupported shift values " + "r: %d g: %d b: %d", + red_shift, green_shift, blue_shift)); + return; + } + + if (red_shift == PIXEL_RED_SHIFT && + green_shift == PIXEL_GREEN_SHIFT && + blue_shift == PIXEL_BLUE_SHIFT) { + adjust_pixels = false; + } + + pthread_mutex_lock(&rc->pixfmt_mtx); + rc->new_pixfmt.red_shift = red_shift; + rc->new_pixfmt.green_shift = green_shift; + rc->new_pixfmt.blue_shift = blue_shift; + rc->new_pixfmt.adjust_pixels = adjust_pixels; + pthread_mutex_unlock(&rc->pixfmt_mtx); + + /* Notify the write thread to update */ + rc->update_pixfmt = true; } static void @@ -389,6 +464,30 @@ rfb_send_update_header(struct rfb_softc *rc __unused, int cfd, int numrects) sizeof(struct rfb_srvr_updt_msg)); } +static uint32_t * +rfb_adjust_pixels(struct rfb_softc *rc, uint32_t *gcptr, int width) +{ + uint32_t *pixelp; + uint32_t red, green, blue; + int i; + + /* If no pixel adjustment needed, send in server format */ + if (!rc->pixfmt.adjust_pixels) { + return (gcptr); + } + + for (i = 0, pixelp = rc->pixrow; i < width; i++, pixelp++, gcptr++) { + red = (*gcptr >> 16) & 0xFF; + green = (*gcptr >> 8) & 0xFF; + blue = (*gcptr & 0xFF); + *pixelp = (red << rc->pixfmt.red_shift) | + (green << rc->pixfmt.green_shift) | + (blue << rc->pixfmt.blue_shift); + } + + return (rc->pixrow); +} + static int rfb_send_rect(struct rfb_softc *rc, int cfd, struct bhyvegc_image *gc, int x, int y, int w, int h) @@ -396,8 +495,8 @@ rfb_send_rect(struct rfb_softc *rc, int cfd, struct bhyvegc_image *gc, struct rfb_srvr_rect_hdr srect_hdr; unsigned long zlen; ssize_t nwrite, total; - int err; - uint32_t *p; + int err, width; + uint32_t *p, *pixelp; uint8_t *zbufp; /* @@ -410,6 +509,7 @@ rfb_send_rect(struct rfb_softc *rc, int cfd, struct bhyvegc_image *gc, srect_hdr.width = htons(w); srect_hdr.height = htons(h); + width = w; h = y + h; w *= sizeof(uint32_t); if (rc->enc_zlib_ok) { @@ -417,7 +517,8 @@ rfb_send_rect(struct rfb_softc *rc, int cfd, struct bhyvegc_image *gc, rc->zstream.total_in = 0; rc->zstream.total_out = 0; for (p = &gc->data[y * gc->width + x]; y < h; y++) { - rc->zstream.next_in = (Bytef *)p; + pixelp = rfb_adjust_pixels(rc, p, width); + rc->zstream.next_in = (Bytef *)pixelp; rc->zstream.avail_in = w; rc->zstream.next_out = (Bytef *)zbufp; rc->zstream.avail_out = RFB_ZLIB_BUFSZ + 16 - @@ -453,7 +554,8 @@ doraw: total = 0; zbufp = rc->zbuf; for (p = &gc->data[y * gc->width + x]; y < h; y++) { - memcpy(zbufp, p, w); + pixelp = rfb_adjust_pixels(rc, p, width); + memcpy(zbufp, pixelp, w); zbufp += w; total += w; p += gc->width; @@ -492,6 +594,11 @@ rfb_send_all(struct rfb_softc *rc, int cfd, struct bhyvegc_image *gc) if (nwrite <= 0) return (nwrite); + if (rc->pixfmt.adjust_pixels) { + return (rfb_send_rect(rc, cfd, gc, 0, 0, + gc->width, gc->height)); + } + /* Rectangle header */ srect_hdr.x = 0; srect_hdr.y = 0; @@ -547,6 +654,14 @@ doraw: #define PIXCELL_SHIFT 5 #define PIXCELL_MASK 0x1F +static void +rfb_set_pixel_adjustment(struct rfb_softc *rc) +{ + pthread_mutex_lock(&rc->pixfmt_mtx); + rc->pixfmt = rc->new_pixfmt; + pthread_mutex_unlock(&rc->pixfmt_mtx); +} + static int rfb_send_screen(struct rfb_softc *rc, int cfd) { @@ -574,6 +689,10 @@ rfb_send_screen(struct rfb_softc *rc, int cfd) if (atomic_exchange(&rc->pending, false) == false) goto done; + if (atomic_exchange(&rc->update_pixfmt, false) == true) { + rfb_set_pixel_adjustment(rc); + } + console_refresh(); gc_image = console_get_image(); @@ -1158,6 +1277,12 @@ rfb_init(const char *hostname, int port, int wait, const char *password) rc->password = password; + rc->pixrow = malloc(RFB_MAX_WIDTH * sizeof(uint32_t)); + if (rc->pixrow == NULL) { + EPRINTLN("rfb: failed to allocate memory for pixrow buffer"); + goto error; + } + snprintf(servname, sizeof(servname), "%d", port ? port : 5900); if (!hostname || strlen(hostname) == 0) @@ -1209,6 +1334,7 @@ rfb_init(const char *hostname, int port, int wait, const char *password) pthread_cond_init(&rc->cond, NULL); } + pthread_mutex_init(&rc->pixfmt_mtx, NULL); pthread_create(&rc->tid, NULL, rfb_thr, rc); pthread_set_name_np(rc->tid, "rfb"); @@ -1224,12 +1350,15 @@ rfb_init(const char *hostname, int port, int wait, const char *password) return (0); error: + if (rc->pixfmt_mtx) + pthread_mutex_destroy(&rc->pixfmt_mtx); if (ai != NULL) freeaddrinfo(ai); if (rc->sfd != -1) close(rc->sfd); free(rc->crc); free(rc->crc_tmp); + free(rc->pixrow); free(rc); return (-1); } From nobody Thu Oct 31 15:59:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGL4NHlz5bwV2; Thu, 31 Oct 2024 15:59: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGL3rSgz4Nr9; Thu, 31 Oct 2024 15:59:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h1Ge3E3VW5XsBBv/RTeotb4PH2XUreg3kBPwUwNbF9s=; b=eDEJFOha97OdAeXOkYMrKuSU1JsH38JweiAzPSR1/LA4H4rQT1liRaLM1R20i+C+HhpHr7 c+AMOpJkGY4lyQhMJj8Kfa5ao5/rhTU8DV/RLr2HWcMNczfiXPrHMudTL2ncjkYGEjPUqe aB4iHIl0170ECQGGjFIHvA8AOw7x5aF7tMb3Z+JBhIoQVcH8RsrOi4Aw9ZekcqZ1OKD7MD HUK/StQvLm8vq5wBRpNc+N+di1Ay1SqkajbakYstvb9NnMqsOhxGyk+2DCJzuMNV8CNRb/ Lt2l11NAyks3B8qiLLmqHaxbXzVfuBqg3VqNE7n7jJeAfdwfZdPYW5FartD1yQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h1Ge3E3VW5XsBBv/RTeotb4PH2XUreg3kBPwUwNbF9s=; b=PD7/YLWvhGAaYawD/WNN9V7OZ0y7JKWgCBw3iRK5Hznt/UeLJr+lQD1h5OUeubwhwPomY7 yIWKu75gwQw9EC5dBn8/zU0zosO0qSzwjXtY6/2NsDXi1qixyFisjesO5gY7T9fM63sOoA xvx//HFW6Qbh7bEKwjDSEdbScSGygPyLhURqpGn9rx0Es0hVoJ609xFbLJftQ7XIfJZ0jr nhKZ7x448fMBVjqwqa2AkDgTF7L4Gr7s4KGZOQPAMLF33oHDnaN5dlR3Pqk6GrqgUbYFZL dq6W7zjgEFbZ9/ougS3//8oPc72fOUnX9dq6r2cL2HLcIhJ65pLZZjt6pioH/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390394; a=rsa-sha256; cv=none; b=g3E7/3wOGD0dSqeWxHaw+8yfFZuMsHmw9qEFD+J46MoUA92ESJPlSP/1+whEnmV6BGafjL AdOToRVkgtF+rSBsXwGxpHB5WcPpC/cq+0/aOOJAZRnH0qAD+UiibfbFwTP2WuWbjkEkNx fVdFDH0YLACawBC4YXUjPR7SwMiTEn599OBrqhcP9rfKXGlsR3qGVM269yLfFnwZtmZHOy TrITFGG5n7EjWjFQHXV5nXup87VaTxwaKQ52FcnXKT6DywrohbAqQc9OL85qgzpmYnmNrt V9qSbA7sOs3gde3EU/Ag6uZGJ+P+DN2PH2cPkklyfVFS30AVMAnWs7tVCLn7Ag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGL3RFNzj9g; Thu, 31 Oct 2024 15:59:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VFxso8056404; Thu, 31 Oct 2024 15:59:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VFxs60056397; Thu, 31 Oct 2024 15:59:54 GMT (envelope-from git) Date: Thu, 31 Oct 2024 15:59:54 GMT Message-Id: <202410311559.49VFxs60056397@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 4691f19ae80e - stable/13 - ena: Upgrade ena-com to freebsd v2.8.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4691f19ae80e13171ded7c58c8b94d53ba7421aa Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=4691f19ae80e13171ded7c58c8b94d53ba7421aa commit 4691f19ae80e13171ded7c58c8b94d53ba7421aa Author: Osama Abboud AuthorDate: 2024-10-15 17:02:26 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:19 +0000 ena: Upgrade ena-com to freebsd v2.8.0 Merge commit '0fd934a2fd12fa74ae409d3de1313e449be5d97e' Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit f5f8d7c9cdf0341f7c5fdb3a7c3358ec0ed67a0c) --- sys/contrib/ena-com/ena_com.c | 257 ++++++++++++++++++------- sys/contrib/ena-com/ena_com.h | 61 +++++- sys/contrib/ena-com/ena_defs/ena_admin_defs.h | 112 ++++++++--- sys/contrib/ena-com/ena_defs/ena_eth_io_defs.h | 43 ++++- sys/contrib/ena-com/ena_defs/ena_gen_info.h | 34 ---- sys/contrib/ena-com/ena_defs/ena_regs_defs.h | 5 + sys/contrib/ena-com/ena_eth_com.c | 38 ++-- sys/contrib/ena-com/ena_eth_com.h | 19 +- sys/contrib/ena-com/ena_plat.h | 7 +- 9 files changed, 425 insertions(+), 151 deletions(-) diff --git a/sys/contrib/ena-com/ena_com.c b/sys/contrib/ena-com/ena_com.c index 91c711eaa438..ae952c4e4435 100644 --- a/sys/contrib/ena-com/ena_com.c +++ b/sys/contrib/ena-com/ena_com.c @@ -70,15 +70,19 @@ #define ENA_REGS_ADMIN_INTR_MASK 1 +#define ENA_MAX_BACKOFF_DELAY_EXP 16U + #define ENA_MIN_ADMIN_POLL_US 100 #define ENA_MAX_ADMIN_POLL_US 5000 /* PHC definitions */ -#define ENA_PHC_DEFAULT_EXPIRE_TIMEOUT_USEC 20 +#define ENA_PHC_DEFAULT_EXPIRE_TIMEOUT_USEC 10 #define ENA_PHC_DEFAULT_BLOCK_TIMEOUT_USEC 1000 -#define ENA_PHC_TIMESTAMP_ERROR 0xFFFFFFFFFFFFFFFF +#define ENA_PHC_MAX_ERROR_BOUND 0xFFFFFFFF #define ENA_PHC_REQ_ID_OFFSET 0xDEAD +#define ENA_PHC_ERROR_FLAGS (ENA_ADMIN_PHC_ERROR_FLAG_TIMESTAMP | \ + ENA_ADMIN_PHC_ERROR_FLAG_ERROR_BOUND) /*****************************************************************************/ /*****************************************************************************/ @@ -111,7 +115,7 @@ static int ena_com_mem_addr_set(struct ena_com_dev *ena_dev, struct ena_common_mem_addr *ena_addr, dma_addr_t addr) { - if ((addr & GENMASK_ULL(ena_dev->dma_addr_bits - 1, 0)) != addr) { + if (unlikely((addr & GENMASK_ULL(ena_dev->dma_addr_bits - 1, 0)) != addr)) { ena_trc_err(ena_dev, "DMA address has more bits that the device supports\n"); return ENA_COM_INVAL; } @@ -131,7 +135,7 @@ static int ena_com_admin_init_sq(struct ena_com_admin_queue *admin_queue) ENA_MEM_ALLOC_COHERENT(admin_queue->q_dmadev, size, sq->entries, sq->dma_addr, sq->mem_handle); - if (!sq->entries) { + if (unlikely(!sq->entries)) { ena_trc_err(ena_dev, "Memory allocation failed\n"); return ENA_COM_NO_MEM; } @@ -154,7 +158,7 @@ static int ena_com_admin_init_cq(struct ena_com_admin_queue *admin_queue) ENA_MEM_ALLOC_COHERENT(admin_queue->q_dmadev, size, cq->entries, cq->dma_addr, cq->mem_handle); - if (!cq->entries) { + if (unlikely(!cq->entries)) { ena_trc_err(ena_dev, "Memory allocation failed\n"); return ENA_COM_NO_MEM; } @@ -179,7 +183,7 @@ static int ena_com_admin_init_aenq(struct ena_com_dev *ena_dev, aenq->dma_addr, aenq->mem_handle); - if (!aenq->entries) { + if (unlikely(!aenq->entries)) { ena_trc_err(ena_dev, "Memory allocation failed\n"); return ENA_COM_NO_MEM; } @@ -213,6 +217,7 @@ static int ena_com_admin_init_aenq(struct ena_com_dev *ena_dev, static void comp_ctxt_release(struct ena_com_admin_queue *queue, struct ena_comp_ctx *comp_ctx) { + comp_ctx->user_cqe = NULL; comp_ctx->occupied = false; ATOMIC32_DEC(&queue->outstanding_cmds); } @@ -264,7 +269,7 @@ static struct ena_comp_ctx *__ena_com_submit_admin_cmd(struct ena_com_admin_queu /* In case of queue FULL */ cnt = (u16)ATOMIC32_READ(&admin_queue->outstanding_cmds); - if (cnt >= admin_queue->q_depth) { + if (unlikely(cnt >= admin_queue->q_depth)) { ena_trc_dbg(admin_queue->ena_dev, "Admin queue is full.\n"); admin_queue->stats.out_of_space++; return ERR_PTR(ENA_COM_NO_SPACE); @@ -388,7 +393,7 @@ static int ena_com_init_io_sq(struct ena_com_dev *ena_dev, io_sq->desc_addr.mem_handle); } - if (!io_sq->desc_addr.virt_addr) { + if (unlikely(!io_sq->desc_addr.virt_addr)) { ena_trc_err(ena_dev, "Memory allocation failed\n"); return ENA_COM_NO_MEM; } @@ -413,7 +418,7 @@ static int ena_com_init_io_sq(struct ena_com_dev *ena_dev, if (!io_sq->bounce_buf_ctrl.base_buffer) io_sq->bounce_buf_ctrl.base_buffer = ENA_MEM_ALLOC(ena_dev->dmadev, size); - if (!io_sq->bounce_buf_ctrl.base_buffer) { + if (unlikely(!io_sq->bounce_buf_ctrl.base_buffer)) { ena_trc_err(ena_dev, "Bounce buffer memory allocation failed\n"); return ENA_COM_NO_MEM; } @@ -478,7 +483,7 @@ static int ena_com_init_io_cq(struct ena_com_dev *ena_dev, ENA_CDESC_RING_SIZE_ALIGNMENT); } - if (!io_cq->cdesc_addr.virt_addr) { + if (unlikely(!io_cq->cdesc_addr.virt_addr)) { ena_trc_err(ena_dev, "Memory allocation failed\n"); return ENA_COM_NO_MEM; } @@ -506,6 +511,9 @@ static void ena_com_handle_single_admin_completion(struct ena_com_admin_queue *a return; } + if (!comp_ctx->occupied) + return; + comp_ctx->status = ENA_CMD_COMPLETED; comp_ctx->comp_status = cqe->acq_common_descriptor.status; @@ -581,8 +589,9 @@ static int ena_com_comp_status_to_errno(struct ena_com_admin_queue *admin_queue, static void ena_delay_exponential_backoff_us(u32 exp, u32 delay_us) { + exp = ENA_MIN32(ENA_MAX_BACKOFF_DELAY_EXP, exp); delay_us = ENA_MAX32(ENA_MIN_ADMIN_POLL_US, delay_us); - delay_us = ENA_MIN32(delay_us * (1U << exp), ENA_MAX_ADMIN_POLL_US); + delay_us = ENA_MIN32(ENA_MAX_ADMIN_POLL_US, delay_us * (1U << exp)); ENA_USLEEP(delay_us); } @@ -604,7 +613,7 @@ static int ena_com_wait_and_process_admin_cq_polling(struct ena_comp_ctx *comp_c if (comp_ctx->status != ENA_CMD_SUBMITTED) break; - if (ENA_TIME_EXPIRE(timeout)) { + if (unlikely(ENA_TIME_EXPIRE(timeout))) { ena_trc_err(admin_queue->ena_dev, "Wait for completion (polling) timeout\n"); /* ENA didn't have any completion */ @@ -803,7 +812,7 @@ static int ena_com_config_llq_info(struct ena_com_dev *ena_dev, llq_default_cfg->llq_ring_entry_size_value; rc = ena_com_set_llq(ena_dev); - if (rc) + if (unlikely(rc)) ena_trc_err(ena_dev, "Cannot set LLQ configuration: %d\n", rc); return rc; @@ -830,6 +839,7 @@ static int ena_com_wait_and_process_admin_cq_interrupts(struct ena_comp_ctx *com ENA_SPINLOCK_UNLOCK(admin_queue->q_lock, flags); if (comp_ctx->status == ENA_CMD_COMPLETED) { + admin_queue->is_missing_admin_interrupt = true; ena_trc_err(admin_queue->ena_dev, "The ena device sent a completion but the driver didn't receive a MSI-X interrupt (cmd %d), autopolling mode is %s\n", comp_ctx->cmd_opcode, admin_queue->auto_polling ? "ON" : "OFF"); @@ -850,8 +860,19 @@ static int ena_com_wait_and_process_admin_cq_interrupts(struct ena_comp_ctx *com ret = ENA_COM_TIMER_EXPIRED; goto err; } + } else if (unlikely(comp_ctx->status == ENA_CMD_ABORTED)) { + ena_trc_err(admin_queue->ena_dev, "Command was aborted\n"); + ENA_SPINLOCK_LOCK(admin_queue->q_lock, flags); + admin_queue->stats.aborted_cmd++; + ENA_SPINLOCK_UNLOCK(admin_queue->q_lock, flags); + ret = ENA_COM_NO_DEVICE; + goto err; } + ENA_WARN(comp_ctx->status != ENA_CMD_COMPLETED, + admin_queue->ena_dev, "Invalid comp status %d\n", + comp_ctx->status); + ret = ena_com_comp_status_to_errno(admin_queue, comp_ctx->comp_status); err: comp_ctxt_release(admin_queue, comp_ctx); @@ -909,7 +930,7 @@ static u32 ena_com_reg_bar_read32(struct ena_com_dev *ena_dev, u16 offset) goto err; } - if (read_resp->reg_off != offset) { + if (unlikely(read_resp->reg_off != offset)) { ena_trc_err(ena_dev, "Read failure: wrong offset provided\n"); ret = ENA_MMIO_READ_TIMEOUT; } else { @@ -1033,7 +1054,7 @@ static int wait_for_reset_state(struct ena_com_dev *ena_dev, u32 timeout, exp_state) return 0; - if (ENA_TIME_EXPIRE(timeout_stamp)) + if (unlikely(ENA_TIME_EXPIRE(timeout_stamp))) return ENA_COM_TIMER_EXPIRED; ena_delay_exponential_backoff_us(exp++, ena_dev->ena_min_poll_delay_us); @@ -1494,7 +1515,7 @@ int ena_com_get_io_handlers(struct ena_com_dev *ena_dev, u16 qid, struct ena_com_io_sq **io_sq, struct ena_com_io_cq **io_cq) { - if (qid >= ENA_TOTAL_NUM_QUEUES) { + if (unlikely(qid >= ENA_TOTAL_NUM_QUEUES)) { ena_trc_err(ena_dev, "Invalid queue number %d but the max is %d\n", qid, ENA_TOTAL_NUM_QUEUES); return ENA_COM_INVAL; @@ -1602,7 +1623,7 @@ int ena_com_set_aenq_config(struct ena_com_dev *ena_dev, u32 groups_flag) int ret; ret = ena_com_get_feature(ena_dev, &get_resp, ENA_ADMIN_AENQ_CONFIG, 0); - if (ret) { + if (unlikely(ret)) { ena_trc_info(ena_dev, "Can't get aenq configuration\n"); return ret; } @@ -1649,7 +1670,7 @@ int ena_com_get_dma_width(struct ena_com_dev *ena_dev) ena_trc_dbg(ena_dev, "ENA dma width: %d\n", width); - if ((width < 32) || width > ENA_MAX_PHYS_ADDR_SIZE_BITS) { + if (unlikely((width < 32) || width > ENA_MAX_PHYS_ADDR_SIZE_BITS)) { ena_trc_err(ena_dev, "DMA width illegal value: %d\n", width); return ENA_COM_INVAL; } @@ -1811,16 +1832,21 @@ int ena_com_phc_config(struct ena_com_dev *ena_dev) struct ena_admin_set_feat_cmd set_feat_cmd; int ret = 0; - /* Get device PHC default configuration */ - ret = ena_com_get_feature(ena_dev, &get_feat_resp, ENA_ADMIN_PHC_CONFIG, 0); + /* Get default device PHC configuration */ + ret = ena_com_get_feature(ena_dev, + &get_feat_resp, + ENA_ADMIN_PHC_CONFIG, + ENA_ADMIN_PHC_FEATURE_VERSION_0); if (unlikely(ret)) { ena_trc_err(ena_dev, "Failed to get PHC feature configuration, error: %d\n", ret); return ret; } - /* Suporting only readless PHC retrieval */ - if (get_feat_resp.u.phc.type != ENA_ADMIN_PHC_TYPE_READLESS) { - ena_trc_err(ena_dev, "Unsupprted PHC type, error: %d\n", ENA_COM_UNSUPPORTED); + /* Supporting only PHC V0 (readless mode with error bound) */ + if (get_feat_resp.u.phc.version != ENA_ADMIN_PHC_FEATURE_VERSION_0) { + ena_trc_err(ena_dev, "Unsupprted PHC version (0x%X), error: %d\n", + get_feat_resp.u.phc.version, + ENA_COM_UNSUPPORTED); return ENA_COM_UNSUPPORTED; } @@ -1837,11 +1863,11 @@ int ena_com_phc_config(struct ena_com_dev *ena_dev) get_feat_resp.u.phc.block_timeout_usec : ENA_PHC_DEFAULT_BLOCK_TIMEOUT_USEC; - /* Sanity check - expire timeout must not be above skip timeout */ + /* Sanity check - expire timeout must not exceed block timeout */ if (phc->expire_timeout_usec > phc->block_timeout_usec) phc->expire_timeout_usec = phc->block_timeout_usec; - /* Prepare PHC feature command with PHC output address */ + /* Prepare PHC config feature command */ memset(&set_feat_cmd, 0x0, sizeof(set_feat_cmd)); set_feat_cmd.aq_common_descriptor.opcode = ENA_ADMIN_SET_FEATURE; set_feat_cmd.feat_common.feature_id = ENA_ADMIN_PHC_CONFIG; @@ -1873,13 +1899,16 @@ int ena_com_phc_config(struct ena_com_dev *ena_dev) void ena_com_phc_destroy(struct ena_com_dev *ena_dev) { struct ena_com_phc_info *phc = &ena_dev->phc; - - phc->active = false; + unsigned long flags = 0; /* In case PHC is not supported by the device, silently exiting */ if (!phc->virt_addr) return; + ENA_SPINLOCK_LOCK(phc->lock, flags); + phc->active = false; + ENA_SPINLOCK_UNLOCK(phc->lock, flags); + ENA_MEM_FREE_COHERENT(ena_dev->dmadev, sizeof(*phc->virt_addr), phc->virt_addr, @@ -1890,15 +1919,14 @@ void ena_com_phc_destroy(struct ena_com_dev *ena_dev) ENA_SPINLOCK_DESTROY(phc->lock); } -int ena_com_phc_get(struct ena_com_dev *ena_dev, u64 *timestamp) +int ena_com_phc_get_timestamp(struct ena_com_dev *ena_dev, u64 *timestamp) { volatile struct ena_admin_phc_resp *read_resp = ena_dev->phc.virt_addr; + const ena_time_high_res_t zero_system_time = ENA_TIME_INIT_HIGH_RES(); struct ena_com_phc_info *phc = &ena_dev->phc; - ena_time_high_res_t initial_time = ENA_TIME_INIT_HIGH_RES(); - static ena_time_high_res_t start_time; - unsigned long flags = 0; ena_time_high_res_t expire_time; ena_time_high_res_t block_time; + unsigned long flags = 0; int ret = ENA_COM_OK; if (!phc->active) { @@ -1909,9 +1937,10 @@ int ena_com_phc_get(struct ena_com_dev *ena_dev, u64 *timestamp) ENA_SPINLOCK_LOCK(phc->lock, flags); /* Check if PHC is in blocked state */ - if (unlikely(ENA_TIME_COMPARE_HIGH_RES(start_time, initial_time))) { + if (unlikely(ENA_TIME_COMPARE_HIGH_RES(phc->system_time, zero_system_time))) { /* Check if blocking time expired */ - block_time = ENA_GET_SYSTEM_TIMEOUT_HIGH_RES(start_time, phc->block_timeout_usec); + block_time = ENA_GET_SYSTEM_TIMEOUT_HIGH_RES(phc->system_time, + phc->block_timeout_usec); if (!ENA_TIME_EXPIRE_HIGH_RES(block_time)) { /* PHC is still in blocked state, skip PHC request */ phc->stats.phc_skp++; @@ -1919,9 +1948,9 @@ int ena_com_phc_get(struct ena_com_dev *ena_dev, u64 *timestamp) goto skip; } - /* PHC is in active state, update statistics according to req_id and timestamp */ + /* PHC is in active state, update statistics according to req_id and error_flags */ if ((READ_ONCE16(read_resp->req_id) != phc->req_id) || - (read_resp->timestamp == ENA_PHC_TIMESTAMP_ERROR)) { + (read_resp->error_flags & ENA_PHC_ERROR_FLAGS)) { /* Device didn't update req_id during blocking time or timestamp is invalid, * this indicates on a device error */ @@ -1933,9 +1962,9 @@ int ena_com_phc_get(struct ena_com_dev *ena_dev, u64 *timestamp) } /* Setting relative timeouts */ - start_time = ENA_GET_SYSTEM_TIME_HIGH_RES(); - block_time = ENA_GET_SYSTEM_TIMEOUT_HIGH_RES(start_time, phc->block_timeout_usec); - expire_time = ENA_GET_SYSTEM_TIMEOUT_HIGH_RES(start_time, phc->expire_timeout_usec); + phc->system_time = ENA_GET_SYSTEM_TIME_HIGH_RES(); + block_time = ENA_GET_SYSTEM_TIMEOUT_HIGH_RES(phc->system_time, phc->block_timeout_usec); + expire_time = ENA_GET_SYSTEM_TIMEOUT_HIGH_RES(phc->system_time, phc->expire_timeout_usec); /* We expect the device to return this req_id once the new PHC timestamp is updated */ phc->req_id++; @@ -1952,35 +1981,45 @@ int ena_com_phc_get(struct ena_com_dev *ena_dev, u64 *timestamp) while (1) { if (unlikely(ENA_TIME_EXPIRE_HIGH_RES(expire_time))) { /* Gave up waiting for updated req_id, PHC enters into blocked state until - * passing blocking time + * passing blocking time, during this time any get PHC timestamp or + * error bound requests will fail with device busy error */ + phc->error_bound = ENA_PHC_MAX_ERROR_BOUND; ret = ENA_COM_DEVICE_BUSY; break; } /* Check if req_id was updated by the device */ if (READ_ONCE16(read_resp->req_id) != phc->req_id) { - /* req_id was not updated by the device, check again on next loop */ + /* req_id was not updated by the device yet, check again on next loop */ continue; } - /* req_id was updated which indicates that PHC timestamp was updated too */ - *timestamp = read_resp->timestamp; - - /* PHC timestamp validty check */ - if (unlikely(*timestamp == ENA_PHC_TIMESTAMP_ERROR)) { - /* Retrieved invalid PHC timestamp, PHC enters into blocked state until - * passing blocking time + /* req_id was updated by the device which indicates that PHC timestamp, error_bound + * and error_flags are updated too, checking errors before retrieving timestamp and + * error_bound values + */ + if (unlikely(read_resp->error_flags & ENA_PHC_ERROR_FLAGS)) { + /* Retrieved timestamp or error bound errors, PHC enters into blocked state + * until passing blocking time, during this time any get PHC timestamp or + * error bound requests will fail with device busy error */ + phc->error_bound = ENA_PHC_MAX_ERROR_BOUND; ret = ENA_COM_DEVICE_BUSY; break; } - /* Retrieved valid PHC timestamp */ + /* PHC timestamp value is returned to the caller */ + *timestamp = read_resp->timestamp; + + /* Error bound value is cached for future retrieval by caller */ + phc->error_bound = read_resp->error_bound; + + /* Update statistic on valid PHC timestamp retrieval */ phc->stats.phc_cnt++; /* This indicates PHC state is active */ - start_time = initial_time; + phc->system_time = zero_system_time; break; } @@ -1990,6 +2029,24 @@ skip: return ret; } +int ena_com_phc_get_error_bound(struct ena_com_dev *ena_dev, u32 *error_bound) +{ + struct ena_com_phc_info *phc = &ena_dev->phc; + u32 local_error_bound = phc->error_bound; + + if (!phc->active) { + ena_trc_err(ena_dev, "PHC feature is not active in the device\n"); + return ENA_COM_UNSUPPORTED; + } + + if (local_error_bound == ENA_PHC_MAX_ERROR_BOUND) + return ENA_COM_DEVICE_BUSY; + + *error_bound = local_error_bound; + + return ENA_COM_OK; +} + int ena_com_mmio_reg_read_request_init(struct ena_com_dev *ena_dev) { struct ena_com_mmio_read *mmio_read = &ena_dev->mmio_read; @@ -2083,15 +2140,15 @@ int ena_com_admin_init(struct ena_com_dev *ena_dev, ENA_SPINLOCK_INIT(admin_queue->q_lock); ret = ena_com_init_comp_ctxt(admin_queue); - if (ret) + if (unlikely(ret)) goto error; ret = ena_com_admin_init_sq(admin_queue); - if (ret) + if (unlikely(ret)) goto error; ret = ena_com_admin_init_cq(admin_queue); - if (ret) + if (unlikely(ret)) goto error; admin_queue->sq.db_addr = (u32 __iomem *)((uintptr_t)ena_dev->reg_bar + @@ -2124,11 +2181,12 @@ int ena_com_admin_init(struct ena_com_dev *ena_dev, ENA_REG_WRITE32(ena_dev->bus, aq_caps, ena_dev->reg_bar + ENA_REGS_AQ_CAPS_OFF); ENA_REG_WRITE32(ena_dev->bus, acq_caps, ena_dev->reg_bar + ENA_REGS_ACQ_CAPS_OFF); ret = ena_com_admin_init_aenq(ena_dev, aenq_handlers); - if (ret) + if (unlikely(ret)) goto error; admin_queue->ena_dev = ena_dev; admin_queue->running_state = true; + admin_queue->is_missing_admin_interrupt = false; return 0; error: @@ -2144,7 +2202,7 @@ int ena_com_create_io_queue(struct ena_com_dev *ena_dev, struct ena_com_io_cq *io_cq; int ret; - if (ctx->qid >= ENA_TOTAL_NUM_QUEUES) { + if (unlikely(ctx->qid >= ENA_TOTAL_NUM_QUEUES)) { ena_trc_err(ena_dev, "Qid (%d) is bigger than max num of queues (%d)\n", ctx->qid, ENA_TOTAL_NUM_QUEUES); return ENA_COM_INVAL; @@ -2175,18 +2233,18 @@ int ena_com_create_io_queue(struct ena_com_dev *ena_dev, ENA_MIN32(ena_dev->tx_max_header_size, SZ_256); ret = ena_com_init_io_sq(ena_dev, ctx, io_sq); - if (ret) + if (unlikely(ret)) goto error; ret = ena_com_init_io_cq(ena_dev, ctx, io_cq); - if (ret) + if (unlikely(ret)) goto error; ret = ena_com_create_io_cq(ena_dev, io_cq); - if (ret) + if (unlikely(ret)) goto error; ret = ena_com_create_io_sq(ena_dev, io_sq, io_cq->idx); - if (ret) + if (unlikely(ret)) goto destroy_io_cq; return 0; @@ -2203,7 +2261,7 @@ void ena_com_destroy_io_queue(struct ena_com_dev *ena_dev, u16 qid) struct ena_com_io_sq *io_sq; struct ena_com_io_cq *io_cq; - if (qid >= ENA_TOTAL_NUM_QUEUES) { + if (unlikely(qid >= ENA_TOTAL_NUM_QUEUES)) { ena_trc_err(ena_dev, "Qid (%d) is bigger than max num of queues (%d)\n", qid, ENA_TOTAL_NUM_QUEUES); return; @@ -2345,7 +2403,8 @@ int ena_com_get_dev_attr_feat(struct ena_com_dev *ena_dev, else return rc; - rc = ena_com_get_feature(ena_dev, &get_resp, ENA_ADMIN_LLQ, 0); + rc = ena_com_get_feature(ena_dev, &get_resp, + ENA_ADMIN_LLQ, ENA_ADMIN_LLQ_FEATURE_VERSION_1); if (!rc) memcpy(&get_feat_ctx->llq, &get_resp.u.llq, sizeof(get_resp.u.llq)); @@ -2400,8 +2459,8 @@ void ena_com_aenq_intr_handler(struct ena_com_dev *ena_dev, void *data) /* Go over all the events */ while ((READ_ONCE8(aenq_common->flags) & ENA_ADMIN_AENQ_COMMON_DESC_PHASE_MASK) == phase) { - /* Make sure the phase bit (ownership) is as expected before - * reading the rest of the descriptor. + /* Make sure the device finished writing the rest of the descriptor + * before reading it. */ dma_rmb(); @@ -2443,6 +2502,45 @@ void ena_com_aenq_intr_handler(struct ena_com_dev *ena_dev, void *data) ena_dev->reg_bar + ENA_REGS_AENQ_HEAD_DB_OFF); mmiowb(); } + +bool ena_com_aenq_has_keep_alive(struct ena_com_dev *ena_dev) +{ + struct ena_admin_aenq_common_desc *aenq_common; + struct ena_com_aenq *aenq = &ena_dev->aenq; + struct ena_admin_aenq_entry *aenq_e; + u8 phase = aenq->phase; + u16 masked_head; + + masked_head = aenq->head & (aenq->q_depth - 1); + aenq_e = &aenq->entries[masked_head]; /* Get first entry */ + aenq_common = &aenq_e->aenq_common_desc; + + /* Go over all the events */ + while ((READ_ONCE8(aenq_common->flags) & + ENA_ADMIN_AENQ_COMMON_DESC_PHASE_MASK) == phase) { + /* Make sure the device finished writing the rest of the descriptor + * before reading it. + */ + dma_rmb(); + + if (aenq_common->group == ENA_ADMIN_KEEP_ALIVE) + return true; + + /* Get next event entry */ + masked_head++; + + if (unlikely(masked_head == aenq->q_depth)) { + masked_head = 0; + phase = !phase; + } + + aenq_e = &aenq->entries[masked_head]; + aenq_common = &aenq_e->aenq_common_desc; + } + + return false; +} + #ifdef ENA_EXTENDED_STATS /* * Sets the function Idx and Queue Idx to be used for @@ -2468,6 +2566,7 @@ int ena_com_extended_stats_set_func_queue(struct ena_com_dev *ena_dev, int ena_com_dev_reset(struct ena_com_dev *ena_dev, enum ena_regs_reset_reason_types reset_reason) { + u32 reset_reason_msb, reset_reason_lsb; u32 stat, timeout, cap, reset_val; int rc; @@ -2494,8 +2593,28 @@ int ena_com_dev_reset(struct ena_com_dev *ena_dev, /* start reset */ reset_val = ENA_REGS_DEV_CTL_DEV_RESET_MASK; - reset_val |= (reset_reason << ENA_REGS_DEV_CTL_RESET_REASON_SHIFT) & - ENA_REGS_DEV_CTL_RESET_REASON_MASK; + + /* For backward compatibility, device will interpret + * bits 24-27 as MSB, bits 28-31 as LSB + */ + reset_reason_lsb = ENA_FIELD_GET(reset_reason, ENA_RESET_REASON_LSB_MASK, + ENA_RESET_REASON_LSB_OFFSET); + + reset_reason_msb = ENA_FIELD_GET(reset_reason, ENA_RESET_REASON_MSB_MASK, + ENA_RESET_REASON_MSB_OFFSET); + + reset_val |= reset_reason_lsb << ENA_REGS_DEV_CTL_RESET_REASON_SHIFT; + + if (ena_com_get_cap(ena_dev, ENA_ADMIN_EXTENDED_RESET_REASONS)) + reset_val |= reset_reason_msb << ENA_REGS_DEV_CTL_RESET_REASON_EXT_SHIFT; + else if (reset_reason_msb) { + /* In case the device does not support intended + * extended reset reason fallback to generic + */ + reset_val = ENA_REGS_DEV_CTL_DEV_RESET_MASK; + reset_val |= (ENA_REGS_RESET_GENERIC << ENA_REGS_DEV_CTL_RESET_REASON_SHIFT) & + ENA_REGS_DEV_CTL_RESET_REASON_MASK; + } ENA_REG_WRITE32(ena_dev->bus, reset_val, ena_dev->reg_bar + ENA_REGS_DEV_CTL_OFF); /* Write again the MMIO read request address */ @@ -2503,7 +2622,7 @@ int ena_com_dev_reset(struct ena_com_dev *ena_dev, rc = wait_for_reset_state(ena_dev, timeout, ENA_REGS_DEV_STS_RESET_IN_PROGRESS_MASK); - if (rc != 0) { + if (unlikely(rc)) { ena_trc_err(ena_dev, "Reset indication didn't turn on\n"); return rc; } @@ -2511,7 +2630,7 @@ int ena_com_dev_reset(struct ena_com_dev *ena_dev, /* reset done */ ENA_REG_WRITE32(ena_dev->bus, 0, ena_dev->reg_bar + ENA_REGS_DEV_CTL_OFF); rc = wait_for_reset_state(ena_dev, timeout, 0); - if (rc != 0) { + if (unlikely(rc)) { ena_trc_err(ena_dev, "Reset indication didn't turn off\n"); return rc; } @@ -2614,7 +2733,7 @@ int ena_com_get_dev_extended_stats(struct ena_com_dev *ena_dev, char *buff, ret = ena_get_dev_stats(ena_dev, &ctx, ENA_ADMIN_GET_STATS_TYPE_EXTENDED); - if (ret < 0) + if (unlikely(ret < 0)) goto free_ext_stats_mem; ret = snprintf(buff, len, "%s", (char *)virt_addr); @@ -3222,7 +3341,7 @@ int ena_com_allocate_customer_metrics_buffer(struct ena_com_dev *ena_dev) customer_metrics->buffer_virt_addr, customer_metrics->buffer_dma_addr, customer_metrics->buffer_dma_handle); - if (!customer_metrics->buffer_virt_addr) + if (unlikely(!customer_metrics->buffer_virt_addr)) return ENA_COM_NO_MEM; return 0; @@ -3416,7 +3535,7 @@ int ena_com_config_dev_mode(struct ena_com_dev *ena_dev, } rc = ena_com_config_llq_info(ena_dev, llq_features, llq_default_cfg); - if (rc) + if (unlikely(rc)) return rc; ena_dev->tx_max_header_size = llq_info->desc_list_entry_size - diff --git a/sys/contrib/ena-com/ena_com.h b/sys/contrib/ena-com/ena_com.h index 5b091c64572c..87d0662351b0 100644 --- a/sys/contrib/ena-com/ena_com.h +++ b/sys/contrib/ena-com/ena_com.h @@ -51,6 +51,14 @@ #define ADMIN_CQ_SIZE(depth) ((depth) * sizeof(struct ena_admin_acq_entry)) #define ADMIN_AENQ_SIZE(depth) ((depth) * sizeof(struct ena_admin_aenq_entry)) +/* Macros used to extract LSB/MSB from the + * enums defining the reset reasons + */ +#define ENA_RESET_REASON_LSB_OFFSET 0 +#define ENA_RESET_REASON_LSB_MASK 0xf +#define ENA_RESET_REASON_MSB_OFFSET 4 +#define ENA_RESET_REASON_MSB_MASK 0xf0 + #define ENA_CUSTOMER_METRICS_BUFFER_SIZE 512 /*****************************************************************************/ @@ -257,6 +265,8 @@ struct ena_com_admin_queue { */ bool running_state; + bool is_missing_admin_interrupt; + /* Count the number of outstanding admin commands */ ena_atomic32_t outstanding_cmds; @@ -294,6 +304,9 @@ struct ena_com_phc_info { /* PHC shared memory - virtual address */ struct ena_admin_phc_resp *virt_addr; + /* System time of last PHC request */ + ena_time_high_res_t system_time; + /* Spin lock to ensure a single outstanding PHC read */ ena_spinlock_t lock; @@ -313,17 +326,20 @@ struct ena_com_phc_info { */ u32 block_timeout_usec; + /* PHC shared memory - physical address */ + dma_addr_t phys_addr; + + /* PHC shared memory handle */ + ena_mem_handle_t mem_handle; + + /* Cached error bound per timestamp sample */ + u32 error_bound; + /* Request id sent to the device */ u16 req_id; /* True if PHC is active in the device */ bool active; - - /* PHC shared memory - memory handle */ - ena_mem_handle_t mem_handle; - - /* PHC shared memory - physical address */ - dma_addr_t phys_addr; }; struct ena_rss { @@ -488,12 +504,19 @@ int ena_com_phc_config(struct ena_com_dev *ena_dev); */ void ena_com_phc_destroy(struct ena_com_dev *ena_dev); -/* ena_com_phc_get - Retrieve PHC timestamp +/* ena_com_phc_get_timestamp - Retrieve PHC timestamp * @ena_dev: ENA communication layer struct - * @timestamp: Retrieve PHC timestamp + * @timestamp: Retrieved PHC timestamp * @return - 0 on success, negative value on failure */ -int ena_com_phc_get(struct ena_com_dev *ena_dev, u64 *timestamp); +int ena_com_phc_get_timestamp(struct ena_com_dev *ena_dev, u64 *timestamp); + +/* ena_com_phc_get_error_bound - Retrieve cached PHC error bound + * @ena_dev: ENA communication layer struct + * @error_bound: Cached PHC error bound + * @return - 0 on success, negative value on failure + */ +int ena_com_phc_get_error_bound(struct ena_com_dev *ena_dev, u32 *error_bound); /* ena_com_set_mmio_read_mode - Enable/disable the indirect mmio reg read mechanism * @ena_dev: ENA communication layer struct @@ -644,6 +667,16 @@ void ena_com_admin_q_comp_intr_handler(struct ena_com_dev *ena_dev); */ void ena_com_aenq_intr_handler(struct ena_com_dev *ena_dev, void *data); +/* ena_com_aenq_has_keep_alive - Retrieve if there is a keep alive notification in the aenq + * @ena_dev: ENA communication layer struct + * + * This method goes over the async event notification queue and returns if there + * is a keep alive notification. + * + * @return - true if there is a keep alive notification in the aenq or false otherwise + */ +bool ena_com_aenq_has_keep_alive(struct ena_com_dev *ena_dev); + /* ena_com_abort_admin_commands - Abort all the outstanding admin commands. * @ena_dev: ENA communication layer struct * @@ -1096,6 +1129,16 @@ int ena_com_config_dev_mode(struct ena_com_dev *ena_dev, struct ena_admin_feature_llq_desc *llq_features, struct ena_llq_configurations *llq_default_config); +/* ena_com_get_missing_admin_interrupt - Return if there is a missing admin interrupt + * @ena_dev: ENA communication layer struct + * + * @return - true if there is a missing admin interrupt or false otherwise + */ +static inline bool ena_com_get_missing_admin_interrupt(struct ena_com_dev *ena_dev) +{ + return ena_dev->admin_queue.is_missing_admin_interrupt; +} + /* ena_com_io_sq_to_ena_dev - Extract ena_com_dev using contained field io_sq. * @io_sq: IO submit queue struct * diff --git a/sys/contrib/ena-com/ena_defs/ena_admin_defs.h b/sys/contrib/ena-com/ena_defs/ena_admin_defs.h index abd1ae5d57fb..5437f629712f 100644 --- a/sys/contrib/ena-com/ena_defs/ena_admin_defs.h +++ b/sys/contrib/ena-com/ena_defs/ena_admin_defs.h @@ -98,12 +98,22 @@ enum ena_admin_aq_feature_id { ENA_ADMIN_FEATURES_OPCODE_NUM = 32, }; +/* feature version for the set/get ENA_ADMIN_LLQ feature admin commands */ +enum ena_admin_llq_feature_version { + /* legacy base version in older drivers */ + ENA_ADMIN_LLQ_FEATURE_VERSION_0_LEGACY = 0, + /* support entry_size recommendation by device */ + ENA_ADMIN_LLQ_FEATURE_VERSION_1 = 1, +}; + /* device capabilities */ enum ena_admin_aq_caps_id { ENA_ADMIN_ENI_STATS = 0, /* ENA SRD customer metrics */ ENA_ADMIN_ENA_SRD_INFO = 1, ENA_ADMIN_CUSTOMER_METRICS = 2, + ENA_ADMIN_EXTENDED_RESET_REASONS = 3, + ENA_ADMIN_CDESC_MBZ = 4, }; enum ena_admin_placement_policy_type { @@ -163,8 +173,14 @@ enum ena_admin_get_stats_scope { ENA_ADMIN_ETH_TRAFFIC = 1, }; -enum ena_admin_get_phc_type { - ENA_ADMIN_PHC_TYPE_READLESS = 0, +enum ena_admin_phc_feature_version { + /* Readless with error_bound */ + ENA_ADMIN_PHC_FEATURE_VERSION_0 = 0, +}; + +enum ena_admin_phc_error_flags { + ENA_ADMIN_PHC_ERROR_FLAG_TIMESTAMP = BIT(0), + ENA_ADMIN_PHC_ERROR_FLAG_ERROR_BOUND = BIT(1), }; /* ENA SRD configuration for ENI */ @@ -464,6 +480,10 @@ struct ena_admin_basic_stats { uint32_t tx_drops_low; uint32_t tx_drops_high; + + uint32_t rx_overruns_low; + + uint32_t rx_overruns_high; }; /* ENI Statistics Command. */ @@ -696,8 +716,17 @@ struct ena_admin_feature_llq_desc { /* the stride control the driver selected to use */ uint16_t descriptors_stride_ctrl_enabled; - /* reserved */ - uint32_t reserved1; + /* feature version of device resp to either GET/SET commands. */ + uint8_t feature_version; + + /* llq entry size recommended by the device, + * values correlated to enum ena_admin_llq_ring_entry_size. + * used only for GET command. + */ + uint8_t entry_size_recommended; + + /* max depth of wide llq, or 0 for N/A */ + uint16_t max_wide_llq_depth; /* accelerated low latency queues requirement. driver needs to * support those requirements in order to use accelerated llq @@ -933,19 +962,8 @@ struct ena_admin_feature_rss_flow_hash_input { uint16_t enabled_input_sort; }; -enum ena_admin_os_type { - ENA_ADMIN_OS_LINUX = 1, - ENA_ADMIN_OS_WIN = 2, - ENA_ADMIN_OS_DPDK = 3, - ENA_ADMIN_OS_FREEBSD = 4, - ENA_ADMIN_OS_IPXE = 5, - ENA_ADMIN_OS_ESXI = 6, - ENA_ADMIN_OS_MACOS = 7, - ENA_ADMIN_OS_GROUPS_NUM = 7, -}; - struct ena_admin_host_info { - /* defined in enum ena_admin_os_type */ + /* Host OS type defined as ENA_ADMIN_OS_* */ uint32_t os_type; /* os distribution string format */ @@ -992,7 +1010,9 @@ struct ena_admin_host_info { * 4 : rss_configurable_function_key * 5 : reserved * 6 : rx_page_reuse - * 31:7 : reserved + * 7 : tx_ipv6_csum_offload + * 8 : phc + * 31:9 : reserved */ uint32_t driver_supported_features; }; @@ -1078,10 +1098,10 @@ struct ena_admin_queue_ext_feature_desc { }; struct ena_admin_feature_phc_desc { - /* PHC type as defined in enum ena_admin_get_phc_type, - * used only for GET command. + /* PHC version as defined in enum ena_admin_phc_feature_version, + * used only for GET command as max supported PHC version by the device. */ - uint8_t type; + uint8_t version; /* Reserved - MBZ */ uint8_t reserved1[3]; @@ -1221,7 +1241,9 @@ enum ena_admin_aenq_group { ENA_ADMIN_NOTIFICATION = 3, ENA_ADMIN_KEEP_ALIVE = 4, ENA_ADMIN_REFRESH_CAPABILITIES = 5, - ENA_ADMIN_AENQ_GROUPS_NUM = 6, + ENA_ADMIN_CONF_NOTIFICATIONS = 6, + ENA_ADMIN_DEVICE_REQUEST_RESET = 7, + ENA_ADMIN_AENQ_GROUPS_NUM = 8, }; enum ena_admin_aenq_notification_syndrome { @@ -1252,6 +1274,18 @@ struct ena_admin_aenq_keep_alive_desc { uint32_t tx_drops_low; uint32_t tx_drops_high; + + uint32_t rx_overruns_low; + + uint32_t rx_overruns_high; +}; + +struct ena_admin_aenq_conf_notifications_desc { + struct ena_admin_aenq_common_desc aenq_common_desc; + + uint64_t notifications_bitmap; + + uint64_t reserved; }; struct ena_admin_ena_mmio_req_read_less_resp { @@ -1264,13 +1298,23 @@ struct ena_admin_ena_mmio_req_read_less_resp { }; struct ena_admin_phc_resp { + /* Request Id, received from DB register */ uint16_t req_id; uint8_t reserved1[6]; + /* PHC timestamp (nsec) */ uint64_t timestamp; - uint8_t reserved2[48]; + uint8_t reserved2[8]; + + /* Timestamp error limit (nsec) */ + uint32_t error_bound; + + /* Bit field of enum ena_admin_phc_error_flags */ + uint32_t error_flags; + + uint8_t reserved3[32]; }; /* aq_common_desc */ @@ -1371,6 +1415,10 @@ struct ena_admin_phc_resp { #define ENA_ADMIN_HOST_INFO_RSS_CONFIGURABLE_FUNCTION_KEY_MASK BIT(4) #define ENA_ADMIN_HOST_INFO_RX_PAGE_REUSE_SHIFT 6 #define ENA_ADMIN_HOST_INFO_RX_PAGE_REUSE_MASK BIT(6) +#define ENA_ADMIN_HOST_INFO_TX_IPV6_CSUM_OFFLOAD_SHIFT 7 +#define ENA_ADMIN_HOST_INFO_TX_IPV6_CSUM_OFFLOAD_MASK BIT(7) +#define ENA_ADMIN_HOST_INFO_PHC_SHIFT 8 +#define ENA_ADMIN_HOST_INFO_PHC_MASK BIT(8) /* feature_rss_ind_table */ #define ENA_ADMIN_FEATURE_RSS_IND_TABLE_ONE_ENTRY_UPDATE_MASK BIT(0) @@ -1842,6 +1890,16 @@ static inline void set_ena_admin_host_info_rx_page_reuse(struct ena_admin_host_i p->driver_supported_features |= (val << ENA_ADMIN_HOST_INFO_RX_PAGE_REUSE_SHIFT) & ENA_ADMIN_HOST_INFO_RX_PAGE_REUSE_MASK; } +static inline uint32_t get_ena_admin_host_info_tx_ipv6_csum_offload(const struct ena_admin_host_info *p) *** 391 LINES SKIPPED *** From nobody Thu Oct 31 15:59:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGM5PvQz5bwNm; Thu, 31 Oct 2024 15:59: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGM4rDFz4Nx8; Thu, 31 Oct 2024 15:59:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390395; h=from:from:reply-to:subject:subject: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+jJAA0GmREAi63RqPjf59f59EKjXBI/+5LPSFRYvgY=; b=QIoBtNsVR8+p+fYsYvrIm1fLrmgg134mw4smTYbBXULRKx/gsfYaoXUmGp7ohOuKSnIdxI p+xde6VKPtTY/CjjPQHAOSSYxDOcx2HXaHudwUGfnGsPxW04BvosSL5MJHOdDlwETPFDtD sBlnmLDnVoyLXk/qc/9vMIQuxs+zGKBbRj7A5Wnx1s6BHGUH0nOAGQcEod/vyWl6D8GpzE tvWwktDa2wMJearYNRp3DZ1KMOwGW6dBuJtmLDNzzVGWdN6E1sIUvD8h+Qo6AqfS5NxVfJ am1Upx9fntmbv9MBRT5rCIOnSNSiwzm8mHvJ9Fqvw8PeE6DjsURZ5swzqBon4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390395; h=from:from:reply-to:subject:subject: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+jJAA0GmREAi63RqPjf59f59EKjXBI/+5LPSFRYvgY=; b=XH+9qGWEte/UgMkd0s86jQEA0rfZIUoOY7K7+7bIXTNFuU4vcGoIRjHMkCcQy9XpzGFbD6 xbXckWiUoH2gNdMQIHbuKUb6v5IjbWmwq9DXPWQM+PczTZSY3yuXO9luvpos0DQ4/0JJYv vvi+gaZf0uJJE7ML2Se/xntZC+shJov3gn5h8yGNusr30Akpa8CLHkhh2OjnBt+FGxSnuC elYjMJqgiiOzvXImaArHz7V6dvDl5MsOlGOsRTDwpI/tRnm3vwgaCqzb8Jn2U4yFIe7m/z hcMzxwAh+Cg/T6G3KfvKKSNE9t3ixZ5xBbMzXuJD2FbUnbVy0SqxMlVU02/5cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390395; a=rsa-sha256; cv=none; b=BBJL2RS72nwsm6WaFC6tW6y4XKFYLzQIqEKNhXh2n7KtSMWJfUWU5PS7ydFuhbONF9yLql iT3MITqc5asRLb2gbrXAabsWUEhbJsph7galo+BVg1ckrQznITKZNecoXA8qg64j82IoGv XAezKt3MTOz7zkaRCapNmCOHmlbvOyEJk6fCR7bMozOQeeQ/372CxjHh3vlhbwU8Kc/yy2 z08rlrXP0YMtVOdCpjJdz/GAKwbaNqw8Fq3537Cw2gk9LwpbHsTsfRV9y0lao21Tir7tor jrnJG5hFixhECLiZAAud+YI5J9m13/wzFy+NE9z+XLzFDURZQcel26vEtHWmuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGM4Rhczj58; Thu, 31 Oct 2024 15:59:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VFxtpJ056452; Thu, 31 Oct 2024 15:59:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VFxtK5056449; Thu, 31 Oct 2024 15:59:55 GMT (envelope-from git) Date: Thu, 31 Oct 2024 15:59:55 GMT Message-Id: <202410311559.49VFxtK5056449@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 8a31fe8cf91f - stable/13 - ena: Fix customer metrics deallocation statement place List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8a31fe8cf91fe8d55579e18e3a683870160cafef Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=8a31fe8cf91fe8d55579e18e3a683870160cafef commit 8a31fe8cf91fe8d55579e18e3a683870160cafef Author: Osama Abboud AuthorDate: 2024-08-07 06:24:22 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:19 +0000 ena: Fix customer metrics deallocation statement place Upstream commit [1] made if_alloc_domain() never fail, then also do the wrappers if_alloc(), if_alloc_dev(), and if_gethandle(). Upstream commit [2] removed the NULL check conducted by the driver. This commit also removes err_customer_metrics_alloc goto label. Commit [2] leaves behind a floating free() statement that deallocates customer_metrics_array. This commit places the deallocation statement where it belongs. [1] commit 4787572d0580 ("ifnet: make if_alloc_domain() never fail") [2] commit aa3860851b9f ("net: Remove unneeded NULL check for the allocated ifnet") Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 5517ca8486bfbf4d0cd369898f3e4d10cd614a9a) --- sys/dev/ena/ena.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 934970ea0cf7..3da424a7c9dd 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3842,8 +3842,8 @@ ena_attach(device_t pdev) #ifdef DEV_NETMAP err_detach: ether_ifdetach(adapter->ifp); -#endif /* DEV_NETMAP */ free(adapter->customer_metrics_array, M_DEVBUF); +#endif /* DEV_NETMAP */ err_metrics_buffer_destroy: ena_com_delete_customer_metrics_buffer(ena_dev); err_msix_free: From nobody Thu Oct 31 15:59:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGP11Wvz5bwWb; Thu, 31 Oct 2024 15:59: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGN6z8Bz4Ntq; Thu, 31 Oct 2024 15:59:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TCenop7uJ+EiMwlnSoy4OmzALvSXU1boiNK9rCImCM4=; b=IGpsGVQMVHXMGKCeXHwMZJE/FdzMgVzct3HFPhD9cfSCr9y88dUieelrsrrAZjH1INfeEW /7L6RkCiueziFaOHt/QGiDQHvhXeijXEetMoQEUEWy+dw6q4L/LbVztX+KBxgYIo1tCB/t 2ezc1ipaltnLPEv2HGnnBuJtMyPF1T1xFcWdaRTLNplkTgm3ub1Kc4icEfbrKR+IjM+HSg sKixcr7trf9F5A30AN969dAJj2DZGlzFT1belNZFo35UB9p38wh7i84coWOFaGckj1rLcS nTFyAWrwssuiilY5Zw1sufdDj78UtjZY8hDnKEYH300sX+8SWgOSLTZ2s10e4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TCenop7uJ+EiMwlnSoy4OmzALvSXU1boiNK9rCImCM4=; b=cBSeioeZpmPMxytvb9G1eWB0k9dXcsphNBHkAn1W4WZUjSh2deU07GpT2fZb90m5iWI3Mh 6iPZOCiwkVMdRO8ptMlmBg95gULkIWDyGgGH01KdGJykyYsPWJBso1S94j5yde3hAZoBBV QztnwwxZPzSuUSz52AV0bH7M6D5R+oqQJC8aLJx92ZhodqQrKaQdwjQ4HBu4AJwm5Ssakz os7h23QRhmiIbLEA7rLwCd+fMKTT3nQPj9T4VC2zaT7ZXcMvdmcWkjrhqWujpAdy24i+CW 1SDFRPr45CwF+wyTMQ4PXiu30P/xea0wixdF2T0WTQw/Gx6VnWxzHgvqKGa3yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390397; a=rsa-sha256; cv=none; b=tDLEESH7Tkfe1n7c1q4QtgW5/Dxkin3+3/JuTIkJ1lxikL0bmBdhyU+tL96ws6CTdYej5p opMttTdV0gQ+ls/WpVpYPhLH3Rc3HuOSJpGdL2/W2rbjydPOj7m38NoWeDnV0YU2f5iYWq rz6a/QnMsQNtoGGZbXUpIVJ1O9B3t3TteklvqUAwckeS/VlgbxJJdzvfqa8pGt13aJwB1S Ftmo7j6iBhs+0HBEbcLVz7C1bjS/xd4kqMIhqdxRDPnBF3SouKDypSA8Sm89bWTqP0w18r CSnnQBJ1kOhncQTxosPi9tdGhYw1Tt7zeXbMlBdT0yGv7EMcrwNH19BNNdb9ig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGN5TPpzhdV; Thu, 31 Oct 2024 15:59:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VFxu1o056506; Thu, 31 Oct 2024 15:59:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VFxu0U056503; Thu, 31 Oct 2024 15:59:56 GMT (envelope-from git) Date: Thu, 31 Oct 2024 15:59:56 GMT Message-Id: <202410311559.49VFxu0U056503@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 374695be6523 - stable/13 - ena: Count all currently missing TX completions in check List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 374695be65238bcf392576538f0fe99f09c5dbc8 Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=374695be65238bcf392576538f0fe99f09c5dbc8 commit 374695be65238bcf392576538f0fe99f09c5dbc8 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:18 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:19 +0000 ena: Count all currently missing TX completions in check Currently we count all of the newly added and already existing missing tx completions in each iteration of check_missing_comp_in_tx_queue() causing duplicate counts to missing_tx_comp stat. This commit adds a new counter new_missed_tx within the relevant function which only counts the newly added missing tx completions in each iteration of check_missing_comp_in_tx_queue(). This will allow us to update missing_tx_comp stat accurately without counting duplicates. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 1f67704e2cd85a507776312b52dc63d8690b9260) --- sys/dev/ena/ena.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 3da424a7c9dd..719dd4b58bae 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3059,13 +3059,13 @@ static int check_missing_comp_in_tx_queue(struct ena_adapter *adapter, struct ena_ring *tx_ring) { + uint32_t missed_tx = 0, new_missed_tx = 0; device_t pdev = adapter->pdev; struct bintime curtime, time; struct ena_tx_buffer *tx_buf; int time_since_last_cleanup; int missing_tx_comp_to; sbintime_t time_offset; - uint32_t missed_tx = 0; int i, rc = 0; getbinuptime(&curtime); @@ -3108,13 +3108,15 @@ check_missing_comp_in_tx_queue(struct ena_adapter *adapter, "%d msecs have passed since last cleanup. Missing Tx timeout value %d msecs.\n", tx_ring->qid, i, time_since_last_cleanup, missing_tx_comp_to); + /* Add new TX completions which are missed */ + new_missed_tx++; } tx_buf->print_once = false; missed_tx++; } } - + /* Checking if this TX ring missing TX completions have passed the threshold */ if (unlikely(missed_tx > adapter->missing_tx_threshold)) { ena_log(pdev, ERR, "The number of lost tx completion is above the threshold " @@ -3123,8 +3125,8 @@ check_missing_comp_in_tx_queue(struct ena_adapter *adapter, ena_trigger_reset(adapter, ENA_REGS_RESET_MISS_TX_CMPL); rc = EIO; } - - counter_u64_add(tx_ring->tx_stats.missing_tx_comp, missed_tx); + /* Add the newly discovered missing TX completions */ + counter_u64_add(tx_ring->tx_stats.missing_tx_comp, new_missed_tx); return (rc); } From nobody Thu Oct 31 15:59:57 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGQ0Dz5z5bwWd; Thu, 31 Oct 2024 15:59: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGP6jLcz4Nv6; Thu, 31 Oct 2024 15:59:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FppXkuuDRvyCUt3FbFfZ63NmKPybKBZt2SOkXyv4dq0=; b=NXK1WtS6e7vlaIf9OjwbmTOVTnEx+Nzh4dT9V6U6WQungUqJdCej9D3a9FXBuM+14YugBO DUhOQwcdDw9jSML83IGKxcAqWVsRuLqWpcby+jFFZorpwubCm/kgGEYwY2TlSZbWzICqSI GngeWWKGeYUQk7Vn4yRj+l9db2/2GREOGGc6ztZizEDAKRYlccrNiZ1Vem8GSxmMZ8sx+S GNug+e80zeAB6HF8W/FCPI6lsAxjJbhAVkPcMELP8g4MEDK807byF+0Tpp7rCCTEFR1VrP xdoZ30JYWNjBd4ezzySQA2g1M2GaXZZQsSrycFTeOpoUIxn1CpKhkXtjuTPo2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FppXkuuDRvyCUt3FbFfZ63NmKPybKBZt2SOkXyv4dq0=; b=PGVq41eUNMAggZbQXXBs9AOj/JhflH58nUl06qL7Qz4hAcKU+KmWvolJL9QUM5phnI9vhV c95u+0+PbW9jAf/gruqDca417g8opmheKxrOHXvEbtxfwAUrY5iSc0+xGCTDnnNQgyKq36 oIld5nvPNsHuW3Co4myZk1IgcsdGEI0B6zpq5PcvZFRf7X5srwLthxJNc3bACvJEzxIGvV ZKu4Sl5uaMf0oMPNKkY9AJmUniNos4j3a6kM7yf/tyD88iFWDzaxQM0yE4I3Gfy4T6iBP2 95oIM9y4/MpXnIvOXb/eGt0UEpTTsAI5gFYCP2h6GtGVKlTAQOp1C6luv9oTbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390397; a=rsa-sha256; cv=none; b=EFBvdt0gAdPLQUgNrAwtoHJkIuj+wP4qE59ICmTzvaQhVZU0cp1UaYnqdMuDeBvNydNnfr Wwq6hDbLCVQMnXS2k1Oq277cUfoY0xrkmSVbp6PKEWJNT4BkY/MlsHJ3vsHDCMgVb0Nztu dw6U7LP9/jXCmBifckpA3Lk73UOEGAvvL0fks41c9zdtWvXild0HZycLdU0nm/9KVXLSU1 gFrAE0gF80EA8OhSsD0UtST3BuJh6UmXj4rQaeCeVy49wyeaPX47XnDdGytoR/70ORZdnc DK3KGftigMbarBcx8usg8BeVd/jJ+cM+DcjcQOWY0UrstUN1iF8ZPk1qQq1vAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGP5vckzj59; Thu, 31 Oct 2024 15:59:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VFxv7s056556; Thu, 31 Oct 2024 15:59:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VFxvLF056553; Thu, 31 Oct 2024 15:59:57 GMT (envelope-from git) Date: Thu, 31 Oct 2024 15:59:57 GMT Message-Id: <202410311559.49VFxvLF056553@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 8e9b6049b093 - stable/13 - ena: Add configuration notifications interface support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8e9b6049b09321cb8c4d488050310f34dfd4f3a7 Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=8e9b6049b09321cb8c4d488050310f34dfd4f3a7 commit 8e9b6049b09321cb8c4d488050310f34dfd4f3a7 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:18 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:19 +0000 ena: Add configuration notifications interface support This commit is part of the effort of notifying the user of non-optimal or performance impacting practices. A new interface is serving as a communication channel between the device and the driver. One of the goals of this channel is to create a new mechanism of notifying the driver and user in case of sub-optimal configuration using a bitmap. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 8cd86b51be4ab0fe70bad4830e608d56db5c850f) --- sys/dev/ena/ena.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 719dd4b58bae..c268c40d460c 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -2912,7 +2912,8 @@ ena_device_init(struct ena_adapter *adapter, device_t pdev, BIT(ENA_ADMIN_FATAL_ERROR) | BIT(ENA_ADMIN_WARNING) | BIT(ENA_ADMIN_NOTIFICATION) | - BIT(ENA_ADMIN_KEEP_ALIVE); + BIT(ENA_ADMIN_KEEP_ALIVE) | + BIT(ENA_ADMIN_CONF_NOTIFICATIONS); aenq_groups &= get_feat_ctx->aenq.supported_groups; rc = ena_com_set_aenq_config(ena_dev, aenq_groups); @@ -4042,11 +4043,38 @@ unimplemented_aenq_handler(void *adapter_data, "Unknown event was received or event with unimplemented handler\n"); } +static void ena_conf_notification(void *adapter_data, + struct ena_admin_aenq_entry *aenq_e) +{ + struct ena_adapter *adapter = (struct ena_adapter *)adapter_data; + struct ena_admin_aenq_conf_notifications_desc *desc; + u64 bitmap, bit; + + desc = (struct ena_admin_aenq_conf_notifications_desc *)aenq_e; + bitmap = desc->notifications_bitmap; + + if (bitmap == 0) { + ena_log(adapter->pdev, INFO, + "Empty configuration notification bitmap\n"); + return; + } + + for (bit = ffsll(bitmap); bit != 0; bit = ffsll(bitmap)) { + bit--; + ena_log(adapter->pdev, INFO, + "Sub-optimal configuration notification code: %" PRIu64 " Refer to AWS ENA documentation for additional details and mitigation options.\n", + bit + 1); + // Clear the processed bit + bitmap &= ~(1UL << bit); + } +} + static struct ena_aenq_handlers aenq_handlers = { .handlers = { [ENA_ADMIN_LINK_CHANGE] = ena_update_on_link_change, [ENA_ADMIN_NOTIFICATION] = ena_notification, [ENA_ADMIN_KEEP_ALIVE] = ena_keep_alive_wd, + [ENA_ADMIN_CONF_NOTIFICATIONS] = ena_conf_notification, }, .unimplemented_handler = unimplemented_aenq_handler }; From nobody Thu Oct 31 15:59:58 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGR3Vglz5bwWh; Thu, 31 Oct 2024 15:59: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGR1Ndkz4Nlr; Thu, 31 Oct 2024 15:59:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NiLWwxNLLhwzJtk4gSzy4SWYBHm6dGd+g56uG6fF+n0=; b=TOrJNogBw3IVme5QGbESwM4u/1r2d9Bb8InWqQjWnoJ50QYvamNeNkSUwrjCFEm4hPmuBD +SqMe0T1aelUVJRVrSNk1a8RFhd613P4xyu3pkVQgOKm118TIyWeTl5r+VrNmhd2LJaPxs GaDhH2PNuysGKmyuYKMnGPTbnJw6U1q/zoSONR7EyDqC+xHdFfLb6fatfBrAQXDytlkt5f +skEdP00prA+wjbLx5KTMaTxgnwFoODQFFRs4/IL8XMIQVBDbCIAftLFGdbX7BEEt+DhJ4 iBDRt2lMOT39d7Kfou8/sp3vIQOmY/4fSNY8nV7i7AIk1H26nB+pv4jHAw8dOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NiLWwxNLLhwzJtk4gSzy4SWYBHm6dGd+g56uG6fF+n0=; b=ZGDfIyA7ZxAMZrS9DgVGZ2vsvQAbX9eLFf4obIjcKS+GwNp7i684ym4FaVU407JbRO9s0/ IgNieW0V4Af59KEWjVKVORFemkt++amMLNsLx0Qn5RU++KsTaRKEHrJeewIk8sak2c2hey iebNCRSJn5kwIKXCO8S9COP6mNfO+IMz7Vfu+lvlv4SKnlyBugBe+7rLDkdbR/C9gvnC5u QJ8pwbesSaDI7/ooGibWv5w2q0I5HvG2rxooK4xVue5r5ddl/oz/b/HToLoUxAQWj65wmy 7xiG1gjZ1OKqSa3U+PYM/UJMYY5zVAPYJQiKiUzam/wNLf/sFXO05JozHs5vdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390399; a=rsa-sha256; cv=none; b=XA9wQ8wvCne+3dglO5sezuBuWDc8kXRInTUnWkXEfGklXvp852qZVa/manAAs0DSNrOak8 DHoHQyuKnJlbmol/o26MlzHgXzYKwz3hhT+zWNS7EFFWYjcizzDN1aNuMxuTRWMk/QcQut sOh0S1JfY2ZWtzPt3Se/KhDs9Y1oaKVe/+F/Wz8xLFCUsDu08XIZMqyR/vGjGzF9oX7EGb cVfbCRo2aUdDxDmh2wytsW05xfQSjEt0kjdfanUeOxUIhC6l49zssNDj2Bc6u3xC4cocbN 6bepHOCH+zBlvZPxAch9YTUaY0ei2W+vZ/DY+had9P4BONDeWvweUpV0xg1Zmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGR0BhLzjZZ; Thu, 31 Oct 2024 15:59:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VFxwRa056601; Thu, 31 Oct 2024 15:59:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VFxwiP056598; Thu, 31 Oct 2024 15:59:58 GMT (envelope-from git) Date: Thu, 31 Oct 2024 15:59:58 GMT Message-Id: <202410311559.49VFxwiP056598@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 7397e4db6c55 - stable/13 - ena: Update license signatures to 2024 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7397e4db6c5519a5974543596cb99348d3378bd1 Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=7397e4db6c5519a5974543596cb99348d3378bd1 commit 7397e4db6c5519a5974543596cb99348d3378bd1 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:18 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:19 +0000 ena: Update license signatures to 2024 This commit updates all the license signatures to 2024. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 8d6806cd08c093fc001db1f94cf122368b8d1549) --- share/man/man4/ena.4 | 2 +- sys/dev/ena/ena.c | 2 +- sys/dev/ena/ena.h | 2 +- sys/dev/ena/ena_datapath.c | 2 +- sys/dev/ena/ena_datapath.h | 2 +- sys/dev/ena/ena_netmap.c | 2 +- sys/dev/ena/ena_netmap.h | 2 +- sys/dev/ena/ena_rss.c | 2 +- sys/dev/ena/ena_rss.h | 2 +- sys/dev/ena/ena_sysctl.c | 2 +- sys/dev/ena/ena_sysctl.h | 2 +- sys/modules/ena/Makefile | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/share/man/man4/ena.4 b/share/man/man4/ena.4 index 4f3d03745467..ab1db7e55b9d 100644 --- a/share/man/man4/ena.4 +++ b/share/man/man4/ena.4 @@ -1,6 +1,6 @@ .\" SPDX-License-Identifier: BSD-2-Clause .\" -.\" Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. +.\" Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index c268c40d460c..2da8a4984921 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 3e42568ba8a9..be55f63bdb7b 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index f93b5fc6bd48..2f3bc72d8760 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_datapath.h b/sys/dev/ena/ena_datapath.h index 43292b5abbe9..9edf54fe502a 100644 --- a/sys/dev/ena/ena_datapath.h +++ b/sys/dev/ena/ena_datapath.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index 27e306c5a2ac..0d0b7b6a1cf2 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_netmap.h b/sys/dev/ena/ena_netmap.h index 598fcf1f08b2..4ee8338e4009 100644 --- a/sys/dev/ena/ena_netmap.h +++ b/sys/dev/ena/ena_netmap.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_rss.c b/sys/dev/ena/ena_rss.c index 41fa9c62f94a..b7706e33065d 100644 --- a/sys/dev/ena/ena_rss.c +++ b/sys/dev/ena/ena_rss.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_rss.h b/sys/dev/ena/ena_rss.h index 1c1c89261b35..64dd41851fec 100644 --- a/sys/dev/ena/ena_rss.h +++ b/sys/dev/ena/ena_rss.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index ea651837ebb6..a94bcbccdc98 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_sysctl.h b/sys/dev/ena/ena_sysctl.h index 4f5834214005..df9cc8cb592f 100644 --- a/sys/dev/ena/ena_sysctl.h +++ b/sys/dev/ena/ena_sysctl.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/modules/ena/Makefile b/sys/modules/ena/Makefile index f8b71588afa1..bfa4cf6da430 100644 --- a/sys/modules/ena/Makefile +++ b/sys/modules/ena/Makefile @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: BSD-2-Clause # -# Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. +# Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. # All rights reserved. # # Redistribution and use in source and binary forms, with or without From nobody Thu Oct 31 16:00:00 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGS46z4z5bwjN; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGS2Cd8z4Nrl; Thu, 31 Oct 2024 16:00:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KkioklgRerDFIvhG2LXOIqInSABWRDA0QxUgs3j4u0A=; b=QxjSjKPSiZE3D5auZtvYto2eVTNuxBt6+gDVWxSSc75bqLGjZs3XOjqTsz4mqyqSavrVVw COdct6zZaKCmzpZ0G4zJMoVpuYqcAtm12SMZc6fiw4Og++aNEAJPZdmSU75vvhlUbCYOq5 R5g12AhwDx/RUdFbJglEpWtKV7JfpOlZf/n95FH/d+MkE/w7SSZqQoGQRBaTWDCFcKljb2 hS2pRUst3jJDKRdSyfPnb+5/m3OdhEizLNCgkbHgNey04XmkYL+Xn1LS8O4qZV6WXcBwGv W6yvvynW6pYIxmYeJgDtJHEYw11ZqW89N+T+GiA7CzLRuJiN0ooWyltweBoKNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KkioklgRerDFIvhG2LXOIqInSABWRDA0QxUgs3j4u0A=; b=Fy4Kq9eanhHYqrgLuYsU6q77qkPwGiz5KVjClyF3w4tk+YfCPZQ/PtPGKtCngQQqBJRG5G TACMRDf9W9GUat4rCXl4GgMprNlPluMPpHjqA8hZZBxjT7TmT8KRhKeVPG3Zq/q3sju2OI V+DsTl76//FGEKQx8bwevTpBcACS1XyeQjtMgN3c+z1x3J1yAYABqQSrBAXmGkzC3JraDf WfMVIi8mPbt26dy1oVwl+AcO/eme0NzB110SFSfH98Xt6kguaZ33kfaGM7uNFL6EamnBi8 eih/agOVJBPEvyBu0tXylIJklvOgVY8ea6szcMwk0dSWQc9Y9YIQ849AdWGqvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390400; a=rsa-sha256; cv=none; b=aj3iiOE4/raWvcg6NWz07RK6hUe2dQMLDAmakEV7rtz6SJuZFVxyS32l42RRo3TrIeTLA+ 6ZyaMMiB7FjCrOWUW9zH2+6wvCkLohLOK2ahVDpzaXp26cCZb0l5xyNi0FmfLw24c7+5W0 ueOCE1f+S73WczDTpfMehP5NF762SCebJg+p9Fgk0DV6045gGWDC3NJnXep2i5NFQVKV7x 2dNvFVer60LB5XibEgunjb4nb7r8so9KC13Yev0c02KfZ6MAaZ7oKLwUeH4EAq9oBnzAtC 6ESoTirknuo5eiTFBROtybgQK56HOZE1sDoaKmHloDeMqHcH5sDcnSN+n+bZ1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGS12Hlzj7S; Thu, 31 Oct 2024 16:00:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG00Ne056721; Thu, 31 Oct 2024 16:00:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG00mj056712; Thu, 31 Oct 2024 16:00:00 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:00 GMT Message-Id: <202410311600.49VG00mj056712@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: d7eb2cd9b880 - stable/13 - ena: Improve reset reason statistics List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d7eb2cd9b880d9dbfce68d9ddbc30c321e6118ba Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=d7eb2cd9b880d9dbfce68d9ddbc30c321e6118ba commit d7eb2cd9b880d9dbfce68d9ddbc30c321e6118ba Author: Osama Abboud AuthorDate: 2024-08-07 06:24:19 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:19 +0000 ena: Improve reset reason statistics The driver uses different reset reasons. Some of them are counted and presented in the driver statistics. There are cases where statistics are counted on a ring level, but these are zeroed after a reset procedure takes place. This commit makes the following changes: 1. Add statistics for the unrepresented reset reasons. 2. Add reset reasons which are counted on a ring level, to be also global for better tracking. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 89ce3f6314f6feba0e6626be51832d44df611218) --- sys/dev/ena/ena.c | 2 -- sys/dev/ena/ena.h | 42 ++++++++++++++++++++++++++++++++++++++++++ sys/dev/ena/ena_sysctl.c | 16 ++++++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 2da8a4984921..3f938fe8f619 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3015,7 +3015,6 @@ check_for_missing_keep_alive(struct ena_adapter *adapter) time = getsbinuptime() - timestamp; if (unlikely(time > adapter->keep_alive_timeout)) { ena_log(adapter->pdev, ERR, "Keep alive watchdog timeout.\n"); - counter_u64_add(adapter->dev_stats.wd_expired, 1); ena_trigger_reset(adapter, ENA_REGS_RESET_KEEP_ALIVE_TO); } } @@ -3027,7 +3026,6 @@ check_for_admin_com_state(struct ena_adapter *adapter) if (unlikely(ena_com_get_admin_running_state(adapter->ena_dev) == false)) { ena_log(adapter->pdev, ERR, "ENA admin queue is not in running state!\n"); - counter_u64_add(adapter->dev_stats.admin_q_pause, 1); ena_trigger_reset(adapter, ENA_REGS_RESET_ADMIN_TO); } } diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index be55f63bdb7b..4ac79edd0016 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -381,6 +381,14 @@ struct ena_stats_dev { counter_u64_t interface_up; counter_u64_t interface_down; counter_u64_t admin_q_pause; + counter_u64_t total_resets; + counter_u64_t os_trigger; + counter_u64_t missing_tx_cmpl; + counter_u64_t bad_rx_req_id; + counter_u64_t bad_tx_req_id; + counter_u64_t bad_rx_desc_num; + counter_u64_t invalid_state; + counter_u64_t missing_intr; }; struct ena_hw_stats { @@ -519,6 +527,29 @@ struct ena_adapter { extern struct sx ena_global_lock; +#define ENA_RESET_STATS_ENTRY(reset_reason, stat) \ + [reset_reason] = { \ + .stat_offset = offsetof(struct ena_stats_dev, stat) / sizeof(u64), \ + .has_counter = true \ +} + +struct ena_reset_stats_offset { + int stat_offset; + bool has_counter; +}; + +static const struct ena_reset_stats_offset resets_to_stats_offset_map[ENA_REGS_RESET_LAST] = { + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_KEEP_ALIVE_TO, wd_expired), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_ADMIN_TO, admin_q_pause), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_OS_TRIGGER, os_trigger), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISS_TX_CMPL, missing_tx_cmpl), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_INV_RX_REQ_ID, bad_rx_req_id), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_INV_TX_REQ_ID, bad_tx_req_id), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_TOO_MANY_RX_DESCS, bad_rx_desc_num), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_DRIVER_INVALID_STATE, invalid_state), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISS_INTERRUPT, missing_intr), +}; + int ena_up(struct ena_adapter *adapter); void ena_down(struct ena_adapter *adapter); int ena_restore_device(struct ena_adapter *adapter); @@ -547,6 +578,17 @@ ena_trigger_reset(struct ena_adapter *adapter, enum ena_regs_reset_reason_types reset_reason) { if (likely(!ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))) { + const struct ena_reset_stats_offset *ena_reset_stats_offset = + &resets_to_stats_offset_map[reset_reason]; + + if (ena_reset_stats_offset->has_counter) { + uint64_t *stat_ptr = (uint64_t *)&adapter->dev_stats + + ena_reset_stats_offset->stat_offset; + + counter_u64_add((counter_u64_t)(*stat_ptr), 1); + } + + counter_u64_add(adapter->dev_stats.total_resets, 1); adapter->reset_reason = reset_reason; ENA_FLAG_SET_ATOMIC(ENA_FLAG_TRIGGER_RESET, adapter); } diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index a94bcbccdc98..6eafe2a8c052 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -280,6 +280,22 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) "Network interface down count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "admin_q_pause", CTLFLAG_RD, &dev_stats->admin_q_pause, "Admin queue pauses"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "os_trigger", CTLFLAG_RD, + &dev_stats->os_trigger, "OS trigger count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "missing_tx_cmpl", CTLFLAG_RD, + &dev_stats->missing_tx_cmpl, "Missing TX completions resets count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "bad_rx_req_id", CTLFLAG_RD, + &dev_stats->bad_rx_req_id, "Bad RX req id count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "bad_tx_req_id", CTLFLAG_RD, + &dev_stats->bad_tx_req_id, "Bad TX req id count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "bad_rx_desc_num", CTLFLAG_RD, + &dev_stats->bad_rx_desc_num, "Bad RX descriptors number count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "invalid_state", CTLFLAG_RD, + &dev_stats->invalid_state, "Driver invalid state count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "missing_intr", CTLFLAG_RD, + &dev_stats->missing_intr, "Missing interrupt count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "total_resets", CTLFLAG_RD, + &dev_stats->total_resets, "Total resets count"); for (i = 0; i < adapter->num_io_queues; ++i, ++tx_ring, ++rx_ring) { snprintf(namebuf, QUEUE_NAME_LEN, "queue%d", i); From nobody Thu Oct 31 16:00:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGT5vltz5bwcK; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGT2RYxz4Nm7; Thu, 31 Oct 2024 16:00:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UGPP6ihVnZIecRZnWTqWXziWVXi98QQ2fqYySgRhzcA=; b=KLw22/7A6DietQ5O1g1jNZnM2Tb++cNmPGXmz/554kSlbA6SHYgXBnHoRbmVPfIGAnYO3W iKA2SyiV63PUcU2JteLjeAUbMXY5DZ+ewnyahvg5hI9SxPbXj64hmBo2gbf1BvG5PS9dk0 y68D11Zg4E8wDEKN+HG5nJEDgg1+HQTiZgUzlcBV+O06hx0e4aGHZo3FZX81frwCyxQ9vi 21R24fXIrRnYRhKmG+/ljuqFYZLTDtAe4RaFMixjClDrcVgnj/5OtDEnkpAt1/8zZgNxsW yTiAB2OsRBir48GXAxmSUSiHCS5KBdN3oqpKwEXnDk+U04Tk58wg4j7Tn9xNiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UGPP6ihVnZIecRZnWTqWXziWVXi98QQ2fqYySgRhzcA=; b=AiNcLyopLRfU2nhA6AhrJrhqWIZ/Lkf1ZFxhOXL9SbAxrk3rXY1GlQ5+JvcPBL4I9iAHYV Dakv+UI+SCcXIF73xcaAlxLsDzl/yrgqEg1YJNlc9opEmEOGi/z91qW3MDlPwsPAYogCMq gdcoLgjWQ350i4LMVNIhHhSIKv2Glxvpzqkezpagm2Ee4GyQ5fi+qaOcjATUz2xntiZDq6 s9XAV8W7Z4ixwDR/cxfqMpEE4ylX49XEF1CjiEOdqalJycJj4Ov3PuOmtYC5PRfR1/MOBJ +b8X2o/2pQbIWzGjIJE/iPIjJlhfMveUtTKHexZX+XlVOE6tQm+//OU+2gDEPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390401; a=rsa-sha256; cv=none; b=iItayS2C8MjD9XjQQ5LMvvLEKuE1ywYbjSpxipE8QQ982mkCSX15lY2oZC7S07kKlRASUM BnY6qYObpRFzTZYib7GsOQsK94t4c/kRY96vd1aeAzW/jIbSYdh2nP1eJLIIqfz9p+dW0m MDIXe5GS5+p2G9Hults7DvV3MiXpkz1Cs+gQbUHOKT/v6hnbx0MnO6mNZeT2TEHidt3fzT cCNeXc3ut1t0D14Jf3N+YMLxCaTDV0G5mbPnNbk5sKPvwbavHKeMzmrGimJPuB92B6bRdl 6TL/6WrDc1ygQWQAUz0qQLSIswBl1miXl9lB1VZDQdB94iZuZwfXsLLJOs9uXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGT1YZJzj5D; Thu, 31 Oct 2024 16:00:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG01e6058855; Thu, 31 Oct 2024 16:00:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG01HN058845; Thu, 31 Oct 2024 16:00:01 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:01 GMT Message-Id: <202410311600.49VG01HN058845@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: a5b6e4509b4f - stable/13 - ena: Add reset reason for corrupted TX cdescs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a5b6e4509b4f21069e94227080ff423194bb5672 Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=a5b6e4509b4f21069e94227080ff423194bb5672 commit a5b6e4509b4f21069e94227080ff423194bb5672 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:19 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:19 +0000 ena: Add reset reason for corrupted TX cdescs TX completion descriptors may sometimes contain errors due to corruption. Upon identifying such a case, the driver will trigger a reset with an explicit reset reason ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 38727218460008a500fbc18f08c90082ed678895) --- sys/dev/ena/ena.c | 26 ++++++++++++++++++++++++++ sys/dev/ena/ena.h | 3 +++ sys/dev/ena/ena_datapath.c | 27 ++++++++++----------------- sys/dev/ena/ena_netmap.c | 38 ++++++++++++++------------------------ sys/dev/ena/ena_sysctl.c | 2 ++ 5 files changed, 55 insertions(+), 41 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 3f938fe8f619..32c93de821a3 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -560,6 +560,32 @@ ena_free_rx_dma_tag(struct ena_adapter *adapter) return (ret); } +int +validate_tx_req_id(struct ena_ring *tx_ring, uint16_t req_id, int tx_req_id_rc) +{ + struct ena_adapter *adapter = tx_ring->adapter; + enum ena_regs_reset_reason_types reset_reason = ENA_REGS_RESET_INV_TX_REQ_ID; + + if (unlikely(tx_req_id_rc != 0)) { + if (tx_req_id_rc == ENA_COM_FAULT) { + reset_reason = ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED; + ena_log(adapter->pdev, ERR, + "TX descriptor malformed. req_id %hu qid %hu\n", + req_id, tx_ring->qid); + } else if (tx_req_id_rc == ENA_COM_INVAL) { + ena_log_nm(adapter->pdev, WARN, + "Invalid req_id %hu in qid %hu\n", + req_id, tx_ring->qid); + counter_u64_add(tx_ring->tx_stats.bad_req_id, 1); + } + + ena_trigger_reset(adapter, reset_reason); + return (EFAULT); + } + + return (0); +} + static void ena_release_all_tx_dmamap(struct ena_ring *tx_ring) { diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 4ac79edd0016..22c42a9346f7 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -389,6 +389,7 @@ struct ena_stats_dev { counter_u64_t bad_rx_desc_num; counter_u64_t invalid_state; counter_u64_t missing_intr; + counter_u64_t tx_desc_malformed; }; struct ena_hw_stats { @@ -548,6 +549,7 @@ static const struct ena_reset_stats_offset resets_to_stats_offset_map[ENA_REGS_R ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_TOO_MANY_RX_DESCS, bad_rx_desc_num), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_DRIVER_INVALID_STATE, invalid_state), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISS_INTERRUPT, missing_intr), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED, tx_desc_malformed), }; int ena_up(struct ena_adapter *adapter); @@ -562,6 +564,7 @@ int ena_update_queue_size(struct ena_adapter *adapter, uint32_t new_tx_size, int ena_update_io_queue_nb(struct ena_adapter *adapter, uint32_t new_num); int ena_update_base_cpu(struct ena_adapter *adapter, int new_num); int ena_update_cpu_stride(struct ena_adapter *adapter, uint32_t new_num); +int validate_tx_req_id(struct ena_ring *tx_ring, uint16_t req_id, int tx_req_id_rc); static inline int ena_mbuf_count(struct mbuf *mbuf) { diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index 2f3bc72d8760..e85d29d7f278 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -200,29 +200,22 @@ ena_get_tx_req_id(struct ena_ring *tx_ring, struct ena_com_io_cq *io_cq, uint16_t *req_id) { struct ena_adapter *adapter = tx_ring->adapter; - int rc; + int rc = ena_com_tx_comp_req_id_get(io_cq, req_id); - rc = ena_com_tx_comp_req_id_get(io_cq, req_id); - if (rc == ENA_COM_TRY_AGAIN) + if (unlikely(rc == ENA_COM_TRY_AGAIN)) return (EAGAIN); - if (unlikely(rc != 0)) { - ena_log(adapter->pdev, ERR, "Invalid req_id %hu in qid %hu\n", + rc = validate_tx_req_id(tx_ring, *req_id, rc); + + if (unlikely(tx_ring->tx_buffer_info[*req_id].mbuf == NULL)) { + ena_log(adapter->pdev, ERR, + "tx_info doesn't have valid mbuf. req_id %hu qid %hu\n", *req_id, tx_ring->qid); - counter_u64_add(tx_ring->tx_stats.bad_req_id, 1); - goto err; + ena_trigger_reset(adapter, ENA_REGS_RESET_INV_TX_REQ_ID); + rc = EFAULT; } - if (tx_ring->tx_buffer_info[*req_id].mbuf != NULL) - return (0); - - ena_log(adapter->pdev, ERR, - "tx_info doesn't have valid mbuf. req_id %hu qid %hu\n", - *req_id, tx_ring->qid); -err: - ena_trigger_reset(adapter, ENA_REGS_RESET_INV_TX_REQ_ID); - - return (EFAULT); + return (rc); } /** diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index 0d0b7b6a1cf2..fb2c5cb21e6d 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -71,7 +71,6 @@ static void ena_netmap_unmap_last_socket_chain(struct ena_netmap_ctx *, struct ena_tx_buffer *); static void ena_netmap_tx_cleanup(struct ena_netmap_ctx *); static uint16_t ena_netmap_tx_clean_one(struct ena_netmap_ctx *, uint16_t); -static inline int validate_tx_req_id(struct ena_ring *, uint16_t); static int ena_netmap_rx_frames(struct ena_netmap_ctx *); static int ena_netmap_rx_frame(struct ena_netmap_ctx *); static int ena_netmap_rx_load_desc(struct ena_netmap_ctx *, uint16_t, int *); @@ -795,25 +794,33 @@ ena_netmap_unmap_last_socket_chain(struct ena_netmap_ctx *ctx, static void ena_netmap_tx_cleanup(struct ena_netmap_ctx *ctx) { + struct ena_ring *tx_ring = ctx->ring; + int rc; uint16_t req_id; uint16_t total_tx_descs = 0; ctx->nm_i = ctx->kring->nr_hwtail; - ctx->nt = ctx->ring->next_to_clean; + ctx->nt = tx_ring->next_to_clean; /* Reclaim buffers for completed transmissions */ - while (ena_com_tx_comp_req_id_get(ctx->io_cq, &req_id) >= 0) { - if (validate_tx_req_id(ctx->ring, req_id) != 0) + do { + rc = ena_com_tx_comp_req_id_get(ctx->io_cq, &req_id); + if(unlikely(rc == ENA_COM_TRY_AGAIN)) break; + + rc = validate_tx_req_id(tx_ring, req_id, rc); + if(unlikely(rc != 0)) + break; + total_tx_descs += ena_netmap_tx_clean_one(ctx, req_id); - } + } while (1); ctx->kring->nr_hwtail = ctx->nm_i; if (total_tx_descs > 0) { /* acknowledge completion of sent packets */ - ctx->ring->next_to_clean = ctx->nt; - ena_com_comp_ack(ctx->ring->ena_com_io_sq, total_tx_descs); + tx_ring->next_to_clean = ctx->nt; + ena_com_comp_ack(tx_ring->ena_com_io_sq, total_tx_descs); } } @@ -856,23 +863,6 @@ ena_netmap_tx_clean_one(struct ena_netmap_ctx *ctx, uint16_t req_id) return tx_info->tx_descs; } -static inline int -validate_tx_req_id(struct ena_ring *tx_ring, uint16_t req_id) -{ - struct ena_adapter *adapter = tx_ring->adapter; - - if (likely(req_id < tx_ring->ring_size)) - return (0); - - ena_log_nm(adapter->pdev, WARN, "Invalid req_id %hu in qid %hu\n", - req_id, tx_ring->qid); - counter_u64_add(tx_ring->tx_stats.bad_req_id, 1); - - ena_trigger_reset(adapter, ENA_REGS_RESET_INV_TX_REQ_ID); - - return (EFAULT); -} - static int ena_netmap_rxsync(struct netmap_kring *kring, int flags) { diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index 6eafe2a8c052..71c25dd5e443 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -294,6 +294,8 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &dev_stats->invalid_state, "Driver invalid state count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "missing_intr", CTLFLAG_RD, &dev_stats->missing_intr, "Missing interrupt count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "tx_desc_malformed", CTLFLAG_RD, + &dev_stats->tx_desc_malformed, "TX descriptors malformed count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "total_resets", CTLFLAG_RD, &dev_stats->total_resets, "Total resets count"); From nobody Thu Oct 31 16:00:02 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGV4t76z5bwWq; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGV2ZKJz4Ns1; Thu, 31 Oct 2024 16:00:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J2ETY6Jcr87HcS8GGOmCkVcfcvcms0SJC8md0nk+TU0=; b=dkhb6ZZ4W1TGA+k0TdrgspApRDT+c5CM23dkXRJZUByXDK6pjhfjkobWfnL3Caz/sueMDJ nm35OdRCGjJAa31wmIfVB4iOUZnAasF9Y6YlL14Tz7tnDRu9zAPr4HEC7PoxqJ3WHPQDIR KZDTvIv+rmJ97AXmnUsu+oczXJu5PSxSjZQjbnPPmymxDibbq4uU2P4IoSidkgBOBdDhkr Fsm4qQmBsecNRbx90nBwuQiik7XygEFSYAgwifgLTKqW4L8UakTEs/4lmPKy1nBlttR3Gl kaNriJCfNBjbk188pMqiYsc0Kj2jvBiXHPi047x33+5FXldT6pfupN5ZH8FUrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J2ETY6Jcr87HcS8GGOmCkVcfcvcms0SJC8md0nk+TU0=; b=As9VvkXpyN8Y9oE5jMT2dSGhMu25IkTC7Dw8Ij/vH41pMfn4RErhq3sZQRtlPkRmJ0oeSL iTQKOC9CiecMxgDgS7jXaszbqPvz9IYsOai5XkWacvrUyFyUmsXLHeiUR0cuiRnQcAgKpY 0CqQ9o21r9ACK11qBmEmRDz27jK3EqgLoZQZuqzAzBJLZMVxgh4YsMU33qnach4Nwxc7k0 oK6rhgiqP5cjz7cXIoL2HrkoW475fJSzW7zrTIdOLMgVvw2km8wVI0yZFxzI1jPx+PokwF o+4bgTGAXrCdgSjjT0xnNu3YOrkd3HLWSKD37aQKq4sCw83B3W1RKC2dDIc++w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390402; a=rsa-sha256; cv=none; b=VqsuRqV+0iQLwfecxMPoNHPql7CcIYr6f8vwFFHELvhR9S8zajsKRBksS2PFu3El8heozN +VcVfM8rZTf7day3UOsEGIog+xUbogukxMO0+Wsx8zIuiXnAL/DV6uO+q7qhGq5a4mOhss sNVJAOtW3uwCHbtLy+EULPe5hV+ST51DokLEWNLjeyA9bQCQWhTSI6JIM0a8rlaAleK2rQ WTz+yp9RC7mFZWEPCJjteYukskL138ylWlzm2d6y8Hg2eqMSXMWIz4+iO6jYS2n5UdkRdl RK++cPVEdqMEcay/6byX2lIoaoxldAhLjSW73bMozZEiVZ5CFsANWPYjtIzM9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGV28fjzj7T; Thu, 31 Oct 2024 16:00:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG027B059469; Thu, 31 Oct 2024 16:00:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG02Su059462; Thu, 31 Oct 2024 16:00:02 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:02 GMT Message-Id: <202410311600.49VG02Su059462@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: cd8c576d69d0 - stable/13 - ena: Add reset reason for corrupted RX cdescs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cd8c576d69d023af394a459c293cd1e13465920e Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=cd8c576d69d023af394a459c293cd1e13465920e commit cd8c576d69d023af394a459c293cd1e13465920e Author: Osama Abboud AuthorDate: 2024-08-07 06:24:19 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:19 +0000 ena: Add reset reason for corrupted RX cdescs RX completion descriptors may sometimes contain errors due to corruption. Upon identifying such a case, the driver will trigger a reset with an explicit reset reason ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 4af71159db3cd4a37055b2b3d982ec53703c5c3d) --- sys/dev/ena/ena.h | 2 ++ sys/dev/ena/ena_datapath.c | 2 ++ sys/dev/ena/ena_netmap.c | 2 ++ sys/dev/ena/ena_sysctl.c | 2 ++ 4 files changed, 8 insertions(+) diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 22c42a9346f7..b747736224d8 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -390,6 +390,7 @@ struct ena_stats_dev { counter_u64_t invalid_state; counter_u64_t missing_intr; counter_u64_t tx_desc_malformed; + counter_u64_t rx_desc_malformed; }; struct ena_hw_stats { @@ -550,6 +551,7 @@ static const struct ena_reset_stats_offset resets_to_stats_offset_map[ENA_REGS_R ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_DRIVER_INVALID_STATE, invalid_state), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISS_INTERRUPT, missing_intr), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED, tx_desc_malformed), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED, rx_desc_malformed), }; int ena_up(struct ena_adapter *adapter); diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index e85d29d7f278..831189006f15 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -599,6 +599,8 @@ ena_rx_cleanup(struct ena_ring *rx_ring) counter_u64_add(rx_ring->rx_stats.bad_desc_num, 1); reset_reason = ENA_REGS_RESET_TOO_MANY_RX_DESCS; + } else if (rc == ENA_COM_FAULT) { + reset_reason = ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED; } else { counter_u64_add(rx_ring->rx_stats.bad_req_id, 1); diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index fb2c5cb21e6d..54c8269be3b2 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -938,6 +938,8 @@ ena_netmap_rx_frame(struct ena_netmap_ctx *ctx) if (rc == ENA_COM_NO_SPACE) { counter_u64_add(ctx->ring->rx_stats.bad_desc_num, 1); reset_reason = ENA_REGS_RESET_TOO_MANY_RX_DESCS; + } else if (rc == ENA_COM_FAULT) { + reset_reason = ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED; } else { counter_u64_add(ctx->ring->rx_stats.bad_req_id, 1); reset_reason = ENA_REGS_RESET_INV_RX_REQ_ID; diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index 71c25dd5e443..e46e835572fe 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -296,6 +296,8 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &dev_stats->missing_intr, "Missing interrupt count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "tx_desc_malformed", CTLFLAG_RD, &dev_stats->tx_desc_malformed, "TX descriptors malformed count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "rx_desc_malformed", CTLFLAG_RD, + &dev_stats->rx_desc_malformed, "RX descriptors malformed count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "total_resets", CTLFLAG_RD, &dev_stats->total_resets, "Total resets count"); From nobody Thu Oct 31 16:00:03 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGW5xhZz5bwZ3; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGW3SvQz4Nvw; Thu, 31 Oct 2024 16:00:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BqJRVXk86QDemWptmP8yLXyq7EqxR643mPqENf0VKFs=; b=YFjblfjt7E5Tq7S6GX7vb6O7PPQHngdFUOcMSv7yD+TzFWJf+bPWThyI1BJkKbCIFe4zni G9zSazIo1DtRJSi7eOya21r8hdtBIxhc0R3m47jGBlNEcWhFpHltSo1Z+l/yHwrUiPp4U2 TwH18KsnT2cTXIr4BmuKfhQVSbicmtOM9MBuGzWOD3Luxuk2+WrKlgvhqhKaAWHX0KzIQy 4aQqqJI81jNc7vVtbYEFwHxRQ+jkderNJq2pIggPzAABJppRQwPa6NftW6tRB9uD0IpxA4 ms813VP7vhd5MZCmYv7XsSpvI7Hq3y+vonNj6AIG+K4u89UuO9Rotg7F5tOpOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BqJRVXk86QDemWptmP8yLXyq7EqxR643mPqENf0VKFs=; b=fYlEzeYDjuXB1zNSPCPqFyvFeEBWCKwMNfo+7CMbTqoNU6NZ3PnDtdA+0afAH2V7wD9gVt 7fpFBLprv1eI9qlpEPfkQiISddnRwSCTsSbEGly28Me4dJy3FlovqflfKDowslEriWNMYD qVckJSXe1dbKRcEfGQJPF2kpMHtHSAxibPy2Rz4fIbUBKx4/Q+1Cwwg5eRfsYQ19iWPk7z 8cRX7wwGuPQH09SBJlyK5iyasa1n9p5HxWQBZceHx+A597PzuZbjRoW0LWt7M0xRncw+iA uERFSW+vvxV4Q+mUAq8NzzbXfGmjg4ij8OKpRqsNV8PXKtcQLjU414abiqO2Zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390403; a=rsa-sha256; cv=none; b=LV4Q1E54hWeFzWNP4pcwwAXpYc6GJPAPPPhAc1aXlPZ0RtUM9+a5Tne07lE3kgMqlDnUhE tnZ1jnnh+cUnGW6NkLzaLi10KBdtSmwltGiqyF2q44azizk4yAt3GYq8HxBYbua7JkCoK1 UrMAv2ICUuGTrLcr/3uvE2MXTkF9v9JLiHjhQsh1jMNr0kqCajNOKCc5t59xFRzm/S7tRH ewoBvTqrcoLZODoZ4EdKwJC5all6NIpATZFK8rtpmFPLp9GpENsArX1RiMoTNcT91jmj3f xwcqwq93QfeIYg4tjM3c7sTzRBefmYpZnlsld+NQUQQSgp3yLWWm3ADgOk/R/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 4XfTGW32DfzjV5; Thu, 31 Oct 2024 16:00:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG03jb060088; Thu, 31 Oct 2024 16:00:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG03jo060081; Thu, 31 Oct 2024 16:00:03 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:03 GMT Message-Id: <202410311600.49VG03jo060081@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 298e32773ff2 - stable/13 - ena: Add reset reason for missing admin interrupt List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 298e32773ff2fd1652a668ae56f38df03c61a946 Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=298e32773ff2fd1652a668ae56f38df03c61a946 commit 298e32773ff2fd1652a668ae56f38df03c61a946 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:19 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:20 +0000 ena: Add reset reason for missing admin interrupt There can be cases when we trigger reset if an admin interrupt is missing. In order to identify this use-case specifically, this commit adds a new reset reason. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 274319acb48424958242d55e1b0c7d4528da7f70) --- sys/dev/ena/ena.c | 13 +++++++++++-- sys/dev/ena/ena.h | 5 ++++- sys/dev/ena/ena_sysctl.c | 4 ++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 32c93de821a3..a895ede8226f 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3030,6 +3030,7 @@ static void check_for_missing_keep_alive(struct ena_adapter *adapter) { sbintime_t timestamp, time; + enum ena_regs_reset_reason_types reset_reason = ENA_REGS_RESET_KEEP_ALIVE_TO; if (adapter->wd_active == 0) return; @@ -3041,7 +3042,10 @@ check_for_missing_keep_alive(struct ena_adapter *adapter) time = getsbinuptime() - timestamp; if (unlikely(time > adapter->keep_alive_timeout)) { ena_log(adapter->pdev, ERR, "Keep alive watchdog timeout.\n"); - ena_trigger_reset(adapter, ENA_REGS_RESET_KEEP_ALIVE_TO); + if (ena_com_aenq_has_keep_alive(adapter->ena_dev)) + reset_reason = ENA_REGS_RESET_MISSING_ADMIN_INTERRUPT; + + ena_trigger_reset(adapter, reset_reason); } } @@ -3049,10 +3053,15 @@ check_for_missing_keep_alive(struct ena_adapter *adapter) static void check_for_admin_com_state(struct ena_adapter *adapter) { + enum ena_regs_reset_reason_types reset_reason = ENA_REGS_RESET_ADMIN_TO; if (unlikely(ena_com_get_admin_running_state(adapter->ena_dev) == false)) { ena_log(adapter->pdev, ERR, "ENA admin queue is not in running state!\n"); - ena_trigger_reset(adapter, ENA_REGS_RESET_ADMIN_TO); + counter_u64_add(adapter->dev_stats.admin_q_pause, 1); + if (ena_com_get_missing_admin_interrupt(adapter->ena_dev)) + reset_reason = ENA_REGS_RESET_MISSING_ADMIN_INTERRUPT; + + ena_trigger_reset(adapter, reset_reason); } } diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index b747736224d8..1a436a702ba1 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -391,6 +391,8 @@ struct ena_stats_dev { counter_u64_t missing_intr; counter_u64_t tx_desc_malformed; counter_u64_t rx_desc_malformed; + counter_u64_t missing_admin_interrupt; + counter_u64_t admin_to; }; struct ena_hw_stats { @@ -542,7 +544,7 @@ struct ena_reset_stats_offset { static const struct ena_reset_stats_offset resets_to_stats_offset_map[ENA_REGS_RESET_LAST] = { ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_KEEP_ALIVE_TO, wd_expired), - ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_ADMIN_TO, admin_q_pause), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_ADMIN_TO, admin_to), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_OS_TRIGGER, os_trigger), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISS_TX_CMPL, missing_tx_cmpl), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_INV_RX_REQ_ID, bad_rx_req_id), @@ -552,6 +554,7 @@ static const struct ena_reset_stats_offset resets_to_stats_offset_map[ENA_REGS_R ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISS_INTERRUPT, missing_intr), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED, tx_desc_malformed), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED, rx_desc_malformed), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISSING_ADMIN_INTERRUPT, missing_admin_interrupt), }; int ena_up(struct ena_adapter *adapter); diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index e46e835572fe..c711ecf66d7a 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -298,6 +298,10 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &dev_stats->tx_desc_malformed, "TX descriptors malformed count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "rx_desc_malformed", CTLFLAG_RD, &dev_stats->rx_desc_malformed, "RX descriptors malformed count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "missing_admin_interrupt", CTLFLAG_RD, + &dev_stats->missing_admin_interrupt, "Missing admin interrupts count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "admin_to", CTLFLAG_RD, + &dev_stats->admin_to, "Admin queue timeouts count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "total_resets", CTLFLAG_RD, &dev_stats->total_resets, "Total resets count"); From nobody Thu Oct 31 16:00:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGY1Hjtz5bwl7; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGX5kd9z4NsL; Thu, 31 Oct 2024 16:00:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SG0JZNdYlDqozurAD7R6V2c/ZmcbQZ6qi5KxOf9KdR4=; b=DUVb7BuNqEh2+KBpGa+kdolvyJOOykiHyhMY8HWlg8lmKg/qa/s9Tn7yZZD9R7AeZ8Ud8W ikp8an9ZmPYiL+4/0RUpCa52RNS3F1jw5rGPwXDYfc49U0WyFTafFQBZBxqGhYDSS8vz9z kmABg8I9mmN72JibvzGfaqaDgl9a0sDfwoNvs+RNMZJ3JE8Yu+G1e5Ypv/J8ZU1bmofd0z gHr/VoehwnqJTlBsDlDwtCwpKI9Rm57UFbwc1tj62cNOOfcc1fFL1qJdZtmsL8SHXSMw/b NSSYk2Gk2COlNvlLnpZNdRZ6vMhiVPSDugaaoembybctVS9E+LOs7A0r1qSseQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SG0JZNdYlDqozurAD7R6V2c/ZmcbQZ6qi5KxOf9KdR4=; b=TmTVRRLr7xclg74M/JMSU3Ep+1stH1YgnSwnQ92mkq7fpy+3MdCcqFdybuBT5nxU8tMZjD O5zCMhrODfbfGoC4jaSNoIDM0I4wAWgs/19MIw+DYDWZjP+lOwPipOSKjBVZtq/Vc91xHt yDnmb+038j9EogXOFmS457Do6UhWYmMibsOdf84sjIFiOlQ0WlDIDLB4S5Ye3Xsx/7y5/G POpZtyY0fmz+QKDckm01qmV1pOCtUJ6sJVveqtY0kotevGx3zVMkYh3HvO2y69mfGTisJJ 83pb847z69urEAKlnXPqXCOizyfRr+aa7vVZcqJzBvhKZA7AAyde1UuNgSK1pg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390404; a=rsa-sha256; cv=none; b=VC8SloY6Uffc4Qhe9HGMb0lnKr+XiWlktoCq0ws1OoKR+pqqNoTmxLWAK7RHS0aGdAto/m iYqm3EAS6fUg5Xw3SyKARZ7/toWDUn0OdATmJsKFFB30E0u65VR0801G6608BWFs4neX6V IMId2IF5K2++7ZrMOKUpD2yewWRW+OUtgo8q4atzKiiUMUjm/UTocGHSHpBMqseKx26qQk ujBxqQiC/dIOgGykO9Q01V/P4lF1peE3wiWMqe7UzzwPjYcPApEH0K4KX6sHJwHQDWPOMo +N9WBTL39yM4YRTcIKKEz3PZJcuHn0H3QMlVStV5Zvfy7kiuDZ53Qp+Tfl8kBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGX3p1zzj7V; Thu, 31 Oct 2024 16:00:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG042j060429; Thu, 31 Oct 2024 16:00:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG04Ym060425; Thu, 31 Oct 2024 16:00:04 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:04 GMT Message-Id: <202410311600.49VG04Ym060425@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: d96267deb493 - stable/13 - ena: Set ena_min_poll_delay_us default value List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d96267deb493add01e5e99700b866573e3342419 Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=d96267deb493add01e5e99700b866573e3342419 commit d96267deb493add01e5e99700b866573e3342419 Author: osamaabb AuthorDate: 2024-09-23 08:06:41 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:20 +0000 ena: Set ena_min_poll_delay_us default value This commit sets the default value for ena_min_poll_delay_us to 100. This commit does not change the behavior of the driver, the delay is calculated as MAX(ENA_MIN_ADMIN_POLL_US, delay_us), where the first field is already defined as 100. The second parameter, delay_us is taken from ena_min_poll_delay_us which is currently unset - 0. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 637ff00f2f9bd6c8509d0e2ac8959c7a23f09650) --- sys/dev/ena/ena.c | 2 ++ sys/dev/ena/ena.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index a895ede8226f..6943480aecc5 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3737,6 +3737,8 @@ ena_attach(device_t pdev) goto err_bus_free; } + ena_dev->ena_min_poll_delay_us = ENA_ADMIN_POLL_DELAY_US; + /* Initially clear all the flags */ ENA_FLAG_ZERO(adapter); diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 1a436a702ba1..876c3cd258aa 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -146,6 +146,8 @@ /* Max number of timeouted packets before device reset */ #define ENA_DEFAULT_TX_CMP_THRESHOLD (128) +#define ENA_ADMIN_POLL_DELAY_US 100 + /* * Supported PCI vendor and devices IDs */ From nobody Thu Oct 31 16:00:05 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGY5dywz5bwVP; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGY4ntSz4NsV; Thu, 31 Oct 2024 16:00:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EOZspj0DUl8qZVqolC4o+NyKrAorBidq7/8zchdPyEg=; b=J2oMnqIz2d5amwC9X9scAf8J5gBiICEFwNMNRl236Z9k0L4VsjwkuU8UznFt6knIbse7jX fAS9bJXhv+EjXz5oOwm+Ser1hIFEeLUOvGGRjK1yBNCVMvvBBChFS/yR0II2qfqedbB14q 7SRXTOPS2kNuoveEBSISNSQ6i5LUPWr2SrwI0Rbb9GYDt0TUEF5KNxgSr+X6gbqoSdqOp/ +kp00lhri0C5i1FdanXWht6GB+cJwmqEwAmtoPpgQbUG+L0R6mxzCaBadHbYukfpq1nIQ2 iYdRzF6ToxFG5R01Tf8KiFSbOUaNcqUbGsqbzBcWaKlY34zdyjBcsQ4CSXl9CA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EOZspj0DUl8qZVqolC4o+NyKrAorBidq7/8zchdPyEg=; b=Cp4ZPwkg+wPG15RK6Re/kppG2ztnO0eImVh2ntLBRvC7f3kGoYB4VHCSk9/I7NMQBuJ9/+ V9Js604pv/1IDkJTHM/+keYF1xwnRpnuMjPAP6cHNWM3gISQ2sTjRqjVaBh+VEDE6c+xJf Qb3FWsbvIZ7d4sv5Ho/zbWK+HytpRHhQ9H5qioDHxfQ7SiR3ui3e0/3vWesqwoAOHA3tv8 vqkhwzqapmyL4Y6JIOcFjw/RmRaFGmBU+ZJy+39s97EQT7kpsPaxsrE0+e+sZjjLL3bPiF PnmYnKXWgdacUlwlwohqwInnQyxG/JjPjOHZppXqRdiMbQriyQ3xg5OYzIIxxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390405; a=rsa-sha256; cv=none; b=OOrOjP6oE6n7Im5pgPs1HkvmwYZZ6HkizxZ233ST/czQmpBMXpWqxApCgemYwUCgaHVAS5 t6b/K1I2JY8/jJ75y+57XbGM+tuw1tVy639YJY4jvgAmHPflVhvFymXtaBsFQgEhh9f4MU hCB/kZffdoBWYdzQXzRp0HF0DUi5Sl7TFQ4h9HNgvSC10fnmqcwPhH2pIcfbjt3s1oMRSz ITCyNo0XbM5mLEjE4kG55tKuN/nZu1HuYG3dvSnmZ4OdKcNgAGha0/2AgnWmiqQqWqiP7/ HiYWL2jCi7jtvcQZKfWrAaR72j94eaKA1XszEdJcOuydTP8lXXUe4lWSZECvJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGY4Pbtzj5F; Thu, 31 Oct 2024 16:00:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG05d0060723; Thu, 31 Oct 2024 16:00:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG05B1060718; Thu, 31 Oct 2024 16:00:05 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:05 GMT Message-Id: <202410311600.49VG05B1060718@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 54aae6cbb12e - stable/13 - ena: Add differentiation for missing TX completions reset List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 54aae6cbb12e53bc1a585cc1e9baa3e4993480cc Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=54aae6cbb12e53bc1a585cc1e9baa3e4993480cc commit 54aae6cbb12e53bc1a585cc1e9baa3e4993480cc Author: Osama Abboud AuthorDate: 2024-08-07 06:24:19 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:20 +0000 ena: Add differentiation for missing TX completions reset This commit adds differentiation for a reset caused by missing tx completions, by verifying if the driver didn't receive tx completions caused by missing interrupts. The cleanup_running field was added to ena_ring because cleanup_task.ta_pending is zeroed before ena_cleanup() runs. Also ena_increment_reset_counter() API was added in order to support only incrementing the reset counter. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit a33ec635d1f6d574d54e6f6d74766d070183be4c) --- sys/dev/ena/ena.c | 45 ++++++++++++++++++++++++++++++++++++++++++++- sys/dev/ena/ena.h | 29 ++++++++++++++++++----------- sys/dev/ena/ena_datapath.c | 21 +++++++++++++++------ 3 files changed, 77 insertions(+), 18 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 6943480aecc5..8402cf0a3229 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -169,6 +169,9 @@ static int ena_copy_eni_metrics(struct ena_adapter *); static int ena_copy_srd_metrics(struct ena_adapter *); static int ena_copy_customer_metrics(struct ena_adapter *); static void ena_timer_service(void *); +static enum ena_regs_reset_reason_types check_cdesc_in_tx_cq(struct ena_adapter *, + struct ena_ring *); + static char ena_version[] = ENA_DEVICE_NAME ENA_DRV_MODULE_NAME " v" ENA_DRV_MODULE_VERSION; @@ -3089,6 +3092,31 @@ check_for_rx_interrupt_queue(struct ena_adapter *adapter, return (0); } +static enum ena_regs_reset_reason_types +check_cdesc_in_tx_cq(struct ena_adapter *adapter, + struct ena_ring *tx_ring) +{ + device_t pdev = adapter->pdev; + int rc; + u16 req_id; + + rc = ena_com_tx_comp_req_id_get(tx_ring->ena_com_io_cq, &req_id); + /* TX CQ is empty */ + if (rc == ENA_COM_TRY_AGAIN) { + ena_log(pdev, ERR, + "No completion descriptors found in CQ %d\n", + tx_ring->qid); + return ENA_REGS_RESET_MISS_TX_CMPL; + } + + /* TX CQ has cdescs */ + ena_log(pdev, ERR, + "Completion descriptors found in CQ %d", + tx_ring->qid); + + return ENA_REGS_RESET_MISS_INTERRUPT; +} + static int check_missing_comp_in_tx_queue(struct ena_adapter *adapter, struct ena_ring *tx_ring) @@ -3101,6 +3129,8 @@ check_missing_comp_in_tx_queue(struct ena_adapter *adapter, int missing_tx_comp_to; sbintime_t time_offset; int i, rc = 0; + enum ena_regs_reset_reason_types reset_reason = ENA_REGS_RESET_MISS_TX_CMPL; + bool cleanup_scheduled, cleanup_running; getbinuptime(&curtime); @@ -3156,7 +3186,19 @@ check_missing_comp_in_tx_queue(struct ena_adapter *adapter, "The number of lost tx completion is above the threshold " "(%d > %d). Reset the device\n", missed_tx, adapter->missing_tx_threshold); - ena_trigger_reset(adapter, ENA_REGS_RESET_MISS_TX_CMPL); + /* Set the reset flag to prevent ena_cleanup() from running */ + ENA_FLAG_SET_ATOMIC(ENA_FLAG_TRIGGER_RESET, adapter); + /* Need to make sure that ENA_FLAG_TRIGGER_RESET is visible to ena_cleanup() and + * that cleanup_running is visible to check_missing_comp_in_tx_queue() to + * prevent the case of accessing CQ concurrently with check_cdesc_in_tx_cq() + */ + mb(); + cleanup_scheduled = !!(atomic_load_16(&tx_ring->que->cleanup_task.ta_pending)); + cleanup_running = !!(atomic_load_8((&tx_ring->cleanup_running))); + if (!(cleanup_scheduled || cleanup_running)) + reset_reason = check_cdesc_in_tx_cq(adapter, tx_ring); + + adapter->reset_reason = reset_reason; rc = EIO; } /* Add the newly discovered missing TX completions */ @@ -3619,6 +3661,7 @@ ena_reset_task(void *arg, int pending) ENA_LOCK_LOCK(); if (likely(ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))) { + ena_increment_reset_counter(adapter); ena_destroy_device(adapter, false); ena_restore_device(adapter); diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 876c3cd258aa..c9eb9e8c43d3 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -327,6 +327,7 @@ struct ena_ring { }; uint8_t first_interrupt; + uint8_t cleanup_running; uint16_t no_interrupt_event_cnt; struct ena_com_rx_buf_info ena_bufs[ENA_PKT_MAX_BUFS]; @@ -584,21 +585,27 @@ ena_mbuf_count(struct mbuf *mbuf) } static inline void -ena_trigger_reset(struct ena_adapter *adapter, - enum ena_regs_reset_reason_types reset_reason) +ena_increment_reset_counter(struct ena_adapter *adapter) { - if (likely(!ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))) { - const struct ena_reset_stats_offset *ena_reset_stats_offset = - &resets_to_stats_offset_map[reset_reason]; + enum ena_regs_reset_reason_types reset_reason = adapter->reset_reason; + const struct ena_reset_stats_offset *ena_reset_stats_offset = + &resets_to_stats_offset_map[reset_reason]; - if (ena_reset_stats_offset->has_counter) { - uint64_t *stat_ptr = (uint64_t *)&adapter->dev_stats + - ena_reset_stats_offset->stat_offset; + if (ena_reset_stats_offset->has_counter) { + uint64_t *stat_ptr = (uint64_t *)&adapter->dev_stats + + ena_reset_stats_offset->stat_offset; - counter_u64_add((counter_u64_t)(*stat_ptr), 1); - } + counter_u64_add((counter_u64_t)(*stat_ptr), 1); + } + + counter_u64_add(adapter->dev_stats.total_resets, 1); +} - counter_u64_add(adapter->dev_stats.total_resets, 1); +static inline void +ena_trigger_reset(struct ena_adapter *adapter, + enum ena_regs_reset_reason_types reset_reason) +{ + if (likely(!ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))) { adapter->reset_reason = reset_reason; ENA_FLAG_SET_ATOMIC(ENA_FLAG_TRIGGER_RESET, adapter); } diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index 831189006f15..17a9c2c37f4d 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -77,17 +77,24 @@ ena_cleanup(void *arg, int pending) int qid, ena_qid; int txc, rxc, i; - if (unlikely((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0)) - return; - - ena_log_io(adapter->pdev, DBG, "MSI-X TX/RX routine\n"); - tx_ring = que->tx_ring; rx_ring = que->rx_ring; qid = que->id; ena_qid = ENA_IO_TXQ_IDX(qid); io_cq = &adapter->ena_dev->io_cq_queues[ena_qid]; + atomic_store_8(&tx_ring->cleanup_running, 1); + /* Need to make sure that ENA_FLAG_TRIGGER_RESET is visible to ena_cleanup() and + * that cleanup_running is visible to check_missing_comp_in_tx_queue() to + * prevent the case of accessing CQ concurrently with check_cdesc_in_tx_cq() + */ + mb(); + if (unlikely(((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) || + (ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter)))) + return; + + ena_log_io(adapter->pdev, DBG, "MSI-X TX/RX routine\n"); + atomic_store_8(&tx_ring->first_interrupt, 1); atomic_store_8(&rx_ring->first_interrupt, 1); @@ -95,7 +102,8 @@ ena_cleanup(void *arg, int pending) rxc = ena_rx_cleanup(rx_ring); txc = ena_tx_cleanup(tx_ring); - if (unlikely((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0)) + if (unlikely(((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) || + (ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter)))) return; if ((txc != ENA_TX_BUDGET) && (rxc != ENA_RX_BUDGET)) @@ -107,6 +115,7 @@ ena_cleanup(void *arg, int pending) ENA_TX_IRQ_INTERVAL, true, false); counter_u64_add(tx_ring->tx_stats.unmask_interrupt_num, 1); ena_com_unmask_intr(io_cq, &intr_reg); + atomic_store_8(&tx_ring->cleanup_running, 0); } void From nobody Thu Oct 31 16:00:06 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGb0GLkz5bwVR; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGZ5R1jz4PDc; Thu, 31 Oct 2024 16:00:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+UDIuX/9nRKv8ZcGTXYZPh+QpR7d3hIi9DsKF9sH5PA=; b=gTG3wsTkZ2A3h8FfCqEO4q7hX4v+Z4mlmEA1bDiV3ArtEPpCmGNHkSQIEe1z0x7nvofBwm /3aHBL6Dh/KG61f3JkOg619HsUaGVnTotLfPUsXbsDFxV6bmOysIf4xzwhNyCkek+Ldiqa GcpbXGlYXyuSJD8U9mk75gMn5rozqDr0UyAqHMdGCU2yOSzYlDdiLPmfolaRRzM9OxaJv5 CDSUIXMQwFj9wmm+6U7+Lxi3babLJQB4PmCN9UCfeWpI4/2wcqECqh6UbBJFZ6U/MMOvrQ 7eBLaTCvHAEk3MoTcEBmvo6FD9Qri0lCKdsQV55fCeaw/OZE93tslt88z+Gm1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+UDIuX/9nRKv8ZcGTXYZPh+QpR7d3hIi9DsKF9sH5PA=; b=q/e7rdWA6NeKREUiIrpTcK6CSRwU3mqovyMB2hMmWB/YvLWifr74990bnSg001RykmBpZC HEwqQOrsK6CyoxpqFrEfMT+0igpVdILeETBOezGgWyzmR8T3H74SDe5/zDvgwtjdiJpn8q x0Z6kmRCnkxJlW3bT37P3qHz6JwR/UmyiU50Q4pLLB87LPhYE6EvSdMZJfKp0so7OYWCUR 3lkNKmgS+P4ndo8D1JimANYnYd9xJvkYIPT5qoVWbHCP5+nyg/QRJAMYdmy3u4fXfrvQu+ +n9Digksu29AbHxDur4aa2rQBwJ59WP15HB6mrAuSrE0su0qv01HcLug5MHZoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390406; a=rsa-sha256; cv=none; b=NvqJUdSP5y4LR1ROF6TXpLQO37QESbUpqCZ6chckfE5CPsUzOtvZlTjvOSpy907gbSFSD7 PFT7L0Re0RnP5TnxSG4x5+DmIDEgNDteKptrCNn/gqzeJU4rxbDgjfmEOhFuEsAHLolXdb 6VtDL0bz7eD9zgCBxEwFhRVwax7I3X7Zyhdy2oIY70MxPDoHwleLjKP155TvZF25J7PHc5 wDHt8LiPMPsBBPPHqE13wHYuNIx5hEvgou56UOrj9h1Ew9Fq8FhQn3hkwlFSmPs4IsE/+/ jiM3p+imNF02p6Ow3Y+HILjuYLA9mSvc8WUDaQw2QbHob0rSNEOmL0zUaPvHzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGZ4y6QzjV6; Thu, 31 Oct 2024 16:00:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG06EV061014; Thu, 31 Oct 2024 16:00:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG06Wc061010; Thu, 31 Oct 2024 16:00:06 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:06 GMT Message-Id: <202410311600.49VG06Wc061010@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 6219b3398435 - stable/13 - ena: Trigger reset when mbuf is NULL error happens List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6219b33984353e81a4acb4c487569203ed2d87b2 Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=6219b33984353e81a4acb4c487569203ed2d87b2 commit 6219b33984353e81a4acb4c487569203ed2d87b2 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:20 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:20 +0000 ena: Trigger reset when mbuf is NULL error happens The mbuf is NULL issue happens when the device sends the driver a completion with a wrong request id. Trigger a reset whenever this happens. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit da73e3a7d08c215a5d8530fea9a9730f8ac3709f) --- sys/dev/ena/ena_datapath.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index 17a9c2c37f4d..90662cf9313b 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -434,7 +434,9 @@ ena_rx_mbuf(struct ena_ring *rx_ring, struct ena_com_rx_buf_info *ena_bufs, req_id = ena_bufs[buf].req_id; rx_info = &rx_ring->rx_buffer_info[req_id]; if (unlikely(rx_info->mbuf == NULL)) { - ena_log(pdev, ERR, "NULL mbuf in rx_info"); + ena_log(pdev, ERR, "NULL mbuf in rx_info. qid %u req_id %u\n", + rx_ring->qid, req_id); + ena_trigger_reset(adapter, ENA_REGS_RESET_INV_RX_REQ_ID); return (NULL); } @@ -476,7 +478,8 @@ ena_rx_mbuf(struct ena_ring *rx_ring, struct ena_com_rx_buf_info *ena_bufs, rx_info = &rx_ring->rx_buffer_info[req_id]; if (unlikely(rx_info->mbuf == NULL)) { - ena_log(pdev, ERR, "NULL mbuf in rx_info"); + ena_log(pdev, ERR, "NULL mbuf in rx_info. qid %u req_id %u\n", + rx_ring->qid, req_id); /* * If one of the required mbufs was not allocated yet, * we can break there. @@ -488,6 +491,7 @@ ena_rx_mbuf(struct ena_ring *rx_ring, struct ena_com_rx_buf_info *ena_bufs, * with hw ring. */ m_freem(mbuf); + ena_trigger_reset(adapter, ENA_REGS_RESET_INV_RX_REQ_ID); return (NULL); } From nobody Thu Oct 31 16:00:07 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGc08yrz5bwZ4; Thu, 31 Oct 2024 16:00:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGb5zR4z4PKZ; Thu, 31 Oct 2024 16:00:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q9YTo4BMj8lWrMnRGRtzKRGUN+n0c+5KtEqQ3fZVd+4=; b=s3FX1t8oL91TO3P2qqpAs+Cx98wOm6BUnYvPHzuh9HkePYbRn/WKmXVLV8E0DDBMzC6O31 E1Nef22xz2PTdSQZuSKDVM3/f0fXwB9sgEY6eoTFuKCX3qU8P8KHdtkirJH5fnD5B6I0Cj H1d88nGshi7nAJJIOm6nFRRsOXdrvfrpXaIxU55VfTEyzq7x4yOOJ2Qz9CcszE+GwkvliC LG2DVM5p+D+1167a3iizAUYxOdwlK+Nvj7Zu/UtODPajH2rqvo2Y5zFcwwBaLUwz2sANpw mpa9NAKN87ZdpXtYXMpDCS5humQcQ6ghPEBtwA6S9Cn9QUbfOMDBBY4lKHmRVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q9YTo4BMj8lWrMnRGRtzKRGUN+n0c+5KtEqQ3fZVd+4=; b=QNGiWVEsLO8HGUiBHECpL7lZkdN6kj6FBr2TEvnlcNOFsnp01U3FVcRtlPagy7Th32RffP ZYIie92Rlu53afgHB9DwqtrGL7nKhtXib1SEPQ7nihoPH4TXdWz5NLazjy7Mc+Qv/FnvHL uZqc/hcXbdTys4wxDy8WfeSN2+kK0Kfw1fVLMnxdjP6d9QRxxgwgZMgpG2VzMy3dJq/Bz5 ZnMuFjU9WcChg8iCko80ymm0tO/Q/3dJqycpiXrnQ4hqMnVV+aUOcB9j+nitqQzfY0TrP+ Nud4pNswb4bQKQ2K4LspL13BlNM5D1T+9Is81iDWhmv5PRni0B5jNlK7tuZFnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390407; a=rsa-sha256; cv=none; b=kHsud9zAGWcYkdOA6c/5x4fNM+ZlP1gYm+Ex7n1X4QFFg2o5hW9Ru9fTYtopW1gMhuMS81 r92AE0y5+wSXearMsxLBuFm7jxa9vDEQ270bg7RnHFq2YxGb/xl19CTZJ0eEbDNv7pvlWF 4mkwmtfC8dmjv/SpQUuDzrSCZ8/kOLUFgZq1JaVlzY7lUh0TNls8GWYbUGCdrfV4GVdvTI qb+QXfTU4bjObkVfV0UuhynGFxj5y8sZM7VxdvbquRHgeevh35kaJAam6mHprr+sk9VzAj XnN8IIZkksiAwkTW6Ov30g3dmxBiuXjNCxwFuf6RgRdO4mE8YIQQCP3zfBXv+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 4XfTGb5Xf3zj5G; Thu, 31 Oct 2024 16:00:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG07TH061299; Thu, 31 Oct 2024 16:00:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG07qI061295; Thu, 31 Oct 2024 16:00:07 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:07 GMT Message-Id: <202410311600.49VG07qI061295@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: a6edd8f03342 - stable/13 - ena: Make global counters style unified List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a6edd8f033428c7f807beecb8eee09739e18c0bb Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=a6edd8f033428c7f807beecb8eee09739e18c0bb commit a6edd8f033428c7f807beecb8eee09739e18c0bb Author: Osama Abboud AuthorDate: 2024-08-07 06:24:20 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:20 +0000 ena: Make global counters style unified This commit changes the code so all global counters will have the same line break. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 90953d2f829a45669b0c88a6a03da481f2d54e46) --- sys/dev/ena/ena_sysctl.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index c711ecf66d7a..e18328ddc8b2 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -275,11 +275,10 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &dev_stats->wd_expired, "Watchdog expiry count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "interface_up", CTLFLAG_RD, &dev_stats->interface_up, "Network interface up count"); - SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "interface_down", - CTLFLAG_RD, &dev_stats->interface_down, - "Network interface down count"); - SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "admin_q_pause", - CTLFLAG_RD, &dev_stats->admin_q_pause, "Admin queue pauses"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "interface_down", CTLFLAG_RD, + &dev_stats->interface_down, "Network interface down count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "admin_q_pause", CTLFLAG_RD, + &dev_stats->admin_q_pause, "Admin queue pauses"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "os_trigger", CTLFLAG_RD, &dev_stats->os_trigger, "OS trigger count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "missing_tx_cmpl", CTLFLAG_RD, From nobody Thu Oct 31 16:00:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGd1fMBz5bwcT; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGc6VPHz4PKm; Thu, 31 Oct 2024 16:00:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390408; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Eh2Ltzn7YPt0LgJJxUkiDaU6ccsI1kK8voSVLXUZH8I=; b=vwArqJsazYBQktYaScozey5vkciR0QwSZ1oR3/VySdlatx0J88z/BgfcvhXkKlfx+l+aIl Uv4dr0RFpCO2UNOl0sELYk94OmO1fTarDFHwcsVZ11sdwR6gIOEFH2VJ9PknZaEUgBF2Ku yuoEOFWEsYGuf6OIjyOwCnjWIRZqxafCk8bPzS+azGcNde1cTesPUQVJ0rRk5UAGXMgC0U OUWpHVammbJHSghfTt1HF0IkJrCtl2biSe1d+Q5cMrRLoh/w4+awWf3GyiIwni4YyPnez+ DiRAtK7fjJ6/Cl7rODEELZAif3wJC9YL7MBcKu5xC6h/RZ7a41XXlxpI7dKMwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390408; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Eh2Ltzn7YPt0LgJJxUkiDaU6ccsI1kK8voSVLXUZH8I=; b=RccPYFohHjC1zRwo129MtTpV+Bw3yshOd8SE1dF5XrTxyjD3xuAX75i39cxQzjt26b8yey oCqoExa7E8Lna48hcUCpeteH0QePOSudkkHg3UPxQCWlQfzZmlhMsdE55jiVbXAeNLRhUB Xywe8kz3Q8S9KHxT7aA5cw0hZTaFHE3xzNzhWyzPaZZl8/yBRHWi8UT6/gGUvI3G8sJCcT NwgeMZcPiPH+Gne3UMISTzrfZ5YlHY2Wo48Iu/dg6Fk04jifivSDQk3i1oAepcNX+dj/Eb LcnIWMf4WOfJhof+piYi0Dyq8+1nhTXMiaUPW3OHAK7XwuHg3zx6xcQytwPhww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390408; a=rsa-sha256; cv=none; b=inbNy9+vID61myMqBbYWCy4jij8w5dPrvQ/z/kQEIICY4eUNe8HjzAsCuNnLOAarUKTO4K NHfkSU3BBFhPsJ1zPQkKp44Eyttl2ZlGEiFU7qLL7682eYjfhZ1MpBPVl/iuKpA/gKtpOG yYdHkix1n2DDjrwrgi9YtLVinQM0AFWyjJ9aeYDIRbBhJXRrZSV0bjpgKmiGitRHnTrNzm 4KaV6QoLv4v3JsbkpmAiQtdk6ciN9UUFb1mqTC6As7Bg4n2lUOwHtal5Pa/SGhPdsnoHkZ 3BscKKFIvSr6j8GnXnIrs1kTimxBGALOAStbbLrRN8vvbXp/qwvk5f+Ak6uhDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGc65lyzjV7; Thu, 31 Oct 2024 16:00:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG08UD061625; Thu, 31 Oct 2024 16:00:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG08uE061620; Thu, 31 Oct 2024 16:00:08 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:08 GMT Message-Id: <202410311600.49VG08uE061620@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: cd995601730a - stable/13 - ena: Properly unmap last socket chain in netmap List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cd995601730acb15c50044196fd8acc782e4cdbc Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=cd995601730acb15c50044196fd8acc782e4cdbc commit cd995601730acb15c50044196fd8acc782e4cdbc Author: Osama Abboud AuthorDate: 2024-08-07 06:24:20 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:20 +0000 ena: Properly unmap last socket chain in netmap In case ena_com_prepare_tx() fails within the netmap tx flow, the driver will unmap the last socket chain. Currently, the driver unmaps the wrong socket within ena_netmap_unmap_last_socket_chain(). Illustration of the flow: 1- ena_netmap_tx_frames() 2- ena_netmap_tx_frame() 3- ena_netmap_tx_map_slots() 3.1- Map slot 3.2- Advance to the next socket 4- ena_com_prepare_tx() 4.1- ena_com_prepare_tx() fails 5- ena_netmap_unmap_last_socket_chain() In step 5, where the driver unmaps the socket, the netmap index already points at the next entry, meaning we're unmapping the wrong socket in case ena_com_prepare_tx() fails. In order to fix that, the driver should first update the netmap index to point at the previous entry and only then update the socket parameters. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit f236e544a2ff685ae151f3232e3785a6a9aab035) --- sys/dev/ena/ena_netmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index 54c8269be3b2..ae269cca853a 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -783,10 +783,10 @@ ena_netmap_unmap_last_socket_chain(struct ena_netmap_ctx *ctx, /* Next, retain the sockets back to the userspace */ n = nm_info->sockets_used; while (n--) { + ctx->nm_i = nm_prev(ctx->nm_i, ctx->lim); ctx->slots[ctx->nm_i].buf_idx = nm_info->socket_buf_idx[n]; ctx->slots[ctx->nm_i].flags = NS_BUF_CHANGED; nm_info->socket_buf_idx[n] = 0; - ctx->nm_i = nm_prev(ctx->nm_i, ctx->lim); } nm_info->sockets_used = 0; } From nobody Thu Oct 31 16:00:09 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGf17jZz5bwjX; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGd75Ttz4PHb; Thu, 31 Oct 2024 16:00:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yQqLTEzab7Ubn/NBvgm69gll4vFn8v2SIHiSzBe3brQ=; b=RsR/UE0FfktYwk3VqM3kcZ9mKOIiIt9y8/T1z9lZuOcTie+JUvf6xpfqY1TSUSC5BWQEep u8/zgLyDW1b2akVroDRg1sJ7A83RRVL4PCne9xl3AHli1UqlojSCw+SwpWChYhV31D8nXc KfJZpXtrJwRJ/Tx2rDqaOyuiEBt/SkubOjguAmn1rNH9yHwalchJTLD68N0N5WaGgbkV28 8npFnx/V0as6VPrxI/dYJVNCNw6RzW7uTrmyUID6/91GhqYY5JQHnO9t3G9OqL5KVrWDHT pkwjJh0S6mcEgbFLYHcYR/UreQfrICL+A629XXKrqqf1VpqdEVyUzCcl5R0ysA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yQqLTEzab7Ubn/NBvgm69gll4vFn8v2SIHiSzBe3brQ=; b=t0LuMk+6JMkhoMXUDTyVpC8KYvpUTwH+yAI9B+oS7K2zmWAIg1vZztSwksKFitGFv6wv60 Lim1u4sbnzKl4NdN7ymJNZUUr3IME+FK4PkN4zGB+LXwT1rHS93vu5BUQ+FMRZ0UMWkSxx /ACf05hZ0B38eURmw65VR5S2oB2atGzR0wlCtUhk00qoBjCC39wm2OpPwLtM9HcxUKah+X xyLkx4ohGcJT3bGnkLaT6gcKQha4PUEheGj/sZ8nLRpB6x/MSxoAKyid86n7z0gEQ7DEgf w+DqcFsYwa6tEnAv8EWwph6q9NzP3cMEwBTSFEJ0kA9CClDQx3ErFGUPs6CFtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390410; a=rsa-sha256; cv=none; b=dOZh3hPq58qYR9o2b5ydnclh41oX7Y0e9yhrKgzd/q5K6ASF/tClNHLjxWcvdE2f7rTDNo P9X6r63ojABjXqTeCkbgAP3zofzMbICBmF/d2R5Q4aIPq2FicYldQ180Tb9A/pQdfyidfx FXUJuIHsD9GIT8n2e8BKNV32VxyxoMwoh9UpJUktENlhNGNT+zUt5Kv2mbIa0zG+h5glZd 7EyidyKxVTGzxNGo4xtMowRd7rUpnuDV+t9+k+kD4dE4Won+XBly+fYO7UbtBXrCXqyIlF NDbU3yRcsLDWKP9vwUz+72i1xdH440TMW2d4j3Ko8VGS6rAC1Wtuc+qIB1p8JA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGd6jRrzhdW; Thu, 31 Oct 2024 16:00:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG09xN062164; Thu, 31 Oct 2024 16:00:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG09kU062159; Thu, 31 Oct 2024 16:00:09 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:09 GMT Message-Id: <202410311600.49VG09kU062159@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 5d5b31eb79aa - stable/13 - ena: Handle wrap around for prefetch in netmap List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5d5b31eb79aac0e433c4de878f113f1506688fd2 Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=5d5b31eb79aac0e433c4de878f113f1506688fd2 commit 5d5b31eb79aac0e433c4de878f113f1506688fd2 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:20 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:20 +0000 ena: Handle wrap around for prefetch in netmap Netmap index wraps around based on the number of netmap kernel ring slots. Currently the driver prefetches the next slot using nm_i + 1 which may be wrong since it does not handle wrap around. This patch fixes that by using the kernel API for fetching the next netmap index. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit ce20b51cb71bfb548fcaafc4bacb8290460f03d5) --- sys/dev/ena/ena_netmap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index ae269cca853a..910b447b12c6 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -577,7 +577,7 @@ ena_netmap_tx_map_slots(struct ena_netmap_ctx *ctx, remaining_len = *packet_len; delta = 0; - __builtin_prefetch(&ctx->slots[ctx->nm_i + 1]); + __builtin_prefetch(&ctx->slots[nm_next(ctx->nm_i, ctx->lim)]); if (tx_ring->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) { /* * When the device is in LLQ mode, the driver will copy @@ -664,7 +664,7 @@ ena_netmap_tx_map_slots(struct ena_netmap_ctx *ctx, * The first segment is already counted in. */ while (delta > 0) { - __builtin_prefetch(&ctx->slots[ctx->nm_i + 1]); + __builtin_prefetch(&ctx->slots[nm_next(ctx->nm_i, ctx->lim)]); frag_len = slot->len; /* @@ -722,7 +722,7 @@ ena_netmap_tx_map_slots(struct ena_netmap_ctx *ctx, /* Map all remaining data (regular routine for non-LLQ mode) */ while (remaining_len > 0) { - __builtin_prefetch(&ctx->slots[ctx->nm_i + 1]); + __builtin_prefetch(&ctx->slots[nm_next(ctx->nm_i, ctx->lim)]); rc = ena_netmap_map_single_slot(ctx->na, slot, adapter->tx_buf_tag, *nm_maps, &vaddr, &paddr); From nobody Thu Oct 31 16:00:10 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGg3TYpz5bwjZ; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGg0cCjz4PLF; Thu, 31 Oct 2024 16:00:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D9Mh9r/IrK5RfZF4+Qe54bWHuDMpaGRqwFQ2AqUlRhs=; b=sxLwtpjXiZ05r+twvniJ8euJn/kDcJC50LyrDXb0i0vwxrgzw8eTdFhxysv0XHtR/PDws+ 9N8DcmAY2rcF0RyYN3vRvF+EPEz8Kowz2ksiVtOGJ270qA9AtNe5cmz1hLuq01HmGoaV1K 6ILOgJpbvx4YxTC8UTvadRHQkxHY2y4cgh38FajGpQzZV8pLmI4IXW6sctJJUD4UaXFmZk g94fok+gKxbTh9uSxCFh9xw2R7iolEBPvc4k6l47GzmDlHxPByvN/mQ/Z0QDAU/o1MyG9p suu6xnP6tft0p4BKvJnLbd1bEwg3uML1Iv10tz+ApKcD20lwUl4CQX+DPzJb4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D9Mh9r/IrK5RfZF4+Qe54bWHuDMpaGRqwFQ2AqUlRhs=; b=evS46n8FstfXCrfxBmxn+OjDnwMNAo1e1CeT2ZHpkIII3y+yNW+SWIkmc2eheoFwg3crF5 UdYCzi2dcXsk5pnRFjQx0Mxeut+7oepBhHYex8qOaymzZQE3KeS121+tClWbgAN9qqlZQx hZ46ucvg2XOw+9vL6GEog8ogbPbH1E6G6TywxQQ9oM1NDa083dwGtP+ftBS1/KzyCMKncO K+8qH18miYIAuo5Yz/a41viIDZayVYhZcw/DVGrQLGLCoIwEU41t6LeffEx8kgO67AOP2j FeO0cj/sbIIge7VjNzOAwtK++6uBsnXMM1dmg4BLRTouvSEqkFFF477KZLm0sA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390411; a=rsa-sha256; cv=none; b=Qy/1FJP7khHrKE7eq7QHyaEj7s6DZ0wQuZ8dZepEwoo5rMnEo+/ySAiY213cZs7CG016Kt weYOLVpQMD/Wy6jWGQkXtbRAtOzm2gyJGpSjLJjJZF4p2DJWuKwZETwMd55nUEMrNKfqHU sDYixUpIR1hMqH2xFPvxGn6PqrUJtFdcxcMaR05d6W6ICdla+AB6r+xUb+q477/WMZIDFU HtFhUUdrp6jr50sf1EPrOjZs2E683cHY++MSmKUnv9dksiDp/jGPmGQPO1hfl4FH1Pgni/ PKygRIgA3t3llwmau8VDqPT8UXDTJpPH5zemhzQcf8e7JJf6fVlz/8mlz6s0Jw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGg0DDSzjV8; Thu, 31 Oct 2024 16:00:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG0AIx062821; Thu, 31 Oct 2024 16:00:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG0AfR062810; Thu, 31 Oct 2024 16:00:10 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:10 GMT Message-Id: <202410311600.49VG0AfR062810@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 444a69c1951c - stable/13 - ena: Clear NS_MOREFRAG flag for last netmap slot List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 444a69c1951c277b14191ff33b7d67e834300967 Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=444a69c1951c277b14191ff33b7d67e834300967 commit 444a69c1951c277b14191ff33b7d67e834300967 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:21 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:20 +0000 ena: Clear NS_MOREFRAG flag for last netmap slot When processing packets within the rx-flow ena_netmap_rx_load_desc doesn't know the number of descriptors, so it sets NS_MOREFRAG to all the slots to indicate that there are more fragments for this packet. The code calls ena_netmap_rx_load_desc() for every descriptor in this packet to map the relevant buffer into the netmap shared memory. After ena_netmap_rx_load_desc() calls, we need to unset the NS_MOREFRAG for the last fragment to indicate that this is the last fragment, so we explicitly turn off NS_MOREFRAG flag. Current code overrides all other flags and sets NS_BUF_CHANGED. This patch unsets the relevant flag only. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 2f17afd19a3534dc1755c52edb0c2f70ea0eb1e4) --- sys/dev/ena/ena_netmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index 910b447b12c6..41eb8abab39d 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -964,7 +964,7 @@ ena_netmap_rx_frame(struct ena_netmap_ctx *ctx) * It just set flag NS_MOREFRAG to all slots, then here flag of * last slot is cleared. */ - ctx->slots[nm_prev(ctx->nm_i, ctx->lim)].flags = NS_BUF_CHANGED; + ctx->slots[nm_prev(ctx->nm_i, ctx->lim)].flags &= ~NS_MOREFRAG; if (rc != 0) { goto rx_clear_desc; From nobody Thu Oct 31 16:00:12 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGh2kyVz5bwgK; Thu, 31 Oct 2024 16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGh0zkJz4PLR; Thu, 31 Oct 2024 16: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=1730390412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6JREqi16y8IaznrQZPzruYmAP7JA29SaAu7MKd1n0aw=; b=BuVSHrhJlag2rQ7UHB8UbutbxOyCfbFAcTB09GhMWtYCDrK2dKqO25Y6GR9tjI+S9JMhBF JpSSpeWJpmDCuCMTPcD+wsay3y0YciscPh4boNWDJkufcIVkg2T/zEHdLin+iZDed5LLNd +6csXuKKSoiFV/bhakiccNu2HtPqKkMrVeulWkFEmfxvL5tr0K6QBswJlGuw+p5MD30we6 lBnNle9kZN8u+POdS5GaHk+KBiOH7jKIAGPL1AWIOeYWalGXjOCVkXm427GlRY2F3JyxlH VFV0To7UI/VebC6riIp/LlcgTbatdr6ImDvGTnOlandwvagbv9yAkda1XjFfVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6JREqi16y8IaznrQZPzruYmAP7JA29SaAu7MKd1n0aw=; b=M6+1PN7VSibZPK1xMbvVeHgvIvR8sD4xTqBYJRrsW9ToPHgoXyfN1dh+qznNXeIItmGFNl dLieiz1bBT5r5DKg03j0Fxxjwzp640U+bXNqztagafZ67viRtp5OEC6U1ohMnGAo/12V9l QsBkfAX/rzPvTFGhmH1uSb05+piW1/2BoaauqepBongJEzEV1u5zkrpDvuZ4pPaYo+op4J dOlzArmp9PJkGKvcoRQAPX+I8KHUtrBqkWsczrYy3Qc/6+PV3h/sJPQHq0QNin83bkjWTb +b83tAvWhuNHaLXlnZTVLVtpTAuNXdvI2sBdhHoyh02OissVIX3TpnkjXG53uQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390412; a=rsa-sha256; cv=none; b=b/KfCN1TZcnIW7EN9XNjnvh5D1MvnkimCkOPoqjglaa8IOQpYkAFkCEjs0kCYEEUJAFzT7 YR6eg/oDL9QGmJzFLgoAnc2GaBjjt3EQuq1ZZAF6aLhAZpnxV16sTRNm1whdG7xoW5z8FQ KzsgbuR87dRx+JfL5UR1PHustxqX3oX/Tl9lzFraSGD+XZ9JD17mI1SM88vKPTsVWNJk8T yEi193QfY19b6n2wbO2P+WcGB2CAFlukKO+Zpzg12CTNjqehpy5Op4xFVWdaqsruRvbtrD o2reFFx4/Jr5HcCpQFQcvblIvRL5dKlecbDTZyxI9tRTGFKTbpE8VoQyz2gMiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGh0ZgHzhdX; Thu, 31 Oct 2024 16:00:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG0CQc063500; Thu, 31 Oct 2024 16:00:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG0CS8063492; Thu, 31 Oct 2024 16:00:12 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:12 GMT Message-Id: <202410311600.49VG0CS8063492@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 3a18e7a0bcc5 - stable/13 - ena: Reinit netmap adapter struct upon sysctl changes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3a18e7a0bcc5d4805c94063b43eba477cab82ed7 Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=3a18e7a0bcc5d4805c94063b43eba477cab82ed7 commit 3a18e7a0bcc5d4805c94063b43eba477cab82ed7 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:21 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:20 +0000 ena: Reinit netmap adapter struct upon sysctl changes When attaching ENA driver, ena_netmap_attach() is invoked which, in turn calls netmap_attach which, initializes a struct netmap_adapter, allocating the struct's netmap_ring and the struct selinfo. When we change the interface number of queues we need to reinit the netmap adapter struct as well, so we need to detach it in order to free the memory allocated by netmap_attach and allocate new memory based on the new parameters like number of rings, ring size etc... Without detaching and attaching the netmap interface, if we're to change the number of queues from 8 to 2 for example and try to enable netmap, the kernel will panic since the original netmap struct within the kernel's possession still thinks that the driver has 8 queues which will eventually cause a non-allocated virtual address access fault. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit f9c9c01de87e0440380b939c684d9939d48ce175) --- sys/dev/ena/ena.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 8402cf0a3229..b09deb162a12 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -171,7 +171,9 @@ static int ena_copy_customer_metrics(struct ena_adapter *); static void ena_timer_service(void *); static enum ena_regs_reset_reason_types check_cdesc_in_tx_cq(struct ena_adapter *, struct ena_ring *); - +#ifdef DEV_NETMAP +static int ena_reinit_netmap(struct ena_adapter *adapter); +#endif static char ena_version[] = ENA_DEVICE_NAME ENA_DRV_MODULE_NAME " v" ENA_DRV_MODULE_VERSION; @@ -1162,6 +1164,21 @@ ena_refill_rx_bufs(struct ena_ring *rx_ring, uint32_t num) return (i); } +#ifdef DEV_NETMAP +static int +ena_reinit_netmap(struct ena_adapter *adapter) +{ + int rc; + + netmap_detach(adapter->ifp); + rc = ena_netmap_attach(adapter); + if (rc != 0) + ena_log(adapter->pdev, ERR, "netmap attach failed: %d\n", rc); + + return rc; +} + +#endif /* DEV_NETMAP */ int ena_update_buf_ring_size(struct ena_adapter *adapter, uint32_t new_buf_ring_size) @@ -1179,6 +1196,12 @@ ena_update_buf_ring_size(struct ena_adapter *adapter, /* Reconfigure buf ring for all Tx rings. */ ena_free_all_io_rings_resources(adapter); ena_init_io_rings_advanced(adapter); +#ifdef DEV_NETMAP + rc = ena_reinit_netmap(adapter); + if (rc != 0) + return rc; + +#endif /* DEV_NETMAP */ if (dev_was_up) { /* * If ena_up() fails, it's not because of recent buf_ring size @@ -1196,7 +1219,12 @@ ena_update_buf_ring_size(struct ena_adapter *adapter, adapter->buf_ring_size = old_buf_ring_size; ena_free_all_io_rings_resources(adapter); ena_init_io_rings_advanced(adapter); +#ifdef DEV_NETMAP + rc = ena_reinit_netmap(adapter); + if (rc != 0) + return rc; +#endif /* DEV_NETMAP */ ENA_FLAG_SET_ATOMIC(ENA_FLAG_DEV_UP_BEFORE_RESET, adapter); ena_trigger_reset(adapter, ENA_REGS_RESET_OS_TRIGGER); @@ -1224,6 +1252,12 @@ ena_update_queue_size(struct ena_adapter *adapter, uint32_t new_tx_size, /* Configure queues with new size. */ ena_init_io_rings_basic(adapter); +#ifdef DEV_NETMAP + rc = ena_reinit_netmap(adapter); + if (rc != 0) + return rc; + +#endif /* DEV_NETMAP */ if (dev_was_up) { rc = ena_up(adapter); if (unlikely(rc != 0)) { @@ -1235,7 +1269,12 @@ ena_update_queue_size(struct ena_adapter *adapter, uint32_t new_tx_size, adapter->requested_tx_ring_size = old_tx_size; adapter->requested_rx_ring_size = old_rx_size; ena_init_io_rings_basic(adapter); +#ifdef DEV_NETMAP + rc = ena_reinit_netmap(adapter); + if (rc != 0) + return rc; +#endif /* DEV_NETMAP */ /* And try again. */ rc = ena_up(adapter); if (unlikely(rc != 0)) { @@ -1359,7 +1398,12 @@ ena_update_io_queue_nb(struct ena_adapter *adapter, uint32_t new_num) ena_down(adapter); ena_update_io_rings(adapter, new_num); +#ifdef DEV_NETMAP + rc = ena_reinit_netmap(adapter); + if (rc != 0) + return rc; +#endif /* DEV_NETMAP */ if (dev_was_up) { rc = ena_up(adapter); if (unlikely(rc != 0)) { @@ -1369,7 +1413,12 @@ ena_update_io_queue_nb(struct ena_adapter *adapter, uint32_t new_num) new_num, old_num); ena_update_io_rings(adapter, old_num); +#ifdef DEV_NETMAP + rc = ena_reinit_netmap(adapter); + if (rc != 0) + return rc; +#endif /* DEV_NETMAP */ rc = ena_up(adapter); if (unlikely(rc != 0)) { ena_log(adapter->pdev, ERR, From nobody Thu Oct 31 16:00:14 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGk66rhz5bwZG; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGk2rwQz4PDH; Thu, 31 Oct 2024 16:00:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o2jSo/gZz5OP0nPKBRtBDvjw6nwtMVFpfdNjK55JTug=; b=jFHNI6xITlj8Pq5bDCkjP/WewyO9mL+txDwbKtdEbHi+PDinPyBFjyIJSBgKhvANFJbcFD eoohpUeYYOtVVwyUco/Lpy53QxswPq4z7oSDADIIJ/z6bQKEdsJRio/H7EEt0GcOA/MbpJ Dt+Vr1MRRcgfBugkZ6QBAKVDwBi6C5sAqSrEk2mv1Zu5XK/lRZ76LixMyg44GexZMWcdt2 VRqqCMt7OwtMB7EQGVLq55q+uDtysXKa1AkPBZ12fEtbOe6OJN/VYxkkAWNI5H/FX6EY6c S5+xmbwvQCFUQ6vAw1/Ly9kqoXcon8N3fRzanryQmhddNAZvZESWwwKcXmHQnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o2jSo/gZz5OP0nPKBRtBDvjw6nwtMVFpfdNjK55JTug=; b=S2AaZMgn33cPOfKv68OnfwUfz/zk7CpoS+zxGhIrJl7wi2uY/3N/rIr3C0PN3YAnrhS+cc FC4WvpD+oX+QpK2jwRDPJjEVFHeH4OgfcFD/jdcal17itTScIL52pFtHlAECJlTh7NG5G6 gMDuI8A6HcNShE8timXo/h5aXrSNqGKcoXkHtJ463DeTQIppjRo949Vr5yUWYa1EkUrbwd kgkcoiRby06zvLN9i2sWhreVyIu7Xs9fuP7FestN4jutluyTJfnt3BVQtsyhfxvBCsG33j U/UVNwJIE2y+ZHqZpMo2lDj2VXtN2TjKALgIqRW6/fclTD40G2qLUDPFATWuIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390414; a=rsa-sha256; cv=none; b=VTUFckw6I7QjuATEHprcIET+DS1nn1+EMEM3tRUFUqpVTHm0ywC8qhgzpnO4KVtpE+1GIu 2qAtLiT5DuWO/7uWq5YVNjBWUKwa35iqX5RQ6xzU8FGq4qY5BLtYyMr5Ny5wVv5VpoWKyE B3VkLIt+zE+PWtjEuSVH63z6EF/wvS4VgMWMptECQl0k1NIT9HMSsW9CG4AwzH07AfYkTW 0YWlYsh8LaOTAe67rP3+QboWWZb+MGXqi64Uo04rUztfZwpuGcnWFj+nXQJH33L3rwRl+s +QQFK0s+sP4FNlqoZQi3EbdepojO4wBoSTJ8cwo/PXx9ej8IsulOJo/MS8sJZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGk2B94zj7W; Thu, 31 Oct 2024 16:00:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG0E0u064916; Thu, 31 Oct 2024 16:00:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG0EIh064908; Thu, 31 Oct 2024 16:00:14 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:14 GMT Message-Id: <202410311600.49VG0EIh064908@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 2e84b718b652 - stable/13 - ena: Support LLQ entry size recommendation from device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2e84b718b652f8fd8b428580653b87cb645e304c Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=2e84b718b652f8fd8b428580653b87cb645e304c commit 2e84b718b652f8fd8b428580653b87cb645e304c Author: Osama Abboud AuthorDate: 2024-08-07 06:24:21 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:20 +0000 ena: Support LLQ entry size recommendation from device This commit adds support for receiving LLQ entry size recommendation from the device. The driver will use the recommended entry size, unless the user specifically chooses to use regular or large LLQ entry. Also added enum ena_llq_header_size_policy_t and llq_plociy field in order to support the new feature. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit b1c38df05d79c81ee1e9fd0942774820a4ffcb63) --- share/man/man4/ena.4 | 14 +++++++------- sys/dev/ena/ena.c | 39 +++++++++++++++++++++------------------ sys/dev/ena/ena.h | 11 +++++++++++ sys/dev/ena/ena_sysctl.c | 14 +++++++------- sys/dev/ena/ena_sysctl.h | 2 +- 5 files changed, 47 insertions(+), 33 deletions(-) diff --git a/share/man/man4/ena.4 b/share/man/man4/ena.4 index ab1db7e55b9d..fe91e1e6d1ca 100644 --- a/share/man/man4/ena.4 +++ b/share/man/man4/ena.4 @@ -137,17 +137,17 @@ This can further lead to OS instability, together with ENA driver reset and NVMe timeouts. If network performance is critical and memory capacity is sufficient, the 9k mbufs can be used. -.It Va hw.ena.force_large_llq_headers -Force the driver to use large LLQ headers (224 bytes). -The default is 0. +.It Va hw.ena.force_large_llq_header +Force the driver to use large (224 bytes) or regular (96 bytes) LLQ header size. +The default value is 2 and the recommended LLQ header size will be used. If the node value is set to 0, the regular size LLQ header will be used, which is 96B. In some cases, the packet header can be bigger than this (for example - IPv6 with multiple extensions). -In such a situation, the large LLQ headers should be used by setting this node -value to 1. -This will take effect only if the device supports both LLQ and large LLQ -headers. +In such a situation, the large LLQ header size which is 224B should be used, +and can be forced by setting this node value to 1. +Using large LLQ header size will take effect only if the device supports +both LLQ and large LLQ headers. Otherwise, it will fallback to the no LLQ mode or regular header size. .Pp Increasing LLQ header size reduces the size of the Tx queue by half, so it may diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 951fc6719aa3..ecb1629934b0 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -156,7 +156,7 @@ static int ena_set_queues_placement_policy(device_t, struct ena_com_dev *, static int ena_map_llq_mem_bar(device_t, struct ena_com_dev *); static uint32_t ena_calc_max_io_queue_num(device_t, struct ena_com_dev *, struct ena_com_dev_get_features_ctx *); -static int ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *); +static int ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *, struct ena_adapter *); static void ena_config_host_info(struct ena_com_dev *, device_t); static int ena_attach(device_t); static int ena_detach(device_t); @@ -2757,27 +2757,32 @@ ena_map_llq_mem_bar(device_t pdev, struct ena_com_dev *ena_dev) } static inline void -set_default_llq_configurations(struct ena_llq_configurations *llq_config, - struct ena_admin_feature_llq_desc *llq) +ena_set_llq_configurations(struct ena_llq_configurations *llq_config, + struct ena_admin_feature_llq_desc *llq, struct ena_adapter *adapter) { llq_config->llq_header_location = ENA_ADMIN_INLINE_HEADER; llq_config->llq_stride_ctrl = ENA_ADMIN_MULTIPLE_DESCS_PER_ENTRY; llq_config->llq_num_decs_before_header = ENA_ADMIN_LLQ_NUM_DESCS_BEFORE_HEADER_2; - if ((llq->entry_size_ctrl_supported & ENA_ADMIN_LIST_ENTRY_SIZE_256B) != - 0 && ena_force_large_llq_header) { - llq_config->llq_ring_entry_size = - ENA_ADMIN_LIST_ENTRY_SIZE_256B; - llq_config->llq_ring_entry_size_value = 256; + if ((llq->entry_size_ctrl_supported & ENA_ADMIN_LIST_ENTRY_SIZE_256B) != 0) { + if ((ena_force_large_llq_header == ENA_LLQ_HEADER_SIZE_POLICY_LARGE) || + (ena_force_large_llq_header == ENA_LLQ_HEADER_SIZE_POLICY_DEFAULT && + llq->entry_size_recommended == ENA_ADMIN_LIST_ENTRY_SIZE_256B)) { + llq_config->llq_ring_entry_size = + ENA_ADMIN_LIST_ENTRY_SIZE_256B; + llq_config->llq_ring_entry_size_value = 256; + adapter->llq_policy = ENA_ADMIN_LIST_ENTRY_SIZE_256B; + } } else { llq_config->llq_ring_entry_size = ENA_ADMIN_LIST_ENTRY_SIZE_128B; llq_config->llq_ring_entry_size_value = 128; + adapter->llq_policy = ENA_ADMIN_LIST_ENTRY_SIZE_128B; } } static int -ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *ctx) +ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *ctx, struct ena_adapter *adapter) { struct ena_admin_feature_llq_desc *llq = &ctx->get_feat_ctx->llq; struct ena_com_dev *ena_dev = ctx->ena_dev; @@ -2832,22 +2837,20 @@ ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *ctx) max_rx_queue_size = 1 << (flsl(max_rx_queue_size) - 1); /* - * When forcing large headers, we multiply the entry size by 2, + * When using large headers, we multiply the entry size by 2, * and therefore divide the queue size by 2, leaving the amount * of memory used by the queues unchanged. */ - if (ena_force_large_llq_header) { - if ((llq->entry_size_ctrl_supported & - ENA_ADMIN_LIST_ENTRY_SIZE_256B) != 0 && - ena_dev->tx_mem_queue_type == + if (adapter->llq_policy == ENA_ADMIN_LIST_ENTRY_SIZE_256B) { + if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) { max_tx_queue_size /= 2; ena_log(ctx->pdev, INFO, - "Forcing large headers and decreasing maximum Tx queue size to %d\n", + "Using large headers and decreasing maximum Tx queue size to %d\n", max_tx_queue_size); } else { ena_log(ctx->pdev, WARN, - "Forcing large headers failed: LLQ is disabled or device does not support large headers\n"); + "Using large headers failed: LLQ is disabled or device does not support large headers\n"); } } @@ -3003,7 +3006,7 @@ ena_device_init(struct ena_adapter *adapter, device_t pdev, *wd_active = !!(aenq_groups & BIT(ENA_ADMIN_KEEP_ALIVE)); - set_default_llq_configurations(&llq_config, &get_feat_ctx->llq); + ena_set_llq_configurations(&llq_config, &get_feat_ctx->llq, adapter); rc = ena_set_queues_placement_policy(pdev, ena_dev, &get_feat_ctx->llq, &llq_config); @@ -3862,7 +3865,7 @@ ena_attach(device_t pdev) /* Calculate initial and maximum IO queue number and size */ max_num_io_queues = ena_calc_max_io_queue_num(pdev, ena_dev, &get_feat_ctx); - rc = ena_calc_io_queue_size(&calc_queue_ctx); + rc = ena_calc_io_queue_size(&calc_queue_ctx, adapter); if (unlikely((rc != 0) || (max_num_io_queues <= 0))) { rc = EFAULT; goto err_com_free; diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 7ec470638859..132d8882f12c 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -173,6 +173,15 @@ enum ena_flags_t { ENA_FLAGS_NUMBER = ENA_FLAG_RSS_ACTIVE }; +enum ena_llq_header_size_policy_t { + /* Policy for Regular LLQ entry size (128B) */ + ENA_LLQ_HEADER_SIZE_POLICY_REGULAR, + /* Policy for Large LLQ entry size (256B) */ + ENA_LLQ_HEADER_SIZE_POLICY_LARGE, + /* Policy for device recommended LLQ entry size */ + ENA_LLQ_HEADER_SIZE_POLICY_DEFAULT +}; + BITSET_DEFINE(_ena_state, ENA_FLAGS_NUMBER); typedef struct _ena_state ena_state_t; @@ -459,6 +468,8 @@ struct ena_adapter { uint8_t mac_addr[ETHER_ADDR_LEN]; /* mdio and phy*/ + uint8_t llq_policy; + ena_state_t flags; /* IRQ CPU affinity */ diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index ce6e0b7375e6..a6076c57e3f5 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -148,17 +148,17 @@ SYSCTL_INT(_hw_ena, OID_AUTO, enable_9k_mbufs, CTLFLAG_RDTUN, &ena_enable_9k_mbufs, 0, "Use 9 kB mbufs for Rx descriptors"); /* - * Force the driver to use large LLQ (Low Latency Queue) header. Defaults to - * false. This option may be important for platforms, which often handle packet - * headers on Tx with total header size greater than 96B, as it may - * reduce the latency. + * Force the driver to use large or regular LLQ (Low Latency Queue) header size. + * Defaults to ENA_LLQ_HEADER_SIZE_POLICY_DEFAULT. This option may be + * important for platforms, which often handle packet headers on Tx with total + * header size greater than 96B, as it may reduce the latency. * It also reduces the maximum Tx queue size by half, so it may cause more Tx * packet drops. */ -bool ena_force_large_llq_header = false; -SYSCTL_BOOL(_hw_ena, OID_AUTO, force_large_llq_header, CTLFLAG_RDTUN, +int ena_force_large_llq_header = ENA_LLQ_HEADER_SIZE_POLICY_DEFAULT; +SYSCTL_INT(_hw_ena, OID_AUTO, force_large_llq_header, CTLFLAG_RDTUN, &ena_force_large_llq_header, 0, - "Increases maximum supported header size in LLQ mode to 224 bytes, while reducing the maximum Tx queue size by half.\n"); + "Change default LLQ entry size received from the device\n"); int ena_rss_table_size = ENA_RX_RSS_TABLE_SIZE; diff --git a/sys/dev/ena/ena_sysctl.h b/sys/dev/ena/ena_sysctl.h index df9cc8cb592f..9dcfa311d73e 100644 --- a/sys/dev/ena/ena_sysctl.h +++ b/sys/dev/ena/ena_sysctl.h @@ -46,6 +46,6 @@ extern int ena_enable_9k_mbufs; #define ena_mbuf_sz (ena_enable_9k_mbufs ? MJUM9BYTES : MJUMPAGESIZE) /* Force the driver to use large LLQ (Low Latency Queue) headers. */ -extern bool ena_force_large_llq_header; +extern int ena_force_large_llq_header; #endif /* !(ENA_SYSCTL_H) */ From nobody Thu Oct 31 16:00:13 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGk01DYz5bwnd; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGj2Cdqz4PP2; Thu, 31 Oct 2024 16:00:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3M8EvPs5Ms/2aajTn+mHbROAqtSvOqhwxkDUoRFbcgA=; b=XVQ671szo7N3TGsouT+4owx9CTsMbx9sqdc3Ij8TlWplUWp5NhDxMSpp/36POEX1LaWOXP GvjHnEb4PwJH7CHAlt9IBGRlmoC4cpvOefwJmVnsuQ+nCGCvtJ1kiPxkX7E8v0nLmG/7cU RWZVFrXHBQ1anHmCAXOjlk++x8CORMrW+E6TKiLqOhE1o0Z36/EujEm4KSE1y3pUUCPduu twmnDm9zqo16h17AtZB6EZDVMAxnkh6UOP3UimQy097SSNb7gDVaSbpvFJgdY4fTjiks/+ SpmUpLcq+TDHlWs1lmNTvd/hRWm1XIkpV3ZJehCdmVrlQdGbWaui4EZyWuDr4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3M8EvPs5Ms/2aajTn+mHbROAqtSvOqhwxkDUoRFbcgA=; b=hSTVD8AzZnhDVZH31JadA1eOyhq7TsV6crGGn+QodL96tL1VQPVwyuMd5zREDPGF/GBgfw 8SitXzQl3NpgdI2FEYoipHAPmg8WPv+3AnDcRcpPBiQdTCGWHFjYrVhSSpfC70X1wK0b2G kbI0E1alxGrLNberNSvv8BXJwArfoOf3zbXE4BlXTu1DfBRqGQw6rd1nrPhdJRW1Jqt7ar WNGQyfc6tR7TAGnwdrDz/qurmsaOJE+JgIrRsut+/KzbAHf7DLR7yFAeB5/MfYIdiFYvPA Qtoa1HNml15FwGStjjPQfSXzB/o1piX49lmk3b1wEzlUSOwK1D9koZpeOndhPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390413; a=rsa-sha256; cv=none; b=iwuASxpKrCBUj3ohC+ZpINwKVGLdMq/OmqfmXsFwqfqrArCBJFJqx6eFIkirgDmab3h1jN SQtTC8kQMfwHQwR+2u9PYzwwXWn4QlAYzYy7pl7WVU4KTIuRTfzTecuCWf7gm8pzyGqR+v KQJ5RGieCKUYNf56zyqZZ8w+CSAAQZkKyBJHkGzU6e7NdpBoz5fE9EEK0JCgjrZSFvbXDQ m0gDH2H1tb1U8iRes/BVCclMno3i7pVSnvOcXiQDLFUTASjRM8RissQaubPFET1oqkokN5 l1KsoYVDg+4c+G0Zdy6dzp4Ymiurkk3i6vI8p/0UlSdC0wOijRWoVH+0t59OQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGj1qVLzhdY; Thu, 31 Oct 2024 16:00:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG0DcN064203; Thu, 31 Oct 2024 16:00:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG0DUL064194; Thu, 31 Oct 2024 16:00:13 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:13 GMT Message-Id: <202410311600.49VG0DUL064194@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: d5141ea592ea - stable/13 - ena: Add support for device request reset message over AENQ List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d5141ea592eaf1f7fbc24420fb9a6b32fe4b9c7d Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=d5141ea592eaf1f7fbc24420fb9a6b32fe4b9c7d commit d5141ea592eaf1f7fbc24420fb9a6b32fe4b9c7d Author: Osama Abboud AuthorDate: 2024-08-07 06:24:21 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:20 +0000 ena: Add support for device request reset message over AENQ This commit adds a handler for the new aenq message ENA_ADMIN_DEVICE_REQUEST_RESET, which in turn causes the driver to trigger reset of a new type: ENA_REGS_RESET_DEVICE_REQUEST. Also adds counting of such occurrences in a new statistic for it. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 705879424bc76fcc925e78eb7643dbf4bd9a11eb) --- sys/dev/ena/ena.c | 13 ++++++++++++- sys/dev/ena/ena.h | 2 ++ sys/dev/ena/ena_sysctl.c | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index b09deb162a12..951fc6719aa3 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -2991,7 +2991,8 @@ ena_device_init(struct ena_adapter *adapter, device_t pdev, BIT(ENA_ADMIN_WARNING) | BIT(ENA_ADMIN_NOTIFICATION) | BIT(ENA_ADMIN_KEEP_ALIVE) | - BIT(ENA_ADMIN_CONF_NOTIFICATIONS); + BIT(ENA_ADMIN_CONF_NOTIFICATIONS) | + BIT(ENA_ADMIN_DEVICE_REQUEST_RESET); aenq_groups &= get_feat_ctx->aenq.supported_groups; rc = ena_com_set_aenq_config(ena_dev, aenq_groups); @@ -4196,12 +4197,22 @@ static void ena_conf_notification(void *adapter_data, } } +static void ena_admin_device_request_reset(void *adapter_data, + struct ena_admin_aenq_entry *aenq_e) +{ + struct ena_adapter *adapter = (struct ena_adapter *)adapter_data; + ena_log(adapter->pdev, WARN, + "The device has detected an unhealthy state, reset is requested\n"); + ena_trigger_reset(adapter, ENA_REGS_RESET_DEVICE_REQUEST); +} + static struct ena_aenq_handlers aenq_handlers = { .handlers = { [ENA_ADMIN_LINK_CHANGE] = ena_update_on_link_change, [ENA_ADMIN_NOTIFICATION] = ena_notification, [ENA_ADMIN_KEEP_ALIVE] = ena_keep_alive_wd, [ENA_ADMIN_CONF_NOTIFICATIONS] = ena_conf_notification, + [ENA_ADMIN_DEVICE_REQUEST_RESET] = ena_admin_device_request_reset, }, .unimplemented_handler = unimplemented_aenq_handler }; diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index c9eb9e8c43d3..7ec470638859 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -396,6 +396,7 @@ struct ena_stats_dev { counter_u64_t rx_desc_malformed; counter_u64_t missing_admin_interrupt; counter_u64_t admin_to; + counter_u64_t device_request_reset; }; struct ena_hw_stats { @@ -558,6 +559,7 @@ static const struct ena_reset_stats_offset resets_to_stats_offset_map[ENA_REGS_R ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED, tx_desc_malformed), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED, rx_desc_malformed), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISSING_ADMIN_INTERRUPT, missing_admin_interrupt), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_DEVICE_REQUEST, device_request_reset), }; int ena_up(struct ena_adapter *adapter); diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index e18328ddc8b2..ce6e0b7375e6 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -301,6 +301,8 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &dev_stats->missing_admin_interrupt, "Missing admin interrupts count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "admin_to", CTLFLAG_RD, &dev_stats->admin_to, "Admin queue timeouts count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "device_request_reset", CTLFLAG_RD, + &dev_stats->device_request_reset, "Device reset requests count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "total_resets", CTLFLAG_RD, &dev_stats->total_resets, "Total resets count"); From nobody Thu Oct 31 16:00:15 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGm0nqbz5bwPG; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGl385Mz4PJj; Thu, 31 Oct 2024 16:00:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8pCl9u+tqvVAv182J+Ejblw3qntXhV1PkWUKTnAnFXg=; b=VMbTUQtcdip+hjzxxupgcBxBr2DIjGNpV36XO1Zcrb7yUVLdEtwwE84md9vlQwYfBYKlad XpCXiIjmT/UASy7fY6zHrFKXGbKkpqboWAIf/LJU4zKLfdS3Tsc1bIVH5VE3wSsDCwPpL0 FB/cHnqmtOWodFMKgOzd/4/zZURSS3M+RpCqz5ZFyc0YNPLj6/CvQP/i/BQFAoHrXAuSRP ZmbpBuXwxy6ABVXSpWG9STOuL8di07ZL7lYdpqIJqoUw+rWYjOVYaCKkth6onunz1qioK+ Wt1rOC7sXUtDHHDRmr7wU4PBtk6UWUeeOjZCQnz3aQoV6vHHw4aMyrCwFMVueg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8pCl9u+tqvVAv182J+Ejblw3qntXhV1PkWUKTnAnFXg=; b=ucbeFLCq7T2F2sHFW6DI+/pHmCIpVapj2CdRn/juMmY0A462J1JrQRvrMH+VneC7Du1FIj TifxR6J3esBPgx7VL68nM6v0QPPruvNFgOjFNAK1GJiDv6Yo2/f6sAbrK0fft0R6EofYGX tlOOPs0HD2o+ZRHJUycDY6sdus3Sxb89PwtqGKu/CdVpF3i+blL9y2jpYUSenkVrk//WR2 eLad3yqYAJXXhw3rwHYmUqkdmzDmXx7HouVEi40gQA/dTZKXL5GGP8hmEiEPujeDgQUWVP aoeOIDc0IZAQXsiijl+80nH4gzHhkgoIcYhT3zojzkD61NvemDfHiHl+DZn08w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390415; a=rsa-sha256; cv=none; b=vMw8LIG/7PG9mcXjL7S3oq4z2F2Xdl7nVT2VQ1lRtKd+vYqCss82MyuaXgxtUjnqO4I6PE vOGQLNCspTd+5r7APNPb8uRovjmUPfQgU7aX3kxVIMAKJC37ZkYyankGRl59AmSRajU0pp KGu/wmMrkjl8qpZcgtWvJZyRZ+QDvIHZ46b6i/j6MurGJnClFZmAN07Lk1AAUH7KhYjkJC 6bCLqTvpjcJoVSvpbH+Wgao7E2JylgIbdT2YeVJAgr/I0LOk25RnwQfBd+42PxAS387B3n i4rYH2EiyJXVmIYIz1CELbrkcC/bpx/ZQTWzVsCGfUtzEmaA/ZmbKsmRuR29TA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGl2j4Zzj5H; Thu, 31 Oct 2024 16:00:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG0FPQ065642; Thu, 31 Oct 2024 16:00:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG0F8W065633; Thu, 31 Oct 2024 16:00:15 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:15 GMT Message-Id: <202410311600.49VG0F8W065633@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 8cc3352003fd - stable/13 - ena: Support max large LLQ depth from the device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8cc3352003fd7d93010beb85ea754853007bc493 Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=8cc3352003fd7d93010beb85ea754853007bc493 commit 8cc3352003fd7d93010beb85ea754853007bc493 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:22 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:20 +0000 ena: Support max large LLQ depth from the device Large LLQ depth size is currently calculated by dividing the maximum possible size of LLQ by 2. In newer paltforms, starting from r8g the size of BAR2, which contains LLQ, will be increased, and the maximum depth of wide LLQ will be set according to a value set by the device, instead of hardcoded division by 2. The new value will be stored by the device in max_wide_llq_depth field for drivers that expose ENA_ADMIN_LLQ_FEATURE_VERSION_1 or higher to the device. There is an assumption that max_llq_depth >= max_wide_llq_depth, since they both use the same bar, and if it is possible to have a wide LLQ of size max_wide_llq_depth, it is possible to have a normal LLQ of the same size, since it will occupy half of the space. Also moved the large LLQ case calculation of max_tx_queue_size before its rounddown. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit d0419551d96c8f995bdf6388a8e69684be33f9b5) --- sys/dev/ena/ena.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index ecb1629934b0..1455d29a1f4f 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -2832,28 +2832,34 @@ ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *ctx, struct ena_adapter * max_queues->max_packet_rx_descs); } - /* round down to the nearest power of 2 */ - max_tx_queue_size = 1 << (flsl(max_tx_queue_size) - 1); - max_rx_queue_size = 1 << (flsl(max_rx_queue_size) - 1); - - /* - * When using large headers, we multiply the entry size by 2, - * and therefore divide the queue size by 2, leaving the amount - * of memory used by the queues unchanged. - */ if (adapter->llq_policy == ENA_ADMIN_LIST_ENTRY_SIZE_256B) { - if (ena_dev->tx_mem_queue_type == - ENA_ADMIN_PLACEMENT_POLICY_DEV) { - max_tx_queue_size /= 2; - ena_log(ctx->pdev, INFO, - "Using large headers and decreasing maximum Tx queue size to %d\n", - max_tx_queue_size); + if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) { + if (llq->max_wide_llq_depth != max_tx_queue_size) { + if (llq->max_wide_llq_depth == 0) { + /* if there is no large llq max depth from device, we divide + * the queue size by 2, leaving the amount of memory + * used by the queues unchanged. + */ + max_tx_queue_size /= 2; + } else { + max_tx_queue_size = llq->max_wide_llq_depth; + } + ena_log(ctx->pdev, INFO, + "Using large LLQ headers and decreasing maximum Tx queue size to %d\n", + max_tx_queue_size); + } else { + ena_log(ctx->pdev, INFO, "Using large LLQ headers\n"); + } } else { ena_log(ctx->pdev, WARN, "Using large headers failed: LLQ is disabled or device does not support large headers\n"); } } + /* round down to the nearest power of 2 */ + max_tx_queue_size = 1 << (flsl(max_tx_queue_size) - 1); + max_rx_queue_size = 1 << (flsl(max_rx_queue_size) - 1); + tx_queue_size = clamp_val(tx_queue_size, ENA_MIN_RING_SIZE, max_tx_queue_size); rx_queue_size = clamp_val(rx_queue_size, ENA_MIN_RING_SIZE, From nobody Thu Oct 31 16:00:16 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGm6xLwz5bwnn; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGm472vz4PZ5; Thu, 31 Oct 2024 16:00:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KEGNarfgp8WvEsMYRuRjxSbA1O9IVwdfuUYGUUrjbEc=; b=Nme/fjAVnW2pYrlQRUIvzC1j3HzHkhBPUn11iJS35XoXnAI7JhVzpdvEX3ciLso/Qx64QO 9xNPOPIFMHCMyppfhmv4KvpXlKmWYv6GI/P9FFfa1dLeHPYyzu/prpY+VccbBbBqznwe67 ESqJG4knPKB2br16eiegU6zuJOxPiANO4e3IcWPhppmBq8PpthIISndRb/ch7X9UW/fTqP DMLbhmDaVt6f5h73peMrL3eGCBojOHX2xbCCsF2Al9b2hd8V8bFRnNUeNtuMlXNAU5hSTO YEfInLU3/l320M6xfhPA4SdXgurDXqlpt7pNAueBV5nyg0Ezg59rvzKIjxYQCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KEGNarfgp8WvEsMYRuRjxSbA1O9IVwdfuUYGUUrjbEc=; b=b82UICt51E7zpUqPfv5N0SmDSt1GKBJAHVYs22NGOb3LVuNusEo2n44DnS4wgL5Q5U18Dg 1yOb/qoO48DkS0zaC+1H2wTePu1S8JBAAS8nTSoAUgyF9XD38Lb8Sub6okLil5/fN/huvr mMTIen8AuUsBDui32IhH3m8URskroTntjVoGOQIenbX2WlQymDZAzpTgyIqOoS8ykNqhC2 jNYy44UxOXw9oBD+HQZKBzLkD3jo2UyM7kWqsVmTDLhHvSQkim1NGzkpllp6uHSiNZAhp9 T8Mqah7DmNFdhNoUELrOiKXydZ4RvXRcr1uy4lIgtEhbtxQS/3Do40GRQ5Q8GA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390416; a=rsa-sha256; cv=none; b=DgCQO7SXogKr2aP/tI01lr8BC9HtLL+hVwPzkglsZhF8KIwlZga/zq5W8ia5DGxj6WbwtP Je+OahmIAzbAcKAFAzF6kfUVIHPD6elK2AdnDRTR7JrQg3mEb1DNW2Fvu1f8bCDJPQaIAt AzFjQX/COyv2NZ0Ktunw7BoTrdFzZDPdArC52GxsoJMF0e+d6jFU4mMO9ojujDJ+vEH1f1 z9LlNZqRcQyBMJuZwdEhfIi2OW0Yc5TZiNo/zgDg4gva0issJVWarziOIR7SHma7GqeWaK dClVmmY2BqagejYLlLx026E3izXQh6M4Y8durgmhrvle9dedWIi+TlLB1xNRtQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGm3hJBzjV9; Thu, 31 Oct 2024 16:00:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG0GQP066305; Thu, 31 Oct 2024 16:00:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG0GT4066296; Thu, 31 Oct 2024 16:00:16 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:16 GMT Message-Id: <202410311600.49VG0GT4066296@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: db775f50e947 - stable/13 - ena: Fix leaking ifmedia resources on detach List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: db775f50e94744cfedd1f15e3aa5152ab1fbdcde Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=db775f50e94744cfedd1f15e3aa5152ab1fbdcde commit db775f50e94744cfedd1f15e3aa5152ab1fbdcde Author: Osama Abboud AuthorDate: 2024-08-07 06:24:22 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:21 +0000 ena: Fix leaking ifmedia resources on detach ifmedia_add() allocates an ifmedia_entry during ena_attach. Current code doesn't release this memory during ena_detach() This commit calls ifmedia_removeall() to properly free the allocated memory during ena_detach(). Also, in case ena_attach fails, we need to detach ifmedia which was allocated within ena_setup_ifnet(). This bug was first described in: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278100 Reviewed by: zlei Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 449496eb28daec8d5b852fa4be1e337c2957345c) --- sys/dev/ena/ena.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 1455d29a1f4f..a0d3cf28861e 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3982,6 +3982,7 @@ ena_attach(device_t pdev) #ifdef DEV_NETMAP err_detach: ether_ifdetach(adapter->ifp); + ifmedia_removeall(&adapter->media); free(adapter->customer_metrics_array, M_DEVBUF); #endif /* DEV_NETMAP */ err_metrics_buffer_destroy: @@ -4032,6 +4033,8 @@ ena_detach(device_t pdev) ether_ifdetach(adapter->ifp); + ifmedia_removeall(&adapter->media); + /* Stop timer service */ ENA_LOCK_LOCK(); ENA_TIMER_DRAIN(adapter); From nobody Thu Oct 31 16:00:17 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTGp3GWXz5bwPL; Thu, 31 Oct 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTGn4dtpz4PTc; Thu, 31 Oct 2024 16:00:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ljw40mi+lPlQjT6+Lvs/wpRwdHuGIzUqxMLdEKZQO68=; b=w7jhSM0xs2MNVoFTsqfMbgCTnEQjbxnK7ulhQD/v0+tN/NE1QP9K/0FSDpwyJ+OqSh/F8O iUz2S/ZzDxbEmJ8EnUkGiFhHQW3TsCQIhN1tO4IXR1d8kRDCftOh9TuPk1imd6ohCcAkEn 7GtwyPHx+pwp35IDHOUpuE5soW9/YzhWy4Q1xPpTVeAsbQGPb2z9lvfmZLXOgToFwpiND9 1BDWkn6wlsi/HkpjiCMX09fnW1NTY9ea5Rg9n/J+TRhhmaESjPUDPGIHHb44ktADWTR9Uk iiR3YqBXfUAP/YRUx91bJkMREFsJWTWuE85uMN3SimD3a/lGGjuBNrYUNE8nvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ljw40mi+lPlQjT6+Lvs/wpRwdHuGIzUqxMLdEKZQO68=; b=wgcxTuU4d+NoJnImamXJLbRrRPdbG8NgknTfFqHGgo3aXS2lXFd8RZDnk1BsHrnY6FGvU4 MQq0qUyz9JfkuI+EDBF1KSGLhgzSUSjIJ7vV/uUoyt4kVer3CkL0antQE5bhywS6ZD/g+k g3CFzUuM+8kIdfogRa8TkKoc1IuRHU+D8uYGhjgFSXz/rZEj/tgs8eiIPytB56uO9AGA9q km4KPgMcNmMne9xnJc2VRIP73Ko2Hwmh1t07T5b4+jhNAaRskwbID8ad5B4nUCy+llfdvI r4VOo14VQIbPMbrifCERbYqQGWNwWVyALSvVL5JnbANSyqTXPeBig9ZPhJr6mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390417; a=rsa-sha256; cv=none; b=fbfYmwfCBUCv+zqCf3kx/LDSbZ3+fkUOXwa9/m9su5K9dOpHfwwO9gH/xWfWKiYVeZweTv LON1eXYAX3VsnOzRTJCgODnuNwDTqbS2l+CVrgfBOPNRDZXw0JnBAg4Vn4kEEnPjhmLqyY mzhU5qJpwHtqEt+9hAJ7bsQ5Pyccj81699EPTx9AVDkHJYFufyGzH6yUL0gIKgcQ3cONAH EKLJu/zl0exzj72VhlJ15Sbh9QbVND3Bua22Int6cwURvg2Fulkza/TKzDv/iSxA3VTBOS EtkuXigQCP1LGsEe8gTelgqk9x8f+wCGQqY9ICqjVJ1+709Bu9n7t+CFbhHiGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTGn4Fj9zj5J; Thu, 31 Oct 2024 16:00:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG0HEt066919; Thu, 31 Oct 2024 16:00:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG0HBs066914; Thu, 31 Oct 2024 16:00:17 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:00:17 GMT Message-Id: <202410311600.49VG0HBs066914@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 2e7ba5d93e2d - stable/13 - ena: Update driver version to v2.8.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2e7ba5d93e2d55e5d20aaa43fd5a3b67dd7bf25a Auto-Submitted: auto-generated The branch stable/13 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=2e7ba5d93e2d55e5d20aaa43fd5a3b67dd7bf25a commit 2e7ba5d93e2d55e5d20aaa43fd5a3b67dd7bf25a Author: osamaabb AuthorDate: 2024-08-07 08:06:49 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:55:21 +0000 ena: Update driver version to v2.8.0 Features: * Add support for device request reset message over AENQ * Support LLQ entry size recommendation from device * Support max large LLQ depth from the device * Expand PHC infrastructures * Configuration notification support Bug Fixes: * Fix leaking ifmedia resources on detach * Fix netmap socket chain unmapping issue * Properly reinit netmap structs upon sysctl changes * Correctly count missing TX completions Minor Changes: * Add reset reason for corrupted TX/RX completion descriptors * Add reset reason for missing admin interrupts * Improve reset reason statistics * Update licenses Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit ce4cc746bb4171a131ab9099947a500c0de18ff4) --- sys/dev/ena/ena.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 132d8882f12c..06bdfad97ed4 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -38,7 +38,7 @@ #include "ena-com/ena_eth_com.h" #define ENA_DRV_MODULE_VER_MAJOR 2 -#define ENA_DRV_MODULE_VER_MINOR 7 +#define ENA_DRV_MODULE_VER_MINOR 8 #define ENA_DRV_MODULE_VER_SUBMINOR 0 #define ENA_DRV_MODULE_NAME "ena" From nobody Thu Oct 31 16:01:20 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJ04H1lz5bwp9; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJ027C0z4Sn5; Thu, 31 Oct 2024 16:01:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390480; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O+q9Chs+KtKBJKT4oEQhIcaB6auSJgsog3XSrAlKXQc=; b=FJWwVXYj0VvOZgqHU5eV99uiZQ7dbO8EChsoTB+sGdfWiDb8ey+6sbd3/OnfPwHwggm3g9 Ce+aR764buN5VNyyCJ1rhCEd9l83fTUtpJZl/mr/zBObEPQ0CcIFtYeoRu/hmlcFQAgnHw GVZkz4+anJ5tnK3wxssGNd/YdefNnRH26jbzf7NNII9P3hCWjL176j2LOIOiPadOd9jU/6 VmxA8/yw25Qc+jMIrnIc8I9qzw7tyeBPt1WL+NgKjDrrSGDEzjPGy/Mhw942L7oC8KgBV8 H7vuf54QSgvdeNj3I/c4f4hgmdol8BDdxhRmoTMqkVgdWD1qPW8fO4NCbTZaRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390480; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O+q9Chs+KtKBJKT4oEQhIcaB6auSJgsog3XSrAlKXQc=; b=rQS+/4u5kLNqJ/sRwQeeiLKDzF78fTa3W7+/i3Ba9rsJHbDQNsD1RyFmWJxjBw38jUO1gc 9UQeh+uK3rcafAXTx6EFQha3tRlSaFpfeqOo8POa+0eF1LfKzoL0AgkTOrsJdUa4qKJFlD atxjMKGrDgVOJDzhKzairun46U54vcA/XbPr9fEk2X8/xmU1lraxr1TKGYAxFPW6vW579H 8VC4E/ZDIhM+NlvkmrdIUYdfvlh+BqjczIQPduOljL1I2biPjNgBgexmEZ4pWSSqzIM0j/ SCGy6e1mW3qzF6J7THYJGrFcOcooiq2a4o9kGLXX6epLru/5v8s9rQ3RtgSO/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390480; a=rsa-sha256; cv=none; b=UqCEvsoawCGRFjrO92nkfcVvQtacqE16b53UxGc/GE/j0WL4SP9K/al4wHUPU/EaPhFLvV bJdFvnT1mkKVYONYrBszcxq7Cz+kgFszMH1ZNhhVIeGitMLdHs3S3DhbfQdgsNys6sB0dg RET/tDC7V24A7vKvMy6cwLXHuY8mrXckEo8KaBiueGAw8D1EDucEDUMG9M2Af5n/rS1vG9 oJBAVd/BM+kd9661hgbP9cxlg6ewBVsvBWgIe1wOGikBFOUACz3dOLZ1j1YIC/DQpAob3x ADZCP2Wbs31bCEvHrLDcpWYv/Sk1lcpGK3bVokOsbvM8m50LxJCxvtfAXSajYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJ019DKzjsd; Thu, 31 Oct 2024 16:01:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1KRc069805; Thu, 31 Oct 2024 16:01:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1K7g069802; Thu, 31 Oct 2024 16:01:20 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:20 GMT Message-Id: <202410311601.49VG1K7g069802@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 699706f80be9 - stable/14 - ena: Upgrade ena-com to freebsd v2.8.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 699706f80be9f8f8559f17f1db554b1671043ac4 Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=699706f80be9f8f8559f17f1db554b1671043ac4 commit 699706f80be9f8f8559f17f1db554b1671043ac4 Author: Osama Abboud AuthorDate: 2024-10-15 17:02:26 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:10 +0000 ena: Upgrade ena-com to freebsd v2.8.0 Merge commit '0fd934a2fd12fa74ae409d3de1313e449be5d97e' Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit f5f8d7c9cdf0341f7c5fdb3a7c3358ec0ed67a0c) --- sys/contrib/ena-com/ena_com.c | 257 ++++++++++++++++++------- sys/contrib/ena-com/ena_com.h | 61 +++++- sys/contrib/ena-com/ena_defs/ena_admin_defs.h | 112 ++++++++--- sys/contrib/ena-com/ena_defs/ena_eth_io_defs.h | 43 ++++- sys/contrib/ena-com/ena_defs/ena_gen_info.h | 34 ---- sys/contrib/ena-com/ena_defs/ena_regs_defs.h | 5 + sys/contrib/ena-com/ena_eth_com.c | 38 ++-- sys/contrib/ena-com/ena_eth_com.h | 19 +- sys/contrib/ena-com/ena_plat.h | 7 +- 9 files changed, 425 insertions(+), 151 deletions(-) diff --git a/sys/contrib/ena-com/ena_com.c b/sys/contrib/ena-com/ena_com.c index 91c711eaa438..ae952c4e4435 100644 --- a/sys/contrib/ena-com/ena_com.c +++ b/sys/contrib/ena-com/ena_com.c @@ -70,15 +70,19 @@ #define ENA_REGS_ADMIN_INTR_MASK 1 +#define ENA_MAX_BACKOFF_DELAY_EXP 16U + #define ENA_MIN_ADMIN_POLL_US 100 #define ENA_MAX_ADMIN_POLL_US 5000 /* PHC definitions */ -#define ENA_PHC_DEFAULT_EXPIRE_TIMEOUT_USEC 20 +#define ENA_PHC_DEFAULT_EXPIRE_TIMEOUT_USEC 10 #define ENA_PHC_DEFAULT_BLOCK_TIMEOUT_USEC 1000 -#define ENA_PHC_TIMESTAMP_ERROR 0xFFFFFFFFFFFFFFFF +#define ENA_PHC_MAX_ERROR_BOUND 0xFFFFFFFF #define ENA_PHC_REQ_ID_OFFSET 0xDEAD +#define ENA_PHC_ERROR_FLAGS (ENA_ADMIN_PHC_ERROR_FLAG_TIMESTAMP | \ + ENA_ADMIN_PHC_ERROR_FLAG_ERROR_BOUND) /*****************************************************************************/ /*****************************************************************************/ @@ -111,7 +115,7 @@ static int ena_com_mem_addr_set(struct ena_com_dev *ena_dev, struct ena_common_mem_addr *ena_addr, dma_addr_t addr) { - if ((addr & GENMASK_ULL(ena_dev->dma_addr_bits - 1, 0)) != addr) { + if (unlikely((addr & GENMASK_ULL(ena_dev->dma_addr_bits - 1, 0)) != addr)) { ena_trc_err(ena_dev, "DMA address has more bits that the device supports\n"); return ENA_COM_INVAL; } @@ -131,7 +135,7 @@ static int ena_com_admin_init_sq(struct ena_com_admin_queue *admin_queue) ENA_MEM_ALLOC_COHERENT(admin_queue->q_dmadev, size, sq->entries, sq->dma_addr, sq->mem_handle); - if (!sq->entries) { + if (unlikely(!sq->entries)) { ena_trc_err(ena_dev, "Memory allocation failed\n"); return ENA_COM_NO_MEM; } @@ -154,7 +158,7 @@ static int ena_com_admin_init_cq(struct ena_com_admin_queue *admin_queue) ENA_MEM_ALLOC_COHERENT(admin_queue->q_dmadev, size, cq->entries, cq->dma_addr, cq->mem_handle); - if (!cq->entries) { + if (unlikely(!cq->entries)) { ena_trc_err(ena_dev, "Memory allocation failed\n"); return ENA_COM_NO_MEM; } @@ -179,7 +183,7 @@ static int ena_com_admin_init_aenq(struct ena_com_dev *ena_dev, aenq->dma_addr, aenq->mem_handle); - if (!aenq->entries) { + if (unlikely(!aenq->entries)) { ena_trc_err(ena_dev, "Memory allocation failed\n"); return ENA_COM_NO_MEM; } @@ -213,6 +217,7 @@ static int ena_com_admin_init_aenq(struct ena_com_dev *ena_dev, static void comp_ctxt_release(struct ena_com_admin_queue *queue, struct ena_comp_ctx *comp_ctx) { + comp_ctx->user_cqe = NULL; comp_ctx->occupied = false; ATOMIC32_DEC(&queue->outstanding_cmds); } @@ -264,7 +269,7 @@ static struct ena_comp_ctx *__ena_com_submit_admin_cmd(struct ena_com_admin_queu /* In case of queue FULL */ cnt = (u16)ATOMIC32_READ(&admin_queue->outstanding_cmds); - if (cnt >= admin_queue->q_depth) { + if (unlikely(cnt >= admin_queue->q_depth)) { ena_trc_dbg(admin_queue->ena_dev, "Admin queue is full.\n"); admin_queue->stats.out_of_space++; return ERR_PTR(ENA_COM_NO_SPACE); @@ -388,7 +393,7 @@ static int ena_com_init_io_sq(struct ena_com_dev *ena_dev, io_sq->desc_addr.mem_handle); } - if (!io_sq->desc_addr.virt_addr) { + if (unlikely(!io_sq->desc_addr.virt_addr)) { ena_trc_err(ena_dev, "Memory allocation failed\n"); return ENA_COM_NO_MEM; } @@ -413,7 +418,7 @@ static int ena_com_init_io_sq(struct ena_com_dev *ena_dev, if (!io_sq->bounce_buf_ctrl.base_buffer) io_sq->bounce_buf_ctrl.base_buffer = ENA_MEM_ALLOC(ena_dev->dmadev, size); - if (!io_sq->bounce_buf_ctrl.base_buffer) { + if (unlikely(!io_sq->bounce_buf_ctrl.base_buffer)) { ena_trc_err(ena_dev, "Bounce buffer memory allocation failed\n"); return ENA_COM_NO_MEM; } @@ -478,7 +483,7 @@ static int ena_com_init_io_cq(struct ena_com_dev *ena_dev, ENA_CDESC_RING_SIZE_ALIGNMENT); } - if (!io_cq->cdesc_addr.virt_addr) { + if (unlikely(!io_cq->cdesc_addr.virt_addr)) { ena_trc_err(ena_dev, "Memory allocation failed\n"); return ENA_COM_NO_MEM; } @@ -506,6 +511,9 @@ static void ena_com_handle_single_admin_completion(struct ena_com_admin_queue *a return; } + if (!comp_ctx->occupied) + return; + comp_ctx->status = ENA_CMD_COMPLETED; comp_ctx->comp_status = cqe->acq_common_descriptor.status; @@ -581,8 +589,9 @@ static int ena_com_comp_status_to_errno(struct ena_com_admin_queue *admin_queue, static void ena_delay_exponential_backoff_us(u32 exp, u32 delay_us) { + exp = ENA_MIN32(ENA_MAX_BACKOFF_DELAY_EXP, exp); delay_us = ENA_MAX32(ENA_MIN_ADMIN_POLL_US, delay_us); - delay_us = ENA_MIN32(delay_us * (1U << exp), ENA_MAX_ADMIN_POLL_US); + delay_us = ENA_MIN32(ENA_MAX_ADMIN_POLL_US, delay_us * (1U << exp)); ENA_USLEEP(delay_us); } @@ -604,7 +613,7 @@ static int ena_com_wait_and_process_admin_cq_polling(struct ena_comp_ctx *comp_c if (comp_ctx->status != ENA_CMD_SUBMITTED) break; - if (ENA_TIME_EXPIRE(timeout)) { + if (unlikely(ENA_TIME_EXPIRE(timeout))) { ena_trc_err(admin_queue->ena_dev, "Wait for completion (polling) timeout\n"); /* ENA didn't have any completion */ @@ -803,7 +812,7 @@ static int ena_com_config_llq_info(struct ena_com_dev *ena_dev, llq_default_cfg->llq_ring_entry_size_value; rc = ena_com_set_llq(ena_dev); - if (rc) + if (unlikely(rc)) ena_trc_err(ena_dev, "Cannot set LLQ configuration: %d\n", rc); return rc; @@ -830,6 +839,7 @@ static int ena_com_wait_and_process_admin_cq_interrupts(struct ena_comp_ctx *com ENA_SPINLOCK_UNLOCK(admin_queue->q_lock, flags); if (comp_ctx->status == ENA_CMD_COMPLETED) { + admin_queue->is_missing_admin_interrupt = true; ena_trc_err(admin_queue->ena_dev, "The ena device sent a completion but the driver didn't receive a MSI-X interrupt (cmd %d), autopolling mode is %s\n", comp_ctx->cmd_opcode, admin_queue->auto_polling ? "ON" : "OFF"); @@ -850,8 +860,19 @@ static int ena_com_wait_and_process_admin_cq_interrupts(struct ena_comp_ctx *com ret = ENA_COM_TIMER_EXPIRED; goto err; } + } else if (unlikely(comp_ctx->status == ENA_CMD_ABORTED)) { + ena_trc_err(admin_queue->ena_dev, "Command was aborted\n"); + ENA_SPINLOCK_LOCK(admin_queue->q_lock, flags); + admin_queue->stats.aborted_cmd++; + ENA_SPINLOCK_UNLOCK(admin_queue->q_lock, flags); + ret = ENA_COM_NO_DEVICE; + goto err; } + ENA_WARN(comp_ctx->status != ENA_CMD_COMPLETED, + admin_queue->ena_dev, "Invalid comp status %d\n", + comp_ctx->status); + ret = ena_com_comp_status_to_errno(admin_queue, comp_ctx->comp_status); err: comp_ctxt_release(admin_queue, comp_ctx); @@ -909,7 +930,7 @@ static u32 ena_com_reg_bar_read32(struct ena_com_dev *ena_dev, u16 offset) goto err; } - if (read_resp->reg_off != offset) { + if (unlikely(read_resp->reg_off != offset)) { ena_trc_err(ena_dev, "Read failure: wrong offset provided\n"); ret = ENA_MMIO_READ_TIMEOUT; } else { @@ -1033,7 +1054,7 @@ static int wait_for_reset_state(struct ena_com_dev *ena_dev, u32 timeout, exp_state) return 0; - if (ENA_TIME_EXPIRE(timeout_stamp)) + if (unlikely(ENA_TIME_EXPIRE(timeout_stamp))) return ENA_COM_TIMER_EXPIRED; ena_delay_exponential_backoff_us(exp++, ena_dev->ena_min_poll_delay_us); @@ -1494,7 +1515,7 @@ int ena_com_get_io_handlers(struct ena_com_dev *ena_dev, u16 qid, struct ena_com_io_sq **io_sq, struct ena_com_io_cq **io_cq) { - if (qid >= ENA_TOTAL_NUM_QUEUES) { + if (unlikely(qid >= ENA_TOTAL_NUM_QUEUES)) { ena_trc_err(ena_dev, "Invalid queue number %d but the max is %d\n", qid, ENA_TOTAL_NUM_QUEUES); return ENA_COM_INVAL; @@ -1602,7 +1623,7 @@ int ena_com_set_aenq_config(struct ena_com_dev *ena_dev, u32 groups_flag) int ret; ret = ena_com_get_feature(ena_dev, &get_resp, ENA_ADMIN_AENQ_CONFIG, 0); - if (ret) { + if (unlikely(ret)) { ena_trc_info(ena_dev, "Can't get aenq configuration\n"); return ret; } @@ -1649,7 +1670,7 @@ int ena_com_get_dma_width(struct ena_com_dev *ena_dev) ena_trc_dbg(ena_dev, "ENA dma width: %d\n", width); - if ((width < 32) || width > ENA_MAX_PHYS_ADDR_SIZE_BITS) { + if (unlikely((width < 32) || width > ENA_MAX_PHYS_ADDR_SIZE_BITS)) { ena_trc_err(ena_dev, "DMA width illegal value: %d\n", width); return ENA_COM_INVAL; } @@ -1811,16 +1832,21 @@ int ena_com_phc_config(struct ena_com_dev *ena_dev) struct ena_admin_set_feat_cmd set_feat_cmd; int ret = 0; - /* Get device PHC default configuration */ - ret = ena_com_get_feature(ena_dev, &get_feat_resp, ENA_ADMIN_PHC_CONFIG, 0); + /* Get default device PHC configuration */ + ret = ena_com_get_feature(ena_dev, + &get_feat_resp, + ENA_ADMIN_PHC_CONFIG, + ENA_ADMIN_PHC_FEATURE_VERSION_0); if (unlikely(ret)) { ena_trc_err(ena_dev, "Failed to get PHC feature configuration, error: %d\n", ret); return ret; } - /* Suporting only readless PHC retrieval */ - if (get_feat_resp.u.phc.type != ENA_ADMIN_PHC_TYPE_READLESS) { - ena_trc_err(ena_dev, "Unsupprted PHC type, error: %d\n", ENA_COM_UNSUPPORTED); + /* Supporting only PHC V0 (readless mode with error bound) */ + if (get_feat_resp.u.phc.version != ENA_ADMIN_PHC_FEATURE_VERSION_0) { + ena_trc_err(ena_dev, "Unsupprted PHC version (0x%X), error: %d\n", + get_feat_resp.u.phc.version, + ENA_COM_UNSUPPORTED); return ENA_COM_UNSUPPORTED; } @@ -1837,11 +1863,11 @@ int ena_com_phc_config(struct ena_com_dev *ena_dev) get_feat_resp.u.phc.block_timeout_usec : ENA_PHC_DEFAULT_BLOCK_TIMEOUT_USEC; - /* Sanity check - expire timeout must not be above skip timeout */ + /* Sanity check - expire timeout must not exceed block timeout */ if (phc->expire_timeout_usec > phc->block_timeout_usec) phc->expire_timeout_usec = phc->block_timeout_usec; - /* Prepare PHC feature command with PHC output address */ + /* Prepare PHC config feature command */ memset(&set_feat_cmd, 0x0, sizeof(set_feat_cmd)); set_feat_cmd.aq_common_descriptor.opcode = ENA_ADMIN_SET_FEATURE; set_feat_cmd.feat_common.feature_id = ENA_ADMIN_PHC_CONFIG; @@ -1873,13 +1899,16 @@ int ena_com_phc_config(struct ena_com_dev *ena_dev) void ena_com_phc_destroy(struct ena_com_dev *ena_dev) { struct ena_com_phc_info *phc = &ena_dev->phc; - - phc->active = false; + unsigned long flags = 0; /* In case PHC is not supported by the device, silently exiting */ if (!phc->virt_addr) return; + ENA_SPINLOCK_LOCK(phc->lock, flags); + phc->active = false; + ENA_SPINLOCK_UNLOCK(phc->lock, flags); + ENA_MEM_FREE_COHERENT(ena_dev->dmadev, sizeof(*phc->virt_addr), phc->virt_addr, @@ -1890,15 +1919,14 @@ void ena_com_phc_destroy(struct ena_com_dev *ena_dev) ENA_SPINLOCK_DESTROY(phc->lock); } -int ena_com_phc_get(struct ena_com_dev *ena_dev, u64 *timestamp) +int ena_com_phc_get_timestamp(struct ena_com_dev *ena_dev, u64 *timestamp) { volatile struct ena_admin_phc_resp *read_resp = ena_dev->phc.virt_addr; + const ena_time_high_res_t zero_system_time = ENA_TIME_INIT_HIGH_RES(); struct ena_com_phc_info *phc = &ena_dev->phc; - ena_time_high_res_t initial_time = ENA_TIME_INIT_HIGH_RES(); - static ena_time_high_res_t start_time; - unsigned long flags = 0; ena_time_high_res_t expire_time; ena_time_high_res_t block_time; + unsigned long flags = 0; int ret = ENA_COM_OK; if (!phc->active) { @@ -1909,9 +1937,10 @@ int ena_com_phc_get(struct ena_com_dev *ena_dev, u64 *timestamp) ENA_SPINLOCK_LOCK(phc->lock, flags); /* Check if PHC is in blocked state */ - if (unlikely(ENA_TIME_COMPARE_HIGH_RES(start_time, initial_time))) { + if (unlikely(ENA_TIME_COMPARE_HIGH_RES(phc->system_time, zero_system_time))) { /* Check if blocking time expired */ - block_time = ENA_GET_SYSTEM_TIMEOUT_HIGH_RES(start_time, phc->block_timeout_usec); + block_time = ENA_GET_SYSTEM_TIMEOUT_HIGH_RES(phc->system_time, + phc->block_timeout_usec); if (!ENA_TIME_EXPIRE_HIGH_RES(block_time)) { /* PHC is still in blocked state, skip PHC request */ phc->stats.phc_skp++; @@ -1919,9 +1948,9 @@ int ena_com_phc_get(struct ena_com_dev *ena_dev, u64 *timestamp) goto skip; } - /* PHC is in active state, update statistics according to req_id and timestamp */ + /* PHC is in active state, update statistics according to req_id and error_flags */ if ((READ_ONCE16(read_resp->req_id) != phc->req_id) || - (read_resp->timestamp == ENA_PHC_TIMESTAMP_ERROR)) { + (read_resp->error_flags & ENA_PHC_ERROR_FLAGS)) { /* Device didn't update req_id during blocking time or timestamp is invalid, * this indicates on a device error */ @@ -1933,9 +1962,9 @@ int ena_com_phc_get(struct ena_com_dev *ena_dev, u64 *timestamp) } /* Setting relative timeouts */ - start_time = ENA_GET_SYSTEM_TIME_HIGH_RES(); - block_time = ENA_GET_SYSTEM_TIMEOUT_HIGH_RES(start_time, phc->block_timeout_usec); - expire_time = ENA_GET_SYSTEM_TIMEOUT_HIGH_RES(start_time, phc->expire_timeout_usec); + phc->system_time = ENA_GET_SYSTEM_TIME_HIGH_RES(); + block_time = ENA_GET_SYSTEM_TIMEOUT_HIGH_RES(phc->system_time, phc->block_timeout_usec); + expire_time = ENA_GET_SYSTEM_TIMEOUT_HIGH_RES(phc->system_time, phc->expire_timeout_usec); /* We expect the device to return this req_id once the new PHC timestamp is updated */ phc->req_id++; @@ -1952,35 +1981,45 @@ int ena_com_phc_get(struct ena_com_dev *ena_dev, u64 *timestamp) while (1) { if (unlikely(ENA_TIME_EXPIRE_HIGH_RES(expire_time))) { /* Gave up waiting for updated req_id, PHC enters into blocked state until - * passing blocking time + * passing blocking time, during this time any get PHC timestamp or + * error bound requests will fail with device busy error */ + phc->error_bound = ENA_PHC_MAX_ERROR_BOUND; ret = ENA_COM_DEVICE_BUSY; break; } /* Check if req_id was updated by the device */ if (READ_ONCE16(read_resp->req_id) != phc->req_id) { - /* req_id was not updated by the device, check again on next loop */ + /* req_id was not updated by the device yet, check again on next loop */ continue; } - /* req_id was updated which indicates that PHC timestamp was updated too */ - *timestamp = read_resp->timestamp; - - /* PHC timestamp validty check */ - if (unlikely(*timestamp == ENA_PHC_TIMESTAMP_ERROR)) { - /* Retrieved invalid PHC timestamp, PHC enters into blocked state until - * passing blocking time + /* req_id was updated by the device which indicates that PHC timestamp, error_bound + * and error_flags are updated too, checking errors before retrieving timestamp and + * error_bound values + */ + if (unlikely(read_resp->error_flags & ENA_PHC_ERROR_FLAGS)) { + /* Retrieved timestamp or error bound errors, PHC enters into blocked state + * until passing blocking time, during this time any get PHC timestamp or + * error bound requests will fail with device busy error */ + phc->error_bound = ENA_PHC_MAX_ERROR_BOUND; ret = ENA_COM_DEVICE_BUSY; break; } - /* Retrieved valid PHC timestamp */ + /* PHC timestamp value is returned to the caller */ + *timestamp = read_resp->timestamp; + + /* Error bound value is cached for future retrieval by caller */ + phc->error_bound = read_resp->error_bound; + + /* Update statistic on valid PHC timestamp retrieval */ phc->stats.phc_cnt++; /* This indicates PHC state is active */ - start_time = initial_time; + phc->system_time = zero_system_time; break; } @@ -1990,6 +2029,24 @@ skip: return ret; } +int ena_com_phc_get_error_bound(struct ena_com_dev *ena_dev, u32 *error_bound) +{ + struct ena_com_phc_info *phc = &ena_dev->phc; + u32 local_error_bound = phc->error_bound; + + if (!phc->active) { + ena_trc_err(ena_dev, "PHC feature is not active in the device\n"); + return ENA_COM_UNSUPPORTED; + } + + if (local_error_bound == ENA_PHC_MAX_ERROR_BOUND) + return ENA_COM_DEVICE_BUSY; + + *error_bound = local_error_bound; + + return ENA_COM_OK; +} + int ena_com_mmio_reg_read_request_init(struct ena_com_dev *ena_dev) { struct ena_com_mmio_read *mmio_read = &ena_dev->mmio_read; @@ -2083,15 +2140,15 @@ int ena_com_admin_init(struct ena_com_dev *ena_dev, ENA_SPINLOCK_INIT(admin_queue->q_lock); ret = ena_com_init_comp_ctxt(admin_queue); - if (ret) + if (unlikely(ret)) goto error; ret = ena_com_admin_init_sq(admin_queue); - if (ret) + if (unlikely(ret)) goto error; ret = ena_com_admin_init_cq(admin_queue); - if (ret) + if (unlikely(ret)) goto error; admin_queue->sq.db_addr = (u32 __iomem *)((uintptr_t)ena_dev->reg_bar + @@ -2124,11 +2181,12 @@ int ena_com_admin_init(struct ena_com_dev *ena_dev, ENA_REG_WRITE32(ena_dev->bus, aq_caps, ena_dev->reg_bar + ENA_REGS_AQ_CAPS_OFF); ENA_REG_WRITE32(ena_dev->bus, acq_caps, ena_dev->reg_bar + ENA_REGS_ACQ_CAPS_OFF); ret = ena_com_admin_init_aenq(ena_dev, aenq_handlers); - if (ret) + if (unlikely(ret)) goto error; admin_queue->ena_dev = ena_dev; admin_queue->running_state = true; + admin_queue->is_missing_admin_interrupt = false; return 0; error: @@ -2144,7 +2202,7 @@ int ena_com_create_io_queue(struct ena_com_dev *ena_dev, struct ena_com_io_cq *io_cq; int ret; - if (ctx->qid >= ENA_TOTAL_NUM_QUEUES) { + if (unlikely(ctx->qid >= ENA_TOTAL_NUM_QUEUES)) { ena_trc_err(ena_dev, "Qid (%d) is bigger than max num of queues (%d)\n", ctx->qid, ENA_TOTAL_NUM_QUEUES); return ENA_COM_INVAL; @@ -2175,18 +2233,18 @@ int ena_com_create_io_queue(struct ena_com_dev *ena_dev, ENA_MIN32(ena_dev->tx_max_header_size, SZ_256); ret = ena_com_init_io_sq(ena_dev, ctx, io_sq); - if (ret) + if (unlikely(ret)) goto error; ret = ena_com_init_io_cq(ena_dev, ctx, io_cq); - if (ret) + if (unlikely(ret)) goto error; ret = ena_com_create_io_cq(ena_dev, io_cq); - if (ret) + if (unlikely(ret)) goto error; ret = ena_com_create_io_sq(ena_dev, io_sq, io_cq->idx); - if (ret) + if (unlikely(ret)) goto destroy_io_cq; return 0; @@ -2203,7 +2261,7 @@ void ena_com_destroy_io_queue(struct ena_com_dev *ena_dev, u16 qid) struct ena_com_io_sq *io_sq; struct ena_com_io_cq *io_cq; - if (qid >= ENA_TOTAL_NUM_QUEUES) { + if (unlikely(qid >= ENA_TOTAL_NUM_QUEUES)) { ena_trc_err(ena_dev, "Qid (%d) is bigger than max num of queues (%d)\n", qid, ENA_TOTAL_NUM_QUEUES); return; @@ -2345,7 +2403,8 @@ int ena_com_get_dev_attr_feat(struct ena_com_dev *ena_dev, else return rc; - rc = ena_com_get_feature(ena_dev, &get_resp, ENA_ADMIN_LLQ, 0); + rc = ena_com_get_feature(ena_dev, &get_resp, + ENA_ADMIN_LLQ, ENA_ADMIN_LLQ_FEATURE_VERSION_1); if (!rc) memcpy(&get_feat_ctx->llq, &get_resp.u.llq, sizeof(get_resp.u.llq)); @@ -2400,8 +2459,8 @@ void ena_com_aenq_intr_handler(struct ena_com_dev *ena_dev, void *data) /* Go over all the events */ while ((READ_ONCE8(aenq_common->flags) & ENA_ADMIN_AENQ_COMMON_DESC_PHASE_MASK) == phase) { - /* Make sure the phase bit (ownership) is as expected before - * reading the rest of the descriptor. + /* Make sure the device finished writing the rest of the descriptor + * before reading it. */ dma_rmb(); @@ -2443,6 +2502,45 @@ void ena_com_aenq_intr_handler(struct ena_com_dev *ena_dev, void *data) ena_dev->reg_bar + ENA_REGS_AENQ_HEAD_DB_OFF); mmiowb(); } + +bool ena_com_aenq_has_keep_alive(struct ena_com_dev *ena_dev) +{ + struct ena_admin_aenq_common_desc *aenq_common; + struct ena_com_aenq *aenq = &ena_dev->aenq; + struct ena_admin_aenq_entry *aenq_e; + u8 phase = aenq->phase; + u16 masked_head; + + masked_head = aenq->head & (aenq->q_depth - 1); + aenq_e = &aenq->entries[masked_head]; /* Get first entry */ + aenq_common = &aenq_e->aenq_common_desc; + + /* Go over all the events */ + while ((READ_ONCE8(aenq_common->flags) & + ENA_ADMIN_AENQ_COMMON_DESC_PHASE_MASK) == phase) { + /* Make sure the device finished writing the rest of the descriptor + * before reading it. + */ + dma_rmb(); + + if (aenq_common->group == ENA_ADMIN_KEEP_ALIVE) + return true; + + /* Get next event entry */ + masked_head++; + + if (unlikely(masked_head == aenq->q_depth)) { + masked_head = 0; + phase = !phase; + } + + aenq_e = &aenq->entries[masked_head]; + aenq_common = &aenq_e->aenq_common_desc; + } + + return false; +} + #ifdef ENA_EXTENDED_STATS /* * Sets the function Idx and Queue Idx to be used for @@ -2468,6 +2566,7 @@ int ena_com_extended_stats_set_func_queue(struct ena_com_dev *ena_dev, int ena_com_dev_reset(struct ena_com_dev *ena_dev, enum ena_regs_reset_reason_types reset_reason) { + u32 reset_reason_msb, reset_reason_lsb; u32 stat, timeout, cap, reset_val; int rc; @@ -2494,8 +2593,28 @@ int ena_com_dev_reset(struct ena_com_dev *ena_dev, /* start reset */ reset_val = ENA_REGS_DEV_CTL_DEV_RESET_MASK; - reset_val |= (reset_reason << ENA_REGS_DEV_CTL_RESET_REASON_SHIFT) & - ENA_REGS_DEV_CTL_RESET_REASON_MASK; + + /* For backward compatibility, device will interpret + * bits 24-27 as MSB, bits 28-31 as LSB + */ + reset_reason_lsb = ENA_FIELD_GET(reset_reason, ENA_RESET_REASON_LSB_MASK, + ENA_RESET_REASON_LSB_OFFSET); + + reset_reason_msb = ENA_FIELD_GET(reset_reason, ENA_RESET_REASON_MSB_MASK, + ENA_RESET_REASON_MSB_OFFSET); + + reset_val |= reset_reason_lsb << ENA_REGS_DEV_CTL_RESET_REASON_SHIFT; + + if (ena_com_get_cap(ena_dev, ENA_ADMIN_EXTENDED_RESET_REASONS)) + reset_val |= reset_reason_msb << ENA_REGS_DEV_CTL_RESET_REASON_EXT_SHIFT; + else if (reset_reason_msb) { + /* In case the device does not support intended + * extended reset reason fallback to generic + */ + reset_val = ENA_REGS_DEV_CTL_DEV_RESET_MASK; + reset_val |= (ENA_REGS_RESET_GENERIC << ENA_REGS_DEV_CTL_RESET_REASON_SHIFT) & + ENA_REGS_DEV_CTL_RESET_REASON_MASK; + } ENA_REG_WRITE32(ena_dev->bus, reset_val, ena_dev->reg_bar + ENA_REGS_DEV_CTL_OFF); /* Write again the MMIO read request address */ @@ -2503,7 +2622,7 @@ int ena_com_dev_reset(struct ena_com_dev *ena_dev, rc = wait_for_reset_state(ena_dev, timeout, ENA_REGS_DEV_STS_RESET_IN_PROGRESS_MASK); - if (rc != 0) { + if (unlikely(rc)) { ena_trc_err(ena_dev, "Reset indication didn't turn on\n"); return rc; } @@ -2511,7 +2630,7 @@ int ena_com_dev_reset(struct ena_com_dev *ena_dev, /* reset done */ ENA_REG_WRITE32(ena_dev->bus, 0, ena_dev->reg_bar + ENA_REGS_DEV_CTL_OFF); rc = wait_for_reset_state(ena_dev, timeout, 0); - if (rc != 0) { + if (unlikely(rc)) { ena_trc_err(ena_dev, "Reset indication didn't turn off\n"); return rc; } @@ -2614,7 +2733,7 @@ int ena_com_get_dev_extended_stats(struct ena_com_dev *ena_dev, char *buff, ret = ena_get_dev_stats(ena_dev, &ctx, ENA_ADMIN_GET_STATS_TYPE_EXTENDED); - if (ret < 0) + if (unlikely(ret < 0)) goto free_ext_stats_mem; ret = snprintf(buff, len, "%s", (char *)virt_addr); @@ -3222,7 +3341,7 @@ int ena_com_allocate_customer_metrics_buffer(struct ena_com_dev *ena_dev) customer_metrics->buffer_virt_addr, customer_metrics->buffer_dma_addr, customer_metrics->buffer_dma_handle); - if (!customer_metrics->buffer_virt_addr) + if (unlikely(!customer_metrics->buffer_virt_addr)) return ENA_COM_NO_MEM; return 0; @@ -3416,7 +3535,7 @@ int ena_com_config_dev_mode(struct ena_com_dev *ena_dev, } rc = ena_com_config_llq_info(ena_dev, llq_features, llq_default_cfg); - if (rc) + if (unlikely(rc)) return rc; ena_dev->tx_max_header_size = llq_info->desc_list_entry_size - diff --git a/sys/contrib/ena-com/ena_com.h b/sys/contrib/ena-com/ena_com.h index 5b091c64572c..87d0662351b0 100644 --- a/sys/contrib/ena-com/ena_com.h +++ b/sys/contrib/ena-com/ena_com.h @@ -51,6 +51,14 @@ #define ADMIN_CQ_SIZE(depth) ((depth) * sizeof(struct ena_admin_acq_entry)) #define ADMIN_AENQ_SIZE(depth) ((depth) * sizeof(struct ena_admin_aenq_entry)) +/* Macros used to extract LSB/MSB from the + * enums defining the reset reasons + */ +#define ENA_RESET_REASON_LSB_OFFSET 0 +#define ENA_RESET_REASON_LSB_MASK 0xf +#define ENA_RESET_REASON_MSB_OFFSET 4 +#define ENA_RESET_REASON_MSB_MASK 0xf0 + #define ENA_CUSTOMER_METRICS_BUFFER_SIZE 512 /*****************************************************************************/ @@ -257,6 +265,8 @@ struct ena_com_admin_queue { */ bool running_state; + bool is_missing_admin_interrupt; + /* Count the number of outstanding admin commands */ ena_atomic32_t outstanding_cmds; @@ -294,6 +304,9 @@ struct ena_com_phc_info { /* PHC shared memory - virtual address */ struct ena_admin_phc_resp *virt_addr; + /* System time of last PHC request */ + ena_time_high_res_t system_time; + /* Spin lock to ensure a single outstanding PHC read */ ena_spinlock_t lock; @@ -313,17 +326,20 @@ struct ena_com_phc_info { */ u32 block_timeout_usec; + /* PHC shared memory - physical address */ + dma_addr_t phys_addr; + + /* PHC shared memory handle */ + ena_mem_handle_t mem_handle; + + /* Cached error bound per timestamp sample */ + u32 error_bound; + /* Request id sent to the device */ u16 req_id; /* True if PHC is active in the device */ bool active; - - /* PHC shared memory - memory handle */ - ena_mem_handle_t mem_handle; - - /* PHC shared memory - physical address */ - dma_addr_t phys_addr; }; struct ena_rss { @@ -488,12 +504,19 @@ int ena_com_phc_config(struct ena_com_dev *ena_dev); */ void ena_com_phc_destroy(struct ena_com_dev *ena_dev); -/* ena_com_phc_get - Retrieve PHC timestamp +/* ena_com_phc_get_timestamp - Retrieve PHC timestamp * @ena_dev: ENA communication layer struct - * @timestamp: Retrieve PHC timestamp + * @timestamp: Retrieved PHC timestamp * @return - 0 on success, negative value on failure */ -int ena_com_phc_get(struct ena_com_dev *ena_dev, u64 *timestamp); +int ena_com_phc_get_timestamp(struct ena_com_dev *ena_dev, u64 *timestamp); + +/* ena_com_phc_get_error_bound - Retrieve cached PHC error bound + * @ena_dev: ENA communication layer struct + * @error_bound: Cached PHC error bound + * @return - 0 on success, negative value on failure + */ +int ena_com_phc_get_error_bound(struct ena_com_dev *ena_dev, u32 *error_bound); /* ena_com_set_mmio_read_mode - Enable/disable the indirect mmio reg read mechanism * @ena_dev: ENA communication layer struct @@ -644,6 +667,16 @@ void ena_com_admin_q_comp_intr_handler(struct ena_com_dev *ena_dev); */ void ena_com_aenq_intr_handler(struct ena_com_dev *ena_dev, void *data); +/* ena_com_aenq_has_keep_alive - Retrieve if there is a keep alive notification in the aenq + * @ena_dev: ENA communication layer struct + * + * This method goes over the async event notification queue and returns if there + * is a keep alive notification. + * + * @return - true if there is a keep alive notification in the aenq or false otherwise + */ +bool ena_com_aenq_has_keep_alive(struct ena_com_dev *ena_dev); + /* ena_com_abort_admin_commands - Abort all the outstanding admin commands. * @ena_dev: ENA communication layer struct * @@ -1096,6 +1129,16 @@ int ena_com_config_dev_mode(struct ena_com_dev *ena_dev, struct ena_admin_feature_llq_desc *llq_features, struct ena_llq_configurations *llq_default_config); +/* ena_com_get_missing_admin_interrupt - Return if there is a missing admin interrupt + * @ena_dev: ENA communication layer struct + * + * @return - true if there is a missing admin interrupt or false otherwise + */ +static inline bool ena_com_get_missing_admin_interrupt(struct ena_com_dev *ena_dev) +{ + return ena_dev->admin_queue.is_missing_admin_interrupt; +} + /* ena_com_io_sq_to_ena_dev - Extract ena_com_dev using contained field io_sq. * @io_sq: IO submit queue struct * diff --git a/sys/contrib/ena-com/ena_defs/ena_admin_defs.h b/sys/contrib/ena-com/ena_defs/ena_admin_defs.h index abd1ae5d57fb..5437f629712f 100644 --- a/sys/contrib/ena-com/ena_defs/ena_admin_defs.h +++ b/sys/contrib/ena-com/ena_defs/ena_admin_defs.h @@ -98,12 +98,22 @@ enum ena_admin_aq_feature_id { ENA_ADMIN_FEATURES_OPCODE_NUM = 32, }; +/* feature version for the set/get ENA_ADMIN_LLQ feature admin commands */ +enum ena_admin_llq_feature_version { + /* legacy base version in older drivers */ + ENA_ADMIN_LLQ_FEATURE_VERSION_0_LEGACY = 0, + /* support entry_size recommendation by device */ + ENA_ADMIN_LLQ_FEATURE_VERSION_1 = 1, +}; + /* device capabilities */ enum ena_admin_aq_caps_id { ENA_ADMIN_ENI_STATS = 0, /* ENA SRD customer metrics */ ENA_ADMIN_ENA_SRD_INFO = 1, ENA_ADMIN_CUSTOMER_METRICS = 2, + ENA_ADMIN_EXTENDED_RESET_REASONS = 3, + ENA_ADMIN_CDESC_MBZ = 4, }; enum ena_admin_placement_policy_type { @@ -163,8 +173,14 @@ enum ena_admin_get_stats_scope { ENA_ADMIN_ETH_TRAFFIC = 1, }; -enum ena_admin_get_phc_type { - ENA_ADMIN_PHC_TYPE_READLESS = 0, +enum ena_admin_phc_feature_version { + /* Readless with error_bound */ + ENA_ADMIN_PHC_FEATURE_VERSION_0 = 0, +}; + +enum ena_admin_phc_error_flags { + ENA_ADMIN_PHC_ERROR_FLAG_TIMESTAMP = BIT(0), + ENA_ADMIN_PHC_ERROR_FLAG_ERROR_BOUND = BIT(1), }; /* ENA SRD configuration for ENI */ @@ -464,6 +480,10 @@ struct ena_admin_basic_stats { uint32_t tx_drops_low; uint32_t tx_drops_high; + + uint32_t rx_overruns_low; + + uint32_t rx_overruns_high; }; /* ENI Statistics Command. */ @@ -696,8 +716,17 @@ struct ena_admin_feature_llq_desc { /* the stride control the driver selected to use */ uint16_t descriptors_stride_ctrl_enabled; - /* reserved */ - uint32_t reserved1; + /* feature version of device resp to either GET/SET commands. */ + uint8_t feature_version; + + /* llq entry size recommended by the device, + * values correlated to enum ena_admin_llq_ring_entry_size. + * used only for GET command. + */ + uint8_t entry_size_recommended; + + /* max depth of wide llq, or 0 for N/A */ + uint16_t max_wide_llq_depth; /* accelerated low latency queues requirement. driver needs to * support those requirements in order to use accelerated llq @@ -933,19 +962,8 @@ struct ena_admin_feature_rss_flow_hash_input { uint16_t enabled_input_sort; }; -enum ena_admin_os_type { - ENA_ADMIN_OS_LINUX = 1, - ENA_ADMIN_OS_WIN = 2, - ENA_ADMIN_OS_DPDK = 3, - ENA_ADMIN_OS_FREEBSD = 4, - ENA_ADMIN_OS_IPXE = 5, - ENA_ADMIN_OS_ESXI = 6, - ENA_ADMIN_OS_MACOS = 7, - ENA_ADMIN_OS_GROUPS_NUM = 7, -}; - struct ena_admin_host_info { - /* defined in enum ena_admin_os_type */ + /* Host OS type defined as ENA_ADMIN_OS_* */ uint32_t os_type; /* os distribution string format */ @@ -992,7 +1010,9 @@ struct ena_admin_host_info { * 4 : rss_configurable_function_key * 5 : reserved * 6 : rx_page_reuse - * 31:7 : reserved + * 7 : tx_ipv6_csum_offload + * 8 : phc + * 31:9 : reserved */ uint32_t driver_supported_features; }; @@ -1078,10 +1098,10 @@ struct ena_admin_queue_ext_feature_desc { }; struct ena_admin_feature_phc_desc { - /* PHC type as defined in enum ena_admin_get_phc_type, - * used only for GET command. + /* PHC version as defined in enum ena_admin_phc_feature_version, + * used only for GET command as max supported PHC version by the device. */ - uint8_t type; + uint8_t version; /* Reserved - MBZ */ uint8_t reserved1[3]; @@ -1221,7 +1241,9 @@ enum ena_admin_aenq_group { ENA_ADMIN_NOTIFICATION = 3, ENA_ADMIN_KEEP_ALIVE = 4, ENA_ADMIN_REFRESH_CAPABILITIES = 5, - ENA_ADMIN_AENQ_GROUPS_NUM = 6, + ENA_ADMIN_CONF_NOTIFICATIONS = 6, + ENA_ADMIN_DEVICE_REQUEST_RESET = 7, + ENA_ADMIN_AENQ_GROUPS_NUM = 8, }; enum ena_admin_aenq_notification_syndrome { @@ -1252,6 +1274,18 @@ struct ena_admin_aenq_keep_alive_desc { uint32_t tx_drops_low; uint32_t tx_drops_high; + + uint32_t rx_overruns_low; + + uint32_t rx_overruns_high; +}; + +struct ena_admin_aenq_conf_notifications_desc { + struct ena_admin_aenq_common_desc aenq_common_desc; + + uint64_t notifications_bitmap; + + uint64_t reserved; }; struct ena_admin_ena_mmio_req_read_less_resp { @@ -1264,13 +1298,23 @@ struct ena_admin_ena_mmio_req_read_less_resp { }; struct ena_admin_phc_resp { + /* Request Id, received from DB register */ uint16_t req_id; uint8_t reserved1[6]; + /* PHC timestamp (nsec) */ uint64_t timestamp; - uint8_t reserved2[48]; + uint8_t reserved2[8]; + + /* Timestamp error limit (nsec) */ + uint32_t error_bound; + + /* Bit field of enum ena_admin_phc_error_flags */ + uint32_t error_flags; + + uint8_t reserved3[32]; }; /* aq_common_desc */ @@ -1371,6 +1415,10 @@ struct ena_admin_phc_resp { #define ENA_ADMIN_HOST_INFO_RSS_CONFIGURABLE_FUNCTION_KEY_MASK BIT(4) #define ENA_ADMIN_HOST_INFO_RX_PAGE_REUSE_SHIFT 6 #define ENA_ADMIN_HOST_INFO_RX_PAGE_REUSE_MASK BIT(6) +#define ENA_ADMIN_HOST_INFO_TX_IPV6_CSUM_OFFLOAD_SHIFT 7 +#define ENA_ADMIN_HOST_INFO_TX_IPV6_CSUM_OFFLOAD_MASK BIT(7) +#define ENA_ADMIN_HOST_INFO_PHC_SHIFT 8 +#define ENA_ADMIN_HOST_INFO_PHC_MASK BIT(8) /* feature_rss_ind_table */ #define ENA_ADMIN_FEATURE_RSS_IND_TABLE_ONE_ENTRY_UPDATE_MASK BIT(0) @@ -1842,6 +1890,16 @@ static inline void set_ena_admin_host_info_rx_page_reuse(struct ena_admin_host_i p->driver_supported_features |= (val << ENA_ADMIN_HOST_INFO_RX_PAGE_REUSE_SHIFT) & ENA_ADMIN_HOST_INFO_RX_PAGE_REUSE_MASK; } +static inline uint32_t get_ena_admin_host_info_tx_ipv6_csum_offload(const struct ena_admin_host_info *p) *** 391 LINES SKIPPED *** From nobody Thu Oct 31 16:01:21 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJ13nlZz5bwd8; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJ12pm5z4SW6; Thu, 31 Oct 2024 16:01:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RMw3PSpLeIGU9LwtzRDivjV3X6lQ1EqqwL73f4okzdk=; b=kQgrBZlGqnnEauZRBGLAnq+foUTI9DGbFiImyuBYUF4if71TLiQYUU+H61WkrQ97Doz3ZB swWT1onPvE0VuxcUitt30cy1LNxkGfaTIaPCWhU80s25ApeqqREwTr+HCCQ8VzaN8X89g8 T1GyDFZr6/scLXaPARXR2sYFtL56Z68kI4/4b1v2AlNsDbUkNtcZ5v/g+gh4kWf1/079wx gZNWKiwqKjoh6r2jRJ0G8d3X5V74FZqTImkWIhQFJc3p02doFPTQmaSZf8PvJx+sTLhBz8 JR3gnPCzh7JYwf6hvX8Eg0oVYMa7fu5sMxZiLyvtJnMXkTBE9UZriHO6Y65Fag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RMw3PSpLeIGU9LwtzRDivjV3X6lQ1EqqwL73f4okzdk=; b=K1qBtEHp6nLt4ybX/y7npOTex3SNRzNt98ghlVWggd+4WrY84z5LyStGD75NBOqQnfsFRL 63epoVaWVpBOEtppC3V8SUsXfGwwQtLXeo37VGM8/Nkxi7u67cAszkbwlQmPGRSFlAB9ny vCOcSRY6nVWMakp3lcA1RhwuZSiPewUc6w9sCk33bGoXmwuMV1t2A5VnjdmqsBKrG/bC+Q jBgDUL2gkPfXbO6N2gpZHpS+MLHSGGeMAXI1CPKf0CM7fh73GURycDw5tO7RSpiQeRUzWK mBsQgb8YNLXnZjKTdPP+FtGheXOEg2Y8Eq/aWYyrnH/vkFWAgBj+6QeTC+J0tQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390481; a=rsa-sha256; cv=none; b=N0kNAdcUThuDXlCA3cd/lDey+6e05Zx/UesKSWPcf2QL+DQnCZppgBP1z8M18xY4FBCggQ kaZI5dMpxZ9vjjmfgQtXTHUOTffLBGjoDUeNBcRnjrgXD9VALNHJXJe6owgbi2ixhIVszO bNofz0erpvyfn8gV7w9K+CEpjYaFDfMf183coXG5MSFveytA4owDRS1hn/Lgmf+f09tHsC eWibNqugWCZRCGrDV5gXfT8tNmky2LpmLDM0Y0m84u3ibDBLA+P4uk+/9e+wl0RJwPrJIQ Y4/VswHvNnTqXz1S9NzipoV7fIA3E1C6+0/WLMOxSgtvaQeC65UxUzKgKGjUlA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJ129cbzjVm; Thu, 31 Oct 2024 16:01:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1Ldg069855; Thu, 31 Oct 2024 16:01:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1L8c069852; Thu, 31 Oct 2024 16:01:21 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:21 GMT Message-Id: <202410311601.49VG1L8c069852@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 418d3190d73c - stable/14 - ena: Fix customer metrics deallocation statement place List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 418d3190d73cdca08bc91ad313bf39ebab3b32af Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=418d3190d73cdca08bc91ad313bf39ebab3b32af commit 418d3190d73cdca08bc91ad313bf39ebab3b32af Author: Osama Abboud AuthorDate: 2024-08-07 06:24:22 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:10 +0000 ena: Fix customer metrics deallocation statement place Upstream commit [1] made if_alloc_domain() never fail, then also do the wrappers if_alloc(), if_alloc_dev(), and if_gethandle(). Upstream commit [2] removed the NULL check conducted by the driver. This commit also removes err_customer_metrics_alloc goto label. Commit [2] leaves behind a floating free() statement that deallocates customer_metrics_array. This commit places the deallocation statement where it belongs. [1] commit 4787572d0580 ("ifnet: make if_alloc_domain() never fail") [2] commit aa3860851b9f ("net: Remove unneeded NULL check for the allocated ifnet") Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 5517ca8486bfbf4d0cd369898f3e4d10cd614a9a) --- sys/dev/ena/ena.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 47d066a2e4f1..9d047cc89b30 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3841,8 +3841,8 @@ ena_attach(device_t pdev) #ifdef DEV_NETMAP err_detach: ether_ifdetach(adapter->ifp); -#endif /* DEV_NETMAP */ free(adapter->customer_metrics_array, M_DEVBUF); +#endif /* DEV_NETMAP */ err_metrics_buffer_destroy: ena_com_delete_customer_metrics_buffer(ena_dev); err_msix_free: From nobody Thu Oct 31 16:01:22 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJ270fwz5bx26; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJ23Qkqz4ShW; Thu, 31 Oct 2024 16:01:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gJ42nr9WkkkhF56aIXSDownkilKZ7wuej3nMSXOkHVM=; b=UFRY2wY0JySoUr4iHi7YO8JJpo65NtzwWKGzzl6lKaMZ1AxO8StVstE4IwWxn0ce7IzPBH rHOZqRaOrSUyLp8FMYiiObXYcybbbeR4gsKs8Zy4vbZRmOJtE/nQFRNrLH1o90KoDajfLW M9oc5/ZL5ch99p1rSdhWw2pbKk5jmB2oGbNqCFGUnKubOc15W4CEDJBNLt82bT7mxk7g60 hadVsYZbE4FIqgXzojZ+BY+5A4BCD++SBqL/x6pRuGpD/I0jqz05kdqF1AAPASd+kHtVHi 2GP5XNVoDExYuM5H6MTu/hLG+wn/90GkHCgR2IWMzIowtWmeOetIvdVSIugEDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gJ42nr9WkkkhF56aIXSDownkilKZ7wuej3nMSXOkHVM=; b=Ma+/mQKjjq4nUe1xlNn+LwThudFi4XGFhBbg2krKNdhlecKaOmIC1M2mtRiTdjUINgRPe9 yU5J0MxnzSfz0l0X2+be40lyIOZ1d9xiHKGjGC2dSy+WTZK8JBr4Itx4DVRuzPsXJHtYqz Ipf87YSMBTXcsSkaH/qysNP38hZPQodQRWaL1dOs7HsJYw5T35juKuHvE3y9QshrJwsTsq odBmU9/FHld8L4rmsLKyfXpCwPZRT0JST9Sxq2M4S/4fWY9Nu8jDte29P9BdJ5+ypekwOt r9C5RAaTx1bT3V505j0TVzp62H97wsnzC95bTSzendSWfNN7+0oxlv1iim8rfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390482; a=rsa-sha256; cv=none; b=dnwTccobJYaJlrbZ76cd9hxrxGBSKd3S32wGzvXxa7FguuuxwfStfBC72gntL0zFdDLZcA BT449bx82ygXt2p2PvUte9v/AeqNyMB4Hsyu3MDJGe0nUgrcw4yiSCudbMhQx2oY+QAP9r A4sSbxgNQHQUau+/Lq+Q0nFrFCerwTWy31qjacQ1OXTvgyeghbfWW3wMEcdYPBmByilGoe +61hdjhtQEuTiANExSHnuQLVPug0ywQeLrhV9VRM9cbFaUqupWlhh82IH6WP/X2hegK0ki yaeTLJt3HTpzRhqTi6LKJb8wcY6DSnCf6Z5IPt0obYyJCKKyVUZ3kKXImx98CA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJ22lgrzjd6; Thu, 31 Oct 2024 16:01:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1M4J069909; Thu, 31 Oct 2024 16:01:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1MwT069906; Thu, 31 Oct 2024 16:01:22 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:22 GMT Message-Id: <202410311601.49VG1MwT069906@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: e31fe28929a7 - stable/14 - ena: Count all currently missing TX completions in check List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e31fe28929a76ca552189ddc907345cd4e32d62b Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=e31fe28929a76ca552189ddc907345cd4e32d62b commit e31fe28929a76ca552189ddc907345cd4e32d62b Author: Osama Abboud AuthorDate: 2024-08-07 06:24:18 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:10 +0000 ena: Count all currently missing TX completions in check Currently we count all of the newly added and already existing missing tx completions in each iteration of check_missing_comp_in_tx_queue() causing duplicate counts to missing_tx_comp stat. This commit adds a new counter new_missed_tx within the relevant function which only counts the newly added missing tx completions in each iteration of check_missing_comp_in_tx_queue(). This will allow us to update missing_tx_comp stat accurately without counting duplicates. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 1f67704e2cd85a507776312b52dc63d8690b9260) --- sys/dev/ena/ena.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 9d047cc89b30..6c1cbb6701de 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3058,13 +3058,13 @@ static int check_missing_comp_in_tx_queue(struct ena_adapter *adapter, struct ena_ring *tx_ring) { + uint32_t missed_tx = 0, new_missed_tx = 0; device_t pdev = adapter->pdev; struct bintime curtime, time; struct ena_tx_buffer *tx_buf; int time_since_last_cleanup; int missing_tx_comp_to; sbintime_t time_offset; - uint32_t missed_tx = 0; int i, rc = 0; getbinuptime(&curtime); @@ -3107,13 +3107,15 @@ check_missing_comp_in_tx_queue(struct ena_adapter *adapter, "%d msecs have passed since last cleanup. Missing Tx timeout value %d msecs.\n", tx_ring->qid, i, time_since_last_cleanup, missing_tx_comp_to); + /* Add new TX completions which are missed */ + new_missed_tx++; } tx_buf->print_once = false; missed_tx++; } } - + /* Checking if this TX ring missing TX completions have passed the threshold */ if (unlikely(missed_tx > adapter->missing_tx_threshold)) { ena_log(pdev, ERR, "The number of lost tx completion is above the threshold " @@ -3122,8 +3124,8 @@ check_missing_comp_in_tx_queue(struct ena_adapter *adapter, ena_trigger_reset(adapter, ENA_REGS_RESET_MISS_TX_CMPL); rc = EIO; } - - counter_u64_add(tx_ring->tx_stats.missing_tx_comp, missed_tx); + /* Add the newly discovered missing TX completions */ + counter_u64_add(tx_ring->tx_stats.missing_tx_comp, new_missed_tx); return (rc); } From nobody Thu Oct 31 16:01:23 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJ35n37z5bwmM; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJ34dCfz4Svk; Thu, 31 Oct 2024 16:01:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I5cEaYHjykoU7+DW09my1SFEq3YiraRFtNx+6vucDtk=; b=vwSoX1lGqRGBxRKyEc/jJSIN8nLLANkgfFCyRHalbCv7m4Atd2/j914oDyRkzpP7t7m9k3 xaS6871G223935sVNSo+CInNUk8eFzTyVfB8r4WyhoDrTYMkh1e+ujQ2vh3J+dIXXPGx99 jNziSqWZEV0GWTE9jXSm5GmHppN0sIelXHYlpd04Q/eQqERfqlIjL9uPfd/Y7xbCmM6NR7 NmnR/LbpT9Ur5A+brlttpPwa4r3CbHODyuWy7AwQuY5Wm0ymK2SDAVfJ+19Tbq31N6+gus kDjuweoGUkc3tRThtKjZXS7XjEytm2WEGy0JxuyppDFQiCyx83GRBKA83DDkBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I5cEaYHjykoU7+DW09my1SFEq3YiraRFtNx+6vucDtk=; b=YCk6l155X/4wnD0zO1bY33U0WjT7ETim2hmjXwrsjH2VsE6+2yPOlSjJW2VUEOfRPQAZx5 o39l+7tYPdAGL5DCWS1H96eBgepS+Zm8qQSgQa3wXREl14JrH8jvq36LpOckES6G0+7dR6 wPAPuSqgucud9bBqJwPHXSiK+u4VosF3og4SL5lHzId7mNGaglpxcP8KriMRZH8xwGUO+H AhUoVyrWPvp1yZeSumgbE6aves1OCxnf9jy907nVJlfziD3SJOvJ58QJ5Sd6IQaUwrpTuK eJ0+6+fv3z1HAUEARj04Eawoj3JY/Hendv8HXRFCv2urR2mIss+xfPdnJcVXAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390483; a=rsa-sha256; cv=none; b=OLNtN+S+wjRRZ5lxxrtPPvjS9+YRDAAUrYhjv7rq7U4TkHSIKRL7SlniAEKlUqKmi+sc6z q0pxbFVZ3oSzRU3/Z1QrUOsecWtidOqygyVMLJiSplkJbov2Bad5Z3vzk5y+YXdxzAGCgT wRz478SUZqaAZs1V+hHiYdL5jkS9bhRsYsfig+hmsLUgejQPs6OZd76cZaJtJthjhs6c03 uNuB/nPSBuwxVDepkpMNHYcv6pLxEQJXiT+oeEdeI8PoA1nWhTTPH8ib/V0+3NFYZW6DO/ fITc8HkXW9z7T7OvmOU7oTQeBgdsq91MjXZ5is7YuI7JKNQoXY3HADaa5rbT7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJ33js5zhs9; Thu, 31 Oct 2024 16:01:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1NO9069956; Thu, 31 Oct 2024 16:01:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1NV8069953; Thu, 31 Oct 2024 16:01:23 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:23 GMT Message-Id: <202410311601.49VG1NV8069953@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 740fb85ba285 - stable/14 - ena: Add configuration notifications interface support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 740fb85ba28512a7ea7b5408691b5a8e697435a7 Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=740fb85ba28512a7ea7b5408691b5a8e697435a7 commit 740fb85ba28512a7ea7b5408691b5a8e697435a7 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:18 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:10 +0000 ena: Add configuration notifications interface support This commit is part of the effort of notifying the user of non-optimal or performance impacting practices. A new interface is serving as a communication channel between the device and the driver. One of the goals of this channel is to create a new mechanism of notifying the driver and user in case of sub-optimal configuration using a bitmap. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 8cd86b51be4ab0fe70bad4830e608d56db5c850f) --- sys/dev/ena/ena.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 6c1cbb6701de..3f2b9c1fb138 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -2911,7 +2911,8 @@ ena_device_init(struct ena_adapter *adapter, device_t pdev, BIT(ENA_ADMIN_FATAL_ERROR) | BIT(ENA_ADMIN_WARNING) | BIT(ENA_ADMIN_NOTIFICATION) | - BIT(ENA_ADMIN_KEEP_ALIVE); + BIT(ENA_ADMIN_KEEP_ALIVE) | + BIT(ENA_ADMIN_CONF_NOTIFICATIONS); aenq_groups &= get_feat_ctx->aenq.supported_groups; rc = ena_com_set_aenq_config(ena_dev, aenq_groups); @@ -4041,11 +4042,38 @@ unimplemented_aenq_handler(void *adapter_data, "Unknown event was received or event with unimplemented handler\n"); } +static void ena_conf_notification(void *adapter_data, + struct ena_admin_aenq_entry *aenq_e) +{ + struct ena_adapter *adapter = (struct ena_adapter *)adapter_data; + struct ena_admin_aenq_conf_notifications_desc *desc; + u64 bitmap, bit; + + desc = (struct ena_admin_aenq_conf_notifications_desc *)aenq_e; + bitmap = desc->notifications_bitmap; + + if (bitmap == 0) { + ena_log(adapter->pdev, INFO, + "Empty configuration notification bitmap\n"); + return; + } + + for (bit = ffsll(bitmap); bit != 0; bit = ffsll(bitmap)) { + bit--; + ena_log(adapter->pdev, INFO, + "Sub-optimal configuration notification code: %" PRIu64 " Refer to AWS ENA documentation for additional details and mitigation options.\n", + bit + 1); + // Clear the processed bit + bitmap &= ~(1UL << bit); + } +} + static struct ena_aenq_handlers aenq_handlers = { .handlers = { [ENA_ADMIN_LINK_CHANGE] = ena_update_on_link_change, [ENA_ADMIN_NOTIFICATION] = ena_notification, [ENA_ADMIN_KEEP_ALIVE] = ena_keep_alive_wd, + [ENA_ADMIN_CONF_NOTIFICATIONS] = ena_conf_notification, }, .unimplemented_handler = unimplemented_aenq_handler }; From nobody Thu Oct 31 16:01:24 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJ51JdPz5bwXf; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJ45Dp4z4SwG; Thu, 31 Oct 2024 16:01:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BGOhokvcv+8D9mA3qFFWev0haA8JXZZHf+5Y1O9T5tM=; b=u9QqjiPxfwtJAMFjKajqQA6ImlZkUIusVfgB9KFON+CpX+bcptiH+rkPfjcJKBylD0Uxz8 8AkApbtIDq2UhPa0uK65eaqoKoGGsRB92ZsofOCWrvcinscVPoEtRWCqKVcLuD1h4W27NK J+q1cj8jG5wCo59WoTpJLLCnm2DiTZCcQrYxCMPyU2s4hiKg2+Tijuvs0JB1Bcftq98eFh 3JQBycsX7tWpkjHGaKZ8omSSdc4rUL/fk8GHkwFxYH70SHUHDpJJsaGSDfRDCgjT4/GwmW En0Xl4Yv02w4Xe8zkhbM+k2ebhEr4S4lnxWDcaHO1h6vbaqifg8+UaxfBMMiZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BGOhokvcv+8D9mA3qFFWev0haA8JXZZHf+5Y1O9T5tM=; b=OpTXbnV1qO7k6/8ghwKZuxDS6QOh6hmUqzmjsvksI0PjmH42fVoXRujhFyp7MPyqp++64V uYcogehni5DXCEFVgAVhiFde8r0SeL7WSw7xVEts05RMU3Roq7ESOabkZLzEnWqXed9UBI s0pgd5htUyKdm9I0ulHUEhq9xobk7LOiLOiAN6cXp3fspf0JfcX5YyzNd4jPNubFbFW7Xk 91+4U38WkeOeJrHAXfIEVW9YeKkNHPb/XI7OfHWw4qmMNKzCEB6Ia+7c9mLCnE63tVERHh wF7Gz63NexoaTrbF2NcxZqkPXVavFUcmR1QQfGCVAXlg8nQW/RwhT1lH0gPWNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390484; a=rsa-sha256; cv=none; b=wvEQFgO2m8Eh+s5Fnc8udYqiFJYj/VHzXLVjHrlKLqjOvjPaCvxOnVnY8vWIkukjRFUlv6 E69uxqwZ6I5tasF/CXOWSfGfbvat7hPwl9GnKEuozuI32eQA2Lo6P3ZThtnYNDys8rMIYO +SXKOGJk7udVTO/jk5WyryFZJj+RDzJERwqXjDCLHhLj3qXxBOTGvZ2v+fcz8Ai1qwlmbF yRymrsRfEE2n4fckpog2yTsfGh6lcE2Z+OlHbaIoe1lLJYoV+NBPpOBybdHuXeQ+c0W8jk faam6Df2+40SpBwsoAOer0Wh/gdIqwPC6EUtbWIVJdZo4yBoxxJHGsoChCgC7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJ44nGMzjB7; Thu, 31 Oct 2024 16:01:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1OXW070005; Thu, 31 Oct 2024 16:01:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1OWQ070002; Thu, 31 Oct 2024 16:01:24 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:24 GMT Message-Id: <202410311601.49VG1OWQ070002@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: b1718de62f16 - stable/14 - ena: Update license signatures to 2024 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b1718de62f16b203fcaef236d5699a4aba90d003 Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=b1718de62f16b203fcaef236d5699a4aba90d003 commit b1718de62f16b203fcaef236d5699a4aba90d003 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:18 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:10 +0000 ena: Update license signatures to 2024 This commit updates all the license signatures to 2024. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 8d6806cd08c093fc001db1f94cf122368b8d1549) --- share/man/man4/ena.4 | 2 +- sys/dev/ena/ena.c | 2 +- sys/dev/ena/ena.h | 2 +- sys/dev/ena/ena_datapath.c | 2 +- sys/dev/ena/ena_datapath.h | 2 +- sys/dev/ena/ena_netmap.c | 2 +- sys/dev/ena/ena_netmap.h | 2 +- sys/dev/ena/ena_rss.c | 2 +- sys/dev/ena/ena_rss.h | 2 +- sys/dev/ena/ena_sysctl.c | 2 +- sys/dev/ena/ena_sysctl.h | 2 +- sys/modules/ena/Makefile | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/share/man/man4/ena.4 b/share/man/man4/ena.4 index 50a180871627..0fbe0819978c 100644 --- a/share/man/man4/ena.4 +++ b/share/man/man4/ena.4 @@ -1,6 +1,6 @@ .\" SPDX-License-Identifier: BSD-2-Clause .\" -.\" Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. +.\" Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 3f2b9c1fb138..fd92b5046f84 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 3e42568ba8a9..be55f63bdb7b 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index 66a93bbe7a6c..0691444f5357 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_datapath.h b/sys/dev/ena/ena_datapath.h index 43292b5abbe9..9edf54fe502a 100644 --- a/sys/dev/ena/ena_datapath.h +++ b/sys/dev/ena/ena_datapath.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index d95f48f7380c..ae2140d1217c 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_netmap.h b/sys/dev/ena/ena_netmap.h index 598fcf1f08b2..4ee8338e4009 100644 --- a/sys/dev/ena/ena_netmap.h +++ b/sys/dev/ena/ena_netmap.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_rss.c b/sys/dev/ena/ena_rss.c index 41fa9c62f94a..b7706e33065d 100644 --- a/sys/dev/ena/ena_rss.c +++ b/sys/dev/ena/ena_rss.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_rss.h b/sys/dev/ena/ena_rss.h index 1c1c89261b35..64dd41851fec 100644 --- a/sys/dev/ena/ena_rss.h +++ b/sys/dev/ena/ena_rss.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index ea651837ebb6..a94bcbccdc98 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/dev/ena/ena_sysctl.h b/sys/dev/ena/ena_sysctl.h index 4f5834214005..df9cc8cb592f 100644 --- a/sys/dev/ena/ena_sysctl.h +++ b/sys/dev/ena/ena_sysctl.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. + * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/sys/modules/ena/Makefile b/sys/modules/ena/Makefile index f8b71588afa1..bfa4cf6da430 100644 --- a/sys/modules/ena/Makefile +++ b/sys/modules/ena/Makefile @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: BSD-2-Clause # -# Copyright (c) 2015-2023 Amazon.com, Inc. or its affiliates. +# Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates. # All rights reserved. # # Redistribution and use in source and binary forms, with or without From nobody Thu Oct 31 16:01:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJ61V4Nz5bwZp; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJ56Gjqz4StQ; Thu, 31 Oct 2024 16:01:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b1rBUTh8Ie54t6fyrm/OSwBkVhK8O5zHSt56MXh/y+Q=; b=SEwQLXJgRy9Fx8ZaaOG7GYl5yBm92VPTXnMQEll/pyiiRVKn3NbEzmVVvaZhhOYycPmqVk gf+17FRPO4+O5bnwD0a4DN/nm5OWZPGEMlQWkf5BIec9jgZrdjBQMj8Y3z34xf9zTBffHA Ne0lHDBmLPEubsuMS+2aoj/DE37NoLVhL9hoIFg25/8MvvFZAeS4Zr0lHOBNdgXvBotCAb unAlcUgob+kJFQ/jzsxqgN4l0ZlJRnGhLqHDwFB8j8lSL6JxsNkZS9ObU7TNKAAKjkoulr 6ZWIQvbalmUJSzsinQEFmblg2ewoqNiW4najyYwzbDN0D79Brd/YvAkE+uZxmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b1rBUTh8Ie54t6fyrm/OSwBkVhK8O5zHSt56MXh/y+Q=; b=K9Pmji8+rzkSNcROnKGWvELpvvi5vczA9gtfXrCDvezGWcHfXRyapMPOExz50LpWI0kh5r 3dfkJWV/P7GRX3nP59Mn55V5sZhcNNpJB1Vb0zt23TmFZ1AAyVDcuxM+pxA+3v1s26J3nC BnxiEf+o9b33EYBQa7/Qvw/4qJ0TnyHuWEE68MCR+7MoziT/UQ/7Vi/Vdzk7hmQtSitUs4 vJP2i0M5kTb/zp6VhDGBOTED8xPhTcwf6gtfB4gfEVaErCwizvfL8PCTy3sGVhx+I5Ax2N TQSjaZKmxicSn8nEyAppBUAEJ+7K9+EPi5ZfSCaJygB+jXa3nODpw055GsLgaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390485; a=rsa-sha256; cv=none; b=X3LwYfwvQUkbhjfeJKh3uMAgmaG+jDAAV/R/dKRn0OZVRA7WM80D/Rv4GVWOUUKC25Aj2F 95nks+ZkfEjCdzRYlibiyU8jI73RqY0GakE/vFcc47/q8aNFZ9L7RAqtHEi8wm+CO+cjnf zjzLUeeziaG7y5JpHjBnvX4axkGmDXEaS3q+cklhkt5M9f7XgEFaVGbQ7CA4Ml+Q6w1+rE ZD/vB/HSkkV7/aCMlX+3a+BC3vA5qP+RnBhzhse4jRmSkKV/rgDwbixmxZdPJOaRjAYKVU kcRgY9223tYzIE4O+AeVWMoJja1ZoJC5cehBSHlJZ0Aid+t9qvs+H/BSgqEkzA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJ55mkSzjVn; Thu, 31 Oct 2024 16:01:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1Pbd070055; Thu, 31 Oct 2024 16:01:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1P56070052; Thu, 31 Oct 2024 16:01:25 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:25 GMT Message-Id: <202410311601.49VG1P56070052@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 89940eed9118 - stable/14 - ena: Improve reset reason statistics List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 89940eed91182f4dbb20c14bdbb689fc622dad9b Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=89940eed91182f4dbb20c14bdbb689fc622dad9b commit 89940eed91182f4dbb20c14bdbb689fc622dad9b Author: Osama Abboud AuthorDate: 2024-08-07 06:24:19 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:10 +0000 ena: Improve reset reason statistics The driver uses different reset reasons. Some of them are counted and presented in the driver statistics. There are cases where statistics are counted on a ring level, but these are zeroed after a reset procedure takes place. This commit makes the following changes: 1. Add statistics for the unrepresented reset reasons. 2. Add reset reasons which are counted on a ring level, to be also global for better tracking. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 89ce3f6314f6feba0e6626be51832d44df611218) --- sys/dev/ena/ena.c | 2 -- sys/dev/ena/ena.h | 42 ++++++++++++++++++++++++++++++++++++++++++ sys/dev/ena/ena_sysctl.c | 16 ++++++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index fd92b5046f84..7c86c0594daf 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3014,7 +3014,6 @@ check_for_missing_keep_alive(struct ena_adapter *adapter) time = getsbinuptime() - timestamp; if (unlikely(time > adapter->keep_alive_timeout)) { ena_log(adapter->pdev, ERR, "Keep alive watchdog timeout.\n"); - counter_u64_add(adapter->dev_stats.wd_expired, 1); ena_trigger_reset(adapter, ENA_REGS_RESET_KEEP_ALIVE_TO); } } @@ -3026,7 +3025,6 @@ check_for_admin_com_state(struct ena_adapter *adapter) if (unlikely(ena_com_get_admin_running_state(adapter->ena_dev) == false)) { ena_log(adapter->pdev, ERR, "ENA admin queue is not in running state!\n"); - counter_u64_add(adapter->dev_stats.admin_q_pause, 1); ena_trigger_reset(adapter, ENA_REGS_RESET_ADMIN_TO); } } diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index be55f63bdb7b..4ac79edd0016 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -381,6 +381,14 @@ struct ena_stats_dev { counter_u64_t interface_up; counter_u64_t interface_down; counter_u64_t admin_q_pause; + counter_u64_t total_resets; + counter_u64_t os_trigger; + counter_u64_t missing_tx_cmpl; + counter_u64_t bad_rx_req_id; + counter_u64_t bad_tx_req_id; + counter_u64_t bad_rx_desc_num; + counter_u64_t invalid_state; + counter_u64_t missing_intr; }; struct ena_hw_stats { @@ -519,6 +527,29 @@ struct ena_adapter { extern struct sx ena_global_lock; +#define ENA_RESET_STATS_ENTRY(reset_reason, stat) \ + [reset_reason] = { \ + .stat_offset = offsetof(struct ena_stats_dev, stat) / sizeof(u64), \ + .has_counter = true \ +} + +struct ena_reset_stats_offset { + int stat_offset; + bool has_counter; +}; + +static const struct ena_reset_stats_offset resets_to_stats_offset_map[ENA_REGS_RESET_LAST] = { + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_KEEP_ALIVE_TO, wd_expired), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_ADMIN_TO, admin_q_pause), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_OS_TRIGGER, os_trigger), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISS_TX_CMPL, missing_tx_cmpl), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_INV_RX_REQ_ID, bad_rx_req_id), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_INV_TX_REQ_ID, bad_tx_req_id), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_TOO_MANY_RX_DESCS, bad_rx_desc_num), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_DRIVER_INVALID_STATE, invalid_state), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISS_INTERRUPT, missing_intr), +}; + int ena_up(struct ena_adapter *adapter); void ena_down(struct ena_adapter *adapter); int ena_restore_device(struct ena_adapter *adapter); @@ -547,6 +578,17 @@ ena_trigger_reset(struct ena_adapter *adapter, enum ena_regs_reset_reason_types reset_reason) { if (likely(!ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))) { + const struct ena_reset_stats_offset *ena_reset_stats_offset = + &resets_to_stats_offset_map[reset_reason]; + + if (ena_reset_stats_offset->has_counter) { + uint64_t *stat_ptr = (uint64_t *)&adapter->dev_stats + + ena_reset_stats_offset->stat_offset; + + counter_u64_add((counter_u64_t)(*stat_ptr), 1); + } + + counter_u64_add(adapter->dev_stats.total_resets, 1); adapter->reset_reason = reset_reason; ENA_FLAG_SET_ATOMIC(ENA_FLAG_TRIGGER_RESET, adapter); } diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index a94bcbccdc98..6eafe2a8c052 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -280,6 +280,22 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) "Network interface down count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "admin_q_pause", CTLFLAG_RD, &dev_stats->admin_q_pause, "Admin queue pauses"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "os_trigger", CTLFLAG_RD, + &dev_stats->os_trigger, "OS trigger count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "missing_tx_cmpl", CTLFLAG_RD, + &dev_stats->missing_tx_cmpl, "Missing TX completions resets count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "bad_rx_req_id", CTLFLAG_RD, + &dev_stats->bad_rx_req_id, "Bad RX req id count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "bad_tx_req_id", CTLFLAG_RD, + &dev_stats->bad_tx_req_id, "Bad TX req id count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "bad_rx_desc_num", CTLFLAG_RD, + &dev_stats->bad_rx_desc_num, "Bad RX descriptors number count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "invalid_state", CTLFLAG_RD, + &dev_stats->invalid_state, "Driver invalid state count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "missing_intr", CTLFLAG_RD, + &dev_stats->missing_intr, "Missing interrupt count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "total_resets", CTLFLAG_RD, + &dev_stats->total_resets, "Total resets count"); for (i = 0; i < adapter->num_io_queues; ++i, ++tx_ring, ++rx_ring) { snprintf(namebuf, QUEUE_NAME_LEN, "queue%d", i); From nobody Thu Oct 31 16:01:26 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJ72Cvdz5bwgq; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJ673dWz4Swk; Thu, 31 Oct 2024 16:01:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=itL/qKcmfzSAn9ktw6G5C0hCW9/q2kCNHZACUZ+C5v8=; b=QGVB8JATPvPu4Y45t4LEoSA7fElzl5cu9Ngcfv4JPPSPJam68vRhG4kioc481wbVY/61qj 9fwNmkjJXpQtK/TNHPrGAsNiL8tP47Gp9lzCEEKClg844mx1zeMLlOYKHWL0WNeOoO3uon raxct+1jwEvUHPdZsT2K+YQxuNNUxK0p6FD4gBy39bFES2aEp5gb59Ck5+sUiJTODOlfY5 ag5bevRqDZSbvoKt/M86oaVlzavo0Os/9w8YHe2gdZZDJxRsdZCaqONQQGqC/v/QZuHEN9 OjkyewkOGfUOXA1tdkkLbNXC1Hihj800CU+75vydqa9A7alLAPdWQ7RlQve5Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=itL/qKcmfzSAn9ktw6G5C0hCW9/q2kCNHZACUZ+C5v8=; b=f9bTrvWSlLKCDB5VfqtOWq683VggOykYy5d3bAh0lLjS5rVj4iKv9nCz//aS8GRxHdFv53 GeBF+ziXCUBwe0yefcJAgLPQDNQrM044NOwoWTzxix3W9ibUUcVqESKVWyOgZNvgCZNkgh c7P6YXo7Z9CHgXH98KloGBFtQB1eNXSbpwHRQ+DutJUKrMZC/uZhTZd0oIj7jRFM0SEPAK pOchEIxwME7z3+QS78eb4r4nqjV1mzcX9zplAZMDcZFq60qKifIEMx5HGpC8O68e0Qhq3q saz+sLY+b4RxmgW1Hit/dSK7VObCrV8U/lZaxFUq9u9pbCpAT4v/z/ZQOni6Zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390487; a=rsa-sha256; cv=none; b=xGgYQ/ogbwHeWAJ499q9cwLyywSaa/rLhaquomy52iHHl10/qixn69MBGLjMhevHzlCyrZ bFp2odLLcV3L/Txkq6RCWikgXmcfTNzIs0+p93kbthzmiSUl+87IKRJVB5vw+hfbIJies3 WBuM6xSLn4pZ7vb3axU7on5a3+Z6bv+iZ2U2fg2xnBeC4PGNkkKDQr3adaIE8ctswkvbMK f8LU69Qd/jDR7cqKfj/FLTLa9fRlReuMiQDzB1P9TQJQaXrkwdY69vHFSGYiBCfubOEpNK GfxcEXBpUrA2SwSOwHW8qu1/JbYhhOAERkdd3HWTmnYnhGZ5AgsZSkbYIoqnVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJ66YVwzjXJ; Thu, 31 Oct 2024 16:01:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1Q8A070106; Thu, 31 Oct 2024 16:01:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1QoR070103; Thu, 31 Oct 2024 16:01:26 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:26 GMT Message-Id: <202410311601.49VG1QoR070103@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 189bc23fd0e4 - stable/14 - ena: Add reset reason for corrupted TX cdescs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 189bc23fd0e4ddc0485dd52b2925728d321ab8ec Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=189bc23fd0e4ddc0485dd52b2925728d321ab8ec commit 189bc23fd0e4ddc0485dd52b2925728d321ab8ec Author: Osama Abboud AuthorDate: 2024-08-07 06:24:19 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:10 +0000 ena: Add reset reason for corrupted TX cdescs TX completion descriptors may sometimes contain errors due to corruption. Upon identifying such a case, the driver will trigger a reset with an explicit reset reason ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 38727218460008a500fbc18f08c90082ed678895) --- sys/dev/ena/ena.c | 26 ++++++++++++++++++++++++++ sys/dev/ena/ena.h | 3 +++ sys/dev/ena/ena_datapath.c | 27 ++++++++++----------------- sys/dev/ena/ena_netmap.c | 38 ++++++++++++++------------------------ sys/dev/ena/ena_sysctl.c | 2 ++ 5 files changed, 55 insertions(+), 41 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 7c86c0594daf..3f3a4946ccca 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -560,6 +560,32 @@ ena_free_rx_dma_tag(struct ena_adapter *adapter) return (ret); } +int +validate_tx_req_id(struct ena_ring *tx_ring, uint16_t req_id, int tx_req_id_rc) +{ + struct ena_adapter *adapter = tx_ring->adapter; + enum ena_regs_reset_reason_types reset_reason = ENA_REGS_RESET_INV_TX_REQ_ID; + + if (unlikely(tx_req_id_rc != 0)) { + if (tx_req_id_rc == ENA_COM_FAULT) { + reset_reason = ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED; + ena_log(adapter->pdev, ERR, + "TX descriptor malformed. req_id %hu qid %hu\n", + req_id, tx_ring->qid); + } else if (tx_req_id_rc == ENA_COM_INVAL) { + ena_log_nm(adapter->pdev, WARN, + "Invalid req_id %hu in qid %hu\n", + req_id, tx_ring->qid); + counter_u64_add(tx_ring->tx_stats.bad_req_id, 1); + } + + ena_trigger_reset(adapter, reset_reason); + return (EFAULT); + } + + return (0); +} + static void ena_release_all_tx_dmamap(struct ena_ring *tx_ring) { diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 4ac79edd0016..22c42a9346f7 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -389,6 +389,7 @@ struct ena_stats_dev { counter_u64_t bad_rx_desc_num; counter_u64_t invalid_state; counter_u64_t missing_intr; + counter_u64_t tx_desc_malformed; }; struct ena_hw_stats { @@ -548,6 +549,7 @@ static const struct ena_reset_stats_offset resets_to_stats_offset_map[ENA_REGS_R ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_TOO_MANY_RX_DESCS, bad_rx_desc_num), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_DRIVER_INVALID_STATE, invalid_state), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISS_INTERRUPT, missing_intr), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED, tx_desc_malformed), }; int ena_up(struct ena_adapter *adapter); @@ -562,6 +564,7 @@ int ena_update_queue_size(struct ena_adapter *adapter, uint32_t new_tx_size, int ena_update_io_queue_nb(struct ena_adapter *adapter, uint32_t new_num); int ena_update_base_cpu(struct ena_adapter *adapter, int new_num); int ena_update_cpu_stride(struct ena_adapter *adapter, uint32_t new_num); +int validate_tx_req_id(struct ena_ring *tx_ring, uint16_t req_id, int tx_req_id_rc); static inline int ena_mbuf_count(struct mbuf *mbuf) { diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index 0691444f5357..c63a8914f9c2 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -200,29 +200,22 @@ ena_get_tx_req_id(struct ena_ring *tx_ring, struct ena_com_io_cq *io_cq, uint16_t *req_id) { struct ena_adapter *adapter = tx_ring->adapter; - int rc; + int rc = ena_com_tx_comp_req_id_get(io_cq, req_id); - rc = ena_com_tx_comp_req_id_get(io_cq, req_id); - if (rc == ENA_COM_TRY_AGAIN) + if (unlikely(rc == ENA_COM_TRY_AGAIN)) return (EAGAIN); - if (unlikely(rc != 0)) { - ena_log(adapter->pdev, ERR, "Invalid req_id %hu in qid %hu\n", + rc = validate_tx_req_id(tx_ring, *req_id, rc); + + if (unlikely(tx_ring->tx_buffer_info[*req_id].mbuf == NULL)) { + ena_log(adapter->pdev, ERR, + "tx_info doesn't have valid mbuf. req_id %hu qid %hu\n", *req_id, tx_ring->qid); - counter_u64_add(tx_ring->tx_stats.bad_req_id, 1); - goto err; + ena_trigger_reset(adapter, ENA_REGS_RESET_INV_TX_REQ_ID); + rc = EFAULT; } - if (tx_ring->tx_buffer_info[*req_id].mbuf != NULL) - return (0); - - ena_log(adapter->pdev, ERR, - "tx_info doesn't have valid mbuf. req_id %hu qid %hu\n", - *req_id, tx_ring->qid); -err: - ena_trigger_reset(adapter, ENA_REGS_RESET_INV_TX_REQ_ID); - - return (EFAULT); + return (rc); } /** diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index ae2140d1217c..618d25a07f67 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -71,7 +71,6 @@ static void ena_netmap_unmap_last_socket_chain(struct ena_netmap_ctx *, struct ena_tx_buffer *); static void ena_netmap_tx_cleanup(struct ena_netmap_ctx *); static uint16_t ena_netmap_tx_clean_one(struct ena_netmap_ctx *, uint16_t); -static inline int validate_tx_req_id(struct ena_ring *, uint16_t); static int ena_netmap_rx_frames(struct ena_netmap_ctx *); static int ena_netmap_rx_frame(struct ena_netmap_ctx *); static int ena_netmap_rx_load_desc(struct ena_netmap_ctx *, uint16_t, int *); @@ -795,25 +794,33 @@ ena_netmap_unmap_last_socket_chain(struct ena_netmap_ctx *ctx, static void ena_netmap_tx_cleanup(struct ena_netmap_ctx *ctx) { + struct ena_ring *tx_ring = ctx->ring; + int rc; uint16_t req_id; uint16_t total_tx_descs = 0; ctx->nm_i = ctx->kring->nr_hwtail; - ctx->nt = ctx->ring->next_to_clean; + ctx->nt = tx_ring->next_to_clean; /* Reclaim buffers for completed transmissions */ - while (ena_com_tx_comp_req_id_get(ctx->io_cq, &req_id) >= 0) { - if (validate_tx_req_id(ctx->ring, req_id) != 0) + do { + rc = ena_com_tx_comp_req_id_get(ctx->io_cq, &req_id); + if(unlikely(rc == ENA_COM_TRY_AGAIN)) break; + + rc = validate_tx_req_id(tx_ring, req_id, rc); + if(unlikely(rc != 0)) + break; + total_tx_descs += ena_netmap_tx_clean_one(ctx, req_id); - } + } while (1); ctx->kring->nr_hwtail = ctx->nm_i; if (total_tx_descs > 0) { /* acknowledge completion of sent packets */ - ctx->ring->next_to_clean = ctx->nt; - ena_com_comp_ack(ctx->ring->ena_com_io_sq, total_tx_descs); + tx_ring->next_to_clean = ctx->nt; + ena_com_comp_ack(tx_ring->ena_com_io_sq, total_tx_descs); } } @@ -856,23 +863,6 @@ ena_netmap_tx_clean_one(struct ena_netmap_ctx *ctx, uint16_t req_id) return tx_info->tx_descs; } -static inline int -validate_tx_req_id(struct ena_ring *tx_ring, uint16_t req_id) -{ - struct ena_adapter *adapter = tx_ring->adapter; - - if (likely(req_id < tx_ring->ring_size)) - return (0); - - ena_log_nm(adapter->pdev, WARN, "Invalid req_id %hu in qid %hu\n", - req_id, tx_ring->qid); - counter_u64_add(tx_ring->tx_stats.bad_req_id, 1); - - ena_trigger_reset(adapter, ENA_REGS_RESET_INV_TX_REQ_ID); - - return (EFAULT); -} - static int ena_netmap_rxsync(struct netmap_kring *kring, int flags) { diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index 6eafe2a8c052..71c25dd5e443 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -294,6 +294,8 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &dev_stats->invalid_state, "Driver invalid state count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "missing_intr", CTLFLAG_RD, &dev_stats->missing_intr, "Missing interrupt count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "tx_desc_malformed", CTLFLAG_RD, + &dev_stats->tx_desc_malformed, "TX descriptors malformed count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "total_resets", CTLFLAG_RD, &dev_stats->total_resets, "Total resets count"); From nobody Thu Oct 31 16:01:28 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJ912qxz5bx2L; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJ81RKGz4Sts; Thu, 31 Oct 2024 16:01:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ub3jYicBymug8yvIyWCPd+acU8J07jsHem3+FlhaR+s=; b=TWrB0gC6346X3JLzyRM1ck7eIvYfB1nBkDnQvxbbowhqBtqXEtIE+QG0AL7n/TeRqqW6Kz MiTxmmH4cwt7sWbTnQ77DhF+hKOnvl6L0oTccmOP3BtntCkcJXOSDYAAJxmlQSlLTsE5v9 8TqjklDJdUD6M+esUX5WFdlZWAeoeHqRkriWVoRoACBuMiwFI1thhsYxCdFzN5U3UEPsqj P41aEB+ryFUSJJTKDRe1+Gk0xt0H90ga5m1Jkm31wd6qhWVuweJYuFzRV0BGKGRxMV4kFa RUBhpsT+Me20P2q3Lof89bWEbNLDJfZoLNz1zUv14b142WALLKMSF6p7veXltg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ub3jYicBymug8yvIyWCPd+acU8J07jsHem3+FlhaR+s=; b=kmx1tf3BskNhcYaiyDvf4d7oZ3+bgzm/xI2TUJLR5Sosk7CWdxevNLY9j6AwlGFhhT5/3L fK3CsOjCck/EyqbVqP7p2Nky0OvZvlU0tVk1Nfvzpw1FYkkbn5ZwI0APoy5hMwSPK4BSSW iVqA8/kEMAra0b+SResc01JNbLQX2XPlitHvXsbmc8kzOJDihav64yzcNJH5XLXbfxzTdp 1FiMyv3XtSsu840Nu8QIXAhwFBEowB7FthyDZye3/WpNLVG3KE7/Q8t3xJkfTu41g4DP/g rs8p/E3Yod1+j289qBJvZ3ggrcqOlPQe6FqTAai0DkrrLAkqaesSO/BEdKvIjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390488; a=rsa-sha256; cv=none; b=cVBwYT/ptA0Ceo3AGVMQTbQ9c4qaaxAmNgw8MclQqRMW08ceec1lrcT9nFZE15aJfORaWb yipU353gz2Pbz+g0i9n/dPs6RZwNDY1bj8OA611rau7cKdDOyAbNOKXQWu4W9thnNku3ro aS/VU1wHYUi+kL0y8h6I7C7x9l/gZ9L0YAk1QwnaEbxmnXGVZK6Z5NPQ7Nthlob37+h+OX fHkjYJ9CqPj0qfBCqd/ghfYndXWb93yN8/G5Tnr6x2YhkY/gsEa9VNEKuTx/gabGpSwkt+ pGJRrJnGortugwgld1f4L5qSaueNzdIGkNJZbZu4esqL/4gedGu5EVl2CIypCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJ80p7fzjXK; Thu, 31 Oct 2024 16:01:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1Sbs070157; Thu, 31 Oct 2024 16:01:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1Svo070154; Thu, 31 Oct 2024 16:01:28 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:28 GMT Message-Id: <202410311601.49VG1Svo070154@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: e445e3afde09 - stable/14 - ena: Add reset reason for corrupted RX cdescs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e445e3afde09d931cdfef0cbf45f23aa8556537d Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=e445e3afde09d931cdfef0cbf45f23aa8556537d commit e445e3afde09d931cdfef0cbf45f23aa8556537d Author: Osama Abboud AuthorDate: 2024-08-07 06:24:19 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:10 +0000 ena: Add reset reason for corrupted RX cdescs RX completion descriptors may sometimes contain errors due to corruption. Upon identifying such a case, the driver will trigger a reset with an explicit reset reason ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 4af71159db3cd4a37055b2b3d982ec53703c5c3d) --- sys/dev/ena/ena.h | 2 ++ sys/dev/ena/ena_datapath.c | 2 ++ sys/dev/ena/ena_netmap.c | 2 ++ sys/dev/ena/ena_sysctl.c | 2 ++ 4 files changed, 8 insertions(+) diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 22c42a9346f7..b747736224d8 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -390,6 +390,7 @@ struct ena_stats_dev { counter_u64_t invalid_state; counter_u64_t missing_intr; counter_u64_t tx_desc_malformed; + counter_u64_t rx_desc_malformed; }; struct ena_hw_stats { @@ -550,6 +551,7 @@ static const struct ena_reset_stats_offset resets_to_stats_offset_map[ENA_REGS_R ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_DRIVER_INVALID_STATE, invalid_state), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISS_INTERRUPT, missing_intr), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED, tx_desc_malformed), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED, rx_desc_malformed), }; int ena_up(struct ena_adapter *adapter); diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index c63a8914f9c2..6cbe46cead3e 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -599,6 +599,8 @@ ena_rx_cleanup(struct ena_ring *rx_ring) counter_u64_add(rx_ring->rx_stats.bad_desc_num, 1); reset_reason = ENA_REGS_RESET_TOO_MANY_RX_DESCS; + } else if (rc == ENA_COM_FAULT) { + reset_reason = ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED; } else { counter_u64_add(rx_ring->rx_stats.bad_req_id, 1); diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index 618d25a07f67..0666d7deb827 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -938,6 +938,8 @@ ena_netmap_rx_frame(struct ena_netmap_ctx *ctx) if (rc == ENA_COM_NO_SPACE) { counter_u64_add(ctx->ring->rx_stats.bad_desc_num, 1); reset_reason = ENA_REGS_RESET_TOO_MANY_RX_DESCS; + } else if (rc == ENA_COM_FAULT) { + reset_reason = ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED; } else { counter_u64_add(ctx->ring->rx_stats.bad_req_id, 1); reset_reason = ENA_REGS_RESET_INV_RX_REQ_ID; diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index 71c25dd5e443..e46e835572fe 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -296,6 +296,8 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &dev_stats->missing_intr, "Missing interrupt count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "tx_desc_malformed", CTLFLAG_RD, &dev_stats->tx_desc_malformed, "TX descriptors malformed count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "rx_desc_malformed", CTLFLAG_RD, + &dev_stats->rx_desc_malformed, "RX descriptors malformed count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "total_resets", CTLFLAG_RD, &dev_stats->total_resets, "Total resets count"); From nobody Thu Oct 31 16:01:29 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJ970Xnz5bwgs; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJ921Xpz4T4P; Thu, 31 Oct 2024 16:01:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ddwXBCE3u+YKoYXx6pZlcz/X7+xVUiyo87vrgDHPxz0=; b=RW9WWnjGdxuSFxvJIbfld0YXVY9PDCz4iDr7BZ2mlEkSncAQgjsZB56gF1d2a7Gw/bKlw4 k/AlorsGKFbQRpKK0HHBp2pp0l45XOjqH3lXmKQFsTUX42TmvIqqnHGbRArhXXEacE6ADN tEDjFz6hu5ruDAYhnVSaCH8XC56/QsmM3utj7gMid/Tkazw+UdbXy7l2cv1hv15mjv6QaW WKv1WVDDMNsZ+FJZQTpSc4tnLroZVhvVZr+QK3E3nPI6KXwuzkKIVkIpF2eibeo7IWBC5w Bx6yl+0OtqOszv+jRVYKQ2kWbSgaBFpfyESt+SfYAubrk3ebvpjdVr/weBdz4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ddwXBCE3u+YKoYXx6pZlcz/X7+xVUiyo87vrgDHPxz0=; b=LuU/PyAUWapwRKzHkQXGH0TCC5Nu3ieKmwZFJgY9Zv+YKE+OIh0kNVBClg2ggXgIS4AloM KMMaSFcvDA9/3cCMzpTVQzWHZPl4IK7XxsPz/Yo/td5SDbxh8IDxekQ6P36CQDvNZqCvVZ 6UDdBhYyHZoEY/2hciBvM33/c2p3jDYCRM6a5VvLF2vxBu5QXtKBY9J/d6wA4HKqECOIyx x9dDeIdSOmcEVfpgSV0kaFuVNY9Eolf8XqIOzz9GuXQqCu0LKeKM80HdOZW7vfXiZ/2AQx 6hzd29wmNhUwFXfPatXN5lUA2Yt89NQW2IW69qPBl8qPEBXcS96P+Q1BfgOesg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390489; a=rsa-sha256; cv=none; b=YCFbtBPHDExA9upgRYuRJXOIt+AA6WVzR0iVnEz7SjHtSQ+YK2034dl1yVTN8be6Ox2j5L tewzhB3iHEVV6cyBaZMIT4p4hRGpnFLPlP0PBNqwrzBwfqAoO8Y+h3aomrIKwCElAmL3iU +moXxmMbP018ACHh+y+Yorik1MvZWX3N2UTFsyK9WeGcgKpERd3F5e51Vn+o4wc6Jo5vma vXiGvQ2gbobbzEcpuU+9W9qC9OMz+f2p/NPfg5XhhFnn6Rt0Es6laG9Lee6NEj7ohGlNxt zIjjPE/NSnCguW9oSGExdLMBM/7m8FBZSl9zhWlPIIW37tD8P8f0d3HMm2optA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJ91d93zjVp; Thu, 31 Oct 2024 16:01:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1TCv070208; Thu, 31 Oct 2024 16:01:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1Tbp070205; Thu, 31 Oct 2024 16:01:29 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:29 GMT Message-Id: <202410311601.49VG1Tbp070205@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: a0594d1f65d6 - stable/14 - ena: Add reset reason for missing admin interrupt List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a0594d1f65d67b2ff91cf9c0caa94cdebae7e04e Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=a0594d1f65d67b2ff91cf9c0caa94cdebae7e04e commit a0594d1f65d67b2ff91cf9c0caa94cdebae7e04e Author: Osama Abboud AuthorDate: 2024-08-07 06:24:19 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:10 +0000 ena: Add reset reason for missing admin interrupt There can be cases when we trigger reset if an admin interrupt is missing. In order to identify this use-case specifically, this commit adds a new reset reason. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 274319acb48424958242d55e1b0c7d4528da7f70) --- sys/dev/ena/ena.c | 13 +++++++++++-- sys/dev/ena/ena.h | 5 ++++- sys/dev/ena/ena_sysctl.c | 4 ++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 3f3a4946ccca..36e9ac15e8ff 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3029,6 +3029,7 @@ static void check_for_missing_keep_alive(struct ena_adapter *adapter) { sbintime_t timestamp, time; + enum ena_regs_reset_reason_types reset_reason = ENA_REGS_RESET_KEEP_ALIVE_TO; if (adapter->wd_active == 0) return; @@ -3040,7 +3041,10 @@ check_for_missing_keep_alive(struct ena_adapter *adapter) time = getsbinuptime() - timestamp; if (unlikely(time > adapter->keep_alive_timeout)) { ena_log(adapter->pdev, ERR, "Keep alive watchdog timeout.\n"); - ena_trigger_reset(adapter, ENA_REGS_RESET_KEEP_ALIVE_TO); + if (ena_com_aenq_has_keep_alive(adapter->ena_dev)) + reset_reason = ENA_REGS_RESET_MISSING_ADMIN_INTERRUPT; + + ena_trigger_reset(adapter, reset_reason); } } @@ -3048,10 +3052,15 @@ check_for_missing_keep_alive(struct ena_adapter *adapter) static void check_for_admin_com_state(struct ena_adapter *adapter) { + enum ena_regs_reset_reason_types reset_reason = ENA_REGS_RESET_ADMIN_TO; if (unlikely(ena_com_get_admin_running_state(adapter->ena_dev) == false)) { ena_log(adapter->pdev, ERR, "ENA admin queue is not in running state!\n"); - ena_trigger_reset(adapter, ENA_REGS_RESET_ADMIN_TO); + counter_u64_add(adapter->dev_stats.admin_q_pause, 1); + if (ena_com_get_missing_admin_interrupt(adapter->ena_dev)) + reset_reason = ENA_REGS_RESET_MISSING_ADMIN_INTERRUPT; + + ena_trigger_reset(adapter, reset_reason); } } diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index b747736224d8..1a436a702ba1 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -391,6 +391,8 @@ struct ena_stats_dev { counter_u64_t missing_intr; counter_u64_t tx_desc_malformed; counter_u64_t rx_desc_malformed; + counter_u64_t missing_admin_interrupt; + counter_u64_t admin_to; }; struct ena_hw_stats { @@ -542,7 +544,7 @@ struct ena_reset_stats_offset { static const struct ena_reset_stats_offset resets_to_stats_offset_map[ENA_REGS_RESET_LAST] = { ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_KEEP_ALIVE_TO, wd_expired), - ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_ADMIN_TO, admin_q_pause), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_ADMIN_TO, admin_to), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_OS_TRIGGER, os_trigger), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISS_TX_CMPL, missing_tx_cmpl), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_INV_RX_REQ_ID, bad_rx_req_id), @@ -552,6 +554,7 @@ static const struct ena_reset_stats_offset resets_to_stats_offset_map[ENA_REGS_R ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISS_INTERRUPT, missing_intr), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED, tx_desc_malformed), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED, rx_desc_malformed), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISSING_ADMIN_INTERRUPT, missing_admin_interrupt), }; int ena_up(struct ena_adapter *adapter); diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index e46e835572fe..c711ecf66d7a 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -298,6 +298,10 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &dev_stats->tx_desc_malformed, "TX descriptors malformed count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "rx_desc_malformed", CTLFLAG_RD, &dev_stats->rx_desc_malformed, "RX descriptors malformed count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "missing_admin_interrupt", CTLFLAG_RD, + &dev_stats->missing_admin_interrupt, "Missing admin interrupts count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "admin_to", CTLFLAG_RD, + &dev_stats->admin_to, "Admin queue timeouts count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "total_resets", CTLFLAG_RD, &dev_stats->total_resets, "Total resets count"); From nobody Thu Oct 31 16:01:30 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJB53K5z5bx3B; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJB3T1qz4T7F; Thu, 31 Oct 2024 16:01:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8ovM6AbE5zsdSbkx608Y+HUXmPQTkF49M9KtMJDoHE4=; b=FnG4DUFT/ZYbufz6aPrOJmQvjyV6YSmWaiB2y7WgaApEJPGlLkwF86eI4p55GEIYLtCSnv LfzLy4aunTSIZ9J3IIIb6SWm3Arqw5rOEaPgEo/ZEsyH+IMaYjRZ1OD+7cnV00wLiuGYiD ylTuv10I4rxq7r4z+YEyMtnXl7k/pjmPepejTeFszmdA4av7YkmVJwwpoBJgcH/6bf6ZPn 5savaBUU31CQ7ksrKo+B+QlQzPyupoXz1GM4fW2RfqGqAR5kYZHJTvpFk+Tnj0uZrpaTfY vzAPWnKVOVOXMFYpzSqisq7O1kxYg7stIsPkWMmzTZsIROuGiuwNUi78+gWN8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8ovM6AbE5zsdSbkx608Y+HUXmPQTkF49M9KtMJDoHE4=; b=hqOaKz2bAOuqNEezl8JvcVoGpKqpKatGnoENdQEUGyG7ufTtBfY9JbPx7R9kgjw/bIIUvK Q/j8tVmQQYV+j9K/8xA0PGsGR8Rk2UY4BF2m9uY7/w7CmXIfBfTWKY1fEZd+B1ArVtR5zy Il8o2myuiMkoTYvmhsqJ9Qnc6U14moPDIzD7iLOD5VfF6gBsuxG33PV7rCpCExlYBUCRpk DQibAAH1PjCUfWqVgMY0sZCKEL1+nEU3JVj5q9/+7hLs0ZUMyeRREIms4CJXVT23+MOm25 9D7bqjd+n6SBkj3dGnsACVABgr0djkcSPsvqiPUus9BWd5iVcl05/gJRnNO8vw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390490; a=rsa-sha256; cv=none; b=pnuJcLVdj826zmOanKkd8V448+aFwazUN8Rb7l30KsEiAYiKJjj3zLq02Evruui1rmXXEs ZofH3IjmxHxCk0aEocmHbJW69SNHDQF7NtquqQ+YG56/L0COun/+o25Y9T3M0xMWSX9NkX mpvK3SkghX0o/0vKIytmAqtQjTw4zFAG0pobgb7B3xhRb0VKAJWjvPnJczOYWUz+xcYDfX LzrBuFfEJPlvB4SR9XhQZXXJVbGugDzVndDI5AN7eb9QQKbQ3T7W5vMkgkAbXyZ2wSWpd9 q4bsWKAT0h8tWRMKfIoOfnD9v8MOO8CtW2NFygWKOIY8Lz7nMQYoQmEw+w1I2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJB2xCwzjsg; Thu, 31 Oct 2024 16:01:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1UwI070250; Thu, 31 Oct 2024 16:01:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1U1k070247; Thu, 31 Oct 2024 16:01:30 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:30 GMT Message-Id: <202410311601.49VG1U1k070247@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: a20c06c6f181 - stable/14 - ena: Set ena_min_poll_delay_us default value List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a20c06c6f1813562e46ee10c6f19bb5d5a5b6143 Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=a20c06c6f1813562e46ee10c6f19bb5d5a5b6143 commit a20c06c6f1813562e46ee10c6f19bb5d5a5b6143 Author: osamaabb AuthorDate: 2024-09-23 08:06:41 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:11 +0000 ena: Set ena_min_poll_delay_us default value This commit sets the default value for ena_min_poll_delay_us to 100. This commit does not change the behavior of the driver, the delay is calculated as MAX(ENA_MIN_ADMIN_POLL_US, delay_us), where the first field is already defined as 100. The second parameter, delay_us is taken from ena_min_poll_delay_us which is currently unset - 0. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 637ff00f2f9bd6c8509d0e2ac8959c7a23f09650) --- sys/dev/ena/ena.c | 2 ++ sys/dev/ena/ena.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 36e9ac15e8ff..8c20596d3d23 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3736,6 +3736,8 @@ ena_attach(device_t pdev) goto err_bus_free; } + ena_dev->ena_min_poll_delay_us = ENA_ADMIN_POLL_DELAY_US; + /* Initially clear all the flags */ ENA_FLAG_ZERO(adapter); diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 1a436a702ba1..876c3cd258aa 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -146,6 +146,8 @@ /* Max number of timeouted packets before device reset */ #define ENA_DEFAULT_TX_CMP_THRESHOLD (128) +#define ENA_ADMIN_POLL_DELAY_US 100 + /* * Supported PCI vendor and devices IDs */ From nobody Thu Oct 31 16:01:31 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJD05RDz5bwmh; Thu, 31 Oct 2024 16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJC4Hdcz4T4n; Thu, 31 Oct 2024 16:01:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ewqgePUmWqbb9fx8PbZlm3wyu9ayBGBcLMX984ioCuI=; b=nS8yMSoigoQtTD4RBbFXkG4skAhlJ9letN9a3yxI9PE3R5dKlwoeb2i34YT7TzcuINmT/M YhIkdPZlDOn2/Gr+ruYetPb9BDrjX7ZthMTuRsWYXk41kzG9lWruTw1ShZL+ZRLzw6jYHK KZE/RVY5EsOhHoZkyAe09PNAdhHp8nH9MDGxYnP3MncqBRksyegVfenCVmjCUzV69jSMeS C417VYiSg/i4ZLq5gHhmW6zcRd5l6b7CBtWiqjOXFH10cP3K1qegcrBZgwDTIw4nIIpiTu ENQ7mRXb8QG8krOX+3u7o4qoD7CNFzPVpN5tPfJL02w6SLjDDqPgDDdMNOEdRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ewqgePUmWqbb9fx8PbZlm3wyu9ayBGBcLMX984ioCuI=; b=AF79WkEtwajF5123xauH+72FDXsqkCKU8KnWA1MAaH6K0LSBokBuo10RWhf9NGica11tJr PRZUxtLaWUvukufwBHltSaSYa1WEvT6JeePJXNoWDQnbg6XrniTm6jM71FsuFnrMt9luHb k52OUSrercM8gRDjUvUMd8cwWBXKFJzUZj7Jm6Ul1H4wkUUJqL/nSOr5u6Q6MB3Yg4ZjUO +DlPKwi+KooFb+AzzOSN6fzPSzl4Lw1qk3/hiXzBEJdf4PgR0xrl8AzK1+8CFkKoERAMJP jY/3SMtN652HNWjC6unikQZh5O3V63XOai7Y02xTaD11IgqCEVDQXEZqnM/cWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390491; a=rsa-sha256; cv=none; b=YuqEACmKsBCB0ks1vVEc1ScKGyhZoA2YxgvKCCDdNB3rF8/fxsuQ5EDBLjXfpVo2rcChXn /4RG9ODjkYiHgHDXBbp66Ax1GbqBkGM8PqMta9UGYjmGgHmo9yxzon3Ipx/yA0SpHSm3cy xuqckeIebgoaCtayw4zQPHi9+AjJtxR+ie6x+D6zmwH9Vk9p0dN9OLVONu8fiXOTMvR5P2 m37kCLj93F2uw1eMPR06kOcmStVZc22u7XFfo1o461hyR2Z8NHDar0DSscUeanWRYtsSTL iQGYcA8OrLt72ur4Iph/esp9A6qvr4a8/dz3NEuS5nw9Ffhm6ALIDBkirqQ5YQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJC3vFczjZv; Thu, 31 Oct 2024 16:01:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1VTD070309; Thu, 31 Oct 2024 16:01:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1VwQ070306; Thu, 31 Oct 2024 16:01:31 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:31 GMT Message-Id: <202410311601.49VG1VwQ070306@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: db0c751ed7f1 - stable/14 - ena: Add differentiation for missing TX completions reset List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: db0c751ed7f1dc1c2c3daeaafa9c5354f48b8589 Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=db0c751ed7f1dc1c2c3daeaafa9c5354f48b8589 commit db0c751ed7f1dc1c2c3daeaafa9c5354f48b8589 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:19 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:11 +0000 ena: Add differentiation for missing TX completions reset This commit adds differentiation for a reset caused by missing tx completions, by verifying if the driver didn't receive tx completions caused by missing interrupts. The cleanup_running field was added to ena_ring because cleanup_task.ta_pending is zeroed before ena_cleanup() runs. Also ena_increment_reset_counter() API was added in order to support only incrementing the reset counter. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit a33ec635d1f6d574d54e6f6d74766d070183be4c) --- sys/dev/ena/ena.c | 45 ++++++++++++++++++++++++++++++++++++++++++++- sys/dev/ena/ena.h | 29 ++++++++++++++++++----------- sys/dev/ena/ena_datapath.c | 21 +++++++++++++++------ 3 files changed, 77 insertions(+), 18 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 8c20596d3d23..bbc857004671 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -169,6 +169,9 @@ static int ena_copy_eni_metrics(struct ena_adapter *); static int ena_copy_srd_metrics(struct ena_adapter *); static int ena_copy_customer_metrics(struct ena_adapter *); static void ena_timer_service(void *); +static enum ena_regs_reset_reason_types check_cdesc_in_tx_cq(struct ena_adapter *, + struct ena_ring *); + static char ena_version[] = ENA_DEVICE_NAME ENA_DRV_MODULE_NAME " v" ENA_DRV_MODULE_VERSION; @@ -3088,6 +3091,31 @@ check_for_rx_interrupt_queue(struct ena_adapter *adapter, return (0); } +static enum ena_regs_reset_reason_types +check_cdesc_in_tx_cq(struct ena_adapter *adapter, + struct ena_ring *tx_ring) +{ + device_t pdev = adapter->pdev; + int rc; + u16 req_id; + + rc = ena_com_tx_comp_req_id_get(tx_ring->ena_com_io_cq, &req_id); + /* TX CQ is empty */ + if (rc == ENA_COM_TRY_AGAIN) { + ena_log(pdev, ERR, + "No completion descriptors found in CQ %d\n", + tx_ring->qid); + return ENA_REGS_RESET_MISS_TX_CMPL; + } + + /* TX CQ has cdescs */ + ena_log(pdev, ERR, + "Completion descriptors found in CQ %d", + tx_ring->qid); + + return ENA_REGS_RESET_MISS_INTERRUPT; +} + static int check_missing_comp_in_tx_queue(struct ena_adapter *adapter, struct ena_ring *tx_ring) @@ -3100,6 +3128,8 @@ check_missing_comp_in_tx_queue(struct ena_adapter *adapter, int missing_tx_comp_to; sbintime_t time_offset; int i, rc = 0; + enum ena_regs_reset_reason_types reset_reason = ENA_REGS_RESET_MISS_TX_CMPL; + bool cleanup_scheduled, cleanup_running; getbinuptime(&curtime); @@ -3155,7 +3185,19 @@ check_missing_comp_in_tx_queue(struct ena_adapter *adapter, "The number of lost tx completion is above the threshold " "(%d > %d). Reset the device\n", missed_tx, adapter->missing_tx_threshold); - ena_trigger_reset(adapter, ENA_REGS_RESET_MISS_TX_CMPL); + /* Set the reset flag to prevent ena_cleanup() from running */ + ENA_FLAG_SET_ATOMIC(ENA_FLAG_TRIGGER_RESET, adapter); + /* Need to make sure that ENA_FLAG_TRIGGER_RESET is visible to ena_cleanup() and + * that cleanup_running is visible to check_missing_comp_in_tx_queue() to + * prevent the case of accessing CQ concurrently with check_cdesc_in_tx_cq() + */ + mb(); + cleanup_scheduled = !!(atomic_load_16(&tx_ring->que->cleanup_task.ta_pending)); + cleanup_running = !!(atomic_load_8((&tx_ring->cleanup_running))); + if (!(cleanup_scheduled || cleanup_running)) + reset_reason = check_cdesc_in_tx_cq(adapter, tx_ring); + + adapter->reset_reason = reset_reason; rc = EIO; } /* Add the newly discovered missing TX completions */ @@ -3618,6 +3660,7 @@ ena_reset_task(void *arg, int pending) ENA_LOCK_LOCK(); if (likely(ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))) { + ena_increment_reset_counter(adapter); ena_destroy_device(adapter, false); ena_restore_device(adapter); diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 876c3cd258aa..c9eb9e8c43d3 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -327,6 +327,7 @@ struct ena_ring { }; uint8_t first_interrupt; + uint8_t cleanup_running; uint16_t no_interrupt_event_cnt; struct ena_com_rx_buf_info ena_bufs[ENA_PKT_MAX_BUFS]; @@ -584,21 +585,27 @@ ena_mbuf_count(struct mbuf *mbuf) } static inline void -ena_trigger_reset(struct ena_adapter *adapter, - enum ena_regs_reset_reason_types reset_reason) +ena_increment_reset_counter(struct ena_adapter *adapter) { - if (likely(!ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))) { - const struct ena_reset_stats_offset *ena_reset_stats_offset = - &resets_to_stats_offset_map[reset_reason]; + enum ena_regs_reset_reason_types reset_reason = adapter->reset_reason; + const struct ena_reset_stats_offset *ena_reset_stats_offset = + &resets_to_stats_offset_map[reset_reason]; - if (ena_reset_stats_offset->has_counter) { - uint64_t *stat_ptr = (uint64_t *)&adapter->dev_stats + - ena_reset_stats_offset->stat_offset; + if (ena_reset_stats_offset->has_counter) { + uint64_t *stat_ptr = (uint64_t *)&adapter->dev_stats + + ena_reset_stats_offset->stat_offset; - counter_u64_add((counter_u64_t)(*stat_ptr), 1); - } + counter_u64_add((counter_u64_t)(*stat_ptr), 1); + } + + counter_u64_add(adapter->dev_stats.total_resets, 1); +} - counter_u64_add(adapter->dev_stats.total_resets, 1); +static inline void +ena_trigger_reset(struct ena_adapter *adapter, + enum ena_regs_reset_reason_types reset_reason) +{ + if (likely(!ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))) { adapter->reset_reason = reset_reason; ENA_FLAG_SET_ATOMIC(ENA_FLAG_TRIGGER_RESET, adapter); } diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index 6cbe46cead3e..20864d0d2df6 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -77,17 +77,24 @@ ena_cleanup(void *arg, int pending) int qid, ena_qid; int txc, rxc, i; - if (unlikely((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0)) - return; - - ena_log_io(adapter->pdev, DBG, "MSI-X TX/RX routine\n"); - tx_ring = que->tx_ring; rx_ring = que->rx_ring; qid = que->id; ena_qid = ENA_IO_TXQ_IDX(qid); io_cq = &adapter->ena_dev->io_cq_queues[ena_qid]; + atomic_store_8(&tx_ring->cleanup_running, 1); + /* Need to make sure that ENA_FLAG_TRIGGER_RESET is visible to ena_cleanup() and + * that cleanup_running is visible to check_missing_comp_in_tx_queue() to + * prevent the case of accessing CQ concurrently with check_cdesc_in_tx_cq() + */ + mb(); + if (unlikely(((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) || + (ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter)))) + return; + + ena_log_io(adapter->pdev, DBG, "MSI-X TX/RX routine\n"); + atomic_store_8(&tx_ring->first_interrupt, 1); atomic_store_8(&rx_ring->first_interrupt, 1); @@ -95,7 +102,8 @@ ena_cleanup(void *arg, int pending) rxc = ena_rx_cleanup(rx_ring); txc = ena_tx_cleanup(tx_ring); - if (unlikely((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0)) + if (unlikely(((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) || + (ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter)))) return; if ((txc != ENA_TX_BUDGET) && (rxc != ENA_RX_BUDGET)) @@ -107,6 +115,7 @@ ena_cleanup(void *arg, int pending) ENA_TX_IRQ_INTERVAL, true, false); counter_u64_add(tx_ring->tx_stats.unmask_interrupt_num, 1); ena_com_unmask_intr(io_cq, &intr_reg); + atomic_store_8(&tx_ring->cleanup_running, 0); } void From nobody Thu Oct 31 16:01:32 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJF14q1z5bx2R; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJD5fmgz4Sxd; Thu, 31 Oct 2024 16: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=1730390492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=liS+S87AoROmJP4iRYWt1omEFQqtsGYTKw7He310eCg=; b=TD2+qldLpmLI3TD1g1898MchWHkBSRZxZc4NL0QmhTCiN87o6moaJjaNoy42O5y2jr33nS XNsYur19NGp0m5PoSwNlhPeYnmX0YGCLuUwTF09vDtFNGTqb2uC7i/yAPdnRzhrOV+jNHf cG9HmyDAIUlb5bSI+W8bpj8St/c55HsW/Lu7yM75nrwqalmC5YuS2dFn6e/9wzcmHKLdIX 0iADwBAKP8cAEgJyVjfl2aSK5M+tyAB6v2W6iyGThVEukZUeuEP1uF2yp4NbmyV+J5epFC /x+1LCrKh5Kuaajs2gEyEoS2j0IrJ0o/2rvkxcVaQDPNlKNm5QjB3MbyvzJcSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=liS+S87AoROmJP4iRYWt1omEFQqtsGYTKw7He310eCg=; b=MOEB37xSyv6IkJSOn3JDz52wnLYUxT9kFUD2zlC5GzCLD4+4xBTdFtDYxnoPt0dN9frON3 1bUf4nAHC8favGebAVSx7oPG7+TBRuoBSQhrse4ITP0FBiXRGTE/43949rIBKaqwx9Wb4u nRWe96JvKJq8tlwWZZNUlDZadEWLf/cgnVt2Mt9HOKjBCFuruNv+uMmcLPQgOfKwtfK0xo GVj4+sj3ZocCbO7NUXWh23H1meDSKL0v4Uuq7yH8eySp9YXDkNcyKge9lG0Wcm8A8U/GYr OZSCFVoUcKM6UlEtBUfGBumvg1mtKd/kbowADoDFgzFHESLFC+Psq+TMDlQiog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390492; a=rsa-sha256; cv=none; b=Vq/5KY3nqPSjNWB3i+codNVtn9PmRVcLA06GYrF7vWy+i7OHEltmMo9oRqCOLY4TWMSdDd RdxI0AJSXl/o6tYZR2LnP2x3SnuukikIyBLFZMpjBn6rlpStuyiDkhsDUaKitwa/wsH2q5 OpIsZVTEZjiPWCB1k2xr44gG97T3YN4vKh1iTiy63Cj3YUsaA5M0gR9G4YxCSphNIG/WRJ kHpZEecm68+0offqGh/1E6g9DxFU6lrJjATZ5K93K6TEujW8uV1kHShtT3tk77nttlSm46 URGvDMFucVebAOwa7zXQ01dvCNcSgG7P+EVBMhA1WowhASf/M7D/FrRra+k6vA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJD4w2SzjXL; Thu, 31 Oct 2024 16:01:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1WEl070373; Thu, 31 Oct 2024 16:01:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1WdP070370; Thu, 31 Oct 2024 16:01:32 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:32 GMT Message-Id: <202410311601.49VG1WdP070370@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: cc489c17d2ac - stable/14 - ena: Trigger reset when mbuf is NULL error happens List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cc489c17d2ac7b0a18b5dac8ed31d2fa2d7a06ed Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=cc489c17d2ac7b0a18b5dac8ed31d2fa2d7a06ed commit cc489c17d2ac7b0a18b5dac8ed31d2fa2d7a06ed Author: Osama Abboud AuthorDate: 2024-08-07 06:24:20 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:11 +0000 ena: Trigger reset when mbuf is NULL error happens The mbuf is NULL issue happens when the device sends the driver a completion with a wrong request id. Trigger a reset whenever this happens. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit da73e3a7d08c215a5d8530fea9a9730f8ac3709f) --- sys/dev/ena/ena_datapath.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index 20864d0d2df6..ab082fa1810f 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -434,7 +434,9 @@ ena_rx_mbuf(struct ena_ring *rx_ring, struct ena_com_rx_buf_info *ena_bufs, req_id = ena_bufs[buf].req_id; rx_info = &rx_ring->rx_buffer_info[req_id]; if (unlikely(rx_info->mbuf == NULL)) { - ena_log(pdev, ERR, "NULL mbuf in rx_info"); + ena_log(pdev, ERR, "NULL mbuf in rx_info. qid %u req_id %u\n", + rx_ring->qid, req_id); + ena_trigger_reset(adapter, ENA_REGS_RESET_INV_RX_REQ_ID); return (NULL); } @@ -476,7 +478,8 @@ ena_rx_mbuf(struct ena_ring *rx_ring, struct ena_com_rx_buf_info *ena_bufs, rx_info = &rx_ring->rx_buffer_info[req_id]; if (unlikely(rx_info->mbuf == NULL)) { - ena_log(pdev, ERR, "NULL mbuf in rx_info"); + ena_log(pdev, ERR, "NULL mbuf in rx_info. qid %u req_id %u\n", + rx_ring->qid, req_id); /* * If one of the required mbufs was not allocated yet, * we can break there. @@ -488,6 +491,7 @@ ena_rx_mbuf(struct ena_ring *rx_ring, struct ena_com_rx_buf_info *ena_bufs, * with hw ring. */ m_freem(mbuf); + ena_trigger_reset(adapter, ENA_REGS_RESET_INV_RX_REQ_ID); return (NULL); } From nobody Thu Oct 31 16:01:34 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJH17tmz5bx2S; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJG6TPtz4TDX; Thu, 31 Oct 2024 16:01:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B+NkBaTZyYHvL08r5+5i9RP2mpQCmfV3dSTkejMOkWc=; b=RRIT0gsLcs2+K5J7JkxVJKOGIw+/61bfGd/YvHsfNCeFxWzdLyW6yFpsDwxPpeuaj1WEpD ALOswuSaeJIT+K9H0/skt+b/TdT0hxvj3dgoyQtHudEnbm82sf9PW5j6TgeJ2gg6PthU/u 49CMlZ012Fiz3OEcN9AS2TpCpRMKkooBBRnlaAf9PF4pZhcF0KxuORqzI1N5MaEG+IuKtx Bzxm0cwXN5NzC4N6VDlnRib6ewKuXZf6NEEDfK9837ItHSc/0JKNX2qPJWzDvz0N8xQvws jEXePKjqQ9EaocvmTnXVqd3Lbt2yTMn93BorEsTh9Y1z2MEGxMFJnvQlLumHeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B+NkBaTZyYHvL08r5+5i9RP2mpQCmfV3dSTkejMOkWc=; b=p0bPils+mE9eOuqJtH9sYjEOYoKhgicbzVDNWcnP7x9pY0fmywdwgzoPwZqnxUDI1m5q8w MUMIIYbQVVcgYl3ex/4pNrKitu3yMtGPI8g+VNUdTJs3JFHbAFs+9BvANR/8nOdM9uswxG RNYTR22LjAdC0kZRRG48yKKuSglak1KQjJy8D7APcVZRML7pFlS/lF6Ka1JV60Xr7yPefy INK9sut+J+20v/chzQkM/FeWcRKEyaLRaQBCaI3h2RHFOv9JOyRerzbtm1c1w2k6q1jgEh XTrX6s0dXggvnGVSAhpVn05AMhRjBK21e1KE4U1F1yskqdhdMjz0HuGdJf6RoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390494; a=rsa-sha256; cv=none; b=kU5CJgQHR5tuiZJY26ZmRdpIGyo/XBXNMHjIGxqN6X8155UIehk0SAHtisO7+R71de+N2y 84NRI5QNgB5WiRBrhCDhHNHMZ+lffOaXPoVrMMTmSngiY7J2R6PLvi7eBIrbYPyRwWPns2 +6p7Oan1fLHJYs5kDxBxMUNRZLGbzyGJkY1nLfMD6EhMqJCrSxF6x67uhYYcerg+7vnB+m BpXh8DDBGU0K5SoO5pDFWlH11ULmwQJtjN3WOdCyo1EOdBdWGIIVdpnfd7LGECIB0O/dr9 nkWlxZ+zujRHHSuXkKHR37eFN/Bh1VYAjuz5iQLwzi4fwsEsxHGamBl11jHrng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJG5zlrzjgy; Thu, 31 Oct 2024 16:01:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1Yuo070479; Thu, 31 Oct 2024 16:01:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1Ypc070476; Thu, 31 Oct 2024 16:01:34 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:34 GMT Message-Id: <202410311601.49VG1Ypc070476@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: b47eb2848ad8 - stable/14 - ena: Properly unmap last socket chain in netmap List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b47eb2848ad8537c5213b036e81f1c8f9dd81a25 Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=b47eb2848ad8537c5213b036e81f1c8f9dd81a25 commit b47eb2848ad8537c5213b036e81f1c8f9dd81a25 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:20 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:11 +0000 ena: Properly unmap last socket chain in netmap In case ena_com_prepare_tx() fails within the netmap tx flow, the driver will unmap the last socket chain. Currently, the driver unmaps the wrong socket within ena_netmap_unmap_last_socket_chain(). Illustration of the flow: 1- ena_netmap_tx_frames() 2- ena_netmap_tx_frame() 3- ena_netmap_tx_map_slots() 3.1- Map slot 3.2- Advance to the next socket 4- ena_com_prepare_tx() 4.1- ena_com_prepare_tx() fails 5- ena_netmap_unmap_last_socket_chain() In step 5, where the driver unmaps the socket, the netmap index already points at the next entry, meaning we're unmapping the wrong socket in case ena_com_prepare_tx() fails. In order to fix that, the driver should first update the netmap index to point at the previous entry and only then update the socket parameters. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit f236e544a2ff685ae151f3232e3785a6a9aab035) --- sys/dev/ena/ena_netmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index 0666d7deb827..f14a4a9539d1 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -783,10 +783,10 @@ ena_netmap_unmap_last_socket_chain(struct ena_netmap_ctx *ctx, /* Next, retain the sockets back to the userspace */ n = nm_info->sockets_used; while (n--) { + ctx->nm_i = nm_prev(ctx->nm_i, ctx->lim); ctx->slots[ctx->nm_i].buf_idx = nm_info->socket_buf_idx[n]; ctx->slots[ctx->nm_i].flags = NS_BUF_CHANGED; nm_info->socket_buf_idx[n] = 0; - ctx->nm_i = nm_prev(ctx->nm_i, ctx->lim); } nm_info->sockets_used = 0; } From nobody Thu Oct 31 16:01:33 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJG1Zxgz5bwdQ; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJF6h4nz4TB7; Thu, 31 Oct 2024 16:01:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GFF1SvwybaHv2BF7byjrcX6fy5L+V5/h+H79sFeQgX4=; b=igwEq2sBaTiuNio1oMK/EFMSDCOWAtRpWnk4sCAHvmFgqSWeUx7k9hhj46CV/jag+QwYsA vuzOcfR8FOYw1S/r0A4KpMcHtlFVepgm7VWuDnXZ7WTQZM+kE6ISAVGYfqz+fvyMSYezCz j7nQMHHMWTM9n+o+B7WkFFfSmfjy0hhhMUI6t/6UhX97rL2/oND4J0mIYDHxnpW8Bkr+v4 1A15NvpM/1eQ6txkd6hTAq0yqCuR2j++8e83CRerLB5EbUZzBY6/gysC5qzCKNAEriraS0 qLcUMqeUpUKq21OA7tmqpJIwFL4iRR4oGvbj62vC1TNuWklbaQu/Kb9/E5rHJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GFF1SvwybaHv2BF7byjrcX6fy5L+V5/h+H79sFeQgX4=; b=F5kr7BsbGkCMG5qPV7LQ8qYbYZLsr28zyACKTxaX6bnUJOa3Tt79gNhDxwGpaKePjaDA7l K6Uf0ydlKRdQtjTLWZ150gef+5JgbVp5O7ALDjZbAiiappfd67Koc6MIoZdSkYDTiJ2TrG 5ix2onWucaJmjdHG0XebB/+KoiVYKmwE4zBXjezQgiAs1Bx852t21IRBEADQ8YqRjf+cWe dvq//+hFZ6tbbQsh6is64xwn7oM8lw7A7ow9f8VqeKBXLF7KnkJZAwPOJP8gUwW17ItJR8 Unfpc50zLIgbxXMs4x0fP/Qq5Gfp3rs+1LDDu34PLikkHbobTZjFgx/KQEhnPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390493; a=rsa-sha256; cv=none; b=ru4qNoyOnP3Jmi6BsKv9NkXC+uYfZfUmrV1evcfJo84tbw1HzV1DVUrug0RFQUgvLhr/hr 9MHddICxZb8CUEyLJXjAdCGmE093Q+1kc8S8WxDNJS01e/l0PWJIReW5sCabj6UUYcgHJo odGWlkW1Ezxoa3PpdEM7yqxRKS0RgVTZY1AaFK/kMtujtgO4O9Mvc/Wo9XDNCE8RhDJvyI awVJ6tTH0Kgb0/CM/+MW2PA/gaua+lymXiHzeme8AT7+ueFofoEPvxBLaLnj6s/vpX8PBJ Rrn8KDKvZYDxPcWZ7AjNwz4f80FeDi7vP1hbEO8Ubq62WwaGOsUMJSNu9aoOMg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJF5k0Czjd7; Thu, 31 Oct 2024 16:01:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1X6C070427; Thu, 31 Oct 2024 16:01:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1XcE070424; Thu, 31 Oct 2024 16:01:33 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:33 GMT Message-Id: <202410311601.49VG1XcE070424@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: d38362c0eed0 - stable/14 - ena: Make global counters style unified List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d38362c0eed00fdd72755ba186eb28ff51fe4ad0 Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=d38362c0eed00fdd72755ba186eb28ff51fe4ad0 commit d38362c0eed00fdd72755ba186eb28ff51fe4ad0 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:20 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:11 +0000 ena: Make global counters style unified This commit changes the code so all global counters will have the same line break. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 90953d2f829a45669b0c88a6a03da481f2d54e46) --- sys/dev/ena/ena_sysctl.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index c711ecf66d7a..e18328ddc8b2 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -275,11 +275,10 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &dev_stats->wd_expired, "Watchdog expiry count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "interface_up", CTLFLAG_RD, &dev_stats->interface_up, "Network interface up count"); - SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "interface_down", - CTLFLAG_RD, &dev_stats->interface_down, - "Network interface down count"); - SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "admin_q_pause", - CTLFLAG_RD, &dev_stats->admin_q_pause, "Admin queue pauses"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "interface_down", CTLFLAG_RD, + &dev_stats->interface_down, "Network interface down count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "admin_q_pause", CTLFLAG_RD, + &dev_stats->admin_q_pause, "Admin queue pauses"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "os_trigger", CTLFLAG_RD, &dev_stats->os_trigger, "OS trigger count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "missing_tx_cmpl", CTLFLAG_RD, From nobody Thu Oct 31 16:01:36 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJK2yG6z5bwms; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJK15skz4TGp; Thu, 31 Oct 2024 16:01:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390497; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A1NP0woE+/+XEz3jmToCbxPvu59KPfs3qUQwlp3Ggx0=; b=e3cgKmlMiN0kZMVZz/B26P0bV29jQUlWJC93bVn6vz6sAXCgJz8p2t+6g2ixIRV8oHMgEz X8AUY/FlMMfqhzMbo6cUzmgMC4fTXpylbCes2O+XedL6FGGfQ4VYWTTVXoKiPZi9OwbYRM EYZ8tDjkmRm8Wg1vBXrnJOfRsIZ4M4NJqvGiB8V8QqsZUSAli3t0Qg6r8aycfRyvzo4gVa khOBRKd47+mBtT6LzAHGh1BZBAw7fSrN+zLxvON35giVE5PCfxC7pGyXCvQJqY16LHv14E 5vq6HfHkwmMA1RCNRUm8e2VnWSfIrgUkhLFG/QZ7YeROfUqmdxNeYTrfTlEGUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390497; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A1NP0woE+/+XEz3jmToCbxPvu59KPfs3qUQwlp3Ggx0=; b=huTC4nlVKkIFSDY7WVpEhbFv/uyIKQOMVSKo7V4hO89XD0oGk/QpPZbxMu/IFhI6dcgV3h zhWD6BBiAHkhv8A5edkoaZNJCNtY0vsPZ502Q2KPILjiv5hxKK8W5ybhrbWTwIml120UJR iI81/qlndGf9GKxrpfcvqUimnP9QjIjJmS+I0FXLLOm90vcwlzMbxemJVtdw5mMr7kj2EU /CaVyl/289XzzQitrHoKh7yCdhN/dk56m0Mjp8C5jrZlGrjlB2hA9u3AVcr9on2c6sD7q+ fv1PicYh6CmEssHeKejVNSnroWNj3snof4qIQGx06kMzg0Ms6FcdyFTD5zfMWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390497; a=rsa-sha256; cv=none; b=hMhTrfHNhqHMpS2WlLm/E1+zy+nYvMGAtaTlmA9UAxkujF2YW0+Lbd0ybt5ckmb9kvwwJT Prc8nY3p/M/mtyFjxAAE0931Zd1hxnM9RnKn8y4uxvNaVjXbbhdIZDbk1o6S1GB4GDIX9c gnJu8W6dpFlZVUV1pf1z7EmLaL1IhzJKx4etYk2VU42+QoeXUYKc/E5cGcl9ulQnwH3j9I oQQPskzQx7LrsVDOM25cYjZuDd2l7CjujeJ6czz5+T/etyfj5aQyAaYYOWiWkwugUYVJXQ qL9Ko98IX3PFNB1pmUW2FU8YorUq1VDe+RFTduzaqYEunlUrqytVF6JsXVe+EQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJK0Qd3zjVq; Thu, 31 Oct 2024 16:01:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1aWA072985; Thu, 31 Oct 2024 16:01:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1ahP072975; Thu, 31 Oct 2024 16:01:36 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:36 GMT Message-Id: <202410311601.49VG1ahP072975@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 8b43095ad8cd - stable/14 - ena: Clear NS_MOREFRAG flag for last netmap slot List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8b43095ad8cdddfd0cdb11bb6e14aea60e607b5d Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=8b43095ad8cdddfd0cdb11bb6e14aea60e607b5d commit 8b43095ad8cdddfd0cdb11bb6e14aea60e607b5d Author: Osama Abboud AuthorDate: 2024-08-07 06:24:21 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:11 +0000 ena: Clear NS_MOREFRAG flag for last netmap slot When processing packets within the rx-flow ena_netmap_rx_load_desc doesn't know the number of descriptors, so it sets NS_MOREFRAG to all the slots to indicate that there are more fragments for this packet. The code calls ena_netmap_rx_load_desc() for every descriptor in this packet to map the relevant buffer into the netmap shared memory. After ena_netmap_rx_load_desc() calls, we need to unset the NS_MOREFRAG for the last fragment to indicate that this is the last fragment, so we explicitly turn off NS_MOREFRAG flag. Current code overrides all other flags and sets NS_BUF_CHANGED. This patch unsets the relevant flag only. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 2f17afd19a3534dc1755c52edb0c2f70ea0eb1e4) --- sys/dev/ena/ena_netmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index eef8021b8569..8a220373ec3f 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -964,7 +964,7 @@ ena_netmap_rx_frame(struct ena_netmap_ctx *ctx) * It just set flag NS_MOREFRAG to all slots, then here flag of * last slot is cleared. */ - ctx->slots[nm_prev(ctx->nm_i, ctx->lim)].flags = NS_BUF_CHANGED; + ctx->slots[nm_prev(ctx->nm_i, ctx->lim)].flags &= ~NS_MOREFRAG; if (rc != 0) { goto rx_clear_desc; From nobody Thu Oct 31 16:01:35 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJJ1cb7z5bwh1; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJH6xTmz4TDl; Thu, 31 Oct 2024 16:01:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390496; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aLNOEJwEACZLR/CbyVTrwHS3c1+IXeUUrV0c6t/6ckg=; b=yRzRZLdwyoj29Tt50nskpEW1HLN/E0uY32nwRise+dZ9ejBkrcrL6NIST/LwnhYOv9IAQf p6faFQW1Y5GHbCohwI7sbFRJw2aCiTRO1b0EZtCsXOJbBLZPRNM/TiSIXdB0RoI2Oaan0A ck3tTT/scltbV2KxmQlDhSX8IPun6oyWF2Z0fgAOJP5dMJIcz+oOt4NuvETFDdowDO7KUu ayQh7qb0c7M6SnVqxSoSnjgsT+a9WpHdgA/fRVevIulmD0Rff412Wjj+Cun5Htt9eRrGzg tKKVdJyfrhcdJmPOHEWc+4cYMQnv7lcm258FzHwj4EXuABFovfOZuvee8PD58Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390496; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aLNOEJwEACZLR/CbyVTrwHS3c1+IXeUUrV0c6t/6ckg=; b=O20MZ1OwZjvLSy+D0N4XNvsvO56iR+TIBpoVpWGWQLLSphCQHjGeBKUMNe1CFXI3zPicEp t0cEDFDxVgo62pAN+zIbov7tBFAIo7YAtxu/IJER2bskD2nQuFfh/+LZKqQGMO2YOhgzsU 7Qptx8K90dO92app/oD+8VLCKNbNc1jsAnjUstNqSso7ghCQZMWaU9e4MYKe4D/KI91qKh hCvy2qCZweKKFMO2vi/d88nLKTVb/bPMfWnS0qzmKFTsp/3MEUo+5x3R2u86/bLlJAPjVY tRqKXgwdgra5dO+b8tHLokP5v7nKZYfNGjAyXx+J9puQjzD0OKF1knceuC/Ajg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390496; a=rsa-sha256; cv=none; b=KddsAuKgUzvSMP1J1fEk4rC5sQrFmtGb5R3Qr0rtdx9o5kdaeHTCWSh3ROOkUpfynMRxUE tM0PRW9aZZaThbw6zaqQF+N/0H83vFMHCA9gJol9RV1Vyeln8Z/GWMbY55Mzr53SblQNya ao+YELlCUJBrwKTLcf0bUHLrdmxWcDRYvtipF+Lo6ufATuAFa7x4KcbOXiW1kct0MvrcFT hRE/pYmrVaj8GQjbxq/C8gr055YgCwMx3CCeDoSv7o2Hgvon2oqiGJbZyBFiPHSWCLOrdj Nj8pAcu5iViCeK/cbqLyWuxdkpCE3fzX+b4G5Fg8Fb5QdiKPtV5oqmDrR2tuQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJH6WSDzjZy; Thu, 31 Oct 2024 16:01:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1ZOJ071465; Thu, 31 Oct 2024 16:01:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1ZVn071450; Thu, 31 Oct 2024 16:01:35 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:35 GMT Message-Id: <202410311601.49VG1ZVn071450@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: b0830d2b6bbc - stable/14 - ena: Handle wrap around for prefetch in netmap List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b0830d2b6bbc76fcbfe937f674e06e14933ad3ef Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=b0830d2b6bbc76fcbfe937f674e06e14933ad3ef commit b0830d2b6bbc76fcbfe937f674e06e14933ad3ef Author: Osama Abboud AuthorDate: 2024-08-07 06:24:20 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:11 +0000 ena: Handle wrap around for prefetch in netmap Netmap index wraps around based on the number of netmap kernel ring slots. Currently the driver prefetches the next slot using nm_i + 1 which may be wrong since it does not handle wrap around. This patch fixes that by using the kernel API for fetching the next netmap index. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit ce20b51cb71bfb548fcaafc4bacb8290460f03d5) --- sys/dev/ena/ena_netmap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index f14a4a9539d1..eef8021b8569 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -577,7 +577,7 @@ ena_netmap_tx_map_slots(struct ena_netmap_ctx *ctx, remaining_len = *packet_len; delta = 0; - __builtin_prefetch(&ctx->slots[ctx->nm_i + 1]); + __builtin_prefetch(&ctx->slots[nm_next(ctx->nm_i, ctx->lim)]); if (tx_ring->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) { /* * When the device is in LLQ mode, the driver will copy @@ -664,7 +664,7 @@ ena_netmap_tx_map_slots(struct ena_netmap_ctx *ctx, * The first segment is already counted in. */ while (delta > 0) { - __builtin_prefetch(&ctx->slots[ctx->nm_i + 1]); + __builtin_prefetch(&ctx->slots[nm_next(ctx->nm_i, ctx->lim)]); frag_len = slot->len; /* @@ -722,7 +722,7 @@ ena_netmap_tx_map_slots(struct ena_netmap_ctx *ctx, /* Map all remaining data (regular routine for non-LLQ mode) */ while (remaining_len > 0) { - __builtin_prefetch(&ctx->slots[ctx->nm_i + 1]); + __builtin_prefetch(&ctx->slots[nm_next(ctx->nm_i, ctx->lim)]); rc = ena_netmap_map_single_slot(ctx->na, slot, adapter->tx_buf_tag, *nm_maps, &vaddr, &paddr); From nobody Thu Oct 31 16:01:38 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJL3cBFz5bwrc; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJL206xz4TH0; Thu, 31 Oct 2024 16:01:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390498; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WuTTRKay8oOBV6vzI0neHfBT9A5Qo67HTLJTuUqZJ/4=; b=iZXTcN1YEPGvTJMwMGf9/zWRxnYVc4Hzl7DYZxLidDuO7cfD6L/S1v1c2GCYkllTKk3Cke Xla+W0XAcRW1ZF1zlBvaBAoPzjEDUTx1PKkArl8HsVitCPXBhKsMvDgOfdZ6LRp41BoOQY TSZfmF1d//i6IY0NA/K7mwinaT4nYNVwOeR6+QS6WP63Lx5iYcWte5iwyu8jZQ7oJyx/5o Sv+nWjfrk2o46AYiEuIyfe/c5F5ccSHzSIpsUxguCGJm/vlugOrb1+JcU9Cj3U3w2VguEV IOSk250gABXI1XHR1WLZANZbsSdV+kW77xC3SZ02mmajyHqX7jerEzt38eD+7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390498; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WuTTRKay8oOBV6vzI0neHfBT9A5Qo67HTLJTuUqZJ/4=; b=TpodT22DooPS2OolqREODYU/aXcBb79k9scsR9zlxoWH1pp9y2fyDBoFC51DenX22l71Mv 1qJmgYIz+B45LAz0JXmkwj58CXVBvymlAEfM2gqMCUgsjTUp8DRuNqLNdx7Lxu+A5cEPAg hf9lr05hb9lzTpGTPRK88k4VtzFChLNGp/ivagzJq1dcDmk/gGIUMJAE6wMrRz+qi7b+1U W4upwQ4jLz+uBRFB2fk+91qfd5L0yQhfX0c9vKWkbI3FYsxDx4JD4BGkyqm58+VGgEgJIR 8RCHE72sTrJ4V8ZqmHwU7oORhBB+I0i/1NUsLuSP3mEfR/GTtChqIclEs4nsiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390498; a=rsa-sha256; cv=none; b=eUtE8KiWOefjOfIViC9GnE0SzkAvv5HDgnozom6LuMULdeL39iFNudzbAdxD2UjBimd0sg e6OG2iJ9aDLua071XLLCsl/x7AUg6J5GKEl08lXeqPXwjNHIF3GThpyoPnGJSkxBSAiB48 Bo0gJqdE38elK6266BlJqonXpckgtjSmZexIgXbiwxt3rXGfoCXYQx/rLfpTb11AFSHwfj 7uJZ5IKiCARSh8Qc1y/Z4qGvDUlpB43jGtrj7B9n2DyU2DeytHm6fIYx2jAbkTd3a3tk4K swB+b8Dngz5rKCA11K30f9WQHMySxF3jrIWsrXrSFiAFzEWe769n1rAHSfbvxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJL1bGMzjsk; Thu, 31 Oct 2024 16:01:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1ctn073255; Thu, 31 Oct 2024 16:01:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1cwu073252; Thu, 31 Oct 2024 16:01:38 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:38 GMT Message-Id: <202410311601.49VG1cwu073252@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 9aa14351c104 - stable/14 - ena: Reinit netmap adapter struct upon sysctl changes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9aa14351c104d0d1603dd2484095116b86d9702c Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=9aa14351c104d0d1603dd2484095116b86d9702c commit 9aa14351c104d0d1603dd2484095116b86d9702c Author: Osama Abboud AuthorDate: 2024-08-07 06:24:21 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:11 +0000 ena: Reinit netmap adapter struct upon sysctl changes When attaching ENA driver, ena_netmap_attach() is invoked which, in turn calls netmap_attach which, initializes a struct netmap_adapter, allocating the struct's netmap_ring and the struct selinfo. When we change the interface number of queues we need to reinit the netmap adapter struct as well, so we need to detach it in order to free the memory allocated by netmap_attach and allocate new memory based on the new parameters like number of rings, ring size etc... Without detaching and attaching the netmap interface, if we're to change the number of queues from 8 to 2 for example and try to enable netmap, the kernel will panic since the original netmap struct within the kernel's possession still thinks that the driver has 8 queues which will eventually cause a non-allocated virtual address access fault. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit f9c9c01de87e0440380b939c684d9939d48ce175) --- sys/dev/ena/ena.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index bbc857004671..bfde950cb2b1 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -171,7 +171,9 @@ static int ena_copy_customer_metrics(struct ena_adapter *); static void ena_timer_service(void *); static enum ena_regs_reset_reason_types check_cdesc_in_tx_cq(struct ena_adapter *, struct ena_ring *); - +#ifdef DEV_NETMAP +static int ena_reinit_netmap(struct ena_adapter *adapter); +#endif static char ena_version[] = ENA_DEVICE_NAME ENA_DRV_MODULE_NAME " v" ENA_DRV_MODULE_VERSION; @@ -1162,6 +1164,21 @@ ena_refill_rx_bufs(struct ena_ring *rx_ring, uint32_t num) return (i); } +#ifdef DEV_NETMAP +static int +ena_reinit_netmap(struct ena_adapter *adapter) +{ + int rc; + + netmap_detach(adapter->ifp); + rc = ena_netmap_attach(adapter); + if (rc != 0) + ena_log(adapter->pdev, ERR, "netmap attach failed: %d\n", rc); + + return rc; +} + +#endif /* DEV_NETMAP */ int ena_update_buf_ring_size(struct ena_adapter *adapter, uint32_t new_buf_ring_size) @@ -1179,6 +1196,12 @@ ena_update_buf_ring_size(struct ena_adapter *adapter, /* Reconfigure buf ring for all Tx rings. */ ena_free_all_io_rings_resources(adapter); ena_init_io_rings_advanced(adapter); +#ifdef DEV_NETMAP + rc = ena_reinit_netmap(adapter); + if (rc != 0) + return rc; + +#endif /* DEV_NETMAP */ if (dev_was_up) { /* * If ena_up() fails, it's not because of recent buf_ring size @@ -1196,7 +1219,12 @@ ena_update_buf_ring_size(struct ena_adapter *adapter, adapter->buf_ring_size = old_buf_ring_size; ena_free_all_io_rings_resources(adapter); ena_init_io_rings_advanced(adapter); +#ifdef DEV_NETMAP + rc = ena_reinit_netmap(adapter); + if (rc != 0) + return rc; +#endif /* DEV_NETMAP */ ENA_FLAG_SET_ATOMIC(ENA_FLAG_DEV_UP_BEFORE_RESET, adapter); ena_trigger_reset(adapter, ENA_REGS_RESET_OS_TRIGGER); @@ -1224,6 +1252,12 @@ ena_update_queue_size(struct ena_adapter *adapter, uint32_t new_tx_size, /* Configure queues with new size. */ ena_init_io_rings_basic(adapter); +#ifdef DEV_NETMAP + rc = ena_reinit_netmap(adapter); + if (rc != 0) + return rc; + +#endif /* DEV_NETMAP */ if (dev_was_up) { rc = ena_up(adapter); if (unlikely(rc != 0)) { @@ -1235,7 +1269,12 @@ ena_update_queue_size(struct ena_adapter *adapter, uint32_t new_tx_size, adapter->requested_tx_ring_size = old_tx_size; adapter->requested_rx_ring_size = old_rx_size; ena_init_io_rings_basic(adapter); +#ifdef DEV_NETMAP + rc = ena_reinit_netmap(adapter); + if (rc != 0) + return rc; +#endif /* DEV_NETMAP */ /* And try again. */ rc = ena_up(adapter); if (unlikely(rc != 0)) { @@ -1359,7 +1398,12 @@ ena_update_io_queue_nb(struct ena_adapter *adapter, uint32_t new_num) ena_down(adapter); ena_update_io_rings(adapter, new_num); +#ifdef DEV_NETMAP + rc = ena_reinit_netmap(adapter); + if (rc != 0) + return rc; +#endif /* DEV_NETMAP */ if (dev_was_up) { rc = ena_up(adapter); if (unlikely(rc != 0)) { @@ -1369,7 +1413,12 @@ ena_update_io_queue_nb(struct ena_adapter *adapter, uint32_t new_num) new_num, old_num); ena_update_io_rings(adapter, old_num); +#ifdef DEV_NETMAP + rc = ena_reinit_netmap(adapter); + if (rc != 0) + return rc; +#endif /* DEV_NETMAP */ rc = ena_up(adapter); if (unlikely(rc != 0)) { ena_log(adapter->pdev, ERR, From nobody Thu Oct 31 16:01:39 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJM5dDlz5bwmw; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJM3nHrz4THD; Thu, 31 Oct 2024 16:01:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1fPd/P8HcCLeb2jWf7gKHE3gxcstvBj4cW033l3T3bk=; b=DoeUgFnOEN4FYujfaB8lKHiGL819SSdSxeyXCWSSEiFtxWM722IjutGBtHg4+8m744b62C P/ieLMNleLG7AH9cPROsZ2Lm/rEUca+Ab8ism+lSqUpU4smjqnpPOIDiiPKpJu5BzAy9fJ Rg/jQ3pMReWicdMYUKRU8loubriuQnjPe3aVnvK2vlSIt+QeY+KizZV+S7YwLucLI/NSu3 c9yhycVLXDIIcLDV/71I++Qu60K4nXuQ5fC/vopkvUm45y+KNLGpEwcUA/RtQQgd0rL2OW JsvKHMjyGliKErIQisl1p2zsNdmJdRBUUVOGnBY38m/zcCzqWQ6W+udMs5FP7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1fPd/P8HcCLeb2jWf7gKHE3gxcstvBj4cW033l3T3bk=; b=ed3KnEB/U2w6HjGA2n0DcIEo5bZfqpYjTG4s+LgTWk/qFHTWAW5v3bZJWuHuDDMW4gNO/q su4b0V+JFev9yf/YLsnyg1XF6tvpWfyFj37MnDZ6FrRuh+Hmt+vvaqyui1nOTfHhKQBA9I Y3/+kH3jqKIkWJVLVv+7cgbZdynBx+bkhhSEU9hyw1nikq9BJuOZJ5ECeRGXTEvthV+a0U 0bE+uutW41fwzUxJ3RXr191btn0vDI2/5176Me6mVjgCp67VwbktRQNGjq5NURh7O8lTpb R5ntDphQi5rm6JEQ4ZCVqlJKztFcmeV4Ty4I7YDFNI1o4Nbqu8EeuLFJ6N/stg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390499; a=rsa-sha256; cv=none; b=qS8aYjOvVYWJImVT9lryUIScIDgxgVXGpDDDQgocfdXcWm7Y+ZRcm8iNLRv1fQPwFKwY0H xQ30bjv5X6ge1GmQZI80fVdSXv9L4Ipp8noaYangB98L0K4BRBeMcLBDmOddt2p17RXArU +CEXNEacx75bR7nOCPawZpDopJwrUu8oos4SLZO6L8qNhoHx5MvVk8ANObUJn5h7WMSqcJ CSbxviGnYWPwAU969xEK81pB6IPh8jqD8kgWbGk2PikGLgFJLhL2gWX4PNuFUrdUNFBIKv oGA5nyJ7AwRfB0HIB6JQaP/i436noc6Oy5dk6g/WfUf275g7Wh6/nUmVz2L8Hg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJM2crJzjh1; Thu, 31 Oct 2024 16:01:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1dYt073312; Thu, 31 Oct 2024 16:01:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1dkr073309; Thu, 31 Oct 2024 16:01:39 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:39 GMT Message-Id: <202410311601.49VG1dkr073309@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: ebb857f4ce31 - stable/14 - ena: Add support for device request reset message over AENQ List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ebb857f4ce31065ade247919ee7e4e71706bad08 Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=ebb857f4ce31065ade247919ee7e4e71706bad08 commit ebb857f4ce31065ade247919ee7e4e71706bad08 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:21 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:11 +0000 ena: Add support for device request reset message over AENQ This commit adds a handler for the new aenq message ENA_ADMIN_DEVICE_REQUEST_RESET, which in turn causes the driver to trigger reset of a new type: ENA_REGS_RESET_DEVICE_REQUEST. Also adds counting of such occurrences in a new statistic for it. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 705879424bc76fcc925e78eb7643dbf4bd9a11eb) --- sys/dev/ena/ena.c | 13 ++++++++++++- sys/dev/ena/ena.h | 2 ++ sys/dev/ena/ena_sysctl.c | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index bfde950cb2b1..2c96f8def20a 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -2990,7 +2990,8 @@ ena_device_init(struct ena_adapter *adapter, device_t pdev, BIT(ENA_ADMIN_WARNING) | BIT(ENA_ADMIN_NOTIFICATION) | BIT(ENA_ADMIN_KEEP_ALIVE) | - BIT(ENA_ADMIN_CONF_NOTIFICATIONS); + BIT(ENA_ADMIN_CONF_NOTIFICATIONS) | + BIT(ENA_ADMIN_DEVICE_REQUEST_RESET); aenq_groups &= get_feat_ctx->aenq.supported_groups; rc = ena_com_set_aenq_config(ena_dev, aenq_groups); @@ -4195,12 +4196,22 @@ static void ena_conf_notification(void *adapter_data, } } +static void ena_admin_device_request_reset(void *adapter_data, + struct ena_admin_aenq_entry *aenq_e) +{ + struct ena_adapter *adapter = (struct ena_adapter *)adapter_data; + ena_log(adapter->pdev, WARN, + "The device has detected an unhealthy state, reset is requested\n"); + ena_trigger_reset(adapter, ENA_REGS_RESET_DEVICE_REQUEST); +} + static struct ena_aenq_handlers aenq_handlers = { .handlers = { [ENA_ADMIN_LINK_CHANGE] = ena_update_on_link_change, [ENA_ADMIN_NOTIFICATION] = ena_notification, [ENA_ADMIN_KEEP_ALIVE] = ena_keep_alive_wd, [ENA_ADMIN_CONF_NOTIFICATIONS] = ena_conf_notification, + [ENA_ADMIN_DEVICE_REQUEST_RESET] = ena_admin_device_request_reset, }, .unimplemented_handler = unimplemented_aenq_handler }; diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index c9eb9e8c43d3..7ec470638859 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -396,6 +396,7 @@ struct ena_stats_dev { counter_u64_t rx_desc_malformed; counter_u64_t missing_admin_interrupt; counter_u64_t admin_to; + counter_u64_t device_request_reset; }; struct ena_hw_stats { @@ -558,6 +559,7 @@ static const struct ena_reset_stats_offset resets_to_stats_offset_map[ENA_REGS_R ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED, tx_desc_malformed), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED, rx_desc_malformed), ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_MISSING_ADMIN_INTERRUPT, missing_admin_interrupt), + ENA_RESET_STATS_ENTRY(ENA_REGS_RESET_DEVICE_REQUEST, device_request_reset), }; int ena_up(struct ena_adapter *adapter); diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index e18328ddc8b2..ce6e0b7375e6 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -301,6 +301,8 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &dev_stats->missing_admin_interrupt, "Missing admin interrupts count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "admin_to", CTLFLAG_RD, &dev_stats->admin_to, "Admin queue timeouts count"); + SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "device_request_reset", CTLFLAG_RD, + &dev_stats->device_request_reset, "Device reset requests count"); SYSCTL_ADD_COUNTER_U64(ctx, child, OID_AUTO, "total_resets", CTLFLAG_RD, &dev_stats->total_resets, "Total resets count"); From nobody Thu Oct 31 16:01:40 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJN5hThz5bwb6; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJN3kwpz4TC7; Thu, 31 Oct 2024 16:01:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390500; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TrrVHl2VDSFSm/45pFjaVEcOBNgZBO2gP+RU4jkr1+k=; b=SVh1BQ5NsnRGSYS/eYzzkZR7q72OjFbAyt5f/xwGc7M1UIxKoezasWFTcUHwE7YrWrFS/X cZ8e/56xgvu490zaZfiWH+EejiWub6TmGAas5H+fUoxbkr1VCuA9rebp/a8Rx3cUOvKtza Wn55ptWWEv+NCb7plrgwK/2vkemINmBjbXilalfK1d9CCsSbXp85aVUMtnSJMnUo4s2wr8 XTNXEVF9bkUBMD9H+6ON7B57Tg+gr39mgW79mM3RIy87zP6oi8hHmWzHWnlpUj5Dw25JQ8 WhvyhwFEIcJW4RhZySOqr+4yD+KjW+PcL81u7vtUguQOcuPC83Upzo+xGFdoqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390500; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TrrVHl2VDSFSm/45pFjaVEcOBNgZBO2gP+RU4jkr1+k=; b=D8GFPIBv2wGMIHOyQmP29IfOZKWa+6eWDzBEIaWaZVh7t7u6X2Vo4xgZK5woD+HseKYE7j dc0xBbjurnYmo0o2Gbxu7cMr/k77ex8HfciRGKTQC/5K/kAEjjRb2ZOOkgUbxRAyWXyWNE K9nCdNWfa18Parhut8sLAcv0Iz6cfVzHPr3v7qEAZFQIXbj8vvS2cVPitwwd035VZ6bID+ +fruK6nNERpsIl5Mu3J2Q0XBo6459dm1sYL8PByWs18ZiuvYwW/1/cHOAXa3aXUnZhisnH mHotyJ+rxD74+xKbx/yZVwRYKOe8JpVOlrGzLdnRjQpbm1iVzPBivxTQ+psqjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390500; a=rsa-sha256; cv=none; b=Z8tdGR7oNOcbzoFx2JrCB8dM55hvC4eX9l6OgrcFceG+zq8eeA97ov56WBjyJQpHcTu31e ZiOPf+Tt2eETyPQhddGeUPPZMwYPryr6egS3uYdRnZwxCGA2sVmRjqdA4ORN096c7zG1K9 +i6cXbmNynQJv96Vy/gsd1tjSGw/ZXgOwlO+T9GXR6N2c5xIXguSRB9lEFlwWNsEEOWHO5 mY4QtwRHM5oWRsIfgK8BWfX20o/TWE/Q0jqvV5TA9k7ZhZe7eInWjb+S7yobBTDgXx73jI yn+BpXK3CqhaYs3TSJw7UnxvcHK7bP4tlh7L4QTCmexBttJkYGL3FffVInJ3lw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJN3LcJzjVt; Thu, 31 Oct 2024 16:01:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1eEj073367; Thu, 31 Oct 2024 16:01:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1e11073364; Thu, 31 Oct 2024 16:01:40 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:40 GMT Message-Id: <202410311601.49VG1e11073364@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 4d18878ada2e - stable/14 - ena: Support LLQ entry size recommendation from device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4d18878ada2e1520384d2ab28df142a2dd303842 Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=4d18878ada2e1520384d2ab28df142a2dd303842 commit 4d18878ada2e1520384d2ab28df142a2dd303842 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:21 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:11 +0000 ena: Support LLQ entry size recommendation from device This commit adds support for receiving LLQ entry size recommendation from the device. The driver will use the recommended entry size, unless the user specifically chooses to use regular or large LLQ entry. Also added enum ena_llq_header_size_policy_t and llq_plociy field in order to support the new feature. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit b1c38df05d79c81ee1e9fd0942774820a4ffcb63) --- share/man/man4/ena.4 | 14 +++++++------- sys/dev/ena/ena.c | 39 +++++++++++++++++++++------------------ sys/dev/ena/ena.h | 11 +++++++++++ sys/dev/ena/ena_sysctl.c | 14 +++++++------- sys/dev/ena/ena_sysctl.h | 2 +- 5 files changed, 47 insertions(+), 33 deletions(-) diff --git a/share/man/man4/ena.4 b/share/man/man4/ena.4 index 0fbe0819978c..a3cb9ef5b37a 100644 --- a/share/man/man4/ena.4 +++ b/share/man/man4/ena.4 @@ -133,17 +133,17 @@ This can further lead to OS instability, together with ENA driver reset and NVMe timeouts. If network performance is critical and memory capacity is sufficient, the 9k mbufs can be used. -.It Va hw.ena.force_large_llq_headers -Force the driver to use large LLQ headers (224 bytes). -The default is 0. +.It Va hw.ena.force_large_llq_header +Force the driver to use large (224 bytes) or regular (96 bytes) LLQ header size. +The default value is 2 and the recommended LLQ header size will be used. If the node value is set to 0, the regular size LLQ header will be used, which is 96B. In some cases, the packet header can be bigger than this (for example - IPv6 with multiple extensions). -In such a situation, the large LLQ headers should be used by setting this node -value to 1. -This will take effect only if the device supports both LLQ and large LLQ -headers. +In such a situation, the large LLQ header size which is 224B should be used, +and can be forced by setting this node value to 1. +Using large LLQ header size will take effect only if the device supports +both LLQ and large LLQ headers. Otherwise, it will fallback to the no LLQ mode or regular header size. .Pp Increasing LLQ header size reduces the size of the Tx queue by half, so it may diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 2c96f8def20a..fadba819652b 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -156,7 +156,7 @@ static int ena_set_queues_placement_policy(device_t, struct ena_com_dev *, static int ena_map_llq_mem_bar(device_t, struct ena_com_dev *); static uint32_t ena_calc_max_io_queue_num(device_t, struct ena_com_dev *, struct ena_com_dev_get_features_ctx *); -static int ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *); +static int ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *, struct ena_adapter *); static void ena_config_host_info(struct ena_com_dev *, device_t); static int ena_attach(device_t); static int ena_detach(device_t); @@ -2756,27 +2756,32 @@ ena_map_llq_mem_bar(device_t pdev, struct ena_com_dev *ena_dev) } static inline void -set_default_llq_configurations(struct ena_llq_configurations *llq_config, - struct ena_admin_feature_llq_desc *llq) +ena_set_llq_configurations(struct ena_llq_configurations *llq_config, + struct ena_admin_feature_llq_desc *llq, struct ena_adapter *adapter) { llq_config->llq_header_location = ENA_ADMIN_INLINE_HEADER; llq_config->llq_stride_ctrl = ENA_ADMIN_MULTIPLE_DESCS_PER_ENTRY; llq_config->llq_num_decs_before_header = ENA_ADMIN_LLQ_NUM_DESCS_BEFORE_HEADER_2; - if ((llq->entry_size_ctrl_supported & ENA_ADMIN_LIST_ENTRY_SIZE_256B) != - 0 && ena_force_large_llq_header) { - llq_config->llq_ring_entry_size = - ENA_ADMIN_LIST_ENTRY_SIZE_256B; - llq_config->llq_ring_entry_size_value = 256; + if ((llq->entry_size_ctrl_supported & ENA_ADMIN_LIST_ENTRY_SIZE_256B) != 0) { + if ((ena_force_large_llq_header == ENA_LLQ_HEADER_SIZE_POLICY_LARGE) || + (ena_force_large_llq_header == ENA_LLQ_HEADER_SIZE_POLICY_DEFAULT && + llq->entry_size_recommended == ENA_ADMIN_LIST_ENTRY_SIZE_256B)) { + llq_config->llq_ring_entry_size = + ENA_ADMIN_LIST_ENTRY_SIZE_256B; + llq_config->llq_ring_entry_size_value = 256; + adapter->llq_policy = ENA_ADMIN_LIST_ENTRY_SIZE_256B; + } } else { llq_config->llq_ring_entry_size = ENA_ADMIN_LIST_ENTRY_SIZE_128B; llq_config->llq_ring_entry_size_value = 128; + adapter->llq_policy = ENA_ADMIN_LIST_ENTRY_SIZE_128B; } } static int -ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *ctx) +ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *ctx, struct ena_adapter *adapter) { struct ena_admin_feature_llq_desc *llq = &ctx->get_feat_ctx->llq; struct ena_com_dev *ena_dev = ctx->ena_dev; @@ -2831,22 +2836,20 @@ ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *ctx) max_rx_queue_size = 1 << (flsl(max_rx_queue_size) - 1); /* - * When forcing large headers, we multiply the entry size by 2, + * When using large headers, we multiply the entry size by 2, * and therefore divide the queue size by 2, leaving the amount * of memory used by the queues unchanged. */ - if (ena_force_large_llq_header) { - if ((llq->entry_size_ctrl_supported & - ENA_ADMIN_LIST_ENTRY_SIZE_256B) != 0 && - ena_dev->tx_mem_queue_type == + if (adapter->llq_policy == ENA_ADMIN_LIST_ENTRY_SIZE_256B) { + if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) { max_tx_queue_size /= 2; ena_log(ctx->pdev, INFO, - "Forcing large headers and decreasing maximum Tx queue size to %d\n", + "Using large headers and decreasing maximum Tx queue size to %d\n", max_tx_queue_size); } else { ena_log(ctx->pdev, WARN, - "Forcing large headers failed: LLQ is disabled or device does not support large headers\n"); + "Using large headers failed: LLQ is disabled or device does not support large headers\n"); } } @@ -3002,7 +3005,7 @@ ena_device_init(struct ena_adapter *adapter, device_t pdev, *wd_active = !!(aenq_groups & BIT(ENA_ADMIN_KEEP_ALIVE)); - set_default_llq_configurations(&llq_config, &get_feat_ctx->llq); + ena_set_llq_configurations(&llq_config, &get_feat_ctx->llq, adapter); rc = ena_set_queues_placement_policy(pdev, ena_dev, &get_feat_ctx->llq, &llq_config); @@ -3861,7 +3864,7 @@ ena_attach(device_t pdev) /* Calculate initial and maximum IO queue number and size */ max_num_io_queues = ena_calc_max_io_queue_num(pdev, ena_dev, &get_feat_ctx); - rc = ena_calc_io_queue_size(&calc_queue_ctx); + rc = ena_calc_io_queue_size(&calc_queue_ctx, adapter); if (unlikely((rc != 0) || (max_num_io_queues <= 0))) { rc = EFAULT; goto err_com_free; diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 7ec470638859..132d8882f12c 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -173,6 +173,15 @@ enum ena_flags_t { ENA_FLAGS_NUMBER = ENA_FLAG_RSS_ACTIVE }; +enum ena_llq_header_size_policy_t { + /* Policy for Regular LLQ entry size (128B) */ + ENA_LLQ_HEADER_SIZE_POLICY_REGULAR, + /* Policy for Large LLQ entry size (256B) */ + ENA_LLQ_HEADER_SIZE_POLICY_LARGE, + /* Policy for device recommended LLQ entry size */ + ENA_LLQ_HEADER_SIZE_POLICY_DEFAULT +}; + BITSET_DEFINE(_ena_state, ENA_FLAGS_NUMBER); typedef struct _ena_state ena_state_t; @@ -459,6 +468,8 @@ struct ena_adapter { uint8_t mac_addr[ETHER_ADDR_LEN]; /* mdio and phy*/ + uint8_t llq_policy; + ena_state_t flags; /* IRQ CPU affinity */ diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index ce6e0b7375e6..a6076c57e3f5 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -148,17 +148,17 @@ SYSCTL_INT(_hw_ena, OID_AUTO, enable_9k_mbufs, CTLFLAG_RDTUN, &ena_enable_9k_mbufs, 0, "Use 9 kB mbufs for Rx descriptors"); /* - * Force the driver to use large LLQ (Low Latency Queue) header. Defaults to - * false. This option may be important for platforms, which often handle packet - * headers on Tx with total header size greater than 96B, as it may - * reduce the latency. + * Force the driver to use large or regular LLQ (Low Latency Queue) header size. + * Defaults to ENA_LLQ_HEADER_SIZE_POLICY_DEFAULT. This option may be + * important for platforms, which often handle packet headers on Tx with total + * header size greater than 96B, as it may reduce the latency. * It also reduces the maximum Tx queue size by half, so it may cause more Tx * packet drops. */ -bool ena_force_large_llq_header = false; -SYSCTL_BOOL(_hw_ena, OID_AUTO, force_large_llq_header, CTLFLAG_RDTUN, +int ena_force_large_llq_header = ENA_LLQ_HEADER_SIZE_POLICY_DEFAULT; +SYSCTL_INT(_hw_ena, OID_AUTO, force_large_llq_header, CTLFLAG_RDTUN, &ena_force_large_llq_header, 0, - "Increases maximum supported header size in LLQ mode to 224 bytes, while reducing the maximum Tx queue size by half.\n"); + "Change default LLQ entry size received from the device\n"); int ena_rss_table_size = ENA_RX_RSS_TABLE_SIZE; diff --git a/sys/dev/ena/ena_sysctl.h b/sys/dev/ena/ena_sysctl.h index df9cc8cb592f..9dcfa311d73e 100644 --- a/sys/dev/ena/ena_sysctl.h +++ b/sys/dev/ena/ena_sysctl.h @@ -46,6 +46,6 @@ extern int ena_enable_9k_mbufs; #define ena_mbuf_sz (ena_enable_9k_mbufs ? MJUM9BYTES : MJUMPAGESIZE) /* Force the driver to use large LLQ (Low Latency Queue) headers. */ -extern bool ena_force_large_llq_header; +extern int ena_force_large_llq_header; #endif /* !(ENA_SYSCTL_H) */ From nobody Thu Oct 31 16:01:41 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJQ1Vd9z5bwhB; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJP4M6mz4TFn; Thu, 31 Oct 2024 16:01:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FKzJAP/Quvbb7b4tteumDyPVyVDFJmkMO/DVs86tCFY=; b=QdJP1K7CgRh+uTu9zTTWZN37joDkO4uj9upRl7emj63SpW9vKftCCAtnwFljc7Irjj6zIG TUU5OheNSJRv8NWBtKv4IGb2fpcxMYsOGUclrBatl7S33gMhBZ7Lti3a0fkeIn25TMxwyX NX1jQMJ0YdwEJR7yAh475fZbPrSe7/J2o85jvRyr4dENZJy22pJecMAm58L4OhlWDbcYVb McYDSSCdcXhKE9zlDwwv1LTbmUiSrdbnzhbdymJrHcxQOKKfF0K0oL2Clvv6w+mX8YPN62 Pb4BZMxVTz8Qde/48B+KhZdbBRz3QEZeUz3DPwW2F105vJyTZJ4wRv/kT9XCOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FKzJAP/Quvbb7b4tteumDyPVyVDFJmkMO/DVs86tCFY=; b=n7hhXlqJzqg7/pKCq908mkTQaIW9f0jM2Qf6Ob0OsSafCvMrie4n6zkjIx8hUOv43mrvfp WBTuE3s/iYADIFAHGFZkW45q8aq1o9Usi5BEr1mF5n/GYcM0F5A+lH3jjZDGRqBFWu/oT2 coU8A89n0Na3VUKut6q/eMjKmbYe9KuygUfkiy90PeqWrGQikOgSRueJPwg62zegf6CNhc JSwXNRhdziU0B/ATm80Ga4RjaRee+UNMXrt6DkUToRYJo3WbrwPIjSler0ajEY93ueaMaN xnvdq7En/ctZI/8L2a3WD2TtEAE1hWk0N/LznhTP/ZDsnjHRlSoOpJGAyR2iJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390501; a=rsa-sha256; cv=none; b=C1bVlZnGV0k7+R4TXERdVaaed7avmbZwwJCcZW6z3mXalSQnW6T/2LoWaRGCMP1EHgcNJj kMLeysazWS7VjuLkW3+0I9MxaaRLUYBW1QI9y/ZH78sS3Qagp+fHohu0yY984RShkjvvUD 5AwcUwwvziIvCwalnmLN2uec5aOYkvgpT2sWchCYtYo4koebpl6j2L+dG+ctjoiCUR1shQ L5Bm+VpotlXOWI5hJxk63W+34Xv24uqGTynRg0DzXavomQ20h9KzjNsO+WmfM4b4eWAiIO srLonGBoSsrAzSvZfezR6QCbB44h90jQDFGiyollL4ua4wT2zWf/IquBYRAW7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJP3xGnzjb1; Thu, 31 Oct 2024 16:01:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1fAK073427; Thu, 31 Oct 2024 16:01:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1f6e073424; Thu, 31 Oct 2024 16:01:41 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:41 GMT Message-Id: <202410311601.49VG1f6e073424@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 86ec26e7a9b8 - stable/14 - ena: Support max large LLQ depth from the device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 86ec26e7a9b878397c3b664d66fdfc8ecfdee10d Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=86ec26e7a9b878397c3b664d66fdfc8ecfdee10d commit 86ec26e7a9b878397c3b664d66fdfc8ecfdee10d Author: Osama Abboud AuthorDate: 2024-08-07 06:24:22 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:11 +0000 ena: Support max large LLQ depth from the device Large LLQ depth size is currently calculated by dividing the maximum possible size of LLQ by 2. In newer paltforms, starting from r8g the size of BAR2, which contains LLQ, will be increased, and the maximum depth of wide LLQ will be set according to a value set by the device, instead of hardcoded division by 2. The new value will be stored by the device in max_wide_llq_depth field for drivers that expose ENA_ADMIN_LLQ_FEATURE_VERSION_1 or higher to the device. There is an assumption that max_llq_depth >= max_wide_llq_depth, since they both use the same bar, and if it is possible to have a wide LLQ of size max_wide_llq_depth, it is possible to have a normal LLQ of the same size, since it will occupy half of the space. Also moved the large LLQ case calculation of max_tx_queue_size before its rounddown. Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit d0419551d96c8f995bdf6388a8e69684be33f9b5) --- sys/dev/ena/ena.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index fadba819652b..28a4d7842306 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -2831,28 +2831,34 @@ ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *ctx, struct ena_adapter * max_queues->max_packet_rx_descs); } - /* round down to the nearest power of 2 */ - max_tx_queue_size = 1 << (flsl(max_tx_queue_size) - 1); - max_rx_queue_size = 1 << (flsl(max_rx_queue_size) - 1); - - /* - * When using large headers, we multiply the entry size by 2, - * and therefore divide the queue size by 2, leaving the amount - * of memory used by the queues unchanged. - */ if (adapter->llq_policy == ENA_ADMIN_LIST_ENTRY_SIZE_256B) { - if (ena_dev->tx_mem_queue_type == - ENA_ADMIN_PLACEMENT_POLICY_DEV) { - max_tx_queue_size /= 2; - ena_log(ctx->pdev, INFO, - "Using large headers and decreasing maximum Tx queue size to %d\n", - max_tx_queue_size); + if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) { + if (llq->max_wide_llq_depth != max_tx_queue_size) { + if (llq->max_wide_llq_depth == 0) { + /* if there is no large llq max depth from device, we divide + * the queue size by 2, leaving the amount of memory + * used by the queues unchanged. + */ + max_tx_queue_size /= 2; + } else { + max_tx_queue_size = llq->max_wide_llq_depth; + } + ena_log(ctx->pdev, INFO, + "Using large LLQ headers and decreasing maximum Tx queue size to %d\n", + max_tx_queue_size); + } else { + ena_log(ctx->pdev, INFO, "Using large LLQ headers\n"); + } } else { ena_log(ctx->pdev, WARN, "Using large headers failed: LLQ is disabled or device does not support large headers\n"); } } + /* round down to the nearest power of 2 */ + max_tx_queue_size = 1 << (flsl(max_tx_queue_size) - 1); + max_rx_queue_size = 1 << (flsl(max_rx_queue_size) - 1); + tx_queue_size = clamp_val(tx_queue_size, ENA_MIN_RING_SIZE, max_tx_queue_size); rx_queue_size = clamp_val(rx_queue_size, ENA_MIN_RING_SIZE, From nobody Thu Oct 31 16:01:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJR3SPbz5bwb9; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJQ599dz4TSK; Thu, 31 Oct 2024 16:01:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390502; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zz+jl2qu5VgelcCmFecS4auHHyprqk+st0SxCNXgiTc=; b=ZMZX0jwj+lWsdLQ8orqyfTDuY3EQkl9MpoSR0tJIIW/+oyPbGHI0Lm1Ad7IirKiA49RytE df/Ifrv/gvRr6q9dj6446EbhjQDTgfVhoXb0ElCplPYYDK/tk4ugJmGexDBlv9xlSMtsG+ q+h4dkU8H7EJ96hpc9/zK+p81bnQkcFE23xtc0CcY75uUFR8/BXggibujUacMaB3+CnWza lrnYJsFNWfHv9mqfrmcQQmsHKiNX8moh4vJexbx1f6Cs3swCrkZIIllDR15UEXrCh0InhG QHMKsHVUkPmheTrQdvhZ4Kb+24o0GRSMRDvxAtuo5w1mu3DO6F+AqNoZhFruCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390502; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zz+jl2qu5VgelcCmFecS4auHHyprqk+st0SxCNXgiTc=; b=LZGUSnyLlD4UZIl9tdBwBPhpv1vSSUwoP4pBs2+STT2kI7a9s7iW+y76O6o2HFEVJX4YJk xEsWk3dLPig6wWvkpwjcBWm8y0KfDncMDH0yUeYm7DD61qs90DgDWrQd8K9SOV1VSwCUcL NVJLsyi6cH2c0qm4UhM50OD9fIJLs47ctgjECsh20s2qgdyRhxljKphe4+okCuqKPoe7vh q5KoRsP39Tpu14+dL72g171K7+3f6k4VWf9vcDMeUAJ2oRt0MlalkthKi+zAkUXrncSRHV ep5CaEmH7TlApi5KdCbEG0htYaP1xBQ2KqTq4Qh4znFuKdQZ5gk58mgFGZ4WLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390502; a=rsa-sha256; cv=none; b=B+ECIjGIxtD3QHo8vG21TBac5TZwLmDezSCUymLjwzvUbWC2hQbg5PxGpWasP5iSwIu/x6 y4gs9DRCDNyaEDvCpHdeiuYe5A4F/pXmMsUneTRys5l0gtcMuavvNJwtw1R7xQc1N+/KBJ 7YCm+VoNpr8+s5rQKQZ0ib68mUxbf6tXPF8Iwl77lg9ozYTfge0ZQEXlo7RH1C0xiL+AX+ VJJykTaqTMWOikgIKxhpFb3/WnspWM0Lc/LO62Qt/R3o5kbzQYi70emoBUildcSBFNnQTT 1bEeVJff6Ew/p0ytYB7k3qVfLqkBJZZlRVShmFyc62jJNebQcIaYvz8DuJEVyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJQ4jfFzjXQ; Thu, 31 Oct 2024 16:01:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1g4D073478; Thu, 31 Oct 2024 16:01:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1gnu073474; Thu, 31 Oct 2024 16:01:42 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:42 GMT Message-Id: <202410311601.49VG1gnu073474@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 7a39823d8e53 - stable/14 - ena: Fix leaking ifmedia resources on detach List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7a39823d8e53788b2ee38d908a16d2c312c6afe9 Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=7a39823d8e53788b2ee38d908a16d2c312c6afe9 commit 7a39823d8e53788b2ee38d908a16d2c312c6afe9 Author: Osama Abboud AuthorDate: 2024-08-07 06:24:22 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:12 +0000 ena: Fix leaking ifmedia resources on detach ifmedia_add() allocates an ifmedia_entry during ena_attach. Current code doesn't release this memory during ena_detach() This commit calls ifmedia_removeall() to properly free the allocated memory during ena_detach(). Also, in case ena_attach fails, we need to detach ifmedia which was allocated within ena_setup_ifnet(). This bug was first described in: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278100 Reviewed by: zlei Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit 449496eb28daec8d5b852fa4be1e337c2957345c) --- sys/dev/ena/ena.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 28a4d7842306..e9d4530e9085 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3981,6 +3981,7 @@ ena_attach(device_t pdev) #ifdef DEV_NETMAP err_detach: ether_ifdetach(adapter->ifp); + ifmedia_removeall(&adapter->media); free(adapter->customer_metrics_array, M_DEVBUF); #endif /* DEV_NETMAP */ err_metrics_buffer_destroy: @@ -4031,6 +4032,8 @@ ena_detach(device_t pdev) ether_ifdetach(adapter->ifp); + ifmedia_removeall(&adapter->media); + /* Stop timer service */ ENA_LOCK_LOCK(); ENA_TIMER_DRAIN(adapter); From nobody Thu Oct 31 16:01:43 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTJS0qLgz5bwrj; Thu, 31 Oct 2024 16:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTJR65lNz4TLL; Thu, 31 Oct 2024 16:01:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zgp+Q1XrdOrtoiKFCIXztYPdUyvuQG7oxEnoTPygOkY=; b=XF9jTAEcf38p5P+2Sj7ni0Z8hTX/cEjzJ4/+cozWg8Tk3e9hhC7aIqCPUKhW4WHpL4a6B3 X+kYV6PkrAiYxerE85okstRN2PjqX1rg3w57IboT0rDqRindm+KRBaq5aS+sgw7H3XY/pl /jbm6W8jTV9oKbqIptZEVbl9ohFtGZ8fehtv+9iqyIUBzqh+As5pxifOWbyhA8xJTjl9gt u4RxxX2JsVRVO0WTXqmUow4+3m+M8eBOtHgSo5p+WPoJ+l/kKW/tFqTrPfDT9bFJEv9lZc R2qg0RyYw3Dcw7TUObeWHzDNRihqZ8Rm6il6lETPtFN91/1fxSIhEukz2NjqXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730390503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zgp+Q1XrdOrtoiKFCIXztYPdUyvuQG7oxEnoTPygOkY=; b=QN1LKZ3xJ0hBHRgnF2G+6fQ9ONO0ImAZ2EjE2pC6tvSdgZ0K6mE6q8lo2oQ571mmLrRkMU lQN0RqG2m7NB1IyderhI0qJkvpGxyeY9N21MAtCYuZE6MzaiBfbK9oigQLaRzYVicCmaPm tpEUptUyGrRB2DrZD8GLGpy9e7iMQTPJC74roL818tuAfchsyvjwXacmEM9xSMSeO4h5Qp NF2PUmo9vJOgD6rk6ajcWuZ4l8Nqs+EylTCQzPfwYmwcC9l7sY2D9xRU0zh8DUh2QQV11U CqtCz9BnhvUY+ElsHTVAOjHua/lGs/c81VNtb0Trpht5oSy5kuAhttp8Hfdbww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730390503; a=rsa-sha256; cv=none; b=s9fkEJiQiPNJs+3UV94jtw/AEc2allfI5fq/pMeFH7N+lcLa/ixPmQO4FGUEIP3N1KUSk3 8Cw84syXn9cAd8/reC6ADWt5RlcvoDbO0kS0+CkG5apSHRM4NHyWCZQk4TH0wZ1U0X8V2O EeQLjIDOXyZ8KsV9Kqz3LqFtza/nXW4QX9r1qOYx+SSLGMzJ+rO0TbimXp5O8+4CPmuJ0/ YK31KmuXALYxclDbFkSwNdADi+s5eZROsaHyfxy3mGXm01ArVaCZ3L5En/U1SxakjZmZiw rSq9uDd1uGWQnJQydCic8GPq7V8oA2lORFS99kex9QEaRWb6/xiPShkru1EBTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTJR5XJFzjd9; Thu, 31 Oct 2024 16:01:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VG1hUp073526; Thu, 31 Oct 2024 16:01:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VG1h25073523; Thu, 31 Oct 2024 16:01:43 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:01:43 GMT Message-Id: <202410311601.49VG1h25073523@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Osama Abboud Subject: git: 6bf02434bd9a - stable/14 - ena: Update driver version to v2.8.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osamaabb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6bf02434bd9ae508e84d770fba336cf12fce4b34 Auto-Submitted: auto-generated The branch stable/14 has been updated by osamaabb: URL: https://cgit.FreeBSD.org/src/commit/?id=6bf02434bd9ae508e84d770fba336cf12fce4b34 commit 6bf02434bd9ae508e84d770fba336cf12fce4b34 Author: osamaabb AuthorDate: 2024-08-07 08:06:49 +0000 Commit: Osama Abboud CommitDate: 2024-10-31 14:54:12 +0000 ena: Update driver version to v2.8.0 Features: * Add support for device request reset message over AENQ * Support LLQ entry size recommendation from device * Support max large LLQ depth from the device * Expand PHC infrastructures * Configuration notification support Bug Fixes: * Fix leaking ifmedia resources on detach * Fix netmap socket chain unmapping issue * Properly reinit netmap structs upon sysctl changes * Correctly count missing TX completions Minor Changes: * Add reset reason for corrupted TX/RX completion descriptors * Add reset reason for missing admin interrupts * Improve reset reason statistics * Update licenses Approved by: cperciva (mentor) Sponsored by: Amazon, Inc. (cherry picked from commit ce4cc746bb4171a131ab9099947a500c0de18ff4) --- sys/dev/ena/ena.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 132d8882f12c..06bdfad97ed4 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -38,7 +38,7 @@ #include "ena-com/ena_eth_com.h" #define ENA_DRV_MODULE_VER_MAJOR 2 -#define ENA_DRV_MODULE_VER_MINOR 7 +#define ENA_DRV_MODULE_VER_MINOR 8 #define ENA_DRV_MODULE_VER_SUBMINOR 0 #define ENA_DRV_MODULE_NAME "ena" From nobody Thu Oct 31 16:22:05 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfTlx5Bm8z5byVL; Thu, 31 Oct 2024 16:22: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfTlx4dSDz4dxK; Thu, 31 Oct 2024 16:22:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730391725; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QzkVlIrk7fgfgm+I57x1oXjU8eATkaVXRx/5IcOZJC4=; b=I7qmJz2r/HBWNtUTxWsDEOA17c41+OD9wfw47q2bfvqlPxHNcDquZMw16RdgRxT3Dc92Ww Q8YDmVmNa+fGDrxkRgy+Ftabc8s9kMAifR5rk2VayVXCVxIxURXjJfLISDpPi6PJHJPzhr ri/EpIwLTDUh6NbwSzDntET5QS1rYGxlcXYKgYG0WOeBbneJFWLjtiBbMcM2jYInU72ATX LICucmf4EjIQer2MduQ/3EK4bNsadUyFN4iZ/E3MKCnw5JSllEucGF7DD8cRCWg9Nrw2Ec b8s+pVEkzdoDgHak/ymViVEBMPNsgqfrO83xhvlFMYJXnGjBXI2dDc3GPkdi8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730391725; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QzkVlIrk7fgfgm+I57x1oXjU8eATkaVXRx/5IcOZJC4=; b=MzALAWdbjafmQXrM1mH0EdjMLXIjsY4Cy+I+MJe7ag7GbHo84hLD93M05ii5C8t3viK6Wh pu5l8MpfDJvXEIvTpyO9xE1MUIshiG+NItZJN2ojZLnKAed/WZvjTbhmyDjutbeoQ/Ku0x 6//Pxu2PDATvktygrZ5QdEEHMcxrVHRum8H8TjrXao7wfPyqonWMWQQhmApHjehrn3S76W HAIlL89gvD2i0EToo+twA3R5bQXMg5LkMAEPFc8mXyMNcpZ0FUtSspat/0WZRAi44o3t6y U99SSEhWZXd6S3HyQKnKxUhHuaH99TdWmqBZ9oB0JnQJYAVne8xEodxvzU2O+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730391725; a=rsa-sha256; cv=none; b=qm42BO0Fc7bbkeOdgcZYiCZH4rogyyUy2Qegcpy0f8+8sPhflMR6IxL0iQQSjdiBVxpWhZ ld4Itq2ze21EQaLE5HhkkCSX9Fa2mMLjJnjHMPEyY0jHRjVmqAm7GcDZwdaXRxa+tR8DOS JJR9Xa+6aNWsvUe1w5R3+7Fm58EDihbwmA460rI4uarFJb8nozK3UfHKTx+vZkJucflagc dDrscI98NOihAtwoylsq0daVEpZ1myUI1WSWa0EUFmWlFN2CpGDrCtJFn0dptK/BnslKdH J6ar4fhn/4/IivmSYU7LZD2VHkgwQGUNw36cPST2EteULbdDJuZMriQ/Ui3HmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfTlx4FCxzjYl; Thu, 31 Oct 2024 16:22:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VGM5Mt009681; Thu, 31 Oct 2024 16:22:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VGM51e009678; Thu, 31 Oct 2024 16:22:05 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:22:05 GMT Message-Id: <202410311622.49VGM51e009678@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: 1e8db1f74e42 - stable/14 - pkgbase: don't remove the 'latest' symlink until the repo is final List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 1e8db1f74e4230e13cd0c85b21745f4a70e2aef9 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=1e8db1f74e4230e13cd0c85b21745f4a70e2aef9 commit 1e8db1f74e4230e13cd0c85b21745f4a70e2aef9 Author: Kyle Evans AuthorDate: 2024-10-29 20:50:49 +0000 Commit: Kyle Evans CommitDate: 2024-10-31 16:21:58 +0000 pkgbase: don't remove the 'latest' symlink until the repo is final We can encounter many issues in the pkg-repo(8) process which would currently leave us with no more 'latest' symlink in the repository. The main problems with this are that we've now broken a subsequent `update-packages` because we can't determine a PKG_VERSION_FROM, but also we break configured clients that are still expecting to see *some* repository. Switch to just replacing the `latest` symlink entirely after we have made it past the pkg-repo(8) step so that we only swap over when we have a finished repository. Reviewed by: bapt, emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D47303 (cherry picked from commit 8549e3ce0cd6d4a6187b3977d53ff56ce0ac9c5b) --- Makefile.inc1 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 605b8098b742..1927a69ef732 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2280,14 +2280,13 @@ real-sign-packages: _pkgbootstrap .PHONY .if ${PKG_BIN_VERSION} < 11700 printf "packing_format = \"${PKG_FORMAT}\";\n" >> ${WSTAGEDIR}/meta .endif - @[ -L "${REPODIR}/${PKG_ABI}/latest" ] && unlink ${REPODIR}/${PKG_ABI}/latest; \ - ${PKG_CMD} -o ABI=${PKG_ABI} repo -o OSVERSION="${SRCRELDATE}" \ + @${PKG_CMD} -o ABI=${PKG_ABI} repo -o OSVERSION="${SRCRELDATE}" \ -m ${WSTAGEDIR}/meta \ -o ${REPODIR}/${PKG_ABI}/${PKG_VERSION} \ ${REPODIR}/${PKG_ABI}/${PKG_VERSION} \ ${PKG_REPO_SIGNING_KEY} ; \ cd ${REPODIR}/${PKG_ABI}; \ - ln -s ${PKG_OUTPUT_DIR} latest + ln -hfs ${PKG_OUTPUT_DIR} latest # # From nobody Thu Oct 31 16:36:33 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfV4d6gtZz5c0Rm; Thu, 31 Oct 2024 16:36: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfV4d68C2z4glT; Thu, 31 Oct 2024 16:36:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730392593; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4ru+AvV9pgwKrp0QuHMtoYqHAaNOMfNdFjY2Cdi8V/s=; b=SPGNDxvga8vQhUD+sWYK8v+jxuV7DXqD7UC6IrCBfSGAdOn71/0MB0MLGpj2u7spBhGNrk /wFtrE1OI6Wq7S26G0nnWmqkMPQUP7sMoOS7b5664cYHqygM55pJa6s+G4UIkmp64xhHKS 3wj169qN1yraY6YfwCpV27Mtiye175flr27H56NASA+eNdZu5Lv7+hy6Ek+KykGPbVE8Ht XhT50SpedMBO2A1g6kky36djlfRnc76J8zNFqqN5GNPGUhX1zGrkAchbrzxqNRXjJzujVh ezETSXQdEP5bO050aqQiEmkIz39pZizHb3+SdgTpzZGt3w51WEun7PlDWa//UQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730392593; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4ru+AvV9pgwKrp0QuHMtoYqHAaNOMfNdFjY2Cdi8V/s=; b=e5TjrL2IxTT28wRi6MbpFl7PaXMaagR2rJ+9EL5+gTq0ziAO2Zm8zVejUYSWg7YpHsM6nX TetK3ofkLKWKewwcI+XHYUD0wxyfUU3E9GSG9bWoc2DwE3mp3fi7nA6LLwg37CPn51EHz/ gnh9e4MmmhYKE/b2EYCrPc47H1G2ntMli/F2yeiveHbZ1LL6/kFwczcqs7DYafuzt16WuW mv508hVr6VzRWFgvjAXugDiEP4AhBQSbmxKGJp4zHEZ/NojKV5z5w9s5VKwXljOihRe2rz wch89Rya0GcWUvgKU66DoQZaDUS/JyJNMQIm3sVjsbaE9u1ssD+bEwbkjzNAtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730392593; a=rsa-sha256; cv=none; b=R5cXUa5c3U6+x7Wmf1pj3jasxr3zr5dbLRc4R4q92vjHFq8IBznVmtbCwVukx7ibVBY/aM ly3pS9/fqh81nFNoy4ihP5xDIdfCXBgR57KhNxc2+7SD9Y+WuDILPtkkKeAKTXV8tVBlpP sH950/F8LQW6o+aRZyHiR0/aCvxCxikoeIFW7StEcWU6rVSWdHUpWBdld7HKZW4xegnl17 MT4/LdPHXLbYM0JpCz6vtc0LP0L8dc74eFHGdMXuR6eWMzkXQMmik7NpBn6bQmugu8yMdG TDgRimgm5q4wvdqCtJQnHBH1pq74hLLGgdSTBl2oPSV6l1bEYvkQBuYG0pvWyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfV4d5cLyzjyT; Thu, 31 Oct 2024 16:36:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VGaXTF033079; Thu, 31 Oct 2024 16:36:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VGaXGr033076; Thu, 31 Oct 2024 16:36:33 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:36:33 GMT Message-Id: <202410311636.49VGaXGr033076@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 3e8226cb8c83 - stable/13 - tcp rack, bbr: improve handling of soft errors List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 3e8226cb8c8333c4e0a1118fe09d0a7b6e5711cd Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=3e8226cb8c8333c4e0a1118fe09d0a7b6e5711cd commit 3e8226cb8c8333c4e0a1118fe09d0a7b6e5711cd Author: Michael Tuexen AuthorDate: 2024-08-30 07:26:41 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 16:36:28 +0000 tcp rack, bbr: improve handling of soft errors Do not report an error, if it is stored as a soft error. This avoids, for example, the dropping of TCP connections using an interface, while enabling or disabling LRO on that interface. Reviewed by: cc Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46427 (cherry picked from commit b2044c4557443bbce974101f04e2b465d1bbe769) --- sys/netinet/tcp_stacks/bbr.c | 1 + sys/netinet/tcp_stacks/rack.c | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c index 8fde062c0dc7..5ebf82eb97d9 100644 --- a/sys/netinet/tcp_stacks/bbr.c +++ b/sys/netinet/tcp_stacks/bbr.c @@ -13961,6 +13961,7 @@ nomore: case ENETUNREACH: if (TCPS_HAVERCVDSYN(tp->t_state)) { tp->t_softerror = error; + error = 0; } /* FALLTHROUGH */ default: diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index 7429dcac5d5b..ce1f2b88cef8 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -18571,6 +18571,7 @@ nomore: case ENETDOWN: if (TCPS_HAVERCVDSYN(tp->t_state)) { tp->t_softerror = error; + error = 0; } /* FALLTHROUGH */ default: From nobody Thu Oct 31 16:37:10 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfV5L52PLz5c0pw; Thu, 31 Oct 2024 16:37: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfV5L478Pz4h5M; Thu, 31 Oct 2024 16:37:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730392630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7PAsrQ8eJo+T0YBNk3bVoRFi/vTOcS3mCj3otA5k5+k=; b=RJGdmau2geyvZESvPW0nQWPIU/lTBraNNMfxCMDH7X9TTZOwpGgY+3n88xtR2pwSMEh1e2 D+gbkeTrJcr0b5v3Te9bfDn95cfICCRAfvRwj0snj/DCCJK21rK/SWj7gpzq80HhrINWmx OsK2VGCLXj/gPl28mdUmKdrtFEZTkHpIZ/GSwobu0CJgBL0cvGBsty3wWIQmHHROh9YSeG 2bls+K/LcHNYZFJpQKVRzv2+k0SsPlFsVWk1W7vJc1R4uU7XrEw66zEtFgD48z7WBAQm/Z Mg858WtB/8++8/iGqtmgRcxLQPnbd9+phkM9jxA0BeS/Nxj30yKA/3+jG8e6Mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730392630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7PAsrQ8eJo+T0YBNk3bVoRFi/vTOcS3mCj3otA5k5+k=; b=SzgWcipsxLDszFz+R57ld646DQIQ1padqNj6cFqah+cALvkhDrBcPsaNp/hLQ3moFyrTNK EBk9WfKb1ltpfgrZVOvkG61iufryPEX4XObosYfGfGF61iwNQWiGuSZ2r0slwbWukgp8Fb 42HXnZYmD6cBiW8Visy3ygy0T1q9SQZoEF26IJ+B0OEnF9Mel9Y3Q4B6VH7DoWeFFyXL0R 7/9+H6ify5Kn//njBVBzc6/uVdbMI34ktd7Y5pff1zD6VluhhKOGAUAeNc/b8PPyLx9rJm MvJKsxyLcjFF7lbWfXx6t1Z+DH4LY2IN/Xw1i200mBC8xnKCcnxBZF1MkOBYDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730392630; a=rsa-sha256; cv=none; b=FmuZed1HD+0bK96O1mDya4gUpl8eBQa16yEdoYA6MjTKwM8P+7A2gu0WHrfPoaoKAE5vZB aD5dOOOK07AQo6vKyW7H17KPXP3JmdSihXXRH1+4dxfuEpsF71hiR1D0+vP4OQNXFzy2Ud eF+UOba3aqr3YOfJqNFxz2c49EurqwpOuCjo8LZOq43z1QVILbU57ESx2WZ2+k/oKTTkN+ YxosuynrLsVCLk51paNI+dDH/lA9T1FH8Id3HO+TuIPHO/ODvWMlWAYugUgC3+oEh8l6J+ o0bht2k1qDEoC9dm8VZBaBpWDHiTkDqu1Q8Zj4dVXhBysQ5RbNNqQD03ZJ2ZXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfV5L310kzjhP; Thu, 31 Oct 2024 16:37:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VGbAkQ033396; Thu, 31 Oct 2024 16:37:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VGbAgx033391; Thu, 31 Oct 2024 16:37:10 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:37:10 GMT Message-Id: <202410311637.49VGbAgx033391@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 0567f7cc1a46 - stable/13 - tcp: improve consistency of syncache_respond() failure handling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 0567f7cc1a4669085f29a8d8e9175eaf83f9877d Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=0567f7cc1a4669085f29a8d8e9175eaf83f9877d commit 0567f7cc1a4669085f29a8d8e9175eaf83f9877d Author: Michael Tuexen AuthorDate: 2024-09-05 01:33:13 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 16:36:46 +0000 tcp: improve consistency of syncache_respond() failure handling When the initial sending of the SYN ACK segment using syncache_respond() fails, it is handled as a permanent error. To improve consistency, apply this policy in all cases, where syncache_respond() is called. These include * timer based retransmissions of the SYN ACK * retransmitting a SYN ACK in response to a SYN retransmission * sending of challenge ACKs in response to received RST segments In these cases, fall back to SYN cookies, if enabled. While there, also improve consistency of the TCP stats counters. Reviewed by: cc, glebius (earlier version) Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46428 (cherry picked from commit ef438f7706be48f1cf7fd4c8a60329e1619cfe30) --- sys/netinet/tcp_syncache.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 86df6c747ea4..111f591c5851 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -531,10 +531,16 @@ syncache_timer(void *xsch) } NET_EPOCH_ENTER(et); - syncache_respond(sc, NULL, TH_SYN|TH_ACK); + if (syncache_respond(sc, NULL, TH_SYN|TH_ACK) == 0) { + syncache_timeout(sc, sch, 0); + TCPSTAT_INC(tcps_sndacks); + TCPSTAT_INC(tcps_sndtotal); + TCPSTAT_INC(tcps_sc_retransmitted); + } else { + syncache_drop(sc, sch); + TCPSTAT_INC(tcps_sc_dropped); + } NET_EPOCH_EXIT(et); - TCPSTAT_INC(tcps_sc_retransmitted); - syncache_timeout(sc, sch, 0); } if (!TAILQ_EMPTY(&(sch)->sch_bucket)) callout_reset(&(sch)->sch_timer, (sch)->sch_nextc - tick, @@ -692,7 +698,13 @@ syncache_chkrst(struct in_conninfo *inc, struct tcphdr *th, struct mbuf *m, "sending challenge ACK\n", s, __func__, th->th_seq, sc->sc_irs + 1, sc->sc_wnd); - syncache_respond(sc, m, TH_ACK); + if (syncache_respond(sc, m, TH_ACK) == 0) { + TCPSTAT_INC(tcps_sndacks); + TCPSTAT_INC(tcps_sndtotal); + } else { + syncache_drop(sc, sch); + TCPSTAT_INC(tcps_sc_dropped); + } } } else { if ((s = tcp_log_addrs(inc, th, NULL, NULL))) @@ -1589,6 +1601,9 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, syncache_timeout(sc, sch, 1); TCPSTAT_INC(tcps_sndacks); TCPSTAT_INC(tcps_sndtotal); + } else { + syncache_drop(sc, sch); + TCPSTAT_INC(tcps_sc_dropped); } SCH_UNLOCK(sch); goto donenoprobe; From nobody Thu Oct 31 16:37:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfV6F1R2qz5c0tg; Thu, 31 Oct 2024 16:37: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfV6F0t5Nz4hCm; Thu, 31 Oct 2024 16:37:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730392677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ruWu/URPa1wHTnl/cw1PZQ0VptPpuSbEM9eLg6Y9cC4=; b=d1FlpmrYh2LCjVIWpIjMcIkLMDjjZJB5Mq0+zgP9jW5RjBJio/pOqvCKqe9BeLDl6xXuGk 4aQiX7ZPOqAJSHGkWKb32+S7MpOdB3fumvb5Fvh428MMVwcYdK4UrOyrVVw9SzkRmeH3hQ RRUfx+YXT6+mEJVjeL5LqQEVLOplXrnhSo+gIzeZSRw0XgGNuIUezNYJYn4d9utTJaq7OW N2UlYlnHNFkWtdxu0AVAXunHji00BwDEACRok/DDq/nA8GJZl3hlPwf9xBpKDr65vkbJhE XOd12YFAFO5BmSHSRaWbZ6+EucuXJrKD5WMO0KpjAo/RL7q9Csjb/mt6cKAQIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730392677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ruWu/URPa1wHTnl/cw1PZQ0VptPpuSbEM9eLg6Y9cC4=; b=E3VOIlp0cnZqFdDQGz6qPKYVFRne+gqweJD2YBX4xH7o8q1yKtG1fEWPaQw5P8hBze6o2m QCw5NjwAtw0SmGJ+7M+rn2zup1b638EhLVHP5gzznUj2mXr63MInehgMpZMwkpsGaeKu4T 0U/gkHRp5/dCgRoDA0zjwwGryjRNYQRvlC+Pv80/Oic7MKfgp5RE8ZmSCFQhKUPE9G2z3p cd2QsvjZeJNNV1i1PqHke+9v9kbaoQ9GVP+K2Z23/gaVp3fejh8q99Ul4C9jA9mmXkAAUM Q6VL2YhXSwnDUlRxvyeWEh6fmPU5Z9ej0NkmkXCa2trwy/nhgQ9+rvMVh5VRYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730392677; a=rsa-sha256; cv=none; b=r4j3178YqAAQMWgc8wdT7CICdLPq5kBjqwt3h9edPx1QuwAeuDI1NNtVGNCODQaj9v7Boy rGeAmHFVLN0CHjuarDtZmP9Wj/Hm5LaHXlkofHflQ1X5bRgCsYHTT3yTwBr5XejBmEUdja Y+uoWnfVdRcGgwo3NXVXbSgqDx/laBmNZZOCQkjL0wMM06Nqr65NelOQycxGI5GSLQUax/ 2ZeUdImxR3UsPF9P2M3NOZIXumQoLqCuOrVi4FmOQNDtLiPd9hIeR2g30KH5S81CNsHSqI EfUdOzMKYQk8CwA0nJYaSeKDbIj7/ljHQFI58G2rBix6raMAORzrevdz+BqGdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfV6D6H0PzkWN; Thu, 31 Oct 2024 16:37:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VGbujN033737; Thu, 31 Oct 2024 16:37:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VGbuof033734; Thu, 31 Oct 2024 16:37:56 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:37:56 GMT Message-Id: <202410311637.49VGbuof033734@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: b245bcc1460e - stable/13 - neta: improve TCP LRO List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: b245bcc1460ef5ec0b7e97abd45afdb57c4d5bfc Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=b245bcc1460ef5ec0b7e97abd45afdb57c4d5bfc commit b245bcc1460ef5ec0b7e97abd45afdb57c4d5bfc Author: Michael Tuexen AuthorDate: 2024-09-05 15:31:31 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 16:37:34 +0000 neta: improve TCP LRO Use the appropriate function to flush correctly all entries. The old code does not remove the element from the hash table, only from the active queue. Reviewed by: Peter Lei, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46433 (cherry picked from commit 5203dcce2527fd235648e2b855a13f62247eb2de) --- sys/dev/neta/if_mvneta.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/sys/dev/neta/if_mvneta.c b/sys/dev/neta/if_mvneta.c index fa5b9a38ac73..af0d1add0e1a 100644 --- a/sys/dev/neta/if_mvneta.c +++ b/sys/dev/neta/if_mvneta.c @@ -3018,8 +3018,6 @@ mvneta_rx_queue(struct mvneta_softc *sc, int q, int npkt) struct mvneta_rx_desc *r; struct mvneta_buf *rxbuf; struct mbuf *m; - struct lro_ctrl *lro; - struct lro_entry *queued; void *pktbuf; int i, pktlen, processed, ndma; @@ -3133,11 +3131,7 @@ rx_lro: /* * Flush any outstanding LRO work */ - lro = &rx->lro; - while (__predict_false((queued = LIST_FIRST(&lro->lro_active)) != NULL)) { - LIST_REMOVE(LIST_FIRST((&lro->lro_active)), next); - tcp_lro_flush(lro, queued); - } + tcp_lro_flush_all(&rx->lro); } STATIC void From nobody Thu Oct 31 16:38:32 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfV6x02q0z5c0Rv; Thu, 31 Oct 2024 16:38: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfV6w6Ld7z4hGv; Thu, 31 Oct 2024 16:38:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730392712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SdPAFb2eyIDKtuktErwhrjuMGvWRk3S7Fxl/T0018J8=; b=PiWXz1wnFdNbuSyba399ZfVUL0mEvYBH21GSIipSG4Ja/n9gml1B5/VnDuESGsCP6uVZJf l7JXOWbbgdXYTad0AnvPoIRW9iO2GiGZqu6UojL36dxiXApWxnKeQzmGrKiLkO78K8HZ3o 9wR2mC5gWC6QQ1u/ifl/NiWDOmfwivZctt355oAAwfgvhEdKZJdjXKY2YWRVHU96c9Sw+6 ODtwvXF6NLUdTgMnt0tAvaYM9Hcs3WvFVsOqZwGGCAhnG0vy5/GYT6ga2H4Lmb4p2l7RGU J4au4tVCP+GSmTUztsahofoKBwPWXlAEhGZQXQigosOSGsmLm+gAC4xDh11RVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730392712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SdPAFb2eyIDKtuktErwhrjuMGvWRk3S7Fxl/T0018J8=; b=NPnDWIDbUjmX83WWajUxOfUwNm6Kai1cJdSCXxXtMRc8ooOui2D3vUqHkAwkAQjSnMZw5Y HbNXurSlwXYRhwEjFqTNtWctdVXJvSaTQclc9s5+Q+df7D0L/wnoZflr9e3P3b0l2Ca9SW xegslebF7dLwE49+vfTOORVwkALknpXmUkbjFVKughOnWINQQ2MfReIyzXW25QSrNHi+8S kBXK+2YIk3rqcfdq0zh42S7z0KWaCstvO+JH19AOnzFC29/g7fIqBvdm/oIdfImsQTJgfi Zrm3XUj28jtr7OpzQKBb/Itm/S29lruzi3bQCIfdDM5lmzAYwXKRjB3JvIHwdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730392712; a=rsa-sha256; cv=none; b=sJqhvUloZ+rznEeXM8O8GtRtVqgByYR8P0+S/lz5QmJ1uGN2bJIX7j8TzaxJez3G4O7N7p Oc3QO4grACakyfIZ6pIUYPYruKxQgtQQ4bI3uvy7Gd7xDiWRqL1Gh3AgAwG4hN59Y4dZyw jtYw+z26WVALEAGAtHqO7bzbir3K5BrLpfwwL76TRx0qMVqmmt6izQ1/dicsnHKSZhoBsv QT/NhSgnW+eVpX5/FekJuJr67CzxtKmLdw76HSOBS6bGRxMb8q+fF+15tkXaEPAdky2yxL W075SpymwgKHcWZPMcaGFnWWMc26IMSEA28/9oFyC5YJ9VZTrMsUf19qrXAlvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfV6w5rszzjch; Thu, 31 Oct 2024 16:38:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VGcWqk034046; Thu, 31 Oct 2024 16:38:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VGcWWZ034043; Thu, 31 Oct 2024 16:38:32 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:38:32 GMT Message-Id: <202410311638.49VGcWWZ034043@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 822e06011ed9 - stable/13 - al_eth: improve TCP LRO List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 822e06011ed997442a98b9932753bec4697363d1 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=822e06011ed997442a98b9932753bec4697363d1 commit 822e06011ed997442a98b9932753bec4697363d1 Author: Michael Tuexen AuthorDate: 2024-09-05 15:35:40 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 16:38:11 +0000 al_eth: improve TCP LRO Use the appropriate function to flush correctly all entries. The old code does not remove the element from the hash table, only from the active queue. Reviewed by: Peter Lei, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46434 (cherry picked from commit 0b45d36510d8c629fcc49805bc64e5893f4ba63c) --- sys/dev/al_eth/al_eth.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/sys/dev/al_eth/al_eth.c b/sys/dev/al_eth/al_eth.c index 409769b5ee5f..afdf4a160917 100644 --- a/sys/dev/al_eth/al_eth.c +++ b/sys/dev/al_eth/al_eth.c @@ -1585,7 +1585,6 @@ al_eth_rx_recv_work(void *arg, int pending) { struct al_eth_ring *rx_ring = arg; struct mbuf *mbuf; - struct lro_entry *queued; unsigned int qid = rx_ring->ring_id; struct al_eth_pkt *hal_pkt = &rx_ring->hal_pkt; uint16_t next_to_clean = rx_ring->next_to_clean; @@ -1676,10 +1675,7 @@ al_eth_rx_recv_work(void *arg, int pending) "%s: not filling rx queue %d\n", __func__, qid); } - while (((queued = LIST_FIRST(&rx_ring->lro.lro_active)) != NULL)) { - LIST_REMOVE(queued, next); - tcp_lro_flush(&rx_ring->lro, queued); - } + tcp_lro_flush_all(&rx_ring->lro); if (napi != 0) { rx_ring->enqueue_is_running = 0; From nobody Thu Oct 31 16:46:45 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVJP3gWDz5c1dq; Thu, 31 Oct 2024 16:46: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVJP2vRJz4jMZ; Thu, 31 Oct 2024 16:46:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EzifCIJAIO+ynPN6dUDTTICBMZfTEMKkYX5P5tTAbQg=; b=hvAdQkqmhEzAWxUAZmSzPo65KgRW9eHm2NI4XG+vabIOI+pYBtGEEVk9hjvq+55wA/LF4u s9JGkVTrnVuEMdxBP8HYc+NXCepaP/jg+h4a0Jje347vgwMl5Oo63dbiWMQQvuqmQ1r28J k+W1p6JTZ1KqehLLCFCYYS0i9S3CXTFVjn9n2aT5GdiTlKVT/yCagsRAYUhQs2Ax0nfciA CQ62bHLCZUcXRz6b4bZhM0M2bAyZAzHKMl6YG1AThfuR58P9SKZP1CHrOYdynAmEBsN9Lw HMaHnpil2+9WfESJ4t6jwZfuVZFF+vTkA3npumMJo31IeEtHbf34h9jjxhnqGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EzifCIJAIO+ynPN6dUDTTICBMZfTEMKkYX5P5tTAbQg=; b=RNpQLoxsiELEkSvTPflyMtsNHn8s9qr3MrCZst4xSkZyuaihJeWBVOQD1M53IBFz16j3KQ ggM60118741IaAfmVzJ3NER+wZX1gsFoxdI/VPmxdUOFe9v/Uic18+jqbNe/6nWMSSjgVk rKVRF3ag9UZftgCJ1kJeSaI1GHB5vw6HcjBthphO/taxYh/ooBsSmm/rOxIu7NhfJa/APa ivo3zJBRMl1cT+jzAe9lOVJn+Slhjp16N3FPAIxtRyzCXcfNhjauAZpCKLDjApl2MStDOT BB2ss7Z0tdLH4uxyJygtVkevgTBVO0NQWmVjNBl5MxqV4Cbt698NzEIDG/7p1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730393205; a=rsa-sha256; cv=none; b=uZQZm/I5XjGU1HT+kVBHdkrWEfEV7UY2qa9Lj8R/OxaNFqnoQTFXS43BgGMxeCh3HeoBE+ 1D/GpYvTaExLq13NgXANDKo1mXc93PLPkwQrANFTAKTFc52Gr0ntX/cZVCH9fPxkvTLHJ9 yxGh7TjQhsb86s9BTzgPnHy/u09L7P95r009D5v0J8RnCds0n4lH3xgI3zCHauC2k9y9gq /9cy5VR2msJs5Ypjz3/Py13kpdPI1ByJJYFVyAbQqmPzomGV976adjMDv/YvDOsXidDwEm E9Cgn/VPC1RjJjwzYyD7I61tce40FRvpB77WPqGtA5fz7nBXXgWlOLq0Avk7nw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVJP2VhQzkrt; Thu, 31 Oct 2024 16:46:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VGkjNH051479; Thu, 31 Oct 2024 16:46:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VGkjX2051476; Thu, 31 Oct 2024 16:46:45 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:46:45 GMT Message-Id: <202410311646.49VGkjX2051476@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: c7e7794e9546 - stable/13 - MAC: improve consistency in error handling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: c7e7794e954604048ecfe9468237b2bb3d95bd1c Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=c7e7794e954604048ecfe9468237b2bb3d95bd1c commit c7e7794e954604048ecfe9468237b2bb3d95bd1c Author: Michael Tuexen AuthorDate: 2024-09-26 06:02:06 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 16:45:49 +0000 MAC: improve consistency in error handling Whenever mac_syncache_init() returns an error, ensure that *label = NULL. This simplifies the error handling by the caller. Reviewed by: rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46701 (cherry picked from commit 3f2792166aeed4baf07d351bcb12a9d196c443eb) --- sys/security/mac/mac_inet.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/security/mac/mac_inet.c b/sys/security/mac/mac_inet.c index 231887e4e73c..c88d573719a6 100644 --- a/sys/security/mac/mac_inet.c +++ b/sys/security/mac/mac_inet.c @@ -474,6 +474,7 @@ mac_syncache_init(struct label **label) MAC_POLICY_PERFORM_NOSLEEP(syncache_destroy_label, *label); mac_labelzone_free(*label); + *label = NULL; } return (error); } else From nobody Thu Oct 31 16:49:03 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVM413BXz5c1QC; Thu, 31 Oct 2024 16:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVM404tHz4jXR; Thu, 31 Oct 2024 16:49:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RL2EewRvBHVxBaGSA0xyl2nI64IeyFAMPTsQfGOQK0o=; b=YXynFwmnBoaomaA8MXEwSnB6Z2WnqN4wnh6QCa4pQGp1F6mBeR+KiPwbEFjivfhO12HiEo CqdL/TmUr45UI/a+qayqQtEFgntzPL/pSGn3jya1651iTzQ8Bq3F2Z7437W2PwnSDUMG8T TTTJT2uh9m1Nzn+vv3NleLGYPOHM7C2OiIpAeUGFLDY00+oGLIwpJStlPFNkdNqkjkg5Ve fNB/9Zt9Y++czBa3QkohkLLLosUzMLzef/HzmHOW4zb98LZCQYLv47AIammWgVlkZ6X8sw D0725x9lalJguy8ncgdQ1bDYFlk3r+dx2/1hDpO0oW9FOGx930ZFZQ2trAebcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RL2EewRvBHVxBaGSA0xyl2nI64IeyFAMPTsQfGOQK0o=; b=Nd6ILwQuaKNdUkMwrXGcxWPcDxPPc43OaT0WRNQwqFMVWGLNncl9SwwyjSclOuJrulomN6 iwIbP9aUTBUENH0GS4IL+jOFiZcqxtMYzt2kvTgmtLA0dYkPW+WsZUETS6phS+I1JaZJic Z/7EZruRkiLoGY/y/iuhCi4g32IDXneXISo+rUXzRF20omh9GgmIe16KLDXlnwpVU812kk XmOVyAbzMVLZGvEzzyzVYnVr8LWCljqIkD8TVxmXjgJ/XQPNgvM/VeWsiFZttXblZGDBbs jz4pDRWr01kvIWhkJFNIszLGDMDb3dT5JBsUW3l9yVVR8mdPrWyht+aF14dvVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730393344; a=rsa-sha256; cv=none; b=e5i35JzcDsp7ern+Fga/Mz1QMgLjAHnT6YBs84nebVP563HPRyr9se+C+/RyK9uodVdQVI n04+zjvQUoV48bIQ0Q2MtR2jXbbNZSvVoOYbAfISaoFwog6ee+MNdB6VmcCcDWktIYqHtv uGP6iA0jMiQydxiVGfAG1lCRrh973ABsqCoamLtcyxTPAZGnoiww2B7wD5ebM3c6JQzUKm L+i7JrW/erDm6HxSJakLCWc2DaIOBqlQjz+R3gszL4hdB32iugVBu3JssVk6DSpDVwSlA5 Hbw66mPv2AvQr8Z8hFO6zy1dLjCQFyPJ8AT8PEYGg+Chlb4eqcELWNi+vNu0YA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVM36p0gzkLQ; Thu, 31 Oct 2024 16:49:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VGn3pZ052274; Thu, 31 Oct 2024 16:49:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VGn3h3052271; Thu, 31 Oct 2024 16:49:03 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:49:03 GMT Message-Id: <202410311649.49VGn3h3052271@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 6421a70e6238 - stable/13 - MAC: improve handling of listening sockets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 6421a70e6238833fed219c756fbe0b914282ff7b Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=6421a70e6238833fed219c756fbe0b914282ff7b commit 6421a70e6238833fed219c756fbe0b914282ff7b Author: Michael Tuexen AuthorDate: 2024-09-26 06:06:24 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 16:48:38 +0000 MAC: improve handling of listening sockets so_peerlabel can only be used when the socket is not listening. Reviewed by: markj Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46755 (cherry picked from commit 2fb778fab893b4a8a86ecfa20acf2e23bb2cdae8) --- sys/kern/uipc_socket.c | 5 +++++ sys/security/mac/mac_internal.h | 1 + sys/security/mac/mac_socket.c | 19 +++++++++++++------ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index bcf0ad2ade2c..9cbc5c1f2f7a 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -151,6 +151,7 @@ #include #include +#include #include @@ -936,6 +937,10 @@ solisten_proto(struct socket *so, int backlog) sbrcv_timeo = so->so_rcv.sb_timeo; sbsnd_timeo = so->so_snd.sb_timeo; +#ifdef MAC + mac_socketpeer_label_free(so->so_peerlabel); +#endif + sbdestroy(&so->so_snd, so); sbdestroy(&so->so_rcv, so); sx_destroy(&so->so_snd.sb_sx); diff --git a/sys/security/mac/mac_internal.h b/sys/security/mac/mac_internal.h index d1ee1af09c0b..4b2be98b4e03 100644 --- a/sys/security/mac/mac_internal.h +++ b/sys/security/mac/mac_internal.h @@ -242,6 +242,7 @@ struct label *mac_pipe_label_alloc(void); void mac_pipe_label_free(struct label *label); struct label *mac_socket_label_alloc(int flag); void mac_socket_label_free(struct label *label); +void mac_socketpeer_label_free(struct label *label); struct label *mac_vnode_label_alloc(void); void mac_vnode_label_free(struct label *label); diff --git a/sys/security/mac/mac_socket.c b/sys/security/mac/mac_socket.c index c21f4e148076..da84f2e45fd5 100644 --- a/sys/security/mac/mac_socket.c +++ b/sys/security/mac/mac_socket.c @@ -170,7 +170,7 @@ mac_socket_label_free(struct label *label) mac_labelzone_free(label); } -static void +void mac_socketpeer_label_free(struct label *label) { @@ -185,8 +185,10 @@ mac_socket_destroy(struct socket *so) if (so->so_label != NULL) { mac_socket_label_free(so->so_label); so->so_label = NULL; - mac_socketpeer_label_free(so->so_peerlabel); - so->so_peerlabel = NULL; + if (!SOLISTENING(so)) { + mac_socketpeer_label_free(so->so_peerlabel); + so->so_peerlabel = NULL; + } } } @@ -616,10 +618,15 @@ mac_getsockopt_peerlabel(struct ucred *cred, struct socket *so, buffer = malloc(mac->m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); intlabel = mac_socket_label_alloc(M_WAITOK); SOCK_LOCK(so); - mac_socket_copy_label(so->so_peerlabel, intlabel); + if (SOLISTENING(so)) + error = EINVAL; + else + mac_socket_copy_label(so->so_peerlabel, intlabel); SOCK_UNLOCK(so); - error = mac_socketpeer_externalize_label(intlabel, elements, buffer, - mac->m_buflen); + if (error == 0) { + error = mac_socketpeer_externalize_label(intlabel, elements, buffer, + mac->m_buflen); + } mac_socket_label_free(intlabel); if (error == 0) error = copyout(buffer, mac->m_string, strlen(buffer)+1); From nobody Thu Oct 31 16:49:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVN14KWZz5c1lr; Thu, 31 Oct 2024 16:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVN13XHZz4jl6; Thu, 31 Oct 2024 16:49:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yPzh4t+AObM4djCyeWQbPl1DfADn6QCVmfJ/unv5Gbk=; b=t0Dhwtd038gbpaX65/YBDeh6oo8igJhJoKZf6P9dV/6MGRM3sz/vDDHSscVoBy5eSgpV09 U9yWcftW2P3AoOVmtsOA56gpq/+W+8ryJxwb4rHQE+AqwsEghJ7fnNCYPF7oJEnDBf4cX7 j8wOjWn1wQJULEIS9oh6Yy6pdR0v96Dji6khvvV/BTiapaiNgfW5Dorv6ZLrdzuHc8fRe0 Z/A9iIUtOl7KJBROwv/hnRge04Bgvm6lFI7SRBPxJCfMUJa8y2bNVudjegJYVcu6apbXlt zi9/q7d63vSjevTwSbDjnQe5BQ8Vz92n40ycAF6/8+DS6dQ2N9Z3wbLXWe06Zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yPzh4t+AObM4djCyeWQbPl1DfADn6QCVmfJ/unv5Gbk=; b=SNdaPTbGAR1Jy3R6q1CtWRKoJbzsI+YVJbWDmQOY2NqzHAXT1yCNfeUDevdxWRniEODcif B/q35FJFPsH3LoMIHoiuiA+upkB8pD/OOsvJ0vRP893aSN/HrFucjgwiEOhB7c2cSB4wkJ GKWksacBprw7M8gOHnB2sWJciZVGwn2puogJKgeXY15Mt/awwv1R/iTbjgdPHEZNweOItS jTZS8JzXb5VTJk6uAoYlp7cRsa3SA6WpC/St+nvX9MfDeMldTaNxuOPlqj3f6E/qePPASl UnNGmHnk+ZSMpjBZq6Bf1QUKCCL8dXkUJRnSNRGNLC2N/P5tXJK7kcuZYsv5FQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730393393; a=rsa-sha256; cv=none; b=cZYMP5kEIUwBIIsJFUYyfkHFU/DXPBW3s5I4fc7FgD/OtGrpXFNy7st6E929/6bmXVquWS nluCk6KMeTYpNaZRRthysgvjUaqKnBwXZ7/b7pVuAw4rplMXk5whIDY/+ca9yZEtXE/xdg zSMVuundsodhE5WW3rHVyphwXqWT1Fz2oDa8KK3gGj1DBe8S+KYTqAt1f/2FygIxwZ6+Lp KZ224ctH3vDsKbdk83wwM+9Tst47hrSJ1Wwtl6eMtBm5thsGBRDf4nQRG6li03D0YexG3p 32CxmVnegYTJkJD4SitoIgKx23YQc2hi58SDcPd6m716/xM+cO8DWeF44l1gJw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVN137TfzkZS; Thu, 31 Oct 2024 16:49:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VGnr6N052781; Thu, 31 Oct 2024 16:49:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VGnr2R052778; Thu, 31 Oct 2024 16:49:53 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:49:53 GMT Message-Id: <202410311649.49VGnr2R052778@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: cdd0ab2374a0 - stable/13 - tcp: improve MAC error handling for SYN segments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: cdd0ab2374a033dadefefab94977aaa38a4af57f Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=cdd0ab2374a033dadefefab94977aaa38a4af57f commit cdd0ab2374a033dadefefab94977aaa38a4af57f Author: Michael Tuexen AuthorDate: 2024-09-26 06:10:01 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 16:49:27 +0000 tcp: improve MAC error handling for SYN segments Don't leak a maclabel when SYN segments are processed which results in an error due to MD5 signature handling. Tweak the #idef MAC to allow additional upcoming changes. Reviewed by: markj Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46766 (cherry picked from commit 78e1b031d2e8ef0e1cbc8874891f5476dc7868bc) --- sys/netinet/tcp_syncache.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 111f591c5851..d4e21edc1713 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1408,7 +1408,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, int autoflowlabel = 0; #endif #ifdef MAC - struct label *maclabel; + struct label *maclabel = NULL; #endif struct syncache scs; struct ucred *cred; @@ -1806,10 +1806,11 @@ donenoprobe: tfo_expanded: if (cred != NULL) crfree(cred); + if (sc == NULL || sc == &scs) { #ifdef MAC - if (sc == &scs) mac_syncache_destroy(&maclabel); #endif + } return (rv); } From nobody Thu Oct 31 16:55:03 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVTz5w4Kz5c2QY; Thu, 31 Oct 2024 16:55: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVTz3gHHz4kmr; Thu, 31 Oct 2024 16:55:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fv87ny5AGY9WksmTKb5p7IgCmFGnyWMUSNDxf6VIDBM=; b=d0/LJ6ppur3AXk2zEZ/TXloorluDZ5vSaBAZqoMNEfxaipEHHSvq9+SbaHGMjLeBNniDFg iE/Ui6pPPKeCUSkxVl+EeJXhVapnNPo5pyz1YmaeUPWTR9fyDa5xh1wAASmniv6hQW903c TLUruRrw8aLZwUqX1QMru2kj6Po4PRCrlArp9CUNmNzYCMRqNvGR+9RAKCpqmFMs4vzHSn 4aHKs8PrSgCLA2wKQD8GswIonGuD330leS7JwF8NWNqeK4IY7ngX17//el5lI05GtyWtq3 S2D3M7my66yyqvRFCRz2WdblGT0hMTLmDwI0UGIk6KTjgrk9gYFxAYD+LlfFMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fv87ny5AGY9WksmTKb5p7IgCmFGnyWMUSNDxf6VIDBM=; b=IwqrUgRdaGf5Q2GPlZqSZrlLaSVHTN0JxEQ4LfqK5TFIsrnVdQzjNR1GRog0BkkYoIqhYa uywVkW0CKe+0XC1vja9LhCHzgDl51zuKdRfgHamWZPGzqQZidhKzDtvzELg83Pz66srGE5 j1VVfTq0WBbYPNbbwj+CL64JpiU87lj4DAM6z5u0cOKOWFqESLPmljSK1kE1C59GYUYLz8 i5BAwKdHNDiDn2oP/i7RjUpUklnTQGCY/QKItGhjvL8o2TAQUf4WkkUW3MXpqgu1LFr9O4 DfoifUs0+X1cf2+XZ6WQYR2ZOfYKqJC+qDlbYU+f5qVB6QaOaneePq74GFkn3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730393703; a=rsa-sha256; cv=none; b=xi7U1aKnqLz1s0D6yLus0NeeNqNFH4zjFuUmSeVwCGX7S5ZuQWyld/PMqLQzBNhIc1YJ/h wiH7TTJTYai6/yhW9IpCAkUQ/X5Q/k+IjU3e7UM1qXCvT8d6Ajfg7zyM/9TAxfAj5QGn3i 49rtWsi1RaUWAYPjemG088iLRIqbzlZTjKsfPl0U3kXh6g57aCWLEZe1L6G0Gbk2AtEtY9 WZRFd814p3j6pdXOLgGdgbh9tlKmp956axwa46M7uVdYeLI+UH4ZnjwkKVL+6yvtbC9i4O uOToJSeql7PIdg9Zi6PufT8iC03IPzbhXeR86rfpT4BWx3nuRbTvkkjVEAoY7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVTz2zSDzkq0; Thu, 31 Oct 2024 16:55:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VGt3GY070521; Thu, 31 Oct 2024 16:55:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VGt3JJ070518; Thu, 31 Oct 2024 16:55:03 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:55:03 GMT Message-Id: <202410311655.49VGt3JJ070518@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eric Joyner Subject: git: b8ab635de4b5 - stable/14 - iavf(4): Get MSI-X BAR index at runtime instead of hardcoding it List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: erj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b8ab635de4b5cac9eb91dff57e9457d7d1f7f533 Auto-Submitted: auto-generated The branch stable/14 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=b8ab635de4b5cac9eb91dff57e9457d7d1f7f533 commit b8ab635de4b5cac9eb91dff57e9457d7d1f7f533 Author: Eric Joyner AuthorDate: 2024-08-30 00:58:55 +0000 Commit: Eric Joyner CommitDate: 2024-10-31 16:54:24 +0000 iavf(4): Get MSI-X BAR index at runtime instead of hardcoding it This allows iavf to load on E830 devices since those devices place their MSI-X BAR at a different location than in previous 800 series products. Signed-off-by: Eric Joyner Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D46952 (cherry picked from commit e53a21abdf2953714e44e3c54b4bb78557cb096c) --- sys/dev/iavf/iavf_lib.c | 7 ++++--- sys/dev/iavf/if_iavf_iflib.c | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/dev/iavf/iavf_lib.c b/sys/dev/iavf/iavf_lib.c index f80e3765448f..3116ce0501c2 100644 --- a/sys/dev/iavf/iavf_lib.c +++ b/sys/dev/iavf/iavf_lib.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause */ -/* Copyright (c) 2021, Intel Corporation +/* Copyright (c) 2024, Intel Corporation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -1479,10 +1479,11 @@ iavf_update_msix_devinfo(device_t dev) { struct pci_devinfo *dinfo; u32 msix_ctrl; + u8 msix_location; dinfo = (struct pci_devinfo *)device_get_ivars(dev); - /* We can hardcode this offset since we know the device */ - msix_ctrl = pci_read_config(dev, 0x70 + PCIR_MSIX_CTRL, 2); + msix_location = dinfo->cfg.msix.msix_location; + msix_ctrl = pci_read_config(dev, msix_location + PCIR_MSIX_CTRL, 2); dinfo->cfg.msix.msix_ctrl = msix_ctrl; dinfo->cfg.msix.msix_msgnum = (msix_ctrl & PCIM_MSIXCTRL_TABLE_SIZE) + 1; } diff --git a/sys/dev/iavf/if_iavf_iflib.c b/sys/dev/iavf/if_iavf_iflib.c index 714d34eeebe5..d460df6e0d25 100644 --- a/sys/dev/iavf/if_iavf_iflib.c +++ b/sys/dev/iavf/if_iavf_iflib.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause */ -/* Copyright (c) 2021, Intel Corporation +/* Copyright (c) 2024, Intel Corporation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -370,7 +370,7 @@ iavf_if_attach_pre(if_ctx_t ctx) } scctx->isc_rxqsizes[0] = roundup2(scctx->isc_nrxd[0] * sizeof(union iavf_32byte_rx_desc), DBA_ALIGN); - scctx->isc_msix_bar = PCIR_BAR(IAVF_MSIX_BAR); + scctx->isc_msix_bar = pci_msix_table_bar(dev); scctx->isc_tx_nsegments = IAVF_MAX_TX_SEGS; scctx->isc_tx_tso_segments_max = IAVF_MAX_TSO_SEGS; scctx->isc_tx_tso_size_max = IAVF_TSO_SIZE; From nobody Thu Oct 31 16:56:40 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVWs1yKvz5c227; Thu, 31 Oct 2024 16:56: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVWs12SXz4lCG; Thu, 31 Oct 2024 16:56:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393801; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lHHUsjL1yzRHAQQ9hyNohATG0mBEAKeeuRn8NjCw0dw=; b=ccbK8HnKrRiVUhS7Yr2VzefzcoqPI7ZFD5I994w+oIishCdkvlFvTf1b2pDKg1pCvA4L9P OcjZew+DAATiC8gPcBeNinFb5AmwoixP0CfEhmStyv/mrwtgiLm2QECb3h2vQ13EkFnBNU zrXZm8/z0KauwT040FipN/te5UuzsgqAdBMjGlpf0/Y7SH+z1R6J2ORUxLRQZoh6Uac69Y QTVjS89zJsksfmb9Ej7l70gwIa/HmNh2SNLShRiTrzo9ZEI5BT0yrSdinmPxaiAdbvRwJ3 xENvR4m+eXYEpS6iW79Au+/lk9mT9k53jY5F/zZn6Ha18STdPMLLxiMA8vYuuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393801; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lHHUsjL1yzRHAQQ9hyNohATG0mBEAKeeuRn8NjCw0dw=; b=I14f7Ox8SgzW+MY/7CBY+HWvgkftwTdz14pLcf9dsM7SuYO7n6w2nCBOJxoWYQhynW07H3 A9BsOr0SwqRHhTondMAjkGkqiwjM4qDDWwNmooGM5+tog0AwS5Ciuwkf0LAIjPsy2FwuzD +vuQ3YkNdJlNDx8Ax23P0GKddXbySF9p5eyupPAhfjf/mdBjGIEg2V3qjsU9Bi/pLCIscZ 3ibkyLf/25zeqIZH2wxaSrEV082qFEHHoom69gnzDq20OGhO0CQR2I9eSFH3+5q88+8C0M TU27lBTgJLVjKKFP65dm6S7Nkcl4VOwvc2KlgBHrCidcr31uSJV56YE8RKA+uQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730393801; a=rsa-sha256; cv=none; b=lsW8CcPxMiX9LpOw7MZn0ucPX5XetI/OOqbG+JUXXpUd/LJjI9gDptLI14qTeNduCsfIK6 CZZUTAVyAuhifUqCBNrmZH4IUpe5Y1RA+hoKNfSdGeCNHwEVhELLWx2lS82HCHlZjH2tZP FKPJug/JAHC/8jlhYsQHLJO7ncrjAirAX59rYKampiPieUQtKf/V6x0e332CIBwaW6VpqQ GVmd3y0E/3yapQgr4NeDuPMxOvIIxTxXNB4WqxStjAU9kVvAofmL4gJFpMMAcF2Wf/153E 5FCtvorkqG7TROIDpq1S1RtY41i9dB1GI5Egb2E86yNXMesvKbuME4nj8sdMCw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVWs0dphzkq1; Thu, 31 Oct 2024 16:56:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VGue31071213; Thu, 31 Oct 2024 16:56:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VGueqE071210; Thu, 31 Oct 2024 16:56:40 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:56:40 GMT Message-Id: <202410311656.49VGueqE071210@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 5414cef63485 - stable/13 - tcp: whitespace cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 5414cef63485efd305466233e317facb33665287 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=5414cef63485efd305466233e317facb33665287 commit 5414cef63485efd305466233e317facb33665287 Author: Michael Tuexen AuthorDate: 2024-09-30 17:53:57 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 16:55:56 +0000 tcp: whitespace cleanup No functional change intended. Reported by: markj Sponsored by: Netflix, Inc. (cherry picked from commit a2e4f45480c248036b002904ddbceef20ba7c523) --- sys/netinet/tcp_syncache.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index d4e21edc1713..4544788e8318 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -233,7 +233,7 @@ syncache_free(struct syncache *sc) { if (sc->sc_ipopts) - (void) m_free(sc->sc_ipopts); + (void)m_free(sc->sc_ipopts); if (sc->sc_cred) crfree(sc->sc_cred); #ifdef MAC @@ -1563,7 +1563,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, * forget it and use the new one we've been given. */ if (sc->sc_ipopts) - (void) m_free(sc->sc_ipopts); + (void)m_free(sc->sc_ipopts); sc->sc_ipopts = ipopts; } /* @@ -1647,7 +1647,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, __func__)); SCH_UNLOCK(sch); if (ipopts) - (void) m_free(ipopts); + (void)m_free(ipopts); goto done; } } From nobody Thu Oct 31 16:58:29 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVYx3YPQz5c229; Thu, 31 Oct 2024 16:58: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVYx2k0dz4lV5; Thu, 31 Oct 2024 16:58:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UIhUPp5tXoQqKxlxmnURdXQLCx0qY7/9NYbFkVXTHLE=; b=Xuv0mKLe2kOkRclQJ0vmZJBduEZWcYWlKcTDRst/TkgeDsqVZDzuji92jZWEvGgCoeswHw fSs0Q7tGDblMcwMYGlf/KzGMjMReO8cmVACw05kYPJrbU+AKZxIbn3VDM43x05ZKLXCHo4 2+ciNnJeDCsLy4R1GCQM/shM2XSOK6Zhfcve3jgp98N1VBgOmn/Mj4q20DWq6aWlOjfWVI OmNtDPefvIgNONb+fad8ohsA25DYsvtT+Wcqe9ZOIeZpa3mVA4Y1i2U3a0JX0OSnpiWIOg LP+n+EsMtlZye75mnFLrPsbSt92rBWoVwRC6a7sPfYYSWReDXXjZCX6yLx/e8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UIhUPp5tXoQqKxlxmnURdXQLCx0qY7/9NYbFkVXTHLE=; b=vauXokaDH3b964ERJ5s9leYr+Ev7yMmFc4bYz8vhQq0Wna04GFbWltbxq6+PMQ/OvZST9K QcjQGgZxqeuAymYxyPMBi0PBvrJS9avdYHT6bT6rQBlcLTUQio/E+AAfFfI+SqnF3n9OVi V55R0/9C/fhyw6caqQTCOf4H87P+Bb5+b9iTZWEF7/62UACw8gNKYl0+VhLJpqVjx7FdHq swnpsBDHybJb0oEq5iyqJ0BD1XPw0+tI0ehnL/YBKps+J9JhPjOw2cTxJ4ojJbxZCaF40S ociyLskv9RJB/uhqrLPwxyJfN9Vx4EK7q+CxEW0z7ZmlKlpKdc451UX7pRlNaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730393909; a=rsa-sha256; cv=none; b=EDzkxRXdnuZvBL9H3lXsDHrIMUawy3UV0IHVVWNVizj9Cr189nvl4aQMa4vsaJS9u+IW0c ZjvKhW4QL0UbF9a12shHtprTgW/4fdcS8ExiDqDT5KriHfWfYXD/tlFkjw6Q1tUNatcLy0 wv3tUx5LU/bad/NV3OgbV6bcJb+1IDUiystGlzJPIEL41bXB3JbaJEByFsRo7q7ys/VOfO xAyt+UvXg9MigYXiJv2vjHhktpVuHwMguXBo1yrWMGLttAHZpi8+awQ2TsbTPyYfaDj3Oj WV/wGIirbw4t84YtHy1rIhnEqUkpBTVNsmENG1nH9b+P92YlHji+bgT1NPqrnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVYx2GHlzl4f; Thu, 31 Oct 2024 16:58:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VGwTuo071932; Thu, 31 Oct 2024 16:58:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VGwTdh071929; Thu, 31 Oct 2024 16:58:29 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:58:29 GMT Message-Id: <202410311658.49VGwTdh071929@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 7174ef705c03 - stable/13 - tcp: improve mbuf handling when processing SYN segments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 7174ef705c036b5a47e4d4903f57ddc005465b0c Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=7174ef705c036b5a47e4d4903f57ddc005465b0c commit 7174ef705c036b5a47e4d4903f57ddc005465b0c Author: Michael Tuexen AuthorDate: 2024-09-30 18:00:04 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 16:57:58 +0000 tcp: improve mbuf handling when processing SYN segments When the sysctl-variable net.inet.ip.accept_sourceroute is non-zero, an mbuf would be leaked when processing a SYN-segment containing an IPv4 strict or loose source routing option, when the on-stack syncache entry is used or there is an error related to processing TCP MD5 options. Fix this by freeing the mbuf whenever an error occurred or the on-stack syncache entry is used. Reviewed by: markj, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46839 (cherry picked from commit 01eb635d12953e24ee5fae69692c28e4aab4f0f6) --- sys/netinet/tcp_syncache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 4544788e8318..b5b7e90ebefd 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1646,8 +1646,6 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, ("%s: bucket unexpectedly unlocked", __func__)); SCH_UNLOCK(sch); - if (ipopts) - (void)m_free(ipopts); goto done; } } @@ -1810,6 +1808,8 @@ tfo_expanded: #ifdef MAC mac_syncache_destroy(&maclabel); #endif + if (ipopts) + (void)m_free(ipopts); } return (rv); } From nobody Thu Oct 31 16:59:15 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVZq70qlz5c2Cw; Thu, 31 Oct 2024 16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVZq4rzjz4lT1; Thu, 31 Oct 2024 16: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=1730393955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EWj6IuxrCIOp8C7re8bnAKCKqlG+RjI6+/iUpHHHy1s=; b=bz5pFzTDWKUa4jUSRflQ9o1ZMB/q8GtK875kDl334Bi/p7/bfuwUnBkysUTKEMAWOv1HZw wbegUuMhtHU7N1boV7pcRtmkvBn3KT5cMqvsgCX+jPxb0cRSPkdQ/hGpamtXMknLY2eiHY lDLIusgO/3DdkdKDzxLpFzTzaIwE2P1zltVGdPMpTbJhdv3xLqTvF2xMlVWLXGLJu1I3aE XUa/e1rI3l8Z33ELc/nORTSu2x44sk0FpWU6j/QprNYVEedlkkocGNTvG4qzMP1OISnPDH EL4h/BEdFYU9LT7K7GmN6zoZXBaamfBtSn5+PloJ9Pt26yKFHH/dAZOfgH5gVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730393955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EWj6IuxrCIOp8C7re8bnAKCKqlG+RjI6+/iUpHHHy1s=; b=JAvh912AyU26sta/93IRxZw40EJdc5mVfYzwwIp2p6qikf/My2k+KS2wdbEcNrGe3Se84P 3Vu/Mx8f6UgVgtW86oEJmZLqMXxh4rhsCLBDLKGG7WP2yid0vyS533jSXXZrCPnkMGL3I9 aEp9iDo7SQXH2Im14EvsXP7ISz5MdgwXprGj6H20w2LlTumGH7DFB/BD77TcBj695bHlJP ipyxCv7X9RXeivk58vsUo13YGY0lu6MZzdQOZByhKt7dsMlIKKwAcl7HGmUjlB2XQT6aRz +cRvwv/cfn+k53Wm9Z5QRMJ8W65KpkPY3rhyutuVSV0AaClOeMs5y+zp0Yp9Zw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730393955; a=rsa-sha256; cv=none; b=QnV89+sh7b6ov5mM1esrNUP9w4ztJfKaD/zDi51vsLFhnFugeCgDsm9ay2+Z/gdU4HeYc9 9S0hqiGSxNTsh444jvf9wMYhQm73wmtYrygeHMS5RH+2aPaV7l800/3NmCpoOgZLuhKRES cUW4fb7cnkrfUEY7yb0HoUAmY3PQGLsvy09kKsxbV90jK9o7XUhXkhBv77bK9+2+P0bu0v XGmeyUg0kFoz7TVqeJg+D8SLWp+uqasIXx3AMmde4aadaV7Z6SVsgFJZG2D4E398B5KDjv D7trPR5zIl7HSKVM/t6UizRziBYRBJRqnsRDperP6CMWF8ia5QaIdmEY5SskTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVZq49LGzkbJ; Thu, 31 Oct 2024 16:59:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VGxFCN072284; Thu, 31 Oct 2024 16:59:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VGxFdw072281; Thu, 31 Oct 2024 16:59:15 GMT (envelope-from git) Date: Thu, 31 Oct 2024 16:59:15 GMT Message-Id: <202410311659.49VGxFdw072281@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 5818c74e34a8 - stable/13 - tcp: small cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 5818c74e34a8e5139cda8d57cea51b23d24dfde5 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=5818c74e34a8e5139cda8d57cea51b23d24dfde5 commit 5818c74e34a8e5139cda8d57cea51b23d24dfde5 Author: Michael Tuexen AuthorDate: 2024-10-01 15:32:18 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 16:58:53 +0000 tcp: small cleanup No functional change intended. Reviewed by: cc, glebius, markj, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46850 (cherry picked from commit 2eacb0841c7dfc92030abc433e53cd31383a0648) --- sys/netinet/tcp_syncache.c | 59 ++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index b5b7e90ebefd..f3d7d626b7ca 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1609,49 +1609,46 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, goto donenoprobe; } - if (tfo_cookie_valid) { - bzero(&scs, sizeof(scs)); - sc = &scs; - goto skip_alloc; - } - + KASSERT(sc == NULL, ("sc(%p) != NULL", sc)); /* * Skip allocating a syncache entry if we are just going to discard * it later. */ - if (!locked) { + if (!locked || tfo_cookie_valid) { bzero(&scs, sizeof(scs)); sc = &scs; - } else - sc = uma_zalloc(V_tcp_syncache.zone, M_NOWAIT | M_ZERO); - if (sc == NULL) { - /* - * The zone allocator couldn't provide more entries. - * Treat this as if the cache was full; drop the oldest - * entry and insert the new one. - */ - TCPSTAT_INC(tcps_sc_zonefail); - if ((sc = TAILQ_LAST(&sch->sch_bucket, sch_head)) != NULL) { - sch->sch_last_overflow = time_uptime; - syncache_drop(sc, sch); - syncache_pause(inc); - } + } else { sc = uma_zalloc(V_tcp_syncache.zone, M_NOWAIT | M_ZERO); if (sc == NULL) { - if (V_tcp_syncookies) { - bzero(&scs, sizeof(scs)); - sc = &scs; - } else { - KASSERT(locked, - ("%s: bucket unexpectedly unlocked", - __func__)); - SCH_UNLOCK(sch); - goto done; + /* + * The zone allocator couldn't provide more entries. + * Treat this as if the cache was full; drop the oldest + * entry and insert the new one. + */ + TCPSTAT_INC(tcps_sc_zonefail); + sc = TAILQ_LAST(&sch->sch_bucket, sch_head); + if (sc != NULL) { + sch->sch_last_overflow = time_uptime; + syncache_drop(sc, sch); + syncache_pause(inc); + } + sc = uma_zalloc(V_tcp_syncache.zone, M_NOWAIT | M_ZERO); + if (sc == NULL) { + if (V_tcp_syncookies) { + bzero(&scs, sizeof(scs)); + sc = &scs; + } else { + KASSERT(locked, + ("%s: bucket unexpectedly unlocked", + __func__)); + SCH_UNLOCK(sch); + goto done; + } } } } -skip_alloc: + KASSERT(sc != NULL, ("sc == NULL")); if (!tfo_cookie_valid && tfo_response_cookie_valid) sc->sc_tfo_cookie = &tfo_response_cookie; From nobody Thu Oct 31 17:00:02 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVbk5Z0Rz5c2bN; Thu, 31 Oct 2024 17:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVbk4C8fz4m2x; Thu, 31 Oct 2024 17:00:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pfJQ9mJ3a+AKf2c3Zx7nNrl7c5ucvrZizhzBw+LEjT8=; b=jGT/P3eHtuuS4h4ToljZXmOQy4vwC0FMXl7xlfCzIpI3eRuANb1jHk5m6nZVS6tc1hJk4W t0lm0W54GcrGWW4kIiDUGRYzM/Z9KSh4QZ6NtiMGYNzLkzDow3jYXeRWYXicoThR70ZzaN DXhdk9M86BBBwsmU6jE0N1u2HYt/AKqjIwXeiIX5REDaMJ7CIyXhvWDUdhY0P45ReZIuzx xGeUO7Oxl3FL4ue1RmBrZRNfVm0Jd7B0Sz1SLJCxSieai/Zw7+Zo3lfETcaBzNA1yY2xCc vXecwvKEhlHYxuVaYZgGMRQ8uxkaQqYqAbyBQ+IdIcW+yz2Nl0gZG5la+ogffQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pfJQ9mJ3a+AKf2c3Zx7nNrl7c5ucvrZizhzBw+LEjT8=; b=mFErq6jeCuYa/7DWFghkYvWVsOoRR3yrX+/qeGJIJwHfXecdTcaRzSRyPnuixn75M3NQiQ JyT9VuejiyZ/RlBv+jkPkGUPhwT3yjBZIHNvD88ic5VQEcQw2KEa6+YBEV0g+VlZxz0jUH PYaVzsOaozz2MKPLnD5dERevI0+F5d65YwRtIVJUbx9q5Q7xUClUM5KfqzRx2PKofv+JAM uJMJPxjmHH5LfsOTJo9LfhkebKFIoGexXv5YslgOm392Iq7o4LZ/DM0touPskXlUCc0GMR tIIkeSxezQtTsCWcZGddyViuMbH23L36v+CKBZSnqTNQrXc8gnYvjQOKspp0Nw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730394002; a=rsa-sha256; cv=none; b=DNcXXHZSY2Q6Nw/4CioFA4QT7QQr6UpdujOw6JsCheax2AOXH3cTM4kRs7ljrg1NymfYDJ C3L+NI0bi9UtcCpUTq2icvtbXL4RxWg9PcZ+Zv7wZo+aR/Xl7KBE0nEB4dLJN+1W6vXL+H 574O+O8kUsLSgJWXfA5tAchfi+ho7FGdS940HDsotLTVjoC6A85JeYip6JrJjpC+znDcpq IRTS27nqS42h1F1e/Wdmnkk+6kaBu6iz0w+kLVD6Z+lIMF0xIyFqIfOgQUZis+fH1fqAmP zjR4ErjalJKqjP3Bpy78EwjLrqrACpFVwwns6lIJxlaT2nNy7G4nyeqQE7Q/5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVbk3hw9zkq3; Thu, 31 Oct 2024 17:00:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VH02bu075496; Thu, 31 Oct 2024 17:00:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VH02S7075488; Thu, 31 Oct 2024 17:00:02 GMT (envelope-from git) Date: Thu, 31 Oct 2024 17:00:02 GMT Message-Id: <202410311700.49VH02S7075488@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 6fb92db1b362 - stable/13 - getsockopt: improve locking for SOL_SOCKET level socket options List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 6fb92db1b36221e7025f36085ea04aca1561ca58 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=6fb92db1b36221e7025f36085ea04aca1561ca58 commit 6fb92db1b36221e7025f36085ea04aca1561ca58 Author: Michael Tuexen AuthorDate: 2024-10-07 14:46:41 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 16:59:34 +0000 getsockopt: improve locking for SOL_SOCKET level socket options Ensure SOLISTENING() is done inside SOCK_LOCK()/SOCK_UNLOCK() for getsockopt() handling of SOL_SOCKET-level socket options. Reviewed by: markj, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46881 (cherry picked from commit 3326ab87cc22cb70a41e13aefd8684ff0feed01f) --- sys/kern/uipc_socket.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 9cbc5c1f2f7a..81145ff1e1ac 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -3331,23 +3331,31 @@ integer: goto integer; case SO_SNDBUF: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_sbsnd_hiwat : so->so_snd.sb_hiwat; + SOCK_UNLOCK(so); goto integer; case SO_RCVBUF: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_sbrcv_hiwat : so->so_rcv.sb_hiwat; + SOCK_UNLOCK(so); goto integer; case SO_SNDLOWAT: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_sbsnd_lowat : so->so_snd.sb_lowat; + SOCK_UNLOCK(so); goto integer; case SO_RCVLOWAT: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_sbrcv_lowat : so->so_rcv.sb_lowat; + SOCK_UNLOCK(so); goto integer; case SO_SNDTIMEO: @@ -3404,15 +3412,21 @@ integer: break; case SO_LISTENQLIMIT: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_qlimit : 0; + SOCK_UNLOCK(so); goto integer; case SO_LISTENQLEN: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_qlen : 0; + SOCK_UNLOCK(so); goto integer; case SO_LISTENINCQLEN: + SOCK_LOCK(so); optval = SOLISTENING(so) ? so->sol_incqlen : 0; + SOCK_UNLOCK(so); goto integer; case SO_TS_CLOCK: From nobody Thu Oct 31 17:00:40 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVcS1kmqz5c2Rs; Thu, 31 Oct 2024 17:00:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVcS1Czcz4mMl; Thu, 31 Oct 2024 17:00:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HL8DhytjhTZ6N1QkBSSn+1fujlOq5jOa9fzcuf6Y5Nk=; b=vOejkmpnHExnRNCi0KRGRrmLUhL9zsNCh0iofqs47pih+dx70WWHrv9VGF04QoQIReelbf IVE5ckDMWm8VEFXSJNVoFnD2ulClNQFvA0hFaznUcOJnBu8bsC93okFPFfFBcoYXgAfyB8 bi2PlALRgMp8FY/YGz9bCgVYTy2NAoqrH/MtsL/LGRJLBaNJC95Uc6Maw2Vt2rwzVq0SDd eKLGz7clSwIzoHm/l9+mPrUXv3BfOTeo+FqrYbCiAbwr3T1m96CdjErvG8gVSgmW+wC5YP tNPorAjJFtYrKu+iLSWFP5FjagKLbbcJCVKACiaB+Vr47Al/5T9FHV8zlgLRGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HL8DhytjhTZ6N1QkBSSn+1fujlOq5jOa9fzcuf6Y5Nk=; b=bSt5J9Hy0dUf+Mywo0yAMEscKjSzf5UE59of1S8yQt5rWzFec/OdVEPgfQWzkaEdOL3TOg z7x6MZhz0aRIi2jJxSW45eLYiUKfs1+HS+SA7qeY8+jxKp36Oycf6YzOmsYVFhb29rcMPH 1iZe7xVOTWEOx90CD9OQVnBRjbnKoWCfmKibJQ7W16Zatvc1NYC9xE1Qs49I+TTHd8XvA9 sXOpq+ZxKvSMOyGVlDAHn6DRTwIsAg/7XH8KVRKMSM6/r0hvWCzIolX6b+bFxA5q7xSEs/ Kqi0qjrRnUjydASv2aPunje1WeLZ2+DYgqeNk0J4U2EW0VwUK6/TYL/fBTCAhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730394040; a=rsa-sha256; cv=none; b=TdVrOPTPFKoP0fVImWuYeTcFFiNytDwwYvWguRIhXTZ1BDXU7SXKybUCpMrioKq2nZ9K3p hbIzxFVfHJhFZcstDLdhH2nmssRu5Kzcw4a0WpEL1FpOkfUa2glpA6TycEkC/sH0TuDzAt laMvaa/+LiWyrAE8KJK17CeYlLdf807RkdpvKHWlWGwlwCKtrwLydCHshpBRN6exo/JDXR /DanoXIlDtE2+g+qIeTnYC0Icqhzg8aYDXn2nhxxAwRmOch7Qn9v9APJP5d6pX7qlxXnGr 7w/EhrNi9JjkPuH5f6Ki1QbaoUE3LEkze5bA12gYxO+g0e8/kTn1n9bU/C3o6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVcS0jv2zkbM; Thu, 31 Oct 2024 17:00:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VH0eBZ082666; Thu, 31 Oct 2024 17:00:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VH0eXl082663; Thu, 31 Oct 2024 17:00:40 GMT (envelope-from git) Date: Thu, 31 Oct 2024 17:00:40 GMT Message-Id: <202410311700.49VH0eXl082663@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 258e38014cad - stable/13 - sctp: cleanup sctp_delete_ifn List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 258e38014cadada0c1a7d48185935369167d8527 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=258e38014cadada0c1a7d48185935369167d8527 commit 258e38014cadada0c1a7d48185935369167d8527 Author: Michael Tuexen AuthorDate: 2024-10-10 08:36:00 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 17:00:16 +0000 sctp: cleanup sctp_delete_ifn The address lock is always held, so no need for the second parameter. No functional change intended. (cherry picked from commit 2e9761eb80f3e58c116efc10c739ed0d8497c1d6) --- sys/netinet/sctp_pcb.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index f3b51b796df0..489da8b1a5ed 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -277,25 +277,16 @@ sctp_free_ifa(struct sctp_ifa *sctp_ifap) } static void -sctp_delete_ifn(struct sctp_ifn *sctp_ifnp, int hold_addr_lock) +sctp_delete_ifn(struct sctp_ifn *sctp_ifnp) { - struct sctp_ifn *found; - found = sctp_find_ifn(sctp_ifnp->ifn_p, sctp_ifnp->ifn_index); - if (found == NULL) { + SCTP_IPI_ADDR_WLOCK_ASSERT(); + if (sctp_find_ifn(sctp_ifnp->ifn_p, sctp_ifnp->ifn_index) == NULL) { /* Not in the list.. sorry */ return; } - if (hold_addr_lock == 0) { - SCTP_IPI_ADDR_WLOCK(); - } else { - SCTP_IPI_ADDR_WLOCK_ASSERT(); - } LIST_REMOVE(sctp_ifnp, next_bucket); LIST_REMOVE(sctp_ifnp, next_ifn); - if (hold_addr_lock == 0) { - SCTP_IPI_ADDR_WUNLOCK(); - } /* Take away the reference, and possibly free it */ sctp_free_ifn(sctp_ifnp); } @@ -450,7 +441,7 @@ sctp_remove_ifa_from_ifn(struct sctp_ifa *sctp_ifap) if (LIST_EMPTY(&sctp_ifap->ifn_p->ifalist)) { /* remove the ifn, possibly freeing it */ - sctp_delete_ifn(sctp_ifap->ifn_p, SCTP_ADDR_LOCKED); + sctp_delete_ifn(sctp_ifap->ifn_p); } else { /* re-register address family type, if needed */ if ((sctp_ifap->ifn_p->num_v6 == 0) && @@ -555,7 +546,7 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, (void *)sctp_ifap); if (new_ifn_af) { /* Remove the created one that we don't want */ - sctp_delete_ifn(sctp_ifnp, SCTP_ADDR_LOCKED); + sctp_delete_ifn(sctp_ifnp); } if (sctp_ifap->localifa_flags & SCTP_BEING_DELETED) { /* easy to solve, just switch back to active */ From nobody Thu Oct 31 17:01:15 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVd75FNNz5c2dJ; Thu, 31 Oct 2024 17:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVd74ZCjz4mD4; Thu, 31 Oct 2024 17:01:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qq/RrdPok0pHrDOaTXZuPvoVXv61xJjHuxgjaZUlSzI=; b=WuucAH3Aq3Y/x6abe6FjSNfji9MVayGpcJ/pJMRkG2dphMkfRe4ZWMnAE3zLWNqWdd6psF XJEXmYkgbQh4cKplGxl1TclDZPTXe93n6B+kvxbOpBQNl/OVRWj3of9Gihte3KNXnrwGaz zQXeRhOma53Pg4xW7Y5vawuKVJTi6uOKAMJ9sdnh1RpyMtDdXulA1s/+Bfq6GmULh18LrQ 8lIUMLibxSMhU2ctUqs5uW2fOX4VlVo6JrcwdRy8LGcXvg68QdgOFH9ub6p927+vMnd5R/ EI7Dhp8YbNTFRoOw89ZK5mZlBNaytz3M04cIhbC91M+EKCmWU7ohtFFigrChNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qq/RrdPok0pHrDOaTXZuPvoVXv61xJjHuxgjaZUlSzI=; b=MV0RMRNQqIF6i7EIcClMNL4ABNAVWX6vB1+/x1GaRMj0uXkiz2cEYOXsER2LYrDrB5hvlA zp28oD4ostf7jpWJW1v0ALBJy9stXCk0znJ5gz/D20nOeuYXl4uz85dzHVlIcecLBFOMxm EaJmFhsDgzx1IQUZqhwlFLwo068t6PDZ7y9D8CG4Kbn64pNWyf7v2g1gu2gdRIJPqd+1K6 EKi4uvLdo4Jvw2GQV/w9AjdCWi1+dBcegO1J1JP/Wv4NYDgcyzbayQttKurs9OpinjwKyt 1Md37hbRCMJtqnMCILTxwXvuk5O2+tqLBc+Wd/sPRAapClV3X4ICfrC9maWoXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730394075; a=rsa-sha256; cv=none; b=Cplven3VSGyNqj3vBhZHprYn0KdzvKr4lAH8xAdJtep0aHzJ7/TQ1ePPdpzC4tg/k//2Re FROgvnql+D0jcudDHpSsUGu6HoYfJrvKAr3hnc/Ld7lmZtkzkgtJFub4i1uvva7sSTM94p oAMHPH6rpFeNpTSMpFkVUsWcOw5JkVx3SoisoThIHUTKdXBXq043K+vo3UwHuPF0lUppqj nTB2w4GsBEoNz3Un0Utl/WN/EpiDXCsQE8qjQvgO2gF79MF4npBWG5tnGW0esOmXvswG+A K0cV8uJNwPvgzisUcjdq193KeBUeq9JRzZMXBn3f/2SZj8TLwPU2jyhYjxIdSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVd7429Pzkd6; Thu, 31 Oct 2024 17:01:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VH1F8Z085086; Thu, 31 Oct 2024 17:01:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VH1F6B085083; Thu, 31 Oct 2024 17:01:15 GMT (envelope-from git) Date: Thu, 31 Oct 2024 17:01:15 GMT Message-Id: <202410311701.49VH1F6B085083@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 9830fed0de06 - stable/13 - sctp: make sctp_free_ifn() static List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 9830fed0de06354926a837d1ab368c85333d5f96 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=9830fed0de06354926a837d1ab368c85333d5f96 commit 9830fed0de06354926a837d1ab368c85333d5f96 Author: Michael Tuexen AuthorDate: 2024-10-10 08:42:35 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 17:00:52 +0000 sctp: make sctp_free_ifn() static It is not used outside of the file. No functional change intended. (cherry picked from commit e1a09d1e9df30347c279604191a04ce2ef20bf0c) --- sys/netinet/sctp_pcb.c | 2 +- sys/netinet/sctp_pcb.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 489da8b1a5ed..2cc91d8afe81 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -239,7 +239,7 @@ sctp_free_vrf(struct sctp_vrf *vrf) } } -void +static void sctp_free_ifn(struct sctp_ifn *sctp_ifnp) { if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&sctp_ifnp->refcount)) { diff --git a/sys/netinet/sctp_pcb.h b/sys/netinet/sctp_pcb.h index ae062c553a57..51d5a2bad239 100644 --- a/sys/netinet/sctp_pcb.h +++ b/sys/netinet/sctp_pcb.h @@ -507,7 +507,6 @@ sctp_add_addr_to_vrf(uint32_t vrfid, void sctp_update_ifn_mtu(uint32_t ifn_index, uint32_t mtu); -void sctp_free_ifn(struct sctp_ifn *sctp_ifnp); void sctp_free_ifa(struct sctp_ifa *sctp_ifap); void From nobody Thu Oct 31 17:01:48 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVdm61K0z5c2y3; Thu, 31 Oct 2024 17:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVdm5bTVz4mf3; Thu, 31 Oct 2024 17:01:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qNdwDbG0d3U9dirALchcBeLZtOU5HX4nRcweUpQ7TsY=; b=NuELiCK28P9eM+puXNbjqvO+HxbE8MlAYrCXPjMcp34dvL2cKBu5kTSjzppFVzJptlBm62 d4+TzFlf0Sw4MtXVZio1YuOqbexISi/y3jQPmeIQTnE4IzcBFa3RtRbjJaHE+093qMH4Si PdOj3izrLHZZ6i6JspjT946NHwEOi+goyp1so/ge996wSrDDvoV34quxDItzO1E31yrjIZ U+5V6KT4MvOqAtTr52fx/1NkzbhoAcgyP+5EbMxCYXSkQsMjGUc0vTpYCMQie8mQT1SNhP tbSWr/dq+U0R0lgWPQyo3rgH8taJOhsJhgBWvY4xKPk2vxu2hCA2P13vQzov1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qNdwDbG0d3U9dirALchcBeLZtOU5HX4nRcweUpQ7TsY=; b=Eo6NjgCOnOy51iH5EfJwVWVbJ1EaFKElN7Kyz2z9moP5RStQ9j5kVlXsm6pn+Q6wuFHM96 kitnF2ekEu/BM6yJ5NAkfGQOPiGprInJpBUwp3Xl5v93wzVakWBwTsKE2lu+bNaE2WeAEB TboDYXjXrFO2QklP/nkzH39EYMTcnMU7WorEw4nQjC6mjZegrbrOOW9s2/MF0dyels8Gi5 ibA4D+OLQLWSufdAuR+Tkity5I8KnLPTEn50bJK0B83CwgAaz4qDQtYZ18w1QuAGCetycm yFBxNrUQUi0BqAm8ECVBQRLX9Vcw6/noX8V4eA1OMDyYpEOhIMozK425CdKWng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730394108; a=rsa-sha256; cv=none; b=MU9MKhP3mK/N9DoDWs1giKhJAQtDoOcaPBKOJGgcS30XdWmNTmyqE8leFcPI9by9UDXY9k qrbXhvMivB5bkxtRuIK5mI9gsj/Ejj1+kIvJJz+uhy0mYF+2N0fp02HVvJMpMgIvZVZije 67kT9sewSoc09eDjS03tNFmCP+e6mIMWAmVMiDPU+O49z9fsdC1o2bsPTI9dRiWTuGfu88 gBnPuPA6Ct4Ueve7PLAIIcWYUi+6ZJagC2kZdP/OWBZ1bXhkRxgdid7GncSChIKrrkECT2 3NsidGci4hV1LPdwM0LDGGrUoDICB4yG6E3S62HE9ImS4KwzUYvD7vfd3lWijg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVdm5BklzkdH; Thu, 31 Oct 2024 17:01:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VH1mgQ089839; Thu, 31 Oct 2024 17:01:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VH1mhg089836; Thu, 31 Oct 2024 17:01:48 GMT (envelope-from git) Date: Thu, 31 Oct 2024 17:01:48 GMT Message-Id: <202410311701.49VH1mhg089836@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 88dfcee5521a - stable/13 - sctp: check locking requirements List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 88dfcee5521afe21fecf231ae5d7a6ce54d418b9 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=88dfcee5521afe21fecf231ae5d7a6ce54d418b9 commit 88dfcee5521afe21fecf231ae5d7a6ce54d418b9 Author: Michael Tuexen AuthorDate: 2024-10-10 13:50:41 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 17:01:28 +0000 sctp: check locking requirements Actually assert the locking instead of describing it in a comment. No functional change intended. (cherry picked from commit 4466a97e83fd9484cb22dd2867b6972f6b185e8b) --- sys/netinet/sctp_pcb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 2cc91d8afe81..e9ba04be57ea 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -378,13 +378,13 @@ out: /*- * Add an ifa to an ifn. * Register the interface as necessary. - * NOTE: ADDR write lock MUST be held. */ static void sctp_add_ifa_to_ifn(struct sctp_ifn *sctp_ifnp, struct sctp_ifa *sctp_ifap) { int ifa_af; + SCTP_IPI_ADDR_WLOCK_ASSERT(); LIST_INSERT_HEAD(&sctp_ifnp->ifalist, sctp_ifap, next_ifa); sctp_ifap->ifn_p = sctp_ifnp; atomic_add_int(&sctp_ifap->ifn_p->refcount, 1); @@ -415,11 +415,11 @@ sctp_add_ifa_to_ifn(struct sctp_ifn *sctp_ifnp, struct sctp_ifa *sctp_ifap) * Remove an ifa from its ifn. * If no more addresses exist, remove the ifn too. Otherwise, re-register * the interface based on the remaining address families left. - * NOTE: ADDR write lock MUST be held. */ static void sctp_remove_ifa_from_ifn(struct sctp_ifa *sctp_ifap) { + SCTP_IPI_ADDR_WLOCK_ASSERT(); LIST_REMOVE(sctp_ifap, next_ifa); if (sctp_ifap->ifn_p) { /* update address counts */ From nobody Thu Oct 31 17:02:26 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVfV72hDz5c2Y0; Thu, 31 Oct 2024 17:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVfV6YJlz4n6J; Thu, 31 Oct 2024 17:02:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3pQtgRj2jejInbqITN5BRJBNZgPCGgpldxPNLdFlgPs=; b=MqEW3MPDNmzDS8TN+tJooz4XTkFAgJmQCkzbFMv4ymgSHpKXY1Bl4snGA7on9OoWOl7dnK Eq6+VKjQEZEffkzT2HMrjY4iuSNteagcwN+iglj044+p1lUC/hpO9LOSrsrj30PTkosXtR EIQv77Bw3/cFPNeMMuMsd9nD8izUTfx/I91Qd17FQ3N+NrRD19S49nYO25GD/QY2EOHccg o0wSqdr53pQrxwR4E6ne/7F9JynvQLC5Dj/L76bHecWFVibCJEHeTsXZ/gSf2t6YIWbV2Q 7t6q7oRIVX24VkRljo2YkrS0AqJMWok36+jMBuwFAPWWejE4Tw3Vu9P9KHtv9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3pQtgRj2jejInbqITN5BRJBNZgPCGgpldxPNLdFlgPs=; b=VAHVvBWjbNr4+Ex3vZ/WuA9OM90+2qWkigO+HKGMpUVdcQO6b9/X30OsSKiS40CrkuwxaL XhzIOmrvODCpU3126dxVPnELRDGhXWtk4KTrqvsjcQBXGAkrXGkC/wzUvewah+5zgxKZTP h4OxqxEY+uIG5SpdTXcZ81FB+0D1HZoEmrWPo/6bIz+74ETXNZTkZ3PxqCEMKd22vGPI35 DxUGxG3V+eV5J3U5+iVEdjdlytUAgu70NHi84rQjusfau7aELBIa1v6fjqDKvmpO1oQiwK czKldQc0An2C3BpGXFonTb2VIE67U1rbFhOofSUvC/sPr8/cFobvba7WYMKJ9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730394146; a=rsa-sha256; cv=none; b=SvT3f6+scxpuZMqPEFauuuXwxZZe9YZhym5gQUJ6nExrsm+hpjFCClTMv/bfN62yv3Y7uS cQK7x58MP7ZoF7hgKKAZU2pF6GT0z20h1s4lG07Cd149HGmkSX/RbjuiAsCkRd5qZTABer luAMuETafMwQPLF/Rx29UEm7VejLcee6rQqjMX0tPZa4Z1+DT4JFptMgD+8gBOeXLRPAWN 5Fvj5OZX2lrPTqsUIW7hdT8bzyrvAeszzaXtTSPVnvpFtyeG/MvZi8lFlpmXYvjJO/cIwC MesWfHxI2LnUvk9/DpEnHurpZ7nY/YqA5PEeEWOuK/dN5u9aq+uNjitxOrkRRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVfV61rNzkwS; Thu, 31 Oct 2024 17:02:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VH2Q4B090230; Thu, 31 Oct 2024 17:02:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VH2Qoo090227; Thu, 31 Oct 2024 17:02:26 GMT (envelope-from git) Date: Thu, 31 Oct 2024 17:02:26 GMT Message-Id: <202410311702.49VH2Qoo090227@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: c7f2035e1fc4 - stable/13 - sctp: improve debug output List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: c7f2035e1fc40c6a2db7b0d3c547ca0a694ac7cf Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=c7f2035e1fc40c6a2db7b0d3c547ca0a694ac7cf commit c7f2035e1fc40c6a2db7b0d3c547ca0a694ac7cf Author: Michael Tuexen AuthorDate: 2024-10-24 11:18:22 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 17:02:03 +0000 sctp: improve debug output (cherry picked from commit ce20b48a60fbae275085237dd48075d426f00d37) --- sys/netinet/sctp_asconf.c | 6 +++--- sys/netinet/sctp_output.c | 8 ++++---- sys/netinet/sctp_pcb.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/netinet/sctp_asconf.c b/sys/netinet/sctp_asconf.c index 3a30b0ba3740..6b98557c45a6 100644 --- a/sys/netinet/sctp_asconf.c +++ b/sys/netinet/sctp_asconf.c @@ -1313,13 +1313,13 @@ sctp_asconf_queue_mgmt(struct sctp_tcb *stcb, struct sctp_ifa *ifa, #ifdef SCTP_DEBUG if (SCTP_BASE_SYSCTL(sctp_debug_on) & SCTP_DEBUG_ASCONF2) { if (type == SCTP_ADD_IP_ADDRESS) { - SCTP_PRINTF("asconf_queue_mgmt: inserted asconf ADD_IP_ADDRESS: "); + SCTPDBG(SCTP_DEBUG_ASCONF2, "asconf_queue_mgmt: inserted asconf ADD_IP_ADDRESS: "); SCTPDBG_ADDR(SCTP_DEBUG_ASCONF2, &ifa->address.sa); } else if (type == SCTP_DEL_IP_ADDRESS) { - SCTP_PRINTF("asconf_queue_mgmt: appended asconf DEL_IP_ADDRESS: "); + SCTPDBG(SCTP_DEBUG_ASCONF2, "asconf_queue_mgmt: appended asconf DEL_IP_ADDRESS: "); SCTPDBG_ADDR(SCTP_DEBUG_ASCONF2, &ifa->address.sa); } else { - SCTP_PRINTF("asconf_queue_mgmt: appended asconf SET_PRIM_ADDR: "); + SCTPDBG(SCTP_DEBUG_ASCONF2, "asconf_queue_mgmt: appended asconf SET_PRIM_ADDR: "); SCTPDBG_ADDR(SCTP_DEBUG_ASCONF2, &ifa->address.sa); } } diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index bf4d383d732c..13d5f1d68f5e 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -13772,15 +13772,15 @@ sctp_v4src_match_nexthop(struct sctp_ifa *sifa, sctp_route_t *ro) mask = (struct sockaddr_in *)(ifa->ifa_netmask); sin = &sifa->address.sin; srcnetaddr.s_addr = (sin->sin_addr.s_addr & mask->sin_addr.s_addr); - SCTPDBG(SCTP_DEBUG_OUTPUT1, "match_nexthop4: src address is "); + SCTPDBG(SCTP_DEBUG_OUTPUT2, "match_nexthop4: src address is "); SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, &sifa->address.sa); - SCTPDBG(SCTP_DEBUG_OUTPUT1, "network address is %x\n", srcnetaddr.s_addr); + SCTPDBG(SCTP_DEBUG_OUTPUT2, "network address is %x\n", srcnetaddr.s_addr); sin = &ro->ro_nh->gw4_sa; gwnetaddr.s_addr = (sin->sin_addr.s_addr & mask->sin_addr.s_addr); - SCTPDBG(SCTP_DEBUG_OUTPUT1, "match_nexthop4: nexthop is "); + SCTPDBG(SCTP_DEBUG_OUTPUT2, "match_nexthop4: nexthop is "); SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, &ro->ro_nh->gw_sa); - SCTPDBG(SCTP_DEBUG_OUTPUT1, "network address is %x\n", gwnetaddr.s_addr); + SCTPDBG(SCTP_DEBUG_OUTPUT2, "network address is %x\n", gwnetaddr.s_addr); if (srcnetaddr.s_addr == gwnetaddr.s_addr) { return (1); } diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index e9ba04be57ea..080cb81fa09a 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -769,7 +769,7 @@ sctp_del_addr_from_vrf(uint32_t vrf_id, struct sockaddr *addr, else { SCTPDBG(SCTP_DEBUG_PCB4, "Del Addr-ifn:%d Could not find address:", ifn_index); - SCTPDBG_ADDR(SCTP_DEBUG_PCB1, addr); + SCTPDBG_ADDR(SCTP_DEBUG_PCB4, addr); } #endif From nobody Thu Oct 31 17:02:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVg252hBz5c2SH; Thu, 31 Oct 2024 17:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVg24X6Kz4nhk; Thu, 31 Oct 2024 17:02:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394174; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a3A9GcG/NWS8SP/01W6/paZEdI67fCS1lRQID5npRaQ=; b=QjJjV3k+Wa+QpcBxHPDPwk68cn3o24T0viM1Pehu1fzzze29d3byeT60+kEFwu4nMZypLE 9EvN6xN49N8pgKHr3Xkfwo7YNjbjze2/mjlPZqc0hcfCi6ZLA5xIsutMs8S2ZnrRFGK6+g 3fFaJsIGKYhtqvdZ7GsQHmlV1hlNx76rlrRVCGf85blfVK+t021NVGaUhA4TL4xZ63bXUC +m7BFffU7SWws+vIrYJeaw+8S0SrXb9EiWadteLQiz/ndXu4RNhrht63HWLkoAnY3jd1jC A+F+nbqanPMXZ+3hA95z0LrAivM7QfJ2rhnHqNGogJMEOTwK0/1zkPbBtP4yVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394174; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a3A9GcG/NWS8SP/01W6/paZEdI67fCS1lRQID5npRaQ=; b=HXagZ51oULysfDYzvY93jL0Y0fzLXsHgm1fvu1SnoNEgb6a6UCsFyqp3VkTNAvU2//gRnC 5csIx4Wb056CmGentpjYTkARImhJnHf2GvES8KL+H3820Gi5zLRkVhZCzOHnfH7pp0+2li tOL7Ba0SGyVrdMh77Jly/x0QVvPSho07X52XCIEn5HLhyNNryi+SzD0SRaBL6eMOHCDsS5 E/PpiFIk8mbU0EntFUTuSffK06V0Cij5v5Zte0PrwJFa0i8AsRWHt1N4og2tZ1BmdzByp/ 6zsPNo7AYZkSELsNyY3tgZDwHAhySJ3PnNwDV0yOio8QcvtQsx7ee6Sw9IQv3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730394174; a=rsa-sha256; cv=none; b=kxij/+fCJqJybocYpSsOl/AIB6EkP6127jUXKPsnNs+dsneA17Qkuzt9OBbQPsDoFjvLUo W4Slizk24GEA8kCSSFVcwm6vlz41f9+DImDech3z/VCy8YTXN6i0mphyVeYZK/f9BI8bVs hJCcpOSS4TwEsDbll73jMMLdizMdCJKSoxWhqx66yoyQftCdry1aPnPf723DK4YiUsAYlj aWt9QvdEfOcThXf8aw6/l+X7e2e6SuL3H1yuP2VUQXHeSyyKpSzU/AWQL0VLc7J3R5HoGq +EJSFYWZq3TAXV2QlB3z/Siu/3zD4CWhyNMLhHmOfeNoivRHZUfynCTHzkJg2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVg247TRzkYN; Thu, 31 Oct 2024 17:02:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VH2sMv090455; Thu, 31 Oct 2024 17:02:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VH2s2s090452; Thu, 31 Oct 2024 17:02:54 GMT (envelope-from git) Date: Thu, 31 Oct 2024 17:02:54 GMT Message-Id: <202410311702.49VH2s2s090452@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 76c6a76ea1dd - stable/13 - sctp: cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 76c6a76ea1dd2f4cc47853c5b9f9ab41fd9a1017 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=76c6a76ea1dd2f4cc47853c5b9f9ab41fd9a1017 commit 76c6a76ea1dd2f4cc47853c5b9f9ab41fd9a1017 Author: Michael Tuexen AuthorDate: 2024-10-24 11:24:49 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 17:02:42 +0000 sctp: cleanup No functional change intended. (cherry picked from commit e4ac0183a1a846ef6556c9876dab76c06f5fea9c) --- sys/netinet/sctp_pcb.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 080cb81fa09a..cfac25c90891 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -192,21 +192,17 @@ sctp_find_ifn(void *ifn, uint32_t ifn_index) struct sctp_ifn *sctp_ifnp; struct sctp_ifnlist *hash_ifn_head; - /* - * We assume the lock is held for the addresses if that's wrong - * problems could occur :-) - */ SCTP_IPI_ADDR_LOCK_ASSERT(); hash_ifn_head = &SCTP_BASE_INFO(vrf_ifn_hash)[(ifn_index & SCTP_BASE_INFO(vrf_ifn_hashmark))]; LIST_FOREACH(sctp_ifnp, hash_ifn_head, next_bucket) { if (sctp_ifnp->ifn_index == ifn_index) { - return (sctp_ifnp); + break; } - if (sctp_ifnp->ifn_p && ifn && (sctp_ifnp->ifn_p == ifn)) { - return (sctp_ifnp); + if (ifn != NULL && sctp_ifnp->ifn_p == ifn) { + break; } } - return (NULL); + return (sctp_ifnp); } struct sctp_vrf * From nobody Thu Oct 31 17:03:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVhC2KkTz5c2Y9; Thu, 31 Oct 2024 17:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVhC1q9Rz4nvb; Thu, 31 Oct 2024 17:03:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/2DFE8q0HdIT0ESHTATxXEYBvDFs5ROsoPFWOWDJ63w=; b=iLQnT+GxGVyWNS0blhW/F75wOhW3VbNPRkp4hy8j8bAnWEBKcw3NmH/ZJvmQevCIW4Bnau U08urOVgUtKbS/c58c1cfOsPvuRNBwpLPztLt+mOmBwfW2WuzOiNYke1Yd0Cq3X8KCSdtn j0cp2ozauMXkK/70zV1nzogjOp7hDsdxLiRd0f0PPWOiY0i+jSH7JcWiRrhMVY4HJVvnUs BrjYv4MdupUKInHpRF2lSqYe9KVb3hRcA4qBGuKyPEKk2xsBapRy+Rd/jTAXPUgpLIc73r FweOWqfl9dcJw4dlwnmQTe3FhvkKOFeoyk5NLHSh4OW6PQJnHJZ4qP04UU4NEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/2DFE8q0HdIT0ESHTATxXEYBvDFs5ROsoPFWOWDJ63w=; b=yJU17uP3kLDfenDS0tjI8P0V9y9gIyjS8fgJ/BB3kNtbE0fOgxBYp1Cxv4f5BGBNMc+MMT OA618XS3GbmAG/8Z+IqHQ+A4wKbPYFTu1sfwGBpgjQUIpb1A9C+px/+voi5bficE9SVm39 vyx5fXrSwbtWRCVMa5odMmM/PUB0jme5HpfA1bLKaScwvZkTHBzl4lMgp0DZ32j/0k1Hzn 2o5b2FO9ccZ8qzY15oTYqVIvBOGdtbwxUNoLe/pvCYM8PeiD1lyhccxUshGjM/3D0ch9Sw +nRKqe9nJvP+5QEMm5meFKBLNQrjaqQoGbPamNbhcf1BfONWBTzu/ySanbM4sA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730394235; a=rsa-sha256; cv=none; b=ZxtxlTGeTk5Ds8KOmysxcgTDK7qQqDrR4wVGOkf75HH0gwYq6PeGJcjR9LRgub4jVeHe6l EFntDQBNdaNNqnVr92u7CqHNB6XYpcJC/Chqrs5n5lMcCFOEMUiOFJFZ/TTVgd1Fhkuk1H ElPLv7mBPbEjvWNpPhDjDvU9QA6UqDi1mPQBKASk6Oe29qFUEoVL7qnBvi2Z3SL/lYrlnf BCLDtIQBMKPkUa84psr0rHpaDyYc3noJ+rpRKiizYlZ2FEz225UZZEGd7hJjzI/fsurmxi wQ3gSIJ8es1KjxaGEE6XWRKvDcNmAs+VHvZa0FSOxwLdIDlPZUvrt450MJ71ZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVhC1QY5zlJK; Thu, 31 Oct 2024 17:03:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VH3tdt090871; Thu, 31 Oct 2024 17:03:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VH3tc6090868; Thu, 31 Oct 2024 17:03:55 GMT (envelope-from git) Date: Thu, 31 Oct 2024 17:03:55 GMT Message-Id: <202410311703.49VH3tc6090868@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: f735547b21a0 - stable/13 - sctp garbage collect sctp_update_ifn_mtu List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: f735547b21a02068abb0cddc84b7e34e9cc81865 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=f735547b21a02068abb0cddc84b7e34e9cc81865 commit f735547b21a02068abb0cddc84b7e34e9cc81865 Author: Michael Tuexen AuthorDate: 2024-10-24 20:00:59 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 17:03:29 +0000 sctp garbage collect sctp_update_ifn_mtu (cherry picked from commit ce5b5361d4d1b3868631baa6870ba6e1e6ec8330) --- sys/netinet/sctp_pcb.c | 11 ----------- sys/netinet/sctp_pcb.h | 2 -- 2 files changed, 13 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index cfac25c90891..2bc3958af3de 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -248,17 +248,6 @@ sctp_free_ifn(struct sctp_ifn *sctp_ifnp) } } -void -sctp_update_ifn_mtu(uint32_t ifn_index, uint32_t mtu) -{ - struct sctp_ifn *sctp_ifnp; - - sctp_ifnp = sctp_find_ifn((void *)NULL, ifn_index); - if (sctp_ifnp != NULL) { - sctp_ifnp->ifn_mtu = mtu; - } -} - void sctp_free_ifa(struct sctp_ifa *sctp_ifap) { diff --git a/sys/netinet/sctp_pcb.h b/sys/netinet/sctp_pcb.h index 51d5a2bad239..d349519e4ce1 100644 --- a/sys/netinet/sctp_pcb.h +++ b/sys/netinet/sctp_pcb.h @@ -505,8 +505,6 @@ sctp_add_addr_to_vrf(uint32_t vrfid, void *ifa, struct sockaddr *addr, uint32_t ifa_flags, int dynamic_add); -void sctp_update_ifn_mtu(uint32_t ifn_index, uint32_t mtu); - void sctp_free_ifa(struct sctp_ifa *sctp_ifap); void From nobody Thu Oct 31 17:05:34 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVk70T5jz5c37Y; Thu, 31 Oct 2024 17:05:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVk663lhz4p9B; Thu, 31 Oct 2024 17:05:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SIb5CAp6ON7fsf5YvpW21JNkFezB64HoD5eYaRk0ggk=; b=UYgmlCg2VdBb1ijkJtfx1T/sPRwmS3av/SEklQvuy13uipI76CI8e8w9VCMLfEvgSyVgrt F2VyGdL4yE7pdQxTw7O2NjEcVhaMOB5qummp6jBKNS6qC+9PzsRgb0DH8EPPRUEQaPTMjA xO1f0pofKnk1a1ZIh48zxW02mZgK3lQWRsK9SaRzFiWPuqi5FOuFuhjeaMjNVl8KIQnMe1 mf770cp4WUE1GQUj8ih2nJEDmPW/J8XvqKlWMTU1LCdfniyiNNbyTEhDQU2ZKwdsm+jV92 07jdgEzhBFjlPkjTDt16CN4sYY1bbieklAlXCMae3CqwUBb/e5U2vXmUn3b/qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SIb5CAp6ON7fsf5YvpW21JNkFezB64HoD5eYaRk0ggk=; b=jVuLt5mZ/E+d7Xye+pNsNXkA9XuYO4FBhZ0FIHXpGdSs1YFhfLOUBDWooP/F10jzf6QvSE etqj/X/JlM7Vhr3JpzVHBuFE5wgtK87L65b2vwJCBWUxqJFJvt3p0egdfi3sGmEygbSaAh KZfHU92Gq/y+88OGhAFgcnCZnhZ0HXeB17hMFAIXyLSmatQV7J0IsT55YFymxZMa2AgylB HLA2zuzdRjApM5U7BYH3b6ssXPs77RdIbshnbvMT/5DqlpU86YD9HRLxe7oSB7rShUQI7k kTJfnIc3kbwJNjX1cq8hplxLSfykgpN80lmo/svSbJal7Aw/D2JmHDSTPF4euw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730394334; a=rsa-sha256; cv=none; b=q7rhkNB6Z47hRHrLXB/1BleSlhQC9+MCaQlGb+s/z78zJmXhgZ9isVjM3b0huMNjyW4Cl6 5m7IcYi0oUcKlkxIpIEvuY/Nfn5yVHK9Y/3r05wThz6WxT3PMqYk1bLEqm73pPp3cga+Tr VVkZG9PDHhOnRWQIJDs6pgD6JEQK/JAbCJgg3sr+z8Z8Gjs7Lvo5PNPAYDCBk9UtLY5I87 UmHGcoHJCZPjMz4V9f7Le+iZQst4kQqdVzzMptypcnFSHHdnuco5bXitgKNM1P87oKNsP4 S2FCHHAPUxdVzNqm0tnDIs13fJ15LKsfyhuyIFf4J68i2JksfWNWBWe/eDhcvQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVk65fZrzl72; Thu, 31 Oct 2024 17:05:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VH5YO2091500; Thu, 31 Oct 2024 17:05:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VH5Yks091497; Thu, 31 Oct 2024 17:05:34 GMT (envelope-from git) Date: Thu, 31 Oct 2024 17:05:34 GMT Message-Id: <202410311705.49VH5Yks091497@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 03de3fc2ca00 - stable/13 - sctp: further cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 03de3fc2ca00dddc3b80045d2926f5d7e557ea01 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=03de3fc2ca00dddc3b80045d2926f5d7e557ea01 commit 03de3fc2ca00dddc3b80045d2926f5d7e557ea01 Author: Michael Tuexen AuthorDate: 2024-10-25 11:47:43 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 17:04:10 +0000 sctp: further cleanup (cherry picked from commit 02478e65910ab1ef53511ebb2271cdcf0e9a14cf) --- sys/netinet/sctp_pcb.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 2bc3958af3de..251cceca68bb 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -455,7 +455,6 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, struct sctp_ifalist *hash_addr_head; struct sctp_ifnlist *hash_ifn_head; uint32_t hash_of_addr; - int new_ifn_af = 0; #ifdef SCTP_DEBUG SCTPDBG(SCTP_DEBUG_PCB4, "vrf_id 0x%x: adding address: ", vrf_id); @@ -519,7 +518,6 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, LIST_INSERT_HEAD(hash_ifn_head, sctp_ifnp, next_bucket); LIST_INSERT_HEAD(&vrf->ifnlist, sctp_ifnp, next_ifn); atomic_add_int(&SCTP_BASE_INFO(ipi_count_ifns), 1); - new_ifn_af = 1; } sctp_ifap = sctp_find_ifa_by_addr(addr, vrf->vrf_id, SCTP_ADDR_LOCKED); if (sctp_ifap) { @@ -529,7 +527,7 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, SCTPDBG(SCTP_DEBUG_PCB4, "Using existing ifn %s (0x%x) for ifa %p\n", sctp_ifap->ifn_p->ifn_name, ifn_index, (void *)sctp_ifap); - if (new_ifn_af) { + if (new_sctp_ifnp == NULL) { /* Remove the created one that we don't want */ sctp_delete_ifn(sctp_ifnp); } @@ -597,8 +595,8 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, sctp_ifap->src_is_priv = 1; } sctp_ifnp->num_v4++; - if (new_ifn_af) - new_ifn_af = AF_INET; + if (new_sctp_ifnp == NULL) + sctp_ifnp->registered_af = AF_INET; break; } #endif @@ -617,13 +615,12 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, sctp_ifap->src_is_priv = 1; } sctp_ifnp->num_v6++; - if (new_ifn_af) - new_ifn_af = AF_INET6; + if (new_sctp_ifnp == NULL) + sctp_ifnp->registered_af = AF_INET6; break; } #endif default: - new_ifn_af = 0; break; } hash_of_addr = sctp_get_ifa_hash_val(&sctp_ifap->address.sa); @@ -639,9 +636,6 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, sctp_ifnp->ifa_count++; vrf->total_ifa_count++; atomic_add_int(&SCTP_BASE_INFO(ipi_count_ifas), 1); - if (new_ifn_af) { - sctp_ifnp->registered_af = new_ifn_af; - } SCTP_IPI_ADDR_WUNLOCK(); if (new_sctp_ifnp != NULL) { SCTP_FREE(new_sctp_ifnp, SCTP_M_IFN); From nobody Thu Oct 31 17:06:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVkm5GMZz5c2gr; Thu, 31 Oct 2024 17:06: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVkm4jSCz4pRx; Thu, 31 Oct 2024 17:06:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9NIvspK+MsbU/fVfReIOiI+f00rrKeT5lMbPnMpf5aU=; b=TcJuoihXUPpjm5r3hC8+vRlmEdc2Nggq2Z77KyE9UT3zgClumd2Qukfn6kmfBfCKdJCRvp T+T0LVVal6fAkgGB6fdM7WZY1CGgXKd0R0FHL3RarncB8P2LO8LPaJ/UdVaL99ShBMIstc uaNLrs4DxbRjS712KDcUJmUZKONNBqTU0KX7ZophaZi8B20qUnoZX9MCOSCtmPYRASM3EF BK3OkcxKnBk82x/8KlC3E2Hhjf1FaVnOjH6btPBdXRJMrxZ7Lh37UBwwS9TVOBLz5qC4Gq EXRYQK6Qt0J20meRFzReEglLAb8MbTz7JVaAa7RTwK3OHg+8Jf95ycrA/vbFVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9NIvspK+MsbU/fVfReIOiI+f00rrKeT5lMbPnMpf5aU=; b=jptu1t1DXQVHvyc082EUOJfkFszr8gI2gMDrSOEx1vFM6xY/C/Zt+mGqKB5yvkbvoTlBYo +8mi+fmZUzmnTV4oDkASRtmHJsU3OjpGnRGVqElQFrYrNz5bwCy8c6RXIdue23X6+GgCXD 3fAMrXG1Rqsu62uvo9acg8u73efOPN0kR6qjY83ydpKfnM0FaEnyyJev2jJZhx5TSUG2F8 JaTAEieDwYE6B/l2DsHc4PXihobqU8ENVbKGaJkF+f0ScvaQQNCF6gv1h9Q6JkMSPVonUC mDmiGVScZEt+Xhv9EaVp+dUJZAValFhXd3VJYSnn7G1K/TSFJ3BqZAW/92u3Yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730394368; a=rsa-sha256; cv=none; b=uc9f3bFESUAuhzM1CiguAxncY8oJQgP41fUlu0HU8EhX1OtfC/tS/ibaJPq6UTEu218gE8 9zrRXbJU37ryTnGLfOlWvbRZkUqHOQxdZO7rcCwVKsYwUqtweAt94rBjLLDIyoDiZNgkZC duST5DZcggzJQBrKynevk96ahX6JMFJzx21/JFhUzgtrWvfnJDZjwY+9MUjsal8wwJ3ikx jZkVogERoKyUtuGasVQOCSk776wzM4/bf7DzihJHj+08AoeYfB9UHnjsYCDG4Y02bCrD3g GcAhM8WskuLwWgvl6rikR40OAi/k8VEo3QKiy6TqcYA2FB5YLYm+Zi2cEtK3MA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVkm4JMFzkYQ; Thu, 31 Oct 2024 17:06:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VH68Wv091800; Thu, 31 Oct 2024 17:06:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VH687W091798; Thu, 31 Oct 2024 17:06:08 GMT (envelope-from git) Date: Thu, 31 Oct 2024 17:06:08 GMT Message-Id: <202410311706.49VH687W091798@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: c274b69f43cc - stable/13 - sctp: cleanup the addition of addresses which are already known List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: c274b69f43cc8408ac2af0b64fba334d6967f365 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=c274b69f43cc8408ac2af0b64fba334d6967f365 commit c274b69f43cc8408ac2af0b64fba334d6967f365 Author: Michael Tuexen AuthorDate: 2024-10-25 12:11:09 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 17:05:48 +0000 sctp: cleanup the addition of addresses which are already known No functional change intended. (cherry picked from commit a05620b0f67fe526350bf386882262ca8005533f) --- sys/netinet/sctp_pcb.c | 83 ++++++++++++++++++++++++++------------------------ 1 file changed, 44 insertions(+), 39 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 251cceca68bb..2423aef5a89d 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -520,56 +520,61 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, atomic_add_int(&SCTP_BASE_INFO(ipi_count_ifns), 1); } sctp_ifap = sctp_find_ifa_by_addr(addr, vrf->vrf_id, SCTP_ADDR_LOCKED); - if (sctp_ifap) { - /* Hmm, it already exists? */ - if ((sctp_ifap->ifn_p) && - (sctp_ifap->ifn_p->ifn_index == ifn_index)) { - SCTPDBG(SCTP_DEBUG_PCB4, "Using existing ifn %s (0x%x) for ifa %p\n", - sctp_ifap->ifn_p->ifn_name, ifn_index, - (void *)sctp_ifap); - if (new_sctp_ifnp == NULL) { - /* Remove the created one that we don't want */ - sctp_delete_ifn(sctp_ifnp); - } - if (sctp_ifap->localifa_flags & SCTP_BEING_DELETED) { - /* easy to solve, just switch back to active */ - SCTPDBG(SCTP_DEBUG_PCB4, "Clearing deleted ifa flag\n"); - sctp_ifap->localifa_flags = SCTP_ADDR_VALID; - sctp_ifap->ifn_p = sctp_ifnp; - atomic_add_int(&sctp_ifap->ifn_p->refcount, 1); - } - exit_stage_left: - SCTP_IPI_ADDR_WUNLOCK(); - if (new_sctp_ifnp != NULL) { - SCTP_FREE(new_sctp_ifnp, SCTP_M_IFN); - } - SCTP_FREE(new_sctp_ifap, SCTP_M_IFA); - return (sctp_ifap); - } else { - if (sctp_ifap->ifn_p) { + if (sctp_ifap != NULL) { + /* The address being added is already or still known. */ + if (sctp_ifap->ifn_p != NULL) { + if (sctp_ifap->ifn_p->ifn_index == ifn_index) { + SCTPDBG(SCTP_DEBUG_PCB4, + "Using existing ifn %s (0x%x) for ifa %p\n", + sctp_ifap->ifn_p->ifn_name, ifn_index, + (void *)sctp_ifap); + if (new_sctp_ifnp == NULL) { + /* Remove the created one not used. */ + sctp_delete_ifn(sctp_ifnp); + } + if (sctp_ifap->localifa_flags & SCTP_BEING_DELETED) { + /* Switch back to active. */ + SCTPDBG(SCTP_DEBUG_PCB4, + "Clearing deleted ifa flag\n"); + sctp_ifap->localifa_flags = SCTP_ADDR_VALID; + sctp_ifap->ifn_p = sctp_ifnp; + atomic_add_int(&sctp_ifap->ifn_p->refcount, 1); + } + } else { /* * The last IFN gets the address, remove the * old one */ - SCTPDBG(SCTP_DEBUG_PCB4, "Moving ifa %p from %s (0x%x) to %s (0x%x)\n", - (void *)sctp_ifap, sctp_ifap->ifn_p->ifn_name, + SCTPDBG(SCTP_DEBUG_PCB4, + "Moving ifa %p from %s (0x%x) to %s (0x%x)\n", + (void *)sctp_ifap, + sctp_ifap->ifn_p->ifn_name, sctp_ifap->ifn_p->ifn_index, if_name, ifn_index); /* remove the address from the old ifn */ sctp_remove_ifa_from_ifn(sctp_ifap); /* move the address over to the new ifn */ sctp_add_ifa_to_ifn(sctp_ifnp, sctp_ifap); - goto exit_stage_left; - } else { - /* repair ifnp which was NULL ? */ - sctp_ifap->localifa_flags = SCTP_ADDR_VALID; - SCTPDBG(SCTP_DEBUG_PCB4, "Repairing ifn %p for ifa %p\n", - (void *)sctp_ifnp, (void *)sctp_ifap); - sctp_add_ifa_to_ifn(sctp_ifnp, sctp_ifap); } - goto exit_stage_left; - } - } + } else { + /* Repair ifn_p, which was NULL... */ + sctp_ifap->localifa_flags = SCTP_ADDR_VALID; + SCTPDBG(SCTP_DEBUG_PCB4, + "Repairing ifn %p for ifa %p\n", + (void *)sctp_ifnp, (void *)sctp_ifap); + sctp_add_ifa_to_ifn(sctp_ifnp, sctp_ifap); + } + SCTP_IPI_ADDR_WUNLOCK(); + if (new_sctp_ifnp != NULL) { + SCTP_FREE(new_sctp_ifnp, SCTP_M_IFN); + } + SCTP_FREE(new_sctp_ifap, SCTP_M_IFA); + return (sctp_ifap); + } + KASSERT(sctp_ifnp != NULL, + ("sctp_add_addr_to_vrf: sctp_ifnp == NULL")); + KASSERT(sctp_ifap == NULL, + ("sctp_add_addr_to_vrf: sctp_ifap (%p) != NULL", sctp_ifap)); sctp_ifap = new_sctp_ifap; memset(sctp_ifap, 0, sizeof(struct sctp_ifa)); sctp_ifap->ifn_p = sctp_ifnp; From nobody Thu Oct 31 17:06:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfVlR0plsz5c2xf; Thu, 31 Oct 2024 17:06: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfVlR0676z4pnM; Thu, 31 Oct 2024 17:06:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lCSAzlVsHI4Mt/MmwJ+CFbW1FTJWTEeyKlqw/f9AzEU=; b=ZzYqtA9c46A2lJksxkvQLnlsZJSNBdHvl7EgfLMK7NRlsdADDjXjmFwBkAGLQanixj0h2I tWAzAwBlxhudF8rK3DU9Xgs13IeiLnJ6UeSEeSd3ch7soG9Q4R4Uzf6LdDqQf39tCo9z2y 3T+ArhoivgkS/+KnFxShkPaWQhJawfEGHJjRmXpsKLDGbuelPljurZOpLV1FhYNEHPqs9S 1sGsU59OrWoKiCzfKJE3zTwmANqucmIf91eZ1tHm36rqs1sK39ty+CiD0RtQ/ABYmck9e5 TI/oafuUbdqdSvqwGNx17Pwtt73vBG9x8yq80qY3fvq7hEORy1FEr/X1PiayNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730394403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lCSAzlVsHI4Mt/MmwJ+CFbW1FTJWTEeyKlqw/f9AzEU=; b=MktSnX4rQj1BwTRlVHst4irjELwNEDoHe+dpWmfPsJmPP1VoqqDuuZlb/YWeFRXOiTfzQv 79yTzTgMdOEp6mdpMewcFYpy6SbBV3XLBTPlsa36Rfj+65Ltw84x2MByhrnAbhWKzUiel5 GVP2sipysqUwjENQkvRPj1gBylMB54lzj1hHxQAlKwRGcpQaXyd9BbEKSZqeQ62PUgDozg LnVwkUhwB5p1z1+2sbQtBsPC5aLu6I5GT7H4LKhLtBcXRLzdzgXGCb5YeteQ970wfrC/ly /gzWQKY/DYfG+6A1ucIFBJzjy86jXFi9fSuNgYPjajADWL9XtMkeuLdTxu7S8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730394403; a=rsa-sha256; cv=none; b=WTHVYSVUaSKt2MQaDMaXqa/ytiPFjNohZwgbmKakyek5tC9wYUjJz70ww9TUyauCFVI7EO 6xBSre8niJwsKvBkU7GE9bEesqHoI4Bo17GRzDh5Bdc18Iht3gHMeSFWdItBHHnwmGdvNq N/ipUTURhvhYWvQVmhVog1hsasLWNFHR96i234JMqf/VSKfA5buEsUXUbXnC+zavuwkyUY bQbVV7itqzHMN1D+JM6qcvVvGKTo7CEOtekfomzCEZ9i1Yb99/0PjqSUSsWNSEkCrk5rdF ewCdSfcdl+anTuFR2/oYGXbFws+qzzqcnL89ADpXT5d7pkk8dvPcCAwMT1QpOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfVlQ6qw8zkqX; Thu, 31 Oct 2024 17:06:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VH6gmg092093; Thu, 31 Oct 2024 17:06:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VH6gLI092090; Thu, 31 Oct 2024 17:06:42 GMT (envelope-from git) Date: Thu, 31 Oct 2024 17:06:42 GMT Message-Id: <202410311706.49VH6gLI092090@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: eac97072d19b - stable/13 - sctp: another cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: eac97072d19b44d131025359e26e15c501d94f8c Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=eac97072d19b44d131025359e26e15c501d94f8c commit eac97072d19b44d131025359e26e15c501d94f8c Author: Michael Tuexen AuthorDate: 2024-10-27 14:01:45 +0000 Commit: Michael Tuexen CommitDate: 2024-10-31 17:06:20 +0000 sctp: another cleanup No functional change intended. (cherry picked from commit d08713dcdb158b2f55a885e7cfbbe410272c55a2) --- sys/netinet/sctp_pcb.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 2423aef5a89d..39b7d58c8892 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -543,7 +543,7 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, } else { /* * The last IFN gets the address, remove the - * old one + * old one. */ SCTPDBG(SCTP_DEBUG_PCB4, "Moving ifa %p from %s (0x%x) to %s (0x%x)\n", @@ -691,13 +691,14 @@ sctp_del_addr_from_vrf(uint32_t vrf_id, struct sockaddr *addr, uint32_t ifn_index, const char *if_name) { struct sctp_vrf *vrf; - struct sctp_ifa *sctp_ifap = NULL; + struct sctp_ifa *sctp_ifap; SCTP_IPI_ADDR_WLOCK(); vrf = sctp_find_vrf(vrf_id); if (vrf == NULL) { SCTPDBG(SCTP_DEBUG_PCB4, "Can't find vrf_id 0x%x\n", vrf_id); - goto out_now; + SCTP_IPI_ADDR_WUNLOCK(); + return; } #ifdef SCTP_DEBUG @@ -705,10 +706,10 @@ sctp_del_addr_from_vrf(uint32_t vrf_id, struct sockaddr *addr, SCTPDBG_ADDR(SCTP_DEBUG_PCB4, addr); #endif sctp_ifap = sctp_find_ifa_by_addr(addr, vrf->vrf_id, SCTP_ADDR_LOCKED); - if (sctp_ifap) { + if (sctp_ifap != NULL) { /* Validate the delete */ if (sctp_ifap->ifn_p) { - int valid = 0; + bool valid = false; /*- * The name has priority over the ifn_index @@ -717,13 +718,13 @@ sctp_del_addr_from_vrf(uint32_t vrf_id, struct sockaddr *addr, if (if_name) { if (strncmp(if_name, sctp_ifap->ifn_p->ifn_name, SCTP_IFNAMSIZ) == 0) { /* They match its a correct delete */ - valid = 1; + valid = true; } } if (!valid) { /* last ditch check ifn_index */ if (ifn_index == sctp_ifap->ifn_p->ifn_index) { - valid = 1; + valid = true; } } if (!valid) { @@ -757,9 +758,8 @@ sctp_del_addr_from_vrf(uint32_t vrf_id, struct sockaddr *addr, } #endif -out_now: SCTP_IPI_ADDR_WUNLOCK(); - if (sctp_ifap) { + if (sctp_ifap != NULL) { struct sctp_laddr *wi; wi = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_laddr), struct sctp_laddr); From nobody Thu Oct 31 19:19:37 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfYhn61Kwz5cDjC; Thu, 31 Oct 2024 19:19: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfYhn5SzYz4Hj9; Thu, 31 Oct 2024 19:19:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730402377; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qSmj3pcSH18sQRVuCmg76F7K/l11f2c6LqsSELh+ljM=; b=FU7yMZY65ybx9dCgQ5l5y3fVt2riAE3fN9OxEVP9xShivDRIBSYkikhjcTBRu21WnzrUiA 3XnDExkJO8dyfgb/uwCXHcE4JsTzKEw7QGPG8RcM/7m7D9iT63Qj6qyudIPwSDivKcrI2P JdnWg8ijIXGNj4tDrx0Oi1IFYAVdJz4mHI68lc+07v/AUlG0t143oRMMZ8A35MluTYyyaw Re2hpG7vw2ZtsPyAEctqhbG9eK4dP5ePQHFQHyBn8e2WH9x1yd7JZ/nxlk3JSrmWb+VSiF vbsMkikFxkzfdyQP/fvYQBjVoraXVyZOJflHU+avzM0cr7O+7waU6GJRR3uxjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730402377; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qSmj3pcSH18sQRVuCmg76F7K/l11f2c6LqsSELh+ljM=; b=jwyHeO1Ktvvi64psatJL7rXVWMmgRQVKUG4z9IfpPSAct9jp2kXAnMlUQj/Zu2ZWfS8ic9 avgtjJjZgsJIT1RuJHIKXmx59KHIbPUZY4HRZEnR5jcU29p0il1hVxUnmOSvQeRJsoSlGe gzexlOXPM5Z7ATWQdvsK+LglttfiWa3OR77ipJJdeV+BpxZCPTmvyGPXvADwpaNmkZpKGE L1aUm4lG/pZDJVjnhv6fmqW4/gHZwAKoDiaIUBZyW26f4nuXufzxBi7DvzIBx6JiYFfdAF c7Dc3hQCs/6zxhlP5/knwpAZ0hosZv4frYrbS4v4iFvleKfN/XRboDqX+WkxKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730402377; a=rsa-sha256; cv=none; b=FT3R7CrtCspAh2KL4X1J2zI0ejI1imJFYye0bzweJ9dehFK+qeKQR2c8dRG69/K0kMSBEa tOGleSd0enrchbKYy9S+tbzPl8JzIy6FX7gvHYXkWowVy5kl+5pg2QsBiau+c9Nb/1ZkfU zAWqMVKMff198SHloWP7Fb9w4448Z8nvP3KpIc9Y7dY/EnwBcedtzXU3coLl4n2lAq0CYf EDBC0i6m9hR4uU1dnJR8p6wyvrAVxRRiPhrRt6n8YdKtEPLn/ZgZMTJ3cbe9buUlmISqzd wB1jOCYD7kJNFWQ0+5OUskksh+RV+B7WYgQL/p8N8EMKPZz+jk3ziPReYP93eQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfYhn4yYwzpBD; Thu, 31 Oct 2024 19:19:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VJJbmv033833; Thu, 31 Oct 2024 19:19:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VJJbls033830; Thu, 31 Oct 2024 19:19:37 GMT (envelope-from git) Date: Thu, 31 Oct 2024 19:19:37 GMT Message-Id: <202410311919.49VJJbls033830@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dave Cottlehuber Subject: git: 77b296a2582b - stable/14 - release: move OCI to ORACLE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dch X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 77b296a2582b4ea5e4398398e22bd5b4d3323107 Auto-Submitted: auto-generated The branch stable/14 has been updated by dch: URL: https://cgit.FreeBSD.org/src/commit/?id=77b296a2582b4ea5e4398398e22bd5b4d3323107 commit 77b296a2582b4ea5e4398398e22bd5b4d3323107 Author: Dave Cottlehuber AuthorDate: 2024-10-15 09:28:12 +0000 Commit: Dave Cottlehuber CommitDate: 2024-10-31 19:18:44 +0000 release: move OCI to ORACLE This allows future releng tooling to use OCI for the industry standard Open Container Initiative tooling, reducing potential for confusion. Approved by: cperciva Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D46975 MFC after: 3 days Sponsored by: SkunkWerks, GmbH (cherry picked from commit 1be84d745bcc11b766ac1fa03afd2c8ea8771737) --- release/Makefile.vm | 8 ++++---- release/release.conf.sample | 2 +- release/tools/{oci.conf => oracle.conf} | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index 3bfe2d8bfee0..ba57601c1f6c 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -22,7 +22,7 @@ CLOUDWARE_TYPES?= AZURE \ BASIC-CLOUDINIT \ EC2 \ GCE \ - OCI \ + ORACLE \ VAGRANT AZURE_FORMAT= vhdf AZURE_FSLIST?= ufs zfs @@ -42,9 +42,9 @@ EC2-SMALL_DESC= Amazon EC2 small image GCE_FORMAT= raw GCE_FSLIST?= ufs zfs GCE_DESC= Google Compute Engine image -OCI_FORMAT= qcow2 -OCI_FSLIST?= ufs -OCI_DESC= Oracle Cloud Infrastructure image +ORACLE_FORMAT= qcow2 +ORACLE_FSLIST?= ufs +ORACLE_DESC= Oracle Cloud Infrastructure image OPENSTACK_FORMAT=qcow2 OPENSTACK_FSLIST?= ufs OPENSTACK_DESC= OpenStack platform image diff --git a/release/release.conf.sample b/release/release.conf.sample index ac9c1aaa254e..351496dcf6a4 100644 --- a/release/release.conf.sample +++ b/release/release.conf.sample @@ -113,4 +113,4 @@ PORTBRANCH="main" ## If WITH_CLOUDWARE is set to a non-empty value, this is a list of providers ## to create disk images. -#CLOUDWARE="EC2 GCE OCI VAGRANT-VIRTUALBOX VAGRANT-VMWARE" +#CLOUDWARE="EC2 GCE ORACLE VAGRANT-VIRTUALBOX VAGRANT-VMWARE" diff --git a/release/tools/oci.conf b/release/tools/oracle.conf similarity index 94% rename from release/tools/oci.conf rename to release/tools/oracle.conf index a4fe54ad3031..d3b4eb351107 100644 --- a/release/tools/oci.conf +++ b/release/tools/oracle.conf @@ -68,15 +68,15 @@ EOF # S14 Root user login must be disabled on serial-over-ssh console pw -R ${DESTDIR} usermod root -w no - # OCI requirements override the default FreeBSD cloud-init settings - cat <<-'EOF' >> ${DESTDIR}/usr/local/etc/cloud/cloud.cfg.d/98_oci.cfg + # Oracle requirements override the default FreeBSD cloud-init settings + cat <<-'EOF' >> ${DESTDIR}/usr/local/etc/cloud/cloud.cfg.d/98_oracle.cfg disable_root: true system_info: distro: freebsd default_user: name: freebsd lock_passwd: True - gecos: "OCI Default User" + gecos: "Oracle Cloud Default User" groups: [wheel] sudo: ["ALL=(ALL) NOPASSWD:ALL"] shell: /bin/sh From nobody Thu Oct 31 19:19:38 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XfYhq1KK8z5cDg1; Thu, 31 Oct 2024 19:19: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XfYhp6rW5z4HfY; Thu, 31 Oct 2024 19:19:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730402379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KQ7pZW+j7IUO5vSqa7hTNp9XGVmdImYFr1RyoOOqt60=; b=trUhr6+jL3CJG6U8pOu2Ni2HfRNhByYM6Z2e0oUdmQXTe/l+iKwHfPgLjX5HrBAFjd5DRp qIsmgUnTqorxSorFPyC9x94Ly+7KUzrVw5oQx+2QOoR22YmYEFLu8nGOK1Tk6ZEaQzgQW4 cxcI6XV8dtx+w4gShUVx7O40pYvajYaMa5Hyqy/HL5h+dwEDgxqwL4BjXlq/HTg2f1gqLT MLD7/dhtUEyuoCaKWfq6X+iOCiVRe7Hjt9fuOKBaoVvr31d+7TZS3sjBEJVoBB1Ef5MB3M o2Uob1r3guTSbcFw1f5lScZA4n06eFIFxWgTCdxoCWNmy3GCGgq+4+Ibh8Y54Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730402379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KQ7pZW+j7IUO5vSqa7hTNp9XGVmdImYFr1RyoOOqt60=; b=ejpbD4yYZ8/cCu0hnOBwL4T2WMldcH/KH1dH09oHwKiLl98hh1lo7N0VLmSf1njOIi9jSc hMVWvGo6/Wyrk9r1iuDqq9ay6uREvuMBxGwUJ/1ZLYzPPhE/sK1iAzFMqWtcziR2/fwxoj TpUUQVvt89XlsulDdaJvmjfCNHVQGHTyF7DVvdP3WgdmxjgyMgvtPTGkGvXhRFGYy/tbEW 0AjZDJj3QSjkOyZSVM2rDdJg2VdqBujmDxr/DBN503ueU5lgQ7bUAMonWh813r+e5BuDrE OadFvqGFDQXFMJ1p22smoWoXCESfyVtt25Jbc1tjm/lr0ns45u0267LHh3qafQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730402379; a=rsa-sha256; cv=none; b=bEMzuCRZ4P6dW/9aqs/K++v7RsD6AIgYYgXf+HqJErO5wR6dlpgROUwUOdvkyE0dK+s5pV 1uOpPGAGtgIjnAJuhDcLnSTQqAoni660R1opZ+k3b8IUvi5JRqQhcf6Wa622DSQmXyQv9Q ztpCgdWCRH4dU4WmXgM/mSIpioVWRFpTe1J/mtgjfgu2d03QS90qU1U6I4BttR3QITV7+r tVxkMlI5xpCokUKPcn9mLkpShuoxdJA981dU3Ag/YNd/0Lv4qX+2P0TVfMFElcs1U0vHwA ZxwV1H4qK6NCDUvzvQelaFl178GrOFfRqOmm+y9t+Q+dONU1S1xuu5Wda+rCsQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XfYhp6D17zp0y; Thu, 31 Oct 2024 19:19:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VJJcpC033875; Thu, 31 Oct 2024 19:19:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VJJcU6033872; Thu, 31 Oct 2024 19:19:38 GMT (envelope-from git) Date: Thu, 31 Oct 2024 19:19:38 GMT Message-Id: <202410311919.49VJJcU6033872@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dave Cottlehuber Subject: git: 786ebfa46d22 - stable/14 - release: tweak Oracle Cloud settings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dch X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 786ebfa46d2211822e4d28d03451cfa4dbfe3cf5 Auto-Submitted: auto-generated The branch stable/14 has been updated by dch: URL: https://cgit.FreeBSD.org/src/commit/?id=786ebfa46d2211822e4d28d03451cfa4dbfe3cf5 commit 786ebfa46d2211822e4d28d03451cfa4dbfe3cf5 Author: Dave Cottlehuber AuthorDate: 2024-10-25 15:11:24 +0000 Commit: Dave Cottlehuber CommitDate: 2024-10-31 19:18:44 +0000 release: tweak Oracle Cloud settings - use raw image disk type and enable zfs, this yields smaller images for upload after using native qcow2 + zstd compression Reviewed by: lwhsu, emaste Differential Revision: https://reviews.freebsd.org/D47055 MFC after: 3 days Approved by: emaste (cherry picked from commit c611041660845e8ee8bf3009b32327d1f783a47b) --- release/Makefile.vm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index ba57601c1f6c..07fd8ec94f87 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -42,8 +42,8 @@ EC2-SMALL_DESC= Amazon EC2 small image GCE_FORMAT= raw GCE_FSLIST?= ufs zfs GCE_DESC= Google Compute Engine image -ORACLE_FORMAT= qcow2 -ORACLE_FSLIST?= ufs +ORACLE_FORMAT= raw +ORACLE_FSLIST?= ufs zfs ORACLE_DESC= Oracle Cloud Infrastructure image OPENSTACK_FORMAT=qcow2 OPENSTACK_FSLIST?= ufs From nobody Thu Oct 31 20:48:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xfbgq5qqRz5cMC3; Thu, 31 Oct 2024 20:48: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xfbgq5L6Zz4gjG; Thu, 31 Oct 2024 20:48:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730407735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ypj1BMnsGpjqnEI08MC4DoXQshlD7H9icZfrhacvoJY=; b=ICdxQQyzJteRrJtfmZO4zrPHXP5jBdKoHFIy18bRs5F9dBASqXfcSVUi348+ANFsxYZKkU IBcdebe0hqmJJbwnmqo2jLk4L8lgeJ272Q6tpqWAZvcR/5mtrNspxNFO7VIyiuedR0MC/w M3ITqaYqzgTJ3aMJV1N4DzQP5+fxWc/n/89KKLRlEWmLH6Xye1mNwT8Xv4m2xCHni1mddz U35MENcOmJYmXy5DiHOzYJH1gQaaDaYZXglGd0lXWgjqpwWcpUJnjhvcbBNdCwtlZvaoUC lHNZiOK16Of6L08XN6reCQXjQ0o7eDFYqEuHe18ndgFMA871cejH6T51WWv2nQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730407735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ypj1BMnsGpjqnEI08MC4DoXQshlD7H9icZfrhacvoJY=; b=FNP7SuaT6O82CtpKg7VDAmSiOYW+wgTNT86OTQx59lXDevffadw1W9+Q5IltfiHLgA4iA3 uRcRa0aBL9w/fWoG7IoqdpB0uk1+osLx8qHWXgCQo+gE06lu49BSAWPjsxSRqI0avL4uS8 f48hnXsRti895BwHWZisGeCbbxGeWvrNVpgEWO0lmh0C9PO5THcSonVcGbdMckmvu60xnH /V4f2TCuHRd0lqsEyUfWy/tbGDTakLNkIJpmdsIiSYN0vJE7VqP+G5mXq2dvFX8N2wPy2n 6W1CchOGyoEHdyEuklo8Cobnu/dO7IzKG2p1MTLr8xeIKj2Ou0nzTHQUAGl54g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730407735; a=rsa-sha256; cv=none; b=FeevadgDMdLmIwpQcFRFYOHFlRMx9foycvEciJtB9mTZXzICQROYSlbPS7MYuojNr4d/8x X5B8/Kg/6fIoihY6gggn0NMzDR3dxKAeTR1Oj1sg4CuHeVgDuua2yGhGqdlfbeJA0axj2p 8dOmMl8XASCqaI/nD5+FEiWJQUuS5Y0nufM6GM+JDxxbuYWZCS0KgPBJfguFalIhUkNz1n fQA64P2e9E6/U1Px2o8cUHzWqvlDLvL2MqJmrsDDF8ficXFX5noGxmOQdSjWp3Y1JBkiKS Yf7q+uvSd8BTrFuQJGKAW+F4Qa6jgEiKPNHh31AH2wR7DWmbm0HIIy+ZD+KquQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xfbgq4xQMzqjr; Thu, 31 Oct 2024 20:48:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49VKmt9d005858; Thu, 31 Oct 2024 20:48:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49VKmt0L005855; Thu, 31 Oct 2024 20:48:55 GMT (envelope-from git) Date: Thu, 31 Oct 2024 20:48:55 GMT Message-Id: <202410312048.49VKmt0L005855@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dave Cottlehuber Subject: git: 44ef88398e57 - stable/14 - release: increase VMSIZE for Oracle images List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dch X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 44ef88398e57b7c0b7893dfefb26f9c71ae0bd05 Auto-Submitted: auto-generated The branch stable/14 has been updated by dch: URL: https://cgit.FreeBSD.org/src/commit/?id=44ef88398e57b7c0b7893dfefb26f9c71ae0bd05 commit 44ef88398e57b7c0b7893dfefb26f9c71ae0bd05 Author: Dave Cottlehuber AuthorDate: 2024-10-31 20:47:09 +0000 Commit: Dave Cottlehuber CommitDate: 2024-10-31 20:48:39 +0000 release: increase VMSIZE for Oracle images While OK for 14.x, both 13.x and 15.0 are failing in snapshot builds. Reported by: cperciva Sponsored by: SkunkWerks, GmbH Reviewed by: emaste Approved by: cperciva Differential Revision: https://reviews.freebsd.org/D47285 (cherry picked from commit 89311e6f987ebb1a968eee6fe594b11bfb91977a) --- release/tools/oracle.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/tools/oracle.conf b/release/tools/oracle.conf index d3b4eb351107..08a9a3a372b0 100644 --- a/release/tools/oracle.conf +++ b/release/tools/oracle.conf @@ -27,7 +27,7 @@ export VM_EXTRA_PACKAGES=" " # Should be enough for base image, image can be resized in needed -export VMSIZE=6g +export VMSIZE=8g # Set to a list of third-party software to enable in rc.conf(5). export VM_RC_LIST=" From nobody Fri Nov 1 00:03:36 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xfh0S2GmGz5bBKd; Fri, 01 Nov 2024 00:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xfh0S1nQBz48j9; Fri, 1 Nov 2024 00:03:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730419416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=txB0YRloaPv85f1uvQ0hLdofxTG1vmMiDdu6JHSVOuM=; b=f1OLuXPwJGleCMQqIMC0tQ4IvcxFvs3MS8TVzlCFLWz1mnqnQJetxkPBhNMtYuHWHRqQq3 llh/r5w5Tpe9pO4EhGpgAX3OW7g6lDwyo8VEJCokgh/3hpU2Tztq51YdKAO4tjy4e5pDcI G5jUXN7TfWilcf+0kiW8TDy1+V9URxfAn9mxUvx2aThAvHL+MMupGztRA7Mfv4mxQfiL0U ty/DVJurobOrfUqOTFc4jdAD4/ZtBQyIVF9JcT/k4rNwxlpLJGW8CPY0+YRQiO7bSl3+2T w9kIePNMltbQpH5KkzXiq3MyfU0muN6KRPR3iIgxcbu19LMgqghEXrfik7AiHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730419416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=txB0YRloaPv85f1uvQ0hLdofxTG1vmMiDdu6JHSVOuM=; b=qL5y/x0JCfXHFFyfJg+Ti4QfjnhX03rvjnnK0XFLal/jlGBQEm4zPkaOQv+187OtOayWU2 fwg7llp1flocZ5R2PC+xVBWYVcXPqx37JNPcnn6/NKF48rf0TcGWD2uFz6wiuR7HLCR0jl lZOnpOzyxeFX13oYGFYYeiq2ZfNjDUuGF7962rtXSHRKxmx515nj+d2aNuGEFP7wd5tHIs EWo8IUmghAaRrBAf3FWSFnb+Kpx+AHD1reX8GIW9Mn1yB6qp96impAjYZ5QhwIjtSWzFDQ egiVCZjpEB6Cr0UI4pY7ponnoKlXJsJ+bIpKWG+LSfaRdUOb4gMOWKL8NfcfUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730419416; a=rsa-sha256; cv=none; b=MfFhSI1GMKhpFGOfx77Y/dk3I6vPr8QnZkvSlZascevHy9dAWhghuF1pWBLYHad7rJB1wu sLZzpKCR86woHJSptu3WZcQjVESCVr1xNYyN991sEMLfb3DRnNSckgJBeNSwr2Ap6WnecO 9uIUkqT2no15V9phsrKS+UPu0Lsv5nKD53kxjUW0HsdikTPZ7jj8617ImMlZPe6pB4JwUt Yc959FJ24hvSMIPp7eFZt7cGC0Hm0He0/kpHwz3jaH+NOlAx0GKOrqaxOKaNV30jRcw3/o ia/qqUTEWXAgXyPqXBWmBw0DjBfLwFaY6qNQbjhZvatRdLMdwQ6XAG2YPo4fKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xfh0S1PNBzwtZ; Fri, 1 Nov 2024 00:03:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A103aDO079084; Fri, 1 Nov 2024 00:03:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A103aVr079081; Fri, 1 Nov 2024 00:03:36 GMT (envelope-from git) Date: Fri, 1 Nov 2024 00:03:36 GMT Message-Id: <202411010003.4A103aVr079081@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 4e8444d5750a - stable/14 - Post-14.2-branch updates List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4e8444d5750a5d9da9c812e8f6caf6d62862be0a Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=4e8444d5750a5d9da9c812e8f6caf6d62862be0a commit 4e8444d5750a5d9da9c812e8f6caf6d62862be0a Author: Colin Percival AuthorDate: 2024-11-01 00:03:16 +0000 Commit: Colin Percival CommitDate: 2024-11-01 00:03:16 +0000 Post-14.2-branch updates Rename stable/14 to -STABLE Bump __FreeBSD_version Approved by: re (implicit) Sponsored by: Amazon --- sys/conf/newvers.sh | 2 +- sys/sys/param.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 9176ee00e9e3..c77c3818c566 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.2" -BRANCH="PRERELEASE" +BRANCH="STABLE" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi diff --git a/sys/sys/param.h b/sys/sys/param.h index a900131fe8ec..926485f34572 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -75,7 +75,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1401503 +#define __FreeBSD_version 1402500 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Fri Nov 1 00:03:37 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xfh0T3NTNz5b9vg; Fri, 01 Nov 2024 00:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xfh0T2wjbz48gR; Fri, 1 Nov 2024 00:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730419417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tuQIMSBPgJ9ZCv70KgnXLqoQt9ZEvrCHgSpGOIFm9qg=; b=THqwA+oEbBr342+89cjpupS9u5avf3DGB3CqySB6WTHzKW5/jowjo5LiWmLNk4RhY2CeXT Hk/h6KX+5OUnBwqGbxwI9cUkxe6rtRqFrXZk1e5sXOacpftIH9VVqaVNvW8AVTPOycx1XY bZ9Lb8OFWVx7f9RZH+uqbcHiMUOQXX62Mf5MJ+ChGy99rS2pOM7+pUaoJdemanTrtfAtFF ZBfcViyKeI5grS5xShEhOYBnmh6NA+g4vEDVveauN2Oe4rSe5p027RQG0TILHtfS946URA 6blxRtzhDoZcFRxzlj2ak6xdIgkue7rfGzXtYGqODfdHAUfxnZOiWB9duKtXFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730419417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tuQIMSBPgJ9ZCv70KgnXLqoQt9ZEvrCHgSpGOIFm9qg=; b=p8wBuLPYKbIFdd6mJ9mQ4VtGhkG37Bv3miPoCq2Mg34qhBAmpZHD0mtM2VCU/i7ZB5fxqj cSEu/I7oIc8xtOLvu7ZhGcQRwQqR9TU3njwb8wngXsVGT1OVPSlP6IvV1g8+WG0FVgR4rj rwq4i+dVz0yxIboKp9GDiQ8vsNsT1HdLt+3s14s8OEzGbFVHYB3jZ8wV3TAV2+RnhWvrjx 4pYSI2oqqrOY9arXOYtDQyyqKrRo5vH+oBHmZu/IjJFEbMzhvlhuFOoKPwazpwu0ddXADN 97SYKBhb5BiF+htSrPg2je3MId7+ewnSlPtsujeX8FLfFPoj7W9WGV7TCLLlXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730419417; a=rsa-sha256; cv=none; b=ApXCJidUv+m6v+33uOPBw0VZ5JxikIbLSa4rniR8lUWTVC4Dk3+TjyC/lISZLxLqSf5yHp sDwWOPctz/lWjZiQfyNvQhwPnbYiKe/bnAqA5SzrpebCuVCsVOvZ24CqOK2br43rbvGKnV t98O8lQv0FwOllX47SRbr3uwKmkeGRGSuLf0MaUnYu8V2i4c7lzPXCVCaQE0rsb/M7A6qf u2VfEJ3LbzcLKmKiBvF1qJqZJFwL70IWjCuhtbrAAM/kuQDLQFDC4lDEi3VxdyQdJEPtAH 7n+Sw3vsjiC8uwiCuv8/TG2M35waBN32oxqetaNXSX2Qb0lp4IwGao4EPqoasA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xfh0T2WPfzxgt; Fri, 1 Nov 2024 00:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A103btl079138; Fri, 1 Nov 2024 00:03:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A103bCI079135; Fri, 1 Nov 2024 00:03:37 GMT (envelope-from git) Date: Fri, 1 Nov 2024 00:03:37 GMT Message-Id: <202411010003.4A103bCI079135@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 603608e520f0 - releng/14.2 - 14.2: create releng/14.2 branch List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 603608e520f01b4626b63d98a6926cef5b297887 Auto-Submitted: auto-generated The branch releng/14.2 has been created by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=603608e520f01b4626b63d98a6926cef5b297887 commit 603608e520f01b4626b63d98a6926cef5b297887 Author: Colin Percival AuthorDate: 2024-11-01 00:02:35 +0000 Commit: Colin Percival CommitDate: 2024-11-01 00:02:35 +0000 14.2: create releng/14.2 branch Update from PRERELEASE to BETA1 Switch pkg(8) configuration to use the quarterly repository Bump __FreeBSD_version Approved by: re (implicit) Sponsored by: Amazon --- release/pkg_repos/release-dvd.conf | 2 +- sys/conf/newvers.sh | 2 +- sys/sys/param.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/release/pkg_repos/release-dvd.conf b/release/pkg_repos/release-dvd.conf index c2e64c43a56f..600c309d5979 100644 --- a/release/pkg_repos/release-dvd.conf +++ b/release/pkg_repos/release-dvd.conf @@ -1,5 +1,5 @@ release: { - url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", + url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/share/keys/pkg", diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 9176ee00e9e3..385b47891a43 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.2" -BRANCH="PRERELEASE" +BRANCH="BETA1" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi diff --git a/sys/sys/param.h b/sys/sys/param.h index a900131fe8ec..5d9c19974d6b 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -75,7 +75,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1401503 +#define __FreeBSD_version 1402000 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Sat Nov 2 14:29:38 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xgg9G3XFkz5c6fl; Sat, 02 Nov 2024 14:29: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xgg9G2sltz44fC; Sat, 2 Nov 2024 14:29:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730557778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q4NJoZ0LCpXY26ZL6Sb92p8NztfWdEm5VqmRTD6ZBFE=; b=jTW79eQ6Nal8bUXEcKz/POpJaFYWa5TVe7lqj70NpISjaM1NNoC5/4cduw7akgL1gZTSUY Vh+1i8iHCchwPW2OzrXlNaHDMQjXknGaitnXqhBSmigb7EHtuEQ/k0tRsAGiEI4cyzDLsF fIQLJROovio6ERv9ycBcYdu7kVufRIMqMWL9s0g/SeGNNq/mHwYoWtl6LXKDCUKxZlhy5N SS5WEzOQI00otlsnOwLjQGDu2VBVcPTL936hVDxJPT2VHPGntQO/GtgL6OTpZBVCybXBZ6 wLXbQE8rGe2AX5vYkPdQKw2dB9UuR01uP78ZEwM2yL2/p5DKZCD4waL8MTsbpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730557778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q4NJoZ0LCpXY26ZL6Sb92p8NztfWdEm5VqmRTD6ZBFE=; b=bUg7UaUUaY4GesORctIhAxHotBgZfosWVB3cHmLw4fuGomp4PuQak4G99U6VggGGfYKhyI +hzn13Q92Ln/W2O1w36JC1t/+KE+9MxwE07uPOy4siE0SD3Ma+Dh1rBDmcoYm24UyAatX2 Ph8xveDcoMJI6lusHiIhCQf1loYjFLx3vPitOkeRp+9wTi27rdGK9POOwFKIkhSdVX1ukb iPQVyhOnsez++yTkzm9W23Tap8IC5oXnHUs2icaLHEWbQoT4/pEEhai0QMXTidqW9VU1tL H8WYjapRpsBYjNq43CYjoZg1QMLL8LBCvO49cfMn84tc/MdamCfd6Ji81q8bQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730557778; a=rsa-sha256; cv=none; b=WNesacJm89csrYu+73msQUmanHSDejFveisT5lpVSfoWRrAp0lVYTNhs+VTLmLxzT3vIu7 24pshLjENAnmEXnJtc4c5QIieDAfTvWVWXevRwhTQOMYg003tbRmuaECIMrxpj43rVW7B2 NBs7htYCk7CBv76vc56RttiJJ1Anj9vAXcHPt9OSDez3Ju14cl5KG0QJmkTDY5CdPVkTTT gk7bVOLTNK0uNqV8qDykerJvISW61dLcYSQVw/z4lpnD8fkgQFBoznVRvbu5420xHHExGv vCZxwZ415NlcKUaNpzMnWUOBD/N8s7GBWxQ2i0jf1iUNHyT7qP1lio5l40kHzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xgg9G2C2Nz17FB; Sat, 2 Nov 2024 14:29:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A2ETcSr057787; Sat, 2 Nov 2024 14:29:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A2ETc4Z057784; Sat, 2 Nov 2024 14:29:38 GMT (envelope-from git) Date: Sat, 2 Nov 2024 14:29:38 GMT Message-Id: <202411021429.4A2ETc4Z057784@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 16b24ba87227 - stable/14 - igc: Remove a bogus register write in igc_if_queues_free() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 16b24ba8722735ee2657f07e32e5a5bf7ee62a2e Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=16b24ba8722735ee2657f07e32e5a5bf7ee62a2e commit 16b24ba8722735ee2657f07e32e5a5bf7ee62a2e Author: Mark Johnston AuthorDate: 2024-10-26 21:04:59 +0000 Commit: Mark Johnston CommitDate: 2024-11-02 14:29:26 +0000 igc: Remove a bogus register write in igc_if_queues_free() As explained in PR 277038, iflib calls IFDI_DETACH() and then IFDI_QUEUES_FREE(). With igc, the latter writes to a register after it has been unmapped. igc_if_detach() already calls igc_release_hw_control(), and looking at callers of igc_if_queues_free(), that appears to be sufficient. So, just remove the igc_release_hw_control() call. PR: 277038 Reported by: Mike Belanger Reviewed by: kbowling Tested by: kbowling MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47293 (cherry picked from commit 35d05a14ed7e9935be1ed0fe965b91aaaa4c92ef) --- sys/dev/igc/if_igc.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/igc/if_igc.c b/sys/dev/igc/if_igc.c index dd89b27e134c..38fb1406b1c1 100644 --- a/sys/dev/igc/if_igc.c +++ b/sys/dev/igc/if_igc.c @@ -2050,8 +2050,6 @@ igc_if_queues_free(if_ctx_t ctx) sc->rx_queues = NULL; } - igc_release_hw_control(sc); - if (sc->mta != NULL) { free(sc->mta, M_DEVBUF); } From nobody Sat Nov 2 14:29:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xgg9Z1hvWz5c6xM; Sat, 02 Nov 2024 14: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xgg9Y64VZz44s1; Sat, 2 Nov 2024 14:29:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730557793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qmWqZxnYdzg9+PukNdciyRK5aIxeG2lsNfC/qx8eSg0=; b=Bnth98W+aUGOLSKP9rpKRuRwarpPRg3d8UIhNpQ7bgwNTm5keoTmJjxpAsphX//MBiPjJz Y9hCAtWg/8m5Jr6zaYCgEbsmV60ylKpCLg+cFOJBNi7n6uq5AmVFIp6sCtkEDkkOejaL+t 0GNsEfTg9+ufNPW6euwYbgAoy/oBR9d1Ix/qoo6ks84TBih0xVFuoBmEl7KbygRKimrUg1 sIfwGsjIlQVGaydXpHPzVxTXMbwpANAgW/PDEUc0Kj/spL4rYNTo34/oHEDGuff01nTNVD cEKtgREgrHuTG0YEugqs3execexY3TLl5gQ5OdqSgK1Hz2gTWDlmsoUUVdYDlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730557793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qmWqZxnYdzg9+PukNdciyRK5aIxeG2lsNfC/qx8eSg0=; b=oyWENukfDRXuoZh4e8gnrV4MOdYkYGjvsZLyIexb2ysYB4hpRtFv5/ZgOir7hqK4SAfWVy OyWvBAAvrsiD4+cxVibBJkuKCHY3bgKeT1uH+fUVZS0e9G7Vvrz3aZGrK41BsPJ1CaN+oK 93DmYPaHlE4ao4/5oZVNiouje4xX/S2QWdeEMUGcfHeTVDvU7PHbDA3V3tAX5Ivv0bkHSK afiLprm8if5RBD1Oqwe6bbsYI3PV4nqZ7qneFhSWzHfyOMpmxdLOZNH22jALHny5V0w7+m URdtBXUgvCYKKA+a2o/ajp0NcOGYTPbwHC3tYCortEG3fwiLImyGLsfoJtK4Nw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730557793; a=rsa-sha256; cv=none; b=ug99EY2ANn9DZzDiB04PxW89jAxcBOQ0T87Jx9HsViVPVHK5XYZPJNOerlLnTQ6QUx+NWu Gz3PZOkAsQbAAXymI+wrzGxUg1MqOsjKIdnt6zkQA3kadTEgZAxxqd2Zvoj0gLv1qDoSJf 8SsHsl471eimxMPyDVBpmcdT5ThOjgiJKtPzZV1ko+JyB4JXk3Ua9pcd0fAUsfC8pXVUmy wiGqR6j6vxd/Yfsf7fR4/HBq0vkSSCQrr5S2mnDPwZXxB9G1/PO5fOuf570KkNR/QBKWb0 1DMMDYlFIKtFXWcCRUION7zTpCpO3c7EIyei2681sNP1FCGAEXk+Eyrbsxr5uA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xgg9Y47Lrz17FF; Sat, 2 Nov 2024 14:29:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A2ETrYq057999; Sat, 2 Nov 2024 14:29:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A2ETrwA057996; Sat, 2 Nov 2024 14:29:53 GMT (envelope-from git) Date: Sat, 2 Nov 2024 14:29:53 GMT Message-Id: <202411021429.4A2ETrwA057996@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 57d879534096 - stable/13 - igc: Remove a bogus register write in igc_if_queues_free() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 57d879534096d8b49d0e6ba72dae1783e9a1cccc Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=57d879534096d8b49d0e6ba72dae1783e9a1cccc commit 57d879534096d8b49d0e6ba72dae1783e9a1cccc Author: Mark Johnston AuthorDate: 2024-10-26 21:04:59 +0000 Commit: Mark Johnston CommitDate: 2024-11-02 14:29:46 +0000 igc: Remove a bogus register write in igc_if_queues_free() As explained in PR 277038, iflib calls IFDI_DETACH() and then IFDI_QUEUES_FREE(). With igc, the latter writes to a register after it has been unmapped. igc_if_detach() already calls igc_release_hw_control(), and looking at callers of igc_if_queues_free(), that appears to be sufficient. So, just remove the igc_release_hw_control() call. PR: 277038 Reported by: Mike Belanger Reviewed by: kbowling Tested by: kbowling MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47293 (cherry picked from commit 35d05a14ed7e9935be1ed0fe965b91aaaa4c92ef) --- sys/dev/igc/if_igc.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/igc/if_igc.c b/sys/dev/igc/if_igc.c index 1daec6e09694..5851b715b932 100644 --- a/sys/dev/igc/if_igc.c +++ b/sys/dev/igc/if_igc.c @@ -2051,8 +2051,6 @@ igc_if_queues_free(if_ctx_t ctx) sc->rx_queues = NULL; } - igc_release_hw_control(sc); - if (sc->mta != NULL) { free(sc->mta, M_DEVBUF); } From nobody Sat Nov 2 19:40:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xgp4C1Xs9z5cb0c; Sat, 02 Nov 2024 19:40: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xgp4C0rXlz4vcv; Sat, 2 Nov 2024 19:40:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730576443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pzMHRKGF/swfCT7zyERUHG8uoXgdIqs/NG+OsC63CvI=; b=OlJ5gtFTDlmyOm96U/cw7sff65O3mI0FUyCnAhu1Uvug+xJRnGha45ZXJSEqeT3W9ra3Y+ Bd74HwtWNGlHJSQdZ20i6mG/2REn48lpeOX13LdOTMq9I+ucXkn4GclwMSGU84Ck8aT5KI X/Pd6CRsGwy78ZIVDgFyjUgT62B5/MtLMtDVoIxVhAq/1mrO9gMi9B7EKncSSzg7j8on1i B90XotO0E0CfcZtbzBgvts2f1tKAMfZCTfnFZEsJY0BdsPAU5o1+TJVMo3t1ew0t31lC7R sIO1caybwjQG5j2qk2T2Ut2rmMFMVG249hMMlGk+6jh4dXie0CQVoMFO/mh0sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730576443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pzMHRKGF/swfCT7zyERUHG8uoXgdIqs/NG+OsC63CvI=; b=FZPrKPPCB1kj/UL3rh+MkXChhFE3FEXTOsWbD/eRjjySUzWYliGiSLuWEiLHpduHpWvgYS Bw2cCv0SssrxA3uiPylBkzPya+yZWiijb3H9I7uLSZZZxUf3iB+QvWSLJGe/GpG94KmRJ9 WUvbGHpTVzWGwonucwkfGZAWRXsjlSRzKyn1wuspMBJCZubdBNMTuUFdFK51I1Y0Pn0pw+ aBiE/qppgGVHYFvDh+2hncTctTTudPY9bI7UXSoorWxWA9+ALWxPCM96glkItSYk018MdY 7owxzk/vE0EKzJ27GQh5gH2hBAert3En3GHqCIatmwAiDIrV8mb2jX5AiNEahA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730576443; a=rsa-sha256; cv=none; b=gROMEug0i6Zx9B1i7Frg7lCVFoBNTXiZv+4ThtJWJa3layyqv0+hL3cBmPqNm6IFdKdVHm pNuw0hiEhJzzxt7wcj4eIuK/yQicO5R1/Isp4dY82Rfm7YssY8sqE2VMW4NSqJDHPw5Xmw xF2r0IeS7hiSPNjZ6Hh1TN55smhA67pHsinqZ+/3IsgVEAWEONQp/xMjD7DQv/8uA2Athw PRpxEsC53Pst+aoaPwGkLcJZin4sgPP5Ij7zkP9HlJH4idacONdmSh+88iisFGhEGZhWFK ulbbD7er0vZ2aGEbARy8gnGkhLprVirYXfGCjOhliN3pga4g0zWUyvBz0wNEMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xgp4B73D6zHWP; Sat, 2 Nov 2024 19:40:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A2JegV7043308; Sat, 2 Nov 2024 19:40:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A2Jeg7L043305; Sat, 2 Nov 2024 19:40:42 GMT (envelope-from git) Date: Sat, 2 Nov 2024 19:40:42 GMT Message-Id: <202411021940.4A2Jeg7L043305@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: 17d39df524a5 - stable/14 - Tentatively merge llvm fix for buildworld WITH_ASAN List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 17d39df524a5003131398bc9fbdf8c9fef043d05 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=17d39df524a5003131398bc9fbdf8c9fef043d05 commit 17d39df524a5003131398bc9fbdf8c9fef043d05 Author: Dimitry Andric AuthorDate: 2024-10-28 17:33:49 +0000 Commit: Dimitry Andric CommitDate: 2024-11-02 19:37:27 +0000 Tentatively merge llvm fix for buildworld WITH_ASAN Building world using WITH_ASAN results in an assertion when compiling certain source files referencing ifuncs: Assertion failed: (isa(Callee) || isa(Callee)), function analyzeAllUses, file /root/freebsd/contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp, line 514. This was already reported upstream a while ago, in , but now there is finally a candidate fix, which seems trivial so I am importing it right away. Reported by: markj PR: 280936 Pull Request: https://github.com/llvm/llvm-project/pull/113841 MFC after: 3 days (cherry picked from commit f3457ed94241be9d4c2c3ab337c9086d5c45c43f) --- contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp b/contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp index 19991c1a7bae..3973a48139aa 100644 --- a/contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp +++ b/contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp @@ -506,7 +506,7 @@ void StackSafetyLocalAnalysis::analyzeAllUses(Value *Ptr, // dso_preemptable aliases or aliases with interposable linkage. const GlobalValue *Callee = dyn_cast(CB.getCalledOperand()->stripPointerCasts()); - if (!Callee) { + if (!Callee || isa(Callee)) { US.addRange(I, UnknownRange, /*IsSafe=*/false); break; } From nobody Sat Nov 2 19:41:10 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xgp4k60xqz5cb0g; Sat, 02 Nov 2024 19:41: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xgp4k3GWlz3wc9; Sat, 2 Nov 2024 19:41:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730576470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=auQMckqfprd2HqSjWsFFZGocQ8ndEuJTYx84tEVEQlY=; b=HQ4Rf/4joljXTkZ77Vp7M6LhwQULZpWOJQr+gDxhsPzwRmVtzLNOyOJxOWivKOP4Ir9RwQ dTguOiSkbPDN7tCvsWKRF/bccEGQfrtzqZeXYBEg+5VFec6O2A8gEuPJRwKhAe1KlTGcKr ebxCXBqonMJS4Yzgaw/J8TQoU82Pm4rhTjEgnnv9oShl+BRaARvsOSOgYgQBfjHLbSbIbr ryrbs378BZbNFyAEbkJs7L07CK/8jFBhStoT82LClUmSKQXvGNTBll+vAJcRhU1xXAyEBE NHAeT2q+Ixa/LnKFnamncH1tkCi9DptbdSZGkQVGdLl0BAjxo5M+t0WnzEL08g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730576470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=auQMckqfprd2HqSjWsFFZGocQ8ndEuJTYx84tEVEQlY=; b=aLw09K9XsqbmaD2yrBSywzN5xd7jQYC2PNUUqyZGEXoYJnbjsjnyRnHHL+WViBCC471dnm B4LxnyUfZO5++KoQMaOvvoft7NLwoWDBOCmo8k/bcH2F7TZgr1zUZmNxVSGxEwY9vDRLJL XG0LpC2qAfytmHBLBqeiRIDlmEEnGnDgKryCaNfP/uEcer/BXX0Gs/ykKZvdTzORNDMkzw SrMhkpNeYhN7tLKdvtdf8GxBNyNMAezCTX3Csm7afGLcuAWxGvYWy7XvCsbzKpbbn0N0u+ ghTh/rftwrYIfjVNvuw3dQE5K/zgl4U1qcHM6c9zIfTp1T3XGOjqRPFaS29jXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730576470; a=rsa-sha256; cv=none; b=FaMgyHbrozhdUFdLzLVLi5krvV3nrJ71IY7iQM38ZCR8dA+mYZ3Y+fVOYOCjvFbFiwmV1z jIE70kxh8MJ5fa3d5ivi0EN2YnFQyRzQNEarXLb7oZ2BJc33vvXLrXdeM+Nfjcsg5L+Dvx FH5gC3E3bSCk6Dy8Nx7cmtMHVpjBOYwGI4A8QhntzXpnvOaq9d2S8SrRPKpwwhxomdYwvU drJ3JnAjQ7ZzuJmkfA6haOiddvSLPxYlDVP8zqoxzZEbasg8Nxr2G93wDgCpT2ew6ioGOs JOZCHcNyC1Gy6zi6HxLgWqzh9PsFcaLZQAEJU1dLxvYaQCpInLloU5SBpgK/Vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xgp4k2jNTzJ05; Sat, 2 Nov 2024 19:41:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A2JfAXg044556; Sat, 2 Nov 2024 19:41:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A2JfAAA044553; Sat, 2 Nov 2024 19:41:10 GMT (envelope-from git) Date: Sat, 2 Nov 2024 19:41:10 GMT Message-Id: <202411021941.4A2JfAAA044553@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: 814ddb3c8cda - stable/13 - Tentatively merge llvm fix for buildworld WITH_ASAN List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: 814ddb3c8cda06686c5fe10f67b63bc2457e97b5 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=814ddb3c8cda06686c5fe10f67b63bc2457e97b5 commit 814ddb3c8cda06686c5fe10f67b63bc2457e97b5 Author: Dimitry Andric AuthorDate: 2024-10-28 17:33:49 +0000 Commit: Dimitry Andric CommitDate: 2024-11-02 19:37:33 +0000 Tentatively merge llvm fix for buildworld WITH_ASAN Building world using WITH_ASAN results in an assertion when compiling certain source files referencing ifuncs: Assertion failed: (isa(Callee) || isa(Callee)), function analyzeAllUses, file /root/freebsd/contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp, line 514. This was already reported upstream a while ago, in , but now there is finally a candidate fix, which seems trivial so I am importing it right away. Reported by: markj PR: 280936 Pull Request: https://github.com/llvm/llvm-project/pull/113841 MFC after: 3 days (cherry picked from commit f3457ed94241be9d4c2c3ab337c9086d5c45c43f) --- contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp b/contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp index 19991c1a7bae..3973a48139aa 100644 --- a/contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp +++ b/contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp @@ -506,7 +506,7 @@ void StackSafetyLocalAnalysis::analyzeAllUses(Value *Ptr, // dso_preemptable aliases or aliases with interposable linkage. const GlobalValue *Callee = dyn_cast(CB.getCalledOperand()->stripPointerCasts()); - if (!Callee) { + if (!Callee || isa(Callee)) { US.addRange(I, UnknownRange, /*IsSafe=*/false); break; } From nobody Sun Nov 3 00:40:06 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xgwjf3Y2wz5b5Jl; Sun, 03 Nov 2024 00:40: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xgwjf2hLCz4XZV; Sun, 3 Nov 2024 00:40:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730594406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8/m8lX1XngYKzNon9xt782wOt4Rj5iMmN0/mbtFR4GY=; b=V2j6jbSlF/UX++GdoHHIiSubQMYijppWVKL3IyjcyyVAKI/9ZnToWtazFVEINDIHCyS4bt sxMHAXdeuxpl0ZsJ795HgX3VrOIvOrBiEQ9GTbGioTx0neD6hRX6LeCg4+QlreLXhTYalt fmjkxgdslQ/8I4tAEVizOm7k3r5Ua4n+i93hNaQSVrwyFN7s18BLFTVPJ0AJ1EbbvBGaEm fjYZWHxdyiCE1UT4obnCFlRuypzy6ESJDdPFQx66VVAhKZyU561LUXhO6GOltRkIS5gcBg N1wsv88N5kgd0yHEKjHeEj6LItcfrjtobTL6yQdI54JKgC05aH28v4ICDDWyyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730594406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8/m8lX1XngYKzNon9xt782wOt4Rj5iMmN0/mbtFR4GY=; b=iOVCxz2qzFi9Tz9G5Ur9rFcoZ4I1tq+mQarNi7B0VEJoHDOU7ce+a10nrp8V7zzKb/Pc/8 mW96mvYoUDYo53zBYhohrKES0y66C2z4FT86Lz32gxJvBwS5CViEQK8MOgiApbXXqKC0fO HxZvEb2Jp/4bq8QLHlKObdK3wabV4EOxoQ0v3dQFOJ5R2wHQZU80wAXpMmIcg34yLUp4Vl myqY7r61IN4FyZXkJ9G8FIBGHmrqhfgnvYi2fh7gEXIg1YvL2/X+PKhh5e2xeCoL1ekdkz 71M8yT8vs2bp73zUbD4W5Qir8ScGhLYLhft9u0IztNa5fbiAYctd0YwcdJ7x7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730594406; a=rsa-sha256; cv=none; b=jthdbKgUcIswkNLV6x3YrsfkPAXY6yKfKUn00ADMvZVbvzMrdMaqzymSOetG03R47Yw/bL /uyA6OzuckvZry3xONKhLgJZVGnYJ8PPJ6jwyUbdAU/CP/3FzepnoNuEC3uJcWXyRde5l0 9qs3Abhazq1rnKzAttdIPFOJDYEGpd/2/kdUNkihYAaMu4ePAaPvGAsRUU0nXmS3Rw3XpX g+eggq35QDBpkTjudaTXbc+i4TPugSyd6aLMrsaXtKl1CMUO9oYsTU3JTDKfvfk+DCNqAy L1KivqNn3fIbY9O24w3l5rpw+627K284ue5xbm/4ozv2CclK2v9ZxurApySYxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xgwjf2HYyzRls; Sun, 3 Nov 2024 00:40:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A30e6pP094303; Sun, 3 Nov 2024 00:40:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A30e6ks094297; Sun, 3 Nov 2024 00:40:06 GMT (envelope-from git) Date: Sun, 3 Nov 2024 00:40:06 GMT Message-Id: <202411030040.4A30e6ks094297@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: 05bc70bab4ff - stable/14 - x86: do not leak msi_lock in msix_alloc() on iommu remapping failure List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 05bc70bab4ff1dcc3eec8d9c47d469f78c08ba9e Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=05bc70bab4ff1dcc3eec8d9c47d469f78c08ba9e commit 05bc70bab4ff1dcc3eec8d9c47d469f78c08ba9e Author: Konstantin Belousov AuthorDate: 2024-10-27 01:39:58 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-03 00:39:43 +0000 x86: do not leak msi_lock in msix_alloc() on iommu remapping failure (cherry picked from commit 439fa16e1fd35181898b61264b205bf3b7103a41) --- sys/x86/x86/msi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/x86/x86/msi.c b/sys/x86/x86/msi.c index c8e7db9469ed..9d5a51f9753c 100644 --- a/sys/x86/x86/msi.c +++ b/sys/x86/x86/msi.c @@ -723,6 +723,7 @@ again: if (error != 0) { msi->msi_dev = NULL; apic_free_vector(cpu, vector, i); + mtx_unlock(&msi_lock); return (error); } msi->msi_remap_cookie = cookie; From nobody Sun Nov 3 14:51:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhHcR0FWbz5cGgn; Sun, 03 Nov 2024 14:51: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhHcQ6ntPz49QD; Sun, 3 Nov 2024 14:51:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730645511; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jjr8yhry1DAH3gnK0Oic9BPNO5eggFFKMi4ubermdBI=; b=kzNT3ptLCiKSU4JADz/qo1hfZ30wtl8qjb7K/XC6XS0NMGhqR+glI+twomcSXZS6ByLbTU Gs0l3tSQHIkYijKRwYwLB13rCGkPaBnaPtGaBs4U+6au8po4S7HVccHYyjyQZJK4rBopu1 UPxVe1buLcTiwYtB94HxaVIqk66uD6nLKZ6VHY/yjmzV7c1Rkk3tQndHQxRZZ5did9rvQy zIgOVu8tssJh3y0Sk3dlLCNgNqJfnIr808/VGVjiTqrpx72uax63TzevRInNTDdDu2Y18D D8djo+JmsdKJm+8q44k2xK3nUYhDk5YqawFy0ucylYYxU99jGO90W4GUAvVX5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730645511; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jjr8yhry1DAH3gnK0Oic9BPNO5eggFFKMi4ubermdBI=; b=HCnamA+6l/HiAwvsWx+p64eaDLWLwWUCX3wyLjlv0rTCpX22xkprgP5J+ra8eNFudNI0b7 MapqEdDsE+JwpYHdYJIqE6MUAjFDlmiknQbc1i6p2srqEg3Wat1hHEm9G+dZM5XsOVFYAS k2xgMOZDlapWNYOirEvJfH4v12DpVyR915RJjs+/S8OBxyE2WihGCIycXHOwedxL41ebbB Usx7Gwq/XLFYQktjuDoxHMJsUotI4rXnQnEB25FGLihe/vl9eVNBl/5DnOl3baFq+2ZMd5 roYHwHAx40Dw9jNAdq/oy+1KOTyONFOyxSKYCqOkKK/CJBPKDeNL3gRv5TC5/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730645511; a=rsa-sha256; cv=none; b=SByFIgok9Lkjzq4QZzFc36xvoalzn1ZZ/7N0rLqreCAZX6Xra+G7vI3JIlhHq6VHyn3YWv jf8uIBq03k6hRMGAwACeF7sH311PmercauipDmGTy1NFOtYcuD37ur7c9CPkhAdFs1O40I DxrKRWcZdHSZxtAQ3T72YexN7EYQ+lTtj0XYCxdAnLKx7RZHhHyIT6ZgBFI1sOx4EmgfBU +L2zJx3N65UfeAyuEObSj5EM/QOTdf/Uq13CDUYE9Ic+yz5g08gBnbbI/uqLlXRey0XlcI MOfEfysznIMcexd16FQzkmxUE8HhmSRheGtBDbP9mwZ/sLch8inOdwG+B1DAPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhHcQ6JBSztdP; Sun, 3 Nov 2024 14:51:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3Epoa7082399; Sun, 3 Nov 2024 14:51:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3EpoJU082396; Sun, 3 Nov 2024 14:51:50 GMT (envelope-from git) Date: Sun, 3 Nov 2024 14:51:50 GMT Message-Id: <202411031451.4A3EpoJU082396@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: d9901a23bd2f - stable/14 - libcxxrt: Update to upstream 6f2fdfebcd62 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: d9901a23bd2f4e6aeef7f628f946134c4698fc38 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d9901a23bd2f4e6aeef7f628f946134c4698fc38 commit d9901a23bd2f4e6aeef7f628f946134c4698fc38 Author: Ed Maste AuthorDate: 2024-10-31 15:51:29 +0000 Commit: Ed Maste CommitDate: 2024-11-03 14:51:37 +0000 libcxxrt: Update to upstream 6f2fdfebcd62 Interesting fixes: 3cbfe5a556fe Avoid noreturn warning on terminate() (cherry picked from commit 2dccd21949f26b1bdf5e7cf258b760fffd3bf259) --- contrib/libcxxrt/exception.cc | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/contrib/libcxxrt/exception.cc b/contrib/libcxxrt/exception.cc index c87fe5ac4468..5034809a1380 100644 --- a/contrib/libcxxrt/exception.cc +++ b/contrib/libcxxrt/exception.cc @@ -237,7 +237,7 @@ static_assert(offsetof(__cxa_dependent_exception, unwindHeader) == namespace std { - void unexpected(); + [[noreturn]] void unexpected(); class exception { public: @@ -1530,28 +1530,34 @@ namespace std if (0 != info && 0 != info->terminateHandler) { info->terminateHandler(); - // Should not be reached - a terminate handler is not expected to - // return. - abort(); } - terminateHandler.load()(); + else + { + terminateHandler.load()(); + } + // Should not be reached - a terminate handler is not expected + // to return. + abort(); } /** * Called when an unexpected exception is encountered (i.e. an exception * violates an exception specification). This calls abort() unless a * custom handler has been set.. */ - void unexpected() + [[noreturn]] void unexpected() { static __cxa_thread_info *info = thread_info(); if (0 != info && 0 != info->unexpectedHandler) { info->unexpectedHandler(); - // Should not be reached - a terminate handler is not expected to - // return. - abort(); } - unexpectedHandler.load()(); + else + { + unexpectedHandler.load()(); + } + // Should not be reached - a unexpected handler is not expected + // to return. + abort(); } /** * Returns whether there are any exceptions currently being thrown that From nobody Sun Nov 3 15:05:02 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhHvf6TRZz5cH8s; Sun, 03 Nov 2024 15: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhHvf5vPsz4DH6; Sun, 3 Nov 2024 15: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=1730646302; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oPKu12PeCKsuv7ygIsMv2IQR0eoT2LyAUnHDtmgF/mc=; b=X8VOf9ZIDq6IFIJ8eSd45VMsAEM2ur1EiEHUvi1PqQLeYLzlzZ1fJ9E0cUkt3k81zDa6iC vBrojNdJoEuEa35qFx4Knc1N1PcKk34k/70I5gmTGKi9KQMdF3mdhZdxsyaSAOtqgbkOrX Gx2UwsUk6YQv8+eLlopFFgOYaHmYwKrEM3H6ZMG6tLBbpERMyB0RKssUqkzyjCSmgMmQbR cgxBKCVemnu3qYJsJHt+D1OUI7iJL/iDuruW9hCeUpiKKNybArAojzjztZotckBiAWG/iL peu2Y1jDqiqHJMaG2Y/cGvVRFdld0a1z2q6GtHmviFel6bewW8pYOXjP9hkmTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730646302; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oPKu12PeCKsuv7ygIsMv2IQR0eoT2LyAUnHDtmgF/mc=; b=v8i8xWJZYKWo0MBw+pmGswdRTysVMRCl7UzhxFDfw46q75wmXUQ208VOMYG6nl2L2ZGd6G Pm7dAJ/u4qJRbpoidG+ALktPO394p9ysXQovV6c+rjV3WgvnzOSrEA3ot4BL/ARgbWqF1O CYDQCQ9QPf8TCJbjdjQZW2W61DObL18b2QRtSNxqQWIcZ4N9qQP6mDNefZGJyqHYakmMXh xvgFKZ42dz9T8VLZeANzNHl44ZYlxN4nwYZqmdZmQsCFhcHbWajTHRRcJD1gPyrWPiUhKv qTl9F/6FnLCw0a0lgYTAsdGZZGRfpHxFhpTaiS2iWx1MV8eoIvgNsEn5vVsXTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730646302; a=rsa-sha256; cv=none; b=sLJ0KSAxYXIkS5vzXBvOP04BnGRYEa04VhmyfF9xHYykLwEQhinlQzj7dEmVSqNsOM0en8 nZ18ucADr9VReQkEliD4wwU+PI1By8uvmSeYTdjhOCIYUGNBtNQdBtfRUTwOe/rSz2b3Bf jE4uxZTRS1lof3/3azUNIq9QsYs3TjQGs+sQMs1roR7awMGGMbvaxr8iE5tUhT7QWMKmnv 3Eoz7rFaARYL4hb4DUMPTHzBU8PTzfINRP1XV9w56yAh9mSXDLj5WCCLtKjkrHPmYzy5hR jlhGeqSRFjQW9Wjcq3EAYn3PVfP0EHUegaOaNOBGIOXjkRn76L2dSRp0yHlH2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhHvf5WJGztB7; Sun, 3 Nov 2024 15:05:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3F52Xo005532; Sun, 3 Nov 2024 15:05:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3F52b1005529; Sun, 3 Nov 2024 15:05:02 GMT (envelope-from git) Date: Sun, 3 Nov 2024 15:05:02 GMT Message-Id: <202411031505.4A3F52b1005529@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: 3e3e2c632847 - stable/14 - resolver.5: Fix example Google DNS server address List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 3e3e2c6328475ab8460f6f57aa2696c544d9ddec Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3e3e2c6328475ab8460f6f57aa2696c544d9ddec commit 3e3e2c6328475ab8460f6f57aa2696c544d9ddec Author: Paula Breton AuthorDate: 2024-10-31 07:11:04 +0000 Commit: Ed Maste CommitDate: 2024-11-03 15:04:46 +0000 resolver.5: Fix example Google DNS server address MFC after: 3 days Signed-off-by: Paula Breton (cherry picked from commit e7f0f4f9206e8b0f411847b293c7b79eb84f0e51) --- share/man/man5/resolver.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man5/resolver.5 b/share/man/man5/resolver.5 index 525a681cb564..c3ec226efa6d 100644 --- a/share/man/man5/resolver.5 +++ b/share/man/man5/resolver.5 @@ -238,7 +238,7 @@ nameserver 192.168.2.1 # Fallback nameservers, in this case these from Google. nameserver 8.8.8.8 -nameserver 4.4.4.4 +nameserver 8.8.4.4 # Attach an OPT pseudo-RR for the EDNS0 extension, # as specified in RFC 2671. From nobody Sun Nov 3 16:02:19 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhK9m173fz5cMc3; Sun, 03 Nov 2024 16:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhK9m0g0Mz4MkX; Sun, 3 Nov 2024 16:02:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RPwFZs4s4A9WfzCItZDP0kZNAwVpq91PGiYMTkMPRq0=; b=dC7BRiwSq/ZxuA7nDIuvomMmqUaypg97ikY4BjzfDzjiTwBGwoo/aFSQ36pfnRU2YVVMEn 5VD1yMufnfdZlWt8XNpjD5o03sJlqoqrLfCQjHCyBd3cBIbD374H+q7xeWPaw/j7ignGcz vfLaz7DWmRjI2fwT9RIygCw3yK9/1+Ct7J2EdK70hcZP2oaH4iDLYLd3QGU/LTpSaY68xK +cRkHD3nVVtgBgTsCiEyF/jigVnKxyqVl+C3oLYEE6/NxqclecSwHqzldmUVE1hY2KV0LF IWNm1oxuoB8iT/Z7bGnNQRmwrT3uBv+0gbc3fLuPW4XFRsvzkznatmJBE+0k5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RPwFZs4s4A9WfzCItZDP0kZNAwVpq91PGiYMTkMPRq0=; b=poSY7b2THM8kIT/ISsjse3nzXdUm7JbSxSsjBBVH6oWi7J+7HU8qJTSCWjU+5jDgK5/swY N/RVTDN52JNT98vCVT8o+OXknq4qc8rN2xYLosvfRe9emDyR6YoR2BMvVBAOhEiebUoFRA gOubB+jCwYL1XaiXSDWLyMZT6dVPzv9MH1shY6kCsQwS84jixkVmU6wktMCjGxzxTrzQPn 70vyxN5gShJRbK45V+JLqonY7QNRhMdPX8H/SqEsNljHoeKjefM7c1dokvDS7ta3vJm4vZ 67El0PvCgs9Hylo01sITqOtCvLyaxfBFpXiLCSt3RWjciaRmK1u8LQBB5GyRkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730649740; a=rsa-sha256; cv=none; b=WIy39Pt8wC3UZJH7XlcZDAo2R5aTVKyJSXwg0h/UUz6IxA9iIgNlk0U4CWLaesKAXuGso+ p7ZdRdQeGV7NzLMq78anUGqMSoQvJZ3bGqBAdaxgN4B1aon5/CIRhaGQe+4rL+WIDbzJmV jC5Ya9FEhTUjmSvb4TbmQEMRJc9tuSUdXc+r+9pksZTd2W0AmyRl///7IEaqxOySsZG+za lbhrwF/57B/iSgadbCn32FfsKGAvuTtqwzNnpHwDcCENaSSI2YrXO2AZc5nFgfI3+iICSf WV+7/9m9gD4Va95t9oLcxYtongrV0BH4VCXQ2kn8geuBUcpCnTeKdWVmvjqrVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhK9m0GdBzwQN; Sun, 3 Nov 2024 16:02:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3G2JZ3015448; Sun, 3 Nov 2024 16:02:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3G2JSf015445; Sun, 3 Nov 2024 16:02:19 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:02:19 GMT Message-Id: <202411031602.4A3G2JSf015445@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 14887d2c869a - stable/14 - gpiobus(4): Add an acpi variant of gpiobus List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 14887d2c869ad47d5921fc9aa07e891a38950121 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=14887d2c869ad47d5921fc9aa07e891a38950121 commit 14887d2c869ad47d5921fc9aa07e891a38950121 Author: Ahmad Khalifa AuthorDate: 2024-07-08 12:22:17 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:01:27 +0000 gpiobus(4): Add an acpi variant of gpiobus This currently only implements the address space handler and attempts to configure pins with flags obtained from ACPI. Reviewed by: wulf MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1359 (cherry picked from commit 92adaa5862d5ea94318a011e0618622d0fb72521) --- sys/conf/files | 1 + sys/dev/gpio/acpi_gpiobus.c | 311 ++++++++++++++++++++++++++++++++++++++ sys/dev/gpio/gpiobus.c | 6 +- sys/dev/gpio/gpiobusvar.h | 2 + sys/modules/gpio/gpiobus/Makefile | 3 + 5 files changed, 319 insertions(+), 4 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index 5325e010d970..5239f38d5154 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1741,6 +1741,7 @@ dev/gve/gve_sysctl.c optional gve dev/gve/gve_tx.c optional gve dev/gve/gve_utils.c optional gve dev/goldfish/goldfish_rtc.c optional goldfish_rtc fdt +dev/gpio/acpi_gpiobus.c optional acpi gpio dev/gpio/dwgpio/dwgpio.c optional gpio dwgpio fdt dev/gpio/dwgpio/dwgpio_bus.c optional gpio dwgpio fdt dev/gpio/dwgpio/dwgpio_if.m optional gpio dwgpio fdt diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c new file mode 100644 index 000000000000..eafa1c07fab1 --- /dev/null +++ b/sys/dev/gpio/acpi_gpiobus.c @@ -0,0 +1,311 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Ahmad Khalifa + * + * 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 AUTHORS 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 AUTHORS 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 + +struct acpi_gpiobus_softc { + struct gpiobus_softc super_sc; + ACPI_CONNECTION_INFO handler_info; +}; + +struct acpi_gpiobus_ctx { + struct gpiobus_softc *sc; + ACPI_HANDLE dev_handle; +}; + +static uint32_t +acpi_gpiobus_convflags(ACPI_RESOURCE_GPIO *gpio_res) +{ + uint32_t flags = 0; + + /* Figure out pin flags */ +#ifdef NOT_YET + /* These are currently unused. */ + if (gpio_res->ConnectionType == ACPI_RESOURCE_GPIO_TYPE_INT) { + switch (gpio_res->Polarity) { + case ACPI_ACTIVE_HIGH: + flags = gpio_res->Triggering == ACPI_LEVEL_SENSITIVE ? + GPIO_INTR_LEVEL_HIGH : GPIO_INTR_EDGE_RISING; + break; + case ACPI_ACTIVE_LOW: + flags = gpio_res->Triggering == ACPI_LEVEL_SENSITIVE ? + GPIO_INTR_LEVEL_LOW : GPIO_INTR_EDGE_FALLING; + break; + case ACPI_ACTIVE_BOTH: + flags = GPIO_INTR_EDGE_BOTH; + break; + } + + if (gpio_res->Shareable == ACPI_SHARED) + flags |= GPIO_INTR_SHAREABLE; + } +#endif + switch (gpio_res->IoRestriction) { + case ACPI_IO_RESTRICT_INPUT: + flags = GPIO_PIN_INPUT; + break; + case ACPI_IO_RESTRICT_OUTPUT: + flags = GPIO_PIN_OUTPUT; + break; + } + + switch (gpio_res->PinConfig) { + case ACPI_PIN_CONFIG_PULLUP: + flags |= GPIO_PIN_PULLUP; + break; + case ACPI_PIN_CONFIG_PULLDOWN: + flags |= GPIO_PIN_PULLDOWN; + break; + } + + return (flags); +} + +static ACPI_STATUS +acpi_gpiobus_enumerate_res(ACPI_RESOURCE *res, void *context) +{ + ACPI_RESOURCE_GPIO *gpio_res = &res->Data.Gpio; + struct acpi_gpiobus_ctx *ctx = context; + struct gpiobus_softc *super_sc = ctx->sc; + ACPI_HANDLE handle; + uint32_t flags, i; + + if (res->Type != ACPI_RESOURCE_TYPE_GPIO) + return (AE_OK); + + if (ACPI_FAILURE(AcpiGetHandle(ACPI_ROOT_OBJECT, + gpio_res->ResourceSource.StringPtr, &handle)) || + handle != ctx->dev_handle) + return (AE_OK); + + if (__predict_false(gpio_res->PinTableLength > super_sc->sc_npins)) { + device_printf(super_sc->sc_busdev, + "invalid pin table length %hu, max: %d (bad ACPI tables?)\n", + gpio_res->PinTableLength, super_sc->sc_npins); + return (AE_LIMIT); + } + + flags = acpi_gpiobus_convflags(gpio_res); + for (i = 0; i < gpio_res->PinTableLength; i++) { + UINT16 pin = gpio_res->PinTable[i]; + + if (__predict_false(pin >= super_sc->sc_npins)) { + device_printf(super_sc->sc_busdev, + "invalid pin 0x%x, max: 0x%x (bad ACPI tables?)\n", + pin, super_sc->sc_npins - 1); + return (AE_LIMIT); + } + + GPIO_PIN_SETFLAGS(super_sc->sc_dev, pin, flags & + ~GPIO_INTR_MASK); + } + + return (AE_OK); +} + +static ACPI_STATUS +acpi_gpiobus_enumerate(ACPI_HANDLE handle, UINT32 depth, void *context, + void **result) +{ + UINT32 sta; + + /* + * If no _STA method or if it failed, then assume that + * the device is present. + */ + if (!ACPI_FAILURE(acpi_GetInteger(handle, "_STA", &sta)) && + !ACPI_DEVICE_PRESENT(sta)) + return (AE_OK); + + if (!acpi_has_hid(handle)) + return (AE_OK); + + /* Look for GPIO resources */ + AcpiWalkResources(handle, "_CRS", acpi_gpiobus_enumerate_res, context); + + return (AE_OK); +} + +static ACPI_STATUS +acpi_gpiobus_space_handler(UINT32 function, ACPI_PHYSICAL_ADDRESS address, + UINT32 length, UINT64 *value, void *context, void *region_context) +{ + ACPI_CONNECTION_INFO *info = context; + ACPI_RESOURCE_GPIO *gpio_res; + device_t controller; + ACPI_RESOURCE *res; + ACPI_STATUS status; + + status = AcpiBufferToResource(info->Connection, info->Length, &res); + if (ACPI_FAILURE(status) || res->Type != ACPI_RESOURCE_TYPE_GPIO) + goto err; + + gpio_res = &res->Data.Gpio; + controller = __containerof(info, struct acpi_gpiobus_softc, + handler_info)->super_sc.sc_dev; + + switch (function) { + case ACPI_WRITE: + if (__predict_false( + gpio_res->IoRestriction == ACPI_IO_RESTRICT_INPUT)) + goto err; + + for (int i = 0; i < length; i++) + if (GPIO_PIN_SET(controller, + gpio_res->PinTable[address + i], (*value & 1 << i) ? + GPIO_PIN_HIGH : GPIO_PIN_LOW) != 0) + goto err; + break; + case ACPI_READ: + if (__predict_false( + gpio_res->IoRestriction == ACPI_IO_RESTRICT_OUTPUT)) + goto err; + + for (int i = 0; i < length; i++) { + uint32_t v; + + if (GPIO_PIN_GET(controller, + gpio_res->PinTable[address + i], &v) != 0) + goto err; + *value |= v << i; + } + break; + default: + goto err; + } + + ACPI_FREE(res); + return (AE_OK); + +err: + ACPI_FREE(res); + return (AE_BAD_PARAMETER); +} + +static int +acpi_gpiobus_probe(device_t dev) +{ + device_t controller; + + if (acpi_disabled("gpiobus")) + return (ENXIO); + + controller = device_get_parent(dev); + if (controller == NULL) + return (ENXIO); + + if (acpi_get_handle(controller) == NULL) + return (ENXIO); + + device_set_desc(dev, "GPIO bus (ACPI-hinted)"); + return (BUS_PROBE_DEFAULT); +} + +static int +acpi_gpiobus_attach(device_t dev) +{ + struct acpi_gpiobus_softc *sc; + struct acpi_gpiobus_ctx ctx; + ACPI_HANDLE handle; + ACPI_STATUS status; + int err; + + if ((err = gpiobus_attach(dev)) != 0) + return (err); + + sc = device_get_softc(dev); + handle = acpi_get_handle(sc->super_sc.sc_dev); + if (handle == NULL) { + gpiobus_detach(dev); + return (ENXIO); + } + + status = AcpiInstallAddressSpaceHandler(handle, ACPI_ADR_SPACE_GPIO, + acpi_gpiobus_space_handler, NULL, &sc->handler_info); + + if (ACPI_FAILURE(status)) { + device_printf(dev, + "Failed to install GPIO address space handler\n"); + gpiobus_detach(dev); + return (ENXIO); + } + + ctx.dev_handle = handle; + ctx.sc = &sc->super_sc; + + status = AcpiWalkNamespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, + ACPI_UINT32_MAX, acpi_gpiobus_enumerate, NULL, &ctx, NULL); + + if (ACPI_FAILURE(status)) + device_printf(dev, "Failed to enumerate GPIO resources\n"); + + return (0); +} + +static int +acpi_gpiobus_detach(device_t dev) +{ + struct gpiobus_softc *super_sc; + ACPI_STATUS status; + + super_sc = device_get_softc(dev); + status = AcpiRemoveAddressSpaceHandler( + acpi_get_handle(super_sc->sc_dev), ACPI_ADR_SPACE_GPIO, + acpi_gpiobus_space_handler + ); + + if (ACPI_FAILURE(status)) + device_printf(dev, + "Failed to remove GPIO address space handler\n"); + + return (gpiobus_detach(dev)); +} + +static device_method_t acpi_gpiobus_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, acpi_gpiobus_probe), + DEVMETHOD(device_attach, acpi_gpiobus_attach), + DEVMETHOD(device_detach, acpi_gpiobus_detach), + + DEVMETHOD_END +}; + +DEFINE_CLASS_1(gpiobus, acpi_gpiobus_driver, acpi_gpiobus_methods, + sizeof(struct acpi_gpiobus_softc), gpiobus_driver); +EARLY_DRIVER_MODULE(acpi_gpiobus, gpio, acpi_gpiobus_driver, NULL, NULL, + BUS_PASS_BUS + BUS_PASS_ORDER_MIDDLE); +MODULE_VERSION(acpi_gpiobus, 1); +MODULE_DEPEND(acpi_gpiobus, acpi, 1, 1, 1); diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c index 65e8d1a775fe..7bdb080eb4f1 100644 --- a/sys/dev/gpio/gpiobus.c +++ b/sys/dev/gpio/gpiobus.c @@ -53,8 +53,6 @@ static void gpiobus_print_pins(struct gpiobus_ivar *, struct sbuf *); static int gpiobus_parse_pins(struct gpiobus_softc *, device_t, int); static int gpiobus_probe(device_t); -static int gpiobus_attach(device_t); -static int gpiobus_detach(device_t); static int gpiobus_suspend(device_t); static int gpiobus_resume(device_t); static void gpiobus_probe_nomatch(device_t, device_t); @@ -551,7 +549,7 @@ gpiobus_probe(device_t dev) return (BUS_PROBE_GENERIC); } -static int +int gpiobus_attach(device_t dev) { int err; @@ -573,7 +571,7 @@ gpiobus_attach(device_t dev) * Since this is not a self-enumerating bus, and since we always add * children in attach, we have to always delete children here. */ -static int +int gpiobus_detach(device_t dev) { struct gpiobus_softc *sc; diff --git a/sys/dev/gpio/gpiobusvar.h b/sys/dev/gpio/gpiobusvar.h index 521132fbac9d..e3669e82e594 100644 --- a/sys/dev/gpio/gpiobusvar.h +++ b/sys/dev/gpio/gpiobusvar.h @@ -174,6 +174,8 @@ struct resource *gpio_alloc_intr_resource(device_t consumer_dev, int *rid, int gpio_check_flags(uint32_t, uint32_t); device_t gpiobus_attach_bus(device_t); int gpiobus_detach_bus(device_t); +int gpiobus_attach(device_t); +int gpiobus_detach(device_t); int gpiobus_init_softc(device_t); int gpiobus_alloc_ivars(struct gpiobus_ivar *); void gpiobus_free_ivars(struct gpiobus_ivar *); diff --git a/sys/modules/gpio/gpiobus/Makefile b/sys/modules/gpio/gpiobus/Makefile index d9345e00e2be..baaf7faf69e8 100644 --- a/sys/modules/gpio/gpiobus/Makefile +++ b/sys/modules/gpio/gpiobus/Makefile @@ -38,6 +38,9 @@ SRCS+= device_if.h bus_if.h opt_platform.h .if !empty(OPT_FDT) SRCS+= ofw_gpiobus.c .endif +.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" +SRCS+= acpi_gpiobus.c opt_acpi.h acpi_if.h +.endif CFLAGS+= -I. -I${SRCTOP}/sys/dev/gpio/ From nobody Sun Nov 3 16:02:21 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhK9n2xlDz5cMw6; Sun, 03 Nov 2024 16:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhK9n1Wphz4MnM; Sun, 3 Nov 2024 16:02:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HwMe8vS9/f+XSDcfB5zGYhTKO17QNjLdM32PenGT7Cg=; b=ILRjr4uXXfb1cEZYzGDs/pdLge4Y/D0mE4tqnIZj8CFsrI7Vv0A6Mcj8cYDit/ZGStxBVa qmdyM3/SRYbGb8nrty2MOsVKI2liLjMK4W+1hvqnqz4o9m8bXFsQiDRptrObuBPviFxbK6 nd/+TpnGw/83uaOVjmEFqIfPlq8EBHgVIPsyQeXx9JPWSuuilboFz0QeZ63cHt8lZwTumf 8kPOr0H6ZjS6UY7rm4E5VUULtyXNxaYCfmuJPN+qVc70T+XyG0KJ2Q/Avhf2ghzRUOZBSy /aU4RX5DkVG7/FZgAVoBfZWBQg+cZUdKurrfdnIj91TCRcIiVO3Kxr16RofNCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HwMe8vS9/f+XSDcfB5zGYhTKO17QNjLdM32PenGT7Cg=; b=GyDILxmbQPvn2rctT/ygK2eK3eRRkrNaVdtIndBd+Nhs82v+Jk1G9Wdfp5rbMGHnF9CuKo x99hG+cyWLezceYvpw3DTYGR/i5BZbJrKX1NxTsRn2x0yMLKWWw/cs7o2HStCdcMjZ8ZNF DpCgr6b9v5Knv+nN7VdRncW2SMOf4Z/QRuxfolWszu2MRwHrs0Fs9KAgvu78gggDfYw2tg W74BFCVN7fkX9WB9hT8gJUOpS4K9Z0Le/Ar9d/vfPgAZXm4Y4aQ1Ot88OsvjExwcCNQiuy /+V9fgsOfb09g5nUp7e1+Wf82y+fnzbIrNBlBz0tzaUjUXCDN3r733lxZj+zGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730649741; a=rsa-sha256; cv=none; b=wQEQG3JqpmD2oOKyppch2EiLW0HyQfeONcLynfeP/QKzw30jRPZGLwZrLoIgYWPoB+wx7V EI6LPQWQfG2hGx7Jy4kJE1xkcCcMoBDcfMqYq6h/hoA21uXiT6O6FM5h6iAZCvQ8I9LHun fXUjZrVH1D5I2aW+YXY9uNBzgktjxCl6URrNFE+pWuhfdcPJNHQ64gi9vL2ert50UYLSZ8 VdRRFQ0C2bSk/N6RIta3e9vAVqrhav31yQ71xLt1F/teqqDeDUB3MMmjZIeJ0BpS4+vLd1 VkzSvFQtKTQpmVe+hITb+zzCLUgNi9vn00yW1xT0/vWVNFPGyIqyMqKwrWcwkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhK9n17JPzwGL; Sun, 3 Nov 2024 16:02:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3G2LLc015490; Sun, 3 Nov 2024 16:02:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3G2L8E015487; Sun, 3 Nov 2024 16:02:21 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:02:21 GMT Message-Id: <202411031602.4A3G2L8E015487@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 7c8f273bfba2 - stable/14 - acpi_gpiobus: OR GPIO_PIN_(IN|OUT)PUT into flags List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 7c8f273bfba28d9d55ada94c80feb3ba97c53758 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=7c8f273bfba28d9d55ada94c80feb3ba97c53758 commit 7c8f273bfba28d9d55ada94c80feb3ba97c53758 Author: Colin Percival AuthorDate: 2024-10-12 18:12:15 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:01:27 +0000 acpi_gpiobus: OR GPIO_PIN_(IN|OUT)PUT into flags Right now flags is set to 0 before this "=" -> "|=" change, but it will matter when the NOT_YET section above becomes effective. MFC after: 2 weeks Sponsored by: Amazon (cherry picked from commit c808132731aa999947f4f7810157d7d8d9aaf61e) --- sys/dev/gpio/acpi_gpiobus.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c index eafa1c07fab1..3b6fc6dde674 100644 --- a/sys/dev/gpio/acpi_gpiobus.c +++ b/sys/dev/gpio/acpi_gpiobus.c @@ -75,10 +75,10 @@ acpi_gpiobus_convflags(ACPI_RESOURCE_GPIO *gpio_res) #endif switch (gpio_res->IoRestriction) { case ACPI_IO_RESTRICT_INPUT: - flags = GPIO_PIN_INPUT; + flags |= GPIO_PIN_INPUT; break; case ACPI_IO_RESTRICT_OUTPUT: - flags = GPIO_PIN_OUTPUT; + flags |= GPIO_PIN_OUTPUT; break; } From nobody Sun Nov 3 16:02:22 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhK9q04JYz5cMRh; Sun, 03 Nov 2024 16:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhK9p56cnz4MqC; Sun, 3 Nov 2024 16:02:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=18KE5IYkpWnGTYfUKV9+LTET1nBukFHIDWvv2c/WawY=; b=iClTvurjdg72PS52Qc7U5qJwGqsKPVbzLVBVxP0RpslPtW6iyQMf/jHUKN+4PnlqWYiEg/ qelYKIQGBzRuAtclsiJr8tFcJNlKjVSDbTKjOEVi0yq6ffvrtFp7+X8t/fJlLa2lmgjPCT T7aK7HWj/g9I1I4Q+1uONYluxvX8PzD6CvcUeeBozR7ZG4XRqdEHI9BPR0Lnyius81AmDZ 0T/yMNN6+I4jQjJbv7qjcrlAPRriUL//H4m1WDWl5Rn92fN194A00sPjIn5Q4B+iVUE2vp Nnm84frtpOMX0rbBNd58PXcdjWSdOMXIlKhdS/qnIqNJq0Dlwaisz77yWX8+kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=18KE5IYkpWnGTYfUKV9+LTET1nBukFHIDWvv2c/WawY=; b=YD8/gu0gzvIQHGkwo5tUks8bVUSgx0JSWdurtg2gd1rF4aXE4a6cNloT8/X443O0qZWrMk mbEhoSRjqVmLlGXx+MITUcV2vYsbJ1PSWGi5r0im8v2Wf86dPCvZaQ0wZivATTtG44PDeR TDcRLDGnpcndMF6RFrJ5SewjSSf8ILqUfAZkS/7QSISWGEhlEm5jn5q/Qi11FZftAbhYU4 tsdVakBnmfo+PkrDvLXZYaflgxvyyGlFcl5zbtDiDmE19NiQZ+nWOl0mjZqoF81PeyqsMG 6yGNxVuHBQiCh85Od9p+Pq2XwWJHFfIkFvM2lc9xC3JFcWOmwVzrXojaICMD2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730649742; a=rsa-sha256; cv=none; b=Kjtl8zkHWZnGWiaul6nA+1gcPFmWmMDoZySPnZ3Dp171w0Vh/sn08a/yHEGkNT3oOStfEy oX+pivTK9tyE2nNF9NJb7wIGFNcKuz0nFlkHPGuiT9aQJpCRyxPNnMbNGatlqCA3i5yEw7 PcrO8Qco/WiFVsOMp2G2dY6VPNqfON/LdRfEw9X5SUIlx3NFmJfp/WOXGsm/9mIvujkxIU ihdF7tutlZP5AzseGTlD2+fjImAVRc01JyU4bNIIpIeGCP1fACy/UHwlUmdHe8ehBk0Mln EybMp7g/VMOTvcKXONwdFBaaW2Ws21XSjG+y92oJYhQCguJ2MFlH9aZE0A7fhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhK9p40Khzw7L; Sun, 3 Nov 2024 16:02:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3G2MXa015544; Sun, 3 Nov 2024 16:02:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3G2M5K015541; Sun, 3 Nov 2024 16:02:22 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:02:22 GMT Message-Id: <202411031602.4A3G2M5K015541@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: e177e6429455 - stable/14 - ACPI: Implement power button on !x86 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: e177e64294556bdece642442d6691523a4294b67 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=e177e64294556bdece642442d6691523a4294b67 commit e177e64294556bdece642442d6691523a4294b67 Author: Colin Percival AuthorDate: 2024-10-12 17:27:39 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:01:27 +0000 ACPI: Implement power button on !x86 ACPI sleep states are only implemented on x86 systems, so having the ACPI power button attempt to enter "S5" (or other state as configured via the hw.acpi.power_button_state sysctl) is not useful. On non-x86 systems, implement the power button with a call to shutdown_nice(RB_POWEROFF) to shut down the system. Reviewed by: Andrew Tested on: Graviton 2 MFC after: 2 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47094 (cherry picked from commit f41ef9d80b3d272e08dd9e2ea3c1d8d3f2818066) --- sys/dev/acpica/acpi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 71b19067707b..c2bfe5f2fa5d 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -3858,13 +3858,22 @@ acpi_invoke_wake_eventhandler(void *context) UINT32 acpi_event_power_button_sleep(void *context) { +#if defined(__amd64__) || defined(__i386__) struct acpi_softc *sc = (struct acpi_softc *)context; +#else + (void)context; +#endif ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); +#if defined(__amd64__) || defined(__i386__) if (ACPI_FAILURE(AcpiOsExecute(OSL_NOTIFY_HANDLER, acpi_invoke_sleep_eventhandler, &sc->acpi_power_button_sx))) return_VALUE (ACPI_INTERRUPT_NOT_HANDLED); +#else + shutdown_nice(RB_POWEROFF); +#endif + return_VALUE (ACPI_INTERRUPT_HANDLED); } From nobody Sun Nov 3 16:02:23 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhK9q5Ydwz5cMwM; Sun, 03 Nov 2024 16:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhK9q3WBYz4NBs; Sun, 3 Nov 2024 16:02:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d17rKPfa6bWb7FYOgt2jiq9ccvCVpvcVBrhEzp2RsYQ=; b=sOdFnz9814kwFB9vrSMtB//kX/yNrFMIizThebZiCX5Dex5/siu5alH+2xYDF63pawgS2u UzFhfNh6taXuumTGkS48oRl2fr9AD1tRry7M85Jt3lClHiZbTqoNU8eN9jVKaYMrz21BsT UUNqZ7JtIGEM4IjOWUk68uAGb5OyY2UN8RLWHW1H1ewSGmlDRcH7UYgB9rI0xROHweJbCA KY+DqpitoEgrpdigkIf+JBdQhzOM2mQXblB7dkNYOKydJVjd1XwPrwbzybNyNiWXVVgC7X I5rUAtVD1CCWji5DHPBtyA+Xr3o1STy0KGQ+dYBi6GsfpfbyBthLmL12zSCUbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d17rKPfa6bWb7FYOgt2jiq9ccvCVpvcVBrhEzp2RsYQ=; b=pAG7byU7VqWLLzb7clRBMQtAor0f7YxFvXFFMEhbY/59ukZAifreFRuSYWowstvNk+v0uI m7rHXtep8VIVnGYKgXIIo0ygeOWesFN+DWglPkrBNlNTB4VUgU4dFLIRTJrL27jktbq69J 7vjmyPSIG4aghq3FyMBkCDDiOMRI5eE4jCzNox83PBCkmw3/Xsl93FiQcxKxfRvv33pNDv znBsVRC/FgWnPmFevS1OTRMq4w8k4felptGSMf5EgjNH9k2g5aXg2Nc+YCAHFSnizR3gAQ UnBuVp2m1q1PJc22E7bh58+Hoby9B35jteU9wvmNkwmF7Z2BWc1V7DiLuUErAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730649743; a=rsa-sha256; cv=none; b=tqRIOyOkLxXb5pFEDkVRtycR9v6mKyPnO6rJCRMHOYKtgXh/Xgua0u8zaHX8js+Gq7IJlC +ZVO4tv9JimGpHGpS8JgpwReKSXRSucftnKNxzrahIit8cc1w3/CvfzRtkAy0cxRMiBV/j 5HwAgesAT/jRLZpA/6BhKBDPKe3o2nUeUcYRUr+ZlOb3OCGOWLax/huRcd4c60pDZfB9RI Nrt8Bfh0qJYgo2cGDBTjEScj3Za+EgnF7t9viliG45BZNM6fOh0Q6XOzmwXSUFYpvTC0y0 o13DjyfDojyQO2Wak0m7FcoUFbDkXMDs5H+0ZLPztTdazEyJ3PzqDFx/EEfwLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhK9q36jPzw9p; Sun, 3 Nov 2024 16:02:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3G2NuB015594; Sun, 3 Nov 2024 16:02:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3G2NVv015591; Sun, 3 Nov 2024 16:02:23 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:02:23 GMT Message-Id: <202411031602.4A3G2NVv015591@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: bebff69739ed - stable/14 - sys: Add GPIO_INTR_EDGE_MASK define List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: bebff69739ed5d9c6bbc7796a981da867420f77e Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=bebff69739ed5d9c6bbc7796a981da867420f77e commit bebff69739ed5d9c6bbc7796a981da867420f77e Author: Colin Percival AuthorDate: 2024-10-22 16:06:41 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:01:27 +0000 sys: Add GPIO_INTR_EDGE_MASK define This is the GPIO_INTR_EDGE_* flags, just as a convenience to let code test flags for interrupt edginess. Sponsored by: Amazon (cherry picked from commit f6197f2bc05b5a8df260cbf55283fddf7c76fec4) --- sys/sys/gpio.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/sys/gpio.h b/sys/sys/gpio.h index ba5b362125f8..1a9e998a0e56 100644 --- a/sys/sys/gpio.h +++ b/sys/sys/gpio.h @@ -83,10 +83,10 @@ #define GPIO_INTR_EDGE_FALLING 0x00080000 /* edge trigger, falling */ #define GPIO_INTR_EDGE_BOTH 0x00100000 /* edge trigger, both */ #define GPIO_INTR_ATTACHED 0x00200000 /* interrupt attached to file */ +#define GPIO_INTR_EDGE_MASK (GPIO_INTR_EDGE_RISING | \ + GPIO_INTR_EDGE_FALLING | GPIO_INTR_EDGE_BOTH ) #define GPIO_INTR_MASK (GPIO_INTR_LEVEL_LOW | GPIO_INTR_LEVEL_HIGH | \ - GPIO_INTR_EDGE_RISING | \ - GPIO_INTR_EDGE_FALLING | GPIO_INTR_EDGE_BOTH | \ - GPIO_INTR_ATTACHED) + GPIO_INTR_EDGE_MASK | GPIO_INTR_ATTACHED) struct gpio_pin { uint32_t gp_pin; /* pin number */ From nobody Sun Nov 3 16:02:24 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhK9s0KJzz5cMXZ; Sun, 03 Nov 2024 16:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhK9r4S2hz4MqW; Sun, 3 Nov 2024 16:02:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3xlONT6R1p9X07a4MtgJvg5S3EO8n0PQSRK2SNbq5o8=; b=sXdzlElEr9v27sRfPf+7Q17xbAnQ+avcx52AKTDyVZ1F6PCzrq845KttSpg7ZuDd6wAnOm C34ATcy+jP5z15QCqnSVxFCr39laHcFiFJ3+gGUkAtQWGC+GhQdrBZ1HUd52JuHrh9Qbeb kaXumRnzIJ+btyEhbynkp2i2OG0WdWA9YiMgiPBpaG0KCcz5vaUvxNNlygu2euuIu6xtDo 8pE2iVk5pncqdhfbH5BygKBH9uTwTWepHdbaZRd6NBUGjicMbzy2q2L3ufxGN1eZKK/yyI 0+iQpjCCJWmItbUCa7IP9t1mv1+6lETfbtiBjx8UwW6chPyH6GdfXUMUGPWHuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3xlONT6R1p9X07a4MtgJvg5S3EO8n0PQSRK2SNbq5o8=; b=HZ18AFfFgI+NkbLxOhZEef0KsOzVd30pq14yoEVrh65IDIzX2mYY1vnfwjokbRs9MuNX6m XaBBOuO2U2ZMKEn3FBec0h0U0lJxY3mpSLi9bZaMk4S/ILTgkUFNSY+jUcaqHsU/va6rdN X+WUHjVWvmhv9bcljCnzX9w26kCaJ0Wz1Zap1oVWgxNv6dwgf8DXEI+OKd25cCRZ+m++Xy vgnSwZb5DYMGXLx6R+YbuewLa5Ulctdbrai6D8TuulGH2M8AEBI7uy1SBsMbfw/dLOatko LBw24ECd09J7gPFE3hTGsJ4I98T3Pyx477y5yJ3AMrd+Vp0bM9jxnXrvqh7wKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730649744; a=rsa-sha256; cv=none; b=guBiiuiOYiUWAFbTgag7CWqqJZzaL48iX6hhKm/u3m8KfAOedVwDwYN0BQVMrzxe7wIsXq 3lUOrM/P6+A4fI2LFqOPkYION+8ddFcxeRNLSpd/38osTEg1rGj0ORHl/VMuPp4DgPQWRi 8P8oZBTh+wOD4oojUg0oIC4vo8HPuPymP9VR23Yk8NmfUWzKepTh1Q/tOoUqpAmRIAFbgV swZtOSldWpJ39mG+HiT0PzFq0LTiZKykz2XWEQj7zQjNZQn76mT+hEXnUxg3wdaS4BVWvj EOP12kRDnP93RmhhwfFCEJVTIlpRlU4O+9VcFRNEgJbPHsZclbb42Xf0fEcxqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhK9r43TBzwQQ; Sun, 3 Nov 2024 16:02:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3G2Owv015645; Sun, 3 Nov 2024 16:02:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3G2Onc015642; Sun, 3 Nov 2024 16:02:24 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:02:24 GMT Message-Id: <202411031602.4A3G2Onc015642@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 5fa51c3653b1 - stable/14 - ACPI: Add ACPI_Q_AEI_NOPULL quirk and use in EC2 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 5fa51c3653b14b364e26a4cce2733c7be6ee7721 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=5fa51c3653b14b364e26a4cce2733c7be6ee7721 commit 5fa51c3653b14b364e26a4cce2733c7be6ee7721 Author: Colin Percival AuthorDate: 2024-10-22 14:47:30 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:01:27 +0000 ACPI: Add ACPI_Q_AEI_NOPULL quirk and use in EC2 AWS Graviton [1234] systems have a bug in their ACPI where they mark the PL061's GPIO pins as needing to be configured in PullUp mode (in fact the PL061 has no pullup/pulldown resistors); this flag needs to be removed in order for _AEI objects to be handled on these systems. Reviewed by: Ali Saidi MFC after: 1 week Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47239 (cherry picked from commit 2f3f867ac6dd7ff3769366b828b79c44b38828e1) --- release/tools/ec2.conf | 5 +++++ sys/dev/acpica/acpivar.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 522aaa400520..963c6ff4957b 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -63,6 +63,11 @@ ec2_common() { # nodes, but apply the workaround just in case. echo 'hw.broken_txfifo="1"' >> ${DESTDIR}/boot/loader.conf + # Graviton 1 through Graviton 4 have a bug in their ACPI where they + # mark the PL061's pins as needing to be configured in PullUp mode + # (in fact the PL061 has no pullup/pulldown resistors). + echo 'debug.acpi.quirks="8"' >> ${DESTDIR}/boot/loader.conf + # Load the kernel module for the Amazon "Elastic Network Adapter" echo 'if_ena_load="YES"' >> ${DESTDIR}/boot/loader.conf diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h index afb0a6909e1a..eb6022cde159 100644 --- a/sys/dev/acpica/acpivar.h +++ b/sys/dev/acpica/acpivar.h @@ -224,12 +224,15 @@ extern struct mtx acpi_mutex; * ACPI_Q_MADT_IRQ0: Specifies that ISA IRQ 0 is wired up to pin 0 of the * first APIC and that the MADT should force that by ignoring the PC-AT * compatible flag and ignoring overrides that redirect IRQ 0 to pin 2. + * ACPI_Q_AEI_NOPULL: Specifies that _AEI objects incorrectly designate pins + * as "PullUp" and they should be treated as "NoPull" instead. */ extern int acpi_quirks; #define ACPI_Q_OK 0 #define ACPI_Q_BROKEN (1 << 0) #define ACPI_Q_TIMER (1 << 1) #define ACPI_Q_MADT_IRQ0 (1 << 2) +#define ACPI_Q_AEI_NOPULL (1 << 3) #if defined(__amd64__) || defined(__i386__) /* From nobody Sun Nov 3 16:02:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhK9t0nNNz5cMjp; Sun, 03 Nov 2024 16:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhK9s53Clz4Mt3; Sun, 3 Nov 2024 16:02:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LWXssP08eQ53E8m8PRW1RhhnfA4ePpUhmZZ025YxkOY=; b=Y2HnB1rFvIlDTHf4cQbhMuTA5vL0JsLCDdhgRmJyL2phOF+eVdd3F7TGmyZllunXaC6geY oBBr+9WIt21zkRg1Sb+RfgaYFRnjSVV0EyzxNv1u6EeE1YHMzZGjmtdzAXp3FRJJBJZ3U4 rv3OG35DPLG5P1qQyr2E8CRjgfqv15YKenC+Jnzd5VnoD4PO1nCyFrsG/g+5oX0/nb+8iC tJhQMyz2NR+7Dy1k5p/y7QXsbmyLD6oYkXk4qVG9Hrvhl6tqcHqmu0s986Q36T4uLHo+aj ZR9vEUJC1Wi1bJYA8U4LHBKu24NWt52A0/bb/ra7kd9b7Qw9S8J/NyQ8kK1p9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LWXssP08eQ53E8m8PRW1RhhnfA4ePpUhmZZ025YxkOY=; b=bcKfHVkg6Vj7qEp737NiTDDbl4VAqXcA2tQS4DJwOCdTWkY/AV3iE+8ZwY2pIgZhTINZsG PbsbJQRyH+qSW2LFsuWygo5kOa4rKmu+YVdVTFyQ+ru5XDu9BRCoOtSuLZoGFSeRC+QRSg nrMYBT1QLF+cITL9+X//SZWzbPMven8IdVMdwJGkRHsqwIdjI1jdKJ1NefTQoJtaCxXsaM g8R3ulNFcCwXU8Iu5KG9FkDI92HNEadrP/m/K4M/CVFgYlHoS3VciuZ1WjzNxKi7pIu0fb PhOS0iPliwQGDNJQxmooR29p0Y8xRtIcKUi5NmVnym99P2yz+jjbJa1kTE4NFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730649745; a=rsa-sha256; cv=none; b=aOjtz6olC20bZGhUaxCRx4b1y0Skk1nIZrR6rtDUm+IQyXM/IlHu0687JK4stfPdeMFjgs aW9T2LyroZlKH8nAWuPHwZ4P1i6Jlc2uymT4pj2gC+5hcjTv/FuRv6miV2E6aejnFuH/HO coAtXLQ5RhljLjfGN3VZ7tpgAGCNDOpAm8WeByipY/P+UME63N5gqRWATj0iXBltCLTCZG mOW49NuDXwNryovVm/KgOf5qKpiRARpGItI6FJfsBaJWRUTGVDTgcgkBKdqc+r4EYCOvlB 43e8y87zu28WZqiw9zLcYXHcRTE76TVuw1IZ1yiliv5e3DZY227jg+oe/YgyWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhK9s4bvczwGQ; Sun, 3 Nov 2024 16:02:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3G2PDw016386; Sun, 3 Nov 2024 16:02:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3G2PNT016373; Sun, 3 Nov 2024 16:02:25 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:02:25 GMT Message-Id: <202411031602.4A3G2PNT016373@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: fffdfe2f6770 - stable/14 - gpiobus: Make gpiobus_read_ivar extern List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: fffdfe2f6770946bb5d5204df0a97105e1dceccb Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=fffdfe2f6770946bb5d5204df0a97105e1dceccb commit fffdfe2f6770946bb5d5204df0a97105e1dceccb Author: Colin Percival AuthorDate: 2024-10-22 17:51:57 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:01:27 +0000 gpiobus: Make gpiobus_read_ivar extern This allows acpi_gpiobus to override the method and fall back to the generic gpiobus_read_ivar function if needed. Reviewed by: andrew MFC after: 1 week Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47250 (cherry picked from commit bc0d10d01c3c69004d600e14d53cd0dceffe4b09) --- sys/dev/gpio/gpiobus.c | 2 +- sys/dev/gpio/gpiobusvar.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c index 7bdb080eb4f1..674a04bc401b 100644 --- a/sys/dev/gpio/gpiobus.c +++ b/sys/dev/gpio/gpiobus.c @@ -753,7 +753,7 @@ gpiobus_hinted_child(device_t bus, const char *dname, int dunit) } } -static int +int gpiobus_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) { struct gpiobus_ivar *devi; diff --git a/sys/dev/gpio/gpiobusvar.h b/sys/dev/gpio/gpiobusvar.h index e3669e82e594..74783e112f89 100644 --- a/sys/dev/gpio/gpiobusvar.h +++ b/sys/dev/gpio/gpiobusvar.h @@ -179,6 +179,7 @@ int gpiobus_detach(device_t); int gpiobus_init_softc(device_t); int gpiobus_alloc_ivars(struct gpiobus_ivar *); void gpiobus_free_ivars(struct gpiobus_ivar *); +int gpiobus_read_ivar(device_t, device_t, int, uintptr_t *); int gpiobus_acquire_pin(device_t, uint32_t); int gpiobus_release_pin(device_t, uint32_t); From nobody Sun Nov 3 16:02:26 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhK9v2qWQz5cN12; Sun, 03 Nov 2024 16:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhK9t5glJz4MtK; Sun, 3 Nov 2024 16:02:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xDGCNAbaP3dgJnQ4ec60qtBaEGiAKNTeTeofWPCfeEM=; b=OlgDLH6Z/w4uGlFFjtcZrgzSieWi5pLVqaJGwKLpDljKg+KVkPD9AR4mrOdMpSbzRT8s4e KMsYuZGtIWH1rENLNqZbMRKmcTR5JEYAMHdZlITD0uaFeAXhMSeR0pLUE5UkKWkNwsl5lP yNCgrD/IoSkszMDdDamORNX/OBlHVFSlYfib/7OEK6Df8xT/h4uPt8xNwJv9gOlR1sI03F jiDj9R/VlVbOgGq738eNkjtwpas6gHcF5Zvp7H8Ao9GbRpsTNA5TK9eqC+HdR5J4xrb6if 9N3w1y37JcW1linTZTPurYzgd5D7dhWlwvapHNFeUhScgvczdabYqQJmrFH9XQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xDGCNAbaP3dgJnQ4ec60qtBaEGiAKNTeTeofWPCfeEM=; b=HsQsLyNIfT34u54/kYm5OpbLv7O5EvTQITWcDYq/5pKeV7NHSF7rgeb7okDKx43apjw4nD vy1pabQjS89jdsCUoSvHUgVspFbL7a1YMgY2/L2f7895wIFFtmXCH/n3K6SRxuQpVyILM3 /nznD1e92BOiVV8dY9+mN1qu0wnTEWn22uP2wumC7uJPH2UxgeOq02D0d1AOkBGg7Zc15H M+35s/sKPUIFdoUV0N0BTKNc+QwqhVhnHV0n87/66sRz5sHvGxz+nmNkjbLbK3ES7a6aI0 12VL24JE0CNWrZS96xteNzEXrBqO0T8cIzX1amUlqijLToJ4EdscEbTn0Xk3+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730649746; a=rsa-sha256; cv=none; b=mJhtT1vqi4LsSxPpjpVmM5AnvWO9j/Uv1Sxj4+A1fOwA7OnKMQOJHRUP+SlaBHNNvwf01Y RBfCx3FJvtBRnW6EsOUKj2zAvydhGd5brX/9g7lZvNQLWqF5rbsT/+rQM8kDl87FHXo7xZ NR5yQ9PJwXadmLg2PYjRSWTxP6H88bsQLdmnD3RHjEgcoZQ3EM9L430nDBtRnceeKuM1cg bqCwowg7z1GtASVmDU4FUbBWwr4e8F3EWCJUiELqkEVov0VksezeOZIcDOQrcl84DuBEys guGvx1Zrsg+gpSZhGEhfcGna3y1ID+YZKST3t/ir5OLbjrBz9D0n65Z7yYzIGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhK9t5G7VzwSv; Sun, 3 Nov 2024 16:02:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3G2Qsf016675; Sun, 3 Nov 2024 16:02:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3G2QrS016672; Sun, 3 Nov 2024 16:02:26 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:02:26 GMT Message-Id: <202411031602.4A3G2QrS016672@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 1f6941760746 - stable/14 - acpi_gpiobus: Narrow scope of NOT_YET List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1f6941760746367704c9f1fa730a00b99d4d46b2 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=1f6941760746367704c9f1fa730a00b99d4d46b2 commit 1f6941760746367704c9f1fa730a00b99d4d46b2 Author: Colin Percival AuthorDate: 2024-10-22 18:25:11 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:01:27 +0000 acpi_gpiobus: Narrow scope of NOT_YET GPIO interrupts work just fine and will be used shortly. We still do not support GPIO_INTR_SHAREABLE however, so leave that within the NOT_YET scope. Reviwed by: andrew MFC after: 1 week Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47251 (cherry picked from commit 2d4219919a48aa6d67ae62e2b8859ffe3b035bd2) --- sys/dev/gpio/acpi_gpiobus.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c index 3b6fc6dde674..9828170daeca 100644 --- a/sys/dev/gpio/acpi_gpiobus.c +++ b/sys/dev/gpio/acpi_gpiobus.c @@ -52,8 +52,6 @@ acpi_gpiobus_convflags(ACPI_RESOURCE_GPIO *gpio_res) uint32_t flags = 0; /* Figure out pin flags */ -#ifdef NOT_YET - /* These are currently unused. */ if (gpio_res->ConnectionType == ACPI_RESOURCE_GPIO_TYPE_INT) { switch (gpio_res->Polarity) { case ACPI_ACTIVE_HIGH: @@ -69,10 +67,12 @@ acpi_gpiobus_convflags(ACPI_RESOURCE_GPIO *gpio_res) break; } +#ifdef NOT_YET + /* This is not currently implemented. */ if (gpio_res->Shareable == ACPI_SHARED) flags |= GPIO_INTR_SHAREABLE; - } #endif + } switch (gpio_res->IoRestriction) { case ACPI_IO_RESTRICT_INPUT: flags |= GPIO_PIN_INPUT; From nobody Sun Nov 3 16:02:28 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhK9y1RPCz5cMdV; Sun, 03 Nov 2024 16:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhK9x2Y1vz4NG6; Sun, 3 Nov 2024 16:02:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ImbyoBtZSrTl2+ghwaUZ0Ic37rJRC08F5CbJoxh6EYs=; b=ojLgDJ3D3+HVpq7hGsNcsHOGFSd9gU5srB22q8YaiuE+KxeCfJALVexEgQRl+9VfpaoAWi RVZLOBEnNOCAp0CNldjvyLTiN9ioY5SxL7r3jUKOluegca5/cPczi/PIL9jfTGUpLZWFCb THLNaJreIvb4+IFA5kO2kH5/tRHOgZJYCOEIKCchrtne93qW7/BQqJmJZyiZ09nntFVCeO 6PRB/Bulmob6fx0Nr2QzeG4lgNKb7+CU+OS4Ubq3Q4jQKBe9hy7th7iN1nM75w7uQNVGSC lsxVkatuUBKcNESdafr+1MbjAx15KyxT2Y+pFy57Vs0biBrswQd6Pw3PLkNY0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ImbyoBtZSrTl2+ghwaUZ0Ic37rJRC08F5CbJoxh6EYs=; b=uV8dvXUT4QdCPxdTyZgBgxhp5FcJkwYspZVyeIcAf0VNYgYzDWeMB2eAwAt/faY7MJpCWk 0gQIFh7lT2kxxfOnLnR2kL1e+ggcAc4mNwC8AadjRVL6CrObIxgSAsYOMIibz6tb7pzBeS fON/tYYR8HueXkVW9Vrn3wp/FZgfn4L/n1zxLJj0oE9EiBwA+3Kw7aIC0uwZf5DsOnr+os bIvpZXHsBtN5m6n6jTcdvfc4TEz49lpHWSTb8rUeRVDKab9bRCisBdS0yWaD/c+vUruXIs BbqfjPWKXOR72EZ2W/EqmEDHhUFmoJpv9/h/CIo3dHnAx4ZXyjZgknYVaUMG3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730649749; a=rsa-sha256; cv=none; b=lFB/roA4JjLxrojPP0noDiYbGethLiOH5rz9m064CpNO8mRSwM36pDvGsMXL5PC4iI1b2K 98aHwEBXAy4NlRc0rgZW9UqMZHPe+ih5A1xmUNt+F4cQCnDr/fdVjzLubP7eB6inB9qEQ+ IaGf5LIoi0LzLw4869sn3g3qJuxChDjbZobGomwmuRmGvl0BAUTmS6gmVAztIwZt+aUDnq ZIETUelbZmuVqPPE9bSe9NSSyQPwQNnC846Dse/gDCrVUkgbXWAvNEkYEd/SWdp8zOq/M3 eBYTfetRquvtIWrzWP5FBwpZAVctAKggxYnXeRxJC7kT+Q8rZdkLjQh59uuXZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhK9x0Sp3zw9s; Sun, 3 Nov 2024 16:02:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3G2SBg016794; Sun, 3 Nov 2024 16:02:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3G2SQ9016791; Sun, 3 Nov 2024 16:02:28 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:02:28 GMT Message-Id: <202411031602.4A3G2SQ9016791@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: c2cd78d9446e - stable/14 - GPIO: Add ACPI _AEI support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: c2cd78d9446ebe79accf6c1862230dfbe7276525 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c2cd78d9446ebe79accf6c1862230dfbe7276525 commit c2cd78d9446ebe79accf6c1862230dfbe7276525 Author: Colin Percival AuthorDate: 2024-10-22 18:53:55 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:01:28 +0000 GPIO: Add ACPI _AEI support Changes to acpi_gpiobus.c handle discovering and parsing the _AEI objects and storing necessary data in device ivars. A new gpioaei.c file implements the device, which simply requests an interrupt when the pin is triggered and invokes the appropriate _Exx or _Lxx ACPI method. This makes the GPIO "power button" work on arm64 Graviton systems, allowing EC2 "Stop"/"Reboot" instance calls to be handled cleanly. (Prior to this change, those requests would time out after 4 minutes and the instance would be forcibly killed.) Reviwed by: imp, andrew, Ahmad Khalifa MFC after: 3 days Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47253 Co-authored-by: Andrew Turner (cherry picked from commit 9709bda03cd0f20eba0ba4276fc3c2e06354a54f) --- sys/conf/files | 1 + sys/dev/gpio/acpi_gpiobus.c | 121 +++++++++++++++++++++++++++++++++++ sys/dev/gpio/acpi_gpiobusvar.h | 49 ++++++++++++++ sys/dev/gpio/gpioaei.c | 131 ++++++++++++++++++++++++++++++++++++++ sys/modules/gpio/Makefile | 2 +- sys/modules/gpio/gpioaei/Makefile | 14 ++++ 6 files changed, 317 insertions(+), 1 deletion(-) diff --git a/sys/conf/files b/sys/conf/files index 5239f38d5154..3810032f7094 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1745,6 +1745,7 @@ dev/gpio/acpi_gpiobus.c optional acpi gpio dev/gpio/dwgpio/dwgpio.c optional gpio dwgpio fdt dev/gpio/dwgpio/dwgpio_bus.c optional gpio dwgpio fdt dev/gpio/dwgpio/dwgpio_if.m optional gpio dwgpio fdt +dev/gpio/gpioaei.c optional acpi gpio dev/gpio/gpiobacklight.c optional gpiobacklight fdt dev/gpio/gpiokeys.c optional gpiokeys fdt dev/gpio/gpiokeys_codes.c optional gpiokeys fdt diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c index 9828170daeca..14ded4539a5e 100644 --- a/sys/dev/gpio/acpi_gpiobus.c +++ b/sys/dev/gpio/acpi_gpiobus.c @@ -35,6 +35,9 @@ #include #include +#include + +#include "gpiobus_if.h" struct acpi_gpiobus_softc { struct gpiobus_softc super_sc; @@ -46,6 +49,13 @@ struct acpi_gpiobus_ctx { ACPI_HANDLE dev_handle; }; +struct acpi_gpiobus_ivar +{ + struct gpiobus_ivar gpiobus; /* Must come first */ + ACPI_HANDLE dev_handle; /* ACPI handle for bus */ + uint32_t flags; +}; + static uint32_t acpi_gpiobus_convflags(ACPI_RESOURCE_GPIO *gpio_res) { @@ -136,6 +146,74 @@ acpi_gpiobus_enumerate_res(ACPI_RESOURCE *res, void *context) return (AE_OK); } +static struct acpi_gpiobus_ivar * +acpi_gpiobus_setup_devinfo(device_t bus, device_t child, + ACPI_RESOURCE_GPIO *gpio_res) +{ + struct acpi_gpiobus_ivar *devi; + + devi = malloc(sizeof(*devi), M_DEVBUF, M_NOWAIT | M_ZERO); + if (devi == NULL) + return (NULL); + resource_list_init(&devi->gpiobus.rl); + + devi->flags = acpi_gpiobus_convflags(gpio_res); + if (acpi_quirks & ACPI_Q_AEI_NOPULL) + devi->flags &= ~GPIO_PIN_PULLUP; + + devi->gpiobus.npins = 1; + if (gpiobus_alloc_ivars(&devi->gpiobus) != 0) { + free(devi, M_DEVBUF); + return (NULL); + } + + for (int i = 0; i < devi->gpiobus.npins; i++) + devi->gpiobus.pins[i] = gpio_res->PinTable[i]; + + return (devi); +} + +static ACPI_STATUS +acpi_gpiobus_enumerate_aei(ACPI_RESOURCE *res, void *context) +{ + ACPI_RESOURCE_GPIO *gpio_res = &res->Data.Gpio; + struct acpi_gpiobus_ctx *ctx = context; + device_t bus = ctx->sc->sc_busdev; + device_t child; + struct acpi_gpiobus_ivar *devi; + + /* Check that we have a GpioInt object. */ + if (res->Type != ACPI_RESOURCE_TYPE_GPIO) + return (AE_OK); + if (gpio_res->ConnectionType != ACPI_RESOURCE_GPIO_TYPE_INT) + return (AE_OK); + + /* Add a child. */ + child = device_add_child_ordered(bus, 0, "gpio_aei", -1); + if (child == NULL) + return (AE_OK); + devi = acpi_gpiobus_setup_devinfo(bus, child, gpio_res); + if (devi == NULL) { + device_delete_child(bus, child); + return (AE_OK); + } + device_set_ivars(child, devi); + + for (int i = 0; i < devi->gpiobus.npins; i++) { + if (GPIOBUS_PIN_SETFLAGS(bus, child, 0, devi->flags)) { + gpiobus_free_ivars(&devi->gpiobus); + free(devi, M_DEVBUF); + device_delete_child(bus, child); + return (AE_OK); + } + } + + /* Pass ACPI information to children. */ + devi->dev_handle = ctx->dev_handle; + + return (AE_OK); +} + static ACPI_STATUS acpi_gpiobus_enumerate(ACPI_HANDLE handle, UINT32 depth, void *context, void **result) @@ -272,6 +350,13 @@ acpi_gpiobus_attach(device_t dev) if (ACPI_FAILURE(status)) device_printf(dev, "Failed to enumerate GPIO resources\n"); + /* Look for AEI children */ + status = AcpiWalkResources(handle, "_AEI", acpi_gpiobus_enumerate_aei, + &ctx); + + if (ACPI_FAILURE(status)) + device_printf(dev, "Failed to enumerate GPIO resources\n"); + return (0); } @@ -294,12 +379,48 @@ acpi_gpiobus_detach(device_t dev) return (gpiobus_detach(dev)); } +int +gpio_pin_get_by_acpi_index(device_t consumer, uint32_t idx, + gpio_pin_t *out_pin) +{ + struct acpi_gpiobus_ivar *devi; + int rv; + + rv = gpio_pin_get_by_child_index(consumer, idx, out_pin); + if (rv != 0) + return (rv); + + devi = device_get_ivars(consumer); + (*out_pin)->flags = devi->flags; + + return (0); +} + +static int +acpi_gpiobus_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) +{ + struct acpi_gpiobus_ivar *devi = device_get_ivars(child); + + switch (which) { + case ACPI_GPIOBUS_IVAR_HANDLE: + *result = (uintptr_t)devi->dev_handle; + break; + default: + return (gpiobus_read_ivar(dev, child, which, result)); + } + + return (0); +} + static device_method_t acpi_gpiobus_methods[] = { /* Device interface */ DEVMETHOD(device_probe, acpi_gpiobus_probe), DEVMETHOD(device_attach, acpi_gpiobus_attach), DEVMETHOD(device_detach, acpi_gpiobus_detach), + /* Bus interface */ + DEVMETHOD(bus_read_ivar, acpi_gpiobus_read_ivar), + DEVMETHOD_END }; diff --git a/sys/dev/gpio/acpi_gpiobusvar.h b/sys/dev/gpio/acpi_gpiobusvar.h new file mode 100644 index 000000000000..77cb91110cb5 --- /dev/null +++ b/sys/dev/gpio/acpi_gpiobusvar.h @@ -0,0 +1,49 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Colin Percival + * + * 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 __ACPI_GPIOBUS_H__ +#define __ACPI_GPIOBUS_H__ + +#include + +#include + +enum acpi_gpiobus_ivars { + ACPI_GPIOBUS_IVAR_HANDLE = 10600, +}; + +#define ACPI_GPIOBUS_ACCESSOR(var, ivar, type) \ + __BUS_ACCESSOR(acpi_gpiobus, var, ACPI_GPIOBUS, ivar, type) + +ACPI_GPIOBUS_ACCESSOR(handle, HANDLE, ACPI_HANDLE) + +#undef ACPI_GPIOBUS_ACCESSOR + +int gpio_pin_get_by_acpi_index(device_t consumer, uint32_t idx, + gpio_pin_t *out_pin); + +#endif /* __ACPI_GPIOBUS_H__ */ diff --git a/sys/dev/gpio/gpioaei.c b/sys/dev/gpio/gpioaei.c new file mode 100644 index 000000000000..050f259a2127 --- /dev/null +++ b/sys/dev/gpio/gpioaei.c @@ -0,0 +1,131 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Colin Percival + * + * 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 "gpiobus_if.h" + +#include +#include + +#include +#include + +struct gpio_aei_softc { + ACPI_HANDLE handle; + char objname[5]; /* "_EXX" or "_LXX" */ + struct resource * intr_res; + int intr_rid; + void * intr_cookie; +}; + +static int +gpio_aei_probe(device_t dev) +{ + + /* We only match when gpiobus explicitly requested gpio_aei. */ + return (BUS_PROBE_NOWILDCARD); +} + +static void +gpio_aei_intr(void * arg) +{ + struct gpio_aei_softc * sc = arg; + + /* Ask ACPI to run the appropriate _Exx or _Lxx method. */ + AcpiEvaluateObject(sc->handle, sc->objname, NULL, NULL); +} + +static int +gpio_aei_attach(device_t dev) +{ + struct gpio_aei_softc * sc = device_get_softc(dev); + gpio_pin_t pin; + int err; + + /* This is us. */ + device_set_desc(dev, "ACPI Event Information Device"); + + /* Store parameters needed by gpio_aei_intr. */ + sc->handle = acpi_gpiobus_get_handle(dev); + if (gpio_pin_get_by_acpi_index(dev, 0, &pin) != 0) { + device_printf(dev, "Unable to get the input pin\n"); + return (ENXIO); + } + sprintf(sc->objname, "_%c%02X", + (pin->flags & GPIO_INTR_EDGE_MASK) ? 'E' : 'L', pin->pin); + + /* Support for GPIO pins > 255 is not implemented. */ + if (pin->pin > 255) { + device_printf(dev, "ACPI Event Information Device does not support pins > 255"); + return (ENOTSUP); + } + + /* Set up the interrupt. */ + if ((sc->intr_res = gpio_alloc_intr_resource(dev, &sc->intr_rid, + RF_ACTIVE, pin, pin->flags & GPIO_INTR_MASK)) == NULL) { + device_printf(dev, "Cannot allocate an IRQ\n"); + return (ENOTSUP); + } + err = bus_setup_intr(dev, sc->intr_res, INTR_TYPE_MISC | INTR_MPSAFE, + NULL, gpio_aei_intr, sc, &sc->intr_cookie); + if (err != 0) { + device_printf(dev, "Cannot set up IRQ\n"); + bus_release_resource(dev, SYS_RES_IRQ, sc->intr_rid, + sc->intr_res); + return (err); + } + + return (0); +} + +static int +gpio_aei_detach(device_t dev) +{ + struct gpio_aei_softc * sc = device_get_softc(dev); + + bus_teardown_intr(dev, sc->intr_res, sc->intr_cookie); + bus_release_resource(dev, SYS_RES_IRQ, sc->intr_rid, sc->intr_res); + return (0); +} + +static device_method_t gpio_aei_methods[] = { + /* Device interface. */ + DEVMETHOD(device_probe, gpio_aei_probe), + DEVMETHOD(device_attach, gpio_aei_attach), + DEVMETHOD(device_detach, gpio_aei_detach), + + DEVMETHOD_END +}; + +DEFINE_CLASS_0(gpio_aei, gpio_aei_driver, gpio_aei_methods, sizeof(struct gpio_aei_softc)); +DRIVER_MODULE(gpio_aei, gpiobus, gpio_aei_driver, NULL, NULL); +MODULE_DEPEND(gpio_aei, acpi_gpiobus, 1, 1, 1); diff --git a/sys/modules/gpio/Makefile b/sys/modules/gpio/Makefile index ffb3581d1f01..1d7f69f1836d 100644 --- a/sys/modules/gpio/Makefile +++ b/sys/modules/gpio/Makefile @@ -24,7 +24,7 @@ # SUCH DAMAGE. # -SUBDIR = gpiobus gpioiic gpioled gpiospi gpioths +SUBDIR = gpioaei gpiobus gpioiic gpioled gpiospi gpioths .if !empty(OPT_FDT) SUBDIR += gpiokeys gpiopps diff --git a/sys/modules/gpio/gpioaei/Makefile b/sys/modules/gpio/gpioaei/Makefile new file mode 100644 index 000000000000..514dcd80a35e --- /dev/null +++ b/sys/modules/gpio/gpioaei/Makefile @@ -0,0 +1,14 @@ +.PATH: ${SRCTOP}/sys/dev/gpio/ + +KMOD= gpioaei +SRCS= gpioaei.c + +SRCS+= \ + bus_if.h \ + device_if.h \ + gpio_if.h \ + gpiobus_if.h + +CFLAGS+= -I. -I${SRCTOP}/sys/dev/gpio/ + +.include From nobody Sun Nov 3 16:02:27 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhK9x2fJ9z5cN17; Sun, 03 Nov 2024 16:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhK9w0nf1z4NBH; Sun, 3 Nov 2024 16:02:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T5dYrnAKAPcR4T58lyJH8FYt7BdTzttamrL00LmfDyk=; b=xYi8ZcuG2wQinfvW89pz8qyBTbo0TGchzNA5lRYEpenMU0inB6CuML4SFvWNlz30dAMqCZ pW8dEn3eSVnAzuPBknzwRGqvhXerQbyq2jypoiKCZSAvVBXIkUuV/z1/0Jp9iU8McB7qe2 YJ/wrUideN/5xruJ5vZ5VXgiYwJJYDK+yJ7qwMQaND5ICTpokCHtOjPV6ct/Zlx7QvpkQ0 C+dtGdcEtba4/MSCzQaaOBe91pLeRyyHgOkJCCFUdsqdTN65I2E53pnDyMUjUWNz6vEOLC jE/4Csot1+XEQPUV5uQs0mIuVIYhW3R04sekx6TN+EY7YunVDbDaU8/brJIAww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T5dYrnAKAPcR4T58lyJH8FYt7BdTzttamrL00LmfDyk=; b=yLSGJP0urG/uHhtLAkcLtOeuz6rMnnL7/y/G9Px2ka5cLKB8eaApvC3HLxmJbhXxPvPkqA ULg+wMWE06VgyKatVkO9SJgs9y2lEIvRlKUmUUVI9AuxKKOMYR8Jyc9gHZa73EAs0SBY0k J0hEiLuGpE1Kjno2ns1sdT7/EFy5wpgv2eeSG0+JIhLpZ+qdJGkkt8MLm04sVKIKWq658T SS1qe8G0jVRhUAg+FwITPYYp5aRUbNXvw0MOXJ6Oah4ighymDltMLcQaPa/+AndasQ5SYt 9MYlDZijE1V4oRdKyKNWrYbx1Jgpt+5sPJeLdjqoNPTiP5Oie7M0pJvsqzW0FQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730649748; a=rsa-sha256; cv=none; b=BqqPq+40uScs13/94TQr43xl7/VKcdUjoRcdymXd0N6fCsxkkDDaBlddHY7GulFl9Dfcf+ UR2BPue4iPwGEUt3OLgUuLrV6BK3+ieC6gXh946EKQNzuV/YfQhtqbkZGzKRk6Jolg9DYy ROkrlirZgpzgR01qQL1rBvwofwr/+cJbf14hJ6oIacQH4EUwbOlXkFJpRP1okeH5fjyMvy RQjiE6twuSK4wBJGWPyuZ3gRXGD4Rxad8BqMPvEb/l23V0D5In1FEJjBXQVAsFC6PIWlGf y5AHqmveZILaJF17nQd822Iq2PSf1vJFaVJOmDeXdqV5G6QKei1s0Nhc7UuBJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhK9v6dSLzwCv; Sun, 3 Nov 2024 16:02:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3G2Rtv016734; Sun, 3 Nov 2024 16:02:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3G2RAT016731; Sun, 3 Nov 2024 16:02:27 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:02:27 GMT Message-Id: <202411031602.4A3G2RAT016731@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: c54bdf84d5fb - stable/14 - bus: Activate INTRNG interrupts in common code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: c54bdf84d5fb0b2c1923179fd30812ee68aaf423 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c54bdf84d5fb0b2c1923179fd30812ee68aaf423 commit c54bdf84d5fb0b2c1923179fd30812ee68aaf423 Author: Andrew Turner AuthorDate: 2024-10-29 10:19:45 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:01:28 +0000 bus: Activate INTRNG interrupts in common code [MFC note: This is not a direct cherry-pick due to API changes in HEAD which are not present in stable/14.] We need to call into INTRNG to activate all interrupts on platforms that use it. Currently, interrupts are only activated in the nexus drivers for INTRNG platforms, but this does not handle other bus devices such as gpiobus that manage their own IRQ space. Reported by: cperciva Reviewed by: cperciva, jhb Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D47282 (cherry picked from commit c85855a72db9f9d7b4326b676241e1dffabf0fae) --- sys/kern/subr_bus.c | 47 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index f0831b30142b..f55a7210e825 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -53,6 +53,9 @@ #include #include #include +#ifdef INTRNG +#include +#endif #include @@ -4382,17 +4385,26 @@ bus_generic_rman_activate_resource(device_t dev, device_t child, int type, if (error != 0) return (error); - if ((rman_get_flags(r) & RF_UNMAPPED) == 0 && - (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT)) { - error = BUS_MAP_RESOURCE(dev, child, type, r, NULL, &map); - if (error != 0) { - rman_deactivate_resource(r); - return (error); - } + switch (type) { + case SYS_RES_IOPORT: + case SYS_RES_MEMORY: + if ((rman_get_flags(r) & RF_UNMAPPED) == 0) { + error = BUS_MAP_RESOURCE(dev, child, type, r, NULL, &map); + if (error != 0) + break; - rman_set_mapping(r, &map); + rman_set_mapping(r, &map); + } + break; +#ifdef INTRNG + case SYS_RES_IRQ: + error = intr_activate_irq(child, r); + break; +#endif } - return (0); + if (error != 0) + rman_deactivate_resource(r); + return (error); } /** @@ -4421,10 +4433,19 @@ bus_generic_rman_deactivate_resource(device_t dev, device_t child, int type, if (error != 0) return (error); - if ((rman_get_flags(r) & RF_UNMAPPED) == 0 && - (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT)) { - rman_get_mapping(r, &map); - BUS_UNMAP_RESOURCE(dev, child, type, r, &map); + switch (type) { + case SYS_RES_IOPORT: + case SYS_RES_MEMORY: + if ((rman_get_flags(r) & RF_UNMAPPED) == 0) { + rman_get_mapping(r, &map); + BUS_UNMAP_RESOURCE(dev, child, type, r, &map); + } + break; +#ifdef INTRNG + case SYS_RES_IRQ: + intr_deactivate_irq(child, r); + break; +#endif } return (0); } From nobody Sun Nov 3 16:02:31 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhK9z5NxWz5cN3f; Sun, 03 Nov 2024 16:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhK9z3b18z4NVN; Sun, 3 Nov 2024 16:02:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0GbGHGa9Jle4LA7m7KST51xSrdM423bVF/nranHQd1s=; b=GN1w38EFP/+GucFcdCbQu57kkhcn7m0Fukryl1p9fGmUHEFQzeUp3gzRKYpPExCXoP1z1n AIg7TRkHBl6V28BjsEFYiYnRcmM6n2WjNnPvZ1BDoEFkrJijWextjCQvF9AdVGsiuo3Wqm qPgrM1oYt9zN9M1xbkrpSsF41vsVFwSla9MNarGq9T0pwQQZzWMLRy/nu5SY8PztkIkNYr 9EASmiypPNcId7DYj0/2gCoXKDzn1+wdDBsrt9LkIGkyE1mkTJPAa2vrKI0BYg7wU8KEVe jVVW72PE8DTAeIPgXOvP4v3F8uudHpx1F2rAlDwXoU4DZafH09RpfbqnXBLpSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0GbGHGa9Jle4LA7m7KST51xSrdM423bVF/nranHQd1s=; b=HDQgNBu54bvOchT+lrRzRbYp3Ehb+ypyEHtU+lfUorfXEUV2Tfmu3miMg9GCViPjhF/gaE uBwVorptHu5YmOiEEIZl+H4yOJm76xC7iP2YbwSdhqOyBtjQ01PXkE+FX66UGRMfdpkKXx PDknpKKo66tAy0DxI/OvSPYcur/j1dXBDqdJ/7bc+4vvZFzKrOpgMRAGuPS4HkUfSwETGb 5BKlHjYjziuCYp1BlYA/Q9ySKK+ofO7dAEAKv+9Fpxz4m2sRv2LLVrvBd7q4LJkDw0Ysad RWrGmUbQoKnKr6L2kFtg+KXrguCeJwObIa4D5aeoDycxaASRSUg9rh+ADFlFaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730649751; a=rsa-sha256; cv=none; b=Uu3MEIwAmXyyZapIHqKU4si426BB4Zael3/oW1/A++NHBl0pLuTh/pfCAyi2IKqvKqkt2A dk5BdVZH6CD5TElqn4hQqL6baxBTo4PSU0XJjj6BTgv9o6F8X7DkU6BA2Y4Z3dgTdIsHvA fbt1JK9R2f8lTYibPtX3+p69V/fttt97gnh034Y0jvEEnH1kVfsT4jKJ3IbbmeqNBO6PZ3 RIFVJGswUoC4SUgJZMUSBRPE/fjM38x5yqU1GpyHyZn5YUjxs0g/BZc2N5gBWLtX+KYTYM Gbj72DxbfUONP7Ahlt9Y6oNFriXCqyb0oVGTQvNaYwNOk3WxsfULZllK+rX1mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhK9z1vkczwSw; Sun, 3 Nov 2024 16:02:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3G2VvV016915; Sun, 3 Nov 2024 16:02:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3G2VEt016912; Sun, 3 Nov 2024 16:02:31 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:02:31 GMT Message-Id: <202411031602.4A3G2VEt016912@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 393bbd23b344 - stable/14 - modules: gpioaei: Fix arm64.LINT-FDT breakage List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 393bbd23b3446bb4ac4924f7e1c98bbdcff4455d Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=393bbd23b3446bb4ac4924f7e1c98bbdcff4455d commit 393bbd23b3446bb4ac4924f7e1c98bbdcff4455d Author: Ravi Pokala AuthorDate: 2024-11-02 05:08:11 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:01:28 +0000 modules: gpioaei: Fix arm64.LINT-FDT breakage 'acpi_if.h' was accidentally omitted from the module Makefile; add it. Fixes: 9709bda03cd0 (cherry picked from commit bb8b3b1741188ab284e8b48ec367961a480421cb) --- sys/modules/gpio/gpioaei/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/modules/gpio/gpioaei/Makefile b/sys/modules/gpio/gpioaei/Makefile index 514dcd80a35e..8f856af48eb7 100644 --- a/sys/modules/gpio/gpioaei/Makefile +++ b/sys/modules/gpio/gpioaei/Makefile @@ -4,6 +4,7 @@ KMOD= gpioaei SRCS= gpioaei.c SRCS+= \ + acpi_if.h \ bus_if.h \ device_if.h \ gpio_if.h \ From nobody Sun Nov 3 16:02:30 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhK9z22ygz5cMZh; Sun, 03 Nov 2024 16:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhK9y2Wvpz4NDB; Sun, 3 Nov 2024 16:02:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=klRVy2xmA7cxMHpSfLZ1Fcd27TfdB0C0idox7QDe3i8=; b=JtGAaLpWERfMTg+AEXlEAOoplAxxp8ciGKoDcjJckdtNoPW2t4lx1Cr/3ZEs52PQWLCoaA Qxx3geFQYKDJQYxmm+YSRekK4Rso13C3ijwPjIo8Tp8P7JoHoQntMCaxsSrx4OkpTuCaYs UM8nbB/V1vdxq9G3Ip4YCwWHOhCXmzpiof6TienC0xDZYQqYz/LoPsgLcvmfLS9H7NQtjM Eck6VsOxJf94lcHaPeI4VHtdNP2eVVEXtjGDzajEJGiElv82CNxukEYPGFu4FlfPgBGzo5 /NYnYaw3GDdKlJjGDCqqtHuDfmdthR8ph5KHTKYV5Y87d+Gtn3noJRzwzbIYgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730649750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=klRVy2xmA7cxMHpSfLZ1Fcd27TfdB0C0idox7QDe3i8=; b=gsfwXhRyKg4LpAsh0wc4t5cbakB6ftjGkIGApKeWT5Rku6FHciTsjFStVjJF8S9G6/33Ge 3afH+4n7Xa6f6ZutVRW++6Gu7yHr9QyCkFxOXD/gh9k2eMrFbfHatMiMY6/1n/wAjb1NRo MheJKhxJPxBxnSNm02/Q7XXlzhQHOUyAIicxVUg2yDBCCx23AOoBusPK0DZY+8HhSnQknR Tr8wzO8FRusK3tedfZImQsyDc1YEVVlHk3RC3lh1TXITlTbr5Cpp3qSJaqebuM3w8sjVxp WOy8Ff7ksIL3mTHuVNKXyWXTx377S9hHpAKz2c0h2sEq0znt+KEhWbb5fqXbZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730649750; a=rsa-sha256; cv=none; b=IKnA7cWFUbZDcoVqTzZdCcPEnrqjIHxoiEuSaeNcIzuA4P5ACfEcDDZM5rL1Q+3185cUu6 yoCDD501muZfha+o2BvpNViB3QldRO7tV9NWJEvi96gjcUZDzMhZZ0nPgh/xrARahFPX+4 WmxCnuUjxksCZz4kZL1ciwD9coRq+BZWI68QJK+Zv9J8nAwdOZ+HUrvRqqDb+UZVYYvdQ3 mst6E4Lbmg+Epk3oUIw37ltEGEfSh7IAJzdbRHLi5DYQLKwfMJA4HmiAhkXxt4HC/AUDiY NrkP5+ck6SigST9So3rAoL2owIJlnpE+Jhf3vwdtHpTsF5a2XNIg65pfYW2W2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhK9y1SZGzwQV; Sun, 3 Nov 2024 16:02:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3G2U66016853; Sun, 3 Nov 2024 16:02:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3G2Uph016850; Sun, 3 Nov 2024 16:02:30 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:02:30 GMT Message-Id: <202411031602.4A3G2Uph016850@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 5a53843aef49 - stable/14 - modules: gpioaei only on ACPI-supporting archs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 5a53843aef490bda32397e80b3fb600e802b461c Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=5a53843aef490bda32397e80b3fb600e802b461c commit 5a53843aef490bda32397e80b3fb600e802b461c Author: Colin Percival AuthorDate: 2024-10-31 22:45:03 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:01:28 +0000 modules: gpioaei only on ACPI-supporting archs Fixes: 9709bda03cd0 ("GPIO: Add ACPI _AEI support") Pointy-hat to: cperciva Sponsored by: Amazon (cherry picked from commit 6540ac118473dde29cb02f786c79c64f73834ca1) --- sys/modules/gpio/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/modules/gpio/Makefile b/sys/modules/gpio/Makefile index 1d7f69f1836d..66090b1393bf 100644 --- a/sys/modules/gpio/Makefile +++ b/sys/modules/gpio/Makefile @@ -24,10 +24,14 @@ # SUCH DAMAGE. # -SUBDIR = gpioaei gpiobus gpioiic gpioled gpiospi gpioths +SUBDIR = gpiobus gpioiic gpioled gpiospi gpioths .if !empty(OPT_FDT) SUBDIR += gpiokeys gpiopps .endif +.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" +SUBDIR += gpioaei +.endif + .include From nobody Sun Nov 3 16:16:47 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhKVR5xCZz5cNnc; Sun, 03 Nov 2024 16:16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhKVR5Dlzz4RcZ; Sun, 3 Nov 2024 16:16:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sk33JqtNbcJ/jRcrkia6/ZbNjWPx1o3l5Yv6aFopzT4=; b=fmnEbVs+CHBmpDSF8syuMN5gYsYgsSsiRyLKnvHCJ2aXaIm9Ko/AURH825xxEbIjTYmp9j bAlgyJytcFcvXRmzCuLlP+LArwnMaBgoqf+grnw/b3pIKhfvQgkvZUBsBwfZEgo/u3Sb79 Wo4rh7vsgKDs+0qusQMl+87xWTY1p/dx/XGZxYEB82b3ho3bhyE6ymagbksRO4NlLi9uAK 8d57JNzdCA7QVRC0OuliioRYBCo/RNEoqqPKqwKWwrxQzTimM05oDEPRGlAvcn46FCZbyu oCI6RHEb+wX4itSes/TC5ETWU6SzgShVPoHN+7o3+DsdvkSjDusWARB3/uB3pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sk33JqtNbcJ/jRcrkia6/ZbNjWPx1o3l5Yv6aFopzT4=; b=OsEuSd5MEiBvo45iQkbSt9SgHUxRneufLGjsTvixPuWvNlXCKzsWp0RrNnaG/VnFIbdFXs 7S9rsvn3LzlUTPQg7Y0b9yNnlNBbNG2x+5Jzp74TfFEo7x3t9Hf54q4V2JheOOa/CUW2ct iDIiTzmCcgMdJNkBuYNwORA3zPz+6pPEwDNLo3+zcRscY+j7SxspzIY3Hj82a17zZm64iS U/JScu++hN4FU7xDmebTKbHUqV81O+hFGYMXq05IvY4yu8auURpqFW6kEFDyxXPZc06VSv Zg+I1TVORP780CsJnvnpSkWNC6R7s2lyRt4+zXdSoKY3gaOMw63XggOc4P1F7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730650607; a=rsa-sha256; cv=none; b=Epe1O+eHIiva/TQpeanxEm/zK+Mk6LpURZU54vV2r93Q6vDYBcHlY5JtJrpxYAUy4lfp3C MN08JKkKSrHnJIy0lXb/9rQhLVeMD0ZI1zP2ksytReuzFbgX1N8+25umYZSWydvfUF+AmS uBe5TAo8sRzEBUue3IE5qgONiy3JSU6t1+0p9b54HSebO9Z1amlylrq2Fyr6JtE/TiXIEO fUtcatQ1rzGVtcY8Aas+eFxW33+tjosNQWuAEefLRn6XzvDGbZHjgEEOHwa4P0KWFhsxWe Y4/mv1sjn5+Nl7BmRX1/lWVlnNHhBMIPTbNDF3krmoEK/pDuAsr9Ose5sOIp7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhKVR4j1Xzw7r; Sun, 3 Nov 2024 16:16:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GGl87036243; Sun, 3 Nov 2024 16:16:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GGln2036240; Sun, 3 Nov 2024 16:16:47 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:16:47 GMT Message-Id: <202411031616.4A3GGln2036240@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: ce99ca69676e - releng/14.2 - gpiobus(4): Add an acpi variant of gpiobus List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.2 X-Git-Reftype: branch X-Git-Commit: ce99ca69676e7be94cc36f9a126276f5602a472e Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=ce99ca69676e7be94cc36f9a126276f5602a472e commit ce99ca69676e7be94cc36f9a126276f5602a472e Author: Ahmad Khalifa AuthorDate: 2024-07-08 12:22:17 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:14:33 +0000 gpiobus(4): Add an acpi variant of gpiobus This currently only implements the address space handler and attempts to configure pins with flags obtained from ACPI. Reviewed by: wulf Approved by: re (kib) MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1359 (cherry picked from commit 92adaa5862d5ea94318a011e0618622d0fb72521) (cherry picked from commit 14887d2c869ad47d5921fc9aa07e891a38950121) --- sys/conf/files | 1 + sys/dev/gpio/acpi_gpiobus.c | 311 ++++++++++++++++++++++++++++++++++++++ sys/dev/gpio/gpiobus.c | 6 +- sys/dev/gpio/gpiobusvar.h | 2 + sys/modules/gpio/gpiobus/Makefile | 3 + 5 files changed, 319 insertions(+), 4 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index 5325e010d970..5239f38d5154 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1741,6 +1741,7 @@ dev/gve/gve_sysctl.c optional gve dev/gve/gve_tx.c optional gve dev/gve/gve_utils.c optional gve dev/goldfish/goldfish_rtc.c optional goldfish_rtc fdt +dev/gpio/acpi_gpiobus.c optional acpi gpio dev/gpio/dwgpio/dwgpio.c optional gpio dwgpio fdt dev/gpio/dwgpio/dwgpio_bus.c optional gpio dwgpio fdt dev/gpio/dwgpio/dwgpio_if.m optional gpio dwgpio fdt diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c new file mode 100644 index 000000000000..eafa1c07fab1 --- /dev/null +++ b/sys/dev/gpio/acpi_gpiobus.c @@ -0,0 +1,311 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Ahmad Khalifa + * + * 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 AUTHORS 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 AUTHORS 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 + +struct acpi_gpiobus_softc { + struct gpiobus_softc super_sc; + ACPI_CONNECTION_INFO handler_info; +}; + +struct acpi_gpiobus_ctx { + struct gpiobus_softc *sc; + ACPI_HANDLE dev_handle; +}; + +static uint32_t +acpi_gpiobus_convflags(ACPI_RESOURCE_GPIO *gpio_res) +{ + uint32_t flags = 0; + + /* Figure out pin flags */ +#ifdef NOT_YET + /* These are currently unused. */ + if (gpio_res->ConnectionType == ACPI_RESOURCE_GPIO_TYPE_INT) { + switch (gpio_res->Polarity) { + case ACPI_ACTIVE_HIGH: + flags = gpio_res->Triggering == ACPI_LEVEL_SENSITIVE ? + GPIO_INTR_LEVEL_HIGH : GPIO_INTR_EDGE_RISING; + break; + case ACPI_ACTIVE_LOW: + flags = gpio_res->Triggering == ACPI_LEVEL_SENSITIVE ? + GPIO_INTR_LEVEL_LOW : GPIO_INTR_EDGE_FALLING; + break; + case ACPI_ACTIVE_BOTH: + flags = GPIO_INTR_EDGE_BOTH; + break; + } + + if (gpio_res->Shareable == ACPI_SHARED) + flags |= GPIO_INTR_SHAREABLE; + } +#endif + switch (gpio_res->IoRestriction) { + case ACPI_IO_RESTRICT_INPUT: + flags = GPIO_PIN_INPUT; + break; + case ACPI_IO_RESTRICT_OUTPUT: + flags = GPIO_PIN_OUTPUT; + break; + } + + switch (gpio_res->PinConfig) { + case ACPI_PIN_CONFIG_PULLUP: + flags |= GPIO_PIN_PULLUP; + break; + case ACPI_PIN_CONFIG_PULLDOWN: + flags |= GPIO_PIN_PULLDOWN; + break; + } + + return (flags); +} + +static ACPI_STATUS +acpi_gpiobus_enumerate_res(ACPI_RESOURCE *res, void *context) +{ + ACPI_RESOURCE_GPIO *gpio_res = &res->Data.Gpio; + struct acpi_gpiobus_ctx *ctx = context; + struct gpiobus_softc *super_sc = ctx->sc; + ACPI_HANDLE handle; + uint32_t flags, i; + + if (res->Type != ACPI_RESOURCE_TYPE_GPIO) + return (AE_OK); + + if (ACPI_FAILURE(AcpiGetHandle(ACPI_ROOT_OBJECT, + gpio_res->ResourceSource.StringPtr, &handle)) || + handle != ctx->dev_handle) + return (AE_OK); + + if (__predict_false(gpio_res->PinTableLength > super_sc->sc_npins)) { + device_printf(super_sc->sc_busdev, + "invalid pin table length %hu, max: %d (bad ACPI tables?)\n", + gpio_res->PinTableLength, super_sc->sc_npins); + return (AE_LIMIT); + } + + flags = acpi_gpiobus_convflags(gpio_res); + for (i = 0; i < gpio_res->PinTableLength; i++) { + UINT16 pin = gpio_res->PinTable[i]; + + if (__predict_false(pin >= super_sc->sc_npins)) { + device_printf(super_sc->sc_busdev, + "invalid pin 0x%x, max: 0x%x (bad ACPI tables?)\n", + pin, super_sc->sc_npins - 1); + return (AE_LIMIT); + } + + GPIO_PIN_SETFLAGS(super_sc->sc_dev, pin, flags & + ~GPIO_INTR_MASK); + } + + return (AE_OK); +} + +static ACPI_STATUS +acpi_gpiobus_enumerate(ACPI_HANDLE handle, UINT32 depth, void *context, + void **result) +{ + UINT32 sta; + + /* + * If no _STA method or if it failed, then assume that + * the device is present. + */ + if (!ACPI_FAILURE(acpi_GetInteger(handle, "_STA", &sta)) && + !ACPI_DEVICE_PRESENT(sta)) + return (AE_OK); + + if (!acpi_has_hid(handle)) + return (AE_OK); + + /* Look for GPIO resources */ + AcpiWalkResources(handle, "_CRS", acpi_gpiobus_enumerate_res, context); + + return (AE_OK); +} + +static ACPI_STATUS +acpi_gpiobus_space_handler(UINT32 function, ACPI_PHYSICAL_ADDRESS address, + UINT32 length, UINT64 *value, void *context, void *region_context) +{ + ACPI_CONNECTION_INFO *info = context; + ACPI_RESOURCE_GPIO *gpio_res; + device_t controller; + ACPI_RESOURCE *res; + ACPI_STATUS status; + + status = AcpiBufferToResource(info->Connection, info->Length, &res); + if (ACPI_FAILURE(status) || res->Type != ACPI_RESOURCE_TYPE_GPIO) + goto err; + + gpio_res = &res->Data.Gpio; + controller = __containerof(info, struct acpi_gpiobus_softc, + handler_info)->super_sc.sc_dev; + + switch (function) { + case ACPI_WRITE: + if (__predict_false( + gpio_res->IoRestriction == ACPI_IO_RESTRICT_INPUT)) + goto err; + + for (int i = 0; i < length; i++) + if (GPIO_PIN_SET(controller, + gpio_res->PinTable[address + i], (*value & 1 << i) ? + GPIO_PIN_HIGH : GPIO_PIN_LOW) != 0) + goto err; + break; + case ACPI_READ: + if (__predict_false( + gpio_res->IoRestriction == ACPI_IO_RESTRICT_OUTPUT)) + goto err; + + for (int i = 0; i < length; i++) { + uint32_t v; + + if (GPIO_PIN_GET(controller, + gpio_res->PinTable[address + i], &v) != 0) + goto err; + *value |= v << i; + } + break; + default: + goto err; + } + + ACPI_FREE(res); + return (AE_OK); + +err: + ACPI_FREE(res); + return (AE_BAD_PARAMETER); +} + +static int +acpi_gpiobus_probe(device_t dev) +{ + device_t controller; + + if (acpi_disabled("gpiobus")) + return (ENXIO); + + controller = device_get_parent(dev); + if (controller == NULL) + return (ENXIO); + + if (acpi_get_handle(controller) == NULL) + return (ENXIO); + + device_set_desc(dev, "GPIO bus (ACPI-hinted)"); + return (BUS_PROBE_DEFAULT); +} + +static int +acpi_gpiobus_attach(device_t dev) +{ + struct acpi_gpiobus_softc *sc; + struct acpi_gpiobus_ctx ctx; + ACPI_HANDLE handle; + ACPI_STATUS status; + int err; + + if ((err = gpiobus_attach(dev)) != 0) + return (err); + + sc = device_get_softc(dev); + handle = acpi_get_handle(sc->super_sc.sc_dev); + if (handle == NULL) { + gpiobus_detach(dev); + return (ENXIO); + } + + status = AcpiInstallAddressSpaceHandler(handle, ACPI_ADR_SPACE_GPIO, + acpi_gpiobus_space_handler, NULL, &sc->handler_info); + + if (ACPI_FAILURE(status)) { + device_printf(dev, + "Failed to install GPIO address space handler\n"); + gpiobus_detach(dev); + return (ENXIO); + } + + ctx.dev_handle = handle; + ctx.sc = &sc->super_sc; + + status = AcpiWalkNamespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, + ACPI_UINT32_MAX, acpi_gpiobus_enumerate, NULL, &ctx, NULL); + + if (ACPI_FAILURE(status)) + device_printf(dev, "Failed to enumerate GPIO resources\n"); + + return (0); +} + +static int +acpi_gpiobus_detach(device_t dev) +{ + struct gpiobus_softc *super_sc; + ACPI_STATUS status; + + super_sc = device_get_softc(dev); + status = AcpiRemoveAddressSpaceHandler( + acpi_get_handle(super_sc->sc_dev), ACPI_ADR_SPACE_GPIO, + acpi_gpiobus_space_handler + ); + + if (ACPI_FAILURE(status)) + device_printf(dev, + "Failed to remove GPIO address space handler\n"); + + return (gpiobus_detach(dev)); +} + +static device_method_t acpi_gpiobus_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, acpi_gpiobus_probe), + DEVMETHOD(device_attach, acpi_gpiobus_attach), + DEVMETHOD(device_detach, acpi_gpiobus_detach), + + DEVMETHOD_END +}; + +DEFINE_CLASS_1(gpiobus, acpi_gpiobus_driver, acpi_gpiobus_methods, + sizeof(struct acpi_gpiobus_softc), gpiobus_driver); +EARLY_DRIVER_MODULE(acpi_gpiobus, gpio, acpi_gpiobus_driver, NULL, NULL, + BUS_PASS_BUS + BUS_PASS_ORDER_MIDDLE); +MODULE_VERSION(acpi_gpiobus, 1); +MODULE_DEPEND(acpi_gpiobus, acpi, 1, 1, 1); diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c index 65e8d1a775fe..7bdb080eb4f1 100644 --- a/sys/dev/gpio/gpiobus.c +++ b/sys/dev/gpio/gpiobus.c @@ -53,8 +53,6 @@ static void gpiobus_print_pins(struct gpiobus_ivar *, struct sbuf *); static int gpiobus_parse_pins(struct gpiobus_softc *, device_t, int); static int gpiobus_probe(device_t); -static int gpiobus_attach(device_t); -static int gpiobus_detach(device_t); static int gpiobus_suspend(device_t); static int gpiobus_resume(device_t); static void gpiobus_probe_nomatch(device_t, device_t); @@ -551,7 +549,7 @@ gpiobus_probe(device_t dev) return (BUS_PROBE_GENERIC); } -static int +int gpiobus_attach(device_t dev) { int err; @@ -573,7 +571,7 @@ gpiobus_attach(device_t dev) * Since this is not a self-enumerating bus, and since we always add * children in attach, we have to always delete children here. */ -static int +int gpiobus_detach(device_t dev) { struct gpiobus_softc *sc; diff --git a/sys/dev/gpio/gpiobusvar.h b/sys/dev/gpio/gpiobusvar.h index 521132fbac9d..e3669e82e594 100644 --- a/sys/dev/gpio/gpiobusvar.h +++ b/sys/dev/gpio/gpiobusvar.h @@ -174,6 +174,8 @@ struct resource *gpio_alloc_intr_resource(device_t consumer_dev, int *rid, int gpio_check_flags(uint32_t, uint32_t); device_t gpiobus_attach_bus(device_t); int gpiobus_detach_bus(device_t); +int gpiobus_attach(device_t); +int gpiobus_detach(device_t); int gpiobus_init_softc(device_t); int gpiobus_alloc_ivars(struct gpiobus_ivar *); void gpiobus_free_ivars(struct gpiobus_ivar *); diff --git a/sys/modules/gpio/gpiobus/Makefile b/sys/modules/gpio/gpiobus/Makefile index d9345e00e2be..baaf7faf69e8 100644 --- a/sys/modules/gpio/gpiobus/Makefile +++ b/sys/modules/gpio/gpiobus/Makefile @@ -38,6 +38,9 @@ SRCS+= device_if.h bus_if.h opt_platform.h .if !empty(OPT_FDT) SRCS+= ofw_gpiobus.c .endif +.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" +SRCS+= acpi_gpiobus.c opt_acpi.h acpi_if.h +.endif CFLAGS+= -I. -I${SRCTOP}/sys/dev/gpio/ From nobody Sun Nov 3 16:16:48 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhKVT1Dlrz5cNtS; Sun, 03 Nov 2024 16:16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhKVS5rXYz4S0P; Sun, 3 Nov 2024 16:16:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5TqASZ6dzm37ja/WjWNtdPC8zhJvbbDeI7X5OhSiERs=; b=N08F8ayoM/+RIxXyfmjyG6groKMeK6KSpmu5H320moW09I6aOixZvh80CvpnOhDU01B7zs 0MAEOQACA+dwsIzXDNFhwzULm9VdVfJ5Pe3tl4rhXi1Er9SvhaNFWEyhGhVjMUwV3at9da TDp2d6p942Ah4g32r5ZkrPpcbbv4ZNu84eVCadg4UpaXyIgKXQdLBNWAOlzgJ9kxmfsQrk 2pYlCifdnDudploo521U2OHZmObLU6bwGp0/+TiVxc0RUz3Lz6JU5OMj5lBF0gm8xRoSvI pTwXaHaEtAx2pTFQm11tj7tGrzFjTGILE/HaY2kOQ0a6eG3ZvnpNHyj9P54joQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5TqASZ6dzm37ja/WjWNtdPC8zhJvbbDeI7X5OhSiERs=; b=GAEykdi4Tzhg5k2s1Q7lK8tyY+FWZv+olAR8O9PhIDEkML7vMN0Pw73KpSCQF7NZd9Oymn 2I98I3sA7+kRxr/rrFHg5p+Mih3brNBQiSnuhbCdfZ4SVHjrE35CuUSr+KFN4J/I5+H86U 44Vtnmn7lSFMsLhz6dvpWikAAPhBQhIgHGfoPTfhXLbRlV0qOoqCZWF3rcY1V0o5cfTmPu E7zNCdj+DXrsxvXnb4gje1ymKs09aFC2ongZv4EB98E6dfpyypLzwkMI+kJbwjcIrE9ZqJ XhNvycvwWpMqzdAdGBbMiGpGhGPYlY9jnKuIaJ7Qivoeek7daz6UsGyGMSaiVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730650608; a=rsa-sha256; cv=none; b=fwHFWhqWTNjwAOmVkkfu86ycbZtU/vbcGNbAvicYd6mO1GDHJAvy1TTR54E1hdh/i7TLgX jhWyijqkuHiyxEvGe82MCYfHN5uJPEN7I2y2yfzCbN9yZmp01IZS5tlQ4ypsGkpBloYu93 vi1vyh8lYkS2VKFfiEjTAWpjsZwI9rKD//8Tm8O0dL/jjr/UBsHE1VM0UFbP2eJRsMuQty LL1s+GWn4RIMeZhB9kXXgBtsnBMlyLuDYRopjwz5T2gFKyP4ZqInX6n69V1uBH7d/06vRS NgvaX9nD0CuexSem1lrv1Hk9vrrOy9b0fu1mfZU8uhaT/WD0H62Q1ybLnPhmNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhKVS511DzwFC; Sun, 3 Nov 2024 16:16:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GGmpL036291; Sun, 3 Nov 2024 16:16:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GGmKk036288; Sun, 3 Nov 2024 16:16:48 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:16:48 GMT Message-Id: <202411031616.4A3GGmKk036288@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 574e7bad4a14 - releng/14.2 - acpi_gpiobus: OR GPIO_PIN_(IN|OUT)PUT into flags List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 574e7bad4a14bdc6316fa7a36cd1393c3137e11c Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=574e7bad4a14bdc6316fa7a36cd1393c3137e11c commit 574e7bad4a14bdc6316fa7a36cd1393c3137e11c Author: Colin Percival AuthorDate: 2024-10-12 18:12:15 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:15:07 +0000 acpi_gpiobus: OR GPIO_PIN_(IN|OUT)PUT into flags Right now flags is set to 0 before this "=" -> "|=" change, but it will matter when the NOT_YET section above becomes effective. Approved by: re (kib) MFC after: 2 weeks Sponsored by: Amazon (cherry picked from commit c808132731aa999947f4f7810157d7d8d9aaf61e) (cherry picked from commit 7c8f273bfba28d9d55ada94c80feb3ba97c53758) --- sys/dev/gpio/acpi_gpiobus.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c index eafa1c07fab1..3b6fc6dde674 100644 --- a/sys/dev/gpio/acpi_gpiobus.c +++ b/sys/dev/gpio/acpi_gpiobus.c @@ -75,10 +75,10 @@ acpi_gpiobus_convflags(ACPI_RESOURCE_GPIO *gpio_res) #endif switch (gpio_res->IoRestriction) { case ACPI_IO_RESTRICT_INPUT: - flags = GPIO_PIN_INPUT; + flags |= GPIO_PIN_INPUT; break; case ACPI_IO_RESTRICT_OUTPUT: - flags = GPIO_PIN_OUTPUT; + flags |= GPIO_PIN_OUTPUT; break; } From nobody Sun Nov 3 16:16:49 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhKVV17Znz5cNWS; Sun, 03 Nov 2024 16:16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhKVT6QZwz4Rcb; Sun, 3 Nov 2024 16:16:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hMRbB6ehyP90mqhkTtMEnMj1l/pymNco8H4cgbaoI3w=; b=DXmD2v2kNpzwL/GcBLXXF2opjRvIaux/QVhc4BPQHew+3jv+T/r9kcd0ICzUie9PJvOa3c 1P0Rk/avgIWTf+ILoKjE41t6bcDc2728ARAhMxRmqyjL8/N1y1iyUy25uzshV6z3ZJtZ1Z v062McK1h/57S2oh4Sg1qxhK9yGbAPmvs+IWwXqlnNPvn2nb9SKWqFaRNxZn4YwDr5LigA HPCI3qY1lMcCDPHlPglknFSjsbJw0H1Vq4OFvVa1IBZIuFZHmCkKowHahTQeNBgQ6SZG3u OJAlfMPLyI/8QaPX4uSKFM9CqSsC6U1T5PBnWAiF4WzaYiN/SxJZssr+0Sk1Zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hMRbB6ehyP90mqhkTtMEnMj1l/pymNco8H4cgbaoI3w=; b=lELy6sPy6vmqG6NmXb5c4rZmZ88XqZgN4ec9Sjj2shZq006LrRYADq+jDKs3JANnFFGQuR JPVLAtVub/Vni+f4M3WHX4wO7qbwGqtEmmj48qJA1jSlu6tsgBD6bKxf1gwUBsN6crieok 6T+yUYo4Ug9DSEvQchtuluODmiJb1/ksWMruraQN6Iazv0Q7OuLFsDUvunsaSuv6c3i+jY VkfrAZRwyNGmTcNnBBliFCd38FxsxoTj0fRaiRcMnku/s1vC3vXpMXtwzFN+TBQmStMSop 8rZgcod67EKX2SPyTLB4krycKJnEHmwAHl88LZjCL9TYM2jaBx6WH4tSR4YIhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730650609; a=rsa-sha256; cv=none; b=KJFjSLslb79B8X3+tDacEZRLyQipLQ0Zyky8jGfrXFtZIhzp+/SIw1bxZbxjrFIS0QwvDr zHfohJqTPgdWZ0Ohc26T0yxgW+0uyr/OTWQFq0HyVU2B+16tN1Esyl+trvf4CCe7VAAXSi JhwTFP9Q6bfL/GeD4LetYyEUtFqrqiSdCh+zi/KUXHE+zciiDAb6q5Ze3uEOqXdCksn1wP pH6wF99OWfptO8iUZIFZo5lSr/1iuRlbGSKEbqYAA0TlKHSHKcz3VXqUrx1IRdR5w+LmhD VaRj1TUEeQulPB5bkdaAOPichTRFO8tTeeNA7eJ68uxjDmhStvNzBl0w2HfuVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhKVT61p3zvwv; Sun, 3 Nov 2024 16:16:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GGnP0036336; Sun, 3 Nov 2024 16:16:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GGnbw036333; Sun, 3 Nov 2024 16:16:49 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:16:49 GMT Message-Id: <202411031616.4A3GGnbw036333@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: c90ebd3fa356 - releng/14.2 - ACPI: Implement power button on !x86 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.2 X-Git-Reftype: branch X-Git-Commit: c90ebd3fa356406e152fff4475431c9fd66ea84e Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c90ebd3fa356406e152fff4475431c9fd66ea84e commit c90ebd3fa356406e152fff4475431c9fd66ea84e Author: Colin Percival AuthorDate: 2024-10-12 17:27:39 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:15:12 +0000 ACPI: Implement power button on !x86 ACPI sleep states are only implemented on x86 systems, so having the ACPI power button attempt to enter "S5" (or other state as configured via the hw.acpi.power_button_state sysctl) is not useful. On non-x86 systems, implement the power button with a call to shutdown_nice(RB_POWEROFF) to shut down the system. Reviewed by: Andrew Tested on: Graviton 2 Approved by: re (kib) MFC after: 2 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47094 (cherry picked from commit f41ef9d80b3d272e08dd9e2ea3c1d8d3f2818066) (cherry picked from commit e177e64294556bdece642442d6691523a4294b67) --- sys/dev/acpica/acpi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 71b19067707b..c2bfe5f2fa5d 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -3858,13 +3858,22 @@ acpi_invoke_wake_eventhandler(void *context) UINT32 acpi_event_power_button_sleep(void *context) { +#if defined(__amd64__) || defined(__i386__) struct acpi_softc *sc = (struct acpi_softc *)context; +#else + (void)context; +#endif ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); +#if defined(__amd64__) || defined(__i386__) if (ACPI_FAILURE(AcpiOsExecute(OSL_NOTIFY_HANDLER, acpi_invoke_sleep_eventhandler, &sc->acpi_power_button_sx))) return_VALUE (ACPI_INTERRUPT_NOT_HANDLED); +#else + shutdown_nice(RB_POWEROFF); +#endif + return_VALUE (ACPI_INTERRUPT_HANDLED); } From nobody Sun Nov 3 16:16:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhKVW508rz5cNTV; Sun, 03 Nov 2024 16:16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhKVW1jTWz4RpC; Sun, 3 Nov 2024 16:16:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5k4oOgaAYfo+dPGdo9Cej8tg9sBOdmcF9bkeBQ+SaqU=; b=gBr8ecmdUpS32Kx4wMHpDWqdQZXc8H1Ma+72iRtx7FCE2EAve9vwUe+dQSX8dVMeLnLFE/ Mwdg9sog9O/gZMBEdFloruJV9O6j9PFbtsn0fytW11TD3a+RM1Bt6eTKVPViFnBkB/zOGD gQdBfzpxJofyzB2PTw9y1jap8SGrq1wAFX47eGaooalZhmTFkS6ZCTNwPicIHX6oeNzfyj 92Vuq9BoQKk2A3Q9XTw9p5IL/8OnL8suB0+VJzoMQUc/zT+8UOtgqikfRD61WTrYKfCD3g U+g7bdtyy1cysOog06i30C332fABlb3/dsjELmrewL2ctZf8/jN7N1ggEZkxkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5k4oOgaAYfo+dPGdo9Cej8tg9sBOdmcF9bkeBQ+SaqU=; b=w2dHGwRotxQezxZcSUacwDBXAaAtN0dfot3r85FQGL0HGsUN8k3AzoGeMMw73sOtw5vkog vIgoUM7aR34HzcOtOOrsuYqRMazdRxlLvN+IVknP5EaKxGeABwyL3S319ku40gYu54BGqI 86vgu8eoXCqBk5hx/F0KHjh13+4x6CGfdNTcp3+w1EtWQr56R0aePslHRitYQxGapg9KCa fK4id20SPbZmA9IuXxUL1CzggQzAfTrkkeU63oCWch92WCuYreI59qExulKvCF9N0g0KCP +lanyvE2OCRlXlMZPfilzxPpIXjj1G0afhiOQPqIJu0sYF7IlQXAPYo+wP1oHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730650611; a=rsa-sha256; cv=none; b=RH0Wj2ak24TkL3dutbLaHXBSzx6g2pXJ08D96JaxGyMt1kpIOk++rRE1Lj7+d4BKSjfHR2 Vw5HEd1UdB4fBKWlcfSlVX5NyIBgsvZh7+pubEBw55czn9cmpiI+iI11iMH2mg8BI5fb6L aW9tn0MbyerhPL6cUqmUGw9HiWjokjHxVBRZcpclTJ97yOWxkX1hxZvG5kWrStohMLpMgs X9MXV0MSkvU6lB5PqJYonPWqLsNcMvZu/hWZQqns9dB5hkwDgj6hQZZLfbBJx6+Y/CIqk0 6vzynXOqGsyz3IvBwfW7e3/8m1cdBVtoDRMhjwXlFl4uFpeUVPvOpXRIpf/SrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhKVW0FRyzwTM; Sun, 3 Nov 2024 16:16:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GGoWL036375; Sun, 3 Nov 2024 16:16:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GGok5036372; Sun, 3 Nov 2024 16:16:50 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:16:50 GMT Message-Id: <202411031616.4A3GGok5036372@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 98ed0edd1a26 - releng/14.2 - sys: Add GPIO_INTR_EDGE_MASK define List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 98ed0edd1a267824e3465360cb222d77743528ed Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=98ed0edd1a267824e3465360cb222d77743528ed commit 98ed0edd1a267824e3465360cb222d77743528ed Author: Colin Percival AuthorDate: 2024-10-22 16:06:41 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:15:19 +0000 sys: Add GPIO_INTR_EDGE_MASK define This is the GPIO_INTR_EDGE_* flags, just as a convenience to let code test flags for interrupt edginess. Approved by: re (kib) Sponsored by: Amazon (cherry picked from commit f6197f2bc05b5a8df260cbf55283fddf7c76fec4) (cherry picked from commit bebff69739ed5d9c6bbc7796a981da867420f77e) --- sys/sys/gpio.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/sys/gpio.h b/sys/sys/gpio.h index ba5b362125f8..1a9e998a0e56 100644 --- a/sys/sys/gpio.h +++ b/sys/sys/gpio.h @@ -83,10 +83,10 @@ #define GPIO_INTR_EDGE_FALLING 0x00080000 /* edge trigger, falling */ #define GPIO_INTR_EDGE_BOTH 0x00100000 /* edge trigger, both */ #define GPIO_INTR_ATTACHED 0x00200000 /* interrupt attached to file */ +#define GPIO_INTR_EDGE_MASK (GPIO_INTR_EDGE_RISING | \ + GPIO_INTR_EDGE_FALLING | GPIO_INTR_EDGE_BOTH ) #define GPIO_INTR_MASK (GPIO_INTR_LEVEL_LOW | GPIO_INTR_LEVEL_HIGH | \ - GPIO_INTR_EDGE_RISING | \ - GPIO_INTR_EDGE_FALLING | GPIO_INTR_EDGE_BOTH | \ - GPIO_INTR_ATTACHED) + GPIO_INTR_EDGE_MASK | GPIO_INTR_ATTACHED) struct gpio_pin { uint32_t gp_pin; /* pin number */ From nobody Sun Nov 3 16:16:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhKVX4DtCz5cP08; Sun, 03 Nov 2024 16:16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhKVX23yhz4S0q; Sun, 3 Nov 2024 16:16:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=km6TJ8A2GkXIzEzF2JLcabthYBU5AUIV1crC1qOUL9g=; b=rJWYNgxsss0GjKaR2RpzyJ0cEustCOVpvqCuvkdghsO6b4mAcLksIDyrwqIVu1TvJP9yxP Mu18eTkEkHAwQJrEtgUSjL5DihHK6x4PAtrhuamYKMiKNDwbBIQrr/8V47UABsU3S8r9M+ RH4Oj3jUhdCkYO+JvyNVzl9mVFkbVR5/+J4QyJ4fqGUElAGd9O6gNb7GsClOF5gELY9zTz ZketZ6OZ568IeJYMu6J2QzcTSWCUWyCBf+NhFl4i8KvdJWHsi9pk5LhtvdEA3qrhckKaH8 c8lOIpkELduv+TMdpF6cesqKgbhCt9hhRYEI5Pm4HRewR4W2po6bnl84jg5Y2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=km6TJ8A2GkXIzEzF2JLcabthYBU5AUIV1crC1qOUL9g=; b=NCsrk7tElYtEt47xconHeQodzKrTspht6nFugDNb8mKpgkYaC915OnoZj4T1ieTc3bfSEE 5lEFH/FCibmqBmpQQf11rAq3Le6BF6IYEmccaOnKNLswhBEadvPOwn8gK90mAAqCZ/cjSA C6ZJ6JIghmEKIJxEw/MlNXop4V1W53fCrTpVudXQ3N9MlThAKHbYMD8P/tDRDTXYjxTQ+K Xc/BXJRS9aKld8Ln8kMEG/sUvOYF2N4yRkp4G0PWuKYxB6DiJpI35Vrap05RUaJD0DuQ1S FIUdi6cdilIYllUAwcLgQIS5OBmXP4ztKWrl02EaV/1rcOuaFZQiD3mthmBg3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730650612; a=rsa-sha256; cv=none; b=FlFpDcaox5geNBNkuTo8hffYLdQCU0zBCtUtpsHLkf8sLmIgof9Rqvhh6/kdkx4A5ktFlU fUhrAXBs+zwcXpWBeWSLNSoqRgcFkETkoVN8HlrF/C5mlNxCqLbDVaxu0VeU34Qn8A03Ef m6ps3u0ZPSEXoaJH/27drD9HcmUpMqlW2sHx0zm1SJ7VqLKbFg0wrRq2057364jijNMYr9 Uo7QFvnXu2nWY9v22lNCdefSdn/d7GDC0W/W7wDl8+ygz65YIwQa9CU3jQCPf9MfD2o9j4 RF8MPpTM152iMMlnmGkGfs7feZ84QZW0J6ECbN34z4P8YHrs8ztflQ+JWEO8zQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhKVX10BnzwC0; Sun, 3 Nov 2024 16:16:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GGqot036433; Sun, 3 Nov 2024 16:16:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GGqx8036430; Sun, 3 Nov 2024 16:16:52 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:16:52 GMT Message-Id: <202411031616.4A3GGqx8036430@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 28b881840df7 - releng/14.2 - ACPI: Add ACPI_Q_AEI_NOPULL quirk and use in EC2 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 28b881840df7cbf9c01ddec86f45a080619efaa7 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=28b881840df7cbf9c01ddec86f45a080619efaa7 commit 28b881840df7cbf9c01ddec86f45a080619efaa7 Author: Colin Percival AuthorDate: 2024-10-22 14:47:30 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:15:22 +0000 ACPI: Add ACPI_Q_AEI_NOPULL quirk and use in EC2 AWS Graviton [1234] systems have a bug in their ACPI where they mark the PL061's GPIO pins as needing to be configured in PullUp mode (in fact the PL061 has no pullup/pulldown resistors); this flag needs to be removed in order for _AEI objects to be handled on these systems. Reviewed by: Ali Saidi Approved by: re (kib) MFC after: 1 week Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47239 (cherry picked from commit 2f3f867ac6dd7ff3769366b828b79c44b38828e1) (cherry picked from commit 5fa51c3653b14b364e26a4cce2733c7be6ee7721) --- release/tools/ec2.conf | 5 +++++ sys/dev/acpica/acpivar.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 522aaa400520..963c6ff4957b 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -63,6 +63,11 @@ ec2_common() { # nodes, but apply the workaround just in case. echo 'hw.broken_txfifo="1"' >> ${DESTDIR}/boot/loader.conf + # Graviton 1 through Graviton 4 have a bug in their ACPI where they + # mark the PL061's pins as needing to be configured in PullUp mode + # (in fact the PL061 has no pullup/pulldown resistors). + echo 'debug.acpi.quirks="8"' >> ${DESTDIR}/boot/loader.conf + # Load the kernel module for the Amazon "Elastic Network Adapter" echo 'if_ena_load="YES"' >> ${DESTDIR}/boot/loader.conf diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h index afb0a6909e1a..eb6022cde159 100644 --- a/sys/dev/acpica/acpivar.h +++ b/sys/dev/acpica/acpivar.h @@ -224,12 +224,15 @@ extern struct mtx acpi_mutex; * ACPI_Q_MADT_IRQ0: Specifies that ISA IRQ 0 is wired up to pin 0 of the * first APIC and that the MADT should force that by ignoring the PC-AT * compatible flag and ignoring overrides that redirect IRQ 0 to pin 2. + * ACPI_Q_AEI_NOPULL: Specifies that _AEI objects incorrectly designate pins + * as "PullUp" and they should be treated as "NoPull" instead. */ extern int acpi_quirks; #define ACPI_Q_OK 0 #define ACPI_Q_BROKEN (1 << 0) #define ACPI_Q_TIMER (1 << 1) #define ACPI_Q_MADT_IRQ0 (1 << 2) +#define ACPI_Q_AEI_NOPULL (1 << 3) #if defined(__amd64__) || defined(__i386__) /* From nobody Sun Nov 3 16:16:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhKVY5m5vz5cNnh; Sun, 03 Nov 2024 16:16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhKVY2hRWz4S12; Sun, 3 Nov 2024 16:16:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0jqGsZbdC/Sn7mIlXz7qvahsyNM15luC3ZVULX3I07Q=; b=mnpJUg1igYa+g0G8wvoNFNS3oU54It9LXwxlvDSwQFxqKbW1bC7859OemyhAW6i+21fJdz iFDzTGc4ldkrCKA+s3E1ITJfc53Lbad+GOWj1yuYhvQXbm/OcPyZfveXQzouGzh85HBqxc uQtPn7Zb3VypYHfWin6vRqGDq3tObmu9gOSz6SF1iFZ+2IvVxrRRUURvBQhC7NJ1vbGMzn YUtqmHETRHRyAkrEbpgr4jBhDRkBNPQPD4ZDHwj8KqJ6JgMhLtRc+HaHNfi6PYCNsCXX0n UZONfOhw/VZ132DJMtyoqm06lBytIpUt48yrb1DCkAMNAXqIzqUi9egMtzfn5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0jqGsZbdC/Sn7mIlXz7qvahsyNM15luC3ZVULX3I07Q=; b=QLevADkfcsGxeNveO5JvxiQT4CadqVYGnRGikffTaU8N77lZhxpx/LvpAKeV6X0eWc6sM+ 3PXYq3+Cgw6lF8KVQbx76DxREFdzQzP03rMCrBZfsv8SZVbKZxW8VITLnShS6vfiPakI/m U7QfWiJ+USfasIWzOO6W+X6XgjiGZzyJ9gNHLskN/U1yeMm7jnagA4eXCZtXqUA+Rke+M1 nc2knUDbT3OfBu9y09IQQ6gDDG+2QQn51YO0otn0uGr2QaiplTrdxFUF3X+dgl2ydGMxNw C7VVjfyeHO6rfmtroIW/93M0GLkr/fJc3RqF1/NPoculcUNAfxhLBOCcfHTHiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730650613; a=rsa-sha256; cv=none; b=V23+3BZg1job9HYkfmZVpRS9WIKuIEHBW3O0wrzVyhvXoQjUihfzcXyL7GhJbb6x5mMvZ5 5VDr6Exc2zm5s4Knvr6TLHmplxYYp8G3wyyDrgG/r2+g+XFWH1ST8/Y25oovYyGMHqNcXl /UFaUuB5RTy6DTxg9iGWdLghBGTT9qK1zY3DF1YHgdS0FqZe7Qs/uQor0qfs5Rh7TE7SNf Kq2Ovw+ZFMCnwNCgg+DxqtgEPyjNMuI1pY2PCU77Z+irCIP1Yg8OBJ1wqqQ3fqAfqRaK2X OFnNn5Tk/b0c7ykiZr8+j2Vwds4JSWKSmLNHkOE89hHnI/xtbFHp7uvqQiXRtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhKVY2GLXzwTN; Sun, 3 Nov 2024 16:16:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GGrih036472; Sun, 3 Nov 2024 16:16:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GGrOH036469; Sun, 3 Nov 2024 16:16:53 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:16:53 GMT Message-Id: <202411031616.4A3GGrOH036469@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 193a9943ba09 - releng/14.2 - gpiobus: Make gpiobus_read_ivar extern List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 193a9943ba0905cae2c828131b27ad36541ca061 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=193a9943ba0905cae2c828131b27ad36541ca061 commit 193a9943ba0905cae2c828131b27ad36541ca061 Author: Colin Percival AuthorDate: 2024-10-22 17:51:57 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:15:27 +0000 gpiobus: Make gpiobus_read_ivar extern This allows acpi_gpiobus to override the method and fall back to the generic gpiobus_read_ivar function if needed. Reviewed by: andrew Approved by: re (kib) MFC after: 1 week Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47250 (cherry picked from commit bc0d10d01c3c69004d600e14d53cd0dceffe4b09) (cherry picked from commit fffdfe2f6770946bb5d5204df0a97105e1dceccb) --- sys/dev/gpio/gpiobus.c | 2 +- sys/dev/gpio/gpiobusvar.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c index 7bdb080eb4f1..674a04bc401b 100644 --- a/sys/dev/gpio/gpiobus.c +++ b/sys/dev/gpio/gpiobus.c @@ -753,7 +753,7 @@ gpiobus_hinted_child(device_t bus, const char *dname, int dunit) } } -static int +int gpiobus_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) { struct gpiobus_ivar *devi; diff --git a/sys/dev/gpio/gpiobusvar.h b/sys/dev/gpio/gpiobusvar.h index e3669e82e594..74783e112f89 100644 --- a/sys/dev/gpio/gpiobusvar.h +++ b/sys/dev/gpio/gpiobusvar.h @@ -179,6 +179,7 @@ int gpiobus_detach(device_t); int gpiobus_init_softc(device_t); int gpiobus_alloc_ivars(struct gpiobus_ivar *); void gpiobus_free_ivars(struct gpiobus_ivar *); +int gpiobus_read_ivar(device_t, device_t, int, uintptr_t *); int gpiobus_acquire_pin(device_t, uint32_t); int gpiobus_release_pin(device_t, uint32_t); From nobody Sun Nov 3 16:16:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhKVZ5GkYz5cNlS; Sun, 03 Nov 2024 16:16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhKVZ3BD5z4RsK; Sun, 3 Nov 2024 16:16:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oVFEQHPDxa+11aiaf5UfRMRrHqQ2CyV7ILbA0tr/Ibs=; b=U0Flh1k7ace5a7edtCt25B3h5wMjwJf/GIRkcXDTQHfftUxKcWBibyDW6q1V/YfKevtsSo zsLMda9wp2gAgdlGnFoqaoM0OTdBrnFyMvuzFBzRX2BUcD9iiIS/u8E+dRHzLVqfwiGYTL TA7Tq1drcAYt1V6rzVRemlmBB/lmlNdIcs9GBkZ6RWiSGVLWOzlWqIf9xHXd8yA/PYu10p +jA4IgaenVDkWOP8zqd7fmJlbW79HqDfgyZAPRZbcdTVH3ttxB4vII+p+LOhrf6p2wzlOY c/CVE+0OhotnK7xXQfZTyx4jUuXgQpGnnwXmg6I/1ZobvGsrWhbMGaXscPIDGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oVFEQHPDxa+11aiaf5UfRMRrHqQ2CyV7ILbA0tr/Ibs=; b=Ej/KhjeX9QVq4KIWEQpMhoac4j+woPNyBi4ab87OUhXBYG2n3q4MuKamTGutDPAzVAIqk+ lmtxXk8hIR17P42tYf6RkakWdfoKtK2uzBPv3oCvhCS0xm+5zlRFI6oPnk6+dTgOOnE8nm tj44ccyR/HgEFxpHcWB99ab3zaEAy22oopIDTk2KbEgmAkb/wa2nhc4v+iVWFuxvlt4ahM Mu5DX98D0rYixwLU7c+fiVKmdCTb/b9K4PrEe6+FP6lcQfbW6OdujzMBd2prncYkHFCpL5 QbXLMG/8td4Xr1d4P/7S6mhqqCeG+m9l4XV8ta1Eyxza3ECxvlW1q0ZuA+1Jcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730650614; a=rsa-sha256; cv=none; b=KmPXLWQeGDBSRW85z3cuzRXZjVdURDA4CyvzUe+7ojJUl0ndlbGrXeLoArf5HldK8aTyJ3 72tckweBa7INMHdj8h+RvGzhkB/ly24lpB0q9cy0YhDyIwfGcDEfakX8HL9IwDkzavezFS hf7UJ9RJ1pm0orVLNh/9HsMOMMTFCNupo46NV0G2hpEVU2Cv9iB8Xhh8RYpyRCQSaXkAT5 L/p7iPqcL9rntECnhWs2Mjy+mL271tDFZvOzfG/3hsKKLez6W70oeGh7wAuye1D3J/BrXI Iy1Qo5DP1NmLSRGd1ReEVCmy4tYqcCeIb/aZEAX9vgevPPm+ceWnLhcOITMtaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhKVZ2p0GzwHJ; Sun, 3 Nov 2024 16:16:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GGsB2036516; Sun, 3 Nov 2024 16:16:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GGsDe036513; Sun, 3 Nov 2024 16:16:54 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:16:54 GMT Message-Id: <202411031616.4A3GGsDe036513@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: aeba4bd10f08 - releng/14.2 - acpi_gpiobus: Narrow scope of NOT_YET List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.2 X-Git-Reftype: branch X-Git-Commit: aeba4bd10f08559c599b08e4c2e9ef899e758740 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=aeba4bd10f08559c599b08e4c2e9ef899e758740 commit aeba4bd10f08559c599b08e4c2e9ef899e758740 Author: Colin Percival AuthorDate: 2024-10-22 18:25:11 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:15:30 +0000 acpi_gpiobus: Narrow scope of NOT_YET GPIO interrupts work just fine and will be used shortly. We still do not support GPIO_INTR_SHAREABLE however, so leave that within the NOT_YET scope. Reviwed by: andrew Approved by: re (kib) MFC after: 1 week Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47251 (cherry picked from commit 2d4219919a48aa6d67ae62e2b8859ffe3b035bd2) (cherry picked from commit 1f6941760746367704c9f1fa730a00b99d4d46b2) --- sys/dev/gpio/acpi_gpiobus.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c index 3b6fc6dde674..9828170daeca 100644 --- a/sys/dev/gpio/acpi_gpiobus.c +++ b/sys/dev/gpio/acpi_gpiobus.c @@ -52,8 +52,6 @@ acpi_gpiobus_convflags(ACPI_RESOURCE_GPIO *gpio_res) uint32_t flags = 0; /* Figure out pin flags */ -#ifdef NOT_YET - /* These are currently unused. */ if (gpio_res->ConnectionType == ACPI_RESOURCE_GPIO_TYPE_INT) { switch (gpio_res->Polarity) { case ACPI_ACTIVE_HIGH: @@ -69,10 +67,12 @@ acpi_gpiobus_convflags(ACPI_RESOURCE_GPIO *gpio_res) break; } +#ifdef NOT_YET + /* This is not currently implemented. */ if (gpio_res->Shareable == ACPI_SHARED) flags |= GPIO_INTR_SHAREABLE; - } #endif + } switch (gpio_res->IoRestriction) { case ACPI_IO_RESTRICT_INPUT: flags |= GPIO_PIN_INPUT; From nobody Sun Nov 3 16:16:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhKVc0KdCz5cNr5; Sun, 03 Nov 2024 16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhKVb4Td4z4SB1; Sun, 3 Nov 2024 16:16:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RlTb+rtfxWBXPxLcyE5ff4zl+v3ph/HDteje6QqQtOk=; b=iv2CoObS2rO6mMjzlVjwKXtsN6JZLmZ/6VFjeIUFIfyEp940F/RBI70SN8B5KcL4rAGRy3 aRQ63E6x+A/axsBDQBRwsm75/w1M17gbnAG4u2OjuBbxIFq8/1DbqNhDv/8Ckv9sNvSLJ+ WeYUg+9l12SfpgYmKrhfkmpR63GMBIOnbiuCD68KHWtakT2xxbKcSO95ibs7T1fm8cEegi huPtH9Pkf1OAV+3ZWkUfLgFHD/0ZYX5gYc396zH/QxSLSyfl0F0fPvyriYHyJiz4ygPFVp bXaCOtml/ZONANacBI61QYqJIFkKCkYTjEUYUlcICTMjyOtaL+7krhty/74eJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RlTb+rtfxWBXPxLcyE5ff4zl+v3ph/HDteje6QqQtOk=; b=PjRoRQ0oXPM/p6FwGnYi2M+I8VTRm0FcJL9NL/ILr4eLXPv5Q6ZZ779QF8sWtl3bf+lVBO ReCNqzINSapnk0ODBDjk3kjnCXDU/BZsH9g0ATt+w/hXM++NfMbuykT/fAryofZ6iA6c91 +I0ko2gATqmCHBsUWnIYtF47J/RsX+DRMrjC2CggkRjXBxhHKX5/8SQPmwoOXdOxPgrbmn zGKSFr8jTFTZMf8BGoeBNQ7aeW59+bDPDFwhDZZGkRirTIMRNRonW/GmmB5G2yZT05H5fN tC5SEz1Fv23ITazleCGG3b9XG/su1fdw5qqsqSZE9JHKjApefSH0BwRfUUbNlQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730650615; a=rsa-sha256; cv=none; b=LpR8Qu8s7Jo8RTi9AYS7IebbMc9AQLp+ndxNaX54adyGliOFCpZ7nFJA6vjWnoijpuh+LR J/F9nCdozE9TFa7YWhpqnrfbRU4hXSLd4PBukAbO2E50yOr4DIOOnyJaqXdwE6lEO0pk7R yjbYpkhfdYU+s3yKUu9IyQ+r4TETyeOeDUTG4LK4eXryxlhj42blifLQ+J2iKGB0DJyBW6 yN1at4GPTxDSMg6FwLtp5ryEkWKAqRbUiXLyzx8WgYHEUO5mo1H22ytaRww0lHLi/51PFD sjuT2Em4Dplh+46JM7luI8ACy2j7hIKWTZ5BWG3LOPU0S9hvVpvxn9cXiYojKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhKVb41m0zvvS; Sun, 3 Nov 2024 16:16:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GGte5036569; Sun, 3 Nov 2024 16:16:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GGt0T036564; Sun, 3 Nov 2024 16:16:55 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:16:55 GMT Message-Id: <202411031616.4A3GGt0T036564@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 4b4c7b192400 - releng/14.2 - bus: Activate INTRNG interrupts in common code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 4b4c7b1924004e53f501612c7ad97b860644e583 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=4b4c7b1924004e53f501612c7ad97b860644e583 commit 4b4c7b1924004e53f501612c7ad97b860644e583 Author: Andrew Turner AuthorDate: 2024-10-29 10:19:45 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:15:34 +0000 bus: Activate INTRNG interrupts in common code [MFC note: This is not a direct cherry-pick due to API changes in HEAD which are not present in stable/14.] We need to call into INTRNG to activate all interrupts on platforms that use it. Currently, interrupts are only activated in the nexus drivers for INTRNG platforms, but this does not handle other bus devices such as gpiobus that manage their own IRQ space. Reported by: cperciva Reviewed by: cperciva, jhb Approved by: re (kib) Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D47282 (cherry picked from commit c85855a72db9f9d7b4326b676241e1dffabf0fae) (cherry picked from commit c54bdf84d5fb0b2c1923179fd30812ee68aaf423) --- sys/kern/subr_bus.c | 47 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index f0831b30142b..f55a7210e825 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -53,6 +53,9 @@ #include #include #include +#ifdef INTRNG +#include +#endif #include @@ -4382,17 +4385,26 @@ bus_generic_rman_activate_resource(device_t dev, device_t child, int type, if (error != 0) return (error); - if ((rman_get_flags(r) & RF_UNMAPPED) == 0 && - (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT)) { - error = BUS_MAP_RESOURCE(dev, child, type, r, NULL, &map); - if (error != 0) { - rman_deactivate_resource(r); - return (error); - } + switch (type) { + case SYS_RES_IOPORT: + case SYS_RES_MEMORY: + if ((rman_get_flags(r) & RF_UNMAPPED) == 0) { + error = BUS_MAP_RESOURCE(dev, child, type, r, NULL, &map); + if (error != 0) + break; - rman_set_mapping(r, &map); + rman_set_mapping(r, &map); + } + break; +#ifdef INTRNG + case SYS_RES_IRQ: + error = intr_activate_irq(child, r); + break; +#endif } - return (0); + if (error != 0) + rman_deactivate_resource(r); + return (error); } /** @@ -4421,10 +4433,19 @@ bus_generic_rman_deactivate_resource(device_t dev, device_t child, int type, if (error != 0) return (error); - if ((rman_get_flags(r) & RF_UNMAPPED) == 0 && - (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT)) { - rman_get_mapping(r, &map); - BUS_UNMAP_RESOURCE(dev, child, type, r, &map); + switch (type) { + case SYS_RES_IOPORT: + case SYS_RES_MEMORY: + if ((rman_get_flags(r) & RF_UNMAPPED) == 0) { + rman_get_mapping(r, &map); + BUS_UNMAP_RESOURCE(dev, child, type, r, &map); + } + break; +#ifdef INTRNG + case SYS_RES_IRQ: + intr_deactivate_irq(child, r); + break; +#endif } return (0); } From nobody Sun Nov 3 16:16:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhKVc6rSrz5cNtb; Sun, 03 Nov 2024 16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhKVc52ryz4RyB; Sun, 3 Nov 2024 16: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=1730650616; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LR1lrfBrdfP10BcAZVl2/2o9v3tMkJOm/Usl1zNQqMo=; b=KzeFk5mLXO/FiaT4/G3I5Zr0lJ0/N74k0fe6YH5Tfy+uuJALsYqfyaUSy4mTsTRpPdON2m N+Fy7ZVpO3dHJOVuVKiaCvRI4iOTJMmSke2ZFpeNbR0MacWkjrP3WiXw4nMtN/h3kiDOJb lrqH7FWKW3nCWWH9PNOXOhM5pvESYPAFEo3JQ8kf78YHfcxuh84jUpi8Mr255aDohgHEEk KP8hTx57X0q/ue6/bizb07PKBSurLNQJyj9Y5cIVrG2aX3nS78WNsGaufLqPdkpHd+MLoT DPUU4gDyI0Wf5Ext9RYMGBzz7QtyksTnEAQxJnhSUHFG5AkqqMyR+WoFQE1j5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650616; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LR1lrfBrdfP10BcAZVl2/2o9v3tMkJOm/Usl1zNQqMo=; b=A0lUD8CGjmkyEpTfW48bvFZ7N66mbmO4nzbaXOsbfhce4kGwRLjdVxhe09jXEKozdA0e78 EgS3n6kh+tKjA5/GmHx1L7pYcg1QTGtBXdn6U4u3zBzsrjgzCCj5U73j1dOLsSNkwd0le7 jrnvqx8TT4mxWonWz8c63kTh8wAf+bdG9iqi3jq+ua8cxBuMm74rkWcnBr08AzSf0EmSI0 jMExr8wcZbsbgghy6hxn6zDtor1thH+QjC/c0PDrCEjnwQIEKCW8qSKFbi0m/+aDFaaLdK trfipF2oIbQTYz624Ho/US2OrBBrQ5HdHdvLVfxI9mzxbCmAsv7mepHJf2zE9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730650616; a=rsa-sha256; cv=none; b=u/A6pnpdi9vWWgAjXG6Bdfi9MUA8nahO/tOKyrp3S0acVx6tG6fabQaIbCqsdl6ZUowH14 gpQAncWikF8dBA79RoS7h2/rBjj6YFbRIZNPZCVqfJGcq6j8Y/H9tHEXeUGxFlqgj3BsAm /A/3q0IjrYVE9szGsQynpHrI3dRhsb5lpOMqN52/4WOG2uLBOTHi+N4md7fhmM65KP3rIi IjMSr3HU6DGvzGINQ6ve9kkfRu59hzwRJp1fPRN3ex7aahJ8V6bdQDg6Tf7lIjxq/GLsjR D7mSevn1baHsyUFx3S+JFwcvrvtxL84Kc1YBlZKCAyLmGIBJj6p7d/FeCcucxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhKVc4fXxzw7s; Sun, 3 Nov 2024 16:16:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GGugr036623; Sun, 3 Nov 2024 16:16:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GGunL036619; Sun, 3 Nov 2024 16:16:56 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:16:56 GMT Message-Id: <202411031616.4A3GGunL036619@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 1db6ffb2a482 - releng/14.2 - GPIO: Add ACPI _AEI support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 1db6ffb2a482dee109bbb596f31e9d8d035153c4 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=1db6ffb2a482dee109bbb596f31e9d8d035153c4 commit 1db6ffb2a482dee109bbb596f31e9d8d035153c4 Author: Colin Percival AuthorDate: 2024-10-22 18:53:55 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:15:39 +0000 GPIO: Add ACPI _AEI support Changes to acpi_gpiobus.c handle discovering and parsing the _AEI objects and storing necessary data in device ivars. A new gpioaei.c file implements the device, which simply requests an interrupt when the pin is triggered and invokes the appropriate _Exx or _Lxx ACPI method. This makes the GPIO "power button" work on arm64 Graviton systems, allowing EC2 "Stop"/"Reboot" instance calls to be handled cleanly. (Prior to this change, those requests would time out after 4 minutes and the instance would be forcibly killed.) Reviewed by: imp, andrew, Ahmad Khalifa Approved by: re (kib) MFC after: 3 days Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47253 Co-authored-by: Andrew Turner (cherry picked from commit 9709bda03cd0f20eba0ba4276fc3c2e06354a54f) (cherry picked from commit c2cd78d9446ebe79accf6c1862230dfbe7276525) --- sys/conf/files | 1 + sys/dev/gpio/acpi_gpiobus.c | 121 +++++++++++++++++++++++++++++++++++ sys/dev/gpio/acpi_gpiobusvar.h | 49 ++++++++++++++ sys/dev/gpio/gpioaei.c | 131 ++++++++++++++++++++++++++++++++++++++ sys/modules/gpio/Makefile | 2 +- sys/modules/gpio/gpioaei/Makefile | 14 ++++ 6 files changed, 317 insertions(+), 1 deletion(-) diff --git a/sys/conf/files b/sys/conf/files index 5239f38d5154..3810032f7094 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1745,6 +1745,7 @@ dev/gpio/acpi_gpiobus.c optional acpi gpio dev/gpio/dwgpio/dwgpio.c optional gpio dwgpio fdt dev/gpio/dwgpio/dwgpio_bus.c optional gpio dwgpio fdt dev/gpio/dwgpio/dwgpio_if.m optional gpio dwgpio fdt +dev/gpio/gpioaei.c optional acpi gpio dev/gpio/gpiobacklight.c optional gpiobacklight fdt dev/gpio/gpiokeys.c optional gpiokeys fdt dev/gpio/gpiokeys_codes.c optional gpiokeys fdt diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c index 9828170daeca..14ded4539a5e 100644 --- a/sys/dev/gpio/acpi_gpiobus.c +++ b/sys/dev/gpio/acpi_gpiobus.c @@ -35,6 +35,9 @@ #include #include +#include + +#include "gpiobus_if.h" struct acpi_gpiobus_softc { struct gpiobus_softc super_sc; @@ -46,6 +49,13 @@ struct acpi_gpiobus_ctx { ACPI_HANDLE dev_handle; }; +struct acpi_gpiobus_ivar +{ + struct gpiobus_ivar gpiobus; /* Must come first */ + ACPI_HANDLE dev_handle; /* ACPI handle for bus */ + uint32_t flags; +}; + static uint32_t acpi_gpiobus_convflags(ACPI_RESOURCE_GPIO *gpio_res) { @@ -136,6 +146,74 @@ acpi_gpiobus_enumerate_res(ACPI_RESOURCE *res, void *context) return (AE_OK); } +static struct acpi_gpiobus_ivar * +acpi_gpiobus_setup_devinfo(device_t bus, device_t child, + ACPI_RESOURCE_GPIO *gpio_res) +{ + struct acpi_gpiobus_ivar *devi; + + devi = malloc(sizeof(*devi), M_DEVBUF, M_NOWAIT | M_ZERO); + if (devi == NULL) + return (NULL); + resource_list_init(&devi->gpiobus.rl); + + devi->flags = acpi_gpiobus_convflags(gpio_res); + if (acpi_quirks & ACPI_Q_AEI_NOPULL) + devi->flags &= ~GPIO_PIN_PULLUP; + + devi->gpiobus.npins = 1; + if (gpiobus_alloc_ivars(&devi->gpiobus) != 0) { + free(devi, M_DEVBUF); + return (NULL); + } + + for (int i = 0; i < devi->gpiobus.npins; i++) + devi->gpiobus.pins[i] = gpio_res->PinTable[i]; + + return (devi); +} + +static ACPI_STATUS +acpi_gpiobus_enumerate_aei(ACPI_RESOURCE *res, void *context) +{ + ACPI_RESOURCE_GPIO *gpio_res = &res->Data.Gpio; + struct acpi_gpiobus_ctx *ctx = context; + device_t bus = ctx->sc->sc_busdev; + device_t child; + struct acpi_gpiobus_ivar *devi; + + /* Check that we have a GpioInt object. */ + if (res->Type != ACPI_RESOURCE_TYPE_GPIO) + return (AE_OK); + if (gpio_res->ConnectionType != ACPI_RESOURCE_GPIO_TYPE_INT) + return (AE_OK); + + /* Add a child. */ + child = device_add_child_ordered(bus, 0, "gpio_aei", -1); + if (child == NULL) + return (AE_OK); + devi = acpi_gpiobus_setup_devinfo(bus, child, gpio_res); + if (devi == NULL) { + device_delete_child(bus, child); + return (AE_OK); + } + device_set_ivars(child, devi); + + for (int i = 0; i < devi->gpiobus.npins; i++) { + if (GPIOBUS_PIN_SETFLAGS(bus, child, 0, devi->flags)) { + gpiobus_free_ivars(&devi->gpiobus); + free(devi, M_DEVBUF); + device_delete_child(bus, child); + return (AE_OK); + } + } + + /* Pass ACPI information to children. */ + devi->dev_handle = ctx->dev_handle; + + return (AE_OK); +} + static ACPI_STATUS acpi_gpiobus_enumerate(ACPI_HANDLE handle, UINT32 depth, void *context, void **result) @@ -272,6 +350,13 @@ acpi_gpiobus_attach(device_t dev) if (ACPI_FAILURE(status)) device_printf(dev, "Failed to enumerate GPIO resources\n"); + /* Look for AEI children */ + status = AcpiWalkResources(handle, "_AEI", acpi_gpiobus_enumerate_aei, + &ctx); + + if (ACPI_FAILURE(status)) + device_printf(dev, "Failed to enumerate GPIO resources\n"); + return (0); } @@ -294,12 +379,48 @@ acpi_gpiobus_detach(device_t dev) return (gpiobus_detach(dev)); } +int +gpio_pin_get_by_acpi_index(device_t consumer, uint32_t idx, + gpio_pin_t *out_pin) +{ + struct acpi_gpiobus_ivar *devi; + int rv; + + rv = gpio_pin_get_by_child_index(consumer, idx, out_pin); + if (rv != 0) + return (rv); + + devi = device_get_ivars(consumer); + (*out_pin)->flags = devi->flags; + + return (0); +} + +static int +acpi_gpiobus_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) +{ + struct acpi_gpiobus_ivar *devi = device_get_ivars(child); + + switch (which) { + case ACPI_GPIOBUS_IVAR_HANDLE: + *result = (uintptr_t)devi->dev_handle; + break; + default: + return (gpiobus_read_ivar(dev, child, which, result)); + } + + return (0); +} + static device_method_t acpi_gpiobus_methods[] = { /* Device interface */ DEVMETHOD(device_probe, acpi_gpiobus_probe), DEVMETHOD(device_attach, acpi_gpiobus_attach), DEVMETHOD(device_detach, acpi_gpiobus_detach), + /* Bus interface */ + DEVMETHOD(bus_read_ivar, acpi_gpiobus_read_ivar), + DEVMETHOD_END }; diff --git a/sys/dev/gpio/acpi_gpiobusvar.h b/sys/dev/gpio/acpi_gpiobusvar.h new file mode 100644 index 000000000000..77cb91110cb5 --- /dev/null +++ b/sys/dev/gpio/acpi_gpiobusvar.h @@ -0,0 +1,49 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Colin Percival + * + * 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 __ACPI_GPIOBUS_H__ +#define __ACPI_GPIOBUS_H__ + +#include + +#include + +enum acpi_gpiobus_ivars { + ACPI_GPIOBUS_IVAR_HANDLE = 10600, +}; + +#define ACPI_GPIOBUS_ACCESSOR(var, ivar, type) \ + __BUS_ACCESSOR(acpi_gpiobus, var, ACPI_GPIOBUS, ivar, type) + +ACPI_GPIOBUS_ACCESSOR(handle, HANDLE, ACPI_HANDLE) + +#undef ACPI_GPIOBUS_ACCESSOR + +int gpio_pin_get_by_acpi_index(device_t consumer, uint32_t idx, + gpio_pin_t *out_pin); + +#endif /* __ACPI_GPIOBUS_H__ */ diff --git a/sys/dev/gpio/gpioaei.c b/sys/dev/gpio/gpioaei.c new file mode 100644 index 000000000000..050f259a2127 --- /dev/null +++ b/sys/dev/gpio/gpioaei.c @@ -0,0 +1,131 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Colin Percival + * + * 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 "gpiobus_if.h" + +#include +#include + +#include +#include + +struct gpio_aei_softc { + ACPI_HANDLE handle; + char objname[5]; /* "_EXX" or "_LXX" */ + struct resource * intr_res; + int intr_rid; + void * intr_cookie; +}; + +static int +gpio_aei_probe(device_t dev) +{ + + /* We only match when gpiobus explicitly requested gpio_aei. */ + return (BUS_PROBE_NOWILDCARD); +} + +static void +gpio_aei_intr(void * arg) +{ + struct gpio_aei_softc * sc = arg; + + /* Ask ACPI to run the appropriate _Exx or _Lxx method. */ + AcpiEvaluateObject(sc->handle, sc->objname, NULL, NULL); +} + +static int +gpio_aei_attach(device_t dev) +{ + struct gpio_aei_softc * sc = device_get_softc(dev); + gpio_pin_t pin; + int err; + + /* This is us. */ + device_set_desc(dev, "ACPI Event Information Device"); + + /* Store parameters needed by gpio_aei_intr. */ + sc->handle = acpi_gpiobus_get_handle(dev); + if (gpio_pin_get_by_acpi_index(dev, 0, &pin) != 0) { + device_printf(dev, "Unable to get the input pin\n"); + return (ENXIO); + } + sprintf(sc->objname, "_%c%02X", + (pin->flags & GPIO_INTR_EDGE_MASK) ? 'E' : 'L', pin->pin); + + /* Support for GPIO pins > 255 is not implemented. */ + if (pin->pin > 255) { + device_printf(dev, "ACPI Event Information Device does not support pins > 255"); + return (ENOTSUP); + } + + /* Set up the interrupt. */ + if ((sc->intr_res = gpio_alloc_intr_resource(dev, &sc->intr_rid, + RF_ACTIVE, pin, pin->flags & GPIO_INTR_MASK)) == NULL) { + device_printf(dev, "Cannot allocate an IRQ\n"); + return (ENOTSUP); + } + err = bus_setup_intr(dev, sc->intr_res, INTR_TYPE_MISC | INTR_MPSAFE, + NULL, gpio_aei_intr, sc, &sc->intr_cookie); + if (err != 0) { + device_printf(dev, "Cannot set up IRQ\n"); + bus_release_resource(dev, SYS_RES_IRQ, sc->intr_rid, + sc->intr_res); + return (err); + } + + return (0); +} + +static int +gpio_aei_detach(device_t dev) +{ + struct gpio_aei_softc * sc = device_get_softc(dev); + + bus_teardown_intr(dev, sc->intr_res, sc->intr_cookie); + bus_release_resource(dev, SYS_RES_IRQ, sc->intr_rid, sc->intr_res); + return (0); +} + +static device_method_t gpio_aei_methods[] = { + /* Device interface. */ + DEVMETHOD(device_probe, gpio_aei_probe), + DEVMETHOD(device_attach, gpio_aei_attach), + DEVMETHOD(device_detach, gpio_aei_detach), + + DEVMETHOD_END +}; + +DEFINE_CLASS_0(gpio_aei, gpio_aei_driver, gpio_aei_methods, sizeof(struct gpio_aei_softc)); +DRIVER_MODULE(gpio_aei, gpiobus, gpio_aei_driver, NULL, NULL); +MODULE_DEPEND(gpio_aei, acpi_gpiobus, 1, 1, 1); diff --git a/sys/modules/gpio/Makefile b/sys/modules/gpio/Makefile index ffb3581d1f01..1d7f69f1836d 100644 --- a/sys/modules/gpio/Makefile +++ b/sys/modules/gpio/Makefile @@ -24,7 +24,7 @@ # SUCH DAMAGE. # -SUBDIR = gpiobus gpioiic gpioled gpiospi gpioths +SUBDIR = gpioaei gpiobus gpioiic gpioled gpiospi gpioths .if !empty(OPT_FDT) SUBDIR += gpiokeys gpiopps diff --git a/sys/modules/gpio/gpioaei/Makefile b/sys/modules/gpio/gpioaei/Makefile new file mode 100644 index 000000000000..514dcd80a35e --- /dev/null +++ b/sys/modules/gpio/gpioaei/Makefile @@ -0,0 +1,14 @@ +.PATH: ${SRCTOP}/sys/dev/gpio/ + +KMOD= gpioaei +SRCS= gpioaei.c + +SRCS+= \ + bus_if.h \ + device_if.h \ + gpio_if.h \ + gpiobus_if.h + +CFLAGS+= -I. -I${SRCTOP}/sys/dev/gpio/ + +.include From nobody Sun Nov 3 16:16:57 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhKVf0vrdz5cP0M; Sun, 03 Nov 2024 16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhKVd5yp6z4SDr; Sun, 3 Nov 2024 16: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=1730650617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pk5BGfDxfCOL4c2jgJRwxIdWiTPo3ckH7j7RpYc8MqA=; b=sXpfU4ws/ODEZaXjPRN3eaFNWovvpAPE34vmHz+QvE1gXX9e5TSC+9bQ9kRMEwZ5eHmmDt PbPlaHWqCBzR6F4hQDd2/FEvYRJFbqcm7395v4+pnEvaOZtOYyMS1KaOW616Oq9uEXdHjD h/1F1qNsjC3V9M4hj9o2Ou0tWQ4KxOEM0JH2vhjA9+8h5Y/KpquX/LTcvYD5YCW1FjvvbR vV4rehlqo14rgoqdwWFAldeETpWGP5YTc9ilGE4emcM48AQ7/g2QJHGFKWKQYw6a0KLpJM raQ1tHpsgvgfhMNWn/4/jIi+9BLIlvEWU1tPVqa32pjSoX11DEVA0PhEV51jkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pk5BGfDxfCOL4c2jgJRwxIdWiTPo3ckH7j7RpYc8MqA=; b=TkAIm3du3fTeYDnWkeM7qa/XfhfRIDOxyvaGAFXPgR904t74bUxWW1kZfBDLILJ2FvwVqY ZBzom+1F4Kv/kU+mbCdSBjivILvKP9qls7OeGZlbznqQdmjSaGkNTONBbcvx85VVDBOJnv yYw3VkxD10INJvxzPajbMuQgaKPYybGkqqgDVSKBdIyykspRvGje1jRguAXImSJgnpVFzv sS3VBAbN9/F48pei5eRj6a0HHptxV4lS5VgLo7R371cUCPgGK2emyLvcG3nTg36oZP3C9b ijcF/OwWQRX4lGa6wD109vJFqOcXypgQSme4Ib95lIknDaPwNsoRgiGEWkLvQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730650617; a=rsa-sha256; cv=none; b=UZFa/0AvXXnLHSAlvazP1u/NG19WnuI2AJYhcfSytOBPG2Lksy4pomKJ3zkgw+syml4Jk6 3cYfFbzKRwZC7mkpYN3CJ94k9/Lhb6BZM589cm0YmkbzORk7r7wE83o5tya1eBeL6HzGp/ MZ8GBXHoVCFkN6qhtb7FSHI/dgEOC9HzraZWWKsZ286O6Mr3n50Z6oql6HlBfhFPTYz3GW HX6uMGem/aD/+wmIqCFP+MKhhHWe9qG65B214c9a0mx1WkWFJrdsgEn+nitQEb4CcImdaM sWdmn0xL/+xsXObvkeWI1mJlqUI6qATOEc82QEhiLrseG0fQOnvETsk3IIH7sw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhKVd5b3Zzw7t; Sun, 3 Nov 2024 16:16:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GGvbl036674; Sun, 3 Nov 2024 16:16:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GGvIQ036671; Sun, 3 Nov 2024 16:16:57 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:16:57 GMT Message-Id: <202411031616.4A3GGvIQ036671@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 3166167784b9 - releng/14.2 - modules: gpioaei only on ACPI-supporting archs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 3166167784b93f6faaf4fe07f3154c76a6321d47 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=3166167784b93f6faaf4fe07f3154c76a6321d47 commit 3166167784b93f6faaf4fe07f3154c76a6321d47 Author: Colin Percival AuthorDate: 2024-10-31 22:45:03 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:15:45 +0000 modules: gpioaei only on ACPI-supporting archs Approved by: re (kib) Fixes: 9709bda03cd0 ("GPIO: Add ACPI _AEI support") Pointy-hat to: cperciva Sponsored by: Amazon (cherry picked from commit 6540ac118473dde29cb02f786c79c64f73834ca1) (cherry picked from commit 5a53843aef490bda32397e80b3fb600e802b461c) --- sys/modules/gpio/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/modules/gpio/Makefile b/sys/modules/gpio/Makefile index 1d7f69f1836d..66090b1393bf 100644 --- a/sys/modules/gpio/Makefile +++ b/sys/modules/gpio/Makefile @@ -24,10 +24,14 @@ # SUCH DAMAGE. # -SUBDIR = gpioaei gpiobus gpioiic gpioled gpiospi gpioths +SUBDIR = gpiobus gpioiic gpioled gpiospi gpioths .if !empty(OPT_FDT) SUBDIR += gpiokeys gpiopps .endif +.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" +SUBDIR += gpioaei +.endif + .include From nobody Sun Nov 3 16:16:58 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhKVg3QFlz5cP2W; Sun, 03 Nov 2024 16:16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhKVg0b02z4SF3; Sun, 3 Nov 2024 16:16:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fys7+GSNFfc+jh3LsU68/SCvhz/f72wxltd5amYNRSI=; b=czMppdo0L0ZjkMLo0I2uIMaXyIRPuBKTfxuhA6cQCMFVkEj6mPnnaEj+acYWT7GFPCmKGE YcSNIj1ZxUf45k8BGueZzRFfgX3N1hZ7FosI9D84jahibSO0r5fiv96usPrz9pTfiA4pij mdW9vBZTQdagbBw5vingGS9G6viaumOeMNJpw1Dg+FK8jK6JmltB0eKIhvSUmjqVd6+6Rc eZ5gaC6xEnRafeH7d5JBt1gnYeG24t2yldmF4+S5EocNxkR26CbxYs+0KkfgKTtTGcxo7D 5wLCDRGVJZIksxM8KI0IECm6RsimbASINdCQ9P0elMTI9J6xLabFL3AgCMXQPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730650619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fys7+GSNFfc+jh3LsU68/SCvhz/f72wxltd5amYNRSI=; b=i4mtWTRBjIx3RG/EgmZ/5+nf4RLktNOrHfVXTC/dPIepD6uewk+VVgkf0rWfpu7v4ikDrA gzT85N0SOYrBJdfV9fMm8E7Qw6PpA7jgkC4WjyjhKhh0iOK3zNMQoqjPwyvMjTPedXpn1v IAp2brxKA7ChkCW13KKxVbb8FzM+rkzZakml5sUGBMdol00BJ2Wn/Y/FFsJwvXY/zk/bi/ JbeoT0AgIEE6rlwMs7uZ3Z/BfBjHfR2kbxkMCru9LgI/qDzXBjyr0NuuRAu0g4LSCoAsJT 9BLqTcVX/ibQOa3ED2AJKKjPMznTQuSAgxgi5EpWPzhB1nRX0YGads/eaH9v1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730650619; a=rsa-sha256; cv=none; b=y4DagMSFQFMIPRCOAqksaEZgMLd9s1xv7Cm984lIGd3wyEgnLgpw7yrI2tbXlS8B/vUKW8 i800lHp9RxAsQ/SqXhpV1M32BZZ7IZRAXQWQVQoIc5KVbdy0m0bzA/oYPYy/gyfLexbFDY P0KR4UBvmfV2L5jnkGUmZxO2LPbLfGRbSsJnpU0DY88Xzj4jTOFvjTGrD3n4qAVciuKHCT EZjXsGM/Dz+tCOt6QuwuLu3ISWm10HPXuG3rbPXrZAXgezj+e86qbkphDYO5qIQbZBKSgB pPjfbS6LgXXlW2wTuTAa/7+Y/9c4ckj0aBw35M7W9jjw0G6ha1hBOYiqm3IljQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhKVf6PfgzwTP; Sun, 3 Nov 2024 16:16:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GGwK5036716; Sun, 3 Nov 2024 16:16:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GGwBX036713; Sun, 3 Nov 2024 16:16:58 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:16:58 GMT Message-Id: <202411031616.4A3GGwBX036713@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: ac2e98ed5707 - releng/14.2 - modules: gpioaei: Fix arm64.LINT-FDT breakage List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/14.2 X-Git-Reftype: branch X-Git-Commit: ac2e98ed570792041eefbb3d46423d97843b1523 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=ac2e98ed570792041eefbb3d46423d97843b1523 commit ac2e98ed570792041eefbb3d46423d97843b1523 Author: Ravi Pokala AuthorDate: 2024-11-02 05:08:11 +0000 Commit: Colin Percival CommitDate: 2024-11-03 16:15:52 +0000 modules: gpioaei: Fix arm64.LINT-FDT breakage 'acpi_if.h' was accidentally omitted from the module Makefile; add it. Approved by: re (kib) Fixes: 9709bda03cd0 (cherry picked from commit bb8b3b1741188ab284e8b48ec367961a480421cb) (cherry picked from commit 393bbd23b3446bb4ac4924f7e1c98bbdcff4455d) --- sys/modules/gpio/gpioaei/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/modules/gpio/gpioaei/Makefile b/sys/modules/gpio/gpioaei/Makefile index 514dcd80a35e..8f856af48eb7 100644 --- a/sys/modules/gpio/gpioaei/Makefile +++ b/sys/modules/gpio/gpioaei/Makefile @@ -4,6 +4,7 @@ KMOD= gpioaei SRCS= gpioaei.c SRCS+= \ + acpi_if.h \ bus_if.h \ device_if.h \ gpio_if.h \ From nobody Sun Nov 3 16:57:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhLPg0Lwvz5cRn7; Sun, 03 Nov 2024 16:57: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhLPf5pDVz4Zym; Sun, 3 Nov 2024 16:57:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730653062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CqOgiahDj8kfXjMOdQC4eiWAER+yPvTElhlnFQzxCIE=; b=jqf2eOglhNTPLJcRJIgjvtAt6ek4kTXJsImDZbwEngkc5n+SpVoamQLGNnW8N8ku1idZln sy1gq/VSUxNKqZCwYDnavO1TTTVI1DwRcvWwDbGSG+nJZ24CkPRGp9ze8e0ubM5ITZm+Ts /3Xytba4xnbh1P5Uelh5QSKeV6TcDqYELBGWClMkwKejXpwAJqQlj6mxql3fsrvggEzt4+ B9cRG8Ukpf+07QqNZv8XGSMoUoJi2hOU+DelpYalien+NjEIFdQuIhiDHfvP3ysKfsV6rQ JqUscDsgnuh5H5jGDF30GhuAsdgkS82pWbGRi5fG6cTHfftTKBecjpKdLFAi9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730653062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CqOgiahDj8kfXjMOdQC4eiWAER+yPvTElhlnFQzxCIE=; b=MbYMYFQFMkYDIpxAsNEMXs0UO7/6AD7r0PFtfOB8ZhYV01VxeFXvchlszLW7O5eDPqy+j6 5TbIR+toUkEcNJK2YoazaTiS3HUp+MPkCbB3Q30lT/L3FcP9KVsFfsHUorlTYH9+89D+2l Kbr0yEzdC1vJd+aLYL/5wg2luenARxJcW85O8WnsagryWL0MEmhBTaS2zhqPC87D5/PBz7 CPbR/KxXjB07qvZFq8gGwqcf6kgXDBjWu/dCV37Q6X/FKFLZYNW+Z+i4A3b3ikHMK+G74q wOTasTL8sk5GHazSs/Lo0DQOiGo+QYda7FRo2spSAS9QxWVFLTIyfFgKmbps9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730653062; a=rsa-sha256; cv=none; b=voMLXvBBA+KYPdXdJ0026L7XXUZ2g119ZYIA5EAnv8rxw5kVRGHO0OiISttykT1UI+QHeP +Qo196mC7fc0lJHCrPRPstYQSXgwchuElh4W3AUrHNstejyoeXkpazzoyjsziVdvxh+zDJ r8oOzssJ9HKzeXGlZLwsv2V2eE0usdHwppl/i/uZQPzG/YUGLIjDpvfhAKgUuzRD8X0lHw lzcwdEsG3+3J41ScxJcsMEJNHv1cS4p1osDmdHg/0hWfW/tfWTLcNAdvRx3MatLyRBVybO hUOR48JGQIA3hqRUd1o6DNiEbFDIJrfkvRzdWy/XbI94VetWyQS15+bM8JmXKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhLPf540NzxJl; Sun, 3 Nov 2024 16:57:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GvgoT010675; Sun, 3 Nov 2024 16:57:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GvgR2010672; Sun, 3 Nov 2024 16:57:42 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:57:42 GMT Message-Id: <202411031657.4A3GvgR2010672@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: 27050c801227 - stable/14 - ipsec.4: cross-reference typo List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 27050c801227654e59f838decbb26223256e240c Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=27050c801227654e59f838decbb26223256e240c commit 27050c801227654e59f838decbb26223256e240c Author: Quentin Thébault AuthorDate: 2024-10-28 06:55:39 +0000 Commit: Ed Maste CommitDate: 2024-11-03 16:57:18 +0000 ipsec.4: cross-reference typo MFC after: 3 days Reviewed by: Alexander Ziaee Pull Request: https://github.com/freebsd/freebsd-src/pull/1502 (cherry picked from commit e63d5726b4ff96c87db05391464cbe195438d747) --- share/man/man4/ipsec.4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man4/ipsec.4 b/share/man/man4/ipsec.4 index c5c9ed863385..952d7b925388 100644 --- a/share/man/man4/ipsec.4 +++ b/share/man/man4/ipsec.4 @@ -182,7 +182,7 @@ is synonymous with which requires that a security association must exist for the packets to move, and not be dropped. These terms are defined in -.Xr ipsec_set_policy 8 . +.Xr ipsec_set_policy 3 . .Bl -column net.inet6.ipsec6.esp_trans_deflev integerxxx .It Sy "Name Type Changeable" .It "net.inet.ipsec.esp_trans_deflev integer yes" From nobody Sun Nov 3 16:57:43 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhLPg6t9Xz5cRtM; Sun, 03 Nov 2024 16:57: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhLPg58KJz4Zg7; Sun, 3 Nov 2024 16:57:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730653063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8R6Y4RSF4DEjV70upCDW65mBY1Lf5JLc4lk/BBXq/Kc=; b=STW+GYHc7I3Rcnonb5xGV3Ntn4j6dz35nFN1Fc40xMeMNShzeyytJzmImpiAJf4bfvcPsH 4A2WhNu4B9TP8eyVkwRdba9192LnCkyopPCi2QhgxVU6ggFxcaMN38NZ1VL/y6HdQcI0vU gsiV/Gsx1853DlSKvSIk0gXeZAwuZ+wDnfmf9pDWVFI1SKbvnda6SkJ9ozkHkgkviW+DlW BRY5vdEGMVnpPOsV0xpLU+a4V5QLUj3X+NfhY+2jJCflQQvt1T7TE7a8RxUirdueJDWsJp AzzxaEsmNRc4kFTTT5zmLFpdhIiuHNDE5Cz0HIvnk8shIlrPntZaNN8JrfqO/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730653063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8R6Y4RSF4DEjV70upCDW65mBY1Lf5JLc4lk/BBXq/Kc=; b=X0LhXoAHyddvarsCuZwZShWu3u+0Xb9/OGKPCx+/hYaRVbRAu+F1BVqZWGiuyyxfrKI/CA wNQMk42Y+dAJiEACKpMyn3cbd1YiGZb4f3MFYlSpydCyNezeow7mzxRWFtflVgwHHKSrvS TmOZTZuHVt36+VJeaHR+DRn9t+LJ1sFfN05r9vx3ghEY1sfWsEKnMeUJYoRhZCFOhh/81o UOYjU13qY7GjgNRhfAKUXAn7tLv3p57mP36z2e+j+mNG2DR/V+wHLrGJ0sgcZAcJMD69cD uVNlJwV1nYImlDK5V9eVxX8sKZ375gswJbhlns+Ab655Vs7TE3dE5KHKxePRtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730653063; a=rsa-sha256; cv=none; b=P+nwzc4qqVn57Pz8yWnd8lv1h7Q5Q8NDWWiO5Jhqfv7hsVFaNK8MLrmcKNuKqb/nTAULyw EFJLksrG3HtACg8npPsIoJTct814E2wkCDUDE+1iThCIJ8UCS8PEgTloxz+J/8jjlU91iq enngMgPf0IZBJFc732QzU4JWSbPry/Jw2zNeo58vMmKovup8rINICMsaC+pkhOXJJDs6n0 WgbeURysk0nNG5p06LobeVH9SYe3h7+ATwggaGym2OyB5NSFhYXm5UClE9iudXymfK4xdu gXenSo+HXV18v+DBadrlqKm4C7vNlMl2+2vhuyPITI+Ap+Sihn8AbLuQOO+FFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhLPg4mCDzxD2; Sun, 3 Nov 2024 16:57:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3GvheC010720; Sun, 3 Nov 2024 16:57:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3GvhDO010717; Sun, 3 Nov 2024 16:57:43 GMT (envelope-from git) Date: Sun, 3 Nov 2024 16:57:43 GMT Message-Id: <202411031657.4A3GvhDO010717@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: a1883e20bc78 - stable/14 - Cirrus-CI: switch to FreeBSD 13.3 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: a1883e20bc784b8055d4349e4c3ff1e690efe17c Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=a1883e20bc784b8055d4349e4c3ff1e690efe17c commit a1883e20bc784b8055d4349e4c3ff1e690efe17c Author: Ed Maste AuthorDate: 2024-10-26 15:03:15 +0000 Commit: Ed Maste CommitDate: 2024-11-03 16:57:18 +0000 Cirrus-CI: switch to FreeBSD 13.3 Sponsored by: The FreeBSD Foundation (cherry picked from commit b15889d6d22a36333dec4362aea426521281c72c) --- .cirrus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 13719a3e2058..45c31c9f07b2 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -4,7 +4,7 @@ compute_engine_instance: # gcloud compute images list --project freebsd-org-cloud-dev --no-standard-images platform: freebsd image_project: freebsd-org-cloud-dev - image: freebsd-13-2-release-amd64 + image: freebsd-13-3-release-amd64 cpu: 8 memory: 8G disk: 40 From nobody Sun Nov 3 17:00:05 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhLSP1qpKz5cRyL; Sun, 03 Nov 2024 17:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhLSP0wTgz4bJg; Sun, 3 Nov 2024 17:00:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730653205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EETQFa04H7iew2a9zkKeaJYUIvqn+Wki+ndEE9VCWa0=; b=kyOdvwoNsgG/bWALr1oerBRwdOHplYFsuRgmVZw72Ok4hG8ZbPWur1ruoBC75ctHCKpsdp yx0IonRbHDxHPPHjV213TFCRJngtMlPaUZi273XUubw2SOKqAZZY93JwBOZCajtw2jCBf+ K94LKEbe0Y4e9Mb+oiRkvdV2vPOm23uZqlviDsa+19ZHaQ3slqjrfQFJQOncwPi3yXYdrN xLueGxt9M8L0+LO5j2o7XDRbL5wZXQh6YcS+X6vS8yuAl2b6akGkthGz6J15IrRx8U0RS6 BeRoYMC1uNEkfwVfmxhf0+Om0l9mt2tbqH1dAlftOQQ8tb3UAWwTmbDiLoMlvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730653205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EETQFa04H7iew2a9zkKeaJYUIvqn+Wki+ndEE9VCWa0=; b=eBJ3EleP2AaIXBMUBRpEkiu2pgPafZRrDlHNtn/WTqim5N7ujykGL89H8d5sReXN1HyuRo s+9qjDr2giOpumajErY4kJLNmr82QBpjeVAmcpM2YF6N6eImfluXuKEMQ7KDiQJPWL7CVO GM8IzlqPt4LGzbdwojXECCkZ7Xrxm8cuIVa6T1at/QGme/gNDchJUUtFQ0/IZaUc8RkkS4 y8Eb9uk+JAa2g3bRw1s5onDLagwoNUa8gylPGwaazNx7i4oTLpE2Jc7XmOJmWUmhBhq61W hp6UB66zL8+Q8JfNE5LqcmXMDuegEDZF7WqqtsL96DDdSdYFQWZu2RsAdb2Dug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730653205; a=rsa-sha256; cv=none; b=VNYSrAszuo9WddTS+/UGq/oaI20cp2iEqUl3vwm2Qv97wcVtBwvhB9TR4J8H3lbgjq/rrs kBONFBIbh/p6sfdyovmM8PFk1ELJq9Fsc7RaOSXgVCODwui+8poCpopYW5/vI3Lq3nK1tm mFICm+oHE+PM28GZ5XbQM6zFcKCjAoSYbr6R48PVvD1zRa4/MNSHduBcc73TWZwX3hr6Hv HiM1ChzftHVS5j4OpMKuqhLKjsBKP3oBC2sfbdJE0uo2fPKqlyQC9GF9rz9SEC52C5AVhZ cS3LRL1OdKjjJifupbJ9ITYzrh9y4H5wmbdzmLrjSuHQ/IOf+mSZh/4HApJhTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhLSP0WRRzxGB; Sun, 3 Nov 2024 17:00:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3H05ep015102; Sun, 3 Nov 2024 17:00:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3H05ca015097; Sun, 3 Nov 2024 17:00:05 GMT (envelope-from git) Date: Sun, 3 Nov 2024 17:00:05 GMT Message-Id: <202411031700.4A3H05ca015097@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: f6ed4f776fa9 - stable/13 - Cirrus-CI: switch to FreeBSD 13.3 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: f6ed4f776fa95a9e40b18404a6de2be29c2e0092 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f6ed4f776fa95a9e40b18404a6de2be29c2e0092 commit f6ed4f776fa95a9e40b18404a6de2be29c2e0092 Author: Ed Maste AuthorDate: 2024-10-26 15:03:15 +0000 Commit: Ed Maste CommitDate: 2024-11-03 16:59:52 +0000 Cirrus-CI: switch to FreeBSD 13.3 Sponsored by: The FreeBSD Foundation (cherry picked from commit b15889d6d22a36333dec4362aea426521281c72c) (cherry picked from commit a1883e20bc784b8055d4349e4c3ff1e690efe17c) --- .cirrus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 2f2b76537968..bd4e7316a3d6 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -4,7 +4,7 @@ compute_engine_instance: # gcloud compute images list --project freebsd-org-cloud-dev --no-standard-images platform: freebsd image_project: freebsd-org-cloud-dev - image: freebsd-13-2-release-amd64 + image: freebsd-13-3-release-amd64 cpu: 8 memory: 8G disk: 40 From nobody Sun Nov 3 17:42:35 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhMPS0p7Pz5cW3v; Sun, 03 Nov 2024 17:42: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhMPS04r0z4gZY; Sun, 3 Nov 2024 17:42:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730655756; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZLhyOgRtL1VOGqiKzhQR8yogNMvBfbHd2FdGLXfFEl8=; b=kUrY7zLgNS9cYfBSb+leXKSaqddIG5uprmXPfF3rAwmj4FAjXTvd+rb9hG6gcGl1NwTnIj UzcFlrzQ3KT22yxAO+RMwAhA4educUk/qvmTKlttmxiBzPoYbC7TanICR1L3UEtGzqU5kV 6VLlEhA7NaC4w5GwPpyWAt33kMnLTg/SXINVmPd5yqAbPrTLZw8qTUN6luuJXQCx40td43 iHnv07Vzvw2OWBKctJqPPbAh0bcE8rCmkD99H24dBywXctVXnnCumhamRMrB9zJCu8XUPl F3x+6BDisWXS05ZqaVfSCpu2cS7c9FN8raS/cqIpOtRQlLWOrjOPHwzsKG4D7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730655756; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZLhyOgRtL1VOGqiKzhQR8yogNMvBfbHd2FdGLXfFEl8=; b=oezfp6gn23e5OVQrirnh+9fSEavDTOMD4jRQpqyVugVx6FhwzuA3dL9xsW/+AdtRATTAq1 97jwm8u8qg1Vv4jwho5GFYiyKEavXg7smbKnGZnYCEfWDyhauX/XSft8KlfJVT5gDFQ0tR oK2YsI9iU8FgRPqWxxvCU0BQMFmz5SJmmN93PXZvh2S4kJ8/CdXrFQwo2snH9nyDa8j2Y/ P5x6vq+4BfxzlptLuW/q7W5/NuXCniXe29FOLRttKQOVluAwHwTL/X9nDuJkrgszfvgDpB TzfsMwPtJ+CA41R+PbjbzrcY+xkA9UfwM1dWHZI83hU6aGdf8l3ZxvHIf54Fbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730655756; a=rsa-sha256; cv=none; b=B1kW1vIlcmB7k55wzc9dTbJVbLEL+Q86CzeDqKMsR8TcKjIc9LptMEEZXsi2HarDyg79Ak qt/jvaqIwWd8D+LVRNixq9lW4TkTzkf9cigiuEl7kv79V5Eo066YlVA1UUcCUHY8XkiqOy Kqijo7eq947pud4QUH7K7d7Y+66NacJWW/kEAQjEGNaab9qYFu9BWKtjU/D8dzOFGQVoax IYklxRMSjruk/MlVu9Ro82pm2zZVduYD/twY4YmXAkJRlGRQdTj83g9MwRqWFipzNXCj6o J9nKQ2YRTub8BxgRDHhxnj/4xR2gXyi3XhrEY7L5IH1YauTKTcCBfW5vbNtPDw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhMPR6p0yzySB; Sun, 3 Nov 2024 17:42:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3HgZq6003147; Sun, 3 Nov 2024 17:42:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3HgZKF003144; Sun, 3 Nov 2024 17:42:35 GMT (envelope-from git) Date: Sun, 3 Nov 2024 17:42:35 GMT Message-Id: <202411031742.4A3HgZKF003144@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: 223436278085 - stable/14 - kbdcontrol: correct bell frequency for vt(4) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 2234362780854c426395a35403ed3dce42ccacc9 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=2234362780854c426395a35403ed3dce42ccacc9 commit 2234362780854c426395a35403ed3dce42ccacc9 Author: Ed Maste AuthorDate: 2024-09-26 23:55:33 +0000 Commit: Ed Maste CommitDate: 2024-11-03 16:57:18 +0000 kbdcontrol: correct bell frequency for vt(4) Do the `1193182 / pitch` hack only for sc(4). PR: 281713 Reported by: Rudolf Polzer Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46803 (cherry picked from commit f65c19a242de322930f6a1cd7d5e6bf3ce19ce42) --- usr.sbin/kbdcontrol/kbdcontrol.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr.sbin/kbdcontrol/kbdcontrol.c b/usr.sbin/kbdcontrol/kbdcontrol.c index e55165fd0888..9f8593990542 100644 --- a/usr.sbin/kbdcontrol/kbdcontrol.c +++ b/usr.sbin/kbdcontrol/kbdcontrol.c @@ -1038,8 +1038,10 @@ badopt: warnx("argument to -b must be duration.pitch or [quiet.]visual|normal|off"); return; } - if (pitch != 0) - pitch = 1193182 / pitch; /* in Hz */ + if (!is_vt4()) { + if (pitch != 0) + pitch = 1193182 / pitch; /* in Hz */ + } duration /= 10; /* in 10 m sec */ } From nobody Sun Nov 3 17:42:36 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhMPT1nldz5cWC1; Sun, 03 Nov 2024 17: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhMPT161tz4gtQ; Sun, 3 Nov 2024 17: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=1730655757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=24xoVvWJQGPvvLwiFDtlZiaUs/yQnkoSinMg5P0b1lE=; b=Bwvbsx7lq2M4v9zBp6QbJ8w4B3qW6NCIfJr9IdhRbgshsONaRn3KM7jP1HWm/p1VOxIWpa d+SISMtZEeFax5JToBrg1bVbRZc+GuaAmIx/ryusgwDFMbvttLevA85C8AOI9nBBe87WXR 51lLdoZjpTFrmUYUQ6k5ZDiFIGvtAvauzXQmXP4j6WNu6DmN7ma8hgTduzwdiQyt2Wmbds gw4sgdBsHZ77ENyqzGB6BJ0PuOL/zmCRGGcJd1ZM8LGCK+TysZqlt5NGSBPRDBnPSogTjE 8QKFMWOknPO2Ob9TWNhN9bnRCLCeKoIdlmuF2AY/OC48v2aZbrr7yMVQF6XSVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730655757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=24xoVvWJQGPvvLwiFDtlZiaUs/yQnkoSinMg5P0b1lE=; b=f2VTHZVBulNFtRS3GzcIz4P0TzYW5h0CpCCtC8q3u6DOmWzUPdBGRIdhPN0+FTT9TYNled pp1+Ux+NFOeAZPQ/yxmnk/BJLHyeWcG0cHkKWL258ew+lMkZ3PiecsqiDgasnOINaKS8/4 9qOd1Dl02DWXRsReUi5lSdcWQYu33FfyYe2GPB9vxHJClzgc8dpAue7nvg1E4cR61GyiCp tMURpGAl1Ug5rD17duQM6j+NzWsz5XhGPcJf66TrHBMAn4pqCK5VyuRbIobnUdvhMfLe0o HeV4dNuB86bUGpqh/FeSNyBQ7UoyLkSdcJ+zU/RvgGTc0fFcRembDNN+uTE6zA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730655757; a=rsa-sha256; cv=none; b=jIo9mBqoZQUsc0KBjOL5iQKbdEb491jvSh3cG9ntsPzgQuqXsi1HxXyfNa5NDS1KbrKryy 8qRuMn3goye4pIFYnmXFQE8ptLn2j4QoieevQKel+FuDQ05+ujusg3lcamtGQP35fx4ITS ZY9H+7l7DE09cxA69bT8Dk9IB+e0Q8UiVc/LIObeGSBOx9J6/wwB+vw1l2kWyHdKA8bnIh Fny4OQs6TJ5iAnvkOXeVXihF/TbWJbzAR86zIHL0CpadzyFRGUuAXqhBus6nC6Fh0k4RbG CSHjPm40+BPpeoPnd1yP5Cq/umDfB1aboEOyF1r5KvLGZyUv/d+h2pEiDmiEfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhMPT0jPbzysr; Sun, 3 Nov 2024 17:42:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3HgbRn003196; Sun, 3 Nov 2024 17:42:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3HgaTn003193; Sun, 3 Nov 2024 17:42:36 GMT (envelope-from git) Date: Sun, 3 Nov 2024 17:42:36 GMT Message-Id: <202411031742.4A3HgaTn003193@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: 1c9f1cb4f0a7 - stable/14 - vt: Fix frequency calcuation for bell List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 1c9f1cb4f0a71bef37796a8ba139b86cc716ee88 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=1c9f1cb4f0a71bef37796a8ba139b86cc716ee88 commit 1c9f1cb4f0a71bef37796a8ba139b86cc716ee88 Author: Warner Losh AuthorDate: 2021-11-03 21:55:55 +0000 Commit: Ed Maste CommitDate: 2024-11-03 16:57:19 +0000 vt: Fix frequency calcuation for bell 386BSD provided a MD function sysbeep. This took two arguments (pitch and period). Pitch was jammed into the PIT's divisor directly (which means the argument was expected to sound a tone at '1193182 / pitch' Hz). FreeBSD inherited this interface. In commit e46598588587 (svn 177642, Mar 26 2008), phk changed this function to take a tone to sound in hz. He converted all in-tree instances of 1193182 / hz to just hz (and kept the few misguided folks that passed hz directly unchanged -- this was part of what motivated the change). He converted the places where we pre-computed the 8254 divisor from being pitch to 1193182 / pitch (since that converts the divisor to the frequency and the interfaces that were exposed to userland exposed it in these units in places, continuing the tradition inherited from SCO System V/386 Unix in spots). In 2009, Ed Shouten was contracted by the FreeBSD Foundation to write / finish newcons. This work was done in perforce and was imported into subversion in user/ed/newcons in revision 199072 (https://svnweb.freebsd.org/base?view=revision&revision=199072) which was later imported into FreeBSD by ray@ (Aleksandr Rybalko). From that earliest import into svn import to this date, we ring the bell with: sysbeep(1193182 / VT_BELLPITCH, VT_BELLDURATION); where VT_BELLPITCH was defined to be 800. This results in a bell frequency of 1491Hz, more or less today. This is similar to the frequency that syscons and pcvt used (1493Hz and 1500Hz respectively). This in turn was inherited from 386BSD, it seems, which used the hard coded value 0x31b which is 795 -> 1500Hz. This '800' was intended to be the bell tone (eg 800Hz) and this interface was one that wasn't converted. The most common terminal prior to the rise of PCs was the VT100, which had an approximately 800Hz bell. Ed Shouten has confirmed that the original intent was 800Hz and changing this was overlooked after the change to -current was made. This restors that original intent and makes the bell less obnoxious in the process. Reviewed by: des, adrian Differential Revision: https://reviews.freebsd.org/D32594 Sponsored by: Netflix (cherry picked from commit ba48d52ca6c867559156dd916631f9ac47abe80f) This change was accidentally reverted in 80f21bb039ce. (cherry picked from commit 2416be588ea113cc06b924ed85861ed3bc391fe0) --- sys/dev/vt/vt_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index e27f74b03a0f..f3cc4e29cf07 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -120,7 +120,7 @@ static const struct terminal_class vt_termclass = { /* Bell pitch/duration. */ #define VT_BELLDURATION (SBT_1S / 20) -#define VT_BELLPITCH (1193182 / 800) /* Approx 1491Hz */ +#define VT_BELLPITCH 800 #define VT_UNIT(vw) ((vw)->vw_device->vd_unit * VT_MAXWINDOWS + \ (vw)->vw_number) From nobody Sun Nov 3 17:45:11 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhMSR4MtBz5cWk2; Sun, 03 Nov 2024 17:45: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhMSR3cjCz4hWV; Sun, 3 Nov 2024 17:45:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730655911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kwxcj4bv3rQKo3QGqDojbr2fbHxw495unetIv5jS1Qs=; b=U4ApVTQpejfy4U+ETUUF24zrsga3UwkfJq/54s/wAjZGQYcDB2y9dKqvOC0W1zX9UJtwbT WU6t7FUxKx6+KmabnWmFy3w2ztdYuafUEx96FeAe9YSS7NzBgU7xTObFcomncWRlal39jb 24IejlSY2Rx7q0QtwTsBIbhLVDoOTc2klvkuPf7jhVDarz/xVLxgUujJ1q3lHWYBQ33cLu 7E1728O4qHnUTzgi2ioXhUAfOU9omp80+SrJbEOS3jD1vZnkz+ajTwqvXTUvaJy8szcSph vZJIlvdJ6UjMoAEgfS1ACa7Eic3zMNHjhwLGQ6sw5mc9T9ZAarBaOfiHanTQjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730655911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kwxcj4bv3rQKo3QGqDojbr2fbHxw495unetIv5jS1Qs=; b=P18g2MoxhyqVC1zrnimYMS1EAAvimJNL40x0uJalc6OKJ4TZsiIheFXbVN7XX/39GJ5Ic9 KQv01iYFq4/3Sopx/vfLn7xxp8uhpKN8HCHXOHZVpZeWB0gRDbmVTUz/wJWGpEC1lVJ9WQ eK7tUCf8epfK/cnCtnH02PZbhcS18i+vl0R1c6ghiR6k7teoHVL6MTbdpR9m4LSbHY14rG 37wqua7SrizOiHQ6uOnxndl+lMq+tD/NLQbZnZUTxJ/NQUFzvS4jYZgUMvDbD9no2Rdqzs UHxXv5pibkMbly0Rmjbd33XWb4wdcmagKNxzzCutZIlmQPFb8qOuyFcmp69ALQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730655911; a=rsa-sha256; cv=none; b=ZWyQjMJ8jOLQVhRS5Y2CnX5TeSnXF5byx5v+czMJsgQrUciUvFT75GonpQ5wgJANAIjUPY uRKEato1MprwAXupLB7eFPOHlbDslk/TY1gsGT78crHbllNuFEn0TnGuWDwF9QszVOHhx1 gjqjM/iDL4Nxjw4WizzO9kkwvnBKhDOOcl/+7QF8NRJ9y5X5I8mD6Zg1q5oWiVKoOkyBLU t+4j201rSg7ekxm9hVOJkCMYsnFD9jNu7+tfRdcnuk0VeRpIBMXhBsI/e/mQgfK1XkhX/g rLkzh424jRLyiPiWqRwIz5723SnDGOxOel+2BTIsUKwx8C0afaeI7wVQYFPc1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhMSR35cPzyss; Sun, 3 Nov 2024 17:45:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3HjBET004107; Sun, 3 Nov 2024 17:45:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3HjBLu004104; Sun, 3 Nov 2024 17:45:11 GMT (envelope-from git) Date: Sun, 3 Nov 2024 17:45:11 GMT Message-Id: <202411031745.4A3HjBLu004104@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: 761088364c96 - stable/13 - kbdcontrol: correct bell frequency for vt(4) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: 761088364c96ba9af8e6417336c677f98f90b2b1 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=761088364c96ba9af8e6417336c677f98f90b2b1 commit 761088364c96ba9af8e6417336c677f98f90b2b1 Author: Ed Maste AuthorDate: 2024-09-26 23:55:33 +0000 Commit: Ed Maste CommitDate: 2024-11-03 17:44:49 +0000 kbdcontrol: correct bell frequency for vt(4) Do the `1193182 / pitch` hack only for sc(4). PR: 281713 Reported by: Rudolf Polzer Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46803 (cherry picked from commit f65c19a242de322930f6a1cd7d5e6bf3ce19ce42) (cherry picked from commit 2234362780854c426395a35403ed3dce42ccacc9) --- usr.sbin/kbdcontrol/kbdcontrol.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr.sbin/kbdcontrol/kbdcontrol.c b/usr.sbin/kbdcontrol/kbdcontrol.c index b08705481a5d..2d2110ef5c9c 100644 --- a/usr.sbin/kbdcontrol/kbdcontrol.c +++ b/usr.sbin/kbdcontrol/kbdcontrol.c @@ -1037,8 +1037,10 @@ badopt: warnx("argument to -b must be duration.pitch or [quiet.]visual|normal|off"); return; } - if (pitch != 0) - pitch = 1193182 / pitch; /* in Hz */ + if (!is_vt4()) { + if (pitch != 0) + pitch = 1193182 / pitch; /* in Hz */ + } duration /= 10; /* in 10 m sec */ } From nobody Sun Nov 3 17:45:12 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XhMSS4d8Gz5cWdC; Sun, 03 Nov 2024 17:45: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XhMSS3z6lz4hgR; Sun, 3 Nov 2024 17:45:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730655912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x6Q0GuBMlmOLQ4DqBJas2wyDuy7cqzB3qwZDyzmm+Og=; b=NOxqRXJ4YBXH5e2sNU0gMXU4PRQzZiqotX8aMS/fB/Q7QWF14U/swFzKqrO0C2iIJn4v5I PDL7v+RSJKPOGIrliUUuQFOK9mMrJ9iFRYCyR07Zng/2ciAw66U2I0NflTKEfSgI8Ap/jS S7FD7WQQNiPHG1gDWMMXJwTORzdjwVvDHHKbwIDryScwuSxLWfTSa69S4adzT0bFgWXnVK QizSiv+9982zxEFpmmru3sViZYZHDokBspwRa3BxnNi9W/M+hRNvq5l1fRM1g282IZ8l/q 7HpPrZnGHHCtq/80rPrE7aFa2CvLhtz7rQ0Vp/cRGWi2mOAZAw/7E4sit2u61g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730655912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x6Q0GuBMlmOLQ4DqBJas2wyDuy7cqzB3qwZDyzmm+Og=; b=ONWfkGJozY8lJGgCo69FHr1U85vd/aHq/Uqha+Ife+WfpY00KIyuHv2/DVS3WcyjTmqTPZ 9Rw4X4a6Nh/LZdNt+UUvKVVjE3WSK7i3Nk0/JfRzYbF4OudgJiEwM2OML2N1ROZr3wIvoh ijmgw7w8/gaY80hNwJQaLfFDczdxZ4uGP+WvV2mwqxTaM7PFcv8HF0+nItM3Dg6A3vIELT tp+otX2U/Nhp5PwiOGMNM+Tf1hmteBPCGRNXe1GiFk5YBD8bkLdwL47HtmMJ/jizJoy69J sCIVJb4lhqsEQlS+jEH/BtQBjkImDKq51N1TOjvhZX91NgW16jLdQxxzszdq7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730655912; a=rsa-sha256; cv=none; b=h94z5Xhp7zfL6ERY5nyLnn8VD3pw/0ltnyA91xBPaNzfbatlXYDf+nHwD6YCYOPf3/GHv8 4JB7Mo1t0KBAiD+icATPdG2/R2pPcqBtK9Dfo7s2ICS5vQcfXtiq5Jo+CBWIUrb4CL2ZkX Bm6P+smdQTc8px3Z1s0E3gw4P8VKkx89d1T6GGhxxGdG8aUVb1aBzPIJ5ColEYjzV+54lN diuCSi5UkjqtOMKv5XObEQ5bMs3tWmNZ27g9pzg+Crz4nngrn2vMn983PAoui9YCjBJFGO k8fDB9LBttWwO0Jai0lz9873poQRKcQQ1wGKFlvVTM/Ao151hoUgKKoqClQPDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XhMSS3ZLhzyst; Sun, 3 Nov 2024 17:45:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A3HjCQW004152; Sun, 3 Nov 2024 17:45:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A3HjC4S004149; Sun, 3 Nov 2024 17:45:12 GMT (envelope-from git) Date: Sun, 3 Nov 2024 17:45:12 GMT Message-Id: <202411031745.4A3HjC4S004149@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: da797702b0fd - stable/13 - vt: Fix frequency calcuation for bell List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: da797702b0fdd255efc4a87934e0b9df5d2b07ed Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=da797702b0fdd255efc4a87934e0b9df5d2b07ed commit da797702b0fdd255efc4a87934e0b9df5d2b07ed Author: Warner Losh AuthorDate: 2021-11-03 21:55:55 +0000 Commit: Ed Maste CommitDate: 2024-11-03 17:44:50 +0000 vt: Fix frequency calcuation for bell 386BSD provided a MD function sysbeep. This took two arguments (pitch and period). Pitch was jammed into the PIT's divisor directly (which means the argument was expected to sound a tone at '1193182 / pitch' Hz). FreeBSD inherited this interface. In commit e46598588587 (svn 177642, Mar 26 2008), phk changed this function to take a tone to sound in hz. He converted all in-tree instances of 1193182 / hz to just hz (and kept the few misguided folks that passed hz directly unchanged -- this was part of what motivated the change). He converted the places where we pre-computed the 8254 divisor from being pitch to 1193182 / pitch (since that converts the divisor to the frequency and the interfaces that were exposed to userland exposed it in these units in places, continuing the tradition inherited from SCO System V/386 Unix in spots). In 2009, Ed Shouten was contracted by the FreeBSD Foundation to write / finish newcons. This work was done in perforce and was imported into subversion in user/ed/newcons in revision 199072 (https://svnweb.freebsd.org/base?view=revision&revision=199072) which was later imported into FreeBSD by ray@ (Aleksandr Rybalko). From that earliest import into svn import to this date, we ring the bell with: sysbeep(1193182 / VT_BELLPITCH, VT_BELLDURATION); where VT_BELLPITCH was defined to be 800. This results in a bell frequency of 1491Hz, more or less today. This is similar to the frequency that syscons and pcvt used (1493Hz and 1500Hz respectively). This in turn was inherited from 386BSD, it seems, which used the hard coded value 0x31b which is 795 -> 1500Hz. This '800' was intended to be the bell tone (eg 800Hz) and this interface was one that wasn't converted. The most common terminal prior to the rise of PCs was the VT100, which had an approximately 800Hz bell. Ed Shouten has confirmed that the original intent was 800Hz and changing this was overlooked after the change to -current was made. This restors that original intent and makes the bell less obnoxious in the process. Reviewed by: des, adrian Differential Revision: https://reviews.freebsd.org/D32594 Sponsored by: Netflix (cherry picked from commit ba48d52ca6c867559156dd916631f9ac47abe80f) This change was accidentally reverted in 80f21bb039ce. (cherry picked from commit 2416be588ea113cc06b924ed85861ed3bc391fe0) (cherry picked from commit 1c9f1cb4f0a71bef37796a8ba139b86cc716ee88) --- sys/dev/vt/vt_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index b27628d17732..80d9ae1f22c2 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -119,7 +119,7 @@ static const struct terminal_class vt_termclass = { /* Bell pitch/duration. */ #define VT_BELLDURATION (SBT_1S / 20) -#define VT_BELLPITCH (1193182 / 800) /* Approx 1491Hz */ +#define VT_BELLPITCH 800 #define VT_UNIT(vw) ((vw)->vw_device->vd_unit * VT_MAXWINDOWS + \ (vw)->vw_number)